Version 5.1.0 (2025-3-18)

  • [@rtdui/shiki-highlight] new package for code highlight by shiki
  • [@rtdui/code-highlight] Deprecated, do not continue to maintain, please use @rtdui/shiki-highlight instead
    Shiki supports more languages, finer syntax parsing, and styles are not affected by global styles

Version 5.0.0 (2025-3-3)

The main changes of Rtdui v5 are adapted to TailwindCSS v4 and daisyUI v5

Rtdui v5 works with Tailwind CSS 4 and daisyUI v5 takes advantage of all the new features.

If your project requires TailwindCSS v3 and daisyUI v4, please use Rtdui v4 version

Improved theme color variables

Tailwind CSS 4 uses CSS color-mix() to control the opacity, so daisyUI v5 now put the whole color inside CSS variables and also updated the variable names to be more readable.

daisyUI v5 now supports all color formats, but recommend using OKLCH

Rtdui follow and adapt to this change

New "Effect" theme CSS variables

Currently, daisyUI v5 the following effects are available:

--depth: adds a clean, subtle depth effect to the components, making them look more visually appealing
--noise: adds a slight noise effect to the components, giving them a more textured look

Rtdui follow this feature

New component styles: soft, dash

Components like Button, Badge, Alert now have soft and dash style variants.

New themes

daisyUI v5 includes 3 new themes:

  • caramellatte - Warm, cozy, light theme featuring brown and beige
  • abyss - Deep dark green, teal and phosphorus color palette
  • silk - Bright, clean and bold theme with fluorescent text colors

Rtdui follow this feature

Version 4.10.7 (2025-1-3)

  • [scripts] Fix incorrect name for react-dom in script

