@oneplatformdev/ui 0.1.99-beta.27 → 0.1.99-beta.270
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 +66 -23
- package/AlertDialog/AlertDialog.stories.js.map +1 -1
- package/AlertDialog/AlertDialogRoot.d.ts.map +1 -1
- package/AlertDialog/AlertDialogRoot.js +19 -18
- package/AlertDialog/AlertDialogRoot.js.map +1 -1
- package/Button/Button.d.ts.map +1 -1
- package/Button/Button.js +40 -40
- 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 +47 -47
- 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 +1527 -0
- 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 +35 -33
- 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 -192
- 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 +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 +66 -48
- 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 +6 -6
- package/DataTable/useDataTable.d.ts +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/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 +340 -141
- package/Dropzone/Dropzone.js.map +1 -1
- package/Dropzone/Dropzone.stories.js +308 -0
- package/Dropzone/Dropzone.stories.js.map +1 -0
- package/Dropzone/Dropzone.types.d.ts +17 -1
- package/Dropzone/Dropzone.types.d.ts.map +1 -1
- package/Dropzone/Dropzone.types.js +19 -8
- package/Dropzone/Dropzone.types.js.map +1 -1
- 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 +5 -2
- package/Dropzone/DropzoneSinglePickPreview.d.ts.map +1 -1
- package/Dropzone/DropzoneSinglePickPreview.js +119 -22
- package/Dropzone/DropzoneSinglePickPreview.js.map +1 -1
- package/Dropzone/index.js +7 -5
- package/Form/FormRenderControl.d.ts +1 -1
- package/Form/FormRenderControl.d.ts.map +1 -1
- package/Form/FormRenderControl.js +51 -24
- package/Form/FormRenderControl.js.map +1 -1
- package/Form/FormRenderControl.types.d.ts +4 -1
- 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 -28
- 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 +33 -29
- 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 +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/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 +81 -68
- 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/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 +352 -340
- 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 -64
- package/Combobox/ComboboxOptions.js.map +0 -1
- package/Form/FormTooltipButton.d.ts +0 -6
- package/Form/FormTooltipButton.d.ts.map +0 -1
- package/Form/FormTooltipButton.js +0 -33
- package/Form/FormTooltipButton.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';\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 { cn as
|
|
5
|
-
import { CommandItem as
|
|
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,4CAqJxC,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 W } from "../Popover/Popover.js";
|
|
7
|
+
import { Command as _, CommandInput as q, CommandList as z, CommandGroup as B, CommandEmpty as y, CommandItem as K } from "../Command/Command.js";
|
|
8
|
+
import { LoadingMask as Q } from "../LoadingMask/LoadingMask.js";
|
|
9
|
+
import { Skeleton as U } 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(U, { 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
|
+
W,
|
|
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(_, { shouldFilter: !1, children: [
|
|
62
|
+
/* @__PURE__ */ e(
|
|
63
|
+
q,
|
|
64
|
+
{
|
|
65
|
+
placeholder: F,
|
|
66
|
+
value: u,
|
|
67
|
+
onValueChange: C
|
|
68
|
+
}
|
|
69
|
+
),
|
|
70
|
+
typeof p == "function" ? p(o) : p,
|
|
71
|
+
/* @__PURE__ */ e(z, { ref: b, children: /* @__PURE__ */ i(
|
|
72
|
+
B,
|
|
73
|
+
{
|
|
74
|
+
className: s(
|
|
75
|
+
!x.length && "p-0 shadow-none",
|
|
76
|
+
"px-0 py-2"
|
|
77
|
+
),
|
|
78
|
+
children: [
|
|
79
|
+
r && /* @__PURE__ */ e(Q, { fullWidth: !0 }),
|
|
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
|
+
K,
|
|
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 && <LoadingMask fullWidth/>}\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"}
|
|
@@ -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 { ComboboxOptionItem as m } from "./ComboboxOptionItem.js";
|
|
4
|
+
import { cn as b } from "@oneplatformdev/utils";
|
|
5
|
+
import { Collapsible as x, CollapsibleContent as h } from "../Collapsible/Collapsible.js";
|
|
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
|
+
x,
|
|
10
|
+
{
|
|
11
|
+
open: r,
|
|
12
|
+
onOpenChange: i,
|
|
13
|
+
"data-opened": r,
|
|
14
|
+
className: b("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(h, { 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 {\r\n IComboboxOptionsNodeProps,\r\n IComboboxOptionsProps,\r\n} from './Combobox.types';\r\nimport { useMemo, useState } from 'react';\r\nimport {\r\n Collapsible,\r\n CollapsibleContent,\r\n} from '../Collapsible';\r\nimport { ComboboxOptionItem } from './ComboboxOptionItem';\r\nimport { cn } from '@oneplatformdev/utils';\r\n\r\nexport const ComboboxOptionsNode = <Data extends object>(props: IComboboxOptionsNodeProps<Data>) => {\r\n const { option, deep = 0, defaultNodeOpen, defaultNodeDisabled, search } = props;\r\n\r\n const [open, onOpenChange] = useState(() => {\r\n const def = !!search || !deep;\r\n return typeof defaultNodeOpen === \"function\"\r\n ? defaultNodeOpen(option, deep)\r\n : defaultNodeOpen ?? def\r\n });\r\n\r\n if (!option?.items?.length) return <ComboboxOptionItem {...props} />;\r\n return (\r\n <Collapsible\r\n open={open}\r\n onOpenChange={onOpenChange}\r\n data-opened={open}\r\n className={cn('group/collapsible')}\r\n disabled={typeof defaultNodeDisabled === \"function\"\r\n ? defaultNodeDisabled(option, deep)\r\n : defaultNodeDisabled ?? false}\r\n >\r\n <ComboboxOptionItem\r\n {...props}\r\n expanded={open}\r\n onCollapseToggle={() => onOpenChange(prev => !prev)}\r\n />\r\n\r\n <CollapsibleContent>\r\n <div className=\"flex flex-col gap-0\">\r\n {option?.items.map((opt) => {\r\n return (\r\n <ComboboxOptionsNode\r\n key={opt.value}\r\n {...props}\r\n deep={deep + 1}\r\n option={opt}\r\n />\r\n );\r\n })}\r\n </div>\r\n </CollapsibleContent>\r\n </Collapsible>\r\n );\r\n}\r\n\r\nexport const ComboboxRenderOptions = <Data extends object>(props: IComboboxOptionsProps<Data>) => {\r\n const { options = [], ...rest } = props;\r\n const hasTree = useMemo(() => options.some(o => o.items?.length), [options]);\r\n return (\r\n <div className=\"flex flex-col gap-0\">\r\n {options.map((option) => (\r\n <ComboboxOptionsNode\r\n key={option.value}\r\n {...rest}\r\n option={option}\r\n deep={Number(hasTree)}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}\r\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"}
|