@oneplatformdev/ui 0.1.99-beta.30 → 0.1.99-beta.300
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/.storybook/Wrappers.js.map +1 -1
- package/Accordion/Accordion.d.ts +1 -1
- package/Accordion/Accordion.d.ts.map +1 -1
- package/Accordion/Accordion.js +47 -31
- package/Accordion/Accordion.js.map +1 -1
- package/Alert/Alert.js.map +1 -1
- package/Alert/alertVariants.js.map +1 -1
- package/AlertDialog/AlertDialog.js.map +1 -1
- package/AlertDialog/AlertDialog.stories.js +66 -24
- package/AlertDialog/AlertDialog.stories.js.map +1 -1
- package/AlertDialog/AlertDialogRoot.d.ts.map +1 -1
- package/AlertDialog/AlertDialogRoot.js +25 -25
- package/AlertDialog/AlertDialogRoot.js.map +1 -1
- package/AreaChart/AreaChart.js.map +1 -1
- package/Aside/Aside.js.map +1 -1
- package/Aside/AsideSidebar.js.map +1 -1
- package/AspectRatio/AspectRatio.js.map +1 -1
- package/Avatar/Avatar.js.map +1 -1
- package/Badge/Badge.js.map +1 -1
- package/Badge/badgeVariants.js.map +1 -1
- package/Breadcrumb/Breadcrumb.js.map +1 -1
- package/Button/Button.d.ts.map +1 -1
- package/Button/Button.js +40 -41
- package/Button/Button.js.map +1 -1
- package/Button/Button.stories.js +15 -12
- package/Button/Button.stories.js.map +1 -1
- package/Button/Button.utils.d.ts +3 -0
- package/Button/Button.utils.d.ts.map +1 -0
- package/Button/Button.utils.js +14 -0
- package/Button/Button.utils.js.map +1 -0
- package/Button/ButtonCounterBadge.js.map +1 -1
- package/Button/buttonVariants.d.ts +2 -2
- package/Button/buttonVariants.d.ts.map +1 -1
- package/Button/buttonVariants.js +37 -5
- package/Button/buttonVariants.js.map +1 -1
- package/Button/index.d.ts +1 -0
- package/Button/index.d.ts.map +1 -1
- package/Button/index.js +8 -6
- package/Button/index.js.map +1 -1
- package/ButtonIcon/ButtonIcon.d.ts.map +1 -1
- package/ButtonIcon/ButtonIcon.js +49 -50
- package/ButtonIcon/ButtonIcon.js.map +1 -1
- package/ButtonIcon/ButtonIcon.stories.js +35 -33
- package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
- package/ButtonIcon/buttonIconVariants.d.ts +1 -1
- package/ButtonIcon/buttonIconVariants.d.ts.map +1 -1
- package/ButtonIcon/buttonIconVariants.js +2 -1
- package/ButtonIcon/buttonIconVariants.js.map +1 -1
- package/CHANGELOG.md +3502 -1898
- package/Calendar/Calendar.js +0 -1
- package/Calendar/Calendar.js.map +1 -1
- package/Card/Card.d.ts.map +1 -1
- package/Card/Card.js +22 -21
- package/Card/Card.js.map +1 -1
- package/Carousel/Carousel.js +6 -7
- package/Carousel/Carousel.js.map +1 -1
- package/Chart/Chart.js.map +1 -1
- package/Checkbox/Checkbox.d.ts.map +1 -1
- package/Checkbox/Checkbox.js +36 -35
- package/Checkbox/Checkbox.js.map +1 -1
- package/Checkbox/Checkbox.stories.js +108 -0
- package/Checkbox/Checkbox.stories.js.map +1 -0
- package/Checkbox/Checkbox.types.d.ts +2 -1
- package/Checkbox/Checkbox.types.d.ts.map +1 -1
- package/Collapsible/Collapsible.js.map +1 -1
- package/Combobox/Combobox.d.ts +4 -2
- package/Combobox/Combobox.d.ts.map +1 -1
- package/Combobox/Combobox.js +222 -194
- package/Combobox/Combobox.js.map +1 -1
- package/Combobox/Combobox.stories.js +240 -85
- package/Combobox/Combobox.stories.js.map +1 -1
- package/Combobox/Combobox.types.d.ts +88 -24
- package/Combobox/Combobox.types.d.ts.map +1 -1
- package/Combobox/Combobox.types.js +4 -1
- package/Combobox/Combobox.types.js.map +1 -1
- package/Combobox/ComboboxOptionItem.d.ts +5 -3
- package/Combobox/ComboboxOptionItem.d.ts.map +1 -1
- package/Combobox/ComboboxOptionItem.js +80 -23
- package/Combobox/ComboboxOptionItem.js.map +1 -1
- package/Combobox/ComboboxRenderContent.d.ts +28 -0
- package/Combobox/ComboboxRenderContent.d.ts.map +1 -0
- package/Combobox/ComboboxRenderContent.js +142 -0
- package/Combobox/ComboboxRenderContent.js.map +1 -0
- package/Combobox/ComboboxRenderOptions.d.ts +4 -0
- package/Combobox/ComboboxRenderOptions.d.ts.map +1 -0
- package/Combobox/ComboboxRenderOptions.js +53 -0
- package/Combobox/ComboboxRenderOptions.js.map +1 -0
- package/Combobox/ComboboxRenderTrigger.d.ts +18 -0
- package/Combobox/ComboboxRenderTrigger.d.ts.map +1 -0
- package/Combobox/ComboboxRenderTrigger.js +118 -0
- package/Combobox/ComboboxRenderTrigger.js.map +1 -0
- package/Command/Command.d.ts +6 -1
- package/Command/Command.d.ts.map +1 -1
- package/Command/Command.js +63 -46
- package/Command/Command.js.map +1 -1
- package/ContextPopover/ContextDropdownMenu.d.ts +12 -0
- package/ContextPopover/ContextDropdownMenu.d.ts.map +1 -0
- package/ContextPopover/ContextDropdownMenu.js +41 -0
- package/ContextPopover/ContextDropdownMenu.js.map +1 -0
- package/ContextPopover/ContextPopover.d.ts +12 -0
- package/ContextPopover/ContextPopover.d.ts.map +1 -0
- package/ContextPopover/ContextPopover.js +34 -0
- package/ContextPopover/ContextPopover.js.map +1 -0
- package/ContextPopover/index.d.ts +4 -0
- package/ContextPopover/index.d.ts.map +1 -0
- package/ContextPopover/index.js +9 -0
- package/ContextPopover/index.js.map +1 -0
- package/ContextPopover/useContextPopoverHandler.d.ts +14 -0
- package/ContextPopover/useContextPopoverHandler.d.ts.map +1 -0
- package/ContextPopover/useContextPopoverHandler.js +21 -0
- package/ContextPopover/useContextPopoverHandler.js.map +1 -0
- package/DataTable/DataTable.js +14 -15
- package/DataTable/DataTable.js.map +1 -1
- package/DataTable/DataTableColumnFilter.js +6 -7
- package/DataTable/DataTableColumnFilter.js.map +1 -1
- package/DataTable/useDataTable.js.map +1 -1
- package/DatePicker/DatePicker.d.ts.map +1 -1
- package/DatePicker/DatePicker.js +31 -30
- package/DatePicker/DatePicker.js.map +1 -1
- package/Dialog/Dialog.d.ts +4 -1
- package/Dialog/Dialog.d.ts.map +1 -1
- package/Dialog/Dialog.js +82 -40
- package/Dialog/Dialog.js.map +1 -1
- package/Dialog/Dialog.stories.js +108 -0
- package/Dialog/Dialog.stories.js.map +1 -0
- package/Dialog/Dialog.types.d.ts +4 -0
- package/Dialog/Dialog.types.d.ts.map +1 -0
- package/Dialog/Dialog.types.js +2 -0
- package/Dialog/Dialog.types.js.map +1 -0
- package/Dialog/DialogOverlayScope.js.map +1 -1
- package/Dialog/index.d.ts +1 -0
- package/Dialog/index.d.ts.map +1 -1
- package/Dialog/useDialogClosePosition.d.ts +11 -0
- package/Dialog/useDialogClosePosition.d.ts.map +1 -0
- package/Dialog/useDialogClosePosition.js +50 -0
- package/Dialog/useDialogClosePosition.js.map +1 -0
- package/Drawer/Drawer.js.map +1 -1
- package/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/DropdownMenu/DropdownMenu.js +33 -20
- package/DropdownMenu/DropdownMenu.js.map +1 -1
- package/Dropzone/Dropzone.d.ts.map +1 -1
- package/Dropzone/Dropzone.js +493 -132
- package/Dropzone/Dropzone.js.map +1 -1
- package/Dropzone/Dropzone.stories.js +387 -0
- package/Dropzone/Dropzone.stories.js.map +1 -0
- package/Dropzone/Dropzone.types.d.ts +29 -1
- package/Dropzone/Dropzone.types.d.ts.map +1 -1
- package/Dropzone/Dropzone.types.js +32 -9
- package/Dropzone/Dropzone.types.js.map +1 -1
- package/Dropzone/DropzoneCoverPreview.d.ts +14 -0
- package/Dropzone/DropzoneCoverPreview.d.ts.map +1 -0
- package/Dropzone/DropzoneCoverPreview.js +56 -0
- package/Dropzone/DropzoneCoverPreview.js.map +1 -0
- package/Dropzone/DropzoneFileCard.d.ts +17 -0
- package/Dropzone/DropzoneFileCard.d.ts.map +1 -0
- package/Dropzone/DropzoneFileCard.js +39 -0
- package/Dropzone/DropzoneFileCard.js.map +1 -0
- package/Dropzone/DropzoneFilePreview.d.ts.map +1 -1
- package/Dropzone/DropzoneFilePreview.js +46 -26
- package/Dropzone/DropzoneFilePreview.js.map +1 -1
- package/Dropzone/DropzoneSinglePickPreview.d.ts +10 -2
- package/Dropzone/DropzoneSinglePickPreview.d.ts.map +1 -1
- package/Dropzone/DropzoneSinglePickPreview.js +206 -22
- package/Dropzone/DropzoneSinglePickPreview.js.map +1 -1
- package/Dropzone/DropzoneUtils.d.ts +1 -0
- package/Dropzone/DropzoneUtils.d.ts.map +1 -1
- package/Dropzone/DropzoneUtils.js +17 -6
- package/Dropzone/DropzoneUtils.js.map +1 -1
- package/Dropzone/icons/file-csv.svg.js +5 -0
- package/Dropzone/icons/file-csv.svg.js.map +1 -0
- package/Dropzone/icons/file-doc.svg.js +5 -0
- package/Dropzone/icons/file-doc.svg.js.map +1 -0
- package/Dropzone/icons/file-docx.svg.js +5 -0
- package/Dropzone/icons/file-docx.svg.js.map +1 -0
- package/Dropzone/icons/file-jpg.svg.js +5 -0
- package/Dropzone/icons/file-jpg.svg.js.map +1 -0
- package/Dropzone/icons/file-pdf.svg.js +5 -0
- package/Dropzone/icons/file-pdf.svg.js.map +1 -0
- package/Dropzone/icons/file-png.svg.js +5 -0
- package/Dropzone/icons/file-png.svg.js.map +1 -0
- package/Dropzone/icons/file-ppt.svg.js +5 -0
- package/Dropzone/icons/file-ppt.svg.js.map +1 -0
- package/Dropzone/icons/file-pptx.svg.js +5 -0
- package/Dropzone/icons/file-pptx.svg.js.map +1 -0
- package/Dropzone/icons/file-rar.svg.js +5 -0
- package/Dropzone/icons/file-rar.svg.js.map +1 -0
- package/Dropzone/icons/file-svg.svg.js +5 -0
- package/Dropzone/icons/file-svg.svg.js.map +1 -0
- package/Dropzone/icons/file-webp.svg.js +5 -0
- package/Dropzone/icons/file-webp.svg.js.map +1 -0
- package/Dropzone/icons/file-xls.svg.js +5 -0
- package/Dropzone/icons/file-xls.svg.js.map +1 -0
- package/Dropzone/icons/file-xlsx.svg.js +5 -0
- package/Dropzone/icons/file-xlsx.svg.js.map +1 -0
- package/Dropzone/icons/file-zip.svg.js +5 -0
- package/Dropzone/icons/file-zip.svg.js.map +1 -0
- package/Dropzone/index.js +8 -5
- package/Form/Form.js +28 -29
- package/Form/Form.js.map +1 -1
- package/Form/FormRenderControl.d.ts +1 -1
- package/Form/FormRenderControl.d.ts.map +1 -1
- package/Form/FormRenderControl.js +54 -14
- package/Form/FormRenderControl.js.map +1 -1
- package/Form/FormRenderControl.types.d.ts +6 -2
- package/Form/FormRenderControl.types.d.ts.map +1 -1
- package/Form/Form_old.js +4 -5
- package/Form/Form_old.js.map +1 -1
- package/FormCheckbox/FormCheckbox.js +4 -4
- package/FormCheckbox/FormCheckbox.js.map +1 -1
- package/FormCombobox/FormCombobox.d.ts +4 -2
- package/FormCombobox/FormCombobox.d.ts.map +1 -1
- package/FormCombobox/FormCombobox.js +29 -16
- package/FormCombobox/FormCombobox.js.map +1 -1
- package/FormCombobox/FormCombobox.types.d.ts +6 -2
- package/FormCombobox/FormCombobox.types.d.ts.map +1 -1
- package/FormDatePicker/FormDatePicker.d.ts.map +1 -1
- package/FormDatePicker/FormDatePicker.js +18 -16
- package/FormDatePicker/FormDatePicker.js.map +1 -1
- package/FormDropzone/FormDropzone.d.ts.map +1 -1
- package/FormDropzone/FormDropzone.js +13 -11
- package/FormDropzone/FormDropzone.js.map +1 -1
- package/FormInput/FormInput.d.ts.map +1 -1
- package/FormInput/FormInput.js +47 -27
- package/FormInput/FormInput.js.map +1 -1
- package/FormInput/FormInput.stories.js +80 -0
- package/FormInput/FormInput.stories.js.map +1 -0
- package/FormInput/FormInput.types.d.ts +1 -0
- package/FormInput/FormInput.types.d.ts.map +1 -1
- package/FormRadio/FormRadio.js.map +1 -1
- package/FormSelect/FormSelect.d.ts.map +1 -1
- package/FormSelect/FormSelect.js +19 -18
- package/FormSelect/FormSelect.js.map +1 -1
- package/FormTextarea/FormTextarea.d.ts.map +1 -1
- package/FormTextarea/FormTextarea.js +15 -12
- package/FormTextarea/FormTextarea.js.map +1 -1
- package/Header/Header.js.map +1 -1
- package/HoverCard/HoverCard.js.map +1 -1
- package/InfoBlock/InfoBlock.d.ts +7 -0
- package/InfoBlock/InfoBlock.d.ts.map +1 -0
- package/InfoBlock/InfoBlock.js +28 -0
- package/InfoBlock/InfoBlock.js.map +1 -0
- package/InfoBlock/InfoBlock.stories.js +50 -0
- package/InfoBlock/InfoBlock.stories.js.map +1 -0
- package/InfoBlock/InfoBlock.types.d.ts +9 -0
- package/InfoBlock/InfoBlock.types.d.ts.map +1 -0
- package/InfoBlock/InfoBlock.types.js +2 -0
- package/InfoBlock/InfoBlock.types.js.map +1 -0
- package/InfoBlock/index.d.ts +3 -0
- package/InfoBlock/index.d.ts.map +1 -0
- package/InfoBlock/index.js +5 -0
- package/InfoBlock/index.js.map +1 -0
- package/InfoBlock/infoBlockVariants.d.ts +6 -0
- package/InfoBlock/infoBlockVariants.d.ts.map +1 -0
- package/InfoBlock/infoBlockVariants.js +27 -0
- package/InfoBlock/infoBlockVariants.js.map +1 -0
- package/Input/Input.d.ts.map +1 -1
- package/Input/Input.js +104 -53
- package/Input/Input.js.map +1 -1
- package/Input/Input.stories.js +225 -0
- package/Input/Input.stories.js.map +1 -0
- package/Input/Input.types.d.ts +5 -0
- package/Input/Input.types.d.ts.map +1 -1
- package/Input/inputVariants.js.map +1 -1
- package/InputOTP/InputOTP.d.ts.map +1 -1
- package/InputOTP/InputOTP.js.map +1 -1
- package/LICENSE +21 -21
- package/Label/Label.js.map +1 -1
- package/Label/labelVariants.js.map +1 -1
- package/LazyLoader/LazyLoader.js +4 -5
- package/LazyLoader/LazyLoader.js.map +1 -1
- package/LoadedIcon/LoadedIcon.js.map +1 -1
- package/LoadingMask/LoadingMask.d.ts +1 -2
- package/LoadingMask/LoadingMask.d.ts.map +1 -1
- package/LoadingMask/LoadingMask.js +8 -8
- package/LoadingMask/LoadingMask.js.map +1 -1
- package/LoadingMask/LoadingMask.types.d.ts +1 -0
- package/LoadingMask/LoadingMask.types.d.ts.map +1 -1
- package/LoadingMask/RenderLoadingMask.js.map +1 -1
- package/LoadingProgress/LoadingProgress.js.map +1 -1
- package/LoadingProgress/loadingProgressVariants.js.map +1 -1
- package/Menubar/Menubar.js.map +1 -1
- package/NavigationMenu/NavigationMenu.js.map +1 -1
- package/NavigationMenu/navigationMenuVariants.js.map +1 -1
- package/Pagination/Pagination.js +0 -1
- package/Pagination/Pagination.js.map +1 -1
- package/Popover/Popover.d.ts +3 -1
- package/Popover/Popover.d.ts.map +1 -1
- package/Popover/Popover.js +15 -10
- package/Popover/Popover.js.map +1 -1
- package/Progress/Progress.js.map +1 -1
- package/README.md +7 -7
- package/Radio/Radio.js.map +1 -1
- package/RadioGroup/RadioGroup.js.map +1 -1
- package/Resizable/Resizable.js.map +1 -1
- package/Resizable/Resizable.stories.js.map +1 -1
- package/ScrollArea/ScrollArea.d.ts +5 -1
- package/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/ScrollArea/ScrollArea.js +23 -17
- package/ScrollArea/ScrollArea.js.map +1 -1
- package/Search/Search.d.ts.map +1 -1
- package/Search/Search.js +39 -30
- package/Search/Search.js.map +1 -1
- package/Search/Search.stories.js.map +1 -1
- package/Select/Select.d.ts.map +1 -1
- package/Select/Select.js +53 -49
- package/Select/Select.js.map +1 -1
- package/Select/Select.stories.js.map +1 -1
- package/Select/Select.types.d.ts +4 -0
- package/Select/Select.types.d.ts.map +1 -1
- package/Select/SelectRoot.d.ts.map +1 -1
- package/Select/SelectRoot.js +79 -66
- package/Select/SelectRoot.js.map +1 -1
- package/Separator/Separator.js.map +1 -1
- package/Sheet/Sheet.js.map +1 -1
- package/Sidebar/Sidebar.js +20 -21
- package/Sidebar/Sidebar.js.map +1 -1
- package/Skeleton/Skeleton.js.map +1 -1
- package/Slider/Slider.js.map +1 -1
- package/Sonner/Sonner.js.map +1 -1
- package/Switch/Switch.d.ts +1 -1
- package/Switch/Switch.d.ts.map +1 -1
- package/Switch/Switch.js +19 -9
- package/Switch/Switch.js.map +1 -1
- package/Switch/Switch.stories.js +62 -0
- package/Switch/Switch.stories.js.map +1 -0
- package/Table/Table.js.map +1 -1
- package/TablePagination/TablePagination.js +17 -21
- package/TablePagination/TablePagination.js.map +1 -1
- package/Tabs/Tabs.js.map +1 -1
- package/Tabs/TabsRoot.js.map +1 -1
- package/Textarea/Textarea.d.ts.map +1 -1
- package/Textarea/Textarea.js +50 -45
- package/Textarea/Textarea.js.map +1 -1
- package/Textarea/Textarea.stories.js.map +1 -1
- package/Textarea/Textarea.types.d.ts +3 -1
- package/Textarea/Textarea.types.d.ts.map +1 -1
- package/Textarea/useAutosizeTextArea.js.map +1 -1
- package/Theme/ThemeModeToggle.js +3 -4
- package/Theme/ThemeModeToggle.js.map +1 -1
- package/Theme/ThemeProvider.js.map +1 -1
- package/Toast/Toast.d.ts +1 -1
- package/Toast/Toast.js.map +1 -1
- package/Toast/toast.constants.js.map +1 -1
- package/Toast/toastVariants.d.ts +1 -1
- package/Toast/toastVariants.js.map +1 -1
- package/Toast/useToast.js.map +1 -1
- package/Toaster/Toaster.js.map +1 -1
- package/Toggle/Toggle.js.map +1 -1
- package/ToggleGroup/ToggleGroup.js.map +1 -1
- package/Tooltip/QuestionMarkIcon.svg.js +6 -0
- package/Tooltip/QuestionMarkIcon.svg.js.map +1 -0
- package/Tooltip/Tooltip.d.ts.map +1 -1
- package/Tooltip/Tooltip.js +52 -32
- package/Tooltip/Tooltip.js.map +1 -1
- package/Tooltip/Tooltip.types.d.ts +10 -0
- package/Tooltip/Tooltip.types.d.ts.map +1 -1
- package/Tooltip/TooltipRoot.js.map +1 -1
- package/Tooltip/tooltipVariants.d.ts +4 -0
- package/Tooltip/tooltipVariants.d.ts.map +1 -0
- package/Tooltip/tooltipVariants.js +23 -0
- package/Tooltip/tooltipVariants.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.d.ts.map +1 -1
- package/index.js +357 -344
- package/index.js.map +1 -1
- package/package.json +10 -6
- package/styles.css +1 -0
- package/vite-env.d.js +2 -0
- package/vite-env.d.js.map +1 -0
- package/vite-env.d.ts +7 -0
- package/Combobox/ComboboxOptions.d.ts +0 -4
- package/Combobox/ComboboxOptions.d.ts.map +0 -1
- package/Combobox/ComboboxOptions.js +0 -65
- package/Combobox/ComboboxOptions.js.map +0 -1
|
@@ -1,50 +1,114 @@
|
|
|
1
|
-
import { Dispatch, ReactNode, SetStateAction } from 'react';
|
|
2
|
-
export
|
|
1
|
+
import { Dispatch, HTMLAttributes, ReactNode, Ref, SetStateAction } from 'react';
|
|
2
|
+
export type ComboboxValueType = string | string[];
|
|
3
|
+
export type ComboboxSelectedType = 'single' | 'multi';
|
|
4
|
+
export declare const DEFAULT_COMBOBOX_TYPE: ComboboxSelectedType;
|
|
5
|
+
export interface ComboboxOption<Data extends object = object> {
|
|
3
6
|
value: string;
|
|
4
7
|
label: string;
|
|
5
|
-
|
|
8
|
+
node?: Data;
|
|
9
|
+
items?: ComboboxOption<Data>[];
|
|
10
|
+
path?: string[];
|
|
11
|
+
parent?: string;
|
|
12
|
+
level?: number;
|
|
13
|
+
matched?: boolean;
|
|
6
14
|
}
|
|
7
|
-
export interface ComboboxCallbackStateParams {
|
|
8
|
-
options: ComboboxOption[];
|
|
9
|
-
setOptions: Dispatch<SetStateAction<ComboboxOption[]>>;
|
|
10
|
-
selectedOption?: ComboboxOption;
|
|
11
|
-
setSelectedOption: Dispatch<SetStateAction<ComboboxOption | undefined>>;
|
|
15
|
+
export interface ComboboxCallbackStateParams<Data extends object = object, T extends ComboboxSelectedType = 'single'> {
|
|
16
|
+
options: ComboboxOption<Data>[];
|
|
17
|
+
setOptions: Dispatch<SetStateAction<ComboboxOption<Data>[]>>;
|
|
12
18
|
search: string;
|
|
13
19
|
setSearch: Dispatch<SetStateAction<string>>;
|
|
20
|
+
onChangeOption: (option: ComboboxOption<Data>) => void;
|
|
14
21
|
open: boolean;
|
|
15
22
|
setOpen: Dispatch<SetStateAction<boolean>>;
|
|
16
23
|
loading: boolean;
|
|
17
24
|
setLoading: Dispatch<SetStateAction<boolean>>;
|
|
18
25
|
isEmptyList: boolean;
|
|
19
26
|
isSearchedEmptyList: boolean;
|
|
27
|
+
placeholder?: string;
|
|
28
|
+
type: T;
|
|
29
|
+
selectedOption: T extends 'single' ? ComboboxOption<Data> | undefined : ComboboxOption<Data>[];
|
|
30
|
+
setSelectedOption: T extends 'single' ? Dispatch<SetStateAction<ComboboxOption<Data> | undefined>> : Dispatch<SetStateAction<ComboboxOption<Data>[] | undefined>>;
|
|
20
31
|
}
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
32
|
+
export type ComboboxCallbackStateParamsUnion<Data extends object = object> = ComboboxCallbackStateParams<Data, 'single'> | ComboboxCallbackStateParams<Data, 'multi'>;
|
|
33
|
+
export type ComboboxCallbackStateParamsRenderHandler<Data extends object = object> = (params: ComboboxCallbackStateParamsUnion<Data>) => ReactNode;
|
|
34
|
+
export interface IComboboxOptionsNodeHandlersProps<Data extends object = object> {
|
|
35
|
+
defaultNodeOpen?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);
|
|
36
|
+
defaultNodeDisabled?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);
|
|
37
|
+
defaultNodeMatched?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);
|
|
38
|
+
defaultNodeMuted?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);
|
|
39
|
+
defaultNodeInteractive?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);
|
|
40
|
+
/** Use onPointerUp instead of cmdk onSelect. Fixes selection inside modal Dialog. */
|
|
41
|
+
forcePointerSelect?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface IComboboxOptionsNodeProps<Data extends object = object> extends IComboboxOptionsNodeHandlersProps<Data> {
|
|
44
|
+
type: ComboboxSelectedType;
|
|
45
|
+
search?: string;
|
|
46
|
+
value?: ComboboxValueType;
|
|
47
|
+
option: ComboboxOption<Data>;
|
|
48
|
+
onSelect?: (option: ComboboxOption<Data>) => void;
|
|
25
49
|
deep?: number;
|
|
26
|
-
setOpen: Dispatch<SetStateAction<boolean>>;
|
|
27
50
|
}
|
|
28
|
-
export interface IComboboxOptionsProps extends Omit<IComboboxOptionsNodeProps
|
|
29
|
-
options?: ComboboxOption[];
|
|
51
|
+
export interface IComboboxOptionsProps<Data extends object = object> extends Omit<IComboboxOptionsNodeProps<Data>, 'option'>, IComboboxOptionsNodeHandlersProps<Data> {
|
|
52
|
+
options?: ComboboxOption<Data>[];
|
|
30
53
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
54
|
+
interface IListActionProps extends HTMLAttributes<HTMLDivElement> {
|
|
55
|
+
bordered?: boolean;
|
|
56
|
+
}
|
|
57
|
+
interface IPopoverSlotProps {
|
|
58
|
+
/** Set Popover modal mode. Use `true` when Combobox is inside a modal Dialog. */
|
|
59
|
+
modal?: boolean;
|
|
60
|
+
/** Container element for Popover portal. Use to render inside modal Dialog. */
|
|
61
|
+
container?: HTMLElement | null;
|
|
62
|
+
}
|
|
63
|
+
export interface ISlotProps {
|
|
64
|
+
popover?: IPopoverSlotProps;
|
|
65
|
+
listFooterAction?: IListActionProps;
|
|
66
|
+
}
|
|
67
|
+
type ComboboxLoadDataParams = {
|
|
68
|
+
search?: string;
|
|
69
|
+
offset?: number;
|
|
70
|
+
};
|
|
71
|
+
type ComboboxLoadDataResult<Data extends object = object> = {
|
|
72
|
+
data: ComboboxOption<Data>[];
|
|
73
|
+
total: number;
|
|
74
|
+
};
|
|
75
|
+
type ComboboxLoadDataReturn<Data extends object = object> = ComboboxOption<Data>[] | ComboboxLoadDataResult<Data>;
|
|
76
|
+
type ComboboxLoadData<Data extends object = object> = (params: ComboboxLoadDataParams, signal: AbortSignal, controller: ComboboxCallbackStateParams<Data, 'single'> | ComboboxCallbackStateParams<Data, 'multi'>) => Promise<ComboboxLoadDataReturn<Data>>;
|
|
77
|
+
export interface ComboboxBaseProps<Data extends object = object, T extends ComboboxSelectedType = 'single'> extends IComboboxOptionsNodeHandlersProps {
|
|
78
|
+
type?: T;
|
|
79
|
+
imperativeRef?: Ref<ComboboxCallbackStateParams<Data, 'single'> | ComboboxCallbackStateParams<Data, 'multi'> | null>;
|
|
34
80
|
placeholder?: string;
|
|
35
81
|
searchLabel?: string;
|
|
36
82
|
disabled?: boolean;
|
|
37
|
-
|
|
38
|
-
|
|
83
|
+
/** Callback for load data on search debounce */
|
|
84
|
+
loadData: ComboboxLoadData<Data>;
|
|
85
|
+
options?: ComboboxOption<Data>[];
|
|
39
86
|
/** Command Empty list label*/
|
|
40
87
|
emptyLabel?: string;
|
|
41
88
|
/** Command Empty list action */
|
|
42
|
-
emptyAction?: ((params: ComboboxCallbackStateParams) => ReactNode) | ReactNode;
|
|
89
|
+
emptyAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;
|
|
43
90
|
/** Command Input footer action */
|
|
44
|
-
commandInputAction?: ((params: ComboboxCallbackStateParams) => ReactNode) | ReactNode;
|
|
91
|
+
commandInputAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;
|
|
45
92
|
/** Command List first element action */
|
|
46
|
-
listHeadAction?: ((params: ComboboxCallbackStateParams) => ReactNode) | ReactNode;
|
|
93
|
+
listHeadAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;
|
|
94
|
+
/** Command List footer element action */
|
|
95
|
+
listFooterAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;
|
|
47
96
|
/** Callback for load data on start component */
|
|
48
|
-
onMount?: (params: ComboboxCallbackStateParams) => Promise<void>;
|
|
97
|
+
onMount?: (params: ComboboxCallbackStateParams<Data, T>) => Promise<void>;
|
|
98
|
+
renderTrigger?: (params: ComboboxCallbackStateParams<Data, T>) => ReactNode;
|
|
99
|
+
renderList?: (params: ComboboxCallbackStateParams<Data, T>) => ReactNode;
|
|
100
|
+
slotProps?: ISlotProps;
|
|
101
|
+
}
|
|
102
|
+
export interface SingleComboboxProps<Data extends object = object> extends ComboboxBaseProps<Data, 'single'> {
|
|
103
|
+
type?: 'single';
|
|
104
|
+
value?: string;
|
|
105
|
+
onChange: (value: string | undefined) => void;
|
|
106
|
+
}
|
|
107
|
+
export interface MultiComboboxProps<Data extends object = object> extends ComboboxBaseProps<Data, 'multi'> {
|
|
108
|
+
type: 'multi';
|
|
109
|
+
value?: string[];
|
|
110
|
+
onChange: (value: string[] | undefined) => void;
|
|
49
111
|
}
|
|
112
|
+
export type ComboboxProps<Data extends object = object, T extends ComboboxSelectedType = 'single'> = T extends 'single' ? SingleComboboxProps<Data> : MultiComboboxProps<Data>;
|
|
113
|
+
export {};
|
|
50
114
|
//# sourceMappingURL=Combobox.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.types.d.ts","sourceRoot":"","sources":["../../src/Combobox/Combobox.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Combobox.types.d.ts","sourceRoot":"","sources":["../../src/Combobox/Combobox.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Combobox.types.js","sources":["../../src/Combobox/Combobox.types.ts"],"sourcesContent":["import { Dispatch, HTMLAttributes, ReactNode, Ref, SetStateAction } from 'react';\r\n\r\nexport type ComboboxValueType = string | string[];\r\nexport type ComboboxSelectedType = 'single' | 'multi';\r\n\r\nexport const DEFAULT_COMBOBOX_TYPE: ComboboxSelectedType = 'single';\r\n\r\nexport interface ComboboxOption<Data extends object = object> {\r\n value: string;\r\n label: string;\r\n node?: Data;\r\n // tree only\r\n items?: ComboboxOption<Data>[];\r\n path?: string[];\r\n parent?: string;\r\n level?: number;\r\n matched?: boolean;\r\n}\r\n\r\nexport interface ComboboxCallbackStateParams<\r\n Data extends object = object,\r\n T extends ComboboxSelectedType = 'single'\r\n> {\r\n options: ComboboxOption<Data>[];\r\n setOptions: Dispatch<SetStateAction<ComboboxOption<Data>[]>>\r\n search: string;\r\n setSearch: Dispatch<SetStateAction<string>>\r\n onChangeOption: (option: ComboboxOption<Data>) => void;\r\n open: boolean,\r\n setOpen: Dispatch<SetStateAction<boolean>>;\r\n loading: boolean;\r\n setLoading: Dispatch<SetStateAction<boolean>>;\r\n isEmptyList: boolean;\r\n isSearchedEmptyList: boolean;\r\n placeholder?: string;\r\n\r\n type: T;\r\n selectedOption: T extends 'single'\r\n ? ComboboxOption<Data> | undefined\r\n : ComboboxOption<Data>[];\r\n setSelectedOption: T extends 'single'\r\n ? Dispatch<SetStateAction<ComboboxOption<Data> | undefined>>\r\n : Dispatch<SetStateAction<ComboboxOption<Data>[] | undefined>>;\r\n}\r\n\r\nexport type ComboboxCallbackStateParamsUnion<Data extends object = object> = ComboboxCallbackStateParams<Data, 'single'> | ComboboxCallbackStateParams<Data, 'multi'>\r\nexport type ComboboxCallbackStateParamsRenderHandler<Data extends object = object> = (params:ComboboxCallbackStateParamsUnion<Data>) => ReactNode\r\n\r\nexport interface IComboboxOptionsNodeHandlersProps<Data extends object = object> {\r\n defaultNodeOpen?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);\r\n defaultNodeDisabled?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);\r\n defaultNodeMatched?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);\r\n defaultNodeMuted?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);\r\n defaultNodeInteractive?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);\r\n /** Use onPointerUp instead of cmdk onSelect. Fixes selection inside modal Dialog. */\r\n forcePointerSelect?: boolean;\r\n}\r\n\r\nexport interface IComboboxOptionsNodeProps<Data extends object = object>\r\n extends IComboboxOptionsNodeHandlersProps<Data> {\r\n type: ComboboxSelectedType,\r\n search?: string;\r\n value?: ComboboxValueType;\r\n option: ComboboxOption<Data>;\r\n onSelect?: (option: ComboboxOption<Data>) => void;\r\n deep?: number;\r\n}\r\n\r\nexport interface IComboboxOptionsProps<Data extends object = object>\r\n extends Omit<IComboboxOptionsNodeProps<Data>, 'option'>, IComboboxOptionsNodeHandlersProps<Data> {\r\n options?: ComboboxOption<Data>[];\r\n}\r\n\r\ninterface IListActionProps extends HTMLAttributes<HTMLDivElement> {\r\n bordered?: boolean;\r\n}\r\ninterface IPopoverSlotProps {\r\n /** Set Popover modal mode. Use `true` when Combobox is inside a modal Dialog. */\r\n modal?: boolean;\r\n /** Container element for Popover portal. Use to render inside modal Dialog. */\r\n container?: HTMLElement | null;\r\n}\r\n\r\nexport interface ISlotProps {\r\n popover?: IPopoverSlotProps;\r\n listFooterAction?: IListActionProps;\r\n}\r\n\r\ntype ComboboxLoadDataParams = { search?: string; offset?: number; }\r\ntype ComboboxLoadDataResult<Data extends object = object> = { data: ComboboxOption<Data>[]; total: number; }\r\ntype ComboboxLoadDataReturn<Data extends object = object> = ComboboxOption<Data>[] | ComboboxLoadDataResult<Data>;\r\ntype ComboboxLoadData<Data extends object = object> = (\r\n params: ComboboxLoadDataParams,\r\n signal: AbortSignal,\r\n controller: ComboboxCallbackStateParams<Data, 'single'> | ComboboxCallbackStateParams<Data, 'multi'>\r\n) => Promise<ComboboxLoadDataReturn<Data>>;\r\n\r\nexport interface ComboboxBaseProps<\r\n Data extends object = object,\r\n T extends ComboboxSelectedType = 'single'\r\n> extends IComboboxOptionsNodeHandlersProps {\r\n type?: T;\r\n imperativeRef?: Ref<\r\n ComboboxCallbackStateParams<Data, 'single'>\r\n | ComboboxCallbackStateParams<Data, 'multi'>\r\n | null\r\n >;\r\n placeholder?: string;\r\n searchLabel?: string;\r\n disabled?: boolean;\r\n /** Callback for load data on search debounce */\r\n loadData: ComboboxLoadData<Data>;\r\n options?: ComboboxOption<Data>[];\r\n /** Command Empty list label*/\r\n emptyLabel?: string;\r\n /** Command Empty list action */\r\n emptyAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;\r\n /** Command Input footer action */\r\n commandInputAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;\r\n /** Command List first element action */\r\n listHeadAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;\r\n /** Command List footer element action */\r\n listFooterAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;\r\n /** Callback for load data on start component */\r\n onMount?: (params: ComboboxCallbackStateParams<Data, T>) => Promise<void>;\r\n\r\n renderTrigger?: (params: ComboboxCallbackStateParams<Data, T>) => ReactNode;\r\n renderList?: (params: ComboboxCallbackStateParams<Data, T>) => ReactNode;\r\n\r\n slotProps?: ISlotProps;\r\n}\r\n\r\nexport interface SingleComboboxProps<Data extends object = object>\r\n extends ComboboxBaseProps<Data, 'single'> {\r\n type?: 'single';\r\n value?: string;\r\n onChange: (value: string | undefined) => void;\r\n}\r\nexport interface MultiComboboxProps<Data extends object = object>\r\n extends ComboboxBaseProps<Data, 'multi'> {\r\n type: 'multi';\r\n value?: string[];\r\n onChange: (value: string[] | undefined) => void;\r\n}\r\n\r\nexport type ComboboxProps<\r\n Data extends object = object,\r\n T extends ComboboxSelectedType = 'single'\r\n> = T extends 'single'\r\n ? SingleComboboxProps<Data>\r\n : MultiComboboxProps<Data>;\r\n"],"names":["DEFAULT_COMBOBOX_TYPE"],"mappings":"AAKO,MAAMA,IAA8C;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
1
2
|
import { IComboboxOptionsNodeProps } from './Combobox.types';
|
|
2
|
-
export declare const ComboboxOptionItem:
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
export declare const ComboboxOptionItem: <Data extends object>(props: PropsWithChildren<IComboboxOptionsNodeProps<Data>> & {
|
|
4
|
+
onCollapseToggle?: () => void;
|
|
5
|
+
expanded?: boolean;
|
|
6
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
5
7
|
//# sourceMappingURL=ComboboxOptionItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxOptionItem.d.ts","sourceRoot":"","sources":["../../src/Combobox/ComboboxOptionItem.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComboboxOptionItem.d.ts","sourceRoot":"","sources":["../../src/Combobox/ComboboxOptionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAyB,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAcpF,eAAO,MAAM,kBAAkB,GAAI,IAAI,SAAS,MAAM,EACpD,OAAO,iBAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,GAAG;IAC1D,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,4CA2HF,CAAA"}
|
|
@@ -1,38 +1,95 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { jsxs as b, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { DEFAULT_COMBOBOX_TYPE as g } from "./Combobox.types.js";
|
|
3
|
+
import { ChevronRightIcon as N, CheckIcon as x } from "lucide-react";
|
|
4
|
+
import { cn as r } from "@oneplatformdev/utils";
|
|
5
|
+
import { CommandItem as D } from "../Command/Command.js";
|
|
6
|
+
import { ButtonIcon as k } from "../ButtonIcon/ButtonIcon.js";
|
|
7
|
+
import { Checkbox as C } from "../Checkbox/Checkbox.js";
|
|
8
|
+
const E = 24, P = 8, I = (c) => c ? Math.max(c - 1, 0) * E - P : 0, F = (c) => {
|
|
9
|
+
const {
|
|
10
|
+
type: s = g,
|
|
11
|
+
expanded: h,
|
|
12
|
+
option: e,
|
|
13
|
+
onSelect: y,
|
|
14
|
+
value: l = "",
|
|
15
|
+
deep: t = 0,
|
|
16
|
+
onCollapseToggle: i,
|
|
17
|
+
defaultNodeDisabled: p,
|
|
18
|
+
defaultNodeMatched: d,
|
|
19
|
+
defaultNodeMuted: f,
|
|
20
|
+
defaultNodeInteractive: o,
|
|
21
|
+
forcePointerSelect: u
|
|
22
|
+
} = c, m = Array.isArray(l) ? l.includes(e.value) : l === e.value, v = () => {
|
|
23
|
+
if (!(typeof o == "function" ? o(e, t) : o ?? !0)) return i?.();
|
|
24
|
+
y?.(e);
|
|
25
|
+
};
|
|
26
|
+
return /* @__PURE__ */ b(
|
|
27
|
+
D,
|
|
10
28
|
{
|
|
11
|
-
ref: n,
|
|
12
29
|
value: e.value,
|
|
13
|
-
|
|
14
|
-
|
|
30
|
+
"data-matched": e.matched ?? !0,
|
|
31
|
+
onSelect: u ? void 0 : v,
|
|
32
|
+
onPointerUp: u ? v : void 0,
|
|
33
|
+
onClick: (n) => {
|
|
34
|
+
(typeof o == "function" ? o(e, t) : o ?? !0) || (n?.preventDefault(), n?.stopPropagation());
|
|
15
35
|
},
|
|
36
|
+
className: r("py-0 gap-0", t && "pl-0"),
|
|
16
37
|
style: {
|
|
17
|
-
|
|
38
|
+
"--deep-space": `${I(t)}px`
|
|
18
39
|
},
|
|
40
|
+
disabled: typeof p == "function" ? p(e, t) : p ?? !1,
|
|
19
41
|
children: [
|
|
20
|
-
|
|
42
|
+
!!t && /* @__PURE__ */ a(
|
|
43
|
+
"div",
|
|
44
|
+
{
|
|
45
|
+
style: { paddingLeft: "var(--deep-space)" },
|
|
46
|
+
className: "relative box-border min-w-10 h-10",
|
|
47
|
+
onClick: (n) => {
|
|
48
|
+
i && (n?.preventDefault(), n?.stopPropagation(), i?.());
|
|
49
|
+
},
|
|
50
|
+
children: /* @__PURE__ */ a("div", { className: "w-10 aspect-square shrink-0", children: i && /* @__PURE__ */ a(
|
|
51
|
+
k,
|
|
52
|
+
{
|
|
53
|
+
type: "button",
|
|
54
|
+
variant: "ghost",
|
|
55
|
+
color: "secondary",
|
|
56
|
+
className: r(
|
|
57
|
+
"bg-transparent hover:bg-transparent active:bg-transparent focus:bg-transparent"
|
|
58
|
+
),
|
|
59
|
+
icon: /* @__PURE__ */ a(
|
|
60
|
+
N,
|
|
61
|
+
{
|
|
62
|
+
strokeWidth: 2,
|
|
63
|
+
className: r(
|
|
64
|
+
"text-[#06080D]",
|
|
65
|
+
"transition-transform duration-200",
|
|
66
|
+
h && "rotate-90"
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
}
|
|
71
|
+
) })
|
|
72
|
+
}
|
|
73
|
+
),
|
|
74
|
+
s === "multi" && /* @__PURE__ */ a(C, { checked: m, className: "mr-2 shrink-0" }),
|
|
21
75
|
/* @__PURE__ */ a(
|
|
22
76
|
"span",
|
|
23
77
|
{
|
|
24
|
-
className:
|
|
25
|
-
"overflow-hidden whitespace-wrap text-ellipsis line-clamp-2"
|
|
78
|
+
className: r(
|
|
79
|
+
"overflow-hidden whitespace-wrap text-ellipsis line-clamp-2 grow",
|
|
80
|
+
(typeof d == "function" ? d(e, t) : d ?? !1) && "font-bold",
|
|
81
|
+
(typeof f == "function" ? f(e, t) : f ?? !1) && "opacity-60",
|
|
82
|
+
!(typeof o == "function" ? o(e, t) : o ?? !0) && "pointer-events-none"
|
|
26
83
|
),
|
|
27
84
|
children: e.label
|
|
28
85
|
}
|
|
29
86
|
),
|
|
30
|
-
/* @__PURE__ */ a(
|
|
31
|
-
|
|
87
|
+
s === "single" && /* @__PURE__ */ a(
|
|
88
|
+
x,
|
|
32
89
|
{
|
|
33
|
-
className:
|
|
34
|
-
"ml-
|
|
35
|
-
|
|
90
|
+
className: r(
|
|
91
|
+
"ml-2 shrink-0",
|
|
92
|
+
m ? "opacity-100" : "opacity-0"
|
|
36
93
|
)
|
|
37
94
|
}
|
|
38
95
|
)
|
|
@@ -40,8 +97,8 @@ const u = 8, C = c((i, n) => {
|
|
|
40
97
|
},
|
|
41
98
|
e.value
|
|
42
99
|
);
|
|
43
|
-
}
|
|
100
|
+
};
|
|
44
101
|
export {
|
|
45
|
-
|
|
102
|
+
F as ComboboxOptionItem
|
|
46
103
|
};
|
|
47
104
|
//# sourceMappingURL=ComboboxOptionItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxOptionItem.js","sources":["../../src/Combobox/ComboboxOptionItem.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"ComboboxOptionItem.js","sources":["../../src/Combobox/ComboboxOptionItem.tsx"],"sourcesContent":["import { CSSProperties, PropsWithChildren } from 'react';\r\nimport { CommandItem } from '../Command';\r\nimport { DEFAULT_COMBOBOX_TYPE, IComboboxOptionsNodeProps } from './Combobox.types';\r\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\r\nimport { cn } from '@oneplatformdev/utils';\r\nimport { Checkbox } from \"../Checkbox\";\r\nimport { ButtonIcon } from \"../ButtonIcon\";\r\n\r\nconst DEEP_OFFSET = 24;\r\nconst DEEP_PADDING_DELTA = 8;\r\nconst calcDeepSpace = (deep: number) => {\r\n if(!deep) return 0;\r\n const space = Math.max(deep - 1, 0) * DEEP_OFFSET;\r\n return space - DEEP_PADDING_DELTA;\r\n}\r\n\r\nexport const ComboboxOptionItem = <Data extends object>(\r\n props: PropsWithChildren<IComboboxOptionsNodeProps<Data>> & {\r\n onCollapseToggle?: () => void;\r\n expanded?: boolean;\r\n }\r\n) => {\r\n const {\r\n type = DEFAULT_COMBOBOX_TYPE,\r\n expanded,\r\n option,\r\n onSelect,\r\n value = '',\r\n deep = 0,\r\n onCollapseToggle,\r\n defaultNodeDisabled,\r\n defaultNodeMatched,\r\n defaultNodeMuted,\r\n defaultNodeInteractive,\r\n forcePointerSelect,\r\n } = props;\r\n\r\n const isSelected = Array.isArray(value)\r\n ? value.includes(option.value)\r\n : value === option.value;\r\n\r\n const handleSelect = () => {\r\n const interactive = typeof defaultNodeInteractive === \"function\"\r\n ? defaultNodeInteractive(option, deep)\r\n : defaultNodeInteractive ?? true;\r\n if (!interactive) return onCollapseToggle?.();\r\n onSelect?.(option);\r\n };\r\n\r\n return (\r\n <CommandItem\r\n key={option.value}\r\n value={option.value}\r\n data-matched={option.matched ?? true}\r\n onSelect={forcePointerSelect ? undefined : handleSelect}\r\n onPointerUp={forcePointerSelect ? handleSelect : undefined}\r\n onClick={(e) => {\r\n const interactive = typeof defaultNodeInteractive === \"function\"\r\n ? defaultNodeInteractive(option, deep)\r\n : defaultNodeInteractive ?? true\r\n\r\n if(!interactive) {\r\n e?.preventDefault();\r\n e?.stopPropagation();\r\n }\r\n }}\r\n className={cn('py-0 gap-0', deep && 'pl-0')}\r\n style={{\r\n '--deep-space': `${calcDeepSpace(deep)}px`,\r\n } as CSSProperties}\r\n disabled={typeof defaultNodeDisabled === \"function\"\r\n ? defaultNodeDisabled(option, deep)\r\n : defaultNodeDisabled ?? false}\r\n >\r\n {!!deep && (\r\n <div\r\n style={{ paddingLeft: 'var(--deep-space)' }}\r\n className='relative box-border min-w-10 h-10'\r\n onClick={(e) => {\r\n if(!onCollapseToggle) return;\r\n e?.preventDefault();\r\n e?.stopPropagation();\r\n onCollapseToggle?.();\r\n }}\r\n >\r\n <div className='w-10 aspect-square shrink-0'>\r\n {onCollapseToggle && (\r\n <ButtonIcon\r\n type=\"button\"\r\n variant=\"ghost\"\r\n color='secondary'\r\n className={cn(\r\n 'bg-transparent hover:bg-transparent active:bg-transparent focus:bg-transparent'\r\n )}\r\n icon={(\r\n <ChevronRightIcon\r\n strokeWidth={2}\r\n className={cn(\r\n 'text-[#06080D]',\r\n 'transition-transform duration-200',\r\n expanded && 'rotate-90',\r\n )}\r\n />\r\n )}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n {type === 'multi' && <Checkbox checked={isSelected} className='mr-2 shrink-0'/>}\r\n <span\r\n className={cn(\r\n 'overflow-hidden whitespace-wrap text-ellipsis line-clamp-2 grow',\r\n (() => {\r\n return typeof defaultNodeMatched === \"function\"\r\n ? defaultNodeMatched(option, deep)\r\n : defaultNodeMatched ?? false\r\n })() && 'font-bold',\r\n (() => {\r\n return typeof defaultNodeMuted === \"function\"\r\n ? defaultNodeMuted(option, deep)\r\n : defaultNodeMuted ?? false\r\n })() && 'opacity-60',\r\n (() => {\r\n const res = typeof defaultNodeInteractive === \"function\"\r\n ? defaultNodeInteractive(option, deep)\r\n : defaultNodeInteractive ?? true\r\n return !res;\r\n })() && 'pointer-events-none',\r\n )}\r\n >\r\n {option.label}\r\n </span>\r\n {type === 'single' && (\r\n <CheckIcon\r\n className={cn(\r\n 'ml-2 shrink-0',\r\n isSelected ? 'opacity-100' : 'opacity-0'\r\n )}\r\n />\r\n )}\r\n </CommandItem>\r\n );\r\n}\r\n"],"names":["DEEP_OFFSET","DEEP_PADDING_DELTA","calcDeepSpace","deep","ComboboxOptionItem","props","type","DEFAULT_COMBOBOX_TYPE","expanded","option","onSelect","value","onCollapseToggle","defaultNodeDisabled","defaultNodeMatched","defaultNodeMuted","defaultNodeInteractive","forcePointerSelect","isSelected","handleSelect","jsxs","CommandItem","e","cn","jsx","ButtonIcon","ChevronRightIcon","Checkbox","CheckIcon"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ComboboxCallbackStateParamsRenderHandler, ComboboxCallbackStateParamsUnion, ComboboxOption, ComboboxProps, ComboboxSelectedType, IComboboxOptionsNodeHandlersProps, ISlotProps } from './Combobox.types';
|
|
2
|
+
type ComboboxRenderContentProps<Data extends object = object> = IComboboxOptionsNodeHandlersProps<Data> & {
|
|
3
|
+
open?: boolean;
|
|
4
|
+
type: ComboboxSelectedType;
|
|
5
|
+
value: ComboboxProps<Data, 'single'>['value'] | ComboboxProps<Data, 'multi'>['value'];
|
|
6
|
+
hasNext: boolean;
|
|
7
|
+
loading: boolean;
|
|
8
|
+
loadingMore: boolean;
|
|
9
|
+
options: ComboboxOption<Data>[];
|
|
10
|
+
search?: string;
|
|
11
|
+
onSearch?: (term: string) => void;
|
|
12
|
+
isEmptyList?: boolean;
|
|
13
|
+
onSelect?: (option: ComboboxOption<Data>) => void;
|
|
14
|
+
searchLabel?: string;
|
|
15
|
+
emptyLabel?: string;
|
|
16
|
+
callbackStateParams: ComboboxCallbackStateParamsUnion<Data>;
|
|
17
|
+
commandInputAction?: ComboboxCallbackStateParamsRenderHandler<Data>;
|
|
18
|
+
renderList?: ComboboxCallbackStateParamsRenderHandler<Data>;
|
|
19
|
+
listHeadAction?: ComboboxCallbackStateParamsRenderHandler<Data>;
|
|
20
|
+
listFooterAction?: ComboboxCallbackStateParamsRenderHandler<Data>;
|
|
21
|
+
emptyAction?: ComboboxCallbackStateParamsRenderHandler<Data>;
|
|
22
|
+
slotProps?: ISlotProps;
|
|
23
|
+
popoverContainer?: HTMLElement | null;
|
|
24
|
+
onLoadMore?: () => Promise<void>;
|
|
25
|
+
};
|
|
26
|
+
export declare const ComboboxRenderContent: <Data extends object = object>(props: ComboboxRenderContentProps<Data>) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=ComboboxRenderContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxRenderContent.d.ts","sourceRoot":"","sources":["../../src/Combobox/ComboboxRenderContent.tsx"],"names":[],"mappings":"AAWA,OAAO,EACL,wCAAwC,EACxC,gCAAgC,EAChC,cAAc,EAAE,aAAa,EAC7B,oBAAoB,EAAE,iCAAiC,EACvD,UAAU,EACX,MAAM,kBAAkB,CAAC;AAM1B,KAAK,0BAA0B,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAC1D,iCAAiC,CAAC,IAAI,CAAC,GACrC;IACF,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IAEtF,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IAErB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAElD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB,EAAE,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAE5D,kBAAkB,CAAC,EAAE,wCAAwC,CAAC,IAAI,CAAC,CAAC;IACpE,UAAU,CAAC,EAAE,wCAAwC,CAAC,IAAI,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,wCAAwC,CAAC,IAAI,CAAC,CAAC;IAChE,gBAAgB,CAAC,EAAE,wCAAwC,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,CAAC,EAAE,wCAAwC,CAAC,IAAI,CAAC,CAAC;IAE7D,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAEtC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC,CAAA;AAkBD,eAAO,MAAM,qBAAqB,GAAI,IAAI,SAAS,MAAM,GAAG,MAAM,EAChE,OAAO,0BAA0B,CAAC,IAAI,CAAC,4CAyJxC,CAAA"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { jsx as e, jsxs as i, Fragment as w } from "react/jsx-runtime";
|
|
2
|
+
import { cn as s } from "@oneplatformdev/utils";
|
|
3
|
+
import { ComboboxRenderOptions as G } from "./ComboboxRenderOptions.js";
|
|
4
|
+
import { useRef as H, useEffect as J } from "react";
|
|
5
|
+
import { useInView as T } from "react-intersection-observer";
|
|
6
|
+
import { PopoverContent as _ } from "../Popover/Popover.js";
|
|
7
|
+
import { Command as q, CommandInput as z, CommandList as B, CommandGroup as K, CommandEmpty as y, CommandItem as Q } from "../Command/Command.js";
|
|
8
|
+
import { LoadingMask as U } from "../LoadingMask/LoadingMask.js";
|
|
9
|
+
import { Skeleton as W } from "../Skeleton/Skeleton.js";
|
|
10
|
+
const X = (t) => /* @__PURE__ */ e("div", { className: "flex w-full flex-col gap-0", children: Array.from({ length: t.length || 2 }).map((c, d) => /* @__PURE__ */ e(
|
|
11
|
+
"div",
|
|
12
|
+
{
|
|
13
|
+
className: "flex items-center min-h-10 w-full px-4",
|
|
14
|
+
children: /* @__PURE__ */ e("div", { className: s("flex items-center w-full", t.className), children: /* @__PURE__ */ e(W, { className: "h-4 w-full" }) })
|
|
15
|
+
},
|
|
16
|
+
d
|
|
17
|
+
)) }), ae = (t) => {
|
|
18
|
+
const {
|
|
19
|
+
open: c,
|
|
20
|
+
type: d,
|
|
21
|
+
search: u,
|
|
22
|
+
onSearch: C,
|
|
23
|
+
hasNext: v,
|
|
24
|
+
loading: r,
|
|
25
|
+
loadingMore: A,
|
|
26
|
+
isEmptyList: m,
|
|
27
|
+
onSelect: L,
|
|
28
|
+
options: x = [],
|
|
29
|
+
callbackStateParams: o,
|
|
30
|
+
value: S,
|
|
31
|
+
searchLabel: F = "Type to search...",
|
|
32
|
+
emptyLabel: N = "No options",
|
|
33
|
+
emptyAction: n,
|
|
34
|
+
commandInputAction: p,
|
|
35
|
+
listHeadAction: l,
|
|
36
|
+
listFooterAction: a,
|
|
37
|
+
slotProps: f = {},
|
|
38
|
+
defaultNodeDisabled: I,
|
|
39
|
+
defaultNodeMatched: M,
|
|
40
|
+
defaultNodeMuted: R,
|
|
41
|
+
defaultNodeInteractive: k,
|
|
42
|
+
forcePointerSelect: P,
|
|
43
|
+
popoverContainer: E,
|
|
44
|
+
renderList: h,
|
|
45
|
+
onLoadMore: V
|
|
46
|
+
} = t, b = H(null), { ref: j, inView: g } = T({
|
|
47
|
+
root: b.current,
|
|
48
|
+
rootMargin: "0px 0px 200px 0px",
|
|
49
|
+
threshold: 0
|
|
50
|
+
});
|
|
51
|
+
return J(() => {
|
|
52
|
+
c && g && V?.();
|
|
53
|
+
}, [g, c]), /* @__PURE__ */ e(
|
|
54
|
+
_,
|
|
55
|
+
{
|
|
56
|
+
className: s(
|
|
57
|
+
"w-(--radix-popper-anchor-width) max-w-none p-2"
|
|
58
|
+
),
|
|
59
|
+
align: "start",
|
|
60
|
+
container: E,
|
|
61
|
+
children: /* @__PURE__ */ i(q, { shouldFilter: !1, children: [
|
|
62
|
+
/* @__PURE__ */ e(
|
|
63
|
+
z,
|
|
64
|
+
{
|
|
65
|
+
placeholder: F,
|
|
66
|
+
value: u,
|
|
67
|
+
onValueChange: C
|
|
68
|
+
}
|
|
69
|
+
),
|
|
70
|
+
typeof p == "function" ? p(o) : p,
|
|
71
|
+
/* @__PURE__ */ e(B, { ref: b, children: /* @__PURE__ */ i(
|
|
72
|
+
K,
|
|
73
|
+
{
|
|
74
|
+
className: s(
|
|
75
|
+
!x.length && "p-0 shadow-none",
|
|
76
|
+
"px-0 py-2"
|
|
77
|
+
),
|
|
78
|
+
children: [
|
|
79
|
+
r && /* @__PURE__ */ e("div", { className: "pt-2 pb-0", children: /* @__PURE__ */ e(U, {}) }),
|
|
80
|
+
!r && m && /* @__PURE__ */ e(w, { children: n ? /* @__PURE__ */ i(y, { className: "flex flex-col gap-3 py-5 px-3 items-center", children: [
|
|
81
|
+
/* @__PURE__ */ e("span", { children: N }),
|
|
82
|
+
typeof n == "function" ? n(o) : n
|
|
83
|
+
] }) : /* @__PURE__ */ e(y, { children: N }) }),
|
|
84
|
+
!r && !m && /* @__PURE__ */ i(w, { children: [
|
|
85
|
+
l && /* @__PURE__ */ e(
|
|
86
|
+
Q,
|
|
87
|
+
{
|
|
88
|
+
asChild: !0,
|
|
89
|
+
className: "w-full",
|
|
90
|
+
children: typeof l == "function" ? l(o) : l
|
|
91
|
+
},
|
|
92
|
+
"combobox-list-head-action"
|
|
93
|
+
),
|
|
94
|
+
h && h(o),
|
|
95
|
+
!h && /* @__PURE__ */ e(
|
|
96
|
+
G,
|
|
97
|
+
{
|
|
98
|
+
type: d,
|
|
99
|
+
search: u,
|
|
100
|
+
value: S,
|
|
101
|
+
options: x,
|
|
102
|
+
onSelect: L,
|
|
103
|
+
defaultNodeDisabled: I,
|
|
104
|
+
defaultNodeMatched: M,
|
|
105
|
+
defaultNodeMuted: R,
|
|
106
|
+
defaultNodeInteractive: k,
|
|
107
|
+
forcePointerSelect: P
|
|
108
|
+
}
|
|
109
|
+
),
|
|
110
|
+
v && /* @__PURE__ */ e("div", { ref: j, className: "h-px w-full" }),
|
|
111
|
+
A && /* @__PURE__ */ e(X, {})
|
|
112
|
+
] })
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
) }),
|
|
116
|
+
!r && a && !m && /* @__PURE__ */ e(
|
|
117
|
+
"div",
|
|
118
|
+
{
|
|
119
|
+
"data-slot": "command-footer-wrapper",
|
|
120
|
+
...(() => {
|
|
121
|
+
const { bordered: O = !0, ...D } = f?.listFooterAction || {};
|
|
122
|
+
return {
|
|
123
|
+
...D,
|
|
124
|
+
"data-slot-bordered": JSON.stringify(O)
|
|
125
|
+
};
|
|
126
|
+
})(),
|
|
127
|
+
className: s(
|
|
128
|
+
"flex w-full items-center gap-2 px-0",
|
|
129
|
+
(f?.listFooterAction?.bordered ?? !0) && "border-t px-0 pt-2",
|
|
130
|
+
f?.listFooterAction?.className
|
|
131
|
+
),
|
|
132
|
+
children: typeof a == "function" ? a(o) : a
|
|
133
|
+
}
|
|
134
|
+
)
|
|
135
|
+
] })
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
};
|
|
139
|
+
export {
|
|
140
|
+
ae as ComboboxRenderContent
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=ComboboxRenderContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxRenderContent.js","sources":["../../src/Combobox/ComboboxRenderContent.tsx"],"sourcesContent":["import { LoadingMask } from '../LoadingMask';\r\nimport { PopoverContent } from '../Popover';\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from '../Command';\r\nimport { cn } from '@oneplatformdev/utils';\r\nimport {\r\n ComboboxCallbackStateParamsRenderHandler,\r\n ComboboxCallbackStateParamsUnion,\r\n ComboboxOption, ComboboxProps,\r\n ComboboxSelectedType, IComboboxOptionsNodeHandlersProps,\r\n ISlotProps,\r\n} from './Combobox.types';\r\nimport { ComboboxRenderOptions } from './ComboboxRenderOptions';\r\nimport { HTMLAttributes, useEffect, useRef } from \"react\";\r\nimport { useInView } from \"react-intersection-observer\";\r\nimport { Skeleton } from \"../Skeleton\";\r\n\r\ntype ComboboxRenderContentProps<Data extends object = object> =\r\n IComboboxOptionsNodeHandlersProps<Data>\r\n & {\r\n open?: boolean;\r\n\r\n type: ComboboxSelectedType,\r\n value: ComboboxProps<Data, 'single'>['value'] | ComboboxProps<Data, 'multi'>['value'];\r\n\r\n hasNext: boolean;\r\n\r\n loading: boolean;\r\n loadingMore: boolean;\r\n\r\n options: ComboboxOption<Data>[];\r\n search?: string;\r\n onSearch?: (term: string) => void;\r\n isEmptyList?: boolean;\r\n onSelect?: (option: ComboboxOption<Data>) => void;\r\n\r\n searchLabel?: string;\r\n emptyLabel?: string;\r\n\r\n callbackStateParams: ComboboxCallbackStateParamsUnion<Data>;\r\n\r\n commandInputAction?: ComboboxCallbackStateParamsRenderHandler<Data>;\r\n renderList?: ComboboxCallbackStateParamsRenderHandler<Data>;\r\n listHeadAction?: ComboboxCallbackStateParamsRenderHandler<Data>;\r\n listFooterAction?: ComboboxCallbackStateParamsRenderHandler<Data>;\r\n emptyAction?: ComboboxCallbackStateParamsRenderHandler<Data>;\r\n\r\n slotProps?: ISlotProps;\r\n\r\n popoverContainer?: HTMLElement | null;\r\n\r\n onLoadMore?: () => Promise<void>;\r\n}\r\n\r\nconst SkeletonItems = (props: HTMLAttributes<HTMLDivElement> & { length?: number }) => (\r\n <div className=\"flex w-full flex-col gap-0\">\r\n {Array.from({ length: props.length || 2 }).map((_, i) => (\r\n <div\r\n key={i}\r\n className='flex items-center min-h-10 w-full px-4'\r\n >\r\n <div className={cn('flex items-center w-full', props.className)}>\r\n <Skeleton className='h-4 w-full'/>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n);\r\n\r\n\r\nexport const ComboboxRenderContent = <Data extends object = object>(\r\n props: ComboboxRenderContentProps<Data>\r\n) => {\r\n const {\r\n open,\r\n type,\r\n search,\r\n onSearch,\r\n hasNext,\r\n loading,\r\n loadingMore,\r\n isEmptyList,\r\n onSelect,\r\n options = [],\r\n callbackStateParams,\r\n value,\r\n searchLabel = 'Type to search...',\r\n emptyLabel = 'No options',\r\n emptyAction,\r\n commandInputAction,\r\n listHeadAction,\r\n listFooterAction,\r\n slotProps = {},\r\n defaultNodeDisabled,\r\n defaultNodeMatched,\r\n defaultNodeMuted,\r\n defaultNodeInteractive,\r\n forcePointerSelect,\r\n popoverContainer,\r\n renderList,\r\n onLoadMore,\r\n } = props;\r\n\r\n const scrollRootRef = useRef<HTMLDivElement>(null);\r\n const { ref: sentinelRef, inView } = useInView({\r\n root: scrollRootRef.current,\r\n rootMargin: \"0px 0px 200px 0px\",\r\n threshold: 0,\r\n });\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n if (!inView) return;\r\n void onLoadMore?.();\r\n }, [ inView, open ]);\r\n\r\n return (\r\n <PopoverContent\r\n className={cn(\r\n \"w-(--radix-popper-anchor-width) max-w-none p-2\"\r\n )}\r\n align=\"start\"\r\n container={popoverContainer}\r\n >\r\n <Command shouldFilter={false}>\r\n <CommandInput\r\n placeholder={searchLabel}\r\n value={search}\r\n onValueChange={onSearch}\r\n />\r\n {typeof commandInputAction === 'function'\r\n ? commandInputAction(callbackStateParams)\r\n : commandInputAction}\r\n\r\n <CommandList ref={scrollRootRef}>\r\n <CommandGroup\r\n className={cn(\r\n !options.length && 'p-0 shadow-none',\r\n 'px-0 py-2',\r\n )}\r\n >\r\n {loading && (\r\n <div className=\"pt-2 pb-0\">\r\n <LoadingMask />\r\n </div>\r\n )}\r\n {!loading && isEmptyList && (\r\n <>\r\n {emptyAction ? (\r\n <CommandEmpty className=\"flex flex-col gap-3 py-5 px-3 items-center\">\r\n <span>{emptyLabel}</span>\r\n {typeof emptyAction === 'function'\r\n ? emptyAction(callbackStateParams)\r\n : emptyAction}\r\n </CommandEmpty>\r\n ) : (\r\n <CommandEmpty>{emptyLabel}</CommandEmpty>\r\n )}\r\n </>\r\n )}\r\n\r\n {!loading && !isEmptyList && (\r\n <>\r\n {listHeadAction && (\r\n <CommandItem\r\n key='combobox-list-head-action'\r\n asChild\r\n className='w-full'\r\n >\r\n {typeof listHeadAction === 'function'\r\n ? listHeadAction(callbackStateParams)\r\n : listHeadAction}\r\n </CommandItem>\r\n )}\r\n\r\n {renderList && renderList(callbackStateParams)}\r\n\r\n {!renderList && (\r\n <ComboboxRenderOptions\r\n type={type}\r\n search={search}\r\n value={value}\r\n options={options}\r\n onSelect={onSelect}\r\n defaultNodeDisabled={defaultNodeDisabled}\r\n defaultNodeMatched={defaultNodeMatched}\r\n defaultNodeMuted={defaultNodeMuted}\r\n defaultNodeInteractive={defaultNodeInteractive}\r\n forcePointerSelect={forcePointerSelect}/>\r\n )}\r\n\r\n {hasNext && <div ref={sentinelRef} className=\"h-px w-full\"/>}\r\n {loadingMore && <SkeletonItems />}\r\n </>\r\n )}\r\n\r\n </CommandGroup>\r\n </CommandList>\r\n\r\n {/*LIST FOOTER ACTION*/}\r\n {!loading && listFooterAction && !isEmptyList && (\r\n <div\r\n data-slot=\"command-footer-wrapper\"\r\n {...((() => {\r\n const { bordered = true, ...rest } = slotProps?.listFooterAction || {};\r\n return {\r\n ...rest,\r\n 'data-slot-bordered': JSON.stringify(bordered)\r\n }\r\n })())}\r\n className={cn(\r\n \"flex w-full items-center gap-2 px-0\",\r\n (slotProps?.listFooterAction?.bordered ?? true) && 'border-t px-0 pt-2',\r\n slotProps?.listFooterAction?.className,\r\n )}\r\n >\r\n {typeof listFooterAction === 'function'\r\n ? listFooterAction(callbackStateParams)\r\n : listFooterAction}\r\n </div>\r\n )}\r\n </Command>\r\n </PopoverContent>\r\n );\r\n}\r\n"],"names":["SkeletonItems","props","_","i","jsx","cn","Skeleton","ComboboxRenderContent","open","type","search","onSearch","hasNext","loading","loadingMore","isEmptyList","onSelect","options","callbackStateParams","value","searchLabel","emptyLabel","emptyAction","commandInputAction","listHeadAction","listFooterAction","slotProps","defaultNodeDisabled","defaultNodeMatched","defaultNodeMuted","defaultNodeInteractive","forcePointerSelect","popoverContainer","renderList","onLoadMore","scrollRootRef","useRef","sentinelRef","inView","useInView","useEffect","PopoverContent","jsxs","Command","CommandInput","CommandList","CommandGroup","LoadingMask","Fragment","CommandEmpty","CommandItem","ComboboxRenderOptions","bordered","rest"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IComboboxOptionsNodeProps, IComboboxOptionsProps } from './Combobox.types';
|
|
2
|
+
export declare const ComboboxOptionsNode: <Data extends object>(props: IComboboxOptionsNodeProps<Data>) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const ComboboxRenderOptions: <Data extends object>(props: IComboboxOptionsProps<Data>) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=ComboboxRenderOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxRenderOptions.d.ts","sourceRoot":"","sources":["../../src/Combobox/ComboboxRenderOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAS1B,eAAO,MAAM,mBAAmB,GAAI,IAAI,SAAS,MAAM,EAAE,OAAO,yBAAyB,CAAC,IAAI,CAAC,4CA2C9F,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,IAAI,SAAS,MAAM,EAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,4CAe5F,CAAA"}
|