@bigbinary/neeto-atoms 1.0.7 → 1.0.8
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/ColorPicker-BPvxDGDM.js +276 -0
- package/dist/ColorPicker-BPvxDGDM.js.map +1 -0
- package/dist/{DataTable-Y4POx0WN.js → DataTable-BKe9K5XP.js} +136 -136
- package/dist/DataTable-BKe9K5XP.js.map +1 -0
- package/dist/cjs/ColorPicker-DN8aynGh.js +282 -0
- package/dist/cjs/ColorPicker-DN8aynGh.js.map +1 -0
- package/dist/cjs/{DataTable-DJw2SZ7b.js → DataTable-BQt_mXDX.js} +136 -136
- package/dist/cjs/DataTable-BQt_mXDX.js.map +1 -0
- package/dist/cjs/components/Accordion.js +49 -0
- package/dist/cjs/components/Accordion.js.map +1 -0
- package/dist/cjs/components/Alert.js +101 -0
- package/dist/cjs/components/Alert.js.map +1 -0
- package/dist/cjs/components/Badge.js +71 -0
- package/dist/cjs/components/Badge.js.map +1 -0
- package/dist/cjs/components/Button.js +121 -0
- package/dist/cjs/components/Button.js.map +1 -0
- package/dist/cjs/components/Checkbox.js +44 -0
- package/dist/cjs/components/Checkbox.js.map +1 -0
- package/dist/cjs/components/ColorPicker.js +34 -0
- package/dist/cjs/components/ColorPicker.js.map +1 -0
- package/dist/cjs/components/DataTable.js +3 -3
- package/dist/cjs/components/Dialog.js +88 -0
- package/dist/cjs/components/Dialog.js.map +1 -0
- package/dist/cjs/components/DropdownMenu.js +180 -0
- package/dist/cjs/components/DropdownMenu.js.map +1 -0
- package/dist/cjs/components/Input.js +167 -0
- package/dist/cjs/components/Input.js.map +1 -0
- package/dist/cjs/components/MultiSelect.js +13 -0
- package/dist/cjs/components/MultiSelect.js.map +1 -0
- package/dist/cjs/components/MultiSelectCombobox.js +3 -0
- package/dist/cjs/components/MultiSelectCombobox.js.map +1 -0
- package/dist/cjs/components/MultiSelectDropdown.js +37 -0
- package/dist/cjs/components/MultiSelectDropdown.js.map +1 -0
- package/dist/cjs/components/OptionItem.js +34 -0
- package/dist/cjs/components/OptionItem.js.map +1 -0
- package/dist/cjs/components/Popover.js +123 -0
- package/dist/cjs/components/Popover.js.map +1 -0
- package/dist/cjs/components/RadioGroup.js +63 -0
- package/dist/cjs/components/RadioGroup.js.map +1 -0
- package/dist/cjs/components/Select.js +3 -0
- package/dist/cjs/components/Select.js.map +1 -0
- package/dist/cjs/components/SelectFieldWrapper.js +33 -0
- package/dist/cjs/components/SelectFieldWrapper.js.map +1 -0
- package/dist/cjs/components/SelectOptions.js +43 -0
- package/dist/cjs/components/SelectOptions.js.map +1 -0
- package/dist/cjs/components/SelectTriggerContent.js +43 -0
- package/dist/cjs/components/SelectTriggerContent.js.map +1 -0
- package/dist/cjs/components/Sheet.js +90 -0
- package/dist/cjs/components/Sheet.js.map +1 -0
- package/dist/cjs/components/Switch.js +35 -0
- package/dist/cjs/components/Switch.js.map +1 -0
- package/dist/cjs/components/Tabs.js +74 -0
- package/dist/cjs/components/Tabs.js.map +1 -0
- package/dist/cjs/components/Textarea.js +89 -0
- package/dist/cjs/components/Textarea.js.map +1 -0
- package/dist/cjs/components/Toastr.js +133 -0
- package/dist/cjs/components/Toastr.js.map +1 -0
- package/dist/cjs/components/Tooltip.js +109 -0
- package/dist/cjs/components/Tooltip.js.map +1 -0
- package/dist/cjs/{primitives → components}/Typography.js +6 -6
- package/dist/cjs/components/Typography.js.map +1 -0
- package/dist/cjs/components/shared.js +8 -0
- package/dist/cjs/components/shared.js.map +1 -0
- package/dist/cjs/{dialog-DzNWLbJ6.js → dialog-CF2GBHOG.js} +2 -2
- package/dist/cjs/{dialog-DzNWLbJ6.js.map → dialog-CF2GBHOG.js.map} +1 -1
- package/dist/cjs/{index-DAds6mf_.js → index-BLGrl3PF.js} +31 -31
- package/dist/cjs/{index-DAds6mf_.js.map → index-BLGrl3PF.js.map} +1 -1
- package/dist/cjs/{index-BqCr1H3u.js → index-BiGm7NEA.js} +11 -11
- package/dist/cjs/{index-BqCr1H3u.js.map → index-BiGm7NEA.js.map} +1 -1
- package/dist/cjs/{index-CGet1HH4.js → index-PdtYHwPi.js} +66 -66
- package/dist/cjs/{index-CGet1HH4.js.map → index-PdtYHwPi.js.map} +1 -1
- package/dist/cjs/index-Vlwnyfvs.js +1145 -0
- package/dist/cjs/index-Vlwnyfvs.js.map +1 -0
- package/dist/cjs/{index-DR7GJU4J.js → index-hQmfI1O7.js} +17 -17
- package/dist/cjs/{index-DR7GJU4J.js.map → index-hQmfI1O7.js.map} +1 -1
- package/dist/cjs/index.js +463 -26
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/primitives/Accordion.js +16 -16
- package/dist/cjs/primitives/Accordion.js.map +1 -1
- package/dist/cjs/primitives/AlertDialog.js +1 -1
- package/dist/cjs/primitives/Badge.js +58 -6
- package/dist/cjs/primitives/Badge.js.map +1 -1
- package/dist/cjs/primitives/Chart.js +137 -137
- package/dist/cjs/primitives/Chart.js.map +1 -1
- package/dist/cjs/primitives/Collapsible.js +1 -1
- package/dist/cjs/primitives/Combobox.js +4 -4
- package/dist/cjs/primitives/Combobox.js.map +1 -1
- package/dist/cjs/primitives/Command.js +2 -2
- package/dist/cjs/primitives/ContextMenu.js +2 -2
- package/dist/cjs/primitives/Dialog.js +10 -6
- package/dist/cjs/primitives/Dialog.js.map +1 -1
- package/dist/cjs/primitives/Drawer.js +1 -1
- package/dist/cjs/primitives/DropdownMenu.js +38 -38
- package/dist/cjs/primitives/DropdownMenu.js.map +1 -1
- package/dist/cjs/primitives/HoverCard.js +16 -16
- package/dist/cjs/primitives/Menubar.js +2 -2
- package/dist/cjs/primitives/Popover.js +13 -13
- package/dist/cjs/primitives/RadioGroup.js +27 -26
- package/dist/cjs/primitives/RadioGroup.js.map +1 -1
- package/dist/cjs/primitives/Select.js +77 -77
- package/dist/cjs/primitives/Sheet.js +10 -6
- package/dist/cjs/primitives/Sheet.js.map +1 -1
- package/dist/cjs/primitives/Sidebar.js +3 -3
- package/dist/cjs/primitives/Sonner.js +12 -1138
- package/dist/cjs/primitives/Sonner.js.map +1 -1
- package/dist/cjs/primitives/Switch.js +4 -8
- package/dist/cjs/primitives/Switch.js.map +1 -1
- package/dist/cjs/primitives/Tabs.js +11 -11
- package/dist/cjs/primitives/ToggleGroup.js +1 -1
- package/dist/cjs/primitives/Tooltip.js +1 -1
- package/dist/cjs/primitives/index.js +9 -11
- package/dist/cjs/primitives/index.js.map +1 -1
- package/dist/cjs/renderIcon-fLF3odqg.js +26 -0
- package/dist/cjs/renderIcon-fLF3odqg.js.map +1 -0
- package/dist/cjs/{sheet-nHSYZxAA.js → sheet-CkCrHmVA.js} +2 -2
- package/dist/cjs/{sheet-nHSYZxAA.js.map → sheet-CkCrHmVA.js.map} +1 -1
- package/dist/cjs/{tooltip-CRkOMh1b.js → tooltip-C-568jEL.js} +17 -17
- package/dist/cjs/{tooltip-CRkOMh1b.js.map → tooltip-C-568jEL.js.map} +1 -1
- package/dist/cjs/useCreatableItems-BTHtd7uo.js +100 -0
- package/dist/cjs/useCreatableItems-BTHtd7uo.js.map +1 -0
- package/dist/cjs/{reselect-CeyIIDM-.js → with-selector-u4xTSzCv.js} +111 -111
- package/dist/cjs/with-selector-u4xTSzCv.js.map +1 -0
- package/dist/components/Accordion.d.ts +18 -0
- package/dist/components/Accordion.js +43 -0
- package/dist/components/Accordion.js.map +1 -0
- package/dist/components/Alert.d.ts +51 -0
- package/dist/components/Alert.js +99 -0
- package/dist/components/Alert.js.map +1 -0
- package/dist/components/Badge.d.ts +29 -0
- package/dist/components/Badge.js +69 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/Button.d.ts +47 -0
- package/dist/components/Button.js +119 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Checkbox.d.ts +16 -0
- package/dist/components/Checkbox.js +42 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/ColorPicker/ColorPicker.d.ts +4 -0
- package/dist/components/ColorPicker/Palette.d.ts +12 -0
- package/dist/components/ColorPicker/Target.d.ts +15 -0
- package/dist/components/ColorPicker/constants.d.ts +10 -0
- package/dist/components/ColorPicker/hooks/useEyeDropper.d.ts +15 -0
- package/dist/components/ColorPicker/hooks/useRecentlyUsedColors.d.ts +11 -0
- package/dist/components/ColorPicker/index.d.ts +2 -0
- package/dist/components/ColorPicker/types.d.ts +42 -0
- package/dist/components/ColorPicker/utils.d.ts +31 -0
- package/dist/components/ColorPicker.js +28 -0
- package/dist/components/ColorPicker.js.map +1 -0
- package/dist/components/DataTable.js +2 -2
- package/dist/components/Dialog.d.ts +56 -0
- package/dist/components/Dialog.js +86 -0
- package/dist/components/Dialog.js.map +1 -0
- package/dist/components/DropdownMenu/Divider.d.ts +3 -0
- package/dist/components/DropdownMenu/DropdownBase.d.ts +3 -0
- package/dist/components/DropdownMenu/Label.d.ts +7 -0
- package/dist/components/DropdownMenu/Menu.d.ts +7 -0
- package/dist/components/DropdownMenu/MenuItem.d.ts +10 -0
- package/dist/components/DropdownMenu/MenuItemButton.d.ts +4 -0
- package/dist/components/DropdownMenu/SplitTrigger.d.ts +13 -0
- package/dist/components/DropdownMenu/SubMenu.d.ts +10 -0
- package/dist/components/DropdownMenu/TriggerButton.d.ts +10 -0
- package/dist/components/DropdownMenu/constants.d.ts +7 -0
- package/dist/components/DropdownMenu/index.d.ts +16 -0
- package/dist/components/DropdownMenu/types.d.ts +88 -0
- package/dist/components/DropdownMenu.js +178 -0
- package/dist/components/DropdownMenu.js.map +1 -0
- package/dist/components/Input.d.ts +39 -0
- package/dist/components/Input.js +165 -0
- package/dist/components/Input.js.map +1 -0
- package/dist/components/MultiSelect.constants.d.ts +5 -0
- package/dist/components/MultiSelect.d.ts +4 -0
- package/dist/components/MultiSelect.js +4 -0
- package/dist/components/MultiSelect.js.map +1 -0
- package/dist/components/MultiSelect.types.d.ts +121 -0
- package/dist/components/MultiSelect.utils.d.ts +18 -0
- package/dist/components/MultiSelectCombobox.d.ts +3 -0
- package/dist/components/MultiSelectCombobox.js +2 -0
- package/dist/components/MultiSelectCombobox.js.map +1 -0
- package/dist/components/MultiSelectCombobox.types.d.ts +52 -0
- package/dist/components/MultiSelectDropdown.d.ts +9 -0
- package/dist/components/MultiSelectDropdown.js +35 -0
- package/dist/components/MultiSelectDropdown.js.map +1 -0
- package/dist/components/OptionItem.d.ts +9 -0
- package/dist/components/OptionItem.js +32 -0
- package/dist/components/OptionItem.js.map +1 -0
- package/dist/components/Popover.d.ts +47 -0
- package/dist/components/Popover.js +117 -0
- package/dist/components/Popover.js.map +1 -0
- package/dist/components/RadioGroup.d.ts +32 -0
- package/dist/components/RadioGroup.js +61 -0
- package/dist/components/RadioGroup.js.map +1 -0
- package/dist/components/Select.constants.d.ts +5 -0
- package/dist/components/Select.d.ts +4 -0
- package/dist/components/Select.js +2 -0
- package/dist/components/Select.js.map +1 -0
- package/dist/components/Select.types.d.ts +58 -0
- package/dist/components/SelectFieldWrapper.d.ts +18 -0
- package/dist/components/SelectFieldWrapper.js +31 -0
- package/dist/components/SelectFieldWrapper.js.map +1 -0
- package/dist/components/SelectOptions.d.ts +2 -0
- package/dist/components/SelectOptions.js +41 -0
- package/dist/components/SelectOptions.js.map +1 -0
- package/dist/components/SelectTriggerContent.d.ts +18 -0
- package/dist/components/SelectTriggerContent.js +41 -0
- package/dist/components/SelectTriggerContent.js.map +1 -0
- package/dist/components/Sheet.d.ts +54 -0
- package/dist/components/Sheet.js +88 -0
- package/dist/components/Sheet.js.map +1 -0
- package/dist/components/Switch.d.ts +18 -0
- package/dist/components/Switch.js +33 -0
- package/dist/components/Switch.js.map +1 -0
- package/dist/components/Tabs.d.ts +20 -0
- package/dist/components/Tabs.js +72 -0
- package/dist/components/Tabs.js.map +1 -0
- package/dist/components/Textarea.d.ts +36 -0
- package/dist/components/Textarea.js +87 -0
- package/dist/components/Textarea.js.map +1 -0
- package/dist/components/Toastr.d.ts +30 -0
- package/dist/components/Toastr.js +131 -0
- package/dist/components/Toastr.js.map +1 -0
- package/dist/components/Tooltip.d.ts +29 -0
- package/dist/components/Tooltip.js +103 -0
- package/dist/components/Tooltip.js.map +1 -0
- package/dist/{primitives → components}/Typography.d.ts +2 -2
- package/dist/{primitives → components}/Typography.js +6 -6
- package/dist/components/Typography.js.map +1 -0
- package/dist/components/shared.js +6 -0
- package/dist/components/shared.js.map +1 -0
- package/dist/components/shared.types.d.ts +16 -0
- package/dist/{dialog-C97DOTvO.js → dialog-Civ9r6wD.js} +3 -3
- package/dist/{dialog-C97DOTvO.js.map → dialog-Civ9r6wD.js.map} +1 -1
- package/dist/hooks/useAsyncOptions.d.ts +13 -0
- package/dist/hooks/useCreatableItems.d.ts +30 -0
- package/dist/hooks/useLazyLoadSentinel.d.ts +6 -0
- package/dist/hooks/useMultiSelectOptions.d.ts +15 -0
- package/dist/hooks/useMultiSelectState.d.ts +37 -0
- package/dist/hooks/useSelectState.d.ts +27 -0
- package/dist/{index-PF0ms7Xn.js → index-9HvIbmnI.js} +3 -3
- package/dist/{index-PF0ms7Xn.js.map → index-9HvIbmnI.js.map} +1 -1
- package/dist/index-D_roZz8G.js +1137 -0
- package/dist/index-D_roZz8G.js.map +1 -0
- package/dist/{index-BwxI_qgh.js → index-KzJfsx-e.js} +3 -3
- package/dist/{index-BwxI_qgh.js.map → index-KzJfsx-e.js.map} +1 -1
- package/dist/index.css +25 -1
- package/dist/index.d.ts +40 -0
- package/dist/index.js +440 -24
- package/dist/index.js.map +1 -1
- package/dist/{input-group-CDBpz6Pb.js → input-group-ytECR3Hw.js} +2 -2
- package/dist/{input-group-CDBpz6Pb.js.map → input-group-ytECR3Hw.js.map} +1 -1
- package/dist/lib/renderIcon.d.ts +5 -0
- package/dist/primitives/Accordion.js +1 -1
- package/dist/primitives/AlertDialog.js +1 -1
- package/dist/primitives/Badge.d.ts +13 -3
- package/dist/primitives/Badge.js +54 -2
- package/dist/primitives/Badge.js.map +1 -1
- package/dist/primitives/Chart.js +1 -1
- package/dist/primitives/Combobox.js +3 -3
- package/dist/primitives/Command.js +3 -3
- package/dist/primitives/ContextMenu.js +1 -1
- package/dist/primitives/Dialog.d.ts +11 -3
- package/dist/primitives/Dialog.js +11 -7
- package/dist/primitives/Dialog.js.map +1 -1
- package/dist/primitives/Drawer.js +1 -1
- package/dist/primitives/DropdownMenu.js +2 -2
- package/dist/primitives/InputGroup.js +1 -1
- package/dist/primitives/Menubar.js +1 -1
- package/dist/primitives/RadioGroup.d.ts +8 -3
- package/dist/primitives/RadioGroup.js +9 -8
- package/dist/primitives/RadioGroup.js.map +1 -1
- package/dist/primitives/Select.js +3 -3
- package/dist/primitives/Sheet.d.ts +12 -3
- package/dist/primitives/Sheet.js +11 -7
- package/dist/primitives/Sheet.js.map +1 -1
- package/dist/primitives/Sidebar.js +3 -3
- package/dist/primitives/Sonner.js +11 -1135
- package/dist/primitives/Sonner.js.map +1 -1
- package/dist/primitives/Switch.d.ts +6 -3
- package/dist/primitives/Switch.js +4 -8
- package/dist/primitives/Switch.js.map +1 -1
- package/dist/primitives/Tooltip.js +1 -1
- package/dist/primitives/index.d.ts +0 -1
- package/dist/primitives/index.js +8 -8
- package/dist/renderIcon-tlvMyboj.js +20 -0
- package/dist/renderIcon-tlvMyboj.js.map +1 -0
- package/dist/shadcn/components/typography.d.ts +4 -4
- package/dist/{sheet-D1ngftfX.js → sheet-COcn22fC.js} +3 -3
- package/dist/{sheet-D1ngftfX.js.map → sheet-COcn22fC.js.map} +1 -1
- package/dist/{tooltip-D5soNrAP.js → tooltip-DzjIJacP.js} +3 -3
- package/dist/{tooltip-D5soNrAP.js.map → tooltip-DzjIJacP.js.map} +1 -1
- package/dist/useCreatableItems-B0seQA1_.js +89 -0
- package/dist/useCreatableItems-B0seQA1_.js.map +1 -0
- package/dist/utils/fieldIds.d.ts +2 -0
- package/dist/utils/hyphenize.d.ts +1 -0
- package/dist/{reselect-CABQm5hA.js → with-selector--fY1NrB9.js} +111 -111
- package/dist/with-selector--fY1NrB9.js.map +1 -0
- package/package.json +2 -1
- package/dist/DataTable-Y4POx0WN.js.map +0 -1
- package/dist/cjs/DataTable-DJw2SZ7b.js.map +0 -1
- package/dist/cjs/primitives/Typography.js.map +0 -1
- package/dist/cjs/reselect-CeyIIDM-.js.map +0 -1
- package/dist/primitives/Typography.js.map +0 -1
- package/dist/reselect-CABQm5hA.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,42 +1,458 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { Accordion } from './components/Accordion.js';
|
|
2
|
+
export { Alert } from './components/Alert.js';
|
|
3
|
+
export { Badge } from './components/Badge.js';
|
|
4
|
+
export { Button } from './components/Button.js';
|
|
5
|
+
export { Checkbox } from './components/Checkbox.js';
|
|
6
|
+
export { C as ColorPicker } from './ColorPicker-BPvxDGDM.js';
|
|
7
|
+
export { Dialog } from './components/Dialog.js';
|
|
8
|
+
export { DropdownMenu } from './components/DropdownMenu.js';
|
|
9
|
+
export { Input } from './components/Input.js';
|
|
10
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
11
|
+
import React__default, { useState, useRef, useEffect, useCallback, useId, useMemo, forwardRef } from 'react';
|
|
12
|
+
import { f as flattenOptions, h as hasGroups, t as toBaseUiItems, u as useCreatableItems, C as CREATE_PREFIX } from './useCreatableItems-B0seQA1_.js';
|
|
13
|
+
import { SelectFieldWrapper } from './components/SelectFieldWrapper.js';
|
|
14
|
+
import { c as cn } from './utils-DdHUxIdC.js';
|
|
15
|
+
import { Combobox, ComboboxChips, ComboboxChip, ComboboxChipsInput, ComboboxContent } from './primitives/Combobox.js';
|
|
16
|
+
import { MultiSelectDropdown } from './components/MultiSelectDropdown.js';
|
|
17
|
+
export { RadioGroup } from './components/RadioGroup.js';
|
|
18
|
+
import { Select as Select$1, SelectContent } from './primitives/Select.js';
|
|
19
|
+
import { SelectTriggerContent } from './components/SelectTriggerContent.js';
|
|
20
|
+
import { renderOptions } from './components/SelectOptions.js';
|
|
21
|
+
export { Sheet } from './components/Sheet.js';
|
|
22
|
+
export { Popover } from './components/Popover.js';
|
|
23
|
+
export { Toastr } from './components/Toastr.js';
|
|
24
|
+
export { Switch } from './components/Switch.js';
|
|
25
|
+
export { Tabs } from './components/Tabs.js';
|
|
26
|
+
export { Textarea } from './components/Textarea.js';
|
|
27
|
+
export { Tooltip } from './components/Tooltip.js';
|
|
28
|
+
export { Typography, typographyVariants } from './components/Typography.js';
|
|
29
|
+
export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from './DataTable-BKe9K5XP.js';
|
|
2
30
|
export { u as useIsMobile } from './use-mobile-IRjN_mlT.js';
|
|
3
|
-
|
|
4
|
-
import '
|
|
5
|
-
import 'react';
|
|
6
|
-
import './primitives/Table.js';
|
|
7
|
-
import './primitives/Checkbox.js';
|
|
8
|
-
import './check-Cpkv29p1.js';
|
|
31
|
+
import './primitives/Accordion.js';
|
|
32
|
+
import './chevron-down-BNi0ntys.js';
|
|
9
33
|
import './createLucideIcon-C8ycilSN.js';
|
|
10
|
-
import './
|
|
34
|
+
import './chevron-up-Bf2G3AAU.js';
|
|
11
35
|
import './index-CiyxEyB0.js';
|
|
36
|
+
import './index-Dd1i1d2M.js';
|
|
37
|
+
import './index-BtkPdosV.js';
|
|
12
38
|
import './index-DNzunGHb.js';
|
|
13
39
|
import './index-Cor698lu.js';
|
|
14
40
|
import './index-DOzu5J1s.js';
|
|
15
|
-
import './index-30QpKM0j.js';
|
|
16
|
-
import './index-BYZaLNq1.js';
|
|
17
|
-
import './index-yFgkK_AM.js';
|
|
18
41
|
import './index-DhnfW8wQ.js';
|
|
19
42
|
import 'react-dom';
|
|
20
|
-
import './
|
|
21
|
-
import './
|
|
22
|
-
import './
|
|
43
|
+
import './index-0o2E3Cnw.js';
|
|
44
|
+
import './index-yFgkK_AM.js';
|
|
45
|
+
import './index-zW4GjM5L.js';
|
|
46
|
+
import './index-BA158WEj.js';
|
|
47
|
+
import './primitives/Dialog.js';
|
|
23
48
|
import './button-COIbN8dg.js';
|
|
24
49
|
import './index-D7Zy7P05.js';
|
|
25
50
|
import './index-CfriMyrd.js';
|
|
26
|
-
import './
|
|
27
|
-
import './
|
|
28
|
-
import './
|
|
29
|
-
import './chevron-left-BDoT8E2-.js';
|
|
30
|
-
import './primitives/DropdownMenu.js';
|
|
31
|
-
import './index-BwxI_qgh.js';
|
|
32
|
-
import './index-Dd1i1d2M.js';
|
|
33
|
-
import './index-BA158WEj.js';
|
|
51
|
+
import './dialog-Civ9r6wD.js';
|
|
52
|
+
import './x-_o2T3n6D.js';
|
|
53
|
+
import './index-9HvIbmnI.js';
|
|
34
54
|
import './index-BNPynZWM.js';
|
|
35
55
|
import './index-CSUSJzOJ.js';
|
|
36
56
|
import './index-B4_fVWDx.js';
|
|
37
|
-
import './index-
|
|
57
|
+
import './index-fV_U4ZJM.js';
|
|
58
|
+
import './renderIcon-tlvMyboj.js';
|
|
59
|
+
import './primitives/Button.js';
|
|
60
|
+
import './primitives/Spinner.js';
|
|
61
|
+
import './loader-circle-DycHUAWN.js';
|
|
62
|
+
import './primitives/Tooltip.js';
|
|
63
|
+
import './tooltip-DzjIJacP.js';
|
|
38
64
|
import './index-ByEpUy7w.js';
|
|
39
65
|
import './floating-ui.react-dom-CcGbtPEK.js';
|
|
40
|
-
import './index-
|
|
66
|
+
import './index-BYZaLNq1.js';
|
|
67
|
+
import './index-CSggBaQF.js';
|
|
68
|
+
import './primitives/Badge.js';
|
|
69
|
+
import './primitives/Checkbox.js';
|
|
70
|
+
import './check-Cpkv29p1.js';
|
|
71
|
+
import './index-30QpKM0j.js';
|
|
72
|
+
import './primitives/Field.js';
|
|
73
|
+
import './label-B4qDF3W1.js';
|
|
74
|
+
import './separator-BbhgePmX.js';
|
|
75
|
+
import './primitives/Popover.js';
|
|
76
|
+
import './primitives/DropdownMenu.js';
|
|
77
|
+
import './chevron-right-DQnrO-ek.js';
|
|
78
|
+
import './index-KzJfsx-e.js';
|
|
41
79
|
import './index-j_qxDBFl.js';
|
|
80
|
+
import './primitives/ButtonGroup.js';
|
|
81
|
+
import './primitives/InputGroup.js';
|
|
82
|
+
import './input-group-ytECR3Hw.js';
|
|
83
|
+
import './input-GLCCE2kT.js';
|
|
84
|
+
import './textarea-BSZwxzjQ.js';
|
|
85
|
+
import './components/shared.js';
|
|
86
|
+
import './with-selector--fY1NrB9.js';
|
|
87
|
+
import './index-CSMSzzKM.js';
|
|
88
|
+
import './index-DZXbzIgC.js';
|
|
89
|
+
import './components/OptionItem.js';
|
|
90
|
+
import './primitives/RadioGroup.js';
|
|
91
|
+
import './primitives/Label.js';
|
|
92
|
+
import './index-BfAAoDv6.js';
|
|
93
|
+
import './primitives/Sheet.js';
|
|
94
|
+
import './sheet-COcn22fC.js';
|
|
95
|
+
import './primitives/HoverCard.js';
|
|
96
|
+
import './index-D_roZz8G.js';
|
|
97
|
+
import './primitives/Switch.js';
|
|
98
|
+
import './primitives/Tabs.js';
|
|
99
|
+
import './primitives/Textarea.js';
|
|
100
|
+
import './primitives/Table.js';
|
|
101
|
+
import './primitives/Pagination.js';
|
|
102
|
+
import './ellipsis-lb8Ws6br.js';
|
|
103
|
+
import './chevron-left-BDoT8E2-.js';
|
|
104
|
+
|
|
105
|
+
function hyphenize(str) {
|
|
106
|
+
return str
|
|
107
|
+
.replace(/([a-z])([A-Z])/g, "$1-$2")
|
|
108
|
+
.replace(/[\s_]+/g, "-")
|
|
109
|
+
.toLowerCase();
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function buildAriaDescribedBy(error, errorId, helpText, helpTextId) {
|
|
113
|
+
return ([error ? errorId : null, helpText ? helpTextId : null]
|
|
114
|
+
.filter(Boolean)
|
|
115
|
+
.join(" ") || undefined);
|
|
116
|
+
}
|
|
117
|
+
function buildTestIdPrefix(dataTestId, label) {
|
|
118
|
+
return dataTestId ?? (label ? hyphenize(label) : undefined);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function useAsyncOptions({ loadOptions, defaultOptions = false, cacheOptions = false, }) {
|
|
122
|
+
const [asyncOptions, setAsyncOptions] = useState(() => (Array.isArray(defaultOptions) ? defaultOptions : []));
|
|
123
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
124
|
+
const cacheRef = useRef({});
|
|
125
|
+
const debounceRef = useRef(null);
|
|
126
|
+
const latestRequestRef = useRef(0);
|
|
127
|
+
const mountedRef = useRef(true);
|
|
128
|
+
// Load default options on mount when `defaultOptions === true`
|
|
129
|
+
useEffect(() => {
|
|
130
|
+
if (!loadOptions || defaultOptions !== true)
|
|
131
|
+
return;
|
|
132
|
+
let cancelled = false;
|
|
133
|
+
setIsLoading(true);
|
|
134
|
+
loadOptions("")
|
|
135
|
+
.then(results => {
|
|
136
|
+
if (cancelled)
|
|
137
|
+
return;
|
|
138
|
+
setAsyncOptions(results);
|
|
139
|
+
if (cacheOptions)
|
|
140
|
+
cacheRef.current[""] = results;
|
|
141
|
+
setIsLoading(false);
|
|
142
|
+
})
|
|
143
|
+
.catch(() => {
|
|
144
|
+
if (!cancelled)
|
|
145
|
+
setIsLoading(false);
|
|
146
|
+
});
|
|
147
|
+
return () => {
|
|
148
|
+
cancelled = true;
|
|
149
|
+
};
|
|
150
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
151
|
+
}, []);
|
|
152
|
+
// Clean up debounce timer and mark unmounted
|
|
153
|
+
useEffect(() => {
|
|
154
|
+
return () => {
|
|
155
|
+
mountedRef.current = false;
|
|
156
|
+
if (debounceRef.current)
|
|
157
|
+
clearTimeout(debounceRef.current);
|
|
158
|
+
};
|
|
159
|
+
}, []);
|
|
160
|
+
const handleAsyncInputChange = useCallback((value) => {
|
|
161
|
+
if (!loadOptions)
|
|
162
|
+
return;
|
|
163
|
+
const query = value.trim();
|
|
164
|
+
// Check cache first
|
|
165
|
+
if (cacheOptions && query in cacheRef.current) {
|
|
166
|
+
setAsyncOptions(cacheRef.current[query]);
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
// Debounce the fetch
|
|
170
|
+
if (debounceRef.current)
|
|
171
|
+
clearTimeout(debounceRef.current);
|
|
172
|
+
debounceRef.current = setTimeout(() => {
|
|
173
|
+
const requestId = ++latestRequestRef.current;
|
|
174
|
+
setIsLoading(true);
|
|
175
|
+
loadOptions(query)
|
|
176
|
+
.then(results => {
|
|
177
|
+
if (requestId !== latestRequestRef.current || !mountedRef.current)
|
|
178
|
+
return;
|
|
179
|
+
setAsyncOptions(results);
|
|
180
|
+
if (cacheOptions)
|
|
181
|
+
cacheRef.current[query] = results;
|
|
182
|
+
setIsLoading(false);
|
|
183
|
+
})
|
|
184
|
+
.catch(() => {
|
|
185
|
+
if (requestId === latestRequestRef.current &&
|
|
186
|
+
mountedRef.current) {
|
|
187
|
+
setIsLoading(false);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}, 300);
|
|
191
|
+
}, [loadOptions, cacheOptions]);
|
|
192
|
+
return { asyncOptions, isLoading, handleAsyncInputChange };
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function useLazyLoadSentinel({ fetchMore, isEnabled, }) {
|
|
196
|
+
const observerRef = useRef(null);
|
|
197
|
+
const fetchMoreRef = useRef(fetchMore);
|
|
198
|
+
fetchMoreRef.current = fetchMore;
|
|
199
|
+
const sentinelRef = useCallback((node) => {
|
|
200
|
+
observerRef.current?.disconnect();
|
|
201
|
+
observerRef.current = null;
|
|
202
|
+
if (!node || !isEnabled)
|
|
203
|
+
return;
|
|
204
|
+
const observer = new IntersectionObserver(entries => {
|
|
205
|
+
if (entries[0]?.isIntersecting)
|
|
206
|
+
fetchMoreRef.current?.();
|
|
207
|
+
}, { root: null, rootMargin: "0px", threshold: 0.1 });
|
|
208
|
+
observer.observe(node);
|
|
209
|
+
observerRef.current = observer;
|
|
210
|
+
}, [isEnabled]);
|
|
211
|
+
// Clean up observer on unmount
|
|
212
|
+
useEffect(() => {
|
|
213
|
+
return () => {
|
|
214
|
+
observerRef.current?.disconnect();
|
|
215
|
+
};
|
|
216
|
+
}, []);
|
|
217
|
+
return sentinelRef;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
function useMultiSelectOptions(props) {
|
|
221
|
+
const isAsync = !!props.loadOptions;
|
|
222
|
+
const { asyncOptions, isLoading, handleAsyncInputChange } = useAsyncOptions({
|
|
223
|
+
loadOptions: props.loadOptions,
|
|
224
|
+
defaultOptions: props.defaultOptions ?? false,
|
|
225
|
+
cacheOptions: props.cacheOptions ?? false,
|
|
226
|
+
});
|
|
227
|
+
const resolvedOptions = isAsync
|
|
228
|
+
? asyncOptions
|
|
229
|
+
: (props.options ?? []);
|
|
230
|
+
const flatOptions = flattenOptions(resolvedOptions);
|
|
231
|
+
const isGrouped = hasGroups(resolvedOptions);
|
|
232
|
+
const baseUiItems = React__default.useMemo(() => resolvedOptions.length > 0 ? toBaseUiItems(resolvedOptions) : undefined, [resolvedOptions]);
|
|
233
|
+
const hasMoreLazy = (props.isAsyncLoadOptionEnabled ?? false) &&
|
|
234
|
+
typeof props.totalOptionsCount === "number" &&
|
|
235
|
+
flatOptions.length < props.totalOptionsCount;
|
|
236
|
+
const loaderCallbackRef = useLazyLoadSentinel({
|
|
237
|
+
fetchMore: props.fetchMore,
|
|
238
|
+
isEnabled: props.isAsyncLoadOptionEnabled ?? false,
|
|
239
|
+
});
|
|
240
|
+
return {
|
|
241
|
+
isAsync,
|
|
242
|
+
resolvedOptions,
|
|
243
|
+
flatOptions,
|
|
244
|
+
isGrouped,
|
|
245
|
+
isLoading,
|
|
246
|
+
handleAsyncInputChange,
|
|
247
|
+
baseUiItems,
|
|
248
|
+
hasMoreLazy,
|
|
249
|
+
loaderCallbackRef,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
const SIZE_CONFIG$1 = {
|
|
254
|
+
small: {
|
|
255
|
+
chips: "min-h-7 text-xs gap-0.5 px-1 py-0.5",
|
|
256
|
+
input: "text-xs",
|
|
257
|
+
chip: "h-4.5 text-[0.6875rem] px-1",
|
|
258
|
+
},
|
|
259
|
+
medium: {
|
|
260
|
+
chips: "min-h-8 text-sm gap-1 px-2.5 py-1",
|
|
261
|
+
input: "text-sm",
|
|
262
|
+
chip: "h-5.25 text-xs px-1.5",
|
|
263
|
+
},
|
|
264
|
+
large: {
|
|
265
|
+
chips: "min-h-10 text-sm gap-1 px-2.5 py-1.5",
|
|
266
|
+
input: "text-sm",
|
|
267
|
+
chip: "h-6 text-xs px-2",
|
|
268
|
+
},
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
function useMultiSelectState(props) {
|
|
272
|
+
const { id: idProp, size = "medium", label = "", error = "", helpText = "", value: valueProp, defaultValue, onChange, dataTestId, isCreatable = false, onCreateOption, formatCreateLabel = (v) => `Create "${v}"`, children, } = props;
|
|
273
|
+
const opt = useMultiSelectOptions(props);
|
|
274
|
+
const generatedId = useId();
|
|
275
|
+
const id = idProp ?? generatedId;
|
|
276
|
+
const errorId = `error_${id}`;
|
|
277
|
+
const helpTextId = `helpText_${id}`;
|
|
278
|
+
const sizeConfig = SIZE_CONFIG$1[size];
|
|
279
|
+
const isControlled = valueProp !== undefined;
|
|
280
|
+
const [internalValue, setInternalValue] = useState(defaultValue ?? []);
|
|
281
|
+
const selectedValues = isControlled ? valueProp : internalValue;
|
|
282
|
+
const handleChange = useCallback((values) => {
|
|
283
|
+
setInternalValue(values);
|
|
284
|
+
onChange?.(values);
|
|
285
|
+
}, [onChange]);
|
|
286
|
+
const { showCreateOption, effectiveItems, creatableFilter, handleInputValueChange, handleValueChange, } = useCreatableItems({
|
|
287
|
+
isCreatable,
|
|
288
|
+
isGrouped: opt.isGrouped,
|
|
289
|
+
flatOptions: opt.flatOptions,
|
|
290
|
+
selectedValues,
|
|
291
|
+
baseUiItems: opt.baseUiItems,
|
|
292
|
+
onCreateOption,
|
|
293
|
+
onChange: handleChange,
|
|
294
|
+
onAsyncInputChange: opt.isAsync ? opt.handleAsyncInputChange : undefined,
|
|
295
|
+
children,
|
|
296
|
+
});
|
|
297
|
+
const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);
|
|
298
|
+
const testIdPrefix = buildTestIdPrefix(dataTestId, label);
|
|
299
|
+
const flatOptionsMap = useMemo(() => new Map(opt.flatOptions.map(o => [o.value, o])), [opt.flatOptions]);
|
|
300
|
+
const labelForValue = useCallback((val) => {
|
|
301
|
+
if (val.startsWith(CREATE_PREFIX)) {
|
|
302
|
+
return formatCreateLabel(val.slice(CREATE_PREFIX.length));
|
|
303
|
+
}
|
|
304
|
+
return flatOptionsMap.get(val)?.label ?? val;
|
|
305
|
+
}, [flatOptionsMap, formatCreateLabel]);
|
|
306
|
+
return {
|
|
307
|
+
...opt,
|
|
308
|
+
id,
|
|
309
|
+
errorId,
|
|
310
|
+
helpTextId,
|
|
311
|
+
sizeConfig,
|
|
312
|
+
isControlled,
|
|
313
|
+
selectedValues,
|
|
314
|
+
effectiveItems,
|
|
315
|
+
creatableFilter,
|
|
316
|
+
handleInputValueChange,
|
|
317
|
+
handleValueChange,
|
|
318
|
+
showCreateOption,
|
|
319
|
+
ariaDescribedBy,
|
|
320
|
+
testIdPrefix,
|
|
321
|
+
labelForValue,
|
|
322
|
+
flatOptionsMap,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
const MultiSelectCombobox = forwardRef((p, ref) => {
|
|
327
|
+
const [anchorEl, setAnchorEl] = useState(null);
|
|
328
|
+
const mergedRef = useCallback((node) => {
|
|
329
|
+
setAnchorEl(node);
|
|
330
|
+
if (typeof ref === "function")
|
|
331
|
+
ref(node);
|
|
332
|
+
else if (ref)
|
|
333
|
+
ref.current = node;
|
|
334
|
+
}, [ref]);
|
|
335
|
+
const handleClick = useCallback((e) => {
|
|
336
|
+
if (!p.isSearchable) {
|
|
337
|
+
e.currentTarget.querySelector("input")?.focus();
|
|
338
|
+
}
|
|
339
|
+
}, [p.isSearchable]);
|
|
340
|
+
return (jsxs(Combobox, { multiple: true, name: p.name, ...(p.effectiveItems && !p.children
|
|
341
|
+
? {
|
|
342
|
+
items: p.effectiveItems,
|
|
343
|
+
itemToStringLabel: p.labelForValue,
|
|
344
|
+
...(!p.isSearchable || p.isAsync
|
|
345
|
+
? { filter: null }
|
|
346
|
+
: p.isCreatable
|
|
347
|
+
? { filter: p.creatableFilter }
|
|
348
|
+
: {}),
|
|
349
|
+
}
|
|
350
|
+
: {}), ...(p.isControlled
|
|
351
|
+
? { value: p.valueProp }
|
|
352
|
+
: { defaultValue: p.defaultValue }), onValueChange: p.handleValueChange, ...(p.isCreatable || p.isAsync
|
|
353
|
+
? { onInputValueChange: p.handleInputValueChange }
|
|
354
|
+
: {}), onOpenChange: p.onOpenChange, disabled: p.isDisabled, autoHighlight: p.autoHighlight, children: [jsx("div", { ref: mergedRef, onClick: handleClick, className: !p.isSearchable ? "cursor-pointer" : undefined, children: jsxs(ComboboxChips, { className: cn(p.sizeConfig.chips, !!p.error &&
|
|
355
|
+
"border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40", p.chipsClassName), ...(p.testIdPrefix
|
|
356
|
+
? { "data-testid": `${p.testIdPrefix}-select-container` }
|
|
357
|
+
: {}), children: [p.selectedValues.map(val => (jsx(ComboboxChip, { className: p.sizeConfig.chip, showRemove: !p.hideChipRemove, ...(p.testIdPrefix
|
|
358
|
+
? { "data-testid": `${p.testIdPrefix}-chip` }
|
|
359
|
+
: {}), children: p.labelForValue(val) }, val))), jsx(ComboboxChipsInput, { id: p.id, placeholder: p.isSearchable && p.selectedValues.length === 0
|
|
360
|
+
? p.placeholder
|
|
361
|
+
: 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
|
|
362
|
+
? { "data-testid": `${p.testIdPrefix}-select-input` }
|
|
363
|
+
: {}) })] }) }), jsx(ComboboxContent, { anchor: anchorEl, ...p.contentProps, children: jsx(MultiSelectDropdown, { ...p.dropdownProps, labelForValue: p.labelForValue, testIdPrefix: p.testIdPrefix, children: p.children }) })] }));
|
|
364
|
+
});
|
|
365
|
+
MultiSelectCombobox.displayName = "MultiSelectCombobox";
|
|
366
|
+
|
|
367
|
+
const MultiSelect = forwardRef((props, ref) => {
|
|
368
|
+
const s = useMultiSelectState(props);
|
|
369
|
+
const label = props.label ?? "";
|
|
370
|
+
const error = props.error ?? "";
|
|
371
|
+
const helpText = props.helpText ?? "";
|
|
372
|
+
const isDisabled = props.isDisabled ?? false;
|
|
373
|
+
const required = props.required ?? false;
|
|
374
|
+
return (jsx(SelectFieldWrapper, { id: s.id, label: label, error: error, helpText: 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: error, chipsClassName: props.chipsClassName, placeholder: props.placeholder ?? "", hideChipRemove: props.hideChipRemove ?? false, ariaDescribedBy: s.ariaDescribedBy, required: required, testIdPrefix: s.testIdPrefix, contentProps: props.contentProps, dropdownProps: {
|
|
375
|
+
resolvedOptions: s.resolvedOptions,
|
|
376
|
+
flatOptionsMap: s.flatOptionsMap,
|
|
377
|
+
isGrouped: s.isGrouped,
|
|
378
|
+
isLoading: s.isLoading,
|
|
379
|
+
loadingMessage: props.loadingMessage ?? "Loading\u2026",
|
|
380
|
+
emptyMessage: props.emptyMessage ?? "No results found.",
|
|
381
|
+
showCreateOption: s.showCreateOption,
|
|
382
|
+
hasMoreLazy: s.hasMoreLazy,
|
|
383
|
+
loaderCallbackRef: s.loaderCallbackRef,
|
|
384
|
+
}, children: props.children }) }));
|
|
385
|
+
});
|
|
386
|
+
MultiSelect.displayName = "MultiSelect";
|
|
387
|
+
|
|
388
|
+
const SIZE_CONFIG = {
|
|
389
|
+
small: { trigger: "h-7 text-xs", size: "sm", clearBtn: "size-3" },
|
|
390
|
+
medium: { trigger: "h-8 text-sm", size: "default", clearBtn: "size-3.5" },
|
|
391
|
+
large: { trigger: "h-10 text-sm", size: "default", clearBtn: "size-3.5" },
|
|
392
|
+
};
|
|
393
|
+
|
|
394
|
+
function useSelectState(props) {
|
|
395
|
+
const { id: idProp, size = "medium", label = "", error = "", helpText = "", placeholder = "", value: valueProp, defaultValue, onChange, isDisabled = false, isClearable = false, required = false, position = "item-aligned", onMenuOpen, onMenuClose, dataTestId, } = props;
|
|
396
|
+
const generatedId = useId();
|
|
397
|
+
const id = idProp ?? generatedId;
|
|
398
|
+
const errorId = `error_${id}`;
|
|
399
|
+
const helpTextId = `helpText_${id}`;
|
|
400
|
+
const sizeConfig = SIZE_CONFIG[size];
|
|
401
|
+
const isControlled = valueProp !== undefined;
|
|
402
|
+
const [internalValue, setInternalValue] = useState(defaultValue ?? "");
|
|
403
|
+
const currentValue = isControlled ? valueProp : internalValue;
|
|
404
|
+
const handleValueChange = useCallback((next) => {
|
|
405
|
+
if (!isControlled)
|
|
406
|
+
setInternalValue(next);
|
|
407
|
+
onChange?.(next);
|
|
408
|
+
}, [isControlled, onChange]);
|
|
409
|
+
const handleClear = useCallback((e) => {
|
|
410
|
+
e.stopPropagation();
|
|
411
|
+
e.preventDefault();
|
|
412
|
+
handleValueChange("");
|
|
413
|
+
}, [handleValueChange]);
|
|
414
|
+
const handleOpenChange = useCallback((open) => {
|
|
415
|
+
if (open)
|
|
416
|
+
onMenuOpen?.();
|
|
417
|
+
else
|
|
418
|
+
onMenuClose?.();
|
|
419
|
+
}, [onMenuOpen, onMenuClose]);
|
|
420
|
+
const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);
|
|
421
|
+
const testIdPrefix = buildTestIdPrefix(dataTestId, label);
|
|
422
|
+
const showClearButton = isClearable && !!currentValue && !isDisabled;
|
|
423
|
+
return {
|
|
424
|
+
id,
|
|
425
|
+
errorId,
|
|
426
|
+
helpTextId,
|
|
427
|
+
sizeConfig,
|
|
428
|
+
currentValue,
|
|
429
|
+
isControlled,
|
|
430
|
+
handleValueChange,
|
|
431
|
+
handleClear,
|
|
432
|
+
handleOpenChange,
|
|
433
|
+
ariaDescribedBy,
|
|
434
|
+
testIdPrefix,
|
|
435
|
+
showClearButton,
|
|
436
|
+
label,
|
|
437
|
+
error,
|
|
438
|
+
helpText,
|
|
439
|
+
placeholder,
|
|
440
|
+
isDisabled,
|
|
441
|
+
required,
|
|
442
|
+
position,
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
const Select = forwardRef((props, ref) => {
|
|
447
|
+
const s = useSelectState(props);
|
|
448
|
+
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: jsxs(Select$1, { name: props.name, value: s.currentValue, defaultValue: s.isControlled ? undefined : props.defaultValue, onValueChange: s.handleValueChange, onOpenChange: s.handleOpenChange, disabled: s.isDisabled, required: s.required, children: [jsx(SelectTriggerContent, { ref: ref, id: s.id, sizeConfig: s.sizeConfig, error: s.error, ariaDescribedBy: s.ariaDescribedBy, triggerClassName: props.triggerClassName, testIdPrefix: s.testIdPrefix, placeholder: s.placeholder, showClearButton: s.showClearButton, handleClear: s.handleClear }), jsx(SelectContent, { position: s.position, ...props.contentProps, ...(s.testIdPrefix
|
|
449
|
+
? { "data-testid": `${s.testIdPrefix}-select-menu` }
|
|
450
|
+
: {}), children: props.children ??
|
|
451
|
+
(props.options
|
|
452
|
+
? renderOptions(props.options, s.testIdPrefix)
|
|
453
|
+
: null) })] }) }));
|
|
454
|
+
});
|
|
455
|
+
Select.displayName = "Select";
|
|
456
|
+
|
|
457
|
+
export { MultiSelect, Select, cn };
|
|
42
458
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/utils/hyphenize.ts","../src/utils/fieldIds.ts","../src/hooks/useAsyncOptions.ts","../src/hooks/useLazyLoadSentinel.ts","../src/hooks/useMultiSelectOptions.ts","../src/components/MultiSelect.constants.ts","../src/hooks/useMultiSelectState.ts","../src/components/MultiSelectCombobox.tsx","../src/components/MultiSelect.tsx","../src/components/Select.constants.ts","../src/hooks/useSelectState.ts","../src/components/Select.tsx"],"sourcesContent":["export function hyphenize(str: string): string {\n return str\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/[\\s_]+/g, \"-\")\n .toLowerCase();\n}\n","import { hyphenize } from \"./hyphenize\";\n\nexport function buildAriaDescribedBy(\n error: string,\n errorId: string,\n helpText: React.ReactNode,\n helpTextId: string\n): string | undefined {\n return (\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined\n );\n}\n\nexport function buildTestIdPrefix(\n dataTestId: string | undefined,\n label: string\n): string | undefined {\n return dataTestId ?? (label ? hyphenize(label) : undefined);\n}\n","import { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport type { MultiSelectOptionBase } from \"src/components/MultiSelect.types\";\n\ninterface UseAsyncOptionsConfig {\n loadOptions?: (inputValue: string) => Promise<MultiSelectOptionBase[]>;\n defaultOptions?: boolean | MultiSelectOptionBase[];\n cacheOptions?: boolean;\n}\n\ninterface UseAsyncOptionsReturn {\n asyncOptions: MultiSelectOptionBase[];\n isLoading: boolean;\n handleAsyncInputChange: (value: string) => void;\n}\n\nexport function useAsyncOptions({\n loadOptions,\n defaultOptions = false,\n cacheOptions = false,\n}: UseAsyncOptionsConfig): UseAsyncOptionsReturn {\n const [asyncOptions, setAsyncOptions] = useState<MultiSelectOptionBase[]>(\n () => (Array.isArray(defaultOptions) ? defaultOptions : [])\n );\n const [isLoading, setIsLoading] = useState(false);\n const cacheRef = useRef<Record<string, MultiSelectOptionBase[]>>({});\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const latestRequestRef = useRef(0);\n const mountedRef = useRef(true);\n\n // Load default options on mount when `defaultOptions === true`\n useEffect(() => {\n if (!loadOptions || defaultOptions !== true) return;\n let cancelled = false;\n setIsLoading(true);\n loadOptions(\"\")\n .then(results => {\n if (cancelled) return;\n setAsyncOptions(results);\n if (cacheOptions) cacheRef.current[\"\"] = results;\n setIsLoading(false);\n })\n .catch(() => {\n if (!cancelled) setIsLoading(false);\n });\n return () => {\n cancelled = true;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Clean up debounce timer and mark unmounted\n useEffect(() => {\n return () => {\n mountedRef.current = false;\n if (debounceRef.current) clearTimeout(debounceRef.current);\n };\n }, []);\n\n const handleAsyncInputChange = useCallback(\n (value: string) => {\n if (!loadOptions) return;\n\n const query = value.trim();\n\n // Check cache first\n if (cacheOptions && query in cacheRef.current) {\n setAsyncOptions(cacheRef.current[query]);\n return;\n }\n\n // Debounce the fetch\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n const requestId = ++latestRequestRef.current;\n setIsLoading(true);\n loadOptions(query)\n .then(results => {\n if (requestId !== latestRequestRef.current || !mountedRef.current)\n return;\n setAsyncOptions(results);\n if (cacheOptions) cacheRef.current[query] = results;\n setIsLoading(false);\n })\n .catch(() => {\n if (\n requestId === latestRequestRef.current &&\n mountedRef.current\n ) {\n setIsLoading(false);\n }\n });\n }, 300);\n },\n [loadOptions, cacheOptions]\n );\n\n return { asyncOptions, isLoading, handleAsyncInputChange };\n}\n","import { useCallback, useEffect, useRef } from \"react\";\n\ninterface UseLazyLoadSentinelConfig {\n fetchMore?: () => void;\n isEnabled: boolean;\n}\n\nexport function useLazyLoadSentinel({\n fetchMore,\n isEnabled,\n}: UseLazyLoadSentinelConfig) {\n const observerRef = useRef<IntersectionObserver | null>(null);\n const fetchMoreRef = useRef(fetchMore);\n fetchMoreRef.current = fetchMore;\n\n const sentinelRef = useCallback(\n (node: HTMLDivElement | null) => {\n observerRef.current?.disconnect();\n observerRef.current = null;\n\n if (!node || !isEnabled) return;\n\n const observer = new IntersectionObserver(\n entries => {\n if (entries[0]?.isIntersecting) fetchMoreRef.current?.();\n },\n { root: null, rootMargin: \"0px\", threshold: 0.1 }\n );\n observer.observe(node);\n observerRef.current = observer;\n },\n [isEnabled]\n );\n\n // Clean up observer on unmount\n useEffect(() => {\n return () => {\n observerRef.current?.disconnect();\n };\n }, []);\n\n return sentinelRef;\n}\n","import React from \"react\";\n\nimport { useAsyncOptions } from \"./useAsyncOptions\";\nimport { useLazyLoadSentinel } from \"./useLazyLoadSentinel\";\nimport {\n flattenOptions,\n hasGroups,\n toBaseUiItems,\n} from \"src/components/MultiSelect.utils\";\nimport type {\n MultiSelectOption,\n MultiSelectProps,\n} from \"src/components/MultiSelect.types\";\n\nexport function useMultiSelectOptions(props: MultiSelectProps) {\n const isAsync = !!props.loadOptions;\n\n const { asyncOptions, isLoading, handleAsyncInputChange } = useAsyncOptions({\n loadOptions: props.loadOptions,\n defaultOptions: props.defaultOptions ?? false,\n cacheOptions: props.cacheOptions ?? false,\n });\n\n const resolvedOptions: MultiSelectOption[] = isAsync\n ? asyncOptions\n : (props.options ?? []);\n const flatOptions = flattenOptions(resolvedOptions);\n const isGrouped = hasGroups(resolvedOptions);\n\n const baseUiItems = React.useMemo(\n () =>\n resolvedOptions.length > 0 ? toBaseUiItems(resolvedOptions) : undefined,\n [resolvedOptions]\n );\n\n const hasMoreLazy =\n (props.isAsyncLoadOptionEnabled ?? false) &&\n typeof props.totalOptionsCount === \"number\" &&\n flatOptions.length < props.totalOptionsCount;\n\n const loaderCallbackRef = useLazyLoadSentinel({\n fetchMore: props.fetchMore,\n isEnabled: props.isAsyncLoadOptionEnabled ?? false,\n });\n\n return {\n isAsync,\n resolvedOptions,\n flatOptions,\n isGrouped,\n isLoading,\n handleAsyncInputChange,\n baseUiItems,\n hasMoreLazy,\n loaderCallbackRef,\n };\n}\n","export const SIZE_CONFIG: Record<\n \"small\" | \"medium\" | \"large\",\n { chips: string; input: string; chip: string }\n> = {\n small: {\n chips: \"min-h-7 text-xs gap-0.5 px-1 py-0.5\",\n input: \"text-xs\",\n chip: \"h-4.5 text-[0.6875rem] px-1\",\n },\n medium: {\n chips: \"min-h-8 text-sm gap-1 px-2.5 py-1\",\n input: \"text-sm\",\n chip: \"h-5.25 text-xs px-1.5\",\n },\n large: {\n chips: \"min-h-10 text-sm gap-1 px-2.5 py-1.5\",\n input: \"text-sm\",\n chip: \"h-6 text-xs px-2\",\n },\n};\n","import { useCallback, useId, useMemo, useState } from \"react\";\n\nimport { buildAriaDescribedBy, buildTestIdPrefix } from \"src/utils/fieldIds\";\nimport { useCreatableItems, CREATE_PREFIX } from \"./useCreatableItems\";\nimport { useMultiSelectOptions } from \"./useMultiSelectOptions\";\nimport { SIZE_CONFIG } from \"src/components/MultiSelect.constants\";\nimport type { MultiSelectProps } from \"src/components/MultiSelect.types\";\n\nexport function useMultiSelectState(props: MultiSelectProps) {\n const {\n id: idProp,\n size = \"medium\",\n label = \"\",\n error = \"\",\n helpText = \"\",\n value: valueProp,\n defaultValue,\n onChange,\n dataTestId,\n isCreatable = false,\n onCreateOption,\n formatCreateLabel = (v: string) => `Create \"${v}\"`,\n children,\n } = props;\n\n const opt = useMultiSelectOptions(props);\n\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n const sizeConfig = SIZE_CONFIG[size];\n\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState<string[]>(\n defaultValue ?? []\n );\n const selectedValues = isControlled ? valueProp : internalValue;\n\n const handleChange = useCallback(\n (values: string[]) => {\n setInternalValue(values);\n onChange?.(values);\n },\n [onChange]\n );\n\n const {\n showCreateOption,\n effectiveItems,\n creatableFilter,\n handleInputValueChange,\n handleValueChange,\n } = useCreatableItems({\n isCreatable,\n isGrouped: opt.isGrouped,\n flatOptions: opt.flatOptions,\n selectedValues,\n baseUiItems: opt.baseUiItems,\n onCreateOption,\n onChange: handleChange,\n onAsyncInputChange: opt.isAsync ? opt.handleAsyncInputChange : undefined,\n children,\n });\n\n const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);\n const testIdPrefix = buildTestIdPrefix(dataTestId, label);\n\n const flatOptionsMap = useMemo(\n () => new Map(opt.flatOptions.map(o => [o.value, o])),\n [opt.flatOptions]\n );\n\n const labelForValue = useCallback(\n (val: string) => {\n if (val.startsWith(CREATE_PREFIX)) {\n return formatCreateLabel(val.slice(CREATE_PREFIX.length));\n }\n return flatOptionsMap.get(val)?.label ?? val;\n },\n [flatOptionsMap, formatCreateLabel]\n );\n\n return {\n ...opt,\n id,\n errorId,\n helpTextId,\n sizeConfig,\n isControlled,\n selectedValues,\n effectiveItems,\n creatableFilter,\n handleInputValueChange,\n handleValueChange,\n showCreateOption,\n ariaDescribedBy,\n testIdPrefix,\n labelForValue,\n flatOptionsMap,\n };\n}\n","import React, { forwardRef, useCallback, useState } from \"react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Combobox,\n ComboboxContent,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipsInput,\n} from \"src/primitives/Combobox\";\nimport { MultiSelectDropdown } from \"./MultiSelectDropdown\";\nimport type { MultiSelectComboboxProps } from \"./MultiSelectCombobox.types\";\n\nexport const MultiSelectCombobox = forwardRef<\n HTMLDivElement,\n MultiSelectComboboxProps\n>((p, ref) => {\n const [anchorEl, setAnchorEl] = useState<HTMLDivElement | null>(null);\n\n const mergedRef = useCallback(\n (node: HTMLDivElement | null) => {\n setAnchorEl(node);\n if (typeof ref === \"function\") ref(node);\n else if (ref)\n (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n },\n [ref]\n );\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (!p.isSearchable) {\n (e.currentTarget as HTMLElement).querySelector(\"input\")?.focus();\n }\n },\n [p.isSearchable]\n );\n\n return (\n <Combobox\n multiple\n name={p.name}\n {...(p.effectiveItems && !p.children\n ? {\n items: p.effectiveItems,\n itemToStringLabel: p.labelForValue,\n ...(!p.isSearchable || p.isAsync\n ? { filter: null }\n : p.isCreatable\n ? { filter: p.creatableFilter }\n : {}),\n }\n : {})}\n {...(p.isControlled\n ? { value: p.valueProp }\n : { defaultValue: p.defaultValue })}\n onValueChange={p.handleValueChange}\n {...(p.isCreatable || p.isAsync\n ? { onInputValueChange: p.handleInputValueChange }\n : {})}\n onOpenChange={p.onOpenChange}\n disabled={p.isDisabled}\n autoHighlight={p.autoHighlight}\n >\n <div\n ref={mergedRef}\n onClick={handleClick}\n className={!p.isSearchable ? \"cursor-pointer\" : undefined}\n >\n <ComboboxChips\n className={cn(\n p.sizeConfig.chips,\n !!p.error &&\n \"border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40\",\n p.chipsClassName\n )}\n {...(p.testIdPrefix\n ? { \"data-testid\": `${p.testIdPrefix}-select-container` }\n : {})}\n >\n {p.selectedValues.map(val => (\n <ComboboxChip\n key={val}\n className={p.sizeConfig.chip}\n showRemove={!p.hideChipRemove}\n {...(p.testIdPrefix\n ? { \"data-testid\": `${p.testIdPrefix}-chip` }\n : {})}\n >\n {p.labelForValue(val)}\n </ComboboxChip>\n ))}\n <ComboboxChipsInput\n id={p.id}\n placeholder={\n p.isSearchable && p.selectedValues.length === 0\n ? p.placeholder\n : undefined\n }\n aria-invalid={!!p.error || undefined}\n aria-describedby={p.ariaDescribedBy}\n aria-required={p.required || undefined}\n className={cn(\n p.sizeConfig.input,\n !p.isSearchable && \"w-0 min-w-0 overflow-hidden p-0 opacity-0\"\n )}\n disabled={p.isDisabled}\n {...(p.testIdPrefix\n ? { \"data-testid\": `${p.testIdPrefix}-select-input` }\n : {})}\n />\n </ComboboxChips>\n </div>\n <ComboboxContent anchor={anchorEl} {...p.contentProps}>\n <MultiSelectDropdown\n {...p.dropdownProps}\n labelForValue={p.labelForValue}\n testIdPrefix={p.testIdPrefix}\n >\n {p.children}\n </MultiSelectDropdown>\n </ComboboxContent>\n </Combobox>\n );\n});\nMultiSelectCombobox.displayName = \"MultiSelectCombobox\";\n","import { forwardRef } from \"react\";\n\nimport { useMultiSelectState } from \"src/hooks/useMultiSelectState\";\nimport { SelectFieldWrapper } from \"./SelectFieldWrapper\";\nimport { MultiSelectCombobox } from \"./MultiSelectCombobox\";\nimport type { MultiSelectProps } from \"./MultiSelect.types\";\n\n// Re-export types for barrel file consumers\nexport type {\n MultiSelectProps,\n MultiSelectOption,\n MultiSelectOptionBase,\n MultiSelectOptionGroup,\n} from \"./MultiSelect.types\";\n\nconst MultiSelect = forwardRef<HTMLDivElement, MultiSelectProps>(\n (props, ref) => {\n const s = useMultiSelectState(props);\n const label = props.label ?? \"\";\n const error = props.error ?? \"\";\n const helpText = props.helpText ?? \"\";\n const isDisabled = props.isDisabled ?? false;\n const required = props.required ?? false;\n\n return (\n <SelectFieldWrapper\n id={s.id}\n label={label}\n error={error}\n helpText={helpText}\n errorId={s.errorId}\n helpTextId={s.helpTextId}\n isDisabled={isDisabled}\n required={required}\n\n testIdPrefix={s.testIdPrefix}\n labelProps={props.labelProps}\n className={props.className}\n >\n <MultiSelectCombobox\n ref={ref}\n name={props.name}\n id={s.id}\n effectiveItems={s.effectiveItems}\n labelForValue={s.labelForValue}\n isSearchable={props.isSearchable ?? true}\n isAsync={s.isAsync}\n isCreatable={props.isCreatable ?? false}\n creatableFilter={s.creatableFilter}\n isControlled={s.isControlled}\n valueProp={props.value}\n defaultValue={props.defaultValue}\n selectedValues={s.selectedValues}\n handleValueChange={\n s.handleValueChange as (...args: unknown[]) => void\n }\n handleInputValueChange={\n s.handleInputValueChange as (...args: unknown[]) => void\n }\n onOpenChange={props.onOpenChange}\n isDisabled={isDisabled}\n autoHighlight={props.autoHighlight ?? true}\n sizeConfig={s.sizeConfig}\n error={error}\n chipsClassName={props.chipsClassName}\n placeholder={props.placeholder ?? \"\"}\n hideChipRemove={props.hideChipRemove ?? false}\n ariaDescribedBy={s.ariaDescribedBy}\n required={required}\n testIdPrefix={s.testIdPrefix}\n contentProps={props.contentProps}\n dropdownProps={{\n resolvedOptions: s.resolvedOptions,\n flatOptionsMap: s.flatOptionsMap,\n isGrouped: s.isGrouped,\n isLoading: s.isLoading,\n loadingMessage: props.loadingMessage ?? \"Loading\\u2026\",\n emptyMessage: props.emptyMessage ?? \"No results found.\",\n showCreateOption: s.showCreateOption,\n hasMoreLazy: s.hasMoreLazy,\n loaderCallbackRef: s.loaderCallbackRef,\n }}\n >\n {props.children}\n </MultiSelectCombobox>\n </SelectFieldWrapper>\n );\n }\n);\n\nMultiSelect.displayName = \"MultiSelect\";\n\nexport { MultiSelect };\n","export const SIZE_CONFIG: Record<\n \"small\" | \"medium\" | \"large\",\n { trigger: string; size: \"sm\" | \"default\"; clearBtn: string }\n> = {\n small: { trigger: \"h-7 text-xs\", size: \"sm\", clearBtn: \"size-3\" },\n medium: { trigger: \"h-8 text-sm\", size: \"default\", clearBtn: \"size-3.5\" },\n large: { trigger: \"h-10 text-sm\", size: \"default\", clearBtn: \"size-3.5\" },\n};\n","import React, { useCallback, useId, useState } from \"react\";\n\nimport { buildAriaDescribedBy, buildTestIdPrefix } from \"src/utils/fieldIds\";\nimport { SIZE_CONFIG } from \"src/components/Select.constants\";\nimport type { SelectProps } from \"src/components/Select.types\";\n\nexport function useSelectState(props: SelectProps) {\n const {\n id: idProp,\n size = \"medium\",\n label = \"\",\n error = \"\",\n helpText = \"\",\n placeholder = \"\",\n value: valueProp,\n defaultValue,\n onChange,\n isDisabled = false,\n isClearable = false,\n required = false,\n position = \"item-aligned\",\n onMenuOpen,\n onMenuClose,\n dataTestId,\n } = props;\n\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n const sizeConfig = SIZE_CONFIG[size];\n\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState(defaultValue ?? \"\");\n const currentValue = isControlled ? valueProp : internalValue;\n\n const handleValueChange = useCallback(\n (next: string) => {\n if (!isControlled) setInternalValue(next);\n onChange?.(next);\n },\n [isControlled, onChange]\n );\n\n const handleClear = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n handleValueChange(\"\");\n },\n [handleValueChange]\n );\n\n const handleOpenChange = useCallback(\n (open: boolean) => {\n if (open) onMenuOpen?.();\n else onMenuClose?.();\n },\n [onMenuOpen, onMenuClose]\n );\n\n const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);\n const testIdPrefix = buildTestIdPrefix(dataTestId, label);\n const showClearButton = isClearable && !!currentValue && !isDisabled;\n\n return {\n id,\n errorId,\n helpTextId,\n sizeConfig,\n currentValue,\n isControlled,\n handleValueChange,\n handleClear,\n handleOpenChange,\n ariaDescribedBy,\n testIdPrefix,\n showClearButton,\n label,\n error,\n helpText,\n placeholder,\n isDisabled,\n required,\n position,\n };\n}\n","import { forwardRef } from \"react\";\n\nimport {\n Select as PrimitiveSelect,\n SelectContent,\n} from \"src/primitives/Select\";\nimport { useSelectState } from \"src/hooks/useSelectState\";\nimport { SelectFieldWrapper } from \"./SelectFieldWrapper\";\nimport { SelectTriggerContent } from \"./SelectTriggerContent\";\nimport { renderOptions } from \"./SelectOptions\";\nimport type { SelectProps } from \"./Select.types\";\n\n// Re-export types for barrel file consumers\nexport type {\n SelectProps,\n SelectOption,\n SelectOptionBase,\n SelectOptionGroup,\n} from \"./Select.types\";\n\nconst Select = forwardRef<HTMLButtonElement, SelectProps>((props, ref) => {\n const s = useSelectState(props);\n\n return (\n <SelectFieldWrapper\n id={s.id}\n label={s.label}\n error={s.error}\n helpText={s.helpText}\n errorId={s.errorId}\n helpTextId={s.helpTextId}\n isDisabled={s.isDisabled}\n required={s.required}\n testIdPrefix={s.testIdPrefix}\n labelProps={props.labelProps}\n className={props.className}\n >\n <PrimitiveSelect\n name={props.name}\n value={s.currentValue}\n defaultValue={s.isControlled ? undefined : props.defaultValue}\n onValueChange={s.handleValueChange}\n onOpenChange={s.handleOpenChange}\n disabled={s.isDisabled}\n required={s.required}\n >\n <SelectTriggerContent\n ref={ref}\n id={s.id}\n sizeConfig={s.sizeConfig}\n error={s.error}\n ariaDescribedBy={s.ariaDescribedBy}\n triggerClassName={props.triggerClassName}\n testIdPrefix={s.testIdPrefix}\n placeholder={s.placeholder}\n showClearButton={s.showClearButton}\n handleClear={s.handleClear}\n />\n <SelectContent\n position={s.position}\n {...props.contentProps}\n {...(s.testIdPrefix\n ? { \"data-testid\": `${s.testIdPrefix}-select-menu` }\n : {})}\n >\n {props.children ??\n (props.options\n ? renderOptions(props.options, s.testIdPrefix)\n : null)}\n </SelectContent>\n </PrimitiveSelect>\n </SelectFieldWrapper>\n );\n});\n\nSelect.displayName = \"Select\";\n\nexport { Select };\n"],"names":["React","SIZE_CONFIG","_jsxs","_jsx","PrimitiveSelect"],"mappings":"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"}
|
|
@@ -55,5 +55,5 @@ function InputGroupTextarea({ className, ...props }) {
|
|
|
55
55
|
return (jsx(Textarea, { "data-slot": "input-group-control", className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className), ...props }));
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
export { InputGroup as I, InputGroupAddon as a,
|
|
59
|
-
//# sourceMappingURL=input-group-
|
|
58
|
+
export { InputGroup as I, InputGroupAddon as a, InputGroupText as b, InputGroupInput as c, InputGroupButton as d, InputGroupTextarea as e };
|
|
59
|
+
//# sourceMappingURL=input-group-ytECR3Hw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-group-
|
|
1
|
+
{"version":3,"file":"input-group-ytECR3Hw.js","sources":["../src/shadcn/components/input-group.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\nimport { Button } from \"src/shadcn/components/button\"\nimport { Input } from \"src/shadcn/components/input\"\nimport { Textarea } from \"src/shadcn/components/textarea\"\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst inputGroupAddonVariants = cva(\n \"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n align: {\n \"inline-start\":\n \"order-first ps-2 has-[>button]:ms-[-0.3rem] has-[>kbd]:ms-[-0.15rem]\",\n \"inline-end\":\n \"order-last pe-2 has-[>button]:me-[-0.3rem] has-[>kbd]:me-[-0.15rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n }\n)\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus()\n }}\n {...props}\n />\n )\n}\n\nconst inputGroupButtonVariants = cva(\n \"flex items-center gap-2 text-sm shadow-none\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\":\n \"size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n }\n)\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\"> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n}\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { u as useComposedRefs } from '../index-BtkPdosV.js';
|
|
|
9
9
|
import { c as composeEventHandlers } from '../index-DNzunGHb.js';
|
|
10
10
|
import { u as useControllableState } from '../index-Cor698lu.js';
|
|
11
11
|
import { P as Primitive } from '../index-DhnfW8wQ.js';
|
|
12
|
-
import {
|
|
12
|
+
import { R as Root, T as Trigger, b as Content, c as createCollapsibleScope } from '../index-0o2E3Cnw.js';
|
|
13
13
|
import { u as useId } from '../index-zW4GjM5L.js';
|
|
14
14
|
import { u as useDirection } from '../index-BA158WEj.js';
|
|
15
15
|
import '../createLucideIcon-C8ycilSN.js';
|