@oneplatformdev/ui 0.1.99-beta.26 → 0.1.99-beta.261
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/Accordion/Accordion.d.ts +1 -1
- package/Accordion/Accordion.d.ts.map +1 -1
- package/Accordion/Accordion.js +48 -26
- package/Accordion/Accordion.js.map +1 -1
- package/AlertDialog/AlertDialog.stories.js +67 -23
- package/AlertDialog/AlertDialog.stories.js.map +1 -1
- package/AlertDialog/AlertDialogRoot.d.ts.map +1 -1
- package/AlertDialog/AlertDialogRoot.js +20 -18
- package/AlertDialog/AlertDialogRoot.js.map +1 -1
- package/Button/Button.d.ts.map +1 -1
- package/Button/Button.js +43 -43
- 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/buttonVariants.d.ts +2 -2
- package/Button/buttonVariants.d.ts.map +1 -1
- package/Button/buttonVariants.js +38 -6
- 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 +41 -39
- 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 +3 -2
- package/ButtonIcon/buttonIconVariants.js.map +1 -1
- package/CHANGELOG.md +1511 -0
- package/Calendar/Calendar.js +5 -4
- 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/Checkbox/Checkbox.d.ts.map +1 -1
- package/Checkbox/Checkbox.js +36 -34
- 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/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 +231 -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 +81 -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 +143 -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 +120 -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 +61 -43
- 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 +16 -15
- package/DataTable/DataTable.js.map +1 -1
- package/Dialog/Dialog.d.ts +4 -1
- package/Dialog/Dialog.d.ts.map +1 -1
- package/Dialog/Dialog.js +83 -40
- package/Dialog/Dialog.js.map +1 -1
- package/Dialog/Dialog.stories.js +109 -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/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/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 +46 -28
- package/Dropzone/Dropzone.js.map +1 -1
- package/Dropzone/Dropzone.stories.js +100 -0
- package/Dropzone/Dropzone.stories.js.map +1 -0
- package/Dropzone/Dropzone.types.js +6 -6
- package/Dropzone/Dropzone.types.js.map +1 -1
- package/Form/FormRenderControl.d.ts +1 -1
- package/Form/FormRenderControl.d.ts.map +1 -1
- package/Form/FormRenderControl.js +55 -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/FormCombobox/FormCombobox.d.ts +4 -2
- package/FormCombobox/FormCombobox.d.ts.map +1 -1
- package/FormCombobox/FormCombobox.js +30 -17
- 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 +11 -9
- 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 +61 -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/FormSelect/FormSelect.d.ts.map +1 -1
- package/FormSelect/FormSelect.js +21 -17
- 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/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 +65 -51
- package/Input/Input.js.map +1 -1
- package/Input/Input.stories.js +154 -0
- package/Input/Input.stories.js.map +1 -0
- package/Input/Input.types.d.ts +1 -0
- package/Input/Input.types.d.ts.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/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/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 +40 -31
- package/Search/Search.js.map +1 -1
- package/Select/Select.d.ts.map +1 -1
- package/Select/Select.js +53 -48
- package/Select/Select.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 +78 -65
- package/Select/SelectRoot.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/TablePagination/TablePagination.js +9 -8
- package/TablePagination/TablePagination.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.types.d.ts +3 -1
- package/Textarea/Textarea.types.d.ts.map +1 -1
- package/Toast/Toast.d.ts +1 -1
- package/Toast/toastVariants.d.ts +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/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 +342 -332
- package/index.js.map +1 -1
- package/package.json +7 -5
- 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 +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';\n\nexport type ComboboxValueType = string | string[];\nexport type ComboboxSelectedType = 'single' | 'multi';\n\nexport const DEFAULT_COMBOBOX_TYPE: ComboboxSelectedType = 'single';\n\nexport interface ComboboxOption<Data extends object = object> {\n value: string;\n label: string;\n node?: Data;\n // tree only\n items?: ComboboxOption<Data>[];\n path?: string[];\n parent?: string;\n level?: number;\n matched?: boolean;\n}\n\nexport interface ComboboxCallbackStateParams<\n Data extends object = object,\n T extends ComboboxSelectedType = 'single'\n> {\n options: ComboboxOption<Data>[];\n setOptions: Dispatch<SetStateAction<ComboboxOption<Data>[]>>\n search: string;\n setSearch: Dispatch<SetStateAction<string>>\n onChangeOption: (option: ComboboxOption<Data>) => void;\n open: boolean,\n setOpen: Dispatch<SetStateAction<boolean>>;\n loading: boolean;\n setLoading: Dispatch<SetStateAction<boolean>>;\n isEmptyList: boolean;\n isSearchedEmptyList: boolean;\n placeholder?: string;\n\n type: T;\n selectedOption: T extends 'single'\n ? ComboboxOption<Data> | undefined\n : ComboboxOption<Data>[];\n setSelectedOption: T extends 'single'\n ? Dispatch<SetStateAction<ComboboxOption<Data> | undefined>>\n : Dispatch<SetStateAction<ComboboxOption<Data>[] | undefined>>;\n}\n\nexport type ComboboxCallbackStateParamsUnion<Data extends object = object> = ComboboxCallbackStateParams<Data, 'single'> | ComboboxCallbackStateParams<Data, 'multi'>\nexport type ComboboxCallbackStateParamsRenderHandler<Data extends object = object> = (params:ComboboxCallbackStateParamsUnion<Data>) => ReactNode\n\nexport interface IComboboxOptionsNodeHandlersProps<Data extends object = object> {\n defaultNodeOpen?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);\n defaultNodeDisabled?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);\n defaultNodeMatched?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);\n defaultNodeMuted?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);\n defaultNodeInteractive?: boolean | ((option: ComboboxOption<Data>, deep: number) => boolean | undefined);\n /** Use onPointerUp instead of cmdk onSelect. Fixes selection inside modal Dialog. */\n forcePointerSelect?: boolean;\n}\n\nexport interface IComboboxOptionsNodeProps<Data extends object = object>\n extends IComboboxOptionsNodeHandlersProps<Data> {\n type: ComboboxSelectedType,\n search?: string;\n value?: ComboboxValueType;\n option: ComboboxOption<Data>;\n onSelect?: (option: ComboboxOption<Data>) => void;\n deep?: number;\n}\n\nexport interface IComboboxOptionsProps<Data extends object = object>\n extends Omit<IComboboxOptionsNodeProps<Data>, 'option'>, IComboboxOptionsNodeHandlersProps<Data> {\n options?: ComboboxOption<Data>[];\n}\n\ninterface IListActionProps extends HTMLAttributes<HTMLDivElement> {\n bordered?: boolean;\n}\ninterface IPopoverSlotProps {\n /** Set Popover modal mode. Use `true` when Combobox is inside a modal Dialog. */\n modal?: boolean;\n /** Container element for Popover portal. Use to render inside modal Dialog. */\n container?: HTMLElement | null;\n}\n\nexport interface ISlotProps {\n popover?: IPopoverSlotProps;\n listFooterAction?: IListActionProps;\n}\n\ntype ComboboxLoadDataParams = { search?: string; offset?: number; }\ntype ComboboxLoadDataResult<Data extends object = object> = { data: ComboboxOption<Data>[]; total: number; }\ntype ComboboxLoadDataReturn<Data extends object = object> = ComboboxOption<Data>[] | ComboboxLoadDataResult<Data>;\ntype ComboboxLoadData<Data extends object = object> = (\n params: ComboboxLoadDataParams,\n signal: AbortSignal,\n controller: ComboboxCallbackStateParams<Data, 'single'> | ComboboxCallbackStateParams<Data, 'multi'>\n) => Promise<ComboboxLoadDataReturn<Data>>;\n\nexport interface ComboboxBaseProps<\n Data extends object = object,\n T extends ComboboxSelectedType = 'single'\n> extends IComboboxOptionsNodeHandlersProps {\n type?: T;\n imperativeRef?: Ref<\n ComboboxCallbackStateParams<Data, 'single'>\n | ComboboxCallbackStateParams<Data, 'multi'>\n | null\n >;\n placeholder?: string;\n searchLabel?: string;\n disabled?: boolean;\n /** Callback for load data on search debounce */\n loadData: ComboboxLoadData<Data>;\n options?: ComboboxOption<Data>[];\n /** Command Empty list label*/\n emptyLabel?: string;\n /** Command Empty list action */\n emptyAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;\n /** Command Input footer action */\n commandInputAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;\n /** Command List first element action */\n listHeadAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;\n /** Command List footer element action */\n listFooterAction?: ((params: ComboboxCallbackStateParams<Data, T>) => ReactNode) | ReactNode;\n /** Callback for load data on start component */\n onMount?: (params: ComboboxCallbackStateParams<Data, T>) => Promise<void>;\n\n renderTrigger?: (params: ComboboxCallbackStateParams<Data, T>) => ReactNode;\n renderList?: (params: ComboboxCallbackStateParams<Data, T>) => ReactNode;\n\n slotProps?: ISlotProps;\n}\n\nexport interface SingleComboboxProps<Data extends object = object>\n extends ComboboxBaseProps<Data, 'single'> {\n type?: 'single';\n value?: string;\n onChange: (value: string | undefined) => void;\n}\nexport interface MultiComboboxProps<Data extends object = object>\n extends ComboboxBaseProps<Data, 'multi'> {\n type: 'multi';\n value?: string[];\n onChange: (value: string[] | undefined) => void;\n}\n\nexport type ComboboxProps<\n Data extends object = object,\n T extends ComboboxSelectedType = 'single'\n> = T extends 'single'\n ? SingleComboboxProps<Data>\n : MultiComboboxProps<Data>;\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,96 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { cn as
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { jsxs as b, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { CommandItem as g } from "../Command/Command.js";
|
|
3
|
+
import { DEFAULT_COMBOBOX_TYPE as N } from "./Combobox.types.js";
|
|
4
|
+
import { ChevronRightIcon as x, CheckIcon as D } from "lucide-react";
|
|
5
|
+
import { cn as r } from "@oneplatformdev/utils";
|
|
6
|
+
import { Checkbox as k } from "../Checkbox/Checkbox.js";
|
|
7
|
+
import { ButtonIcon as C } from "../ButtonIcon/ButtonIcon.js";
|
|
8
|
+
import "../ButtonIcon/buttonIconVariants.js";
|
|
9
|
+
const E = 24, P = 8, I = (i) => i ? Math.max(i - 1, 0) * E - P : 0, L = (i) => {
|
|
10
|
+
const {
|
|
11
|
+
type: s = N,
|
|
12
|
+
expanded: h,
|
|
13
|
+
option: e,
|
|
14
|
+
onSelect: y,
|
|
15
|
+
value: l = "",
|
|
16
|
+
deep: t = 0,
|
|
17
|
+
onCollapseToggle: c,
|
|
18
|
+
defaultNodeDisabled: p,
|
|
19
|
+
defaultNodeMatched: d,
|
|
20
|
+
defaultNodeMuted: f,
|
|
21
|
+
defaultNodeInteractive: o,
|
|
22
|
+
forcePointerSelect: u
|
|
23
|
+
} = i, m = Array.isArray(l) ? l.includes(e.value) : l === e.value, v = () => {
|
|
24
|
+
if (!(typeof o == "function" ? o(e, t) : o ?? !0)) return c?.();
|
|
25
|
+
y?.(e);
|
|
26
|
+
};
|
|
27
|
+
return /* @__PURE__ */ b(
|
|
28
|
+
g,
|
|
10
29
|
{
|
|
11
|
-
ref: n,
|
|
12
30
|
value: e.value,
|
|
13
|
-
|
|
14
|
-
|
|
31
|
+
"data-matched": e.matched ?? !0,
|
|
32
|
+
onSelect: u ? void 0 : v,
|
|
33
|
+
onPointerUp: u ? v : void 0,
|
|
34
|
+
onClick: (n) => {
|
|
35
|
+
(typeof o == "function" ? o(e, t) : o ?? !0) || (n?.preventDefault(), n?.stopPropagation());
|
|
15
36
|
},
|
|
37
|
+
className: r("py-0 gap-0", t && "pl-0"),
|
|
16
38
|
style: {
|
|
17
|
-
|
|
39
|
+
"--deep-space": `${I(t)}px`
|
|
18
40
|
},
|
|
41
|
+
disabled: typeof p == "function" ? p(e, t) : p ?? !1,
|
|
19
42
|
children: [
|
|
20
|
-
|
|
43
|
+
!!t && /* @__PURE__ */ a(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
style: { paddingLeft: "var(--deep-space)" },
|
|
47
|
+
className: "relative box-border min-w-10 h-10",
|
|
48
|
+
onClick: (n) => {
|
|
49
|
+
c && (n?.preventDefault(), n?.stopPropagation(), c?.());
|
|
50
|
+
},
|
|
51
|
+
children: /* @__PURE__ */ a("div", { className: "w-10 aspect-square shrink-0", children: c && /* @__PURE__ */ a(
|
|
52
|
+
C,
|
|
53
|
+
{
|
|
54
|
+
type: "button",
|
|
55
|
+
variant: "ghost",
|
|
56
|
+
color: "secondary",
|
|
57
|
+
className: r(
|
|
58
|
+
"bg-transparent hover:bg-transparent active:bg-transparent focus:bg-transparent"
|
|
59
|
+
),
|
|
60
|
+
icon: /* @__PURE__ */ a(
|
|
61
|
+
x,
|
|
62
|
+
{
|
|
63
|
+
strokeWidth: 2,
|
|
64
|
+
className: r(
|
|
65
|
+
"text-[#06080D]",
|
|
66
|
+
"transition-transform duration-200",
|
|
67
|
+
h && "rotate-90"
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
) })
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
s === "multi" && /* @__PURE__ */ a(k, { checked: m, className: "mr-2 shrink-0" }),
|
|
21
76
|
/* @__PURE__ */ a(
|
|
22
77
|
"span",
|
|
23
78
|
{
|
|
24
|
-
className:
|
|
25
|
-
"overflow-hidden whitespace-wrap text-ellipsis line-clamp-2"
|
|
79
|
+
className: r(
|
|
80
|
+
"overflow-hidden whitespace-wrap text-ellipsis line-clamp-2 grow",
|
|
81
|
+
(typeof d == "function" ? d(e, t) : d ?? !1) && "font-bold",
|
|
82
|
+
(typeof f == "function" ? f(e, t) : f ?? !1) && "opacity-60",
|
|
83
|
+
!(typeof o == "function" ? o(e, t) : o ?? !0) && "pointer-events-none"
|
|
26
84
|
),
|
|
27
85
|
children: e.label
|
|
28
86
|
}
|
|
29
87
|
),
|
|
30
|
-
/* @__PURE__ */ a(
|
|
31
|
-
|
|
88
|
+
s === "single" && /* @__PURE__ */ a(
|
|
89
|
+
D,
|
|
32
90
|
{
|
|
33
|
-
className:
|
|
34
|
-
"ml-
|
|
35
|
-
|
|
91
|
+
className: r(
|
|
92
|
+
"ml-2 shrink-0",
|
|
93
|
+
m ? "opacity-100" : "opacity-0"
|
|
36
94
|
)
|
|
37
95
|
}
|
|
38
96
|
)
|
|
@@ -40,8 +98,8 @@ const u = 8, C = c((i, n) => {
|
|
|
40
98
|
},
|
|
41
99
|
e.value
|
|
42
100
|
);
|
|
43
|
-
}
|
|
101
|
+
};
|
|
44
102
|
export {
|
|
45
|
-
|
|
103
|
+
L as ComboboxOptionItem
|
|
46
104
|
};
|
|
47
105
|
//# 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';\nimport { CommandItem } from '../Command';\nimport { DEFAULT_COMBOBOX_TYPE, IComboboxOptionsNodeProps } from './Combobox.types';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\nimport { cn } from '@oneplatformdev/utils';\nimport { Checkbox } from \"../Checkbox\";\nimport { ButtonIcon } from \"../ButtonIcon\";\n\nconst DEEP_OFFSET = 24;\nconst DEEP_PADDING_DELTA = 8;\nconst calcDeepSpace = (deep: number) => {\n if(!deep) return 0;\n const space = Math.max(deep - 1, 0) * DEEP_OFFSET;\n return space - DEEP_PADDING_DELTA;\n}\n\nexport const ComboboxOptionItem = <Data extends object>(\n props: PropsWithChildren<IComboboxOptionsNodeProps<Data>> & {\n onCollapseToggle?: () => void;\n expanded?: boolean;\n }\n) => {\n const {\n type = DEFAULT_COMBOBOX_TYPE,\n expanded,\n option,\n onSelect,\n value = '',\n deep = 0,\n onCollapseToggle,\n defaultNodeDisabled,\n defaultNodeMatched,\n defaultNodeMuted,\n defaultNodeInteractive,\n forcePointerSelect,\n } = props;\n\n const isSelected = Array.isArray(value)\n ? value.includes(option.value)\n : value === option.value;\n\n const handleSelect = () => {\n const interactive = typeof defaultNodeInteractive === \"function\"\n ? defaultNodeInteractive(option, deep)\n : defaultNodeInteractive ?? true;\n if (!interactive) return onCollapseToggle?.();\n onSelect?.(option);\n };\n\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n data-matched={option.matched ?? true}\n onSelect={forcePointerSelect ? undefined : handleSelect}\n onPointerUp={forcePointerSelect ? handleSelect : undefined}\n onClick={(e) => {\n const interactive = typeof defaultNodeInteractive === \"function\"\n ? defaultNodeInteractive(option, deep)\n : defaultNodeInteractive ?? true\n\n if(!interactive) {\n e?.preventDefault();\n e?.stopPropagation();\n }\n }}\n className={cn('py-0 gap-0', deep && 'pl-0')}\n style={{\n '--deep-space': `${calcDeepSpace(deep)}px`,\n } as CSSProperties}\n disabled={typeof defaultNodeDisabled === \"function\"\n ? defaultNodeDisabled(option, deep)\n : defaultNodeDisabled ?? false}\n >\n {!!deep && (\n <div\n style={{ paddingLeft: 'var(--deep-space)' }}\n className='relative box-border min-w-10 h-10'\n onClick={(e) => {\n if(!onCollapseToggle) return;\n e?.preventDefault();\n e?.stopPropagation();\n onCollapseToggle?.();\n }}\n >\n <div className='w-10 aspect-square shrink-0'>\n {onCollapseToggle && (\n <ButtonIcon\n type=\"button\"\n variant=\"ghost\"\n color='secondary'\n className={cn(\n 'bg-transparent hover:bg-transparent active:bg-transparent focus:bg-transparent'\n )}\n icon={(\n <ChevronRightIcon\n strokeWidth={2}\n className={cn(\n 'text-[#06080D]',\n 'transition-transform duration-200',\n expanded && 'rotate-90',\n )}\n />\n )}\n />\n )}\n </div>\n </div>\n )}\n {type === 'multi' && <Checkbox checked={isSelected} className='mr-2 shrink-0'/>}\n <span\n className={cn(\n 'overflow-hidden whitespace-wrap text-ellipsis line-clamp-2 grow',\n (() => {\n return typeof defaultNodeMatched === \"function\"\n ? defaultNodeMatched(option, deep)\n : defaultNodeMatched ?? false\n })() && 'font-bold',\n (() => {\n return typeof defaultNodeMuted === \"function\"\n ? defaultNodeMuted(option, deep)\n : defaultNodeMuted ?? false\n })() && 'opacity-60',\n (() => {\n const res = typeof defaultNodeInteractive === \"function\"\n ? defaultNodeInteractive(option, deep)\n : defaultNodeInteractive ?? true\n return !res;\n })() && 'pointer-events-none',\n )}\n >\n {option.label}\n </span>\n {type === 'single' && (\n <CheckIcon\n className={cn(\n 'ml-2 shrink-0',\n isSelected ? 'opacity-100' : 'opacity-0'\n )}\n />\n )}\n </CommandItem>\n );\n}\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,4CAqJxC,CAAA"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { jsx as e, jsxs as i, Fragment as w } from "react/jsx-runtime";
|
|
2
|
+
import { LoadingMask as G } from "../LoadingMask/LoadingMask.js";
|
|
3
|
+
import "../LoadingMask/RenderLoadingMask.js";
|
|
4
|
+
import { PopoverContent as H } from "../Popover/Popover.js";
|
|
5
|
+
import { Command as J, CommandInput as T, CommandList as W, CommandGroup as _, CommandEmpty as y, CommandItem as q } from "../Command/Command.js";
|
|
6
|
+
import { cn as s } from "@oneplatformdev/utils";
|
|
7
|
+
import { ComboboxRenderOptions as z } from "./ComboboxRenderOptions.js";
|
|
8
|
+
import { useRef as B, useEffect as K } from "react";
|
|
9
|
+
import { useInView as Q } from "react-intersection-observer";
|
|
10
|
+
import { Skeleton as U } from "../Skeleton/Skeleton.js";
|
|
11
|
+
const X = (t) => /* @__PURE__ */ e("div", { className: "flex w-full flex-col gap-0", children: Array.from({ length: t.length || 2 }).map((c, m) => /* @__PURE__ */ e(
|
|
12
|
+
"div",
|
|
13
|
+
{
|
|
14
|
+
className: "flex items-center min-h-10 w-full px-4",
|
|
15
|
+
children: /* @__PURE__ */ e("div", { className: s("flex items-center w-full", t.className), children: /* @__PURE__ */ e(U, { className: "h-4 w-full" }) })
|
|
16
|
+
},
|
|
17
|
+
m
|
|
18
|
+
)) }), ie = (t) => {
|
|
19
|
+
const {
|
|
20
|
+
open: c,
|
|
21
|
+
type: m,
|
|
22
|
+
search: u,
|
|
23
|
+
onSearch: C,
|
|
24
|
+
hasNext: v,
|
|
25
|
+
loading: r,
|
|
26
|
+
loadingMore: A,
|
|
27
|
+
isEmptyList: d,
|
|
28
|
+
onSelect: L,
|
|
29
|
+
options: x = [],
|
|
30
|
+
callbackStateParams: o,
|
|
31
|
+
value: S,
|
|
32
|
+
searchLabel: F = "Type to search...",
|
|
33
|
+
emptyLabel: N = "No options",
|
|
34
|
+
emptyAction: n,
|
|
35
|
+
commandInputAction: p,
|
|
36
|
+
listHeadAction: l,
|
|
37
|
+
listFooterAction: a,
|
|
38
|
+
slotProps: f = {},
|
|
39
|
+
defaultNodeDisabled: I,
|
|
40
|
+
defaultNodeMatched: M,
|
|
41
|
+
defaultNodeMuted: R,
|
|
42
|
+
defaultNodeInteractive: k,
|
|
43
|
+
forcePointerSelect: P,
|
|
44
|
+
popoverContainer: E,
|
|
45
|
+
renderList: h,
|
|
46
|
+
onLoadMore: V
|
|
47
|
+
} = t, b = B(null), { ref: j, inView: g } = Q({
|
|
48
|
+
root: b.current,
|
|
49
|
+
rootMargin: "0px 0px 200px 0px",
|
|
50
|
+
threshold: 0
|
|
51
|
+
});
|
|
52
|
+
return K(() => {
|
|
53
|
+
c && g && V?.();
|
|
54
|
+
}, [g, c]), /* @__PURE__ */ e(
|
|
55
|
+
H,
|
|
56
|
+
{
|
|
57
|
+
className: s(
|
|
58
|
+
"w-(--radix-popper-anchor-width) max-w-none p-2"
|
|
59
|
+
),
|
|
60
|
+
align: "start",
|
|
61
|
+
container: E,
|
|
62
|
+
children: /* @__PURE__ */ i(J, { shouldFilter: !1, children: [
|
|
63
|
+
/* @__PURE__ */ e(
|
|
64
|
+
T,
|
|
65
|
+
{
|
|
66
|
+
placeholder: F,
|
|
67
|
+
value: u,
|
|
68
|
+
onValueChange: C
|
|
69
|
+
}
|
|
70
|
+
),
|
|
71
|
+
typeof p == "function" ? p(o) : p,
|
|
72
|
+
/* @__PURE__ */ e(W, { ref: b, children: /* @__PURE__ */ i(
|
|
73
|
+
_,
|
|
74
|
+
{
|
|
75
|
+
className: s(
|
|
76
|
+
!x.length && "p-0 shadow-none",
|
|
77
|
+
"px-0 py-2"
|
|
78
|
+
),
|
|
79
|
+
children: [
|
|
80
|
+
r && /* @__PURE__ */ e(G, { fullWidth: !0 }),
|
|
81
|
+
!r && d && /* @__PURE__ */ e(w, { children: n ? /* @__PURE__ */ i(y, { className: "flex flex-col gap-3 py-5 px-3 items-center", children: [
|
|
82
|
+
/* @__PURE__ */ e("span", { children: N }),
|
|
83
|
+
typeof n == "function" ? n(o) : n
|
|
84
|
+
] }) : /* @__PURE__ */ e(y, { children: N }) }),
|
|
85
|
+
!r && !d && /* @__PURE__ */ i(w, { children: [
|
|
86
|
+
l && /* @__PURE__ */ e(
|
|
87
|
+
q,
|
|
88
|
+
{
|
|
89
|
+
asChild: !0,
|
|
90
|
+
className: "w-full",
|
|
91
|
+
children: typeof l == "function" ? l(o) : l
|
|
92
|
+
},
|
|
93
|
+
"combobox-list-head-action"
|
|
94
|
+
),
|
|
95
|
+
h && h(o),
|
|
96
|
+
!h && /* @__PURE__ */ e(
|
|
97
|
+
z,
|
|
98
|
+
{
|
|
99
|
+
type: m,
|
|
100
|
+
search: u,
|
|
101
|
+
value: S,
|
|
102
|
+
options: x,
|
|
103
|
+
onSelect: L,
|
|
104
|
+
defaultNodeDisabled: I,
|
|
105
|
+
defaultNodeMatched: M,
|
|
106
|
+
defaultNodeMuted: R,
|
|
107
|
+
defaultNodeInteractive: k,
|
|
108
|
+
forcePointerSelect: P
|
|
109
|
+
}
|
|
110
|
+
),
|
|
111
|
+
v && /* @__PURE__ */ e("div", { ref: j, className: "h-px w-full" }),
|
|
112
|
+
A && /* @__PURE__ */ e(X, {})
|
|
113
|
+
] })
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
) }),
|
|
117
|
+
!r && a && !d && /* @__PURE__ */ e(
|
|
118
|
+
"div",
|
|
119
|
+
{
|
|
120
|
+
"data-slot": "command-footer-wrapper",
|
|
121
|
+
...(() => {
|
|
122
|
+
const { bordered: O = !0, ...D } = f?.listFooterAction || {};
|
|
123
|
+
return {
|
|
124
|
+
...D,
|
|
125
|
+
"data-slot-bordered": JSON.stringify(O)
|
|
126
|
+
};
|
|
127
|
+
})(),
|
|
128
|
+
className: s(
|
|
129
|
+
"flex w-full items-center gap-2 px-0",
|
|
130
|
+
(f?.listFooterAction?.bordered ?? !0) && "border-t px-0 pt-2",
|
|
131
|
+
f?.listFooterAction?.className
|
|
132
|
+
),
|
|
133
|
+
children: typeof a == "function" ? a(o) : a
|
|
134
|
+
}
|
|
135
|
+
)
|
|
136
|
+
] })
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
};
|
|
140
|
+
export {
|
|
141
|
+
ie as ComboboxRenderContent
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=ComboboxRenderContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxRenderContent.js","sources":["../../src/Combobox/ComboboxRenderContent.tsx"],"sourcesContent":["import { LoadingMask } from '../LoadingMask';\nimport { PopoverContent } from '../Popover';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '../Command';\nimport { cn } from '@oneplatformdev/utils';\nimport {\n ComboboxCallbackStateParamsRenderHandler,\n ComboboxCallbackStateParamsUnion,\n ComboboxOption, ComboboxProps,\n ComboboxSelectedType, IComboboxOptionsNodeHandlersProps,\n ISlotProps,\n} from './Combobox.types';\nimport { ComboboxRenderOptions } from './ComboboxRenderOptions';\nimport { HTMLAttributes, useEffect, useRef } from \"react\";\nimport { useInView } from \"react-intersection-observer\";\nimport { Skeleton } from \"../Skeleton\";\n\ntype ComboboxRenderContentProps<Data extends object = object> =\n IComboboxOptionsNodeHandlersProps<Data>\n & {\n open?: boolean;\n\n type: ComboboxSelectedType,\n value: ComboboxProps<Data, 'single'>['value'] | ComboboxProps<Data, 'multi'>['value'];\n\n hasNext: boolean;\n\n loading: boolean;\n loadingMore: boolean;\n\n options: ComboboxOption<Data>[];\n search?: string;\n onSearch?: (term: string) => void;\n isEmptyList?: boolean;\n onSelect?: (option: ComboboxOption<Data>) => void;\n\n searchLabel?: string;\n emptyLabel?: string;\n\n callbackStateParams: ComboboxCallbackStateParamsUnion<Data>;\n\n commandInputAction?: ComboboxCallbackStateParamsRenderHandler<Data>;\n renderList?: ComboboxCallbackStateParamsRenderHandler<Data>;\n listHeadAction?: ComboboxCallbackStateParamsRenderHandler<Data>;\n listFooterAction?: ComboboxCallbackStateParamsRenderHandler<Data>;\n emptyAction?: ComboboxCallbackStateParamsRenderHandler<Data>;\n\n slotProps?: ISlotProps;\n\n popoverContainer?: HTMLElement | null;\n\n onLoadMore?: () => Promise<void>;\n}\n\nconst SkeletonItems = (props: HTMLAttributes<HTMLDivElement> & { length?: number }) => (\n <div className=\"flex w-full flex-col gap-0\">\n {Array.from({ length: props.length || 2 }).map((_, i) => (\n <div\n key={i}\n className='flex items-center min-h-10 w-full px-4'\n >\n <div className={cn('flex items-center w-full', props.className)}>\n <Skeleton className='h-4 w-full'/>\n </div>\n </div>\n ))}\n </div>\n);\n\n\nexport const ComboboxRenderContent = <Data extends object = object>(\n props: ComboboxRenderContentProps<Data>\n) => {\n const {\n open,\n type,\n search,\n onSearch,\n hasNext,\n loading,\n loadingMore,\n isEmptyList,\n onSelect,\n options = [],\n callbackStateParams,\n value,\n searchLabel = 'Type to search...',\n emptyLabel = 'No options',\n emptyAction,\n commandInputAction,\n listHeadAction,\n listFooterAction,\n slotProps = {},\n defaultNodeDisabled,\n defaultNodeMatched,\n defaultNodeMuted,\n defaultNodeInteractive,\n forcePointerSelect,\n popoverContainer,\n renderList,\n onLoadMore,\n } = props;\n\n const scrollRootRef = useRef<HTMLDivElement>(null);\n const { ref: sentinelRef, inView } = useInView({\n root: scrollRootRef.current,\n rootMargin: \"0px 0px 200px 0px\",\n threshold: 0,\n });\n\n useEffect(() => {\n if (!open) return;\n if (!inView) return;\n void onLoadMore?.();\n }, [ inView, open ]);\n\n return (\n <PopoverContent\n className={cn(\n \"w-(--radix-popper-anchor-width) max-w-none p-2\"\n )}\n align=\"start\"\n container={popoverContainer}\n >\n <Command shouldFilter={false}>\n <CommandInput\n placeholder={searchLabel}\n value={search}\n onValueChange={onSearch}\n />\n {typeof commandInputAction === 'function'\n ? commandInputAction(callbackStateParams)\n : commandInputAction}\n\n <CommandList ref={scrollRootRef}>\n <CommandGroup\n className={cn(\n !options.length && 'p-0 shadow-none',\n 'px-0 py-2',\n )}\n >\n {loading && <LoadingMask fullWidth/>}\n {!loading && isEmptyList && (\n <>\n {emptyAction ? (\n <CommandEmpty className=\"flex flex-col gap-3 py-5 px-3 items-center\">\n <span>{emptyLabel}</span>\n {typeof emptyAction === 'function'\n ? emptyAction(callbackStateParams)\n : emptyAction}\n </CommandEmpty>\n ) : (\n <CommandEmpty>{emptyLabel}</CommandEmpty>\n )}\n </>\n )}\n\n {!loading && !isEmptyList && (\n <>\n {listHeadAction && (\n <CommandItem\n key='combobox-list-head-action'\n asChild\n className='w-full'\n >\n {typeof listHeadAction === 'function'\n ? listHeadAction(callbackStateParams)\n : listHeadAction}\n </CommandItem>\n )}\n\n {renderList && renderList(callbackStateParams)}\n\n {!renderList && (\n <ComboboxRenderOptions\n type={type}\n search={search}\n value={value}\n options={options}\n onSelect={onSelect}\n defaultNodeDisabled={defaultNodeDisabled}\n defaultNodeMatched={defaultNodeMatched}\n defaultNodeMuted={defaultNodeMuted}\n defaultNodeInteractive={defaultNodeInteractive}\n forcePointerSelect={forcePointerSelect}/>\n )}\n\n {hasNext && <div ref={sentinelRef} className=\"h-px w-full\"/>}\n {loadingMore && <SkeletonItems />}\n </>\n )}\n\n </CommandGroup>\n </CommandList>\n\n {/*LIST FOOTER ACTION*/}\n {!loading && listFooterAction && !isEmptyList && (\n <div\n data-slot=\"command-footer-wrapper\"\n {...((() => {\n const { bordered = true, ...rest } = slotProps?.listFooterAction || {};\n return {\n ...rest,\n 'data-slot-bordered': JSON.stringify(bordered)\n }\n })())}\n className={cn(\n \"flex w-full items-center gap-2 px-0\",\n (slotProps?.listFooterAction?.bordered ?? true) && 'border-t px-0 pt-2',\n slotProps?.listFooterAction?.className,\n )}\n >\n {typeof listFooterAction === 'function'\n ? listFooterAction(callbackStateParams)\n : listFooterAction}\n </div>\n )}\n </Command>\n </PopoverContent>\n );\n}\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":";;;;;;;;;;AA4DA,MAAMA,IAAgB,CAACC,wBACpB,OAAA,EAAI,WAAU,8BACZ,UAAA,MAAM,KAAK,EAAE,QAAQA,EAAM,UAAU,EAAA,CAAG,EAAE,IAAI,CAACC,GAAGC,MACjD,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IAEC,WAAU;AAAA,IAEV,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAWC,EAAG,4BAA4BJ,EAAM,SAAS,GAC5D,UAAA,gBAAAG,EAACE,GAAA,EAAS,WAAU,aAAA,CAAY,EAAA,CAClC;AAAA,EAAA;AAAA,EALKH;AAMP,CACD,GACH,GAIWI,KAAwB,CACnCN,MACG;AACH,QAAM;AAAA,IACJ,MAAAO;AAAA,IACA,MAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC,IAAU,CAAA;AAAA,IACV,qBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,YAAAC,IAAa;AAAA,IACb,aAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,WAAAC,IAAY,CAAA;AAAA,IACZ,qBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,EAAA,IACEjC,GAEEkC,IAAgBC,EAAuB,IAAI,GAC3C,EAAE,KAAKC,GAAa,QAAAC,EAAA,IAAWC,EAAU;AAAA,IAC7C,MAAMJ,EAAc;AAAA,IACpB,YAAY;AAAA,IACZ,WAAW;AAAA,EAAA,CACZ;AAED,SAAAK,EAAU,MAAM;AACd,IAAKhC,KACA8B,KACAJ,IAAA;AAAA,EACP,GAAG,CAAEI,GAAQ9B,CAAK,CAAC,GAGjB,gBAAAJ;AAAA,IAACqC;AAAA,IAAA;AAAA,MACC,WAAWpC;AAAA,QACT;AAAA,MAAA;AAAA,MAEF,OAAM;AAAA,MACN,WAAW2B;AAAA,MAEX,UAAA,gBAAAU,EAACC,GAAA,EAAQ,cAAc,IACrB,UAAA;AAAA,QAAA,gBAAAvC;AAAA,UAACwC;AAAA,UAAA;AAAA,YACC,aAAaxB;AAAA,YACb,OAAOV;AAAA,YACP,eAAeC;AAAA,UAAA;AAAA,QAAA;AAAA,QAEhB,OAAOY,KAAuB,aAC3BA,EAAmBL,CAAmB,IACtCK;AAAA,QAEJ,gBAAAnB,EAACyC,GAAA,EAAY,KAAKV,GAChB,UAAA,gBAAAO;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,WAAWzC;AAAA,cACT,CAACY,EAAQ,UAAU;AAAA,cACnB;AAAA,YAAA;AAAA,YAGD,UAAA;AAAA,cAAAJ,KAAW,gBAAAT,EAAC2C,KAAY,WAAS,GAAA,CAAA;AAAA,cACjC,CAAClC,KAAWE,KACX,gBAAAX,EAAA4C,GAAA,EACG,cACC,gBAAAN,EAACO,GAAA,EAAa,WAAU,8CACtB,UAAA;AAAA,gBAAA,gBAAA7C,EAAC,UAAM,UAAAiB,EAAA,CAAW;AAAA,gBACjB,OAAOC,KAAgB,aACpBA,EAAYJ,CAAmB,IAC/BI;AAAA,cAAA,EAAA,CACN,IAEA,gBAAAlB,EAAC6C,GAAA,EAAc,UAAA5B,EAAA,CAAW,GAE9B;AAAA,cAGD,CAACR,KAAW,CAACE,KACZ,gBAAA2B,EAAAM,GAAA,EACG,UAAA;AAAA,gBAAAxB,KACC,gBAAApB;AAAA,kBAAC8C;AAAA,kBAAA;AAAA,oBAEC,SAAO;AAAA,oBACP,WAAU;AAAA,oBAET,UAAA,OAAO1B,KAAmB,aACvBA,EAAeN,CAAmB,IAClCM;AAAA,kBAAA;AAAA,kBANA;AAAA,gBAAA;AAAA,gBAUPS,KAAcA,EAAWf,CAAmB;AAAA,gBAE5C,CAACe,KACA,gBAAA7B;AAAA,kBAAC+C;AAAA,kBAAA;AAAA,oBACC,MAAA1C;AAAA,oBACA,QAAAC;AAAA,oBACA,OAAAS;AAAA,oBACA,SAAAF;AAAA,oBACA,UAAAD;AAAA,oBACA,qBAAAW;AAAA,oBACA,oBAAAC;AAAA,oBACA,kBAAAC;AAAA,oBACA,wBAAAC;AAAA,oBACA,oBAAAC;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGHnB,KAAW,gBAAAR,EAAC,OAAA,EAAI,KAAKiC,GAAa,WAAU,eAAa;AAAA,gBACzDvB,uBAAgBd,GAAA,CAAA,CAAc;AAAA,cAAA,EAAA,CACjC;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,GAIN;AAAA,QAGC,CAACa,KAAWY,KAAoB,CAACV,KAChC,gBAAAX;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,aAAU;AAAA,YACT,IAAK,MAAM;AACV,oBAAM,EAAE,UAAAgD,IAAW,IAAM,GAAGC,MAAS3B,GAAW,oBAAoB,CAAA;AACpE,qBAAO;AAAA,gBACL,GAAG2B;AAAA,gBACH,sBAAsB,KAAK,UAAUD,CAAQ;AAAA,cAAA;AAAA,YAEjD,GAAA;AAAA,YACA,WAAW/C;AAAA,cACT;AAAA,eACCqB,GAAW,kBAAkB,YAAY,OAAS;AAAA,cACnDA,GAAW,kBAAkB;AAAA,YAAA;AAAA,YAG9B,UAAA,OAAOD,KAAqB,aACzBA,EAAiBP,CAAmB,IACpCO;AAAA,UAAA;AAAA,QAAA;AAAA,MACN,EAAA,CAEJ;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx as t, jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { useState as f, useMemo as u } from "react";
|
|
3
|
+
import { Collapsible as b, CollapsibleContent as x } from "../Collapsible/Collapsible.js";
|
|
4
|
+
import { ComboboxOptionItem as m } from "./ComboboxOptionItem.js";
|
|
5
|
+
import { cn as h } from "@oneplatformdev/utils";
|
|
6
|
+
const d = (n) => {
|
|
7
|
+
const { option: e, deep: l = 0, defaultNodeOpen: s, defaultNodeDisabled: o, search: p } = n, [r, i] = f(() => typeof s == "function" ? s(e, l) : s ?? (!!p || !l));
|
|
8
|
+
return e?.items?.length ? /* @__PURE__ */ c(
|
|
9
|
+
b,
|
|
10
|
+
{
|
|
11
|
+
open: r,
|
|
12
|
+
onOpenChange: i,
|
|
13
|
+
"data-opened": r,
|
|
14
|
+
className: h("group/collapsible"),
|
|
15
|
+
disabled: typeof o == "function" ? o(e, l) : o ?? !1,
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ t(
|
|
18
|
+
m,
|
|
19
|
+
{
|
|
20
|
+
...n,
|
|
21
|
+
expanded: r,
|
|
22
|
+
onCollapseToggle: () => i((a) => !a)
|
|
23
|
+
}
|
|
24
|
+
),
|
|
25
|
+
/* @__PURE__ */ t(x, { children: /* @__PURE__ */ t("div", { className: "flex flex-col gap-0", children: e?.items.map((a) => /* @__PURE__ */ t(
|
|
26
|
+
d,
|
|
27
|
+
{
|
|
28
|
+
...n,
|
|
29
|
+
deep: l + 1,
|
|
30
|
+
option: a
|
|
31
|
+
},
|
|
32
|
+
a.value
|
|
33
|
+
)) }) })
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
) : /* @__PURE__ */ t(m, { ...n });
|
|
37
|
+
}, j = (n) => {
|
|
38
|
+
const { options: e = [], ...l } = n, s = u(() => e.some((o) => o.items?.length), [e]);
|
|
39
|
+
return /* @__PURE__ */ t("div", { className: "flex flex-col gap-0", children: e.map((o) => /* @__PURE__ */ t(
|
|
40
|
+
d,
|
|
41
|
+
{
|
|
42
|
+
...l,
|
|
43
|
+
option: o,
|
|
44
|
+
deep: Number(s)
|
|
45
|
+
},
|
|
46
|
+
o.value
|
|
47
|
+
)) });
|
|
48
|
+
};
|
|
49
|
+
export {
|
|
50
|
+
d as ComboboxOptionsNode,
|
|
51
|
+
j as ComboboxRenderOptions
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=ComboboxRenderOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxRenderOptions.js","sources":["../../src/Combobox/ComboboxRenderOptions.tsx"],"sourcesContent":["import {\n IComboboxOptionsNodeProps,\n IComboboxOptionsProps,\n} from './Combobox.types';\nimport { useMemo, useState } from 'react';\nimport {\n Collapsible,\n CollapsibleContent,\n} from '../Collapsible';\nimport { ComboboxOptionItem } from './ComboboxOptionItem';\nimport { cn } from '@oneplatformdev/utils';\n\nexport const ComboboxOptionsNode = <Data extends object>(props: IComboboxOptionsNodeProps<Data>) => {\n const { option, deep = 0, defaultNodeOpen, defaultNodeDisabled, search } = props;\n\n const [open, onOpenChange] = useState(() => {\n const def = !!search || !deep;\n return typeof defaultNodeOpen === \"function\"\n ? defaultNodeOpen(option, deep)\n : defaultNodeOpen ?? def\n });\n\n if (!option?.items?.length) return <ComboboxOptionItem {...props} />;\n return (\n <Collapsible\n open={open}\n onOpenChange={onOpenChange}\n data-opened={open}\n className={cn('group/collapsible')}\n disabled={typeof defaultNodeDisabled === \"function\"\n ? defaultNodeDisabled(option, deep)\n : defaultNodeDisabled ?? false}\n >\n <ComboboxOptionItem\n {...props}\n expanded={open}\n onCollapseToggle={() => onOpenChange(prev => !prev)}\n />\n\n <CollapsibleContent>\n <div className=\"flex flex-col gap-0\">\n {option?.items.map((opt) => {\n return (\n <ComboboxOptionsNode\n key={opt.value}\n {...props}\n deep={deep + 1}\n option={opt}\n />\n );\n })}\n </div>\n </CollapsibleContent>\n </Collapsible>\n );\n}\n\nexport const ComboboxRenderOptions = <Data extends object>(props: IComboboxOptionsProps<Data>) => {\n const { options = [], ...rest } = props;\n const hasTree = useMemo(() => options.some(o => o.items?.length), [options]);\n return (\n <div className=\"flex flex-col gap-0\">\n {options.map((option) => (\n <ComboboxOptionsNode\n key={option.value}\n {...rest}\n option={option}\n deep={Number(hasTree)}\n />\n ))}\n </div>\n );\n}\n"],"names":["ComboboxOptionsNode","props","option","deep","defaultNodeOpen","defaultNodeDisabled","search","open","onOpenChange","useState","jsxs","Collapsible","cn","jsx","ComboboxOptionItem","prev","CollapsibleContent","opt","ComboboxRenderOptions","options","rest","hasTree","useMemo"],"mappings":";;;;;AAYO,MAAMA,IAAsB,CAAsBC,MAA2C;AAClG,QAAM,EAAE,QAAAC,GAAQ,MAAAC,IAAO,GAAG,iBAAAC,GAAiB,qBAAAC,GAAqB,QAAAC,MAAWL,GAErE,CAACM,GAAMC,CAAY,IAAIC,EAAS,MAE7B,OAAOL,KAAoB,aAC9BA,EAAgBF,GAAQC,CAAI,IAC5BC,MAHQ,CAAC,CAACE,KAAU,CAACH,EAI1B;AAED,SAAKD,GAAQ,OAAO,SAElB,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAJ;AAAA,MACA,cAAAC;AAAA,MACA,eAAaD;AAAA,MACb,WAAWK,EAAG,mBAAmB;AAAA,MACjC,UAAU,OAAOP,KAAwB,aACrCA,EAAoBH,GAAQC,CAAI,IAChCE,KAAuB;AAAA,MAE3B,UAAA;AAAA,QAAA,gBAAAQ;AAAA,UAACC;AAAA,UAAA;AAAA,YACE,GAAGb;AAAA,YACJ,UAAUM;AAAA,YACV,kBAAkB,MAAMC,EAAa,CAAAO,MAAQ,CAACA,CAAI;AAAA,UAAA;AAAA,QAAA;AAAA,QAGpD,gBAAAF,EAACG,GAAA,EACC,UAAA,gBAAAH,EAAC,OAAA,EAAI,WAAU,uBACZ,UAAAX,GAAQ,MAAM,IAAI,CAACe,MAEhB,gBAAAJ;AAAA,UAACb;AAAA,UAAA;AAAA,YAEE,GAAGC;AAAA,YACJ,MAAME,IAAO;AAAA,YACb,QAAQc;AAAA,UAAA;AAAA,UAHHA,EAAI;AAAA,QAAA,CAMd,GACH,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IA9B+B,gBAAAJ,EAACC,GAAA,EAAoB,GAAGb,GAAO;AAiCpE,GAEaiB,IAAwB,CAAsBjB,MAAuC;AAChG,QAAM,EAAE,SAAAkB,IAAU,CAAA,GAAI,GAAGC,MAASnB,GAC5BoB,IAAUC,EAAQ,MAAMH,EAAQ,KAAK,CAAA,MAAK,EAAE,OAAO,MAAM,GAAG,CAACA,CAAO,CAAC;AAC3E,2BACG,OAAA,EAAI,WAAU,uBACZ,UAAAA,EAAQ,IAAI,CAACjB,MACZ,gBAAAW;AAAA,IAACb;AAAA,IAAA;AAAA,MAEE,GAAGoB;AAAA,MACJ,QAAAlB;AAAA,MACA,MAAM,OAAOmB,CAAO;AAAA,IAAA;AAAA,IAHfnB,EAAO;AAAA,EAAA,CAKf,GACH;AAEJ;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ComboboxCallbackStateParamsRenderHandler, ComboboxCallbackStateParamsUnion, ComboboxOption, ComboboxProps, ComboboxSelectedType } from './Combobox.types';
|
|
2
|
+
type ComboboxRenderTriggerProps<Data extends object = object> = {
|
|
3
|
+
type: ComboboxSelectedType;
|
|
4
|
+
value: ComboboxProps<Data, 'single'>['value'] | ComboboxProps<Data, 'multi'>['value'];
|
|
5
|
+
open: boolean;
|
|
6
|
+
initialLoading: boolean;
|
|
7
|
+
flattenOptions: ComboboxOption<Data>[];
|
|
8
|
+
selectedOptions?: Map<ComboboxOption<Data>['value'], ComboboxOption<Data>>;
|
|
9
|
+
onSelect?: (option: ComboboxOption<Data>) => void;
|
|
10
|
+
onClearSelections?: () => void;
|
|
11
|
+
callbackStateParams: ComboboxCallbackStateParamsUnion<Data>;
|
|
12
|
+
renderTrigger?: ComboboxCallbackStateParamsRenderHandler<Data>;
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare const ComboboxRenderTrigger: <Data extends object>(props: ComboboxRenderTriggerProps<Data>) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=ComboboxRenderTrigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxRenderTrigger.d.ts","sourceRoot":"","sources":["../../src/Combobox/ComboboxRenderTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,wCAAwC,EACxC,gCAAgC,EAChC,cAAc,EACd,aAAa,EAAE,oBAAoB,EAEpC,MAAM,kBAAkB,CAAC;AAS1B,KAAK,0BAA0B,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI;IAC9D,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;IACtF,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IACvC,eAAe,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAClD,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE/B,mBAAmB,EAAE,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAC5D,aAAa,CAAC,EAAE,wCAAwC,CAAC,IAAI,CAAC,CAAC;IAE/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAA;AAmJD,eAAO,MAAM,qBAAqB,GAAI,IAAI,SAAS,MAAM,EACvD,OAAO,0BAA0B,CAAC,IAAI,CAAC,4CAyCxC,CAAA"}
|