@bioturing/components 0.31.0 → 0.32.1
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/badge/component.d.ts +7 -0
- package/dist/components/badge/component.d.ts.map +1 -0
- package/dist/components/badge/component.js.map +1 -1
- package/dist/components/badge/index.d.ts +2 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/component.d.ts +6 -0
- package/dist/components/breadcrumb/component.d.ts.map +1 -0
- package/dist/components/breadcrumb/component.js.map +1 -1
- package/dist/components/breadcrumb/index.d.ts +3 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/types.d.ts +19 -0
- package/dist/components/breadcrumb/types.d.ts.map +1 -0
- package/dist/components/breadcrumb/useItemRender.d.ts +7 -0
- package/dist/components/breadcrumb/useItemRender.d.ts.map +1 -0
- package/dist/components/breadcrumb/useItemRender.js.map +1 -1
- package/dist/components/button/component.d.ts +14 -0
- package/dist/components/button/component.d.ts.map +1 -0
- package/dist/components/button/component.js.map +1 -1
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/checkbox/component.d.ts +16 -0
- package/dist/components/checkbox/component.d.ts.map +1 -0
- package/dist/components/checkbox/component.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/choice-list/component.d.ts +35 -0
- package/dist/components/choice-list/component.d.ts.map +1 -0
- package/dist/components/choice-list/component.js.map +1 -1
- package/dist/components/choice-list/index.d.ts +2 -0
- package/dist/components/choice-list/index.d.ts.map +1 -0
- package/dist/components/cmdk/command-score.d.ts +2 -0
- package/dist/components/cmdk/command-score.d.ts.map +1 -0
- package/dist/components/cmdk/command-score.js.map +1 -1
- package/dist/components/cmdk/index.d.ts +440 -0
- package/dist/components/cmdk/index.d.ts.map +1 -0
- package/dist/components/cmdk/index.js +332 -348
- package/dist/components/cmdk/index.js.map +1 -1
- package/dist/components/code-block/component.d.ts +3 -0
- package/dist/components/code-block/component.d.ts.map +1 -0
- package/dist/components/code-block/component.js +83 -84
- package/dist/components/code-block/component.js.map +1 -1
- package/dist/components/code-block/index.d.ts +3 -0
- package/dist/components/code-block/index.d.ts.map +1 -0
- package/dist/components/code-block/types.d.ts +64 -0
- package/dist/components/code-block/types.d.ts.map +1 -0
- package/dist/components/collapse/component.d.ts +14 -0
- package/dist/components/collapse/component.d.ts.map +1 -0
- package/dist/components/collapse/component.js.map +1 -1
- package/dist/components/collapse/index.d.ts +2 -0
- package/dist/components/collapse/index.d.ts.map +1 -0
- package/dist/components/color-select/component.d.ts +36 -0
- package/dist/components/color-select/component.d.ts.map +1 -0
- package/dist/components/color-select/component.js +28 -30
- package/dist/components/color-select/component.js.map +1 -1
- package/dist/components/color-select/index.d.ts +2 -0
- package/dist/components/color-select/index.d.ts.map +1 -0
- package/dist/components/combobox/component.d.ts +119 -0
- package/dist/components/combobox/component.d.ts.map +1 -0
- package/dist/components/combobox/component.js +166 -162
- package/dist/components/combobox/component.js.map +1 -1
- package/dist/components/combobox/index.d.ts +3 -0
- package/dist/components/combobox/index.d.ts.map +1 -0
- package/dist/components/command-palette/component.d.ts +41 -0
- package/dist/components/command-palette/component.d.ts.map +1 -0
- package/dist/components/command-palette/component.js +36 -36
- package/dist/components/command-palette/component.js.map +1 -1
- package/dist/components/command-palette/index.d.ts +2 -0
- package/dist/components/command-palette/index.d.ts.map +1 -0
- package/dist/components/command-palette/style.css +1 -1
- package/dist/components/drag-drop/context.d.ts +10 -0
- package/dist/components/drag-drop/context.d.ts.map +1 -0
- package/dist/components/drag-drop/context.js.map +1 -1
- package/dist/components/drag-drop/draggable.d.ts +6 -0
- package/dist/components/drag-drop/draggable.d.ts.map +1 -0
- package/dist/components/drag-drop/draggable.js.map +1 -1
- package/dist/components/drag-drop/droppable.d.ts +9 -0
- package/dist/components/drag-drop/droppable.d.ts.map +1 -0
- package/dist/components/drag-drop/droppable.js.map +1 -1
- package/dist/components/drag-drop/hooks.d.ts +42 -0
- package/dist/components/drag-drop/hooks.d.ts.map +1 -0
- package/dist/components/drag-drop/hooks.js +71 -73
- package/dist/components/drag-drop/hooks.js.map +1 -1
- package/dist/components/drag-drop/index.d.ts +26 -0
- package/dist/components/drag-drop/index.d.ts.map +1 -0
- package/dist/components/drag-drop/index.js.map +1 -1
- package/dist/components/drag-drop/types.d.ts +232 -0
- package/dist/components/drag-drop/types.d.ts.map +1 -0
- package/dist/components/drag-drop/value.d.ts +8 -0
- package/dist/components/drag-drop/value.d.ts.map +1 -0
- package/dist/components/drag-drop/value.js +66 -66
- package/dist/components/drag-drop/value.js.map +1 -1
- package/dist/components/dropdown-menu/component.d.ts +79 -0
- package/dist/components/dropdown-menu/component.d.ts.map +1 -0
- package/dist/components/dropdown-menu/component.js +108 -106
- package/dist/components/dropdown-menu/component.js.map +1 -1
- package/dist/components/dropdown-menu/divider.d.ts +6 -0
- package/dist/components/dropdown-menu/divider.d.ts.map +1 -0
- package/dist/components/dropdown-menu/divider.js.map +1 -1
- package/dist/components/dropdown-menu/index.d.ts +4 -0
- package/dist/components/dropdown-menu/index.d.ts.map +1 -0
- package/dist/components/dropdown-menu/item.d.ts +56 -0
- package/dist/components/dropdown-menu/item.d.ts.map +1 -0
- package/dist/components/dropdown-menu/item.js +72 -66
- package/dist/components/dropdown-menu/item.js.map +1 -1
- package/dist/components/dropdown-menu/types.d.ts +88 -0
- package/dist/components/dropdown-menu/types.d.ts.map +1 -0
- package/dist/components/dropdown-menu/useDropdownMenu.d.ts +58 -0
- package/dist/components/dropdown-menu/useDropdownMenu.d.ts.map +1 -0
- package/dist/components/dropdown-menu/useDropdownMenu.js +80 -77
- package/dist/components/dropdown-menu/useDropdownMenu.js.map +1 -1
- package/dist/components/ds-root/component.d.ts +14 -0
- package/dist/components/ds-root/component.d.ts.map +1 -0
- package/dist/components/ds-root/component.js.map +1 -1
- package/dist/components/ds-root/context.d.ts +8 -0
- package/dist/components/ds-root/context.d.ts.map +1 -0
- package/dist/components/ds-root/index.d.ts +3 -0
- package/dist/components/ds-root/index.d.ts.map +1 -0
- package/dist/components/empty/component.d.ts +13 -0
- package/dist/components/empty/component.d.ts.map +1 -0
- package/dist/components/empty/component.js.map +1 -1
- package/dist/components/empty/index.d.ts +2 -0
- package/dist/components/empty/index.d.ts.map +1 -0
- package/dist/components/field/component.d.ts +42 -0
- package/dist/components/field/component.d.ts.map +1 -0
- package/dist/components/field/component.js.map +1 -1
- package/dist/components/field/index.d.ts +2 -0
- package/dist/components/field/index.d.ts.map +1 -0
- package/dist/components/form/component.d.ts +22 -0
- package/dist/components/form/component.d.ts.map +1 -0
- package/dist/components/form/component.js.map +1 -1
- package/dist/components/form/index.d.ts +2 -0
- package/dist/components/form/index.d.ts.map +1 -0
- package/dist/components/form/item.d.ts +24 -0
- package/dist/components/form/item.d.ts.map +1 -0
- package/dist/components/form/item.js +24 -24
- package/dist/components/form/item.js.map +1 -1
- package/dist/components/form/label.d.ts +32 -0
- package/dist/components/form/label.d.ts.map +1 -0
- package/dist/components/form/label.js.map +1 -1
- package/dist/components/hooks/antd.d.ts +11 -0
- package/dist/components/hooks/antd.d.ts.map +1 -0
- package/dist/components/hooks/antd.js.map +1 -1
- package/dist/components/hooks/base-ui.d.ts +11 -0
- package/dist/components/hooks/base-ui.d.ts.map +1 -0
- package/dist/components/hooks/base-ui.js +22 -25
- package/dist/components/hooks/base-ui.js.map +1 -1
- package/dist/components/hooks/index.d.ts +11 -0
- package/dist/components/hooks/index.d.ts.map +1 -0
- package/dist/components/hooks/useBreakpoint.d.ts +39 -0
- package/dist/components/hooks/useBreakpoint.d.ts.map +1 -0
- package/dist/components/hooks/useBreakpoint.js +14 -15
- package/dist/components/hooks/useBreakpoint.js.map +1 -1
- package/dist/components/hooks/useCSSVariables.d.ts +7 -0
- package/dist/components/hooks/useCSSVariables.d.ts.map +1 -0
- package/dist/components/hooks/useCSSVariables.js.map +1 -1
- package/dist/components/hooks/useCharts.d.ts +41 -0
- package/dist/components/hooks/useCharts.d.ts.map +1 -0
- package/dist/components/hooks/useCharts.js.map +1 -1
- package/dist/components/hooks/useControlledState.d.ts +13 -0
- package/dist/components/hooks/useControlledState.d.ts.map +1 -0
- package/dist/components/hooks/useControlledState.js.map +1 -1
- package/dist/components/hooks/useDraggable.d.ts +4 -0
- package/dist/components/hooks/useDraggable.d.ts.map +1 -0
- package/dist/components/hooks/useDraggable.js +19 -20
- package/dist/components/hooks/useDraggable.js.map +1 -1
- package/dist/components/hooks/useHover.d.ts +5 -0
- package/dist/components/hooks/useHover.d.ts.map +1 -0
- package/dist/components/hooks/useHover.js +16 -17
- package/dist/components/hooks/useHover.js.map +1 -1
- package/dist/components/hooks/useResizeObserver.d.ts +9 -0
- package/dist/components/hooks/useResizeObserver.d.ts.map +1 -0
- package/dist/components/hooks/useResizeObserver.js +29 -30
- package/dist/components/hooks/useResizeObserver.js.map +1 -1
- package/dist/components/hooks/useTransitionStatus.d.ts +13 -0
- package/dist/components/hooks/useTransitionStatus.d.ts.map +1 -0
- package/dist/components/hooks/useTransitionStatus.js.map +1 -1
- package/dist/components/hooks/useWindowSize.d.ts +5 -0
- package/dist/components/hooks/useWindowSize.d.ts.map +1 -0
- package/dist/components/hooks/useWindowSize.js.map +1 -1
- package/dist/components/icon-button/component.d.ts +45 -0
- package/dist/components/icon-button/component.d.ts.map +1 -0
- package/dist/components/icon-button/component.js.map +1 -1
- package/dist/components/icon-button/index.d.ts +2 -0
- package/dist/components/icon-button/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +53 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/input/component.d.ts +29 -0
- package/dist/components/input/component.d.ts.map +1 -0
- package/dist/components/input/component.js +42 -41
- package/dist/components/input/component.js.map +1 -1
- package/dist/components/input/index.d.ts +2 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/keyboard-shortcut/component.d.ts +15 -0
- package/dist/components/keyboard-shortcut/component.d.ts.map +1 -0
- package/dist/components/keyboard-shortcut/component.js.map +1 -1
- package/dist/components/keyboard-shortcut/index.d.ts +2 -0
- package/dist/components/keyboard-shortcut/index.d.ts.map +1 -0
- package/dist/components/loader/component.d.ts +5 -0
- package/dist/components/loader/component.d.ts.map +1 -0
- package/dist/components/loader/component.js.map +1 -1
- package/dist/components/loader/index.d.ts +2 -0
- package/dist/components/loader/index.d.ts.map +1 -0
- package/dist/components/modal/Modal.d.ts +85 -0
- package/dist/components/modal/Modal.d.ts.map +1 -0
- package/dist/components/modal/Modal.js +75 -75
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/ModalProvider.d.ts +6 -0
- package/dist/components/modal/ModalProvider.d.ts.map +1 -0
- package/dist/components/modal/ModalProvider.js +25 -25
- package/dist/components/modal/ModalProvider.js.map +1 -1
- package/dist/components/modal/ModalService.d.ts +34 -0
- package/dist/components/modal/ModalService.d.ts.map +1 -0
- package/dist/components/modal/ModalService.js +5 -10
- package/dist/components/modal/ModalService.js.map +1 -1
- package/dist/components/modal/constants.d.ts +10 -0
- package/dist/components/modal/constants.d.ts.map +1 -0
- package/dist/components/modal/constants.js.map +1 -1
- package/dist/components/modal/functions.d.ts +28 -0
- package/dist/components/modal/functions.d.ts.map +1 -0
- package/dist/components/modal/functions.js.map +1 -1
- package/dist/components/modal/index.d.ts +16 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/components/modal/index.js.map +1 -1
- package/dist/components/nav/context.d.ts +10 -0
- package/dist/components/nav/context.d.ts.map +1 -0
- package/dist/components/nav/context.js.map +1 -1
- package/dist/components/nav/group.d.ts +15 -0
- package/dist/components/nav/group.d.ts.map +1 -0
- package/dist/components/nav/group.js.map +1 -1
- package/dist/components/nav/heading.d.ts +6 -0
- package/dist/components/nav/heading.d.ts.map +1 -0
- package/dist/components/nav/heading.js.map +1 -1
- package/dist/components/nav/index.d.ts +12 -0
- package/dist/components/nav/index.d.ts.map +1 -0
- package/dist/components/nav/item.d.ts +35 -0
- package/dist/components/nav/item.d.ts.map +1 -0
- package/dist/components/nav/item.js.map +1 -1
- package/dist/components/popover/component.d.ts +10 -0
- package/dist/components/popover/component.d.ts.map +1 -0
- package/dist/components/popover/component.js.map +1 -1
- package/dist/components/popover/index.d.ts +2 -0
- package/dist/components/popover/index.d.ts.map +1 -0
- package/dist/components/popup-panel/component.d.ts +100 -0
- package/dist/components/popup-panel/component.d.ts.map +1 -0
- package/dist/components/popup-panel/component.js +105 -105
- package/dist/components/popup-panel/component.js.map +1 -1
- package/dist/components/popup-panel/constants.d.ts +8 -0
- package/dist/components/popup-panel/constants.d.ts.map +1 -0
- package/dist/components/popup-panel/constants.js.map +1 -1
- package/dist/components/popup-panel/index.d.ts +2 -0
- package/dist/components/popup-panel/index.d.ts.map +1 -0
- package/dist/components/radio/component.d.ts +8 -0
- package/dist/components/radio/component.d.ts.map +1 -0
- package/dist/components/radio/component.js.map +1 -1
- package/dist/components/radio/index.d.ts +3 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/interface.d.ts +6 -0
- package/dist/components/radio/interface.d.ts.map +1 -0
- package/dist/components/resizable/component.d.ts +70 -0
- package/dist/components/resizable/component.d.ts.map +1 -0
- package/dist/components/resizable/component.js +147 -147
- package/dist/components/resizable/component.js.map +1 -1
- package/dist/components/resizable/index.d.ts +3 -0
- package/dist/components/resizable/index.d.ts.map +1 -0
- package/dist/components/scroll-area/component.d.ts +67 -0
- package/dist/components/scroll-area/component.d.ts.map +1 -0
- package/dist/components/scroll-area/component.js +75 -56
- package/dist/components/scroll-area/component.js.map +1 -1
- package/dist/components/scroll-area/index.d.ts +2 -0
- package/dist/components/scroll-area/index.d.ts.map +1 -0
- package/dist/components/segmented/component.d.ts +10 -0
- package/dist/components/segmented/component.d.ts.map +1 -0
- package/dist/components/segmented/component.js.map +1 -1
- package/dist/components/segmented/index.d.ts +2 -0
- package/dist/components/segmented/index.d.ts.map +1 -0
- package/dist/components/select/component.d.ts +48 -0
- package/dist/components/select/component.d.ts.map +1 -0
- package/dist/components/select/component.js +93 -94
- package/dist/components/select/component.js.map +1 -1
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/item.d.ts +14 -0
- package/dist/components/select/item.d.ts.map +1 -0
- package/dist/components/select/item.js.map +1 -1
- package/dist/components/select-trigger/component.d.ts +45 -0
- package/dist/components/select-trigger/component.d.ts.map +1 -0
- package/dist/components/select-trigger/component.js +96 -96
- package/dist/components/select-trigger/component.js.map +1 -1
- package/dist/components/select-trigger/index.d.ts +3 -0
- package/dist/components/select-trigger/index.d.ts.map +1 -0
- package/dist/components/slider/component.d.ts +6 -0
- package/dist/components/slider/component.d.ts.map +1 -0
- package/dist/components/slider/component.js.map +1 -1
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/index.d.ts.map +1 -0
- package/dist/components/spin/component.d.ts +6 -0
- package/dist/components/spin/component.d.ts.map +1 -0
- package/dist/components/spin/component.js.map +1 -1
- package/dist/components/spin/index.d.ts +2 -0
- package/dist/components/spin/index.d.ts.map +1 -0
- package/dist/components/splitter/component.d.ts +10 -0
- package/dist/components/splitter/component.d.ts.map +1 -0
- package/dist/components/splitter/component.js +7 -7
- package/dist/components/splitter/component.js.map +1 -1
- package/dist/components/splitter/context.d.ts +5 -0
- package/dist/components/splitter/context.d.ts.map +1 -0
- package/dist/components/splitter/context.js.map +1 -1
- package/dist/components/splitter/index.d.ts +2 -0
- package/dist/components/splitter/index.d.ts.map +1 -0
- package/dist/components/splitter/splitter-panel.d.ts +12 -0
- package/dist/components/splitter/splitter-panel.d.ts.map +1 -0
- package/dist/components/splitter/splitter-panel.js.map +1 -1
- package/dist/components/splitter/splitter.d.ts +11 -0
- package/dist/components/splitter/splitter.d.ts.map +1 -0
- package/dist/components/splitter/splitter.js +112 -112
- package/dist/components/splitter/splitter.js.map +1 -1
- package/dist/components/splitter/useSizes.d.ts +9 -0
- package/dist/components/splitter/useSizes.d.ts.map +1 -0
- package/dist/components/splitter/useSizes.js +35 -35
- package/dist/components/splitter/useSizes.js.map +1 -1
- package/dist/components/stack/Stack.d.ts +40 -0
- package/dist/components/stack/Stack.d.ts.map +1 -0
- package/dist/components/stack/Stack.js.map +1 -1
- package/dist/components/stack/StackChild.d.ts +31 -0
- package/dist/components/stack/StackChild.d.ts.map +1 -0
- package/dist/components/stack/StackChild.js.map +1 -1
- package/dist/components/stack/index.d.ts +8 -0
- package/dist/components/stack/index.d.ts.map +1 -0
- package/dist/components/stack/index.js.map +1 -1
- package/dist/components/status-icon/component.d.ts +23 -0
- package/dist/components/status-icon/component.d.ts.map +1 -0
- package/dist/components/status-icon/component.js.map +1 -1
- package/dist/components/status-icon/index.d.ts +2 -0
- package/dist/components/status-icon/index.d.ts.map +1 -0
- package/dist/components/switch/component.d.ts +9 -0
- package/dist/components/switch/component.d.ts.map +1 -0
- package/dist/components/switch/component.js.map +1 -1
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/table/component.d.ts +32 -0
- package/dist/components/table/component.d.ts.map +1 -0
- package/dist/components/table/component.js +57 -58
- package/dist/components/table/component.js.map +1 -1
- package/dist/components/table/index.d.ts +2 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/tag/component.d.ts +22 -0
- package/dist/components/tag/component.d.ts.map +1 -0
- package/dist/components/tag/component.js.map +1 -1
- package/dist/components/tag/index.d.ts +2 -0
- package/dist/components/tag/index.d.ts.map +1 -0
- package/dist/components/theme-provider/component.d.ts +7 -0
- package/dist/components/theme-provider/component.d.ts.map +1 -0
- package/dist/components/theme-provider/component.js.map +1 -1
- package/dist/components/theme-provider/index.d.ts +2 -0
- package/dist/components/theme-provider/index.d.ts.map +1 -0
- package/dist/components/toast/component.d.ts +15 -0
- package/dist/components/toast/component.d.ts.map +1 -0
- package/dist/components/toast/component.js +49 -50
- package/dist/components/toast/component.js.map +1 -1
- package/dist/components/toast/function.d.ts +11 -0
- package/dist/components/toast/function.d.ts.map +1 -0
- package/dist/components/toast/function.js.map +1 -1
- package/dist/components/toast/index.d.ts +4 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/types.d.ts +4 -0
- package/dist/components/toast/types.d.ts.map +1 -0
- package/dist/components/tooltip/component.d.ts +10 -0
- package/dist/components/tooltip/component.d.ts.map +1 -0
- package/dist/components/tooltip/component.js.map +1 -1
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tour/component.d.ts +8 -0
- package/dist/components/tour/component.d.ts.map +1 -0
- package/dist/components/tour/component.js.map +1 -1
- package/dist/components/tour/index.d.ts +2 -0
- package/dist/components/tour/index.d.ts.map +1 -0
- package/dist/components/transition/component.d.ts +30 -0
- package/dist/components/transition/component.d.ts.map +1 -0
- package/dist/components/transition/component.js +32 -32
- package/dist/components/transition/component.js.map +1 -1
- package/dist/components/transition/index.d.ts +2 -0
- package/dist/components/transition/index.d.ts.map +1 -0
- package/dist/components/tree/components.d.ts +14 -0
- package/dist/components/tree/components.d.ts.map +1 -0
- package/dist/components/tree/components.js.map +1 -1
- package/dist/components/tree/helpers.d.ts +6 -0
- package/dist/components/tree/helpers.d.ts.map +1 -0
- package/dist/components/tree/helpers.js.map +1 -1
- package/dist/components/tree/index.d.ts +5 -0
- package/dist/components/tree/index.d.ts.map +1 -0
- package/dist/components/tree/types.d.ts +56 -0
- package/dist/components/tree/types.d.ts.map +1 -0
- package/dist/components/tree/useTreeCommon.d.ts +179 -0
- package/dist/components/tree/useTreeCommon.d.ts.map +1 -0
- package/dist/components/tree/useTreeCommon.js +29 -29
- package/dist/components/tree/useTreeCommon.js.map +1 -1
- package/dist/components/tree/useUniqueKeysTree.d.ts +34 -0
- package/dist/components/tree/useUniqueKeysTree.d.ts.map +1 -0
- package/dist/components/tree/useUniqueKeysTree.js.map +1 -1
- package/dist/components/truncate/component.d.ts +17 -0
- package/dist/components/truncate/component.d.ts.map +1 -0
- package/dist/components/truncate/component.js +38 -39
- package/dist/components/truncate/component.js.map +1 -1
- package/dist/components/truncate/helpers.d.ts +17 -0
- package/dist/components/truncate/helpers.d.ts.map +1 -0
- package/dist/components/truncate/helpers.js +27 -30
- package/dist/components/truncate/helpers.js.map +1 -1
- package/dist/components/truncate/index.d.ts +2 -0
- package/dist/components/truncate/index.d.ts.map +1 -0
- package/dist/components/upload/component.d.ts +17 -0
- package/dist/components/upload/component.d.ts.map +1 -0
- package/dist/components/upload/component.js.map +1 -1
- package/dist/components/upload/dragger.d.ts +14 -0
- package/dist/components/upload/dragger.d.ts.map +1 -0
- package/dist/components/upload/dragger.js.map +1 -1
- package/dist/components/upload/hooks.d.ts +6 -0
- package/dist/components/upload/hooks.d.ts.map +1 -0
- package/dist/components/upload/hooks.js.map +1 -1
- package/dist/components/upload/index.d.ts +4 -0
- package/dist/components/upload/index.d.ts.map +1 -0
- package/dist/components/upload/item.d.ts +12 -0
- package/dist/components/upload/item.d.ts.map +1 -0
- package/dist/components/upload/item.js.map +1 -1
- package/dist/components/upload/utils.d.ts +2 -0
- package/dist/components/upload/utils.d.ts.map +1 -0
- package/dist/components/upload/utils.js.map +1 -1
- package/dist/components/utils/WithAntdTokens.d.ts +8 -0
- package/dist/components/utils/WithAntdTokens.d.ts.map +1 -0
- package/dist/components/utils/WithAntdTokens.js.map +1 -1
- package/dist/components/utils/WithRenderProp.d.ts +14 -0
- package/dist/components/utils/WithRenderProp.d.ts.map +1 -0
- package/dist/components/utils/WithRenderProp.js.map +1 -1
- package/dist/components/utils/antdUtils.d.ts +11 -0
- package/dist/components/utils/antdUtils.d.ts.map +1 -0
- package/dist/components/utils/antdUtils.js +9 -12
- package/dist/components/utils/antdUtils.js.map +1 -1
- package/dist/components/utils/client.d.ts +6 -0
- package/dist/components/utils/client.d.ts.map +1 -0
- package/dist/components/utils/cn.d.ts +5 -0
- package/dist/components/utils/cn.d.ts.map +1 -0
- package/dist/components/utils/cn.js.map +1 -1
- package/dist/components/utils/colors.d.ts +2 -0
- package/dist/components/utils/colors.d.ts.map +1 -0
- package/dist/components/utils/constants.d.ts +15 -0
- package/dist/components/utils/constants.d.ts.map +1 -0
- package/dist/components/utils/index.d.ts +6 -0
- package/dist/components/utils/index.d.ts.map +1 -0
- package/dist/components/utils/isTracebackError.d.ts +2 -0
- package/dist/components/utils/isTracebackError.d.ts.map +1 -0
- package/dist/components/utils/isTracebackError.js.map +1 -1
- package/dist/components/utils/main.d.ts +7 -0
- package/dist/components/utils/main.d.ts.map +1 -0
- package/dist/components/utils/placement.d.ts +21 -0
- package/dist/components/utils/placement.d.ts.map +1 -0
- package/dist/components/utils/placement.js.map +1 -1
- package/dist/components/utils/reactElement.d.ts +2 -0
- package/dist/components/utils/reactElement.d.ts.map +1 -0
- package/dist/components/utils/reactToString.d.ts +3 -0
- package/dist/components/utils/reactToString.d.ts.map +1 -0
- package/dist/components/utils/reactToString.js.map +1 -1
- package/dist/components/utils/selectionRange.d.ts +2 -0
- package/dist/components/utils/selectionRange.d.ts.map +1 -0
- package/dist/components/utils/selectionRange.js.map +1 -1
- package/dist/components/utils/theme.d.ts +6 -0
- package/dist/components/utils/theme.d.ts.map +1 -0
- package/dist/components/utils/theme.js.map +1 -1
- package/dist/components/utils/types.d.ts +12 -0
- package/dist/components/utils/types.d.ts.map +1 -0
- package/dist/components/vertical-collapsible-panel/component.d.ts +65 -0
- package/dist/components/vertical-collapsible-panel/component.d.ts.map +1 -0
- package/dist/components/vertical-collapsible-panel/component.js.map +1 -1
- package/dist/components/vertical-collapsible-panel/index.d.ts +2 -0
- package/dist/components/vertical-collapsible-panel/index.d.ts.map +1 -0
- package/dist/index.d.ts +4 -4390
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +166 -164
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +446 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js.map +1 -1
- package/dist/tokens/and-theme/index.d.ts +2 -0
- package/dist/tokens/and-theme/index.d.ts.map +1 -0
- package/dist/tokens/and-theme/tokens.d.ts +6 -0
- package/dist/tokens/and-theme/tokens.d.ts.map +1 -0
- package/dist/tokens/and-theme/tokens.js.map +1 -1
- package/dist/tokens/charts/index.d.ts +5 -0
- package/dist/tokens/charts/index.d.ts.map +1 -0
- package/dist/tokens/charts/palettes/cloudscape.d.ts +460 -0
- package/dist/tokens/charts/palettes/cloudscape.d.ts.map +1 -0
- package/dist/tokens/charts/palettes/cloudscape.js.map +1 -1
- package/dist/tokens/charts/palettes/colorbrewer.d.ts +338 -0
- package/dist/tokens/charts/palettes/colorbrewer.d.ts.map +1 -0
- package/dist/tokens/charts/palettes/colorbrewer.js.map +1 -1
- package/dist/tokens/charts/palettes/index.d.ts +24 -0
- package/dist/tokens/charts/palettes/index.d.ts.map +1 -0
- package/dist/tokens/charts/palettes/index.js.map +1 -1
- package/dist/tokens/charts/palettes/tableau.d.ts +11 -0
- package/dist/tokens/charts/palettes/tableau.d.ts.map +1 -0
- package/dist/tokens/index.d.ts +5 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/types.d.ts +10 -0
- package/dist/tokens/types.d.ts.map +1 -0
- package/dist/tokens/utils.d.ts +9 -0
- package/dist/tokens/utils.d.ts.map +1 -0
- package/dist/tokens/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/tailwind.d.ts +0 -1
|
@@ -1,233 +1,237 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
2
|
+
import { jsxs as oe, Fragment as ne, jsx as f } from "react/jsx-runtime";
|
|
3
|
+
import ae from "antd/es/config-provider/DisabledContext";
|
|
4
|
+
import { FormItemInputContext as ie } from "antd/es/form/context";
|
|
5
|
+
import { forwardRef as ce, useContext as T, useCallback as u, useMemo as b } from "react";
|
|
6
|
+
import { DropdownMenuDivider as de } from "../dropdown-menu/divider.js";
|
|
7
7
|
import './style.css';/* empty css */
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
Ve(V.label)
|
|
8
|
+
import { DropdownMenuItem as fe } from "../dropdown-menu/item.js";
|
|
9
|
+
import { DropdownMenu as me } from "../dropdown-menu/component.js";
|
|
10
|
+
import { SelectTrigger as ue } from "../select-trigger/component.js";
|
|
11
|
+
import { useControlledState as F } from "../hooks/useControlledState.js";
|
|
12
|
+
import { useCls as be } from "../utils/antdUtils.js";
|
|
13
|
+
import { clsx as m } from "../utils/cn.js";
|
|
14
|
+
import { reactNodeToString as pe } from "../utils/reactToString.js";
|
|
15
|
+
const ge = ({
|
|
16
|
+
options: s = [],
|
|
17
|
+
value: j,
|
|
18
|
+
defaultValue: k,
|
|
19
|
+
onChange: p,
|
|
20
|
+
placeholder: _ = "Select...",
|
|
21
|
+
disabled: K = !1,
|
|
22
|
+
status: L,
|
|
23
|
+
allowClear: R = !1,
|
|
24
|
+
multiple: l = !1,
|
|
25
|
+
maxTagCount: he,
|
|
26
|
+
showSearch: g = !0,
|
|
27
|
+
open: $,
|
|
28
|
+
onOpenChange: B,
|
|
29
|
+
placement: E = "bottomLeft",
|
|
30
|
+
className: W,
|
|
31
|
+
classNames: x,
|
|
32
|
+
size: q = "middle",
|
|
33
|
+
loading: ye = !1,
|
|
34
|
+
optionRender: ve,
|
|
35
|
+
onSearch: Ce,
|
|
36
|
+
dropdownRender: Ae,
|
|
37
|
+
clearIcon: z,
|
|
38
|
+
suffixIcon: G,
|
|
39
|
+
dropdownMenuProps: H,
|
|
40
|
+
triggerProps: O,
|
|
41
|
+
searchProps: J,
|
|
42
|
+
showSelectionSummary: I = !1,
|
|
43
|
+
selectionSummaryRender: h,
|
|
44
|
+
showSelectAll: V = !1,
|
|
45
|
+
selectAllRender: ke,
|
|
46
|
+
optionLabelRender: D,
|
|
47
|
+
getOptionKeywords: P = (r) => [
|
|
48
|
+
String(r.value),
|
|
49
|
+
pe(r.label)
|
|
51
50
|
],
|
|
52
|
-
...
|
|
53
|
-
},
|
|
54
|
-
const [
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
q,
|
|
62
|
-
z,
|
|
51
|
+
...Q
|
|
52
|
+
}, U) => {
|
|
53
|
+
const [r, S] = F(
|
|
54
|
+
j,
|
|
55
|
+
p,
|
|
56
|
+
k !== void 0 ? k : l ? [] : void 0
|
|
57
|
+
), [w, M] = F(
|
|
58
|
+
$,
|
|
59
|
+
B,
|
|
63
60
|
!1
|
|
64
|
-
),
|
|
65
|
-
status:
|
|
61
|
+
), c = be(), {
|
|
62
|
+
status: X
|
|
66
63
|
// hasFeedback,
|
|
67
64
|
// feedbackIcon,
|
|
68
|
-
} =
|
|
65
|
+
} = T(ie), Y = T(ae), Z = L || X, ee = K || Y, n = u(
|
|
69
66
|
(e) => {
|
|
70
|
-
|
|
67
|
+
S(e), p?.(e);
|
|
71
68
|
},
|
|
72
|
-
[
|
|
73
|
-
),
|
|
69
|
+
[S, p]
|
|
70
|
+
), N = u(
|
|
74
71
|
(e) => {
|
|
75
|
-
if (
|
|
76
|
-
const
|
|
77
|
-
n(
|
|
72
|
+
if (l) {
|
|
73
|
+
const t = Array.isArray(r) ? r : [], o = t.includes(e) ? t.filter((i) => i !== e) : [...t, e];
|
|
74
|
+
n(o);
|
|
78
75
|
} else
|
|
79
76
|
n(e);
|
|
80
77
|
},
|
|
81
|
-
[
|
|
82
|
-
),
|
|
83
|
-
(
|
|
84
|
-
|
|
85
|
-
},
|
|
86
|
-
[C]
|
|
87
|
-
), r = x(() => !i || !d ? g : g.filter((e) => typeof h == "function" ? h(d, e) : h === !1 ? !0 : (typeof e.label == "string" ? e.label : String(e.value)).toLowerCase().includes(d.toLowerCase())), [g, i, d, h]), I = p(() => {
|
|
88
|
-
if (t) {
|
|
89
|
-
const e = r.map((l) => l.value);
|
|
78
|
+
[l, r, n]
|
|
79
|
+
), y = u(() => {
|
|
80
|
+
if (l) {
|
|
81
|
+
const e = s.map((t) => t.value);
|
|
90
82
|
n(e);
|
|
91
83
|
}
|
|
92
|
-
}, [
|
|
93
|
-
|
|
94
|
-
}, [
|
|
84
|
+
}, [l, s, n]), v = u(() => {
|
|
85
|
+
l && n([]);
|
|
86
|
+
}, [l, n]), te = b(() => s.map((e) => ({
|
|
95
87
|
type: "item",
|
|
88
|
+
// todo: make this type better
|
|
96
89
|
key: e.value,
|
|
97
90
|
icon: e.icon,
|
|
98
91
|
label: e.label,
|
|
99
92
|
disabled: e.disabled,
|
|
100
|
-
onClick: () => !e.disabled &&
|
|
101
|
-
})), [
|
|
102
|
-
if (!
|
|
93
|
+
onClick: () => !e.disabled && N(e.value)
|
|
94
|
+
})), [s, N]), le = b(() => {
|
|
95
|
+
if (!V || !l || s.length === 0)
|
|
103
96
|
return null;
|
|
104
|
-
const e = Array.isArray(
|
|
105
|
-
(
|
|
106
|
-
),
|
|
107
|
-
return /* @__PURE__ */
|
|
108
|
-
/* @__PURE__ */
|
|
109
|
-
|
|
97
|
+
const e = Array.isArray(r) ? r : [], t = s.map((A) => A.value), o = e.filter(
|
|
98
|
+
(A) => t.includes(A)
|
|
99
|
+
), i = o.length === s.length && s.length > 0, C = o.length > 0 && o.length < s.length;
|
|
100
|
+
return /* @__PURE__ */ oe(ne, { children: [
|
|
101
|
+
/* @__PURE__ */ f(
|
|
102
|
+
fe,
|
|
110
103
|
{
|
|
111
104
|
item: {
|
|
112
105
|
type: "item",
|
|
113
106
|
key: "select_all",
|
|
114
107
|
label: "Select All",
|
|
115
108
|
onClick: () => {
|
|
116
|
-
|
|
109
|
+
C || i ? v() : y();
|
|
117
110
|
}
|
|
118
111
|
},
|
|
119
|
-
inCombobox:
|
|
120
|
-
selected:
|
|
112
|
+
inCombobox: g,
|
|
113
|
+
selected: i,
|
|
121
114
|
showCheckbox: !0,
|
|
122
|
-
indeterminate:
|
|
115
|
+
indeterminate: C,
|
|
123
116
|
renderAsNativeElement: !0,
|
|
124
117
|
onSelect: () => {
|
|
125
|
-
|
|
118
|
+
C || i ? v() : y();
|
|
126
119
|
}
|
|
127
120
|
},
|
|
128
121
|
"select_all"
|
|
129
122
|
),
|
|
130
|
-
/* @__PURE__ */
|
|
123
|
+
/* @__PURE__ */ f(de, {})
|
|
131
124
|
] });
|
|
132
125
|
}, [
|
|
133
|
-
|
|
134
|
-
|
|
126
|
+
V,
|
|
127
|
+
l,
|
|
128
|
+
s,
|
|
135
129
|
r,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if (s.length === 0)
|
|
130
|
+
g,
|
|
131
|
+
v,
|
|
132
|
+
y
|
|
133
|
+
]), d = b(() => Array.isArray(r) ? r : r ? [r] : [], [r]), a = d.map((e) => s.find((t) => t.value === e)).filter(Boolean), { displayValue: re, displayPrefix: se } = b(() => {
|
|
134
|
+
if (a.length === 0)
|
|
142
135
|
return { displayValue: void 0, displayPrefix: void 0 };
|
|
143
|
-
if (
|
|
144
|
-
const
|
|
145
|
-
return
|
|
146
|
-
displayValue:
|
|
136
|
+
if (l) {
|
|
137
|
+
const t = `${a.length} ${a.length === 1 ? "item" : "items"} selected`;
|
|
138
|
+
return I ? h ? {
|
|
139
|
+
displayValue: h(d),
|
|
147
140
|
displayPrefix: void 0
|
|
148
141
|
} : {
|
|
149
|
-
displayValue:
|
|
142
|
+
displayValue: t,
|
|
150
143
|
// TODO: Create icon component for multiple selection summary
|
|
151
144
|
displayPrefix: void 0
|
|
152
|
-
} :
|
|
153
|
-
displayValue:
|
|
154
|
-
displayPrefix:
|
|
145
|
+
} : a.length === 1 ? {
|
|
146
|
+
displayValue: a[0].label,
|
|
147
|
+
displayPrefix: a[0].icon
|
|
155
148
|
} : {
|
|
156
|
-
displayValue:
|
|
149
|
+
displayValue: t,
|
|
157
150
|
displayPrefix: void 0
|
|
158
151
|
};
|
|
159
152
|
}
|
|
160
|
-
const e =
|
|
153
|
+
const e = a[0];
|
|
161
154
|
return {
|
|
162
|
-
displayValue: e
|
|
163
|
-
displayPrefix: e
|
|
155
|
+
displayValue: e?.label,
|
|
156
|
+
displayPrefix: e?.icon
|
|
164
157
|
};
|
|
165
158
|
}, [
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
159
|
+
a,
|
|
160
|
+
l,
|
|
161
|
+
I,
|
|
162
|
+
h,
|
|
163
|
+
d
|
|
171
164
|
]);
|
|
172
|
-
return /* @__PURE__ */
|
|
173
|
-
|
|
165
|
+
return /* @__PURE__ */ f("div", { ref: U, className: m(c("combobox"), W), ...Q, children: /* @__PURE__ */ f(
|
|
166
|
+
me,
|
|
174
167
|
{
|
|
175
|
-
items:
|
|
176
|
-
open:
|
|
177
|
-
onOpenChange:
|
|
178
|
-
placement:
|
|
179
|
-
showSearch:
|
|
168
|
+
items: te,
|
|
169
|
+
open: w,
|
|
170
|
+
onOpenChange: M,
|
|
171
|
+
placement: E,
|
|
172
|
+
showSearch: g,
|
|
180
173
|
searchProps: {
|
|
181
174
|
placeholder: "Search options...",
|
|
182
|
-
|
|
183
|
-
value: d,
|
|
184
|
-
...Y
|
|
175
|
+
...J
|
|
185
176
|
},
|
|
186
|
-
className:
|
|
177
|
+
className: m(c("combobox-dropdown")),
|
|
187
178
|
classNames: {
|
|
188
|
-
trigger:
|
|
189
|
-
popup:
|
|
190
|
-
item:
|
|
191
|
-
...
|
|
179
|
+
trigger: m(c("combobox-trigger-wrapper")),
|
|
180
|
+
popup: m(c("combobox-popup")),
|
|
181
|
+
item: m(c("combobox-option"), x?.option),
|
|
182
|
+
...x
|
|
192
183
|
},
|
|
193
184
|
popupMatchTriggerWidth: !0,
|
|
194
|
-
keepOpenOnSelect:
|
|
195
|
-
highlightedItemKey:
|
|
196
|
-
showCheckbox:
|
|
197
|
-
beforeList:
|
|
198
|
-
selectedItemKeys:
|
|
199
|
-
getItemKeywords:
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
185
|
+
keepOpenOnSelect: l,
|
|
186
|
+
highlightedItemKey: l ? void 0 : d[0],
|
|
187
|
+
showCheckbox: l,
|
|
188
|
+
beforeList: le,
|
|
189
|
+
selectedItemKeys: d,
|
|
190
|
+
getItemKeywords: P ? (e) => {
|
|
191
|
+
const t = s.find(
|
|
192
|
+
(o) => o.value === e.key
|
|
193
|
+
);
|
|
194
|
+
return t ? P(t) : [];
|
|
195
|
+
} : void 0,
|
|
196
|
+
itemLabelRender: D ? (e, t) => {
|
|
197
|
+
const o = s.find(
|
|
198
|
+
(i) => i.value === e.key
|
|
199
|
+
);
|
|
200
|
+
return o ? D?.(o, t) : null;
|
|
201
|
+
} : void 0,
|
|
202
|
+
...H,
|
|
203
|
+
children: /* @__PURE__ */ f(
|
|
204
|
+
ue,
|
|
203
205
|
{
|
|
204
|
-
value:
|
|
205
|
-
prefix:
|
|
206
|
-
placeholder:
|
|
207
|
-
disabled:
|
|
208
|
-
status:
|
|
209
|
-
open:
|
|
210
|
-
size:
|
|
211
|
-
allowClear:
|
|
212
|
-
suffixIcon:
|
|
213
|
-
clearIcon:
|
|
206
|
+
value: re,
|
|
207
|
+
prefix: se,
|
|
208
|
+
placeholder: _,
|
|
209
|
+
disabled: ee,
|
|
210
|
+
status: Z,
|
|
211
|
+
open: w,
|
|
212
|
+
size: q,
|
|
213
|
+
allowClear: R,
|
|
214
|
+
suffixIcon: G,
|
|
215
|
+
clearIcon: z,
|
|
214
216
|
classNames: {
|
|
215
|
-
trigger:
|
|
216
|
-
...
|
|
217
|
+
trigger: x?.trigger,
|
|
218
|
+
...O?.classNames
|
|
219
|
+
},
|
|
220
|
+
onClear: () => {
|
|
221
|
+
n(l ? [] : void 0);
|
|
217
222
|
},
|
|
218
|
-
|
|
219
|
-
onOpenChange: K,
|
|
223
|
+
onOpenChange: M,
|
|
220
224
|
role: "combobox",
|
|
221
|
-
...
|
|
225
|
+
...O
|
|
222
226
|
}
|
|
223
227
|
)
|
|
224
228
|
}
|
|
225
229
|
) });
|
|
226
|
-
},
|
|
230
|
+
}, xe = ce(ge), Le = Object.assign(xe, {
|
|
227
231
|
// Add any sub components here if needed
|
|
228
232
|
});
|
|
229
233
|
export {
|
|
230
|
-
|
|
231
|
-
|
|
234
|
+
Le as Combobox,
|
|
235
|
+
Le as default
|
|
232
236
|
};
|
|
233
237
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../../src/components/combobox/component.tsx"],"sourcesContent":["\"use client\";\nimport React, {\n forwardRef,\n useCallback,\n useMemo,\n useState,\n useContext,\n} from \"react\";\nimport { useControlled } from \"@base-ui-components/utils/useControlled\";\nimport { FormItemInputContext } from \"antd/es/form/context\";\nimport { ValidateStatus } from \"antd/es/form/FormItem\";\nimport DisabledContext from \"antd/es/config-provider/DisabledContext\";\nimport { clsx, reactNodeToString, useCls } from \"../utils\";\nimport { SelectTrigger } from \"../select-trigger\";\nimport {\n DropdownMenu,\n DropdownMenuProps,\n DropdownMenuItem,\n type DropdownMenuItemType,\n} from \"../dropdown-menu\";\nimport type { PopoverProps } from \"antd/es/popover\";\n\n// Import component-specific styles\nimport \"./style.css\";\nimport { useControlledState } from \"../hooks\";\nimport { DropdownMenuDivider } from \"../dropdown-menu/divider\";\n\nexport interface ComboboxOption {\n value: string | number;\n label: React.ReactNode;\n disabled?: boolean;\n icon?: React.ReactNode;\n}\n\nexport interface ComboboxProps {\n /** Array of options to be displayed in the combobox */\n options?: ComboboxOption[];\n /** Current value of the combobox */\n value?: string | number | Array<string | number>;\n /** Default value when uncontrolled */\n defaultValue?: string | number | Array<string | number>;\n /** Callback when value changes */\n onChange?: (value: string | number | Array<string | number>) => void;\n /** Placeholder text for the input */\n placeholder?: string;\n /** Whether the combobox is disabled */\n disabled?: boolean;\n /** Validation status */\n status?: ValidateStatus;\n /** Whether to allow clearing the selection */\n allowClear?: boolean;\n /** Whether to allow multiple selections */\n multiple?: boolean;\n /** Maximum number of tags to show */\n maxTagCount?: number;\n /** Whether to show search functionality */\n showSearch?: boolean;\n /** Controlled open state */\n open?: boolean;\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void;\n /** Placement of the dropdown */\n placement?: PopoverProps[\"placement\"];\n /** Custom className for the component */\n className?: string;\n /** Custom class names for different parts */\n classNames?: {\n trigger?: string;\n input?: string;\n option?: string;\n optionIcon?: string;\n optionText?: string;\n };\n /** Size of the combobox */\n size?: \"small\" | \"middle\" | \"large\";\n /** Loading state */\n loading?: boolean;\n /** Custom render for options */\n optionRender?: (\n option: ComboboxOption,\n props: React.HTMLAttributes<HTMLElement>\n ) => React.ReactElement;\n /** Filter function for search */\n filterOption?: boolean | ((input: string, option: ComboboxOption) => boolean);\n /** Callback when search input changes */\n onSearch?: (value: string) => void;\n /** Custom dropdown render */\n dropdownRender?: (menu: React.ReactElement) => React.ReactElement;\n /** Custom clear icon */\n clearIcon?: React.ReactNode;\n /** Custom suffix icon */\n suffixIcon?: React.ReactNode;\n /**\n * Props to pass to the dropdown menu\n */\n dropdownMenuProps?: DropdownMenuProps;\n /**\n * Props to pass to the combobox trigger\n */\n triggerProps?: React.ComponentPropsWithoutRef<typeof SelectTrigger>;\n searchProps?: {\n placeholder?: string;\n onValueChange?: (value: string) => void;\n value?: string;\n };\n /**\n * Show selection summary instead of individual tags when multiple\n * @default false\n */\n showSelectionSummary?: boolean;\n /**\n * Render function for the selection summary in multiple case\n * @default (selectedValues) => `${selectedValues.length} items selected`\n */\n selectionSummaryRender?: (\n selectedValues: Array<string | number>\n ) => React.ReactNode;\n /**\n * Show select all option when in multiple mode\n * @default false\n */\n showSelectAll?: boolean;\n /**\n * Render function for the select all option\n */\n selectAllRender?: (props: {\n onSelectAll: () => void;\n onDeselectAll: () => void;\n checked: boolean;\n indeterminate: boolean;\n }) => React.ReactNode;\n /**\n * Function to extract keywords from the item for search filtering\n * @default (option) => [String(option.key), reactNodeToString(option.label)]\n */\n getOptionKeywords?: (\n option: DropdownMenuItemType & { type: \"item\" }\n ) => string[];\n}\n\nconst ComboboxInner = (\n {\n options = [],\n value: controlledValue,\n defaultValue,\n onChange,\n placeholder = \"Select...\",\n disabled: disabledProp = false,\n status: statusProp,\n allowClear = false,\n multiple = false,\n maxTagCount,\n showSearch = true,\n open: controlledOpen,\n onOpenChange,\n placement = \"bottomLeft\",\n className,\n classNames,\n size = \"middle\",\n loading: _loading = false,\n optionRender,\n filterOption = true,\n onSearch,\n dropdownRender,\n clearIcon,\n suffixIcon,\n dropdownMenuProps,\n triggerProps,\n searchProps,\n showSelectionSummary = false,\n selectionSummaryRender,\n showSelectAll = false,\n selectAllRender,\n getOptionKeywords = (option: DropdownMenuItemType & { type: \"item\" }) => [\n String(option.key),\n reactNodeToString(option.label),\n ],\n ...rest\n }: ComboboxProps,\n ref: React.ForwardedRef<HTMLDivElement>\n) => {\n const [initialDefaultValue] = useState(\n defaultValue !== undefined ? defaultValue : multiple ? [] : undefined\n );\n const [value, setValue] = useControlled({\n controlled: controlledValue,\n default: initialDefaultValue,\n name: \"value\",\n });\n\n const [open, setOpen] = useControlledState(\n controlledOpen,\n onOpenChange,\n false\n );\n const [searchValue, setSearchValue] = useState(\"\");\n const cls = useCls();\n\n // Get form context values\n const {\n status: contextStatus,\n // hasFeedback,\n // feedbackIcon,\n } = useContext(FormItemInputContext);\n const contextDisabled = useContext(DisabledContext);\n\n // Merge context values with props\n const mergedStatus = statusProp || contextStatus;\n const disabled = disabledProp || contextDisabled;\n\n const handleValueChange = useCallback(\n (newValue: string | number | Array<string | number>) => {\n setValue(newValue);\n onChange?.(newValue);\n },\n [setValue, onChange]\n );\n\n const handleOptionSelect = useCallback(\n (optionValue: string | number) => {\n if (multiple) {\n const currentValues = Array.isArray(value) ? value : [];\n const newValues = currentValues.includes(optionValue)\n ? currentValues.filter((v) => v !== optionValue)\n : [...currentValues, optionValue];\n handleValueChange(newValues);\n } else {\n handleValueChange(optionValue);\n // onOpenChange?.(false);\n }\n },\n [multiple, value, handleValueChange]\n );\n\n const handleSearchChange = useCallback(\n (newValue: string) => {\n setSearchValue(newValue);\n onSearch?.(newValue);\n },\n [onSearch]\n );\n\n // Filter options based on search\n const filteredOptions = useMemo(() => {\n if (!showSearch || !searchValue) return options;\n\n return options.filter((option) => {\n if (typeof filterOption === \"function\") {\n return filterOption(searchValue, option);\n }\n if (filterOption === false) return true;\n\n const label =\n typeof option.label === \"string\" ? option.label : String(option.value);\n return label.toLowerCase().includes(searchValue.toLowerCase());\n });\n }, [options, showSearch, searchValue, filterOption]);\n\n const handleSelectAll = useCallback(() => {\n if (multiple) {\n const allValues = filteredOptions.map((option) => option.value);\n handleValueChange(allValues);\n }\n }, [multiple, filteredOptions, handleValueChange]);\n\n const handleDeselectAll = useCallback(() => {\n if (multiple) {\n handleValueChange([]);\n }\n }, [multiple, handleValueChange]);\n\n // Convert options to DropdownMenu items\n const dropdownItems: DropdownMenuItemType[] = useMemo(() => {\n return filteredOptions.map((option) => {\n return {\n type: \"item\",\n key: option.value,\n icon: option.icon,\n label: option.label,\n disabled: option.disabled,\n onClick: () => !option.disabled && handleOptionSelect(option.value),\n };\n });\n }, [filteredOptions, handleOptionSelect]);\n\n // Select all component for beforeList\n const selectAllComponent = useMemo(() => {\n if (!showSelectAll || !multiple || filteredOptions.length === 0) {\n return null;\n }\n\n const selectedValues = Array.isArray(value) ? value : [];\n const filteredOptionValues = filteredOptions.map((opt) => opt.value);\n const selectedFromFiltered = selectedValues.filter((val) =>\n filteredOptionValues.includes(val)\n );\n const checked =\n selectedFromFiltered.length === filteredOptions.length &&\n filteredOptions.length > 0;\n const indeterminate =\n selectedFromFiltered.length > 0 &&\n selectedFromFiltered.length < filteredOptions.length;\n\n const selectAllItem: DropdownMenuItemType & { type: \"item\" } = {\n type: \"item\",\n key: \"select_all\",\n label: \"Select All\",\n onClick: () => {\n if (indeterminate || checked) {\n handleDeselectAll();\n } else {\n handleSelectAll();\n }\n },\n };\n\n return (\n <>\n <DropdownMenuItem\n key=\"select_all\"\n item={selectAllItem}\n inCombobox={showSearch}\n selected={checked}\n showCheckbox\n indeterminate={indeterminate}\n renderAsNativeElement\n onSelect={() => {\n if (indeterminate || checked) {\n handleDeselectAll();\n } else {\n handleSelectAll();\n }\n }}\n />\n <DropdownMenuDivider />\n </>\n );\n }, [\n showSelectAll,\n multiple,\n filteredOptions,\n value,\n showSearch,\n handleDeselectAll,\n handleSelectAll,\n ]);\n\n // Prepare trigger data\n const selectedValues = useMemo(() => {\n return Array.isArray(value) ? value : value ? [value] : [];\n }, [value]);\n const selectedOptions = selectedValues\n .map((val) => options.find((opt) => opt.value === val))\n .filter(Boolean);\n\n // Generate display value and prefix for SelectTrigger\n const { displayValue, displayPrefix } = useMemo(() => {\n if (selectedOptions.length === 0) {\n return { displayValue: undefined, displayPrefix: undefined };\n }\n\n if (multiple) {\n const summaryText = `${selectedOptions.length} ${\n selectedOptions.length === 1 ? \"item\" : \"items\"\n } selected`;\n if (showSelectionSummary) {\n if (selectionSummaryRender) {\n return {\n displayValue: selectionSummaryRender(selectedValues),\n displayPrefix: undefined,\n };\n }\n // Default summary with icons\n return {\n displayValue: summaryText,\n // TODO: Create icon component for multiple selection summary\n displayPrefix: undefined,\n };\n }\n // For non-summary multiple selection\n return selectedOptions.length === 1\n ? {\n displayValue: selectedOptions[0].label,\n displayPrefix: selectedOptions[0].icon,\n }\n : {\n displayValue: summaryText,\n displayPrefix: undefined,\n };\n }\n\n // Single selection\n const selectedOption = selectedOptions[0];\n return {\n displayValue: selectedOption?.label,\n displayPrefix: selectedOption?.icon,\n };\n }, [\n selectedOptions,\n multiple,\n showSelectionSummary,\n selectionSummaryRender,\n selectedValues,\n ]);\n\n return (\n <div ref={ref} className={clsx(cls(\"combobox\"), className)} {...rest}>\n <DropdownMenu\n items={dropdownItems}\n open={open}\n onOpenChange={setOpen}\n placement={placement}\n showSearch={showSearch}\n searchProps={{\n placeholder: \"Search options...\",\n onValueChange: handleSearchChange,\n value: searchValue,\n ...searchProps,\n }}\n className={clsx(cls(\"combobox-dropdown\"))}\n classNames={{\n trigger: clsx(cls(\"combobox-trigger-wrapper\")),\n popup: clsx(cls(\"combobox-popup\")),\n item: clsx(cls(\"combobox-option\"), classNames?.option),\n ...classNames,\n }}\n popupMatchTriggerWidth\n keepOpenOnSelect={multiple}\n highlightedItemKey={multiple ? undefined : selectedValues[0]}\n showCheckbox={multiple}\n beforeList={selectAllComponent}\n selectedItemKeys={selectedValues}\n getItemKeywords={getOptionKeywords}\n {...dropdownMenuProps}\n >\n <SelectTrigger\n value={displayValue}\n prefix={displayPrefix}\n placeholder={placeholder}\n disabled={disabled}\n status={mergedStatus}\n open={open}\n size={size}\n allowClear={allowClear}\n suffixIcon={suffixIcon}\n clearIcon={clearIcon}\n classNames={{\n trigger: classNames?.trigger,\n ...triggerProps?.classNames,\n }}\n onClear={() => handleValueChange(multiple ? [] : undefined)}\n onOpenChange={setOpen}\n role=\"combobox\"\n {...triggerProps}\n />\n </DropdownMenu>\n </div>\n );\n};\n\nconst MainCombobox = forwardRef(ComboboxInner);\n\nexport const Combobox = Object.assign(MainCombobox, {\n // Add any sub components here if needed\n});\n\nexport default Combobox;\n"],"names":["ComboboxInner","options","controlledValue","defaultValue","onChange","placeholder","disabledProp","statusProp","allowClear","multiple","maxTagCount","showSearch","controlledOpen","onOpenChange","placement","className","classNames","size","_loading","optionRender","filterOption","onSearch","dropdownRender","clearIcon","suffixIcon","dropdownMenuProps","triggerProps","searchProps","showSelectionSummary","selectionSummaryRender","showSelectAll","selectAllRender","getOptionKeywords","option","reactNodeToString","rest","ref","initialDefaultValue","useState","value","setValue","useControlled","open","setOpen","useControlledState","searchValue","setSearchValue","cls","useCls","contextStatus","useContext","FormItemInputContext","contextDisabled","DisabledContext","mergedStatus","disabled","handleValueChange","useCallback","newValue","handleOptionSelect","optionValue","currentValues","newValues","v","handleSearchChange","filteredOptions","useMemo","handleSelectAll","allValues","handleDeselectAll","dropdownItems","selectAllComponent","selectedValues","filteredOptionValues","opt","selectedFromFiltered","val","checked","indeterminate","jsxs","Fragment","jsx","DropdownMenuItem","DropdownMenuDivider","selectedOptions","displayValue","displayPrefix","summaryText","selectedOption","clsx","DropdownMenu","SelectTrigger","MainCombobox","forwardRef","Combobox"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/combobox/component.tsx"],"sourcesContent":["\"use client\";\nimport DisabledContext from \"antd/es/config-provider/DisabledContext\";\nimport { FormItemInputContext } from \"antd/es/form/context\";\nimport { ValidateStatus } from \"antd/es/form/FormItem\";\nimport type { PopoverProps } from \"antd/es/popover\";\nimport React, {\n ForwardedRef,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n DropdownMenu,\n DropdownMenuItem,\n DropdownMenuProps,\n type DropdownMenuItemType,\n} from \"../dropdown-menu\";\nimport { SelectTrigger } from \"../select-trigger\";\nimport { clsx, reactNodeToString, useCls } from \"../utils\";\n\n// Import component-specific styles\nimport { DropdownMenuDivider } from \"../dropdown-menu/divider\";\nimport { useControlledState } from \"../hooks\";\nimport \"./style.css\";\n\nexport type ComboboxOption<\n T extends React.Key,\n O extends Record<string, unknown> = {}\n> = {\n value: T;\n label: React.ReactNode;\n disabled?: boolean;\n icon?: React.ReactNode;\n} & O;\n\nexport interface ComboboxProps<\n T extends React.Key,\n M extends boolean,\n O extends Record<string, unknown> = {}\n> {\n /** Array of options to be displayed in the combobox */\n options?: ComboboxOption<T, O>[];\n /** Current value of the combobox */\n value?: M extends true ? T[] : T;\n /** Default value when uncontrolled */\n defaultValue?: M extends true ? T[] : T;\n /** Callback when value changes */\n onChange?: (value: M extends true ? T[] : T) => void;\n /** Placeholder text for the input */\n placeholder?: string;\n /** Whether the combobox is disabled */\n disabled?: boolean;\n /** Validation status */\n status?: ValidateStatus;\n /** Whether to allow clearing the selection */\n allowClear?: boolean;\n /** Whether to allow multiple selections */\n multiple?: M;\n /** Maximum number of tags to show */\n maxTagCount?: number;\n /** Whether to show search functionality */\n showSearch?: boolean;\n /** Controlled open state */\n open?: boolean;\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void;\n /** Placement of the dropdown */\n placement?: PopoverProps[\"placement\"];\n /** Custom className for the component */\n className?: string;\n /** Custom class names for different parts */\n classNames?: {\n trigger?: string;\n input?: string;\n option?: string;\n optionIcon?: string;\n optionText?: string;\n };\n /** Size of the combobox */\n size?: \"small\" | \"middle\" | \"large\";\n /** Loading state */\n loading?: boolean;\n /** Custom render for options */\n optionRender?: (\n option: ComboboxOption<T, O>,\n props: React.HTMLAttributes<HTMLElement>\n ) => React.ReactElement;\n /** Filter function for search */\n filterOption?:\n | boolean\n | ((input: string, option: ComboboxOption<T, O>) => boolean);\n /** Callback when search input changes */\n onSearch?: (value: string) => void;\n /** Custom dropdown render */\n dropdownRender?: (menu: React.ReactElement) => React.ReactElement;\n /** Custom clear icon */\n clearIcon?: React.ReactNode;\n /** Custom suffix icon */\n suffixIcon?: React.ReactNode;\n /**\n * Props to pass to the dropdown menu\n */\n dropdownMenuProps?: DropdownMenuProps;\n /**\n * Props to pass to the combobox trigger\n */\n triggerProps?: React.ComponentPropsWithoutRef<typeof SelectTrigger>;\n searchProps?: {\n placeholder?: string;\n onValueChange?: (value: string) => void;\n value?: string;\n };\n /**\n * Show selection summary instead of individual tags when multiple\n * @default false\n */\n showSelectionSummary?: boolean;\n /**\n * Render function for the selection summary in multiple case\n * @default (selectedValues) => `${selectedValues.length} items selected`\n */\n selectionSummaryRender?: (selectedValues: T[]) => React.ReactNode;\n /**\n * Show select all option when in multiple mode\n * @default false\n */\n showSelectAll?: boolean;\n /**\n * Render function for the select all option\n */\n selectAllRender?: (props: {\n onSelectAll: () => void;\n onDeselectAll: () => void;\n checked: boolean;\n indeterminate: boolean;\n }) => React.ReactNode;\n /**\n * Function to extract keywords from the item for search filtering\n * @default (option) => [String(option.key), reactNodeToString(option.label)]\n */\n getOptionKeywords?: (option: ComboboxOption<T, O>) => string[];\n /**\n * Render function for the option label\n */\n optionLabelRender?: (\n option: ComboboxOption<T, O>,\n props?: React.HTMLAttributes<HTMLElement>\n ) => React.ReactElement;\n}\n\nconst ComboboxInner = <\n T extends React.Key,\n M extends boolean,\n O extends Record<string, unknown> = {}\n>(\n {\n options = [],\n value: controlledValue,\n defaultValue,\n onChange,\n placeholder = \"Select...\",\n disabled: disabledProp = false,\n status: statusProp,\n allowClear = false,\n multiple = false as M,\n maxTagCount,\n showSearch = true,\n open: controlledOpen,\n onOpenChange,\n placement = \"bottomLeft\",\n className,\n classNames,\n size = \"middle\",\n loading: _loading = false,\n optionRender,\n onSearch,\n dropdownRender,\n clearIcon,\n suffixIcon,\n dropdownMenuProps,\n triggerProps,\n searchProps,\n showSelectionSummary = false,\n selectionSummaryRender,\n showSelectAll = false,\n selectAllRender,\n optionLabelRender,\n getOptionKeywords = (option: ComboboxOption<T, O>) => [\n String(option.value),\n reactNodeToString(option.label),\n ],\n ...rest\n }: ComboboxProps<T, M, O>,\n ref: React.ForwardedRef<HTMLDivElement>\n) => {\n const [value, setValue] = useControlledState(\n controlledValue,\n onChange,\n defaultValue !== undefined ? defaultValue : multiple ? [] : undefined\n );\n\n const [open, setOpen] = useControlledState(\n controlledOpen,\n onOpenChange,\n false\n );\n const cls = useCls();\n\n // Get form context values\n const {\n status: contextStatus,\n // hasFeedback,\n // feedbackIcon,\n } = useContext(FormItemInputContext);\n const contextDisabled = useContext(DisabledContext);\n\n // Merge context values with props\n const mergedStatus = statusProp || contextStatus;\n const disabled = disabledProp || contextDisabled;\n\n const handleValueChange = useCallback(\n (newValue: M extends true ? T[] : T) => {\n setValue(newValue);\n onChange?.(newValue);\n },\n [setValue, onChange]\n );\n\n const handleOptionSelect = useCallback(\n (optionValue: T) => {\n if (multiple) {\n const currentValues = (Array.isArray(value) ? value : []) as T[];\n const newValues = currentValues.includes(optionValue)\n ? currentValues.filter((v) => v !== optionValue)\n : [...currentValues, optionValue];\n (handleValueChange as (v: T[]) => void)(newValues);\n } else {\n (handleValueChange as (v: T) => void)(optionValue);\n // onOpenChange?.(false);\n }\n },\n [multiple, value, handleValueChange]\n );\n\n const handleSelectAll = useCallback(() => {\n if (multiple) {\n const allValues = options.map((option) => option.value);\n (handleValueChange as (v: T[]) => void)(allValues);\n }\n }, [multiple, options, handleValueChange]);\n\n const handleDeselectAll = useCallback(() => {\n if (multiple) {\n (handleValueChange as (v: T[]) => void)([]);\n }\n }, [multiple, handleValueChange]);\n\n // Convert options to DropdownMenu items\n const dropdownItems: DropdownMenuItemType[] = useMemo(() => {\n return options.map((option) => {\n return {\n type: \"item\",\n // todo: make this type better\n key: option.value as React.Key,\n icon: option.icon,\n label: option.label,\n disabled: option.disabled,\n onClick: () => !option.disabled && handleOptionSelect(option.value),\n };\n });\n }, [options, handleOptionSelect]);\n\n // Select all component for beforeList\n const selectAllComponent = useMemo(() => {\n if (!showSelectAll || !multiple || options.length === 0) {\n return null;\n }\n\n const selectedValues = Array.isArray(value) ? value : [];\n const filteredOptionValues = options.map((opt) => opt.value);\n const selectedFromFiltered = selectedValues.filter((val) =>\n filteredOptionValues.includes(val)\n );\n const checked =\n selectedFromFiltered.length === options.length && options.length > 0;\n const indeterminate =\n selectedFromFiltered.length > 0 &&\n selectedFromFiltered.length < options.length;\n\n const selectAllItem: DropdownMenuItemType & { type: \"item\" } = {\n type: \"item\",\n key: \"select_all\",\n label: \"Select All\",\n onClick: () => {\n if (indeterminate || checked) {\n handleDeselectAll();\n } else {\n handleSelectAll();\n }\n },\n };\n\n return (\n <>\n <DropdownMenuItem\n key=\"select_all\"\n item={selectAllItem}\n inCombobox={showSearch}\n selected={checked}\n showCheckbox\n indeterminate={indeterminate}\n renderAsNativeElement\n onSelect={() => {\n if (indeterminate || checked) {\n handleDeselectAll();\n } else {\n handleSelectAll();\n }\n }}\n />\n <DropdownMenuDivider />\n </>\n );\n }, [\n showSelectAll,\n multiple,\n options,\n value,\n showSearch,\n handleDeselectAll,\n handleSelectAll,\n ]);\n\n // Prepare trigger data\n const selectedValues = useMemo(() => {\n return Array.isArray(value) ? value : value ? [value] : [];\n }, [value]);\n const selectedOptions = selectedValues\n .map((val) => options.find((opt) => opt.value === val))\n .filter(Boolean);\n\n // Generate display value and prefix for SelectTrigger\n const { displayValue, displayPrefix } = useMemo(() => {\n if (selectedOptions.length === 0) {\n return { displayValue: undefined, displayPrefix: undefined };\n }\n\n if (multiple) {\n const summaryText = `${selectedOptions.length} ${\n selectedOptions.length === 1 ? \"item\" : \"items\"\n } selected`;\n if (showSelectionSummary) {\n if (selectionSummaryRender) {\n return {\n displayValue: selectionSummaryRender(selectedValues),\n displayPrefix: undefined,\n };\n }\n // Default summary with icons\n return {\n displayValue: summaryText,\n // TODO: Create icon component for multiple selection summary\n displayPrefix: undefined,\n };\n }\n // For non-summary multiple selection\n return selectedOptions.length === 1\n ? {\n displayValue: selectedOptions[0].label,\n displayPrefix: selectedOptions[0].icon,\n }\n : {\n displayValue: summaryText,\n displayPrefix: undefined,\n };\n }\n\n // Single selection\n const selectedOption = selectedOptions[0];\n return {\n displayValue: selectedOption?.label,\n displayPrefix: selectedOption?.icon,\n };\n }, [\n selectedOptions,\n multiple,\n showSelectionSummary,\n selectionSummaryRender,\n selectedValues,\n ]);\n\n return (\n <div ref={ref} className={clsx(cls(\"combobox\"), className)} {...rest}>\n <DropdownMenu\n items={dropdownItems}\n open={open}\n onOpenChange={setOpen}\n placement={placement}\n showSearch={showSearch}\n searchProps={{\n placeholder: \"Search options...\",\n ...searchProps,\n }}\n className={clsx(cls(\"combobox-dropdown\"))}\n classNames={{\n trigger: clsx(cls(\"combobox-trigger-wrapper\")),\n popup: clsx(cls(\"combobox-popup\")),\n item: clsx(cls(\"combobox-option\"), classNames?.option),\n ...classNames,\n }}\n popupMatchTriggerWidth\n keepOpenOnSelect={multiple}\n highlightedItemKey={multiple ? undefined : selectedValues[0]}\n showCheckbox={multiple}\n beforeList={selectAllComponent}\n selectedItemKeys={selectedValues}\n getItemKeywords={\n getOptionKeywords\n ? (item) => {\n const selectedOption = options.find(\n (option) => option.value === item.key\n );\n if (!selectedOption) {\n return [];\n }\n return getOptionKeywords(selectedOption);\n }\n : undefined\n }\n itemLabelRender={\n optionLabelRender\n ? (item, props) => {\n const selectedOption = options.find(\n (option) => option.value === item.key\n );\n if (!selectedOption) {\n return null;\n }\n return optionLabelRender?.(selectedOption, props);\n }\n : undefined\n }\n {...dropdownMenuProps}\n >\n <SelectTrigger\n value={displayValue}\n prefix={displayPrefix}\n placeholder={placeholder}\n disabled={disabled}\n status={mergedStatus}\n open={open}\n size={size}\n allowClear={allowClear}\n suffixIcon={suffixIcon}\n clearIcon={clearIcon}\n classNames={{\n trigger: classNames?.trigger,\n ...triggerProps?.classNames,\n }}\n onClear={() => {\n if (multiple) {\n (handleValueChange as (v: T[]) => void)([]);\n } else {\n handleValueChange(undefined);\n }\n }}\n onOpenChange={setOpen}\n role=\"combobox\"\n {...triggerProps}\n />\n </DropdownMenu>\n </div>\n );\n};\n\nconst MainCombobox = forwardRef(ComboboxInner) as <\n T extends React.Key,\n M extends boolean,\n O extends Record<string, unknown> = {}\n>(\n props: ComboboxProps<T, M, O> & { ref?: ForwardedRef<HTMLDivElement> }\n) => ReturnType<typeof ComboboxInner>;\n\nexport const Combobox = Object.assign(MainCombobox, {\n // Add any sub components here if needed\n});\n\nexport default Combobox;\n"],"names":["ComboboxInner","options","controlledValue","defaultValue","onChange","placeholder","disabledProp","statusProp","allowClear","multiple","maxTagCount","showSearch","controlledOpen","onOpenChange","placement","className","classNames","size","_loading","optionRender","onSearch","dropdownRender","clearIcon","suffixIcon","dropdownMenuProps","triggerProps","searchProps","showSelectionSummary","selectionSummaryRender","showSelectAll","selectAllRender","optionLabelRender","getOptionKeywords","option","reactNodeToString","rest","ref","value","setValue","useControlledState","open","setOpen","cls","useCls","contextStatus","useContext","FormItemInputContext","contextDisabled","DisabledContext","mergedStatus","disabled","handleValueChange","useCallback","newValue","handleOptionSelect","optionValue","currentValues","newValues","v","handleSelectAll","allValues","handleDeselectAll","dropdownItems","useMemo","selectAllComponent","selectedValues","filteredOptionValues","opt","selectedFromFiltered","val","checked","indeterminate","jsxs","Fragment","jsx","DropdownMenuItem","DropdownMenuDivider","selectedOptions","displayValue","displayPrefix","summaryText","selectedOption","clsx","DropdownMenu","item","props","SelectTrigger","MainCombobox","forwardRef","Combobox"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { DropdownMenuItemType } from '../dropdown-menu/types';
|
|
3
|
+
export type CommandPaletteShortcut = {
|
|
4
|
+
key: string;
|
|
5
|
+
metaKey?: boolean;
|
|
6
|
+
ctrlKey?: boolean;
|
|
7
|
+
altKey?: boolean;
|
|
8
|
+
shiftKey?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export interface CommandPaletteProps {
|
|
11
|
+
/** Whether the command palette is open */
|
|
12
|
+
open?: boolean;
|
|
13
|
+
/** Callback fired when the open state changes */
|
|
14
|
+
onOpenChange?: (open: boolean) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Default open state
|
|
17
|
+
*/
|
|
18
|
+
defaultOpen?: boolean;
|
|
19
|
+
/** Items to display in the command palette */
|
|
20
|
+
items?: DropdownMenuItemType[];
|
|
21
|
+
/** Keyboard shortcuts to open the palette */
|
|
22
|
+
shortcuts?: CommandPaletteShortcut[];
|
|
23
|
+
/** Placeholder text for the search input */
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
/** Text to show when no results are found */
|
|
26
|
+
emptyText?: string;
|
|
27
|
+
/** Accessible label for the command palette */
|
|
28
|
+
label?: string;
|
|
29
|
+
/** Additional CSS class names */
|
|
30
|
+
className?: string;
|
|
31
|
+
classNames?: {
|
|
32
|
+
root?: string;
|
|
33
|
+
mask?: string;
|
|
34
|
+
content?: string;
|
|
35
|
+
group?: string;
|
|
36
|
+
item?: string;
|
|
37
|
+
groupLabel?: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export declare const CommandPalette: React.FC<CommandPaletteProps>;
|
|
41
|
+
//# sourceMappingURL=component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/command-palette/component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iDAAiD;IACjD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AA0CD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4ExD,CAAC"}
|