@bigbinary/neeto-atoms 1.0.9 → 1.0.10
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/Accordion-BzfsJePA.js +22 -0
- package/dist/Accordion-BzfsJePA.js.map +1 -0
- package/dist/Alert-D_FV8xxo.js +65 -0
- package/dist/Alert-D_FV8xxo.js.map +1 -0
- package/dist/Avatar-D5YGlXVF.js +50 -0
- package/dist/Avatar-D5YGlXVF.js.map +1 -0
- package/dist/Badge-8FkscqDt.js +59 -0
- package/dist/Badge-8FkscqDt.js.map +1 -0
- package/dist/Button-Q7MPG6ph.js +92 -0
- package/dist/Button-Q7MPG6ph.js.map +1 -0
- package/dist/Calendar-pDD7nRF-.js +8025 -0
- package/dist/Calendar-pDD7nRF-.js.map +1 -0
- package/dist/Callout-B0w4GQtx.js +65 -0
- package/dist/Callout-B0w4GQtx.js.map +1 -0
- package/dist/Checkbox-zCxgcZiC.js +24 -0
- package/dist/Checkbox-zCxgcZiC.js.map +1 -0
- package/dist/DatePicker-COxwHPIZ.js +2960 -0
- package/dist/DatePicker-COxwHPIZ.js.map +1 -0
- package/dist/Dialog-BURSzxaP.js +61 -0
- package/dist/Dialog-BURSzxaP.js.map +1 -0
- package/dist/Empty-B2JwFmru.js +26 -0
- package/dist/Empty-B2JwFmru.js.map +1 -0
- package/dist/Input-C1gcv9o2.js +147 -0
- package/dist/Input-C1gcv9o2.js.map +1 -0
- package/dist/Kbd-EqbC0bua.js +36 -0
- package/dist/Kbd-EqbC0bua.js.map +1 -0
- package/dist/Label-BVy4hy9Z.js +58 -0
- package/dist/Label-BVy4hy9Z.js.map +1 -0
- package/dist/MultiEmailInput-SCTYovtX.js +139 -0
- package/dist/MultiEmailInput-SCTYovtX.js.map +1 -0
- package/dist/Pagination-DSc9yXPy.js +61 -0
- package/dist/Pagination-DSc9yXPy.js.map +1 -0
- package/dist/Popover-BFMrtVPq.js +95 -0
- package/dist/Popover-BFMrtVPq.js.map +1 -0
- package/dist/Progress-B9NlUm6e.js +13 -0
- package/dist/Progress-B9NlUm6e.js.map +1 -0
- package/dist/RadioGroup-BNeYQAoT.js +34 -0
- package/dist/RadioGroup-BNeYQAoT.js.map +1 -0
- package/dist/Select-BGODpJGc.js +561 -0
- package/dist/Select-BGODpJGc.js.map +1 -0
- package/dist/{components/SelectFieldWrapper.js → SelectFieldWrapper-BJzq9aCY.js} +3 -11
- package/dist/SelectFieldWrapper-BJzq9aCY.js.map +1 -0
- package/dist/Sheet-QFC_mHyj.js +63 -0
- package/dist/Sheet-QFC_mHyj.js.map +1 -0
- package/dist/Slider-BCQXhs0Q.js +25 -0
- package/dist/Slider-BCQXhs0Q.js.map +1 -0
- package/dist/Spinner-C8HSac-2.js +17 -0
- package/dist/Spinner-C8HSac-2.js.map +1 -0
- package/dist/Stepper-BoGkmkY0.js +29 -0
- package/dist/Stepper-BoGkmkY0.js.map +1 -0
- package/dist/Switch-B83TGxJ_.js +20 -0
- package/dist/Switch-B83TGxJ_.js.map +1 -0
- package/dist/Tabs-DWfKnl3S.js +38 -0
- package/dist/Tabs-DWfKnl3S.js.map +1 -0
- package/dist/Textarea-C0z50h0N.js +73 -0
- package/dist/Textarea-C0z50h0N.js.map +1 -0
- package/dist/TimePicker-C4x62jI1.js +142 -0
- package/dist/TimePicker-C4x62jI1.js.map +1 -0
- package/dist/TimePickerPanel-CiF0RExY.js +126 -0
- package/dist/TimePickerPanel-CiF0RExY.js.map +1 -0
- package/dist/Toastr-DYqpSaMd.js +115 -0
- package/dist/Toastr-DYqpSaMd.js.map +1 -0
- package/dist/Tooltip-DhwIZnOU.js +80 -0
- package/dist/Tooltip-DhwIZnOU.js.map +1 -0
- package/dist/Tree-Dkr11OPy.js +7977 -0
- package/dist/Tree-Dkr11OPy.js.map +1 -0
- package/dist/TreeSelect-Cmc90YWJ.js +168 -0
- package/dist/TreeSelect-Cmc90YWJ.js.map +1 -0
- package/dist/Typography-D5TjXEfu.js +82 -0
- package/dist/Typography-D5TjXEfu.js.map +1 -0
- package/dist/cjs/Accordion-BX5I9ypV.js +28 -0
- package/dist/cjs/Accordion-BX5I9ypV.js.map +1 -0
- package/dist/cjs/Alert-BVvLyM_d.js +67 -0
- package/dist/cjs/Alert-BVvLyM_d.js.map +1 -0
- package/dist/cjs/Avatar-CNao5gvP.js +52 -0
- package/dist/cjs/Avatar-CNao5gvP.js.map +1 -0
- package/dist/cjs/Badge-STBHzYLs.js +61 -0
- package/dist/cjs/Badge-STBHzYLs.js.map +1 -0
- package/dist/cjs/Button-Bt_AElge.js +94 -0
- package/dist/cjs/Button-Bt_AElge.js.map +1 -0
- package/dist/cjs/Calendar-Nk76Y9yP.js +8066 -0
- package/dist/cjs/Calendar-Nk76Y9yP.js.map +1 -0
- package/dist/cjs/Callout-CS2U6pM7.js +67 -0
- package/dist/cjs/Callout-CS2U6pM7.js.map +1 -0
- package/dist/cjs/Checkbox-DOlS2oCD.js +26 -0
- package/dist/cjs/Checkbox-DOlS2oCD.js.map +1 -0
- package/dist/cjs/DatePicker-DpijPndg.js +2962 -0
- package/dist/cjs/DatePicker-DpijPndg.js.map +1 -0
- package/dist/cjs/Dialog-CtI_yWsJ.js +63 -0
- package/dist/cjs/Dialog-CtI_yWsJ.js.map +1 -0
- package/dist/cjs/Empty-qzle6YvT.js +28 -0
- package/dist/cjs/Empty-qzle6YvT.js.map +1 -0
- package/dist/cjs/Input-pkugjUb0.js +149 -0
- package/dist/cjs/Input-pkugjUb0.js.map +1 -0
- package/dist/cjs/Kbd-DHirsI--.js +38 -0
- package/dist/cjs/Kbd-DHirsI--.js.map +1 -0
- package/dist/cjs/Label-DpyfZsiT.js +60 -0
- package/dist/cjs/Label-DpyfZsiT.js.map +1 -0
- package/dist/cjs/MultiEmailInput-l0_YVjbp.js +141 -0
- package/dist/cjs/MultiEmailInput-l0_YVjbp.js.map +1 -0
- package/dist/cjs/Pagination-Byzt9Kmj.js +63 -0
- package/dist/cjs/Pagination-Byzt9Kmj.js.map +1 -0
- package/dist/cjs/Popover-LIxANoTc.js +101 -0
- package/dist/cjs/Popover-LIxANoTc.js.map +1 -0
- package/dist/cjs/Progress-DoCxZ_ZH.js +15 -0
- package/dist/cjs/Progress-DoCxZ_ZH.js.map +1 -0
- package/dist/cjs/RadioGroup-1RAoe38m.js +36 -0
- package/dist/cjs/RadioGroup-1RAoe38m.js.map +1 -0
- package/dist/cjs/Select-DOPZHlqc.js +567 -0
- package/dist/cjs/Select-DOPZHlqc.js.map +1 -0
- package/dist/cjs/{components/SelectFieldWrapper.js → SelectFieldWrapper-DEA--2wj.js} +2 -10
- package/dist/cjs/SelectFieldWrapper-DEA--2wj.js.map +1 -0
- package/dist/cjs/Sheet-CIhtNCBV.js +65 -0
- package/dist/cjs/Sheet-CIhtNCBV.js.map +1 -0
- package/dist/cjs/Slider-jNUS9vt8.js +27 -0
- package/dist/cjs/Slider-jNUS9vt8.js.map +1 -0
- package/dist/cjs/Spinner-DQutDMQq.js +19 -0
- package/dist/cjs/Spinner-DQutDMQq.js.map +1 -0
- package/dist/cjs/Stepper-DCoLl2ZS.js +35 -0
- package/dist/cjs/Stepper-DCoLl2ZS.js.map +1 -0
- package/dist/cjs/Switch-CFf8DtB_.js +22 -0
- package/dist/cjs/Switch-CFf8DtB_.js.map +1 -0
- package/dist/cjs/Tabs-D2247rd7.js +40 -0
- package/dist/cjs/Tabs-D2247rd7.js.map +1 -0
- package/dist/cjs/Textarea-BfdlAJ59.js +75 -0
- package/dist/cjs/Textarea-BfdlAJ59.js.map +1 -0
- package/dist/cjs/TimePicker-Ba2FdT1O.js +144 -0
- package/dist/cjs/TimePicker-Ba2FdT1O.js.map +1 -0
- package/dist/cjs/TimePickerPanel-DGNr97cj.js +132 -0
- package/dist/cjs/TimePickerPanel-DGNr97cj.js.map +1 -0
- package/dist/cjs/Toastr-BGp7-kmf.js +117 -0
- package/dist/cjs/Toastr-BGp7-kmf.js.map +1 -0
- package/dist/cjs/Tooltip-CtxI7QBY.js +86 -0
- package/dist/cjs/Tooltip-CtxI7QBY.js.map +1 -0
- package/dist/cjs/Tree-qpOcsGL9.js +7985 -0
- package/dist/cjs/Tree-qpOcsGL9.js.map +1 -0
- package/dist/cjs/TreeSelect-DiIEdiAU.js +170 -0
- package/dist/cjs/TreeSelect-DiIEdiAU.js.map +1 -0
- package/dist/cjs/Typography-C3rGpmAY.js +104 -0
- package/dist/cjs/Typography-C3rGpmAY.js.map +1 -0
- package/dist/cjs/components/Accordion.js +6 -28
- package/dist/cjs/components/Accordion.js.map +1 -1
- package/dist/cjs/components/Alert.js +9 -70
- package/dist/cjs/components/Alert.js.map +1 -1
- package/dist/cjs/components/Avatar.js +8 -51
- package/dist/cjs/components/Avatar.js.map +1 -1
- package/dist/cjs/components/Badge.js +10 -64
- package/dist/cjs/components/Badge.js.map +1 -1
- package/dist/cjs/components/Button.js +10 -94
- package/dist/cjs/components/Button.js.map +1 -1
- package/dist/cjs/components/Callout.js +9 -66
- package/dist/cjs/components/Callout.js.map +1 -1
- package/dist/cjs/components/Checkbox.js +8 -24
- package/dist/cjs/components/Checkbox.js.map +1 -1
- package/dist/cjs/components/DataTable.js +1 -1
- package/dist/cjs/components/DatePicker.js +45 -0
- package/dist/cjs/components/DatePicker.js.map +1 -0
- package/dist/cjs/components/Dialog.js +7 -63
- package/dist/cjs/components/Dialog.js.map +1 -1
- package/dist/cjs/components/Empty.js +10 -29
- package/dist/cjs/components/Empty.js.map +1 -1
- package/dist/cjs/components/Input.js +8 -151
- package/dist/cjs/components/Input.js.map +1 -1
- package/dist/cjs/components/Kbd.js +8 -41
- package/dist/cjs/components/Kbd.js.map +1 -1
- package/dist/cjs/components/Label.js +11 -59
- package/dist/cjs/components/Label.js.map +1 -1
- package/dist/cjs/components/MultiEmailInput.js +20 -0
- package/dist/cjs/components/MultiEmailInput.js.map +1 -0
- package/dist/cjs/components/Pagination.js +21 -0
- package/dist/cjs/components/Pagination.js.map +1 -0
- package/dist/cjs/components/Popover.js +7 -103
- package/dist/cjs/components/Popover.js.map +1 -1
- package/dist/cjs/components/Progress.js +7 -13
- package/dist/cjs/components/Progress.js.map +1 -1
- package/dist/cjs/components/RadioGroup.js +9 -40
- package/dist/cjs/components/RadioGroup.js.map +1 -1
- package/dist/cjs/components/Select.js +33 -0
- package/dist/cjs/components/Select.js.map +1 -1
- package/dist/cjs/components/Sheet.js +7 -65
- package/dist/cjs/components/Sheet.js.map +1 -1
- package/dist/cjs/components/Slider.js +8 -25
- package/dist/cjs/components/Slider.js.map +1 -1
- package/dist/cjs/components/Spinner.js +7 -19
- package/dist/cjs/components/Spinner.js.map +1 -1
- package/dist/cjs/components/Stepper.js +6 -32
- package/dist/cjs/components/Stepper.js.map +1 -1
- package/dist/cjs/components/Switch.js +8 -20
- package/dist/cjs/components/Switch.js.map +1 -1
- package/dist/cjs/components/Tabs.js +8 -55
- package/dist/cjs/components/Tabs.js.map +1 -1
- package/dist/cjs/components/Textarea.js +8 -77
- package/dist/cjs/components/Textarea.js.map +1 -1
- package/dist/cjs/components/TimePicker.js +42 -0
- package/dist/cjs/components/TimePicker.js.map +1 -0
- package/dist/cjs/components/Toastr.js +4 -126
- package/dist/cjs/components/Toastr.js.map +1 -1
- package/dist/cjs/components/Tooltip.js +5 -85
- package/dist/cjs/components/Tooltip.js.map +1 -1
- package/dist/cjs/components/Tree.js +62 -0
- package/dist/cjs/components/Tree.js.map +1 -0
- package/dist/cjs/components/TreeSelect.js +45 -0
- package/dist/cjs/components/TreeSelect.js.map +1 -0
- package/dist/cjs/components/Typography.js +8 -98
- package/dist/cjs/components/Typography.js.map +1 -1
- package/dist/cjs/formik/Button.js +45 -0
- package/dist/cjs/formik/Button.js.map +1 -0
- package/dist/cjs/formik/Checkbox.js +38 -0
- package/dist/cjs/formik/Checkbox.js.map +1 -0
- package/dist/cjs/formik/Form.js +116 -0
- package/dist/cjs/formik/Form.js.map +1 -0
- package/dist/cjs/formik/Input.js +38 -0
- package/dist/cjs/formik/Input.js.map +1 -0
- package/dist/cjs/formik/MultiEmailInput.js +31 -0
- package/dist/cjs/formik/MultiEmailInput.js.map +1 -0
- package/dist/cjs/formik/RadioGroup.js +44 -0
- package/dist/cjs/formik/RadioGroup.js.map +1 -0
- package/dist/cjs/formik/Select.js +61 -0
- package/dist/cjs/formik/Select.js.map +1 -0
- package/dist/cjs/formik/Slider.js +39 -0
- package/dist/cjs/formik/Slider.js.map +1 -0
- package/dist/cjs/formik/Switch.js +33 -0
- package/dist/cjs/formik/Switch.js.map +1 -0
- package/dist/cjs/formik/Textarea.js +34 -0
- package/dist/cjs/formik/Textarea.js.map +1 -0
- package/dist/cjs/formik/TreeSelect.js +56 -0
- package/dist/cjs/formik/TreeSelect.js.map +1 -0
- package/dist/cjs/formik/index.js +101 -0
- package/dist/cjs/formik/index.js.map +1 -0
- package/dist/cjs/index.js +317 -427
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/primitives/Calendar.js +10 -8020
- package/dist/cjs/primitives/Calendar.js.map +1 -1
- package/dist/cjs/primitives/Chart.js +410 -207
- package/dist/cjs/primitives/Chart.js.map +1 -1
- package/dist/cjs/primitives/Combobox.js +783 -1096
- package/dist/cjs/primitives/Combobox.js.map +1 -1
- package/dist/cjs/primitives/Pagination.js +1 -1
- package/dist/cjs/primitives/Resizable.js +799 -778
- package/dist/cjs/primitives/Resizable.js.map +1 -1
- package/dist/cjs/primitives/ScrollArea.js +10 -10
- package/dist/cjs/primitives/Select.js +77 -77
- package/dist/cjs/primitives/index.js +3 -2
- package/dist/cjs/primitives/index.js.map +1 -1
- package/dist/cjs/redux-DEF7lAd1.js +240 -0
- package/dist/cjs/redux-DEF7lAd1.js.map +1 -0
- package/dist/cjs/with-selector-DeKHbQY7.js +121 -0
- package/dist/cjs/with-selector-DeKHbQY7.js.map +1 -0
- package/dist/components/Accordion/index.d.ts +2 -0
- package/dist/components/Accordion.js +5 -27
- package/dist/components/Accordion.js.map +1 -1
- package/dist/components/{Alert.d.ts → Alert/Alert.d.ts} +2 -2
- package/dist/components/Alert/constants.d.ts +3 -0
- package/dist/components/Alert/index.d.ts +2 -0
- package/dist/components/Alert.js +10 -75
- package/dist/components/Alert.js.map +1 -1
- package/dist/components/{Avatar.d.ts → Avatar/Avatar.d.ts} +2 -2
- package/dist/components/Avatar/constants.d.ts +3 -0
- package/dist/components/Avatar/index.d.ts +2 -0
- package/dist/components/Avatar/utils.d.ts +1 -0
- package/dist/components/Avatar.js +9 -56
- package/dist/components/Avatar.js.map +1 -1
- package/dist/components/{Badge.d.ts → Badge/Badge.d.ts} +1 -1
- package/dist/components/Badge/constants.d.ts +25 -0
- package/dist/components/Badge/index.d.ts +2 -0
- package/dist/components/Badge.js +8 -66
- package/dist/components/Badge.js.map +1 -1
- package/dist/components/Button/constants.d.ts +5 -0
- package/dist/components/Button/index.d.ts +2 -0
- package/dist/components/Button.js +11 -99
- package/dist/components/Button.js.map +1 -1
- package/dist/components/{Callout.d.ts → Callout/Callout.d.ts} +1 -1
- package/dist/components/Callout/constants.d.ts +8 -0
- package/dist/components/Callout/index.d.ts +2 -0
- package/dist/components/Callout.js +8 -69
- package/dist/components/Callout.js.map +1 -1
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Checkbox.js +6 -26
- package/dist/components/Checkbox.js.map +1 -1
- package/dist/components/ColorPicker.js +2 -2
- package/dist/components/DataTable.js +4 -4
- package/dist/components/DatePicker/DatePicker.d.ts +4 -0
- package/dist/components/DatePicker/DatePickerFooter.d.ts +12 -0
- package/dist/components/DatePicker/TimezoneSelect.d.ts +8 -0
- package/dist/components/DatePicker/constants.d.ts +17 -0
- package/dist/components/DatePicker/index.d.ts +2 -0
- package/dist/components/DatePicker/types.d.ts +56 -0
- package/dist/components/DatePicker/utils.d.ts +6 -0
- package/dist/components/DatePicker.js +39 -0
- package/dist/components/DatePicker.js.map +1 -0
- package/dist/components/{Dialog.d.ts → Dialog/Dialog.d.ts} +1 -1
- package/dist/components/Dialog/constants.d.ts +2 -0
- package/dist/components/Dialog/index.d.ts +2 -0
- package/dist/components/Dialog.js +5 -65
- package/dist/components/Dialog.js.map +1 -1
- package/dist/components/DropdownMenu.js +3 -3
- package/dist/components/Empty/index.d.ts +2 -0
- package/dist/components/Empty.js +11 -34
- package/dist/components/Empty.js.map +1 -1
- package/dist/components/Input/constants.d.ts +17 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Input/utils.d.ts +7 -0
- package/dist/components/Input.js +6 -153
- package/dist/components/Input.js.map +1 -1
- package/dist/components/{Kbd.d.ts → Kbd/Kbd.d.ts} +1 -1
- package/dist/components/Kbd/constants.d.ts +1 -0
- package/dist/components/Kbd/index.d.ts +2 -0
- package/dist/components/Kbd.js +9 -46
- package/dist/components/Kbd.js.map +1 -1
- package/dist/components/Label/constants.d.ts +1 -0
- package/dist/components/Label/index.d.ts +2 -0
- package/dist/components/Label.js +13 -65
- package/dist/components/Label.js.map +1 -1
- package/dist/components/MultiEmailInput/MultiEmailInput.d.ts +3 -0
- package/dist/components/MultiEmailInput/constants.d.ts +3 -0
- package/dist/components/MultiEmailInput/index.d.ts +2 -0
- package/dist/components/MultiEmailInput/types.d.ts +53 -0
- package/dist/components/MultiEmailInput/useMultiEmailState.d.ts +18 -0
- package/dist/components/MultiEmailInput/utils.d.ts +9 -0
- package/dist/components/MultiEmailInput.js +14 -0
- package/dist/components/MultiEmailInput.js.map +1 -0
- package/dist/components/Pagination/Pagination.d.ts +18 -0
- package/dist/components/Pagination/constants.d.ts +1 -0
- package/dist/components/Pagination/hooks/usePaginationRange.d.ts +7 -0
- package/dist/components/Pagination/index.d.ts +2 -0
- package/dist/components/Pagination/utils.d.ts +1 -0
- package/dist/components/Pagination.js +15 -0
- package/dist/components/Pagination.js.map +1 -0
- package/dist/components/Popover/constants.d.ts +2 -0
- package/dist/components/Popover/index.d.ts +2 -0
- package/dist/components/Popover.js +8 -104
- package/dist/components/Popover.js.map +1 -1
- package/dist/components/Progress/index.d.ts +2 -0
- package/dist/components/Progress.js +5 -15
- package/dist/components/Progress.js.map +1 -1
- package/dist/components/RadioGroup/index.d.ts +2 -0
- package/dist/components/RadioGroup.js +7 -42
- package/dist/components/RadioGroup.js.map +1 -1
- package/dist/components/Select/MultiSelectCombobox.d.ts +2 -0
- package/dist/components/{MultiSelectCombobox.types.d.ts → Select/MultiSelectCombobox.types.d.ts} +3 -13
- package/dist/components/{OptionItem.d.ts → Select/OptionItem.d.ts} +1 -1
- package/dist/components/Select/Select.d.ts +5 -0
- package/dist/components/Select/SelectCombobox.d.ts +2 -0
- package/dist/components/Select/SelectCombobox.types.d.ts +73 -0
- package/dist/components/Select/dropdown.types.d.ts +12 -0
- package/dist/components/Select/index.d.ts +2 -0
- package/dist/components/Select/types.d.ts +148 -0
- package/dist/components/{MultiSelect.utils.d.ts → Select/utils.d.ts} +1 -1
- package/dist/components/Select.js +29 -1
- package/dist/components/Select.js.map +1 -1
- package/dist/components/Sheet/constants.d.ts +3 -0
- package/dist/components/Sheet/index.d.ts +2 -0
- package/dist/components/Sheet.js +5 -67
- package/dist/components/Sheet.js.map +1 -1
- package/dist/components/Slider/index.d.ts +2 -0
- package/dist/components/Slider.js +6 -27
- package/dist/components/Slider.js.map +1 -1
- package/dist/components/Spinner/constants.d.ts +1 -0
- package/dist/components/Spinner/index.d.ts +2 -0
- package/dist/components/Spinner.js +5 -21
- package/dist/components/Spinner.js.map +1 -1
- package/dist/components/Stepper/index.d.ts +2 -0
- package/dist/components/Stepper.js +5 -31
- package/dist/components/Stepper.js.map +1 -1
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Switch.js +6 -22
- package/dist/components/Switch.js.map +1 -1
- package/dist/components/Tabs/constants.d.ts +5 -0
- package/dist/components/Tabs/index.d.ts +2 -0
- package/dist/components/Tabs.js +6 -57
- package/dist/components/Tabs.js.map +1 -1
- package/dist/components/{Textarea.d.ts → Textarea/Textarea.d.ts} +1 -1
- package/dist/components/Textarea/constants.d.ts +5 -0
- package/dist/components/Textarea/index.d.ts +2 -0
- package/dist/components/Textarea/utils.d.ts +2 -0
- package/dist/components/Textarea.js +6 -79
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/TimePicker/TimeColumn.d.ts +11 -0
- package/dist/components/TimePicker/TimePicker.d.ts +4 -0
- package/dist/components/TimePicker/TimePickerPanel.d.ts +4 -0
- package/dist/components/TimePicker/constants.d.ts +3 -0
- package/dist/components/TimePicker/index.d.ts +3 -0
- package/dist/components/TimePicker/types.d.ts +61 -0
- package/dist/components/TimePicker/utils.d.ts +11 -0
- package/dist/components/TimePicker.js +35 -0
- package/dist/components/TimePicker.js.map +1 -0
- package/dist/components/{Toastr.d.ts → Toastr/Toastr.d.ts} +2 -2
- package/dist/components/Toastr/index.d.ts +2 -0
- package/dist/components/Toastr/utils.d.ts +10 -0
- package/dist/components/Toastr.js +2 -128
- package/dist/components/Toastr.js.map +1 -1
- package/dist/components/Tooltip/constants.d.ts +2 -0
- package/dist/components/Tooltip/index.d.ts +2 -0
- package/dist/components/Tooltip.js +7 -87
- package/dist/components/Tooltip.js.map +1 -1
- package/dist/components/Tree/Tree.d.ts +2 -0
- package/dist/components/Tree/TreeContext.d.ts +26 -0
- package/dist/components/Tree/components/SwitcherIcon.d.ts +6 -0
- package/dist/components/Tree/components/TreeCheckbox.d.ts +8 -0
- package/dist/components/Tree/components/TreeNode.d.ts +3 -0
- package/dist/components/Tree/constants.d.ts +3 -0
- package/dist/components/Tree/hooks/useTreeCheck.d.ts +18 -0
- package/dist/components/Tree/hooks/useTreeExpansion.d.ts +18 -0
- package/dist/components/Tree/hooks/useTreeSelection.d.ts +16 -0
- package/dist/components/Tree/index.d.ts +3 -0
- package/dist/components/Tree/types.d.ts +110 -0
- package/dist/components/Tree/utils/adapter.d.ts +10 -0
- package/dist/components/Tree/utils/checkCascade.d.ts +5 -0
- package/dist/components/Tree/utils/search.d.ts +10 -0
- package/dist/components/Tree.js +57 -0
- package/dist/components/Tree.js.map +1 -0
- package/dist/components/TreeSelect/TreeSelect.d.ts +3 -0
- package/dist/components/TreeSelect/TreeSelectTrigger.d.ts +14 -0
- package/dist/components/{Select.constants.d.ts → TreeSelect/constants.d.ts} +2 -2
- package/dist/components/TreeSelect/hooks/useTreeSelectState.d.ts +30 -0
- package/dist/components/TreeSelect/hooks/useTreeSelectValue.d.ts +19 -0
- package/dist/components/TreeSelect/index.d.ts +2 -0
- package/dist/components/TreeSelect/types.d.ts +49 -0
- package/dist/components/TreeSelect/utils/pruneTree.d.ts +2 -0
- package/dist/components/TreeSelect/utils/resolveFieldNames.d.ts +5 -0
- package/dist/components/TreeSelect.js +39 -0
- package/dist/components/TreeSelect.js.map +1 -0
- package/dist/components/{Typography.d.ts → Typography/Typography.d.ts} +1 -1
- package/dist/components/Typography/index.d.ts +1 -0
- package/dist/components/Typography.js +6 -81
- package/dist/components/Typography.js.map +1 -1
- package/dist/{floating-ui.react-dom-CcGbtPEK.js → floating-ui.react-dom-D8_f_WWh.js} +2 -2
- package/dist/{floating-ui.react-dom-CcGbtPEK.js.map → floating-ui.react-dom-D8_f_WWh.js.map} +1 -1
- package/dist/formik/Button.d.ts +7 -0
- package/dist/formik/Button.js +43 -0
- package/dist/formik/Button.js.map +1 -0
- package/dist/formik/Checkbox.d.ts +8 -0
- package/dist/formik/Checkbox.js +36 -0
- package/dist/formik/Checkbox.js.map +1 -0
- package/dist/formik/Form/FormWrapper.d.ts +9 -0
- package/dist/formik/Form/ScrollToErrorField/index.d.ts +5 -0
- package/dist/formik/Form/ScrollToErrorField/utils.d.ts +2 -0
- package/dist/formik/Form/index.d.ts +16 -0
- package/dist/formik/Form.js +114 -0
- package/dist/formik/Form.js.map +1 -0
- package/dist/formik/Input.d.ts +8 -0
- package/dist/formik/Input.js +36 -0
- package/dist/formik/Input.js.map +1 -0
- package/dist/formik/MultiEmailInput.d.ts +7 -0
- package/dist/formik/MultiEmailInput.js +29 -0
- package/dist/formik/MultiEmailInput.js.map +1 -0
- package/dist/formik/RadioGroup.js +42 -0
- package/dist/formik/RadioGroup.js.map +1 -0
- package/dist/formik/Select.d.ts +7 -0
- package/dist/formik/Select.js +59 -0
- package/dist/formik/Select.js.map +1 -0
- package/dist/formik/Slider.d.ts +8 -0
- package/dist/formik/Slider.js +37 -0
- package/dist/formik/Slider.js.map +1 -0
- package/dist/formik/Switch.d.ts +10 -0
- package/dist/formik/Switch.js +31 -0
- package/dist/formik/Switch.js.map +1 -0
- package/dist/formik/Textarea.d.ts +8 -0
- package/dist/formik/Textarea.js +32 -0
- package/dist/formik/Textarea.js.map +1 -0
- package/dist/formik/TreeSelect.d.ts +7 -0
- package/dist/formik/TreeSelect.js +54 -0
- package/dist/formik/TreeSelect.js.map +1 -0
- package/dist/formik/index.d.ts +22 -0
- package/dist/formik/index.js +85 -0
- package/dist/formik/index.js.map +1 -0
- package/dist/hooks/useAsyncOptions.d.ts +4 -4
- package/dist/hooks/useComboboxAnchor.d.ts +6 -0
- package/dist/hooks/useCreatableItems.d.ts +1 -1
- package/dist/hooks/useMultiSelectOptions.d.ts +22 -4
- package/dist/hooks/useMultiSelectState.d.ts +7 -4
- package/dist/hooks/useSelectState.d.ts +39 -14
- package/dist/{index-ByEpUy7w.js → index-C3hByjk3.js} +2 -2
- package/dist/{index-ByEpUy7w.js.map → index-C3hByjk3.js.map} +1 -1
- package/dist/{index-KzJfsx-e.js → index-DLPtgEJ_.js} +2 -2
- package/dist/{index-KzJfsx-e.js.map → index-DLPtgEJ_.js.map} +1 -1
- package/dist/index.css +2 -1
- package/dist/index.d.ts +13 -2
- package/dist/index.js +281 -402
- package/dist/index.js.map +1 -1
- package/dist/primitives/Calendar.js +8 -8003
- package/dist/primitives/Calendar.js.map +1 -1
- package/dist/primitives/Chart.js +253 -50
- package/dist/primitives/Chart.js.map +1 -1
- package/dist/primitives/Combobox.d.ts +3 -3
- package/dist/primitives/Combobox.js +787 -1100
- package/dist/primitives/Combobox.js.map +1 -1
- package/dist/primitives/ContextMenu.js +3 -3
- package/dist/primitives/DropdownMenu.js +3 -3
- package/dist/primitives/HoverCard.js +2 -2
- package/dist/primitives/Menubar.js +3 -3
- package/dist/primitives/Pagination.js +1 -1
- package/dist/primitives/Popover.js +2 -2
- package/dist/primitives/Resizable.js +799 -778
- package/dist/primitives/Resizable.js.map +1 -1
- package/dist/primitives/Select.js +4 -4
- package/dist/primitives/Sidebar.js +3 -3
- package/dist/primitives/Tooltip.js +3 -3
- package/dist/primitives/index.js +7 -6
- package/dist/primitives/index.js.map +1 -1
- package/dist/redux-BKH6DnBB.js +235 -0
- package/dist/redux-BKH6DnBB.js.map +1 -0
- package/dist/shadcn/components/combobox.d.ts +1 -1
- package/dist/shadcn/components/typography.d.ts +2 -2
- package/dist/{tooltip-DzjIJacP.js → tooltip-XkHLgxlU.js} +2 -2
- package/dist/{tooltip-DzjIJacP.js.map → tooltip-XkHLgxlU.js.map} +1 -1
- package/dist/utils/dayjs/index.d.ts +4 -0
- package/dist/utils/dayjs/timezonePlugin.d.ts +3 -0
- package/dist/with-selector-Dv0G_V_o.js +115 -0
- package/dist/with-selector-Dv0G_V_o.js.map +1 -0
- package/package.json +17 -3
- package/dist/cjs/components/MultiSelect.js +0 -13
- package/dist/cjs/components/MultiSelect.js.map +0 -1
- package/dist/cjs/components/MultiSelectCombobox.js +0 -3
- package/dist/cjs/components/MultiSelectCombobox.js.map +0 -1
- package/dist/cjs/components/MultiSelectDropdown.js +0 -38
- package/dist/cjs/components/MultiSelectDropdown.js.map +0 -1
- package/dist/cjs/components/OptionItem.js +0 -34
- package/dist/cjs/components/OptionItem.js.map +0 -1
- package/dist/cjs/components/SelectFieldWrapper.js.map +0 -1
- package/dist/cjs/components/SelectOptions.js +0 -43
- package/dist/cjs/components/SelectOptions.js.map +0 -1
- package/dist/cjs/components/SelectTriggerContent.js +0 -47
- package/dist/cjs/components/SelectTriggerContent.js.map +0 -1
- package/dist/cjs/components/shared.js +0 -8
- package/dist/cjs/components/shared.js.map +0 -1
- package/dist/cjs/useCreatableItems-BTHtd7uo.js +0 -100
- package/dist/cjs/useCreatableItems-BTHtd7uo.js.map +0 -1
- package/dist/cjs/with-selector-u4xTSzCv.js +0 -457
- package/dist/cjs/with-selector-u4xTSzCv.js.map +0 -1
- package/dist/components/MultiSelect.d.ts +0 -4
- package/dist/components/MultiSelect.js +0 -4
- package/dist/components/MultiSelect.js.map +0 -1
- package/dist/components/MultiSelect.types.d.ts +0 -121
- package/dist/components/MultiSelectCombobox.d.ts +0 -3
- package/dist/components/MultiSelectCombobox.js +0 -2
- package/dist/components/MultiSelectCombobox.js.map +0 -1
- package/dist/components/MultiSelectDropdown.js +0 -36
- package/dist/components/MultiSelectDropdown.js.map +0 -1
- package/dist/components/OptionItem.js +0 -32
- package/dist/components/OptionItem.js.map +0 -1
- package/dist/components/Select.d.ts +0 -4
- package/dist/components/Select.types.d.ts +0 -58
- package/dist/components/SelectFieldWrapper.js.map +0 -1
- package/dist/components/SelectOptions.d.ts +0 -2
- package/dist/components/SelectOptions.js +0 -41
- package/dist/components/SelectOptions.js.map +0 -1
- package/dist/components/SelectTriggerContent.d.ts +0 -18
- package/dist/components/SelectTriggerContent.js +0 -45
- package/dist/components/SelectTriggerContent.js.map +0 -1
- package/dist/components/shared.js +0 -6
- package/dist/components/shared.js.map +0 -1
- package/dist/components/shared.types.d.ts +0 -16
- package/dist/useCreatableItems-B0seQA1_.js +0 -89
- package/dist/useCreatableItems-B0seQA1_.js.map +0 -1
- package/dist/with-selector--fY1NrB9.js +0 -448
- package/dist/with-selector--fY1NrB9.js.map +0 -1
- /package/dist/components/{Accordion.d.ts → Accordion/Accordion.d.ts} +0 -0
- /package/dist/components/{Button.d.ts → Button/Button.d.ts} +0 -0
- /package/dist/components/{Checkbox.d.ts → Checkbox/Checkbox.d.ts} +0 -0
- /package/dist/components/{Empty.d.ts → Empty/Empty.d.ts} +0 -0
- /package/dist/components/{Input.d.ts → Input/Input.d.ts} +0 -0
- /package/dist/components/{Label.d.ts → Label/Label.d.ts} +0 -0
- /package/dist/components/{Popover.d.ts → Popover/Popover.d.ts} +0 -0
- /package/dist/components/{Progress.d.ts → Progress/Progress.d.ts} +0 -0
- /package/dist/components/{RadioGroup.d.ts → RadioGroup/RadioGroup.d.ts} +0 -0
- /package/dist/components/{MultiSelectDropdown.d.ts → Select/MultiSelectDropdown.d.ts} +0 -0
- /package/dist/components/{SelectFieldWrapper.d.ts → Select/SelectFieldWrapper.d.ts} +0 -0
- /package/dist/components/{MultiSelect.constants.d.ts → Select/constants.d.ts} +0 -0
- /package/dist/components/{Sheet.d.ts → Sheet/Sheet.d.ts} +0 -0
- /package/dist/components/{Slider.d.ts → Slider/Slider.d.ts} +0 -0
- /package/dist/components/{Spinner.d.ts → Spinner/Spinner.d.ts} +0 -0
- /package/dist/components/{Stepper.d.ts → Stepper/Stepper.d.ts} +0 -0
- /package/dist/components/{Switch.d.ts → Switch/Switch.d.ts} +0 -0
- /package/dist/components/{Tabs.d.ts → Tabs/Tabs.d.ts} +0 -0
- /package/dist/components/{Tooltip.d.ts → Tooltip/Tooltip.d.ts} +0 -0
|
@@ -0,0 +1,561 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import React__default, { useState, useRef, useEffect, useCallback, useMemo, useId, forwardRef } from 'react';
|
|
3
|
+
import { S as SelectFieldWrapper } from './SelectFieldWrapper-BJzq9aCY.js';
|
|
4
|
+
import { c as cn } from './utils-DdHUxIdC.js';
|
|
5
|
+
import { ComboboxItem, ComboboxList, ComboboxEmpty, ComboboxCollection, ComboboxGroup, ComboboxLabel, Combobox, ComboboxChips, ComboboxChipsInput, ComboboxContent, ComboboxChip } from './primitives/Combobox.js';
|
|
6
|
+
import { Spinner } from './primitives/Spinner.js';
|
|
7
|
+
import { X } from './x-_o2T3n6D.js';
|
|
8
|
+
import { C as ChevronDown } from './chevron-down-BNi0ntys.js';
|
|
9
|
+
|
|
10
|
+
function hyphenize(str) {
|
|
11
|
+
return str
|
|
12
|
+
.replace(/([a-z])([A-Z])/g, "$1-$2")
|
|
13
|
+
.replace(/[\s_]+/g, "-")
|
|
14
|
+
.toLowerCase();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function buildAriaDescribedBy(error, errorId, helpText, helpTextId) {
|
|
18
|
+
return ([error ? errorId : null, helpText ? helpTextId : null]
|
|
19
|
+
.filter(Boolean)
|
|
20
|
+
.join(" ") || undefined);
|
|
21
|
+
}
|
|
22
|
+
function buildTestIdPrefix(dataTestId, label) {
|
|
23
|
+
return dataTestId ?? (label ? hyphenize(label) : undefined);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function useAsyncOptions({ loadOptions, defaultOptions = false, cacheOptions = false, }) {
|
|
27
|
+
const [asyncOptions, setAsyncOptions] = useState(() => Array.isArray(defaultOptions) ? defaultOptions : []);
|
|
28
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
29
|
+
const cacheRef = useRef({});
|
|
30
|
+
const debounceRef = useRef(null);
|
|
31
|
+
const latestRequestRef = useRef(0);
|
|
32
|
+
const mountedRef = useRef(true);
|
|
33
|
+
// Load default options on mount when `defaultOptions === true`
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (!loadOptions || defaultOptions !== true)
|
|
36
|
+
return;
|
|
37
|
+
let cancelled = false;
|
|
38
|
+
setIsLoading(true);
|
|
39
|
+
loadOptions("")
|
|
40
|
+
.then(results => {
|
|
41
|
+
if (cancelled)
|
|
42
|
+
return;
|
|
43
|
+
setAsyncOptions(results);
|
|
44
|
+
if (cacheOptions)
|
|
45
|
+
cacheRef.current[""] = results;
|
|
46
|
+
setIsLoading(false);
|
|
47
|
+
})
|
|
48
|
+
.catch(() => {
|
|
49
|
+
if (!cancelled)
|
|
50
|
+
setIsLoading(false);
|
|
51
|
+
});
|
|
52
|
+
return () => {
|
|
53
|
+
cancelled = true;
|
|
54
|
+
};
|
|
55
|
+
}, []);
|
|
56
|
+
// Clean up debounce timer and mark unmounted
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
return () => {
|
|
59
|
+
mountedRef.current = false;
|
|
60
|
+
if (debounceRef.current)
|
|
61
|
+
clearTimeout(debounceRef.current);
|
|
62
|
+
};
|
|
63
|
+
}, []);
|
|
64
|
+
const handleAsyncInputChange = useCallback((value) => {
|
|
65
|
+
if (!loadOptions)
|
|
66
|
+
return;
|
|
67
|
+
const query = value.trim();
|
|
68
|
+
// Check cache first
|
|
69
|
+
if (cacheOptions && query in cacheRef.current) {
|
|
70
|
+
setAsyncOptions(cacheRef.current[query]);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// Debounce the fetch
|
|
74
|
+
if (debounceRef.current)
|
|
75
|
+
clearTimeout(debounceRef.current);
|
|
76
|
+
debounceRef.current = setTimeout(() => {
|
|
77
|
+
const requestId = ++latestRequestRef.current;
|
|
78
|
+
setIsLoading(true);
|
|
79
|
+
loadOptions(query)
|
|
80
|
+
.then(results => {
|
|
81
|
+
if (requestId !== latestRequestRef.current || !mountedRef.current)
|
|
82
|
+
return;
|
|
83
|
+
setAsyncOptions(results);
|
|
84
|
+
if (cacheOptions)
|
|
85
|
+
cacheRef.current[query] = results;
|
|
86
|
+
setIsLoading(false);
|
|
87
|
+
})
|
|
88
|
+
.catch(() => {
|
|
89
|
+
if (requestId === latestRequestRef.current && mountedRef.current) {
|
|
90
|
+
setIsLoading(false);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}, 300);
|
|
94
|
+
}, [loadOptions, cacheOptions]);
|
|
95
|
+
return { asyncOptions, isLoading, handleAsyncInputChange };
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function useLazyLoadSentinel({ fetchMore, isEnabled, }) {
|
|
99
|
+
const observerRef = useRef(null);
|
|
100
|
+
const fetchMoreRef = useRef(fetchMore);
|
|
101
|
+
fetchMoreRef.current = fetchMore;
|
|
102
|
+
const sentinelRef = useCallback((node) => {
|
|
103
|
+
observerRef.current?.disconnect();
|
|
104
|
+
observerRef.current = null;
|
|
105
|
+
if (!node || !isEnabled)
|
|
106
|
+
return;
|
|
107
|
+
const observer = new IntersectionObserver(entries => {
|
|
108
|
+
if (entries[0]?.isIntersecting)
|
|
109
|
+
fetchMoreRef.current?.();
|
|
110
|
+
}, { root: null, rootMargin: "0px", threshold: 0.1 });
|
|
111
|
+
observer.observe(node);
|
|
112
|
+
observerRef.current = observer;
|
|
113
|
+
}, [isEnabled]);
|
|
114
|
+
// Clean up observer on unmount
|
|
115
|
+
useEffect(() => {
|
|
116
|
+
return () => {
|
|
117
|
+
observerRef.current?.disconnect();
|
|
118
|
+
};
|
|
119
|
+
}, []);
|
|
120
|
+
return sentinelRef;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
const CREATE_PREFIX = "__create__:";
|
|
124
|
+
function useCreatableItems({ isCreatable, isGrouped, flatOptions, selectedValues, baseUiItems, onCreateOption, onChange, onAsyncInputChange, children, }) {
|
|
125
|
+
const [inputValue, setInputValue] = useState("");
|
|
126
|
+
const handleInputValueChange = useCallback((value) => {
|
|
127
|
+
setInputValue(value);
|
|
128
|
+
onAsyncInputChange?.(value);
|
|
129
|
+
}, [onAsyncInputChange]);
|
|
130
|
+
const trimmedInput = inputValue.trim();
|
|
131
|
+
const showCreateOption = useMemo(() => {
|
|
132
|
+
if (!isCreatable || trimmedInput.length === 0)
|
|
133
|
+
return false;
|
|
134
|
+
const lower = trimmedInput.toLowerCase();
|
|
135
|
+
return (!flatOptions.some(o => o.label.toLowerCase() === lower || o.value.toLowerCase() === lower) && !selectedValues.includes(trimmedInput));
|
|
136
|
+
}, [isCreatable, trimmedInput, flatOptions, selectedValues]);
|
|
137
|
+
const effectiveItems = React__default.useMemo(() => computeEffectiveItems(children, baseUiItems, showCreateOption, isGrouped, trimmedInput), [baseUiItems, children, isGrouped, showCreateOption, trimmedInput]);
|
|
138
|
+
// Custom filter: always pass the "Create" item through
|
|
139
|
+
const creatableFilter = useCallback((itemValue, query, itemToString) => {
|
|
140
|
+
if (itemValue.startsWith(CREATE_PREFIX))
|
|
141
|
+
return true;
|
|
142
|
+
const label = itemToString?.(itemValue) ?? itemValue;
|
|
143
|
+
return label.toLowerCase().includes(query.toLowerCase());
|
|
144
|
+
}, []);
|
|
145
|
+
const handleValueChange = useCallback((next) => {
|
|
146
|
+
const raw = next ?? [];
|
|
147
|
+
const createEntry = raw.find(v => v.startsWith(CREATE_PREFIX));
|
|
148
|
+
if (createEntry) {
|
|
149
|
+
const newValue = createEntry.slice(CREATE_PREFIX.length);
|
|
150
|
+
const withNewValue = raw.map(v => (v === createEntry ? newValue : v));
|
|
151
|
+
onCreateOption?.(newValue);
|
|
152
|
+
onChange?.(withNewValue);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
onChange?.(raw);
|
|
156
|
+
}, [onChange, onCreateOption]);
|
|
157
|
+
return {
|
|
158
|
+
inputValue,
|
|
159
|
+
showCreateOption,
|
|
160
|
+
effectiveItems,
|
|
161
|
+
creatableFilter,
|
|
162
|
+
handleInputValueChange,
|
|
163
|
+
handleValueChange,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
function isOptionGroup(opt) {
|
|
168
|
+
return "options" in opt && Array.isArray(opt.options);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/** Flatten grouped options into a flat lookup array. */
|
|
172
|
+
function flattenOptions(options) {
|
|
173
|
+
return options.flatMap(opt => (isOptionGroup(opt) ? opt.options : [opt]));
|
|
174
|
+
}
|
|
175
|
+
/** Check if any option is a group. */
|
|
176
|
+
function hasGroups(options) {
|
|
177
|
+
return options.some(isOptionGroup);
|
|
178
|
+
}
|
|
179
|
+
/** Convert options to base-ui `items` format for filtering support. */
|
|
180
|
+
function toBaseUiItems(options) {
|
|
181
|
+
if (hasGroups(options)) {
|
|
182
|
+
return options.filter(isOptionGroup).map(g => ({
|
|
183
|
+
label: g.label,
|
|
184
|
+
items: g.options.map(o => o.value),
|
|
185
|
+
}));
|
|
186
|
+
}
|
|
187
|
+
return options.map(o => o.value);
|
|
188
|
+
}
|
|
189
|
+
/** Build the effective items array, appending a "Create" entry when needed. */
|
|
190
|
+
function computeEffectiveItems(children, baseUiItems, showCreateOption, isGrouped, trimmedInput) {
|
|
191
|
+
if (children)
|
|
192
|
+
return undefined;
|
|
193
|
+
const createValue = showCreateOption
|
|
194
|
+
? `${CREATE_PREFIX}${trimmedInput}`
|
|
195
|
+
: null;
|
|
196
|
+
if (!baseUiItems && !createValue)
|
|
197
|
+
return undefined;
|
|
198
|
+
const base = baseUiItems ?? [];
|
|
199
|
+
if (!createValue)
|
|
200
|
+
return base;
|
|
201
|
+
if (!isGrouped) {
|
|
202
|
+
return [...base, createValue];
|
|
203
|
+
}
|
|
204
|
+
return [
|
|
205
|
+
...base,
|
|
206
|
+
{ label: "", items: [createValue] },
|
|
207
|
+
];
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
function useMultiSelectOptions(props) {
|
|
211
|
+
const isAsync = !!props.loadOptions;
|
|
212
|
+
const { asyncOptions, isLoading, handleAsyncInputChange } = useAsyncOptions({
|
|
213
|
+
loadOptions: props.loadOptions,
|
|
214
|
+
defaultOptions: props.defaultOptions ?? false,
|
|
215
|
+
cacheOptions: props.cacheOptions ?? false,
|
|
216
|
+
});
|
|
217
|
+
const resolvedOptions = isAsync
|
|
218
|
+
? asyncOptions
|
|
219
|
+
: (props.options ?? []);
|
|
220
|
+
const flatOptions = flattenOptions(resolvedOptions);
|
|
221
|
+
const isGrouped = hasGroups(resolvedOptions);
|
|
222
|
+
const baseUiItems = React__default.useMemo(() => resolvedOptions.length > 0 ? toBaseUiItems(resolvedOptions) : undefined, [resolvedOptions]);
|
|
223
|
+
const hasMoreLazy = (props.isAsyncLoadOptionEnabled ?? false) &&
|
|
224
|
+
typeof props.totalOptionsCount === "number" &&
|
|
225
|
+
flatOptions.length < props.totalOptionsCount;
|
|
226
|
+
const loaderCallbackRef = useLazyLoadSentinel({
|
|
227
|
+
fetchMore: props.fetchMore,
|
|
228
|
+
isEnabled: props.isAsyncLoadOptionEnabled ?? false,
|
|
229
|
+
});
|
|
230
|
+
return {
|
|
231
|
+
isAsync,
|
|
232
|
+
resolvedOptions,
|
|
233
|
+
flatOptions,
|
|
234
|
+
isGrouped,
|
|
235
|
+
isLoading,
|
|
236
|
+
handleAsyncInputChange,
|
|
237
|
+
baseUiItems,
|
|
238
|
+
hasMoreLazy,
|
|
239
|
+
loaderCallbackRef,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// SIZE_CONFIG is shared by both SelectCombobox (single-select) and
|
|
244
|
+
// MultiSelectCombobox (multi-select). Keys mirror the MultiSelect constants
|
|
245
|
+
// that previously lived in MultiSelect.constants.ts.
|
|
246
|
+
const SIZE_CONFIG = {
|
|
247
|
+
small: {
|
|
248
|
+
chips: "min-h-7 text-xs gap-0.5 px-1 py-0.5",
|
|
249
|
+
input: "text-xs",
|
|
250
|
+
chip: "h-4.5 text-[0.6875rem] px-1",
|
|
251
|
+
},
|
|
252
|
+
medium: {
|
|
253
|
+
chips: "min-h-8 text-sm gap-1 px-2.5 py-1",
|
|
254
|
+
input: "text-sm",
|
|
255
|
+
chip: "h-5.25 text-xs px-1.5",
|
|
256
|
+
},
|
|
257
|
+
large: {
|
|
258
|
+
chips: "min-h-10 text-sm gap-1 px-2.5 py-1.5",
|
|
259
|
+
input: "text-sm",
|
|
260
|
+
chip: "h-6 text-xs px-2",
|
|
261
|
+
},
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
const defaultFormatCreateLabel$1 = (v) => `Create "${v}"`;
|
|
265
|
+
function useSelectState(props) {
|
|
266
|
+
const { id: idProp, size = "medium", label = "", error = "", helpText = "", value: valueProp, defaultValue, onChange, dataTestId, isCreatable = false, onCreateOption, formatCreateLabel = defaultFormatCreateLabel$1, isClearable = false, isDisabled = false, required = false, isSearchable = true, autoHighlight = true, onOpenChange, children, } = props;
|
|
267
|
+
const opt = useMultiSelectOptions(props);
|
|
268
|
+
const generatedId = useId();
|
|
269
|
+
const id = idProp ?? generatedId;
|
|
270
|
+
const errorId = `error_${id}`;
|
|
271
|
+
const helpTextId = `helpText_${id}`;
|
|
272
|
+
const sizeConfig = SIZE_CONFIG[size];
|
|
273
|
+
const isControlled = valueProp !== undefined;
|
|
274
|
+
const [internalValue, setInternalValue] = useState(defaultValue ?? "");
|
|
275
|
+
const currentValue = isControlled ? (valueProp ?? "") : internalValue;
|
|
276
|
+
const applyValue = useCallback((next) => {
|
|
277
|
+
if (!isControlled)
|
|
278
|
+
setInternalValue(next);
|
|
279
|
+
onChange?.(next);
|
|
280
|
+
}, [isControlled, onChange]);
|
|
281
|
+
const handleValueChange = useCallback((next) => {
|
|
282
|
+
const raw = next ?? "";
|
|
283
|
+
// Handle the creatable "Create X" option
|
|
284
|
+
if (raw.startsWith(CREATE_PREFIX)) {
|
|
285
|
+
const newValue = raw.slice(CREATE_PREFIX.length);
|
|
286
|
+
onCreateOption?.(newValue);
|
|
287
|
+
applyValue(newValue);
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
applyValue(raw);
|
|
291
|
+
}, [applyValue, onCreateOption]);
|
|
292
|
+
const [inputValue, setInputValueState] = useState("");
|
|
293
|
+
const trimmedInput = inputValue.trim();
|
|
294
|
+
const combinedHandleInputValueChange = useCallback((value) => {
|
|
295
|
+
setInputValueState(value);
|
|
296
|
+
if (opt.isAsync)
|
|
297
|
+
opt.handleAsyncInputChange(value);
|
|
298
|
+
}, [opt.isAsync, opt.handleAsyncInputChange]);
|
|
299
|
+
const handleClear = useCallback(() => {
|
|
300
|
+
applyValue("");
|
|
301
|
+
}, [applyValue]);
|
|
302
|
+
const showCreateOption = useMemo(() => {
|
|
303
|
+
if (!isCreatable ||
|
|
304
|
+
trimmedInput.length === 0 ||
|
|
305
|
+
currentValue === trimmedInput)
|
|
306
|
+
return false;
|
|
307
|
+
const lower = trimmedInput.toLowerCase();
|
|
308
|
+
return !opt.flatOptions.some(o => o.label.toLowerCase() === lower || o.value.toLowerCase() === lower);
|
|
309
|
+
}, [isCreatable, trimmedInput, currentValue, opt.flatOptions]);
|
|
310
|
+
const effectiveItems = useMemo(() => {
|
|
311
|
+
if (children)
|
|
312
|
+
return undefined;
|
|
313
|
+
const base = opt.baseUiItems;
|
|
314
|
+
if (!showCreateOption)
|
|
315
|
+
return base;
|
|
316
|
+
const createValue = `${CREATE_PREFIX}${trimmedInput}`;
|
|
317
|
+
if (!opt.isGrouped) {
|
|
318
|
+
return [...(base ?? []), createValue];
|
|
319
|
+
}
|
|
320
|
+
return [
|
|
321
|
+
...(base ?? []),
|
|
322
|
+
{ label: "", items: [createValue] },
|
|
323
|
+
];
|
|
324
|
+
}, [
|
|
325
|
+
children,
|
|
326
|
+
opt.baseUiItems,
|
|
327
|
+
opt.isGrouped,
|
|
328
|
+
showCreateOption,
|
|
329
|
+
trimmedInput,
|
|
330
|
+
]);
|
|
331
|
+
const creatableFilter = useCallback((itemValue, query, itemToString) => {
|
|
332
|
+
if (itemValue.startsWith(CREATE_PREFIX))
|
|
333
|
+
return true;
|
|
334
|
+
const label = itemToString?.(itemValue) ?? itemValue;
|
|
335
|
+
return label.toLowerCase().includes(query.toLowerCase());
|
|
336
|
+
}, []);
|
|
337
|
+
const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);
|
|
338
|
+
const testIdPrefix = buildTestIdPrefix(dataTestId, label);
|
|
339
|
+
const showClearButton = isClearable && !!currentValue && !isDisabled;
|
|
340
|
+
const flatOptionsMap = useMemo(() => new Map(opt.flatOptions.map(o => [o.value, o])), [opt.flatOptions]);
|
|
341
|
+
const labelForValue = useCallback((val) => {
|
|
342
|
+
if (val.startsWith(CREATE_PREFIX)) {
|
|
343
|
+
return formatCreateLabel(val.slice(CREATE_PREFIX.length));
|
|
344
|
+
}
|
|
345
|
+
return flatOptionsMap.get(val)?.label ?? val;
|
|
346
|
+
}, [flatOptionsMap, formatCreateLabel]);
|
|
347
|
+
return {
|
|
348
|
+
...opt,
|
|
349
|
+
id,
|
|
350
|
+
errorId,
|
|
351
|
+
helpTextId,
|
|
352
|
+
sizeConfig,
|
|
353
|
+
isControlled,
|
|
354
|
+
currentValue,
|
|
355
|
+
effectiveItems,
|
|
356
|
+
creatableFilter,
|
|
357
|
+
handleValueChange,
|
|
358
|
+
handleInputValueChange: combinedHandleInputValueChange,
|
|
359
|
+
handleClear,
|
|
360
|
+
showCreateOption,
|
|
361
|
+
showClearButton,
|
|
362
|
+
ariaDescribedBy,
|
|
363
|
+
testIdPrefix,
|
|
364
|
+
labelForValue,
|
|
365
|
+
flatOptionsMap,
|
|
366
|
+
label,
|
|
367
|
+
error,
|
|
368
|
+
helpText,
|
|
369
|
+
isDisabled,
|
|
370
|
+
required,
|
|
371
|
+
isSearchable,
|
|
372
|
+
autoHighlight,
|
|
373
|
+
onOpenChange,
|
|
374
|
+
isClearable,
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
const defaultFormatCreateLabel = (v) => `Create "${v}"`;
|
|
379
|
+
function useMultiSelectState(props) {
|
|
380
|
+
const { id: idProp, size = "medium", label = "", error = "", helpText = "", value: valueProp, defaultValue, onChange, dataTestId, isCreatable = false, onCreateOption, formatCreateLabel = defaultFormatCreateLabel, children, } = props;
|
|
381
|
+
const opt = useMultiSelectOptions(props);
|
|
382
|
+
const generatedId = useId();
|
|
383
|
+
const id = idProp ?? generatedId;
|
|
384
|
+
const errorId = `error_${id}`;
|
|
385
|
+
const helpTextId = `helpText_${id}`;
|
|
386
|
+
const sizeConfig = SIZE_CONFIG[size];
|
|
387
|
+
const isControlled = valueProp !== undefined;
|
|
388
|
+
const [internalValue, setInternalValue] = useState(defaultValue ?? []);
|
|
389
|
+
const selectedValues = isControlled ? valueProp : internalValue;
|
|
390
|
+
const handleChange = useCallback((values) => {
|
|
391
|
+
setInternalValue(values);
|
|
392
|
+
onChange?.(values);
|
|
393
|
+
}, [onChange]);
|
|
394
|
+
const { showCreateOption, effectiveItems, creatableFilter, handleInputValueChange, handleValueChange, } = useCreatableItems({
|
|
395
|
+
isCreatable,
|
|
396
|
+
isGrouped: opt.isGrouped,
|
|
397
|
+
flatOptions: opt.flatOptions,
|
|
398
|
+
selectedValues,
|
|
399
|
+
baseUiItems: opt.baseUiItems,
|
|
400
|
+
onCreateOption,
|
|
401
|
+
onChange: handleChange,
|
|
402
|
+
onAsyncInputChange: opt.isAsync ? opt.handleAsyncInputChange : undefined,
|
|
403
|
+
children,
|
|
404
|
+
});
|
|
405
|
+
const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);
|
|
406
|
+
const testIdPrefix = buildTestIdPrefix(dataTestId, label);
|
|
407
|
+
const flatOptionsMap = useMemo(() => new Map(opt.flatOptions.map(o => [o.value, o])), [opt.flatOptions]);
|
|
408
|
+
const labelForValue = useCallback((val) => {
|
|
409
|
+
if (val.startsWith(CREATE_PREFIX)) {
|
|
410
|
+
return formatCreateLabel(val.slice(CREATE_PREFIX.length));
|
|
411
|
+
}
|
|
412
|
+
return flatOptionsMap.get(val)?.label ?? val;
|
|
413
|
+
}, [flatOptionsMap, formatCreateLabel]);
|
|
414
|
+
return {
|
|
415
|
+
...opt,
|
|
416
|
+
id,
|
|
417
|
+
errorId,
|
|
418
|
+
helpTextId,
|
|
419
|
+
sizeConfig,
|
|
420
|
+
isControlled,
|
|
421
|
+
selectedValues,
|
|
422
|
+
effectiveItems,
|
|
423
|
+
creatableFilter,
|
|
424
|
+
handleInputValueChange,
|
|
425
|
+
handleValueChange,
|
|
426
|
+
showCreateOption,
|
|
427
|
+
ariaDescribedBy,
|
|
428
|
+
testIdPrefix,
|
|
429
|
+
labelForValue,
|
|
430
|
+
flatOptionsMap,
|
|
431
|
+
label,
|
|
432
|
+
error,
|
|
433
|
+
helpText,
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
/** Shared anchor + non-searchable click-to-focus behaviour for combobox triggers. */
|
|
438
|
+
function useComboboxAnchor(isSearchable) {
|
|
439
|
+
const [anchorEl, setAnchorEl] = useState(null);
|
|
440
|
+
const handleClick = useCallback((e) => {
|
|
441
|
+
if (!isSearchable) {
|
|
442
|
+
e.currentTarget.querySelector("input")?.focus();
|
|
443
|
+
}
|
|
444
|
+
}, [isSearchable]);
|
|
445
|
+
return { anchorEl, setAnchorEl, handleClick };
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
function OptionItem({ val, flatOptionsMap, labelForValue, testIdPrefix, }) {
|
|
449
|
+
return (jsx(ComboboxItem, { value: val, disabled: !val.startsWith(CREATE_PREFIX) && flatOptionsMap.get(val)?.disabled, className: val.startsWith(CREATE_PREFIX) ? "text-primary" : undefined, ...(testIdPrefix
|
|
450
|
+
? { "data-testid": `${testIdPrefix}-select-option` }
|
|
451
|
+
: {}), children: labelForValue(val) }, val));
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
function MultiSelectDropdown({ resolvedOptions, flatOptionsMap, isGrouped, isLoading, loadingMessage, emptyMessage, showCreateOption, labelForValue, testIdPrefix, hasMoreLazy, loaderCallbackRef, children, }) {
|
|
455
|
+
return (jsxs(ComboboxList, { ...(testIdPrefix
|
|
456
|
+
? { "data-testid": `${testIdPrefix}-select-menu` }
|
|
457
|
+
: {}), children: [isLoading && (jsx("div", { className: "flex w-full justify-center py-2 text-center text-sm text-muted-foreground", children: loadingMessage })), !isLoading && !showCreateOption && (jsx(ComboboxEmpty, { children: emptyMessage })), children ??
|
|
458
|
+
(resolvedOptions.length > 0 || showCreateOption ? (isGrouped ? (jsx(ComboboxCollection, { children: (group) => (jsxs(ComboboxGroup, { items: group.items, children: [group.label && jsx(ComboboxLabel, { children: group.label }), jsx(ComboboxCollection, { children: (val) => (jsx(OptionItem, { val: val, flatOptionsMap: flatOptionsMap, labelForValue: labelForValue, testIdPrefix: testIdPrefix }, val)) })] }, group.label || "__create__")) })) : (jsx(ComboboxCollection, { children: (val) => (jsx(OptionItem, { val: val, flatOptionsMap: flatOptionsMap, labelForValue: labelForValue, testIdPrefix: testIdPrefix }, val)) }))) : null), hasMoreLazy && (jsx("div", { ref: loaderCallbackRef, className: "flex w-full items-center justify-center py-3", "data-testid": testIdPrefix ? `${testIdPrefix}-lazy-loader` : "lazy-loader", children: jsx(Spinner, {}) }))] }));
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
const SelectCombobox = forwardRef((p, ref) => {
|
|
462
|
+
const { anchorEl, setAnchorEl, handleClick } = useComboboxAnchor(p.isSearchable);
|
|
463
|
+
const handleClearClick = useCallback((e) => {
|
|
464
|
+
e.stopPropagation();
|
|
465
|
+
e.preventDefault();
|
|
466
|
+
p.handleClear();
|
|
467
|
+
}, [p.handleClear]);
|
|
468
|
+
return (jsxs(Combobox, { name: p.name, ...(p.effectiveItems && !p.children
|
|
469
|
+
? {
|
|
470
|
+
items: p.effectiveItems,
|
|
471
|
+
itemToStringLabel: p.labelForValue,
|
|
472
|
+
...(!p.isSearchable || p.isAsync
|
|
473
|
+
? { filter: null }
|
|
474
|
+
: p.isCreatable
|
|
475
|
+
? { filter: p.creatableFilter }
|
|
476
|
+
: {}),
|
|
477
|
+
}
|
|
478
|
+
: {}), ...(p.isControlled
|
|
479
|
+
? { value: p.valueProp }
|
|
480
|
+
: { defaultValue: p.defaultValue }), onValueChange: p.handleValueChange, ...(p.isCreatable || p.isAsync
|
|
481
|
+
? { onInputValueChange: p.handleInputValueChange }
|
|
482
|
+
: {}), onOpenChange: p.onOpenChange, disabled: p.isDisabled, autoHighlight: p.autoHighlight, children: [jsx("div", { ref: setAnchorEl, onClick: handleClick, className: !p.isSearchable ? "cursor-pointer" : undefined, children: jsxs(ComboboxChips, { className: cn(p.sizeConfig.chips, !!p.error &&
|
|
483
|
+
"border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40", p.inputClassName), ...(p.testIdPrefix
|
|
484
|
+
? { "data-testid": `${p.testIdPrefix}-select-container` }
|
|
485
|
+
: {}), children: [!p.isSearchable &&
|
|
486
|
+
(p.currentValue ? (jsx("span", { className: "flex-1 truncate", children: p.labelForValue(p.currentValue) })) : (jsx("span", { className: "flex-1 truncate text-muted-foreground", children: p.placeholder }))), jsx(ComboboxChipsInput, { ref: ref, id: p.id, placeholder: p.isSearchable && !p.currentValue ? p.placeholder : undefined, "aria-invalid": !!p.error || undefined, "aria-describedby": p.ariaDescribedBy, "aria-required": p.required || undefined, className: cn(p.sizeConfig.input, !p.isSearchable && "w-0 min-w-0 overflow-hidden p-0 opacity-0"), disabled: p.isDisabled, ...(p.testIdPrefix
|
|
487
|
+
? { "data-testid": `${p.testIdPrefix}-select-input` }
|
|
488
|
+
: {}) }), p.showClearButton && (jsx("button", { type: "button", tabIndex: -1, "aria-label": "Clear selection", className: "shrink-0 text-muted-foreground hover:text-foreground", onClick: handleClearClick, children: jsx(X, { className: "size-3.5" }) })), jsx(ChevronDown, { className: "size-4 shrink-0 text-muted-foreground" })] }) }), jsx(ComboboxContent, { anchor: anchorEl, ...p.contentProps, children: jsx(MultiSelectDropdown, { ...p.dropdownProps, labelForValue: p.labelForValue, testIdPrefix: p.testIdPrefix, children: p.children }) })] }));
|
|
489
|
+
});
|
|
490
|
+
SelectCombobox.displayName = "SelectCombobox";
|
|
491
|
+
|
|
492
|
+
const MultiSelectCombobox = forwardRef((p, ref) => {
|
|
493
|
+
const { anchorEl, setAnchorEl, handleClick } = useComboboxAnchor(p.isSearchable);
|
|
494
|
+
return (jsxs(Combobox, { multiple: true, name: p.name, ...(p.effectiveItems && !p.children
|
|
495
|
+
? {
|
|
496
|
+
items: p.effectiveItems,
|
|
497
|
+
itemToStringLabel: p.labelForValue,
|
|
498
|
+
...(!p.isSearchable || p.isAsync
|
|
499
|
+
? { filter: null }
|
|
500
|
+
: p.isCreatable
|
|
501
|
+
? { filter: p.creatableFilter }
|
|
502
|
+
: {}),
|
|
503
|
+
}
|
|
504
|
+
: {}), ...(p.isControlled
|
|
505
|
+
? { value: p.valueProp }
|
|
506
|
+
: { defaultValue: p.defaultValue }), onValueChange: p.handleValueChange, ...(p.isCreatable || p.isAsync
|
|
507
|
+
? { onInputValueChange: p.handleInputValueChange }
|
|
508
|
+
: {}), onOpenChange: p.onOpenChange, disabled: p.isDisabled, autoHighlight: p.autoHighlight, children: [jsx("div", { ref: setAnchorEl, onClick: handleClick, className: !p.isSearchable ? "cursor-pointer" : undefined, children: jsxs(ComboboxChips, { className: cn(p.sizeConfig.chips, !!p.error &&
|
|
509
|
+
"border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40", p.chipsClassName, p.inputClassName), ...(p.testIdPrefix
|
|
510
|
+
? { "data-testid": `${p.testIdPrefix}-select-container` }
|
|
511
|
+
: {}), children: [p.selectedValues.map(val => (jsx(ComboboxChip, { className: p.sizeConfig.chip, showRemove: !p.hideChipRemove, ...(p.testIdPrefix
|
|
512
|
+
? { "data-testid": `${p.testIdPrefix}-chip` }
|
|
513
|
+
: {}), children: p.labelForValue(val) }, val))), jsx(ComboboxChipsInput, { ref: ref, id: p.id, placeholder: p.isSearchable && p.selectedValues.length === 0
|
|
514
|
+
? p.placeholder
|
|
515
|
+
: undefined, "aria-invalid": !!p.error || undefined, "aria-describedby": p.ariaDescribedBy, "aria-required": p.required || undefined, className: cn(p.sizeConfig.input, !p.isSearchable && "w-0 min-w-0 overflow-hidden p-0 opacity-0"), disabled: p.isDisabled, ...(p.testIdPrefix
|
|
516
|
+
? { "data-testid": `${p.testIdPrefix}-select-input` }
|
|
517
|
+
: {}) })] }) }), jsx(ComboboxContent, { anchor: anchorEl, ...p.contentProps, children: jsx(MultiSelectDropdown, { ...p.dropdownProps, labelForValue: p.labelForValue, testIdPrefix: p.testIdPrefix, children: p.children }) })] }));
|
|
518
|
+
});
|
|
519
|
+
MultiSelectCombobox.displayName = "MultiSelectCombobox";
|
|
520
|
+
|
|
521
|
+
const SingleSelectInner = forwardRef((props, ref) => {
|
|
522
|
+
const s = useSelectState(props);
|
|
523
|
+
return (jsx(SelectFieldWrapper, { id: s.id, label: s.label, error: s.error, helpText: s.helpText, errorId: s.errorId, helpTextId: s.helpTextId, isDisabled: s.isDisabled, required: s.required, testIdPrefix: s.testIdPrefix, labelProps: props.labelProps, className: props.className, children: jsx(SelectCombobox, { ref: ref, name: props.name, id: s.id, effectiveItems: s.effectiveItems, labelForValue: s.labelForValue, isSearchable: s.isSearchable, isAsync: s.isAsync, isCreatable: props.isCreatable ?? false, creatableFilter: s.creatableFilter, isControlled: s.isControlled, valueProp: props.value, defaultValue: props.defaultValue, currentValue: s.currentValue, handleValueChange: s.handleValueChange, handleInputValueChange: s.handleInputValueChange, handleClear: s.handleClear, onOpenChange: props.onOpenChange, isDisabled: s.isDisabled, autoHighlight: s.autoHighlight, required: s.required, isClearable: props.isClearable ?? false, showClearButton: s.showClearButton, sizeConfig: s.sizeConfig, error: s.error, placeholder: props.placeholder ?? "", ariaDescribedBy: s.ariaDescribedBy, testIdPrefix: s.testIdPrefix, inputClassName: props.inputClassName, contentProps: props.contentProps, dropdownProps: {
|
|
524
|
+
resolvedOptions: s.resolvedOptions,
|
|
525
|
+
flatOptionsMap: s.flatOptionsMap,
|
|
526
|
+
isGrouped: s.isGrouped,
|
|
527
|
+
isLoading: s.isLoading,
|
|
528
|
+
loadingMessage: props.loadingMessage ?? "Loading\u2026",
|
|
529
|
+
emptyMessage: props.emptyMessage ?? "No results found.",
|
|
530
|
+
showCreateOption: s.showCreateOption,
|
|
531
|
+
hasMoreLazy: s.hasMoreLazy,
|
|
532
|
+
loaderCallbackRef: s.loaderCallbackRef,
|
|
533
|
+
}, children: props.children }) }));
|
|
534
|
+
});
|
|
535
|
+
SingleSelectInner.displayName = "SingleSelectInner";
|
|
536
|
+
const MultiSelectInner = forwardRef((props, ref) => {
|
|
537
|
+
const s = useMultiSelectState(props);
|
|
538
|
+
const { isDisabled = false, required = false } = props;
|
|
539
|
+
return (jsx(SelectFieldWrapper, { id: s.id, label: s.label, error: s.error, helpText: s.helpText, errorId: s.errorId, helpTextId: s.helpTextId, isDisabled: isDisabled, required: required, testIdPrefix: s.testIdPrefix, labelProps: props.labelProps, className: props.className, children: jsx(MultiSelectCombobox, { ref: ref, name: props.name, id: s.id, effectiveItems: s.effectiveItems, labelForValue: s.labelForValue, isSearchable: props.isSearchable ?? true, isAsync: s.isAsync, isCreatable: props.isCreatable ?? false, creatableFilter: s.creatableFilter, isControlled: s.isControlled, valueProp: props.value, defaultValue: props.defaultValue, selectedValues: s.selectedValues, handleValueChange: s.handleValueChange, handleInputValueChange: s.handleInputValueChange, onOpenChange: props.onOpenChange, isDisabled: isDisabled, autoHighlight: props.autoHighlight ?? true, sizeConfig: s.sizeConfig, error: s.error, chipsClassName: props.chipsClassName, inputClassName: props.inputClassName, placeholder: props.placeholder ?? "", hideChipRemove: props.hideChipRemove ?? false, ariaDescribedBy: s.ariaDescribedBy, required: required, testIdPrefix: s.testIdPrefix, contentProps: props.contentProps, dropdownProps: {
|
|
540
|
+
resolvedOptions: s.resolvedOptions,
|
|
541
|
+
flatOptionsMap: s.flatOptionsMap,
|
|
542
|
+
isGrouped: s.isGrouped,
|
|
543
|
+
isLoading: s.isLoading,
|
|
544
|
+
loadingMessage: props.loadingMessage ?? "Loading\u2026",
|
|
545
|
+
emptyMessage: props.emptyMessage ?? "No results found.",
|
|
546
|
+
showCreateOption: s.showCreateOption,
|
|
547
|
+
hasMoreLazy: s.hasMoreLazy,
|
|
548
|
+
loaderCallbackRef: s.loaderCallbackRef,
|
|
549
|
+
}, children: props.children }) }));
|
|
550
|
+
});
|
|
551
|
+
MultiSelectInner.displayName = "MultiSelectInner";
|
|
552
|
+
const Select = forwardRef((props, ref) => {
|
|
553
|
+
if (props.isMulti === true) {
|
|
554
|
+
return jsx(MultiSelectInner, { ...props, ref: ref });
|
|
555
|
+
}
|
|
556
|
+
return jsx(SingleSelectInner, { ...props, ref: ref });
|
|
557
|
+
});
|
|
558
|
+
Select.displayName = "Select";
|
|
559
|
+
|
|
560
|
+
export { Select as S };
|
|
561
|
+
//# sourceMappingURL=Select-BGODpJGc.js.map
|