@choice-ui/react 1.4.3 → 1.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/alert-dialog/dist/index.d.ts +20 -41
- package/dist/components/alert-dialog/dist/index.js +497 -0
- package/dist/components/alert-dialog/src/alert-dialog.js +1 -1
- package/dist/components/alert-dialog/src/hooks/use-alert-dialog.d.ts +1 -1
- package/dist/components/alert-dialog/src/index.d.ts +4 -5
- package/dist/components/alert-dialog/src/types.d.ts +11 -11
- package/dist/components/avatar/dist/index.js +4 -4
- package/dist/components/avatar/src/avatar.js +4 -4
- package/dist/components/badge/src/badge.js +2 -2
- package/dist/components/badge/src/index.d.ts +2 -1
- package/dist/components/button/dist/index.js +4 -4
- package/dist/components/button/src/button.js +4 -4
- package/dist/components/calendar/dist/index.d.ts +296 -296
- package/dist/components/calendar/dist/index.js +57 -56
- package/dist/components/calendar/src/date-range-input/date-range-input.d.ts +5 -5
- package/dist/components/calendar/src/time-calendar/time-calendar.d.ts +3 -3
- package/dist/components/calendar/src/time-calendar/time-calendar.js +2 -2
- package/dist/components/calendar/src/time-input/time-input.d.ts +9 -9
- package/dist/components/calendar/src/time-input/time-input.js +4 -4
- package/dist/components/calendar/src/types.d.ts +165 -165
- package/dist/components/calendar/src/utils/constants.js +32 -31
- package/dist/components/calendar/src/utils/date-comparisons.d.ts +34 -34
- package/dist/components/calendar/src/utils/locale.d.ts +12 -12
- package/dist/components/calendar/src/utils/month.d.ts +3 -3
- package/dist/components/calendar/src/utils/month.js +1 -1
- package/dist/components/calendar/src/utils/parsers/month-names.js +3 -3
- package/dist/components/calendar/src/utils/parsers/numeric-utils.d.ts +20 -20
- package/dist/components/calendar/src/utils/parsers/numeric-utils.js +8 -8
- package/dist/components/calendar/src/utils/parsers/parsers.d.ts +17 -17
- package/dist/components/calendar/src/utils/parsers/parsers.js +2 -2
- package/dist/components/calendar/src/utils/parsers/prediction.d.ts +7 -7
- package/dist/components/calendar/src/utils/parsers/relative-dates.js +6 -6
- package/dist/components/calendar/src/utils/quarter.d.ts +13 -13
- package/dist/components/calendar/src/utils/quarter.js +6 -6
- package/dist/components/calendar/src/utils/time.d.ts +8 -8
- package/dist/components/calendar/src/utils/year.d.ts +3 -3
- package/dist/components/calendar/src/utils/year.js +3 -3
- package/dist/components/checkbox/dist/index.d.ts +1 -12
- package/dist/components/checkbox/dist/index.js +9 -9
- package/dist/components/checkbox/src/checkbox-label.js +2 -2
- package/dist/components/checkbox/src/checkbox.js +6 -5
- package/dist/components/checkbox/src/context.js +1 -1
- package/dist/components/checkbox/src/index.d.ts +0 -3
- package/dist/components/chip/dist/index.js +6 -6
- package/dist/components/chip/src/chip.js +6 -6
- package/dist/components/chip/src/index.d.ts +2 -1
- package/dist/components/chips-input/dist/index.js +270 -0
- package/dist/components/chips-input/src/index.d.ts +2 -1
- package/dist/components/code-block/dist/index.d.ts +14 -32
- package/dist/components/code-block/dist/index.js +211 -147
- package/dist/components/code-block/src/code-block.d.ts +8 -1
- package/dist/components/code-block/src/code-block.js +14 -3
- package/dist/components/code-block/src/components/code-block-code.js +31 -5
- package/dist/components/code-block/src/components/code-block-header.js +45 -10
- package/dist/components/code-block/src/index.d.ts +3 -9
- package/dist/components/combobox/dist/index.d.ts +21 -2
- package/dist/components/combobox/dist/index.js +16 -13
- package/dist/components/combobox/src/combobox-trigger.d.ts +1 -1
- package/dist/components/combobox/src/combobox-trigger.js +7 -4
- package/dist/components/combobox/src/combobox.d.ts +20 -1
- package/dist/components/combobox/src/combobox.js +10 -10
- package/dist/components/command/dist/index.d.ts +65 -4
- package/dist/components/command/src/command.js +6 -5
- package/dist/components/command/src/components/command-divider.d.ts +4 -1
- package/dist/components/command/src/components/command-group.d.ts +16 -1
- package/dist/components/command/src/components/command-group.js +56 -54
- package/dist/components/command/src/components/command-input.js +3 -3
- package/dist/components/command/src/components/command-item.d.ts +1 -1
- package/dist/components/command/src/components/command-item.js +117 -115
- package/dist/components/command/src/components/command-loading.d.ts +8 -0
- package/dist/components/command/src/components/command-loading.js +1 -1
- package/dist/components/command/src/context/create-command-context.js +1 -1
- package/dist/components/command/src/hooks/use-schedule-layout-effect.d.ts +1 -1
- package/dist/components/command/src/hooks/use-value.js +2 -2
- package/dist/components/command/src/index.d.ts +16 -8
- package/dist/components/command/src/tv.d.ts +30 -0
- package/dist/components/command/src/tv.js +10 -0
- package/dist/components/command/src/types.d.ts +8 -0
- package/dist/components/command/src/utils/constants.d.ts +1 -1
- package/dist/components/command/src/utils/constants.js +1 -1
- package/dist/components/command/src/utils/helpers.d.ts +0 -1
- package/dist/components/command/src/utils/helpers.js +1 -3
- package/dist/components/command/src/utils/index.d.ts +1 -0
- package/dist/components/comments/src/comment-input/components/comment-input-mention-popover.js +4 -2
- package/dist/components/comments/src/comments.js +1 -1
- package/dist/components/context-input/dist/index.d.ts +47 -251
- package/dist/components/context-input/src/components/mention-menu.d.ts +5 -4
- package/dist/components/context-input/src/components/mention-menu.js +19 -4
- package/dist/components/context-input/src/components/mention.d.ts +2 -2
- package/dist/components/context-input/src/components/slate-editor.js +4 -2
- package/dist/components/context-input/src/context-input.js +31 -16
- package/dist/components/context-input/src/extensions/with-mentions.d.ts +1 -1
- package/dist/components/context-input/src/extensions/with-mentions.js +10 -9
- package/dist/components/context-input/src/hooks/use-context-input.js +87 -46
- package/dist/components/context-input/src/hooks/use-mentions.d.ts +11 -10
- package/dist/components/context-input/src/hooks/use-mentions.js +147 -128
- package/dist/components/context-input/src/index.d.ts +4 -5
- package/dist/components/context-input/src/types.d.ts +12 -12
- package/dist/components/context-input/src/utils/mention-spacing.d.ts +16 -16
- package/dist/components/context-input/src/utils/slate-converters.d.ts +6 -6
- package/dist/components/context-input/src/utils/slate-converters.js +2 -2
- package/dist/components/context-input/src/utils/text-extraction.js +7 -1
- package/dist/components/context-menu/src/context-menu.js +10 -4
- package/dist/components/dialog/dist/index.js +1 -2
- package/dist/components/dialog/src/dialog.js +0 -1
- package/dist/components/dialog/src/hooks/use-floating-dialog.js +1 -1
- package/dist/components/dialog/src/index.d.ts +3 -2
- package/dist/components/dropdown/dist/index.d.ts +1 -2
- package/dist/components/dropdown/dist/index.js +23 -8
- package/dist/components/dropdown/src/dropdown.d.ts +1 -2
- package/dist/components/dropdown/src/dropdown.js +23 -8
- package/dist/components/emoji-picker/dist/index.d.ts +33 -1
- package/dist/components/emoji-picker/dist/index.js +3 -1
- package/dist/components/emoji-picker/src/emoji-picker.d.ts +1 -1
- package/dist/components/emoji-picker/src/emoji-picker.js +3 -1
- package/dist/components/emoji-picker/src/index.d.ts +3 -1
- package/dist/components/form/dist/index.d.ts +93 -98
- package/dist/components/form/src/adapters/base-adapter.d.ts +3 -3
- package/dist/components/form/src/adapters/checkbox-adapter.d.ts +1 -1
- package/dist/components/form/src/adapters/chips-input-adapter.d.ts +9 -0
- package/dist/components/form/src/adapters/chips-input-adapter.js +38 -0
- package/dist/components/form/src/adapters/index.d.ts +8 -7
- package/dist/components/form/src/adapters/input-adapter.d.ts +1 -1
- package/dist/components/form/src/adapters/multi-select-adapter.d.ts +1 -1
- package/dist/components/form/src/adapters/numeric-input-adapter.d.ts +1 -1
- package/dist/components/form/src/adapters/raido-group-adapter.d.ts +1 -7
- package/dist/components/form/src/adapters/range-adapter.d.ts +1 -7
- package/dist/components/form/src/adapters/segmented-adapter.d.ts +1 -7
- package/dist/components/form/src/adapters/select-adapter.d.ts +1 -1
- package/dist/components/form/src/adapters/switch-adapter.d.ts +1 -1
- package/dist/components/form/src/adapters/textarea-adapter.d.ts +1 -1
- package/dist/components/form/src/index.d.ts +18 -16
- package/dist/components/form/src/index.js +16 -13
- package/dist/components/form/src/types.d.ts +58 -51
- package/dist/components/hint/dist/index.d.ts +10 -54
- package/dist/components/hint/src/components/info-content.d.ts +3 -5
- package/dist/components/hint/src/components/info-content.js +14 -6
- package/dist/components/hint/src/components/info-trigger.d.ts +2 -3
- package/dist/components/hint/src/components/info-trigger.js +4 -2
- package/dist/components/hint/src/context/hint-context.d.ts +2 -0
- package/dist/components/hint/src/context/hint-context.js +1 -1
- package/dist/components/hint/src/hint.d.ts +7 -7
- package/dist/components/hint/src/hint.js +24 -29
- package/dist/components/hint/src/hooks/use-hint.d.ts +4 -2
- package/dist/components/hint/src/hooks/use-hint.js +12 -4
- package/dist/components/hint/src/index.d.ts +3 -3
- package/dist/components/hint/src/tv.d.ts +33 -0
- package/dist/components/hint/src/tv.js +11 -0
- package/dist/components/icon-button/dist/index.js +2 -2
- package/dist/components/icon-button/src/icon-button.js +2 -2
- package/dist/components/index.d.ts +3 -0
- package/dist/components/input/dist/index.js +4 -4
- package/dist/components/input/src/input.js +3 -3
- package/dist/components/input/src/tv.js +1 -1
- package/dist/components/kbd/dist/index.js +4 -4
- package/dist/components/kbd/src/kbd.js +4 -4
- package/dist/components/label/dist/index.js +3 -3
- package/dist/components/label/src/tv.js +3 -3
- package/dist/components/link-button/dist/index.js +3 -3
- package/dist/components/link-button/src/link-button.js +3 -3
- package/dist/components/list/src/components/list-content.js +2 -2
- package/dist/components/list/src/components/list-divider.js +3 -3
- package/dist/components/list/src/components/list-item.js +5 -5
- package/dist/components/list/src/components/list-label.js +2 -2
- package/dist/components/list/src/components/list-sub-trigger.js +4 -4
- package/dist/components/list/src/list.js +2 -2
- package/dist/components/md-input/dist/index.d.ts +8 -104
- package/dist/components/md-input/src/components/extensions/md-input-mention.d.ts +6 -4
- package/dist/components/md-input/src/components/extensions/md-input-mention.js +23 -6
- package/dist/components/md-input/src/components/md-input-container.js +1 -0
- package/dist/components/md-input/src/components/md-input-editor.js +4 -1
- package/dist/components/md-input/src/components/md-input-footer.js +5 -1
- package/dist/components/md-input/src/components/toolbar/default-actions.d.ts +2 -2
- package/dist/components/md-input/src/components/toolbar/toolbar-button.d.ts +1 -0
- package/dist/components/md-input/src/components/toolbar/toolbar-button.js +1 -7
- package/dist/components/md-input/src/components/toolbar/toolbar.d.ts +2 -2
- package/dist/components/md-input/src/hooks/use-markdown-mentions.d.ts +5 -4
- package/dist/components/md-input/src/hooks/use-markdown-mentions.js +31 -4
- package/dist/components/md-input/src/index.d.ts +1 -4
- package/dist/components/md-input/src/md-input.js +18 -14
- package/dist/components/md-input/src/tv.d.ts +3 -0
- package/dist/components/md-input/src/tv.js +2 -1
- package/dist/components/md-input/src/types.d.ts +18 -16
- package/dist/components/md-render/dist/index.d.ts +1 -4
- package/dist/components/md-render/dist/index.js +8 -9
- package/dist/components/md-render/src/components/markdown-components.js +3 -3
- package/dist/components/md-render/src/index.d.ts +0 -1
- package/dist/components/md-render/src/md-render.js +5 -4
- package/dist/components/md-render/src/tv.js +1 -1
- package/dist/components/menubar/dist/index.d.ts +50 -0
- package/dist/components/menubar/src/components/index.d.ts +3 -0
- package/dist/components/menubar/src/components/menubar-divider.d.ts +8 -0
- package/dist/components/menubar/src/components/menubar-divider.js +24 -0
- package/dist/components/menubar/src/components/menubar-item.d.ts +8 -0
- package/dist/components/menubar/src/components/menubar-item.js +195 -0
- package/dist/components/menubar/src/components/menubar-trigger.d.ts +8 -0
- package/dist/components/menubar/src/components/menubar-trigger.js +45 -0
- package/dist/components/menubar/src/context/index.d.ts +1 -0
- package/dist/components/menubar/src/context/menubar-context.d.ts +34 -0
- package/dist/components/menubar/src/context/menubar-context.js +13 -0
- package/dist/components/menubar/src/index.d.ts +3 -0
- package/dist/components/menubar/src/menubar.d.ts +22 -0
- package/dist/components/menubar/src/menubar.js +177 -0
- package/dist/components/menubar/src/tv.d.ts +108 -0
- package/dist/components/menubar/src/tv.js +72 -0
- package/dist/components/menubar/tsup.config.d.ts +2 -0
- package/dist/components/menus/dist/index.d.ts +144 -143
- package/dist/components/menus/dist/index.js +50 -49
- package/dist/components/menus/src/components/menu-button.js +2 -2
- package/dist/components/menus/src/components/menu-checkbox.d.ts +1 -2
- package/dist/components/menus/src/components/menu-checkbox.js +2 -2
- package/dist/components/menus/src/components/menu-divider.js +3 -3
- package/dist/components/menus/src/components/menu-item.js +5 -5
- package/dist/components/menus/src/components/menu-label.js +2 -2
- package/dist/components/menus/src/components/menu-scroll-arrow.d.ts +2 -2
- package/dist/components/menus/src/components/menu-scroll-arrow.js +13 -3
- package/dist/components/menus/src/components/menu-search.js +3 -3
- package/dist/components/menus/src/components/menu-trigger.js +4 -4
- package/dist/components/menus/src/context/menu-context-item.d.ts +6 -6
- package/dist/components/menus/src/context/menu-context-item.js +2 -2
- package/dist/components/menus/src/context/menu-context-sub-trigger.js +4 -19
- package/dist/components/menus/src/context/menu-context.d.ts +2 -2
- package/dist/components/menus/src/hooks/use-menu-base-refs.d.ts +12 -12
- package/dist/components/menus/src/hooks/use-menu-children.d.ts +16 -16
- package/dist/components/menus/src/hooks/use-menu-floating.d.ts +22 -22
- package/dist/components/menus/src/hooks/use-menu-refs.d.ts +8 -8
- package/dist/components/menus/src/hooks/use-menu-refs.js +2 -2
- package/dist/components/menus/src/hooks/use-menu-scroll-height.d.ts +11 -11
- package/dist/components/menus/src/hooks/use-menu-scroll.d.ts +18 -18
- package/dist/components/menus/src/hooks/use-menu-selection.d.ts +21 -21
- package/dist/components/menus/src/hooks/use-menu-state.d.ts +11 -11
- package/dist/components/menus/src/hooks/use-menu-state.js +4 -4
- package/dist/components/menus/src/hooks/use-menu-touch.d.ts +11 -11
- package/dist/components/menus/src/hooks/use-menu-tree.d.ts +15 -15
- package/dist/components/menus/src/index.d.ts +5 -0
- package/dist/components/menus/src/menus.js +2 -2
- package/dist/components/menus/src/tv.d.ts +15 -0
- package/dist/components/menus/src/tv.js +8 -2
- package/dist/components/modal/dist/index.d.ts +3 -1
- package/dist/components/modal/dist/index.js +18 -11
- package/dist/components/modal/src/components/modal-content.js +2 -2
- package/dist/components/modal/src/components/modal-footer.js +2 -2
- package/dist/components/modal/src/components/modal-header.d.ts +3 -1
- package/dist/components/modal/src/components/modal-header.js +12 -5
- package/dist/components/modal/src/modal.js +2 -2
- package/dist/components/multi-select/dist/index.js +13 -11
- package/dist/components/multi-select/src/components/multi-select-trigger.js +8 -8
- package/dist/components/multi-select/src/multi-select.js +5 -3
- package/dist/components/numeric-input/dist/index.d.ts +10 -117
- package/dist/components/numeric-input/dist/index.js +18 -24
- package/dist/components/numeric-input/src/components/numeric-input-element.js +2 -2
- package/dist/components/numeric-input/src/components/numeric-input-menu-trigger.d.ts +1 -1
- package/dist/components/numeric-input/src/components/numeric-input-menu-trigger.js +2 -2
- package/dist/components/numeric-input/src/components/numeric-input-variable.d.ts +1 -2
- package/dist/components/numeric-input/src/components/numeric-input-variable.js +3 -3
- package/dist/components/numeric-input/src/hooks/use-input-interactions.d.ts +3 -3
- package/dist/components/numeric-input/src/hooks/use-numeric-input.d.ts +3 -3
- package/dist/components/numeric-input/src/hooks/use-numeric-value-processing.d.ts +3 -3
- package/dist/components/numeric-input/src/hooks/use-step-calculation.d.ts +6 -6
- package/dist/components/numeric-input/src/index.d.ts +5 -4
- package/dist/components/numeric-input/src/numeric-input.js +9 -9
- package/dist/components/numeric-input/src/utils/error-handler.d.ts +8 -8
- package/dist/components/numeric-input/src/utils/expression-evaluator.d.ts +11 -11
- package/dist/components/numeric-input/src/utils/input-parser.d.ts +8 -8
- package/dist/components/numeric-input/src/utils/numeric-value-processor.d.ts +6 -6
- package/dist/components/numeric-input/src/utils/pattern-parser.d.ts +7 -7
- package/dist/components/numeric-input/src/utils/value-comparator.d.ts +16 -16
- package/dist/components/numeric-input/src/utils/value-processor.d.ts +14 -14
- package/dist/components/pagination/src/components/pagination-items-per-page.js +1 -1
- package/dist/components/pagination/src/components/pagination-navigation.js +5 -5
- package/dist/components/pagination/src/components/pagination-root.js +3 -3
- package/dist/components/pagination/src/components/pagination-spinner.js +20 -19
- package/dist/components/pagination/src/context/index.d.ts +1 -0
- package/dist/components/popover/dist/index.d.ts +2 -4
- package/dist/components/popover/dist/index.js +25 -33
- package/dist/components/popover/src/components/popover-header.js +1 -1
- package/dist/components/popover/src/hooks/use-drag.d.ts +3 -3
- package/dist/components/popover/src/hooks/use-floating-popover.d.ts +0 -2
- package/dist/components/popover/src/hooks/use-floating-popover.js +16 -13
- package/dist/components/popover/src/index.d.ts +2 -1
- package/dist/components/popover/src/popover.d.ts +1 -2
- package/dist/components/popover/src/popover.js +11 -21
- package/dist/components/progress/src/index.d.ts +4 -2
- package/dist/components/radio/dist/index.d.ts +1 -17
- package/dist/components/radio/dist/index.js +7 -10
- package/dist/components/radio/src/context.js +1 -1
- package/dist/components/radio/src/index.d.ts +0 -4
- package/dist/components/radio/src/radio-label.js +2 -2
- package/dist/components/radio/src/radio.js +4 -4
- package/dist/components/range/dist/index.js +16 -16
- package/dist/components/range/src/index.d.ts +4 -2
- package/dist/components/range/src/range-tuple.js +10 -10
- package/dist/components/range/src/range.js +6 -6
- package/dist/components/rich-input/dist/index.d.ts +12 -366
- package/dist/components/rich-input/src/components/rich-input-editable-component.d.ts +2 -2
- package/dist/components/rich-input/src/components/rich-input-viewport.d.ts +2 -2
- package/dist/components/rich-input/src/hooks/use-editor-config.d.ts +1 -1
- package/dist/components/rich-input/src/hooks/use-editor-effects.js +3 -0
- package/dist/components/rich-input/src/hooks/use-floating-ui.js +1 -1
- package/dist/components/rich-input/src/hooks/use-keyboard-shortcuts.d.ts +9 -9
- package/dist/components/rich-input/src/hooks/use-rich-input.d.ts +2 -2
- package/dist/components/rich-input/src/hooks/use-rich-input.js +40 -17
- package/dist/components/rich-input/src/hooks/use-selection-events.js +1 -2
- package/dist/components/rich-input/src/index.d.ts +3 -5
- package/dist/components/rich-input/src/rich-input-base.js +1 -1
- package/dist/components/rich-input/src/utils/custom-options.js +1 -1
- package/dist/components/rich-input/src/utils/editor-utils.js +1 -1
- package/dist/components/rich-input/src/utils/markdown-to-slate.d.ts +2 -2
- package/dist/components/rich-input/src/utils/slate-to-markdown.d.ts +1 -1
- package/dist/components/rich-input/src/utils/slate-to-markdown.js +9 -0
- package/dist/components/scroll-area/dist/index.d.ts +19 -19
- package/dist/components/scroll-area/dist/index.js +24 -24
- package/dist/components/scroll-area/src/components/scroll-area-corner.js +2 -2
- package/dist/components/scroll-area/src/components/scroll-area-root.js +3 -3
- package/dist/components/scroll-area/src/components/scroll-area-scrollbar.js +2 -2
- package/dist/components/scroll-area/src/components/scroll-area-thumb.js +2 -2
- package/dist/components/scroll-area/src/hooks/use-scroll-performance-monitor.d.ts +6 -6
- package/dist/components/scroll-area/src/hooks/use-scroll-performance-monitor.js +3 -3
- package/dist/components/scroll-area/src/hooks/use-scroll-state-and-visibility.d.ts +1 -1
- package/dist/components/scroll-area/src/hooks/use-scroll-state-and-visibility.js +3 -3
- package/dist/components/scroll-area/src/hooks/use-scrollbar.d.ts +2 -2
- package/dist/components/scroll-area/src/hooks/use-thumb.d.ts +2 -2
- package/dist/components/scroll-area/src/tv.d.ts +18 -18
- package/dist/components/scroll-area/src/tv.js +12 -12
- package/dist/components/scroll-area/src/types.d.ts +8 -8
- package/dist/components/scroll-area/src/utils/index.d.ts +3 -3
- package/dist/components/search-input/dist/index.js +3 -3
- package/dist/components/search-input/src/index.d.ts +2 -1
- package/dist/components/search-input/src/search-input.js +3 -3
- package/dist/components/segmented/dist/index.js +5 -5
- package/dist/components/segmented/src/segmented-item.js +3 -3
- package/dist/components/segmented/src/segmented.js +2 -2
- package/dist/components/select/dist/index.js +4 -4
- package/dist/components/select/src/select.js +4 -4
- package/dist/components/separator/dist/index.d.ts +26 -0
- package/dist/components/separator/src/index.d.ts +2 -0
- package/dist/components/separator/src/separator.d.ts +22 -0
- package/dist/components/separator/src/separator.js +33 -0
- package/dist/components/separator/src/tv.d.ts +76 -0
- package/dist/components/separator/src/tv.js +25 -0
- package/dist/components/separator/tsup.config.d.ts +2 -0
- package/dist/components/skeleton/dist/index.d.ts +1 -28
- package/dist/components/skeleton/src/context/skeleton-context.js +1 -1
- package/dist/components/skeleton/src/hooks/use-skeleton.d.ts +1 -2
- package/dist/components/skeleton/src/hooks/use-skeleton.js +1 -1
- package/dist/components/skeleton/src/index.d.ts +1 -3
- package/dist/components/skeleton/src/skeleton.d.ts +0 -13
- package/dist/components/skeleton/src/skeleton.js +4 -6
- package/dist/components/skeleton/src/tv.d.ts +18 -12
- package/dist/components/skeleton/src/tv.js +10 -6
- package/dist/components/slot/dist/index.d.ts +10 -10
- package/dist/components/slot/dist/index.js +4 -2
- package/dist/components/slot/src/slot.d.ts +12 -12
- package/dist/components/slot/src/slot.js +6 -3
- package/dist/components/stackflow/src/context.js +1 -1
- package/dist/components/stackflow/src/index.d.ts +2 -1
- package/dist/components/switch/dist/index.d.ts +2 -2
- package/dist/components/switch/dist/index.js +6 -7
- package/dist/components/switch/src/index.d.ts +2 -1
- package/dist/components/switch/src/switch.js +6 -6
- package/dist/components/table/dist/index.d.ts +679 -0
- package/dist/components/table/index.d.ts +1 -0
- package/dist/components/table/src/components/column-resizer.d.ts +8 -0
- package/dist/components/table/src/components/column-resizer.js +58 -0
- package/dist/components/table/src/components/drag-guide.d.ts +6 -0
- package/dist/components/table/src/components/drag-guide.js +64 -0
- package/dist/components/table/src/components/index.d.ts +12 -0
- package/dist/components/table/src/components/resize-guide.d.ts +5 -0
- package/dist/components/table/src/components/resize-guide.js +25 -0
- package/dist/components/table/src/components/table-body.d.ts +6 -0
- package/dist/components/table/src/components/table-body.js +335 -0
- package/dist/components/table/src/components/table-cell.d.ts +6 -0
- package/dist/components/table/src/components/table-cell.js +89 -0
- package/dist/components/table/src/components/table-column.d.ts +5 -0
- package/dist/components/table/src/components/table-column.js +269 -0
- package/dist/components/table/src/components/table-empty.d.ts +8 -0
- package/dist/components/table/src/components/table-empty.js +10 -0
- package/dist/components/table/src/components/table-footer.d.ts +7 -0
- package/dist/components/table/src/components/table-footer.js +15 -0
- package/dist/components/table/src/components/table-header.d.ts +3 -0
- package/dist/components/table/src/components/table-header.js +88 -0
- package/dist/components/table/src/components/table-root.d.ts +3 -0
- package/dist/components/table/src/components/table-root.js +317 -0
- package/dist/components/table/src/components/table-row.d.ts +23 -0
- package/dist/components/table/src/components/table-row.js +166 -0
- package/dist/components/table/src/components/table-value.d.ts +6 -0
- package/dist/components/table/src/components/table-value.js +8 -0
- package/dist/components/table/src/context.d.ts +121 -0
- package/dist/components/table/src/context.js +63 -0
- package/dist/components/table/src/hooks/index.d.ts +4 -0
- package/dist/components/table/src/hooks/use-column-order.d.ts +26 -0
- package/dist/components/table/src/hooks/use-column-order.js +95 -0
- package/dist/components/table/src/hooks/use-column-resize.d.ts +17 -0
- package/dist/components/table/src/hooks/use-column-resize.js +75 -0
- package/dist/components/table/src/hooks/use-consecutive-selection-style.d.ts +12 -0
- package/dist/components/table/src/hooks/use-consecutive-selection-style.js +28 -0
- package/dist/components/table/src/hooks/use-table.d.ts +35 -0
- package/dist/components/table/src/hooks/use-table.js +245 -0
- package/dist/components/table/src/index.d.ts +4 -0
- package/dist/components/table/src/table.d.ts +88 -0
- package/dist/components/table/src/table.js +24 -0
- package/dist/components/table/src/tv.d.ts +176 -0
- package/dist/components/table/src/tv.js +97 -0
- package/dist/components/table/src/types.d.ts +292 -0
- package/dist/components/table/tsup.config.d.ts +2 -0
- package/dist/components/tabs/dist/index.js +4 -3
- package/dist/components/tabs/src/tabs.d.ts +2 -2
- package/dist/components/tabs/src/tabs.js +5 -4
- package/dist/components/text-field/dist/index.d.ts +1 -1
- package/dist/components/text-field/dist/index.js +10 -10
- package/dist/components/text-field/src/components/field-addon.d.ts +1 -2
- package/dist/components/text-field/src/index.d.ts +3 -1
- package/dist/components/text-field/src/text-field.js +10 -10
- package/dist/components/textarea/dist/index.d.ts +33 -5
- package/dist/components/textarea/dist/index.js +32 -7
- package/dist/components/textarea/src/components/autosize/index.d.ts +6 -1
- package/dist/components/textarea/src/components/autosize/index.js +31 -6
- package/dist/components/textarea/src/textarea.js +1 -1
- package/dist/components/textarea/src/types.d.ts +33 -5
- package/dist/components/toggle-button/dist/index.d.ts +26 -2
- package/dist/components/toggle-button/src/context.d.ts +11 -0
- package/dist/components/toggle-button/src/context.js +13 -0
- package/dist/components/toggle-button/src/index.d.ts +2 -0
- package/dist/components/toggle-button/src/toggle-button.js +4 -4
- package/dist/components/toggle-button/src/toggle-group.d.ts +26 -0
- package/dist/components/toggle-button/src/toggle-group.js +156 -0
- package/dist/components/toggle-button/src/tv.d.ts +67 -3
- package/dist/components/toggle-button/src/tv.js +45 -14
- package/dist/components/tooltip/dist/index.d.ts +10 -43
- package/dist/components/tooltip/dist/index.js +35 -33
- package/dist/components/tooltip/src/components/tooltip-arrow.js +1 -1
- package/dist/components/tooltip/src/components/tooltip-content.js +5 -4
- package/dist/components/tooltip/src/context/index.d.ts +1 -0
- package/dist/components/tooltip/src/hooks/use-tooltip.js +3 -3
- package/dist/components/tooltip/src/index.d.ts +2 -4
- package/dist/components/tooltip/src/tooltip.d.ts +7 -1
- package/dist/components/tooltip/src/tooltip.js +6 -1
- package/dist/components/tooltip/src/tv.js +1 -1
- package/dist/components/virtualized-grid/dist/index.d.ts +2 -2
- package/dist/components/virtualized-grid/src/use-item-pool.js +14 -26
- package/dist/components/virtualized-grid/src/use-virtualized-grid.d.ts +1 -1
- package/dist/components/virtualized-grid/src/use-virtualized-grid.js +14 -8
- package/dist/components/virtualized-grid/src/utility.d.ts +1 -1
- package/dist/components/virtualized-grid/src/utility.js +37 -31
- package/dist/components/virtualized-grid/src/virtualized-grid.js +27 -17
- package/dist/context/choice-ui-provider.d.ts +35 -0
- package/dist/context/choice-ui-provider.js +14 -0
- package/dist/context/index.d.ts +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +53 -177
- package/package.json +1 -1
- package/dist/components/code-block/src/index.js +0 -15
- package/dist/components/rich-input/src/hooks/use-mouse-events.js +0 -113
- package/dist/components/rich-input/src/hooks/use-validation.js +0 -80
- package/dist/components/rich-input/src/utils/markdown-to-slate.js +0 -219
- /package/dist/components/command/src/{command-score.d.ts → utils/command-score.d.ts} +0 -0
- /package/dist/components/command/src/{command-score.js → utils/command-score.js} +0 -0
- /package/dist/components/pagination/src/{components → context}/pagination-context.d.ts +0 -0
- /package/dist/components/pagination/src/{components → context}/pagination-context.js +0 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
export declare const tableVariants: import('tailwind-variants').TVReturnType<{
|
|
2
|
+
selected: {
|
|
3
|
+
true: {
|
|
4
|
+
row: string;
|
|
5
|
+
rowStatic: string;
|
|
6
|
+
};
|
|
7
|
+
false: {};
|
|
8
|
+
};
|
|
9
|
+
active: {
|
|
10
|
+
true: {
|
|
11
|
+
row: string;
|
|
12
|
+
rowStatic: string;
|
|
13
|
+
};
|
|
14
|
+
false: {};
|
|
15
|
+
};
|
|
16
|
+
sortable: {
|
|
17
|
+
true: {
|
|
18
|
+
headerCell: string[];
|
|
19
|
+
};
|
|
20
|
+
false: {
|
|
21
|
+
headerCell: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
resizing: {
|
|
25
|
+
true: {
|
|
26
|
+
root: string;
|
|
27
|
+
};
|
|
28
|
+
false: {};
|
|
29
|
+
};
|
|
30
|
+
dragging: {
|
|
31
|
+
true: {
|
|
32
|
+
resizer: string;
|
|
33
|
+
};
|
|
34
|
+
false: {};
|
|
35
|
+
};
|
|
36
|
+
}, {
|
|
37
|
+
root: string;
|
|
38
|
+
headerWrapper: string;
|
|
39
|
+
headerInner: string;
|
|
40
|
+
headerRow: string;
|
|
41
|
+
headerCell: string[];
|
|
42
|
+
headerCellDraggable: string;
|
|
43
|
+
headerCellCanDrag: string;
|
|
44
|
+
headerCellDragging: string;
|
|
45
|
+
headerCheckbox: string;
|
|
46
|
+
bodyWrapper: string;
|
|
47
|
+
bodyScroll: string;
|
|
48
|
+
body: string;
|
|
49
|
+
row: string;
|
|
50
|
+
rowStatic: string;
|
|
51
|
+
cell: string;
|
|
52
|
+
cellCheckbox: string;
|
|
53
|
+
sortIcon: string;
|
|
54
|
+
emptyState: string;
|
|
55
|
+
resizer: string[];
|
|
56
|
+
resizeGuide: string[];
|
|
57
|
+
dragGhost: string[];
|
|
58
|
+
dragIndicator: string[];
|
|
59
|
+
}, undefined, {
|
|
60
|
+
selected: {
|
|
61
|
+
true: {
|
|
62
|
+
row: string;
|
|
63
|
+
rowStatic: string;
|
|
64
|
+
};
|
|
65
|
+
false: {};
|
|
66
|
+
};
|
|
67
|
+
active: {
|
|
68
|
+
true: {
|
|
69
|
+
row: string;
|
|
70
|
+
rowStatic: string;
|
|
71
|
+
};
|
|
72
|
+
false: {};
|
|
73
|
+
};
|
|
74
|
+
sortable: {
|
|
75
|
+
true: {
|
|
76
|
+
headerCell: string[];
|
|
77
|
+
};
|
|
78
|
+
false: {
|
|
79
|
+
headerCell: string;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
resizing: {
|
|
83
|
+
true: {
|
|
84
|
+
root: string;
|
|
85
|
+
};
|
|
86
|
+
false: {};
|
|
87
|
+
};
|
|
88
|
+
dragging: {
|
|
89
|
+
true: {
|
|
90
|
+
resizer: string;
|
|
91
|
+
};
|
|
92
|
+
false: {};
|
|
93
|
+
};
|
|
94
|
+
}, {
|
|
95
|
+
root: string;
|
|
96
|
+
headerWrapper: string;
|
|
97
|
+
headerInner: string;
|
|
98
|
+
headerRow: string;
|
|
99
|
+
headerCell: string[];
|
|
100
|
+
headerCellDraggable: string;
|
|
101
|
+
headerCellCanDrag: string;
|
|
102
|
+
headerCellDragging: string;
|
|
103
|
+
headerCheckbox: string;
|
|
104
|
+
bodyWrapper: string;
|
|
105
|
+
bodyScroll: string;
|
|
106
|
+
body: string;
|
|
107
|
+
row: string;
|
|
108
|
+
rowStatic: string;
|
|
109
|
+
cell: string;
|
|
110
|
+
cellCheckbox: string;
|
|
111
|
+
sortIcon: string;
|
|
112
|
+
emptyState: string;
|
|
113
|
+
resizer: string[];
|
|
114
|
+
resizeGuide: string[];
|
|
115
|
+
dragGhost: string[];
|
|
116
|
+
dragIndicator: string[];
|
|
117
|
+
}, import('tailwind-variants').TVReturnType<{
|
|
118
|
+
selected: {
|
|
119
|
+
true: {
|
|
120
|
+
row: string;
|
|
121
|
+
rowStatic: string;
|
|
122
|
+
};
|
|
123
|
+
false: {};
|
|
124
|
+
};
|
|
125
|
+
active: {
|
|
126
|
+
true: {
|
|
127
|
+
row: string;
|
|
128
|
+
rowStatic: string;
|
|
129
|
+
};
|
|
130
|
+
false: {};
|
|
131
|
+
};
|
|
132
|
+
sortable: {
|
|
133
|
+
true: {
|
|
134
|
+
headerCell: string[];
|
|
135
|
+
};
|
|
136
|
+
false: {
|
|
137
|
+
headerCell: string;
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
resizing: {
|
|
141
|
+
true: {
|
|
142
|
+
root: string;
|
|
143
|
+
};
|
|
144
|
+
false: {};
|
|
145
|
+
};
|
|
146
|
+
dragging: {
|
|
147
|
+
true: {
|
|
148
|
+
resizer: string;
|
|
149
|
+
};
|
|
150
|
+
false: {};
|
|
151
|
+
};
|
|
152
|
+
}, {
|
|
153
|
+
root: string;
|
|
154
|
+
headerWrapper: string;
|
|
155
|
+
headerInner: string;
|
|
156
|
+
headerRow: string;
|
|
157
|
+
headerCell: string[];
|
|
158
|
+
headerCellDraggable: string;
|
|
159
|
+
headerCellCanDrag: string;
|
|
160
|
+
headerCellDragging: string;
|
|
161
|
+
headerCheckbox: string;
|
|
162
|
+
bodyWrapper: string;
|
|
163
|
+
bodyScroll: string;
|
|
164
|
+
body: string;
|
|
165
|
+
row: string;
|
|
166
|
+
rowStatic: string;
|
|
167
|
+
cell: string;
|
|
168
|
+
cellCheckbox: string;
|
|
169
|
+
sortIcon: string;
|
|
170
|
+
emptyState: string;
|
|
171
|
+
resizer: string[];
|
|
172
|
+
resizeGuide: string[];
|
|
173
|
+
dragGhost: string[];
|
|
174
|
+
dragIndicator: string[];
|
|
175
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
176
|
+
export type TableVariantProps = Parameters<typeof tableVariants>[0];
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { tcv } from "../../../shared/utils/tcx/tcx.js";
|
|
2
|
+
const tableVariants = tcv({
|
|
3
|
+
slots: {
|
|
4
|
+
// Root container - flex column layout
|
|
5
|
+
root: "relative flex flex-col overflow-hidden",
|
|
6
|
+
// Header wrapper - clips content, fixed at top
|
|
7
|
+
headerWrapper: "group/header relative flex-shrink-0 overflow-hidden border-b",
|
|
8
|
+
// Header inner - can translate for scroll sync, matches body content width
|
|
9
|
+
headerInner: "",
|
|
10
|
+
// Header row - must match body row width for column alignment
|
|
11
|
+
headerRow: "flex w-full items-center bg-default-background",
|
|
12
|
+
// Header cell
|
|
13
|
+
headerCell: [
|
|
14
|
+
"group/cell relative flex h-8 items-center gap-1 px-3",
|
|
15
|
+
"select-none whitespace-nowrap flex-shrink-0"
|
|
16
|
+
],
|
|
17
|
+
headerCellDraggable: "",
|
|
18
|
+
headerCellCanDrag: "cursor-grab",
|
|
19
|
+
headerCellDragging: "bg-accent-background/10 opacity-60",
|
|
20
|
+
headerCheckbox: "flex h-8 items-center justify-center px-2 flex-shrink-0",
|
|
21
|
+
// Body wrapper - takes remaining space, handles scrolling
|
|
22
|
+
bodyWrapper: "relative flex-1 min-h-0",
|
|
23
|
+
// Body scroll container (ScrollArea for container mode)
|
|
24
|
+
bodyScroll: "h-full w-full",
|
|
25
|
+
// Body content - relative for absolute positioned rows
|
|
26
|
+
body: "relative min-w-max",
|
|
27
|
+
// Row styles - w-full ensures flex children calculate width consistently
|
|
28
|
+
row: "absolute left-0 right-0 flex w-full items-center",
|
|
29
|
+
rowStatic: "relative flex w-full items-center h-[inherit] min-h-8",
|
|
30
|
+
// For non-virtualized mode
|
|
31
|
+
cell: "flex items-center px-3 flex-shrink-0",
|
|
32
|
+
cellCheckbox: "flex items-center justify-center px-2 flex-shrink-0",
|
|
33
|
+
// Sort icon
|
|
34
|
+
sortIcon: "size-3.5 opacity-60",
|
|
35
|
+
// Empty and loading states
|
|
36
|
+
emptyState: "flex flex-col items-center justify-center py-16 text-secondary-foreground",
|
|
37
|
+
// Column resize styles
|
|
38
|
+
resizer: [
|
|
39
|
+
"absolute -right-1 top-0 h-full w-2 cursor-col-resize z-3",
|
|
40
|
+
"before:absolute before:inset-y-2 before:left-0.75 before:w-0.5 before:content-[''] before:bg-tertiary-background",
|
|
41
|
+
"before:rounded-md before:opacity-0 group-hover/header:before:opacity-100 hover:before:bg-accent-foreground hover:before:inset-y-1",
|
|
42
|
+
"active:before:opacity-0"
|
|
43
|
+
],
|
|
44
|
+
resizeGuide: ["pointer-events-none absolute top-0 z-50 w-px", "bg-accent-foreground"],
|
|
45
|
+
// Column drag styles
|
|
46
|
+
dragGhost: ["pointer-events-none absolute top-0 z-40", "bg-gray-500/10"],
|
|
47
|
+
dragIndicator: ["pointer-events-none absolute top-0 z-50 w-px", "bg-accent-foreground"]
|
|
48
|
+
},
|
|
49
|
+
variants: {
|
|
50
|
+
selected: {
|
|
51
|
+
true: { row: "bg-selected-background", rowStatic: "bg-selected-background" },
|
|
52
|
+
false: {}
|
|
53
|
+
},
|
|
54
|
+
active: {
|
|
55
|
+
true: { row: "bg-selected-background/70", rowStatic: "bg-selected-background/70" },
|
|
56
|
+
false: {}
|
|
57
|
+
},
|
|
58
|
+
sortable: {
|
|
59
|
+
true: {
|
|
60
|
+
headerCell: [
|
|
61
|
+
"text-secondary-foreground hover:text-default-foreground hover:bg-secondary-background",
|
|
62
|
+
"aria-[sort]:text-default-foreground"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
false: { headerCell: "text-default-foreground" }
|
|
66
|
+
},
|
|
67
|
+
resizing: {
|
|
68
|
+
true: { root: "pointer-events-none" },
|
|
69
|
+
false: {}
|
|
70
|
+
},
|
|
71
|
+
dragging: {
|
|
72
|
+
true: { resizer: "before:!opacity-0" },
|
|
73
|
+
false: {}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
compoundVariants: [
|
|
77
|
+
{
|
|
78
|
+
selected: true,
|
|
79
|
+
class: {
|
|
80
|
+
rowStatic: "hover:bg-selected-background/50"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
selected: false,
|
|
85
|
+
class: {
|
|
86
|
+
rowStatic: "hover:bg-black/3 dark:hover:bg-white/3 hover:rounded-md"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
defaultVariants: {
|
|
91
|
+
selected: false,
|
|
92
|
+
active: false
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
export {
|
|
96
|
+
tableVariants
|
|
97
|
+
};
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { ReactNode, RefObject } from 'react';
|
|
2
|
+
/** Selection mode for the table */
|
|
3
|
+
export type SelectionMode = "single" | "multiple" | "none";
|
|
4
|
+
/** Scroll mode for virtualization */
|
|
5
|
+
export type ScrollMode = "container" | "window";
|
|
6
|
+
/** Row key type */
|
|
7
|
+
export type RowKey = string | number;
|
|
8
|
+
/** Sort direction */
|
|
9
|
+
export type SortDirection = "asc" | "desc";
|
|
10
|
+
/** Sorting state */
|
|
11
|
+
export interface SortingState {
|
|
12
|
+
id: string;
|
|
13
|
+
desc: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** Row selection state */
|
|
16
|
+
export type SelectionState = Set<RowKey>;
|
|
17
|
+
/** Column definition */
|
|
18
|
+
export interface TableColumnDef<T = unknown> {
|
|
19
|
+
/** Unique column identifier */
|
|
20
|
+
id: string;
|
|
21
|
+
/** Column header content */
|
|
22
|
+
header?: ReactNode;
|
|
23
|
+
/** Column width (px or CSS value) */
|
|
24
|
+
width?: number | string;
|
|
25
|
+
/** Minimum column width */
|
|
26
|
+
minWidth?: number;
|
|
27
|
+
/** Maximum column width */
|
|
28
|
+
maxWidth?: number;
|
|
29
|
+
/** Flex grow value for flexible column width (e.g., 1, 2, 3) */
|
|
30
|
+
flex?: number;
|
|
31
|
+
/** Whether column is sortable */
|
|
32
|
+
sortable?: boolean;
|
|
33
|
+
/** Whether column is resizable */
|
|
34
|
+
resizable?: boolean;
|
|
35
|
+
/** Custom cell className */
|
|
36
|
+
className?: string;
|
|
37
|
+
/** Custom header className */
|
|
38
|
+
headerClassName?: string;
|
|
39
|
+
}
|
|
40
|
+
/** Column width state */
|
|
41
|
+
export interface ColumnWidthState {
|
|
42
|
+
[columnId: string]: number;
|
|
43
|
+
}
|
|
44
|
+
/** Alias for ColumnWidthState */
|
|
45
|
+
export type ColumnWidthsState = ColumnWidthState;
|
|
46
|
+
/** Column order state */
|
|
47
|
+
export type ColumnOrderState = string[];
|
|
48
|
+
/** Resize state for showing guide line during drag */
|
|
49
|
+
export interface ResizeState {
|
|
50
|
+
columnId: string;
|
|
51
|
+
startX: number;
|
|
52
|
+
startWidth: number;
|
|
53
|
+
currentX: number;
|
|
54
|
+
}
|
|
55
|
+
/** Table instance (exposed via ref) */
|
|
56
|
+
export interface TableInstance<T> {
|
|
57
|
+
/** Get all rows data */
|
|
58
|
+
getData: () => T[];
|
|
59
|
+
/** Get selected row keys */
|
|
60
|
+
getSelectedKeys: () => RowKey[];
|
|
61
|
+
/** Get selected rows data */
|
|
62
|
+
getSelectedRows: () => T[];
|
|
63
|
+
/** Check if row is selected */
|
|
64
|
+
isRowSelected: (key: RowKey) => boolean;
|
|
65
|
+
/** Select row */
|
|
66
|
+
selectRow: (key: RowKey) => void;
|
|
67
|
+
/** Deselect row */
|
|
68
|
+
deselectRow: (key: RowKey) => void;
|
|
69
|
+
/** Toggle row selection */
|
|
70
|
+
toggleRowSelection: (key: RowKey) => void;
|
|
71
|
+
/** Select all rows */
|
|
72
|
+
selectAll: () => void;
|
|
73
|
+
/** Deselect all rows */
|
|
74
|
+
deselectAll: () => void;
|
|
75
|
+
/** Check if all rows are selected */
|
|
76
|
+
isAllSelected: () => boolean;
|
|
77
|
+
/** Check if some (but not all) rows are selected */
|
|
78
|
+
isSomeSelected: () => boolean;
|
|
79
|
+
}
|
|
80
|
+
/** Internal row data with metadata */
|
|
81
|
+
export interface InternalRow<T> {
|
|
82
|
+
key: RowKey;
|
|
83
|
+
data: T;
|
|
84
|
+
index: number;
|
|
85
|
+
}
|
|
86
|
+
/** Consecutive selection style type */
|
|
87
|
+
export type ConsecutiveStyle = "rounded-md" | "rounded-t-md" | "rounded-b-md" | "rounded-none" | "";
|
|
88
|
+
/** Table context value */
|
|
89
|
+
export interface TableContextValue<T = unknown> {
|
|
90
|
+
data: T[];
|
|
91
|
+
rows: InternalRow<T>[];
|
|
92
|
+
getRowKey: (row: T, index: number) => RowKey;
|
|
93
|
+
columns: TableColumnDef<T>[];
|
|
94
|
+
columnOrder: ColumnOrderState;
|
|
95
|
+
registerColumn: (column: TableColumnDef<T>) => void;
|
|
96
|
+
unregisterColumn: (id: string) => void;
|
|
97
|
+
selectable: boolean;
|
|
98
|
+
selectionMode: SelectionMode;
|
|
99
|
+
selectedKeys: Set<RowKey>;
|
|
100
|
+
isRowSelected: (key: RowKey) => boolean;
|
|
101
|
+
toggleRowSelection: (key: RowKey, index?: number) => void;
|
|
102
|
+
handleCheckboxClick: (key: RowKey, index: number, event: React.MouseEvent) => void;
|
|
103
|
+
isAllSelected: () => boolean;
|
|
104
|
+
isSomeSelected: () => boolean;
|
|
105
|
+
selectAll: () => void;
|
|
106
|
+
deselectAll: () => void;
|
|
107
|
+
sortable: boolean;
|
|
108
|
+
sorting: SortingState[];
|
|
109
|
+
toggleSort: (columnId: string) => void;
|
|
110
|
+
getSortDirection: (columnId: string) => SortDirection | null;
|
|
111
|
+
resizable: boolean;
|
|
112
|
+
columnWidths: ColumnWidthState;
|
|
113
|
+
resizeState: ResizeState | null;
|
|
114
|
+
getColumnWidth: (columnId: string) => number | undefined;
|
|
115
|
+
startResize: (columnId: string, startX: number, startWidth: number) => void;
|
|
116
|
+
updateResize: (currentX: number) => void;
|
|
117
|
+
endResize: () => void;
|
|
118
|
+
reorderable: boolean;
|
|
119
|
+
dragState: {
|
|
120
|
+
columnId: string;
|
|
121
|
+
targetIndex: number;
|
|
122
|
+
} | null;
|
|
123
|
+
startDrag: (columnId: string) => void;
|
|
124
|
+
updateDragTarget: (targetIndex: number) => void;
|
|
125
|
+
endDrag: () => void;
|
|
126
|
+
cancelDrag: () => void;
|
|
127
|
+
scrollMode: ScrollMode;
|
|
128
|
+
scrollRef?: RefObject<HTMLElement>;
|
|
129
|
+
containerRef?: RefObject<HTMLElement>;
|
|
130
|
+
virtualized: boolean;
|
|
131
|
+
/** Fixed row height in pixels */
|
|
132
|
+
rowHeight: number;
|
|
133
|
+
overscan: number;
|
|
134
|
+
activeRowKey: RowKey | null;
|
|
135
|
+
onRowClick?: (row: T, event: React.MouseEvent) => void;
|
|
136
|
+
getConsecutiveStyle: (index: number) => ConsecutiveStyle;
|
|
137
|
+
tableRef: RefObject<HTMLDivElement>;
|
|
138
|
+
tableInstance: TableInstance<T>;
|
|
139
|
+
}
|
|
140
|
+
/** Props for the Table root component */
|
|
141
|
+
export interface TableProps<T> {
|
|
142
|
+
/** Table data */
|
|
143
|
+
data: T[];
|
|
144
|
+
/** Function to get unique key for each row */
|
|
145
|
+
getRowKey: (row: T, index: number) => RowKey;
|
|
146
|
+
/** Whether to show selection column */
|
|
147
|
+
selectable?: boolean;
|
|
148
|
+
/** Selection mode */
|
|
149
|
+
selectionMode?: SelectionMode;
|
|
150
|
+
/** Controlled selected keys */
|
|
151
|
+
selectedKeys?: RowKey[];
|
|
152
|
+
/** Default selected keys (uncontrolled) */
|
|
153
|
+
defaultSelectedKeys?: RowKey[];
|
|
154
|
+
/** Selection change callback */
|
|
155
|
+
onSelectionChange?: (selectedKeys: RowKey[]) => void;
|
|
156
|
+
/** Whether to enable virtualization */
|
|
157
|
+
virtualized?: boolean;
|
|
158
|
+
/** Fixed row height in pixels for virtualization (default: 32) */
|
|
159
|
+
rowHeight?: number;
|
|
160
|
+
/** Number of rows to render outside viewport */
|
|
161
|
+
overscan?: number;
|
|
162
|
+
/** Scroll mode */
|
|
163
|
+
scrollMode?: ScrollMode;
|
|
164
|
+
/** Custom scroll element ref (for custom container scroll) */
|
|
165
|
+
scrollRef?: RefObject<HTMLElement>;
|
|
166
|
+
/** Custom container ref (for custom container scroll) */
|
|
167
|
+
containerRef?: RefObject<HTMLElement>;
|
|
168
|
+
/** Whether table is sortable */
|
|
169
|
+
sortable?: boolean;
|
|
170
|
+
/** Controlled sorting state */
|
|
171
|
+
sorting?: SortingState[];
|
|
172
|
+
/** Default sorting state */
|
|
173
|
+
defaultSorting?: SortingState[];
|
|
174
|
+
/** Sorting change callback */
|
|
175
|
+
onSortingChange?: (sorting: SortingState[]) => void;
|
|
176
|
+
/** Whether columns are resizable */
|
|
177
|
+
resizable?: boolean;
|
|
178
|
+
/** Controlled column widths */
|
|
179
|
+
columnWidths?: ColumnWidthState;
|
|
180
|
+
/** Default column widths */
|
|
181
|
+
defaultColumnWidths?: ColumnWidthState;
|
|
182
|
+
/** Column width change callback */
|
|
183
|
+
onColumnWidthsChange?: (widths: ColumnWidthState) => void;
|
|
184
|
+
/** Whether columns are reorderable */
|
|
185
|
+
reorderable?: boolean;
|
|
186
|
+
/** Controlled column order */
|
|
187
|
+
columnOrder?: ColumnOrderState;
|
|
188
|
+
/** Default column order */
|
|
189
|
+
defaultColumnOrder?: ColumnOrderState;
|
|
190
|
+
/** Column order change callback */
|
|
191
|
+
onColumnOrderChange?: (order: ColumnOrderState) => void;
|
|
192
|
+
/** Active row key (for highlighting) */
|
|
193
|
+
activeRowKey?: RowKey | null;
|
|
194
|
+
/** Row click handler */
|
|
195
|
+
onRowClick?: (row: T, event: React.MouseEvent) => void;
|
|
196
|
+
/** Custom class name */
|
|
197
|
+
className?: string;
|
|
198
|
+
/** Container height (for container scroll mode) */
|
|
199
|
+
height?: number | string;
|
|
200
|
+
/** Scroll event callback (for infinite scroll, etc.) */
|
|
201
|
+
onScroll?: (event: {
|
|
202
|
+
scrollTop: number;
|
|
203
|
+
scrollHeight: number;
|
|
204
|
+
clientHeight: number;
|
|
205
|
+
}) => void;
|
|
206
|
+
/** Ref to table instance */
|
|
207
|
+
tableRef?: RefObject<TableInstance<T> | null>;
|
|
208
|
+
/** Children (Table.Header, Table.Body) */
|
|
209
|
+
children: ReactNode;
|
|
210
|
+
}
|
|
211
|
+
/** Props for Table.Header */
|
|
212
|
+
export interface TableHeaderProps {
|
|
213
|
+
children: ReactNode;
|
|
214
|
+
className?: string;
|
|
215
|
+
}
|
|
216
|
+
/** Props for Table.Column (used inside Table.Header) */
|
|
217
|
+
export interface TableColumnProps {
|
|
218
|
+
/** Unique column identifier */
|
|
219
|
+
id: string;
|
|
220
|
+
/** Column header content */
|
|
221
|
+
children?: ReactNode;
|
|
222
|
+
/** Column width */
|
|
223
|
+
width?: number | string;
|
|
224
|
+
/** Minimum width */
|
|
225
|
+
minWidth?: number;
|
|
226
|
+
/** Maximum width */
|
|
227
|
+
maxWidth?: number;
|
|
228
|
+
/** Flex grow value for flexible column width (e.g., 1, 2, 3) */
|
|
229
|
+
flex?: number;
|
|
230
|
+
/** Whether sortable */
|
|
231
|
+
sortable?: boolean;
|
|
232
|
+
/** Whether resizable (overrides table-level setting) */
|
|
233
|
+
resizable?: boolean;
|
|
234
|
+
/** Header className */
|
|
235
|
+
className?: string;
|
|
236
|
+
}
|
|
237
|
+
/** Props for Table.Body */
|
|
238
|
+
export interface TableBodyProps<T = unknown> {
|
|
239
|
+
/** Render function for each row */
|
|
240
|
+
children: (row: T, index: number) => ReactNode;
|
|
241
|
+
/** Body className */
|
|
242
|
+
className?: string;
|
|
243
|
+
/** Body class names */
|
|
244
|
+
classNames?: {
|
|
245
|
+
viewport?: string;
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/** Props for Table.Row */
|
|
249
|
+
export interface TableRowProps {
|
|
250
|
+
/** Row key (must match getRowKey result) */
|
|
251
|
+
rowKey: RowKey;
|
|
252
|
+
/** Row index */
|
|
253
|
+
index: number;
|
|
254
|
+
/** Children (Table.Cell elements) */
|
|
255
|
+
children: ReactNode;
|
|
256
|
+
/** Row className */
|
|
257
|
+
className?: string;
|
|
258
|
+
/** Click handler */
|
|
259
|
+
onClick?: (event: React.MouseEvent) => void;
|
|
260
|
+
}
|
|
261
|
+
/** Props for Table.Cell */
|
|
262
|
+
export interface TableCellProps {
|
|
263
|
+
/** Cell content */
|
|
264
|
+
children: ReactNode;
|
|
265
|
+
/** Column id this cell belongs to */
|
|
266
|
+
columnId?: string;
|
|
267
|
+
/** Cell className */
|
|
268
|
+
className?: string;
|
|
269
|
+
}
|
|
270
|
+
/** Props for Table.Value */
|
|
271
|
+
export interface TableValueProps {
|
|
272
|
+
/** Value content */
|
|
273
|
+
children?: ReactNode;
|
|
274
|
+
/** Value className */
|
|
275
|
+
className?: string;
|
|
276
|
+
}
|
|
277
|
+
/** Props for Table.Footer (e.g., loading indicator for infinite scroll) */
|
|
278
|
+
export interface TableFooterProps {
|
|
279
|
+
/** Footer content */
|
|
280
|
+
children: ReactNode;
|
|
281
|
+
/** Footer className */
|
|
282
|
+
className?: string;
|
|
283
|
+
}
|
|
284
|
+
/** Props for Table.SelectCell */
|
|
285
|
+
export interface TableSelectCellProps {
|
|
286
|
+
/** Row key */
|
|
287
|
+
rowKey: RowKey;
|
|
288
|
+
/** Row index */
|
|
289
|
+
index: number;
|
|
290
|
+
/** Disabled state */
|
|
291
|
+
disabled?: boolean;
|
|
292
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { memo, forwardRef,
|
|
1
|
+
import { memo, forwardRef, useContext, createContext, useId } from "react";
|
|
2
2
|
import { useEventCallback } from "usehooks-ts";
|
|
3
3
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
4
4
|
import { tcv, tcx } from "../../../shared/utils/tcx/tcx.js";
|
|
@@ -297,8 +297,9 @@ var TabsRoot = forwardRef(function Tabs(props, ref) {
|
|
|
297
297
|
);
|
|
298
298
|
});
|
|
299
299
|
TabsRoot.displayName = "Tabs";
|
|
300
|
-
var Tabs2 = TabsRoot
|
|
301
|
-
|
|
300
|
+
var Tabs2 = Object.assign(TabsRoot, {
|
|
301
|
+
Item: TabItem
|
|
302
|
+
});
|
|
302
303
|
export {
|
|
303
304
|
TabItem,
|
|
304
305
|
Tabs2 as Tabs
|
|
@@ -13,5 +13,5 @@ export interface TabsProps extends Omit<HTMLProps<HTMLElement>, "onChange" | "as
|
|
|
13
13
|
interface TabsComponent extends React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLElement>> {
|
|
14
14
|
Item: typeof TabItem;
|
|
15
15
|
}
|
|
16
|
-
declare const Tabs: TabsComponent;
|
|
17
|
-
export {
|
|
16
|
+
export declare const Tabs: TabsComponent;
|
|
17
|
+
export {};
|
|
@@ -5,7 +5,7 @@ import { TabsContext } from "./context.js";
|
|
|
5
5
|
import { TabItem } from "./tab-item.js";
|
|
6
6
|
import { tabsTv } from "./tv.js";
|
|
7
7
|
import { tcx } from "../../../shared/utils/tcx/tcx.js";
|
|
8
|
-
const TabsRoot = forwardRef(function
|
|
8
|
+
const TabsRoot = forwardRef(function Tabs2(props, ref) {
|
|
9
9
|
const {
|
|
10
10
|
as = "div",
|
|
11
11
|
value: valueProp,
|
|
@@ -54,8 +54,9 @@ const TabsRoot = forwardRef(function Tabs(props, ref) {
|
|
|
54
54
|
);
|
|
55
55
|
});
|
|
56
56
|
TabsRoot.displayName = "Tabs";
|
|
57
|
-
const
|
|
58
|
-
|
|
57
|
+
const Tabs = Object.assign(TabsRoot, {
|
|
58
|
+
Item: TabItem
|
|
59
|
+
});
|
|
59
60
|
export {
|
|
60
|
-
|
|
61
|
+
Tabs
|
|
61
62
|
};
|
|
@@ -170,23 +170,23 @@ var TextFieldContent = ({
|
|
|
170
170
|
prefixNode,
|
|
171
171
|
suffixNode,
|
|
172
172
|
inputProps,
|
|
173
|
-
|
|
173
|
+
tv,
|
|
174
174
|
inputRef
|
|
175
|
-
}) => /* @__PURE__ */ jsxs("div", { className: tcx(
|
|
175
|
+
}) => /* @__PURE__ */ jsxs("div", { className: tcx(tv.root(), className), children: [
|
|
176
176
|
prefixNode && cloneElement(prefixNode, {
|
|
177
|
-
className: tcx(
|
|
177
|
+
className: tcx(tv.prefix(), prefixNode.props.className)
|
|
178
178
|
}),
|
|
179
179
|
/* @__PURE__ */ jsx(
|
|
180
180
|
Input,
|
|
181
181
|
{
|
|
182
182
|
ref: inputRef,
|
|
183
183
|
variant: "reset",
|
|
184
|
-
className:
|
|
184
|
+
className: tv.input(),
|
|
185
185
|
...inputProps
|
|
186
186
|
}
|
|
187
187
|
),
|
|
188
188
|
suffixNode && cloneElement(suffixNode, {
|
|
189
|
-
className: tcx(
|
|
189
|
+
className: tcx(tv.suffix(), suffixNode.props.className)
|
|
190
190
|
})
|
|
191
191
|
] });
|
|
192
192
|
var TextFieldBase = forwardRef((props, ref) => {
|
|
@@ -208,7 +208,7 @@ var TextFieldBase = forwardRef((props, ref) => {
|
|
|
208
208
|
const suffixNode = suffixElements[0] || null;
|
|
209
209
|
const labelNode = labelElements[0] || null;
|
|
210
210
|
const descriptionNode = descriptionElements[0] || null;
|
|
211
|
-
const
|
|
211
|
+
const tv = TextFieldTv({
|
|
212
212
|
variant,
|
|
213
213
|
size,
|
|
214
214
|
hasPrefix: !!prefixNode,
|
|
@@ -218,7 +218,7 @@ var TextFieldBase = forwardRef((props, ref) => {
|
|
|
218
218
|
});
|
|
219
219
|
const generatedId = useId();
|
|
220
220
|
const uuid = props.id ?? generatedId;
|
|
221
|
-
return labelNode || descriptionNode ? /* @__PURE__ */ jsxs("div", { className: tcx(
|
|
221
|
+
return labelNode || descriptionNode ? /* @__PURE__ */ jsxs("div", { className: tcx(tv.container(), className), children: [
|
|
222
222
|
labelNode && cloneElement(labelNode, {
|
|
223
223
|
variant,
|
|
224
224
|
disabled,
|
|
@@ -230,13 +230,13 @@ var TextFieldBase = forwardRef((props, ref) => {
|
|
|
230
230
|
className,
|
|
231
231
|
prefixNode,
|
|
232
232
|
suffixNode,
|
|
233
|
-
|
|
233
|
+
tv,
|
|
234
234
|
inputRef: ref,
|
|
235
235
|
inputProps: { ...rest, id: uuid, size, disabled }
|
|
236
236
|
}
|
|
237
237
|
),
|
|
238
238
|
descriptionNode && cloneElement(descriptionNode, {
|
|
239
|
-
className: tcx(
|
|
239
|
+
className: tcx(tv.description(), descriptionNode.props.className)
|
|
240
240
|
})
|
|
241
241
|
] }) : /* @__PURE__ */ jsx(
|
|
242
242
|
TextFieldContent,
|
|
@@ -244,7 +244,7 @@ var TextFieldBase = forwardRef((props, ref) => {
|
|
|
244
244
|
className,
|
|
245
245
|
prefixNode,
|
|
246
246
|
suffixNode,
|
|
247
|
-
|
|
247
|
+
tv,
|
|
248
248
|
inputRef: ref,
|
|
249
249
|
inputProps: { ...rest, id: uuid, size, disabled }
|
|
250
250
|
}
|