@choice-ui/react 1.4.2 → 1.4.5
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 +67 -6
- 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.d.ts +2 -2
- package/dist/components/command/src/components/command-input.js +32 -31
- 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 +33 -12
- package/dist/components/command/src/tv.js +13 -6
- 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/comment-item/tv.d.ts +3 -3
- package/dist/components/comments/src/comments.js +1 -1
- package/dist/components/context-input/dist/index.d.ts +15 -340
- 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 +2 -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/mention-spacing.js +1 -27
- package/dist/components/context-input/src/utils/slate-converters.d.ts +6 -6
- package/dist/components/context-input/src/utils/slate-converters.js +3 -69
- 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 +3 -8
- package/dist/components/popover/dist/index.js +22 -16
- 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 +4 -3
- package/dist/components/popover/src/hooks/use-floating-popover.js +19 -10
- package/dist/components/popover/src/index.d.ts +2 -1
- package/dist/components/popover/src/popover.d.ts +2 -6
- package/dist/components/popover/src/popover.js +6 -8
- 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 +50 -195
- 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
|
@@ -56,6 +56,7 @@ interface MenuScrollArrowProps {
|
|
|
56
56
|
onScroll: (amount: number) => void;
|
|
57
57
|
scrollRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
58
58
|
scrollTop: number;
|
|
59
|
+
variant?: "default" | "light" | "reset";
|
|
59
60
|
}
|
|
60
61
|
declare const MenuScrollArrow: (props: MenuScrollArrowProps) => react_jsx_runtime.JSX.Element;
|
|
61
62
|
|
|
@@ -107,22 +108,22 @@ interface MenusComponentProps extends react__default.ForwardRefExoticComponent<M
|
|
|
107
108
|
declare const Menus: MenusComponentProps;
|
|
108
109
|
|
|
109
110
|
/**
|
|
110
|
-
*
|
|
111
|
+
* Basic menu state management Hook
|
|
111
112
|
*
|
|
112
|
-
*
|
|
113
|
-
* - open/close
|
|
114
|
-
* - activeIndex
|
|
115
|
-
* - touch
|
|
116
|
-
* - scrollTop
|
|
117
|
-
* -
|
|
118
|
-
* -
|
|
113
|
+
* Handle common state for all menu components:
|
|
114
|
+
* - open/close state and controlled logic
|
|
115
|
+
* - activeIndex state
|
|
116
|
+
* - touch interaction state
|
|
117
|
+
* - scrollTop state
|
|
118
|
+
* - Unique ID generation
|
|
119
|
+
* - State change callback
|
|
119
120
|
*/
|
|
120
121
|
interface MenuStateConfig {
|
|
121
|
-
/**
|
|
122
|
+
/** Whether to disable */
|
|
122
123
|
disabled?: boolean;
|
|
123
|
-
/**
|
|
124
|
+
/** Open state change callback */
|
|
124
125
|
onOpenChange?: (open: boolean) => void;
|
|
125
|
-
/**
|
|
126
|
+
/** Controlled open state */
|
|
126
127
|
open?: boolean;
|
|
127
128
|
}
|
|
128
129
|
interface MenuStateResult {
|
|
@@ -142,17 +143,17 @@ interface MenuStateResult {
|
|
|
142
143
|
declare function useMenuState(config?: MenuStateConfig): MenuStateResult;
|
|
143
144
|
|
|
144
145
|
/**
|
|
145
|
-
*
|
|
146
|
+
* Menu reference management Hook
|
|
146
147
|
*
|
|
147
|
-
*
|
|
148
|
-
* -
|
|
149
|
-
* -
|
|
150
|
-
* -
|
|
151
|
-
* -
|
|
152
|
-
* - Select
|
|
148
|
+
* Unify the management of all references needed in menu components:
|
|
149
|
+
* - Scroll container reference
|
|
150
|
+
* - List item reference array
|
|
151
|
+
* - List content reference array
|
|
152
|
+
* - Timer reference
|
|
153
|
+
* - Select specific reference (overflow, allowSelect, etc.)
|
|
153
154
|
*/
|
|
154
155
|
interface MenuRefsConfig {
|
|
155
|
-
/**
|
|
156
|
+
/** Whether to use Select type (requires additional selection related references) */
|
|
156
157
|
isSelect?: boolean;
|
|
157
158
|
}
|
|
158
159
|
interface MenuRefsResult {
|
|
@@ -169,40 +170,40 @@ interface MenuRefsResult {
|
|
|
169
170
|
declare function useMenuRefs(config?: MenuRefsConfig): MenuRefsResult;
|
|
170
171
|
|
|
171
172
|
/**
|
|
172
|
-
*
|
|
173
|
+
* Menu scroll handling Hook
|
|
173
174
|
*
|
|
174
|
-
*
|
|
175
|
-
* -
|
|
176
|
-
* -
|
|
177
|
-
* -
|
|
178
|
-
* -
|
|
175
|
+
* Handle scroll related logic in menu components:
|
|
176
|
+
* - Scroll position management
|
|
177
|
+
* - Arrow scroll handling
|
|
178
|
+
* - Scroll event handling
|
|
179
|
+
* - Touch-related scroll hiding logic
|
|
179
180
|
*/
|
|
180
181
|
interface MenuScrollConfig {
|
|
181
|
-
/** Select
|
|
182
|
+
/** Select specific: fallback mode */
|
|
182
183
|
fallback?: boolean;
|
|
183
|
-
/**
|
|
184
|
+
/** Whether to use Select type (uses different scroll logic) */
|
|
184
185
|
isSelect?: boolean;
|
|
185
|
-
/**
|
|
186
|
+
/** Scroll container reference */
|
|
186
187
|
scrollRef: React.RefObject<HTMLDivElement>;
|
|
187
|
-
/**
|
|
188
|
+
/** Scroll position state */
|
|
188
189
|
scrollTop: number;
|
|
189
|
-
/**
|
|
190
|
+
/** Timer reference */
|
|
190
191
|
selectTimeoutRef: React.RefObject<ReturnType<typeof setTimeout> | undefined>;
|
|
191
|
-
/** Select
|
|
192
|
+
/** Select specific: set internal offset */
|
|
192
193
|
setInnerOffset?: (offset: number | ((prev: number) => number)) => void;
|
|
193
|
-
/**
|
|
194
|
+
/** Set scroll position */
|
|
194
195
|
setScrollTop: (scrollTop: number) => void;
|
|
195
|
-
/**
|
|
196
|
+
/** Touch state */
|
|
196
197
|
touch: boolean;
|
|
197
198
|
}
|
|
198
199
|
interface MenuScrollResult {
|
|
199
|
-
/**
|
|
200
|
+
/** Arrow hide handler */
|
|
200
201
|
handleArrowHide: () => void;
|
|
201
|
-
/**
|
|
202
|
+
/** Arrow scroll handler */
|
|
202
203
|
handleArrowScroll: (amount: number) => void;
|
|
203
|
-
/**
|
|
204
|
+
/** Scroll event handler */
|
|
204
205
|
handleScroll: (event: React.UIEvent) => void;
|
|
205
|
-
/**
|
|
206
|
+
/** Scroll-related property object (cached to avoid creating new objects on every render) */
|
|
206
207
|
scrollProps: {
|
|
207
208
|
onScroll: (event: React.UIEvent) => void;
|
|
208
209
|
};
|
|
@@ -210,231 +211,231 @@ interface MenuScrollResult {
|
|
|
210
211
|
declare function useMenuScroll(config: MenuScrollConfig): MenuScrollResult;
|
|
211
212
|
|
|
212
213
|
/**
|
|
213
|
-
*
|
|
214
|
+
* Menu children parsing Hook
|
|
214
215
|
*
|
|
215
|
-
*
|
|
216
|
-
* -
|
|
217
|
-
* -
|
|
218
|
-
* -
|
|
219
|
-
* -
|
|
216
|
+
* Handle menu component child element parsing logic:
|
|
217
|
+
* - Extract trigger element from children
|
|
218
|
+
* - Extract content element from children
|
|
219
|
+
* - Support different child element types for Select and Dropdown
|
|
220
|
+
* - Error handling and warnings
|
|
220
221
|
*/
|
|
221
222
|
interface MenuChildrenConfig<T extends react__default.ElementType = react__default.ElementType, C extends react__default.ElementType = react__default.ElementType, S extends react__default.ElementType = react__default.ElementType> {
|
|
222
|
-
/** Content
|
|
223
|
+
/** Content component type */
|
|
223
224
|
ContentComponent: C;
|
|
224
|
-
/** SubTrigger
|
|
225
|
+
/** SubTrigger component type (only used for Dropdown) */
|
|
225
226
|
SubTriggerComponent?: S;
|
|
226
|
-
/** Trigger
|
|
227
|
+
/** Trigger component type */
|
|
227
228
|
TriggerComponent: T;
|
|
228
|
-
/**
|
|
229
|
+
/** Children */
|
|
229
230
|
children?: react__default.ReactNode;
|
|
230
|
-
/**
|
|
231
|
+
/** Component type name, for error提示 */
|
|
231
232
|
componentName: string;
|
|
232
233
|
}
|
|
233
234
|
interface MenuChildrenResult {
|
|
234
|
-
/**
|
|
235
|
+
/** Content element */
|
|
235
236
|
contentElement: react__default.ReactElement | null;
|
|
236
|
-
/**
|
|
237
|
+
/** Error message */
|
|
237
238
|
error?: string;
|
|
238
|
-
/**
|
|
239
|
+
/** Whether there are required elements */
|
|
239
240
|
hasRequiredElements: boolean;
|
|
240
|
-
/**
|
|
241
|
+
/** Sub-trigger element (only used for Dropdown) */
|
|
241
242
|
subTriggerElement?: react__default.ReactElement | null;
|
|
242
|
-
/**
|
|
243
|
+
/** Trigger element */
|
|
243
244
|
triggerElement: react__default.ReactElement | null;
|
|
244
245
|
}
|
|
245
246
|
declare function useMenuChildren<T extends react__default.ElementType = react__default.ElementType, C extends react__default.ElementType = react__default.ElementType, S extends react__default.ElementType = react__default.ElementType>(config: MenuChildrenConfig<T, C, S>): MenuChildrenResult;
|
|
246
247
|
|
|
247
248
|
/**
|
|
248
|
-
*
|
|
249
|
+
* Menu FloatingUI configuration Hook
|
|
249
250
|
*
|
|
250
|
-
*
|
|
251
|
-
* - Select:
|
|
252
|
-
* - Dropdown:
|
|
251
|
+
* Provide different floating configurations for Select and Dropdown:
|
|
252
|
+
* - Select: use inner middleware + virtual scrolling
|
|
253
|
+
* - Dropdown: use standard middleware + nested support
|
|
253
254
|
*/
|
|
254
255
|
interface MenuFloatingConfig {
|
|
255
256
|
activeIndex: number | null;
|
|
256
|
-
/**
|
|
257
|
+
/** Current selected index (Select specific) */
|
|
257
258
|
currentSelectedIndex?: number;
|
|
258
259
|
elementsRef: React.RefObject<Array<HTMLElement | null>>;
|
|
259
|
-
/**
|
|
260
|
+
/** Whether to use fallback mode (Select specific) */
|
|
260
261
|
fallback?: boolean;
|
|
261
|
-
/**
|
|
262
|
+
/** State change callback */
|
|
262
263
|
handleOpenChange: (open: boolean) => void;
|
|
263
|
-
/**
|
|
264
|
+
/** Internal offset (Select specific) */
|
|
264
265
|
innerOffset?: number;
|
|
265
|
-
/**
|
|
266
|
+
/** Current open state */
|
|
266
267
|
isControlledOpen: boolean;
|
|
267
|
-
/**
|
|
268
|
+
/** Whether to use nested mode (only used for Dropdown) */
|
|
268
269
|
isNested?: boolean;
|
|
269
270
|
labelsRef: React.RefObject<Array<string | null>>;
|
|
270
|
-
/**
|
|
271
|
+
/** Whether to match trigger width */
|
|
271
272
|
matchTriggerWidth?: boolean;
|
|
272
|
-
/**
|
|
273
|
+
/** Node ID (only used for Dropdown) */
|
|
273
274
|
nodeId?: string;
|
|
274
|
-
/**
|
|
275
|
+
/** Offset distance */
|
|
275
276
|
offsetDistance?: number;
|
|
276
|
-
/** overflow
|
|
277
|
+
/** overflow reference (Select specific) */
|
|
277
278
|
overflowRef?: React.RefObject<SideObject | null>;
|
|
278
|
-
/**
|
|
279
|
+
/** Position configuration */
|
|
279
280
|
placement?: Placement;
|
|
280
281
|
scrollRef: React.RefObject<HTMLDivElement>;
|
|
281
282
|
setActiveIndex: (index: number | null) => void;
|
|
282
|
-
/**
|
|
283
|
+
/** Set fallback (Select specific) */
|
|
283
284
|
setFallback?: (fallback: boolean) => void;
|
|
284
|
-
/**
|
|
285
|
+
/** Set internal offset (Select specific) */
|
|
285
286
|
setInnerOffset?: (offset: number) => void;
|
|
286
|
-
/**
|
|
287
|
+
/** Touch state */
|
|
287
288
|
touch?: boolean;
|
|
288
|
-
/**
|
|
289
|
+
/** Component type */
|
|
289
290
|
type: "select" | "dropdown";
|
|
290
291
|
}
|
|
291
292
|
interface MenuFloatingResult {
|
|
292
|
-
/** floating
|
|
293
|
+
/** floating context and styles */
|
|
293
294
|
floating: ReturnType<typeof useFloating>;
|
|
294
|
-
/** hover
|
|
295
|
+
/** hover handler (only used for Dropdown) */
|
|
295
296
|
hover?: ReturnType<typeof useHover>;
|
|
296
|
-
/**
|
|
297
|
+
/** Interaction handler */
|
|
297
298
|
interactions: ReturnType<typeof useInteractions>;
|
|
298
299
|
}
|
|
299
300
|
declare function useMenuFloating(config: MenuFloatingConfig): MenuFloatingResult;
|
|
300
301
|
|
|
301
302
|
/**
|
|
302
|
-
*
|
|
303
|
+
* Menu FloatingTree integration Hook
|
|
303
304
|
*
|
|
304
|
-
*
|
|
305
|
-
* -
|
|
306
|
-
* -
|
|
307
|
-
* -
|
|
308
|
-
* -
|
|
305
|
+
* Specialized for FloatingTree support for Dropdown component:
|
|
306
|
+
* - Manage nodeId and parentId
|
|
307
|
+
* - Handle event communication for tree structure
|
|
308
|
+
* - Support opening/closing coordination for nested menus
|
|
309
|
+
* - Handle focus management for parent and child menus
|
|
309
310
|
*/
|
|
310
311
|
interface MenuTreeConfig {
|
|
311
|
-
/**
|
|
312
|
+
/** Whether to disable nested functionality */
|
|
312
313
|
disabledNested?: boolean;
|
|
313
|
-
/**
|
|
314
|
+
/** Open state change handling function */
|
|
314
315
|
handleOpenChange: (open: boolean) => void;
|
|
315
|
-
/**
|
|
316
|
+
/** Current open state */
|
|
316
317
|
isControlledOpen: boolean;
|
|
317
318
|
}
|
|
318
319
|
interface MenuTreeResult {
|
|
319
|
-
/**
|
|
320
|
+
/** Clean up tree event listening */
|
|
320
321
|
cleanupTreeEvents: () => void;
|
|
321
|
-
/**
|
|
322
|
+
/** Whether to be nested mode */
|
|
322
323
|
isNested: boolean;
|
|
323
|
-
/**
|
|
324
|
+
/** List item instance */
|
|
324
325
|
item: ReturnType<typeof useListItem>;
|
|
325
|
-
/**
|
|
326
|
+
/** Current node ID */
|
|
326
327
|
nodeId: string | undefined;
|
|
327
|
-
/**
|
|
328
|
+
/** Parent node ID */
|
|
328
329
|
parentId: string | null;
|
|
329
|
-
/** FloatingTree
|
|
330
|
+
/** FloatingTree instance */
|
|
330
331
|
tree: ReturnType<typeof useFloatingTree>;
|
|
331
332
|
}
|
|
332
333
|
declare function useMenuTree(config: MenuTreeConfig): MenuTreeResult;
|
|
333
334
|
|
|
334
335
|
/**
|
|
335
|
-
*
|
|
336
|
+
* Menu scroll container height setting Hook
|
|
336
337
|
*
|
|
337
|
-
*
|
|
338
|
-
*
|
|
338
|
+
* Ensure the scroll container is correctly set to the parent element height, as a complement to the size middleware
|
|
339
|
+
* Similar logic exists in all menu components, unified extraction here
|
|
339
340
|
*
|
|
340
|
-
*
|
|
341
|
-
* -
|
|
342
|
-
* -
|
|
341
|
+
* Features:
|
|
342
|
+
* - Ensure the scroll container is correctly inherited from the parent element height after opening and positioning
|
|
343
|
+
* - Use requestAnimationFrame to ensure the DOM is updated, avoiding timing conflicts with the size middleware
|
|
343
344
|
*/
|
|
344
345
|
interface MenuScrollHeightConfig {
|
|
345
|
-
/**
|
|
346
|
+
/** Whether to open */
|
|
346
347
|
isControlledOpen: boolean;
|
|
347
|
-
/**
|
|
348
|
+
/** Whether to be positioned */
|
|
348
349
|
isPositioned: boolean;
|
|
349
|
-
/**
|
|
350
|
+
/** Scroll container reference */
|
|
350
351
|
scrollRef: React.RefObject<HTMLDivElement>;
|
|
351
352
|
}
|
|
352
353
|
/**
|
|
353
|
-
*
|
|
354
|
-
*
|
|
354
|
+
* Set scroll container height
|
|
355
|
+
* This hook will ensure the scroll container is correctly set to the parent element height after opening and positioning
|
|
355
356
|
*/
|
|
356
357
|
declare function useMenuScrollHeight(config: MenuScrollHeightConfig): void;
|
|
357
358
|
|
|
358
359
|
/**
|
|
359
|
-
*
|
|
360
|
+
* Menu base refs management Hook
|
|
360
361
|
*
|
|
361
|
-
*
|
|
362
|
-
* - scrollRef:
|
|
363
|
-
* - elementsRef:
|
|
364
|
-
* - labelsRef:
|
|
365
|
-
* - selectTimeoutRef:
|
|
362
|
+
* Unified management of all base refs needed by menu components:
|
|
363
|
+
* - scrollRef: scroll container reference
|
|
364
|
+
* - elementsRef: menu item element reference array
|
|
365
|
+
* - labelsRef: menu item label reference array (for typeahead)
|
|
366
|
+
* - selectTimeoutRef: select delay timer reference
|
|
366
367
|
*
|
|
367
|
-
*
|
|
368
|
+
* These refs are used in multiple components, unified management can maintain consistency
|
|
368
369
|
*/
|
|
369
370
|
interface MenuBaseRefsResult {
|
|
370
|
-
/**
|
|
371
|
+
/** Menu item element reference array */
|
|
371
372
|
elementsRef: React.MutableRefObject<Array<HTMLElement | null>>;
|
|
372
|
-
/**
|
|
373
|
+
/** Menu item label reference array (for typeahead) */
|
|
373
374
|
labelsRef: React.MutableRefObject<Array<string | null>>;
|
|
374
|
-
/**
|
|
375
|
+
/** Scroll container reference */
|
|
375
376
|
scrollRef: React.RefObject<HTMLDivElement>;
|
|
376
|
-
/**
|
|
377
|
+
/** Select delay timer reference */
|
|
377
378
|
selectTimeoutRef: React.MutableRefObject<ReturnType<typeof setTimeout> | undefined>;
|
|
378
379
|
}
|
|
379
380
|
/**
|
|
380
|
-
*
|
|
381
|
+
* Create menu base refs
|
|
381
382
|
*/
|
|
382
383
|
declare function useMenuBaseRefs(): MenuBaseRefsResult;
|
|
383
384
|
|
|
384
385
|
/**
|
|
385
|
-
*
|
|
386
|
+
* Menu selection state management Hook
|
|
386
387
|
*
|
|
387
|
-
*
|
|
388
|
-
* -
|
|
389
|
-
* -
|
|
390
|
-
* -
|
|
391
|
-
* -
|
|
388
|
+
* Specialized for Select component selection logic:
|
|
389
|
+
* - Manage the mapping of selected index and value
|
|
390
|
+
* - Handle selection delay and blocking mechanism
|
|
391
|
+
* - Handle mouse and keyboard selection
|
|
392
|
+
* - Support controlled and uncontrolled values
|
|
392
393
|
*/
|
|
393
394
|
interface MenuSelectionConfig {
|
|
394
|
-
/**
|
|
395
|
+
/** Close menu callback */
|
|
395
396
|
handleOpenChange: (open: boolean) => void;
|
|
396
|
-
/**
|
|
397
|
+
/** Whether to control the open state */
|
|
397
398
|
isControlledOpen: boolean;
|
|
398
|
-
/**
|
|
399
|
+
/** Value change callback */
|
|
399
400
|
onChange?: (value: string) => void;
|
|
400
|
-
/**
|
|
401
|
+
/** Option list */
|
|
401
402
|
options: Array<{
|
|
402
403
|
[key: string]: unknown;
|
|
403
404
|
disabled?: boolean;
|
|
404
405
|
divider?: boolean;
|
|
405
406
|
value?: string;
|
|
406
407
|
}>;
|
|
407
|
-
/**
|
|
408
|
+
/** Current value */
|
|
408
409
|
value?: string | null;
|
|
409
410
|
}
|
|
410
411
|
interface MenuSelectionResult {
|
|
411
|
-
/**
|
|
412
|
+
/** Allow mouse up state */
|
|
412
413
|
allowMouseUp: boolean;
|
|
413
|
-
/**
|
|
414
|
+
/** Allow select state */
|
|
414
415
|
allowSelect: boolean;
|
|
415
|
-
/**
|
|
416
|
+
/** Block select state */
|
|
416
417
|
blockSelection: boolean;
|
|
417
|
-
/**
|
|
418
|
+
/** Current selected index (based on value calculation) */
|
|
418
419
|
currentSelectedIndex: number;
|
|
419
|
-
/**
|
|
420
|
+
/** Handle selection */
|
|
420
421
|
handleSelect: (index: number) => void;
|
|
421
|
-
/**
|
|
422
|
+
/** Current selected index */
|
|
422
423
|
selectedIndex: number;
|
|
423
|
-
/**
|
|
424
|
+
/** Set allow mouse up state */
|
|
424
425
|
setAllowMouseUp: (allow: boolean) => void;
|
|
425
|
-
/**
|
|
426
|
+
/** Set allow select state */
|
|
426
427
|
setAllowSelect: (allow: boolean) => void;
|
|
427
|
-
/**
|
|
428
|
+
/** Set block select state */
|
|
428
429
|
setBlockSelection: (block: boolean) => void;
|
|
429
|
-
/**
|
|
430
|
+
/** Set selected index */
|
|
430
431
|
setSelectedIndex: (index: number) => void;
|
|
431
432
|
}
|
|
432
433
|
declare function useMenuSelection(config: MenuSelectionConfig): MenuSelectionResult;
|
|
433
434
|
|
|
434
435
|
/**
|
|
435
|
-
*
|
|
436
|
+
* Generic menu context interface
|
|
436
437
|
*
|
|
437
|
-
*
|
|
438
|
+
* Used for unified context of Select and Dropdown components
|
|
438
439
|
*/
|
|
439
440
|
interface MenuContextType {
|
|
440
441
|
activeIndex: number | null;
|
|
@@ -459,13 +460,13 @@ interface MenuContextItemProps extends MenuItemProps {
|
|
|
459
460
|
value?: string;
|
|
460
461
|
}
|
|
461
462
|
/**
|
|
462
|
-
*
|
|
463
|
+
* Generic menu item component
|
|
463
464
|
*
|
|
464
|
-
*
|
|
465
|
-
* - touch
|
|
466
|
-
* -
|
|
467
|
-
* -
|
|
468
|
-
* -
|
|
465
|
+
* Shared by Select and Dropdown, unify all interaction logic:
|
|
466
|
+
* - touch event handling
|
|
467
|
+
* - selection logic
|
|
468
|
+
* - keyboard navigation
|
|
469
|
+
* - visual state management
|
|
469
470
|
*/
|
|
470
471
|
declare const MenuContextItem: react.MemoExoticComponent<react.ForwardRefExoticComponent<MenuContextItemProps & react.RefAttributes<HTMLButtonElement>>>;
|
|
471
472
|
|
|
@@ -479,4 +480,4 @@ declare const MenuContextLabel: react.NamedExoticComponent<MenuLabelProps>;
|
|
|
479
480
|
|
|
480
481
|
declare const MenuContextSubTrigger: react.MemoExoticComponent<react.ForwardRefExoticComponent<MenuItemProps & react.RefAttributes<HTMLButtonElement>>>;
|
|
481
482
|
|
|
482
|
-
export { MenuButton, MenuCheckbox, MenuContext, MenuContextContent, MenuContextItem, type MenuContextItemProps, MenuContextLabel, MenuContextSubTrigger, type MenuContextType, MenuDivider, MenuInput, MenuItem, MenuLabel, MenuScrollArrow, MenuSearch, MenuSearchEmpty, MenuTrigger, MenuValue, Menus, type MenusProps, useMenuBaseRefs, useMenuChildren, useMenuFloating, useMenuRefs, useMenuScroll, useMenuScrollHeight, useMenuSelection, useMenuState, useMenuTree };
|
|
483
|
+
export { MenuButton, MenuCheckbox, type MenuCheckboxProps, MenuContext, MenuContextContent, MenuContextItem, type MenuContextItemProps, MenuContextLabel, MenuContextSubTrigger, type MenuContextType, MenuDivider, MenuInput, MenuItem, type MenuItemProps, MenuLabel, type MenuLabelProps, MenuScrollArrow, type MenuScrollArrowProps, MenuSearch, MenuSearchEmpty, MenuTrigger, type MenuTriggerProps, MenuValue, Menus, type MenusProps, useMenuBaseRefs, useMenuChildren, useMenuFloating, useMenuRefs, useMenuScroll, useMenuScrollHeight, useMenuSelection, useMenuState, useMenuTree };
|