@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
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Menu children parsing Hook
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
5
|
+
* Handle menu component child element parsing logic:
|
|
6
|
+
* - Extract trigger element from children
|
|
7
|
+
* - Extract content element from children
|
|
8
|
+
* - Support different child element types for Select and Dropdown
|
|
9
|
+
* - Error handling and warnings
|
|
10
10
|
*/
|
|
11
11
|
export interface MenuChildrenConfig<T extends React.ElementType = React.ElementType, C extends React.ElementType = React.ElementType, S extends React.ElementType = React.ElementType> {
|
|
12
|
-
/** Content
|
|
12
|
+
/** Content component type */
|
|
13
13
|
ContentComponent: C;
|
|
14
|
-
/** SubTrigger
|
|
14
|
+
/** SubTrigger component type (only used for Dropdown) */
|
|
15
15
|
SubTriggerComponent?: S;
|
|
16
|
-
/** Trigger
|
|
16
|
+
/** Trigger component type */
|
|
17
17
|
TriggerComponent: T;
|
|
18
|
-
/**
|
|
18
|
+
/** Children */
|
|
19
19
|
children?: React.ReactNode;
|
|
20
|
-
/**
|
|
20
|
+
/** Component type name, for error提示 */
|
|
21
21
|
componentName: string;
|
|
22
22
|
}
|
|
23
23
|
export interface MenuChildrenResult {
|
|
24
|
-
/**
|
|
24
|
+
/** Content element */
|
|
25
25
|
contentElement: React.ReactElement | null;
|
|
26
|
-
/**
|
|
26
|
+
/** Error message */
|
|
27
27
|
error?: string;
|
|
28
|
-
/**
|
|
28
|
+
/** Whether there are required elements */
|
|
29
29
|
hasRequiredElements: boolean;
|
|
30
|
-
/**
|
|
30
|
+
/** Sub-trigger element (only used for Dropdown) */
|
|
31
31
|
subTriggerElement?: React.ReactElement | null;
|
|
32
|
-
/**
|
|
32
|
+
/** Trigger element */
|
|
33
33
|
triggerElement: React.ReactElement | null;
|
|
34
34
|
}
|
|
35
35
|
export declare function useMenuChildren<T extends React.ElementType = React.ElementType, C extends React.ElementType = React.ElementType, S extends React.ElementType = React.ElementType>(config: MenuChildrenConfig<T, C, S>): MenuChildrenResult;
|
|
@@ -1,54 +1,54 @@
|
|
|
1
1
|
import { useFloating, useInteractions, useHover, Placement, SideObject } from '@floating-ui/react';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Menu FloatingUI configuration Hook
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* - Select:
|
|
7
|
-
* - Dropdown:
|
|
5
|
+
* Provide different floating configurations for Select and Dropdown:
|
|
6
|
+
* - Select: use inner middleware + virtual scrolling
|
|
7
|
+
* - Dropdown: use standard middleware + nested support
|
|
8
8
|
*/
|
|
9
9
|
export interface MenuFloatingConfig {
|
|
10
10
|
activeIndex: number | null;
|
|
11
|
-
/**
|
|
11
|
+
/** Current selected index (Select specific) */
|
|
12
12
|
currentSelectedIndex?: number;
|
|
13
13
|
elementsRef: React.RefObject<Array<HTMLElement | null>>;
|
|
14
|
-
/**
|
|
14
|
+
/** Whether to use fallback mode (Select specific) */
|
|
15
15
|
fallback?: boolean;
|
|
16
|
-
/**
|
|
16
|
+
/** State change callback */
|
|
17
17
|
handleOpenChange: (open: boolean) => void;
|
|
18
|
-
/**
|
|
18
|
+
/** Internal offset (Select specific) */
|
|
19
19
|
innerOffset?: number;
|
|
20
|
-
/**
|
|
20
|
+
/** Current open state */
|
|
21
21
|
isControlledOpen: boolean;
|
|
22
|
-
/**
|
|
22
|
+
/** Whether to use nested mode (only used for Dropdown) */
|
|
23
23
|
isNested?: boolean;
|
|
24
24
|
labelsRef: React.RefObject<Array<string | null>>;
|
|
25
|
-
/**
|
|
25
|
+
/** Whether to match trigger width */
|
|
26
26
|
matchTriggerWidth?: boolean;
|
|
27
|
-
/**
|
|
27
|
+
/** Node ID (only used for Dropdown) */
|
|
28
28
|
nodeId?: string;
|
|
29
|
-
/**
|
|
29
|
+
/** Offset distance */
|
|
30
30
|
offsetDistance?: number;
|
|
31
|
-
/** overflow
|
|
31
|
+
/** overflow reference (Select specific) */
|
|
32
32
|
overflowRef?: React.RefObject<SideObject | null>;
|
|
33
|
-
/**
|
|
33
|
+
/** Position configuration */
|
|
34
34
|
placement?: Placement;
|
|
35
35
|
scrollRef: React.RefObject<HTMLDivElement>;
|
|
36
36
|
setActiveIndex: (index: number | null) => void;
|
|
37
|
-
/**
|
|
37
|
+
/** Set fallback (Select specific) */
|
|
38
38
|
setFallback?: (fallback: boolean) => void;
|
|
39
|
-
/**
|
|
39
|
+
/** Set internal offset (Select specific) */
|
|
40
40
|
setInnerOffset?: (offset: number) => void;
|
|
41
|
-
/**
|
|
41
|
+
/** Touch state */
|
|
42
42
|
touch?: boolean;
|
|
43
|
-
/**
|
|
43
|
+
/** Component type */
|
|
44
44
|
type: "select" | "dropdown";
|
|
45
45
|
}
|
|
46
46
|
export interface MenuFloatingResult {
|
|
47
|
-
/** floating
|
|
47
|
+
/** floating context and styles */
|
|
48
48
|
floating: ReturnType<typeof useFloating>;
|
|
49
|
-
/** hover
|
|
49
|
+
/** hover handler (only used for Dropdown) */
|
|
50
50
|
hover?: ReturnType<typeof useHover>;
|
|
51
|
-
/**
|
|
51
|
+
/** Interaction handler */
|
|
52
52
|
interactions: ReturnType<typeof useInteractions>;
|
|
53
53
|
}
|
|
54
54
|
export declare function useMenuFloating(config: MenuFloatingConfig): MenuFloatingResult;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { SideObject } from '@floating-ui/react';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Menu reference management Hook
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
10
|
-
* - Select
|
|
5
|
+
* Unify the management of all references needed in menu components:
|
|
6
|
+
* - Scroll container reference
|
|
7
|
+
* - List item reference array
|
|
8
|
+
* - List content reference array
|
|
9
|
+
* - Timer reference
|
|
10
|
+
* - Select specific reference (overflow, allowSelect, etc.)
|
|
11
11
|
*/
|
|
12
12
|
export interface MenuRefsConfig {
|
|
13
|
-
/**
|
|
13
|
+
/** Whether to use Select type (requires additional selection related references) */
|
|
14
14
|
isSelect?: boolean;
|
|
15
15
|
}
|
|
16
16
|
export interface MenuRefsResult {
|
|
@@ -29,12 +29,12 @@ function useMenuRefs(config = {}) {
|
|
|
29
29
|
};
|
|
30
30
|
const result = useMemo(() => {
|
|
31
31
|
const baseResult = {
|
|
32
|
-
//
|
|
32
|
+
// General reference
|
|
33
33
|
scrollRef,
|
|
34
34
|
elementsRef,
|
|
35
35
|
labelsRef,
|
|
36
36
|
selectTimeoutRef,
|
|
37
|
-
//
|
|
37
|
+
// Utility functions
|
|
38
38
|
clearSelectTimeout,
|
|
39
39
|
resetRefs
|
|
40
40
|
};
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Menu scroll container height setting Hook
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Ensure the scroll container is correctly set to the parent element height, as a complement to the size middleware
|
|
5
|
+
* Similar logic exists in all menu components, unified extraction here
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
7
|
+
* Features:
|
|
8
|
+
* - Ensure the scroll container is correctly inherited from the parent element height after opening and positioning
|
|
9
|
+
* - Use requestAnimationFrame to ensure the DOM is updated, avoiding timing conflicts with the size middleware
|
|
10
10
|
*/
|
|
11
11
|
export interface MenuScrollHeightConfig {
|
|
12
|
-
/**
|
|
12
|
+
/** Whether to open */
|
|
13
13
|
isControlledOpen: boolean;
|
|
14
|
-
/**
|
|
14
|
+
/** Whether to be positioned */
|
|
15
15
|
isPositioned: boolean;
|
|
16
|
-
/**
|
|
16
|
+
/** Scroll container reference */
|
|
17
17
|
scrollRef: React.RefObject<HTMLDivElement>;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
* Set scroll container height
|
|
21
|
+
* This hook will ensure the scroll container is correctly set to the parent element height after opening and positioning
|
|
22
22
|
*/
|
|
23
23
|
export declare function useMenuScrollHeight(config: MenuScrollHeightConfig): void;
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Menu scroll handling Hook
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
4
|
+
* Handle scroll related logic in menu components:
|
|
5
|
+
* - Scroll position management
|
|
6
|
+
* - Arrow scroll handling
|
|
7
|
+
* - Scroll event handling
|
|
8
|
+
* - Touch-related scroll hiding logic
|
|
9
9
|
*/
|
|
10
10
|
export interface MenuScrollConfig {
|
|
11
|
-
/** Select
|
|
11
|
+
/** Select specific: fallback mode */
|
|
12
12
|
fallback?: boolean;
|
|
13
|
-
/**
|
|
13
|
+
/** Whether to use Select type (uses different scroll logic) */
|
|
14
14
|
isSelect?: boolean;
|
|
15
|
-
/**
|
|
15
|
+
/** Scroll container reference */
|
|
16
16
|
scrollRef: React.RefObject<HTMLDivElement>;
|
|
17
|
-
/**
|
|
17
|
+
/** Scroll position state */
|
|
18
18
|
scrollTop: number;
|
|
19
|
-
/**
|
|
19
|
+
/** Timer reference */
|
|
20
20
|
selectTimeoutRef: React.RefObject<ReturnType<typeof setTimeout> | undefined>;
|
|
21
|
-
/** Select
|
|
21
|
+
/** Select specific: set internal offset */
|
|
22
22
|
setInnerOffset?: (offset: number | ((prev: number) => number)) => void;
|
|
23
|
-
/**
|
|
23
|
+
/** Set scroll position */
|
|
24
24
|
setScrollTop: (scrollTop: number) => void;
|
|
25
|
-
/**
|
|
25
|
+
/** Touch state */
|
|
26
26
|
touch: boolean;
|
|
27
27
|
}
|
|
28
28
|
export interface MenuScrollResult {
|
|
29
|
-
/**
|
|
29
|
+
/** Arrow hide handler */
|
|
30
30
|
handleArrowHide: () => void;
|
|
31
|
-
/**
|
|
31
|
+
/** Arrow scroll handler */
|
|
32
32
|
handleArrowScroll: (amount: number) => void;
|
|
33
|
-
/**
|
|
33
|
+
/** Scroll event handler */
|
|
34
34
|
handleScroll: (event: React.UIEvent) => void;
|
|
35
|
-
/**
|
|
35
|
+
/** Scroll-related property object (cached to avoid creating new objects on every render) */
|
|
36
36
|
scrollProps: {
|
|
37
37
|
onScroll: (event: React.UIEvent) => void;
|
|
38
38
|
};
|
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Menu selection state management Hook
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
4
|
+
* Specialized for Select component selection logic:
|
|
5
|
+
* - Manage the mapping of selected index and value
|
|
6
|
+
* - Handle selection delay and blocking mechanism
|
|
7
|
+
* - Handle mouse and keyboard selection
|
|
8
|
+
* - Support controlled and uncontrolled values
|
|
9
9
|
*/
|
|
10
10
|
export interface MenuSelectionConfig {
|
|
11
|
-
/**
|
|
11
|
+
/** Close menu callback */
|
|
12
12
|
handleOpenChange: (open: boolean) => void;
|
|
13
|
-
/**
|
|
13
|
+
/** Whether to control the open state */
|
|
14
14
|
isControlledOpen: boolean;
|
|
15
|
-
/**
|
|
15
|
+
/** Value change callback */
|
|
16
16
|
onChange?: (value: string) => void;
|
|
17
|
-
/**
|
|
17
|
+
/** Option list */
|
|
18
18
|
options: Array<{
|
|
19
19
|
[key: string]: unknown;
|
|
20
20
|
disabled?: boolean;
|
|
21
21
|
divider?: boolean;
|
|
22
22
|
value?: string;
|
|
23
23
|
}>;
|
|
24
|
-
/**
|
|
24
|
+
/** Current value */
|
|
25
25
|
value?: string | null;
|
|
26
26
|
}
|
|
27
27
|
export interface MenuSelectionResult {
|
|
28
|
-
/**
|
|
28
|
+
/** Allow mouse up state */
|
|
29
29
|
allowMouseUp: boolean;
|
|
30
|
-
/**
|
|
30
|
+
/** Allow select state */
|
|
31
31
|
allowSelect: boolean;
|
|
32
|
-
/**
|
|
32
|
+
/** Block select state */
|
|
33
33
|
blockSelection: boolean;
|
|
34
|
-
/**
|
|
34
|
+
/** Current selected index (based on value calculation) */
|
|
35
35
|
currentSelectedIndex: number;
|
|
36
|
-
/**
|
|
36
|
+
/** Handle selection */
|
|
37
37
|
handleSelect: (index: number) => void;
|
|
38
|
-
/**
|
|
38
|
+
/** Current selected index */
|
|
39
39
|
selectedIndex: number;
|
|
40
|
-
/**
|
|
40
|
+
/** Set allow mouse up state */
|
|
41
41
|
setAllowMouseUp: (allow: boolean) => void;
|
|
42
|
-
/**
|
|
42
|
+
/** Set allow select state */
|
|
43
43
|
setAllowSelect: (allow: boolean) => void;
|
|
44
|
-
/**
|
|
44
|
+
/** Set block select state */
|
|
45
45
|
setBlockSelection: (block: boolean) => void;
|
|
46
|
-
/**
|
|
46
|
+
/** Set selected index */
|
|
47
47
|
setSelectedIndex: (index: number) => void;
|
|
48
48
|
}
|
|
49
49
|
export declare function useMenuSelection(config: MenuSelectionConfig): MenuSelectionResult;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Basic menu state management Hook
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* - open/close
|
|
6
|
-
* - activeIndex
|
|
7
|
-
* - touch
|
|
8
|
-
* - scrollTop
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
4
|
+
* Handle common state for all menu components:
|
|
5
|
+
* - open/close state and controlled logic
|
|
6
|
+
* - activeIndex state
|
|
7
|
+
* - touch interaction state
|
|
8
|
+
* - scrollTop state
|
|
9
|
+
* - Unique ID generation
|
|
10
|
+
* - State change callback
|
|
11
11
|
*/
|
|
12
12
|
export interface MenuStateConfig {
|
|
13
|
-
/**
|
|
13
|
+
/** Whether to disable */
|
|
14
14
|
disabled?: boolean;
|
|
15
|
-
/**
|
|
15
|
+
/** Open state change callback */
|
|
16
16
|
onOpenChange?: (open: boolean) => void;
|
|
17
|
-
/**
|
|
17
|
+
/** Controlled open state */
|
|
18
18
|
open?: boolean;
|
|
19
19
|
}
|
|
20
20
|
export interface MenuStateResult {
|
|
@@ -21,20 +21,20 @@ function useMenuState(config = {}) {
|
|
|
21
21
|
});
|
|
22
22
|
const result = useMemo(
|
|
23
23
|
() => ({
|
|
24
|
-
//
|
|
24
|
+
// State
|
|
25
25
|
open,
|
|
26
26
|
activeIndex,
|
|
27
27
|
touch,
|
|
28
28
|
scrollTop,
|
|
29
29
|
isControlledOpen,
|
|
30
|
-
//
|
|
30
|
+
// State setting function
|
|
31
31
|
setOpen,
|
|
32
32
|
setActiveIndex,
|
|
33
33
|
setTouch,
|
|
34
34
|
setScrollTop,
|
|
35
|
-
//
|
|
35
|
+
// Handle function
|
|
36
36
|
handleOpenChange,
|
|
37
|
-
//
|
|
37
|
+
// Unique identifier
|
|
38
38
|
menuId,
|
|
39
39
|
triggerId
|
|
40
40
|
}),
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Menu touch interaction Hook
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
4
|
+
* Handle menu component touch interaction logic:
|
|
5
|
+
* - Touch state detection
|
|
6
|
+
* - Touch start event handling
|
|
7
|
+
* - Pointer move event handling
|
|
8
|
+
* - Touch-related event handlers
|
|
9
9
|
*/
|
|
10
10
|
export interface MenuTouchConfig {
|
|
11
|
-
/**
|
|
11
|
+
/** Set touch state */
|
|
12
12
|
setTouch: (touch: boolean) => void;
|
|
13
|
-
/**
|
|
13
|
+
/** Touch state */
|
|
14
14
|
touch: boolean;
|
|
15
15
|
}
|
|
16
16
|
export interface MenuTouchResult {
|
|
17
|
-
/**
|
|
17
|
+
/** Get touch-related reference properties */
|
|
18
18
|
getTouchProps: () => {
|
|
19
19
|
onPointerMove: (event: React.PointerEvent) => void;
|
|
20
20
|
onTouchStart: () => void;
|
|
21
21
|
};
|
|
22
|
-
/**
|
|
22
|
+
/** Pointer move event handler */
|
|
23
23
|
handlePointerMove: (event: React.PointerEvent) => void;
|
|
24
|
-
/**
|
|
24
|
+
/** Touch start event handler */
|
|
25
25
|
handleTouchStart: () => void;
|
|
26
26
|
}
|
|
27
27
|
export declare function useMenuTouch(config: MenuTouchConfig): MenuTouchResult;
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
import { useFloatingTree, useListItem } from '@floating-ui/react';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Menu FloatingTree integration Hook
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
5
|
+
* Specialized for FloatingTree support for Dropdown component:
|
|
6
|
+
* - Manage nodeId and parentId
|
|
7
|
+
* - Handle event communication for tree structure
|
|
8
|
+
* - Support opening/closing coordination for nested menus
|
|
9
|
+
* - Handle focus management for parent and child menus
|
|
10
10
|
*/
|
|
11
11
|
export interface MenuTreeConfig {
|
|
12
|
-
/**
|
|
12
|
+
/** Whether to disable nested functionality */
|
|
13
13
|
disabledNested?: boolean;
|
|
14
|
-
/**
|
|
14
|
+
/** Open state change handling function */
|
|
15
15
|
handleOpenChange: (open: boolean) => void;
|
|
16
|
-
/**
|
|
16
|
+
/** Current open state */
|
|
17
17
|
isControlledOpen: boolean;
|
|
18
18
|
}
|
|
19
19
|
export interface MenuTreeResult {
|
|
20
|
-
/**
|
|
20
|
+
/** Clean up tree event listening */
|
|
21
21
|
cleanupTreeEvents: () => void;
|
|
22
|
-
/**
|
|
22
|
+
/** Whether to be nested mode */
|
|
23
23
|
isNested: boolean;
|
|
24
|
-
/**
|
|
24
|
+
/** List item instance */
|
|
25
25
|
item: ReturnType<typeof useListItem>;
|
|
26
|
-
/**
|
|
26
|
+
/** Current node ID */
|
|
27
27
|
nodeId: string | undefined;
|
|
28
|
-
/**
|
|
28
|
+
/** Parent node ID */
|
|
29
29
|
parentId: string | null;
|
|
30
|
-
/** FloatingTree
|
|
30
|
+
/** FloatingTree instance */
|
|
31
31
|
tree: ReturnType<typeof useFloatingTree>;
|
|
32
32
|
}
|
|
33
33
|
export declare function useMenuTree(config: MenuTreeConfig): MenuTreeResult;
|
|
@@ -3,4 +3,9 @@ export { Menus } from './menus';
|
|
|
3
3
|
export { useMenuBaseRefs, useMenuChildren, useMenuFloating, useMenuRefs, useMenuScroll, useMenuScrollHeight, useMenuSelection, useMenuState, useMenuTree, } from './hooks';
|
|
4
4
|
export { MenuContext, MenuContextSubTrigger, MenuContextContent, MenuContextItem, MenuContextLabel, } from './context';
|
|
5
5
|
export type { MenusProps } from './menus';
|
|
6
|
+
export type { MenuItemProps } from './components/menu-item';
|
|
7
|
+
export type { MenuTriggerProps } from './components/menu-trigger';
|
|
8
|
+
export type { MenuScrollArrowProps } from './components/menu-scroll-arrow';
|
|
9
|
+
export type { MenuLabelProps } from './components/menu-label';
|
|
10
|
+
export type { MenuCheckboxProps } from './components/menu-checkbox';
|
|
6
11
|
export type { MenuContextItemProps, MenuContextType } from './context';
|
|
@@ -12,7 +12,7 @@ import { MenusTv } from "./tv.js";
|
|
|
12
12
|
import { tcx } from "../../../shared/utils/tcx/tcx.js";
|
|
13
13
|
const MenusBase = forwardRef((props, ref) => {
|
|
14
14
|
const { children, className, matchTriggerWidth, variant, ...rest } = props;
|
|
15
|
-
const
|
|
15
|
+
const tv = MenusTv({ matchTriggerWidth, variant });
|
|
16
16
|
const processChildren = (children2) => {
|
|
17
17
|
return Children.map(children2, (child) => {
|
|
18
18
|
if (isValidElement(child)) {
|
|
@@ -36,7 +36,7 @@ const MenusBase = forwardRef((props, ref) => {
|
|
|
36
36
|
ref,
|
|
37
37
|
role: "menu",
|
|
38
38
|
...rest,
|
|
39
|
-
className: tcx(
|
|
39
|
+
className: tcx(tv, className),
|
|
40
40
|
"data-variant": variant,
|
|
41
41
|
children: processedChildren
|
|
42
42
|
}
|
|
@@ -365,6 +365,11 @@ export declare const MenuScrollArrowTv: import('tailwind-variants').TVReturnType
|
|
|
365
365
|
true: string;
|
|
366
366
|
false: string;
|
|
367
367
|
};
|
|
368
|
+
variant: {
|
|
369
|
+
default: string;
|
|
370
|
+
light: string;
|
|
371
|
+
reset: {};
|
|
372
|
+
};
|
|
368
373
|
}, undefined, string[], {
|
|
369
374
|
dir: {
|
|
370
375
|
up: string;
|
|
@@ -374,6 +379,11 @@ export declare const MenuScrollArrowTv: import('tailwind-variants').TVReturnType
|
|
|
374
379
|
true: string;
|
|
375
380
|
false: string;
|
|
376
381
|
};
|
|
382
|
+
variant: {
|
|
383
|
+
default: string;
|
|
384
|
+
light: string;
|
|
385
|
+
reset: {};
|
|
386
|
+
};
|
|
377
387
|
}, undefined, import('tailwind-variants').TVReturnType<{
|
|
378
388
|
dir: {
|
|
379
389
|
up: string;
|
|
@@ -383,6 +393,11 @@ export declare const MenuScrollArrowTv: import('tailwind-variants').TVReturnType
|
|
|
383
393
|
true: string;
|
|
384
394
|
false: string;
|
|
385
395
|
};
|
|
396
|
+
variant: {
|
|
397
|
+
default: string;
|
|
398
|
+
light: string;
|
|
399
|
+
reset: {};
|
|
400
|
+
};
|
|
386
401
|
}, undefined, string[], unknown, unknown, undefined>>;
|
|
387
402
|
export declare const MenuCheckboxTv: import('tailwind-variants').TVReturnType<{
|
|
388
403
|
active: {
|
|
@@ -201,7 +201,7 @@ const MenuButtonTv = tcv({
|
|
|
201
201
|
const MenuScrollArrowTv = tcv({
|
|
202
202
|
base: [
|
|
203
203
|
"absolute flex h-6 w-full items-center justify-center overflow-hidden",
|
|
204
|
-
"z-menu pointer-events-auto
|
|
204
|
+
"z-menu pointer-events-auto backdrop-blur-sm"
|
|
205
205
|
],
|
|
206
206
|
variants: {
|
|
207
207
|
dir: {
|
|
@@ -211,11 +211,17 @@ const MenuScrollArrowTv = tcv({
|
|
|
211
211
|
visible: {
|
|
212
212
|
true: "visible",
|
|
213
213
|
false: "hidden"
|
|
214
|
+
},
|
|
215
|
+
variant: {
|
|
216
|
+
default: "border-white/10 bg-gray-900/50 text-white hover:bg-gray-800",
|
|
217
|
+
light: "border-gray-200 bg-white/50 text-gray-900 hover:bg-gray-100",
|
|
218
|
+
reset: {}
|
|
214
219
|
}
|
|
215
220
|
},
|
|
216
221
|
defaultVariants: {
|
|
217
222
|
visible: false,
|
|
218
|
-
dir: "down"
|
|
223
|
+
dir: "down",
|
|
224
|
+
variant: "default"
|
|
219
225
|
}
|
|
220
226
|
});
|
|
221
227
|
const MenuCheckboxTv = tcv({
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { HTMLProps, ReactNode } from 'react';
|
|
2
|
+
import { IconButtonProps } from '../../icon-button/src';
|
|
2
3
|
import { SelectProps } from '../../select/src';
|
|
3
4
|
import { MotionProps } from 'framer-motion';
|
|
4
5
|
import { InputProps } from '../../input/src';
|
|
@@ -8,8 +9,9 @@ import * as react from 'react';
|
|
|
8
9
|
declare const ModalContent: react.ForwardRefExoticComponent<Omit<HTMLProps<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
9
10
|
|
|
10
11
|
interface ModalHeaderProps extends Omit<HTMLProps<HTMLDivElement>, "title"> {
|
|
11
|
-
onClose?: () => void;
|
|
12
12
|
title?: ReactNode;
|
|
13
|
+
closeButtonProps?: IconButtonProps;
|
|
14
|
+
onClose?: () => void;
|
|
13
15
|
}
|
|
14
16
|
declare const ModalHeader: react.ForwardRefExoticComponent<Omit<ModalHeaderProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
15
17
|
|