Version 4.10.6 (2025-1-2)

  • [monorepo] Modernize project setup:
    • Use Bun instead of npm and jest
    • Use Bun runtime instead of tsx
    • Use Biome instead of ESLint and Prettier
  • [docs-site] Remix v2 switch to React-router v7
  • [@rtdui/*] support React v19
    All Components add "use client"; directive

Version 4.10.5 (2024-12-10)

  • [@rtdui/core] Popover fix the issue of background
  • [docs-site] add global localized describe in dialog's doc

Version 4.10.4 (2024-11-15)

  • [@rtdui/dialogs] DialogsProps add confirmLabel, cancelLabel, closeLabel prop for global default localized text
  • [docs-site] add global localized describe in dialog's doc

Version 4.10.3 (2024-11-11)

  • [@rtdui/dialogs] DialogProps add defaultPrompt prop for default prompt text for prompt mode

Version 4.10.2 (2024-10-23)

  • chore: all packages update target to ES2018 in tsconfig.json to pass TS syntax check for named capturing group of Regexp
  • [@rtdui/datatable] Improve some type definitions
    types: Fixed missing type for rowActive in initialState of RowActive feature
    types: getRowId return type type replace string with string | number to reduce confusion while keeping row.id value type and rowActive state type consistent with it
    types: Export RowActiveState type

Version 4.10.1 (2024-10-21)

  • [@rtdui/datatable] DataTable add RowActive feature which is implemented using standard custom feature
    RowActive feature add enableRowActive prop for DataTable with a default value of true, you can set false to disable this feature
    RowActive feature you can use the state or initialState props to set the state of RowActive:

    Uncontrolled:

    <DataTable
      // ...
      initialState={{
        rowActive: "1",
      }}
    ></DataTable>

    Controlled:

    const [activedRowId, setActivedRowId] = React.useState<string | null>(null);
    <DataTable
      // ...
      state={{
        rowActive: activedRowId,
      }}
      onRowActiveChange={setActivedRowId}
    ></DataTable>;
  • [@rtdui/datatable] DataTable add borderWidth prop which allow custom border size of cells in the table when showBorder prop is true

  • [@rtdui/tailwind-plugin] data-table.css using a single pseudo element to implement borders

Version 4.10.0 (2024-10-16)

  • [@rtdui/datatable] DataTable enableClickRowSelection behavior follows enableRowSelection
  • [@rtdui/datatable] DataTableSelect encapsulate multiple props related to DataTableProps into a single prop of tableProps
  • [docs-site] Fix some typos

Version 4.9.6 (2024-09-20)

  • [@rtdui/dialogs] DialogData type rename id prop to dialogId to prevent conflicts with HTML element's id prop
  • [@rtdui/dialogs] Dialogs component add dirtyWarningLabel prop for dirty checking prompt text, can be localized
  • [@rtdui/dialogs] Dialog's dialogId prop is automatically assigned to the content element of the dialog. the dialog's can be updated via dialogId
  • [docs-site] Add demo for dialog dirty checking feature

Version 4.9.5 (2024-09-19)

  • [@rtdui/datatable] DataTableSelect fix the issue of head row sticky not taking effect
  • [@rtdui/core] PopoverDropdown fix the issue of FloatingArrow stacking
  • [docs-site] add demo of DataTableSelect with filter

Version 4.9.4 (2024-09-18)

  • [@rtdui/datatable] DataTableSelect add filterFromLeafRows property

Version 4.9.3 (2024-09-18)

  • [@rtdui/datatable] DataTableSelect remove DataTable deprecated autoExpandAll property

Version 4.9.2 (2024-09-13)

  • [@rtdui/datatable] Fixed DataTable filter error when column of rows exists null value
  • [@rtdui/datatable] DataTableProps interface extends native div props, you can provide native props pass to the root div element, e.g. prevent the browser's default behavior of double-click to select text within DataTable
  • [@rtdui/datatable] Fine-tuning checkbox xs size styles in expanded column

Version 4.9.1 (2024-09-06)

  • [@rtdui/datatable] DataTable deprecate the autoExpandAll prop. Use {expanded:true} state prop instead
  • [@rtdui/datatable] reexport all types

Version 4.9.0 (2024-09-04)

  • [@rtdui/datatable] DataTable add validate prop provide validation rules when DataTable can be edited
  • [@rtdui/datatable] [Breaking changes] DataTable changeRow(params) API remove the validate field from the params parameter
  • [docs-site] update DataTable editable demo and doc

Version 4.8.6 (2024-09-01)

  • [@rtdui/datatable] Fix the issue that DataTable export only exports the first table in the page

Version 4.8.5 (2024-08-30)

  • [@rtdui/datatable] Adjust style of FilterEditor
  • [@rtdui/tailwind-plugin] adjust the position of the built-in spin-button for input of type number
  • [docs-site] update dataTable selection doc

Version 4.8.4 (2024-08-30)

  • [@rtdui/datatable] update HeaderCell Component style and unset 'selected' row sytle

Version 4.8.3 (2024-08-28)

  • [@rtdui/datatable] DataTable Component add onRowClick and onRowDoubleClick optional props
    onRowClick prop type:
    onRowClick?: (
      e: React.MouseEvent<HTMLTableRowElement>,
      row: Row<any>
    ) => void;
    
  • [@rtdui/tailwind-plugin] fine-tuning the data-table style

Version 4.8.1 (2024-08-26)

  • [@rtdui/datatable] Fixes an issue that DataTableSelect would overwrite user-supplied onFocus prop

Version 4.8.0 (2024-07-08)

  • [@rtdui/md-editor] use prism instead of hightlight
  • [@rtdui/tailwind-plugin] prism.css adaptation of styles to light and dark modes
  • [@rtdui/*] all code fence syntax in Markdown automatically display language markers. e.g. @rtdio/editor and @rtdio/md-editor packages
  • [docs-site]
    1. code fence syntax in MDX automatically display language markers
    2. App's dark theme aligns with the Tailwindcss's darkMode
    3. md-editor doc remove hightlight.js's styles
    4. theme switch in app bar add system mode
    5. Configuration documentation of Tailwindcss update
    6. add .tail-arrow component style

Version 4.7.0 (2024-06-13)

  • [@rtdui/md-editor] new @rtdui/md-editor package for Markdown writing and rendering
  • [docs-site] @rtdui/md-editor package demo and doc

Version 4.6.0 (2024-05-28)

  • [@rtdui/core] update ColorPicker and ColorInput components so that they support all color notations in the CSS Color Module Level 4 specification

    supported color notation: hex, rgb, hsl ,hwb, lab, lch, oklab, oklch

Version 4.5.7 (2024-05-15)

  • [@rtdui/*] fix exports field style in package.json
  • [docs-site] update doc about oklch and layer css useage

Version 4.5.6 (2024-05-11)

No changes, just updating some packages's dependencies to pass the npm audit check.

Version 4.5.5 (2024-05-11)

Bug Fixes

  • [@rtdui/core] fix missing styles for new @rtdui/signature-pad and @rtdui/dates packages

Version 4.5.4

  • [@rtdui/signature-pad] SignaturePad add slots prop for custom style

Version 4.5.3

  • [@rtdui/dates] fix TimePicker SSR import issue

Version 4.5.2

  • [@rtdui/signature-pad] SignaturePad canvas high dpi support

Version 4.5.1

Bug Fixes

  • [@rtdui/signature-pad] and [@rtdui/dates] fix missing files in npm packages

Version 4.5.0

  • [@rtdui/signature-pad]

    1. SignaturePad component in new @rtdui/signature-pad package
  • [docs-site] add SignaturePad component doc and demo

Version 4.4.0

  • [@rtdui/dates]

    1. @rtdui/core package new Modal and Overlay components, and new CloseButton component
    2. @rtdui/dates package new TimePicker and TimePickerInput components that in iOS-style
  • [docs-site] add Modal component doc and demo, update dates doc and demo for new TimePicker and TimePickerInput component

Version 4.3.0

  • [@rtdui/dates]

    1. new @rtdui/dates package includes DatesProvider, YearPicker, YearPickerInput, MonthPicker, MonthPickerInput, DatePicker, DatePickerInput, DateTimePickerInput, DateInput, TimeInput components
  • [docs-site] add dates components doc and demo

Version 4.2.0

  • [@rtdui/core]

    1. new NativeSelect component
    2. update Card component
    3. fix absent slots
  • [docs-site] add NativeSelect, Card, Divider doc and demo

Version 4.1.0

  • [@rtdui/core]

    1. new TagsInput component
    2. Chipsupport disabled prop
    3. Input support disabled style
  • [docs-site] add TagsInput doc and demo

Version 4.0.0

  • [@rtdui/core]

    1. new Input and InputBase component, use to create custom inputs
    2. rewrite TextInput, TextArea, NumberInput, JsonInput base on new InputBase component
    3. update Popover component provide more powerful feature
    4. new Combobox component base on Popover and InputBase, use to create custom input with dropdown list
    5. rewrite Select base on new Combobox and InputBase component
    6. new ChipsInput component base on Chip and InputBase component
    7. new MultiSelect component base on Combobox and ChipsInput component
    8. new NativeSelect component base on InputBase use native select component
    9. update Tooltip component with Popover
  • [docs-site] add Input,MultiSelect doc and demo

Version 3.1.0

  • [@rtdui/core]
    1. new FloatingSelect component
    2. new FloatingIndicator component
  • [@rtdui/hooks] update dependency
  • [docs-site] add FloatingSelect doc and demo

Version: 3.0.0

[@rtdui/core]

  • new ColorPicker component
  • new ColorInput component
  • new ColorSwatch component
  • context of RadioGroup support disabled prop centralized control its radio
  • rewrite Tabs component which provides more control and more powerful features, this is Breaking Change

Version: 2.0.1

[@rtdui/core]

  • TextInput error prop use string instead of boolean so that user can set error messages

[@rtdui/datatable]

  • use klona instead of lodash.clonedeep

Version 2.0.0

Breaking changes

[@rtdui/core]

  1. update daisyui from v3 to v4 version
  2. daisyui v4 use OKLCH colors instead of HSL, rtdui synchronous adaptation

Fixes

  1. fix daisyui drawer show scrollbar issue when anchor at right
  2. remove drawer unused position prop
  3. Tabs add size prop
  4. clean up prism.css unused styles to reduce size

Version 1.1.2

  • [@rtdui/datatable] DataTable expandColumn replace first id with first meta.expandable

Version: 1.1.1

  • [@rtdui/datatable]
    1. DataTable fixed the issue of rowid inconsistent data types in deleteRow()
    2. TablePagination remove independent current page instructions
    3. fixed the issue of duplicate autoRowNumber column in getLeftPinning()
    4. Improve DataTableProps TSDoc

Version: 1.1.0

  • [@rtdui/core] Select ul remove w-fit class
  • [@rtdui/datatable]
    1. DataTable disabled header checkbox when enableMultiRowSelection is false
    2. TablePagination replace jion button with Pagination
    3. DataTable fixing the issue where the onRowSelectionChange option is undefined will also overwrite the default internal state management
    4. update @tanstack/react-virtual dependency to release version
    5. ColumnsVisibility Popover placement replace bottom-start with bottom

Version: 1.0.10

  • [@rtdui/spotlight]
    1. SpotlightActionsGroup fixed root element styles
    2. SpotlightRoot model-box no offset in the vertical direction
    3. SpotlightActionsList root element given a max-height and overflow scroll
    4. SpotlightAction description add styles

Version: 1.0.9

  • [@rtdui/core] RadioGroup add flex gap
  • [@rtdui/core] Swap checkbox add hidden className

Version: 1.0.8

  • [@rtdui/spotlight] SpotlightRoot use same z-index as model class
  • [@rtdui/core] Badge polymorphic support Typescript

Version: 1.0.7

  • [@rtdui/spotlight] new spotlight package

Version: 1.0.6

  • [@rtdui/*] Improve README and fixed official website URL

Version: 1.0.5

  • [@rtdui/tailwind-plugin] add missing dependencies

Version: 1.0.4

  • [@rtdui/code-highlight] prism supply all langs
  • [@rtdui/editor] prism supply all langs

Version: 1.0.3

  • [@rtdui/code-highlight] only import common languages from refractor reduce the size of the bundle
  • [@rtdui/editor] only import common languages from refractor reduce the size of the bundle

Version: 1.0.2

  • fixed all packages .npmignore

Version 1.0.1

  • update REAMDME