@px-ui/ui 0.1.4 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/avatar-BAkmIOVe.d.ts +41 -0
- package/dist/avatar-BAkmIOVe.d.ts.map +1 -0
- package/dist/avatar-DDdL9xDH.js +119 -0
- package/dist/avatar-DDdL9xDH.js.map +1 -0
- package/dist/button-BiiFfKiR.d.ts +19 -0
- package/dist/button-BiiFfKiR.d.ts.map +1 -0
- package/dist/button-hBUFMmsZ.js +47 -0
- package/dist/button-hBUFMmsZ.js.map +1 -0
- package/dist/combobox-CnpyzZ7B.js +334 -0
- package/dist/combobox-CnpyzZ7B.js.map +1 -0
- package/dist/combobox-JXY6PiDq.d.ts +109 -0
- package/dist/combobox-JXY6PiDq.d.ts.map +1 -0
- package/dist/components/accordion.d.ts +25 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/accordion.js +56 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.d.ts +59 -0
- package/dist/components/alert-dialog.d.ts.map +1 -0
- package/dist/components/alert-dialog.js +99 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/alert.d.ts +29 -0
- package/dist/components/alert.d.ts.map +1 -0
- package/dist/components/alert.js +47 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/aspect-ratio.d.ts +13 -0
- package/dist/components/aspect-ratio.d.ts.map +1 -0
- package/dist/components/aspect-ratio.js +16 -0
- package/dist/components/aspect-ratio.js.map +1 -0
- package/dist/components/avatar-group.d.ts +30 -0
- package/dist/components/avatar-group.d.ts.map +1 -0
- package/dist/components/avatar-group.js +69 -0
- package/dist/components/avatar-group.js.map +1 -0
- package/dist/components/avatar.d.ts +2 -0
- package/dist/components/avatar.js +5 -0
- package/dist/components/badge.d.ts +18 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/badge.js +31 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/breadcrumb.d.ts +38 -0
- package/dist/components/breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb.js +75 -0
- package/dist/components/breadcrumb.js.map +1 -0
- package/dist/components/button-group.d.ts +29 -0
- package/dist/components/button-group.d.ts.map +1 -0
- package/dist/components/button-group.js +44 -0
- package/dist/components/button-group.js.map +1 -0
- package/dist/components/button.d.ts +2 -0
- package/dist/components/button.js +4 -0
- package/dist/components/calendar.d.ts +32 -0
- package/dist/components/calendar.d.ts.map +1 -0
- package/dist/components/calendar.js +119 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/card.d.ts +38 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js +59 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/carousel.d.ts +57 -0
- package/dist/components/carousel.d.ts.map +1 -0
- package/dist/components/carousel.js +136 -0
- package/dist/components/carousel.js.map +1 -0
- package/dist/components/chart.d.ts +79 -0
- package/dist/components/chart.d.ts.map +1 -0
- package/dist/components/chart.js +148 -0
- package/dist/components/chart.js.map +1 -0
- package/dist/components/checkbox.d.ts +11 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox.js +24 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/collapsible.d.ts +25 -0
- package/dist/components/collapsible.d.ts.map +1 -0
- package/dist/components/collapsible.js +28 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/combobox.d.ts +3 -0
- package/dist/components/combobox.js +13 -0
- package/dist/components/command.d.ts +78 -0
- package/dist/components/command.d.ts.map +1 -0
- package/dist/components/command.js +125 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/context-menu.d.ts +87 -0
- package/dist/components/context-menu.d.ts.map +1 -0
- package/dist/components/context-menu.js +137 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/currency-select-field.d.ts +105 -0
- package/dist/components/currency-select-field.d.ts.map +1 -0
- package/dist/components/currency-select-field.js +266 -0
- package/dist/components/currency-select-field.js.map +1 -0
- package/dist/components/dialog.d.ts +61 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/dialog.js +5 -0
- package/dist/components/direction.d.ts +2 -0
- package/dist/components/direction.js +3 -0
- package/dist/components/drawer.d.ts +45 -0
- package/dist/components/drawer.d.ts.map +1 -0
- package/dist/components/drawer.js +86 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +2 -0
- package/dist/components/dropdown-menu.js +4 -0
- package/dist/components/empty.d.ts +36 -0
- package/dist/components/empty.d.ts.map +1 -0
- package/dist/components/empty.js +62 -0
- package/dist/components/empty.js.map +1 -0
- package/dist/components/field.d.ts +72 -0
- package/dist/components/field.d.ts.map +1 -0
- package/dist/components/field.js +122 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/file-upload-field.d.ts +58 -0
- package/dist/components/file-upload-field.d.ts.map +1 -0
- package/dist/components/file-upload-field.js +90 -0
- package/dist/components/file-upload-field.js.map +1 -0
- package/dist/components/file-upload.d.ts +4 -0
- package/dist/components/file-upload.js +6 -0
- package/dist/components/hover-card.d.ts +21 -0
- package/dist/components/hover-card.d.ts.map +1 -0
- package/dist/components/hover-card.js +40 -0
- package/dist/components/hover-card.js.map +1 -0
- package/dist/components/input-group.d.ts +46 -0
- package/dist/components/input-group.d.ts.map +1 -0
- package/dist/components/input-group.js +9 -0
- package/dist/components/input-otp.d.ts +24 -0
- package/dist/components/input-otp.d.ts.map +1 -0
- package/dist/components/input-otp.js +40 -0
- package/dist/components/input-otp.js.map +1 -0
- package/dist/components/input.d.ts +2 -0
- package/dist/components/input.js +4 -0
- package/dist/components/item.d.ts +62 -0
- package/dist/components/item.d.ts.map +1 -0
- package/dist/components/item.js +124 -0
- package/dist/components/item.js.map +1 -0
- package/dist/components/kbd.d.ts +14 -0
- package/dist/components/kbd.d.ts.map +1 -0
- package/dist/components/kbd.js +22 -0
- package/dist/components/kbd.js.map +1 -0
- package/dist/components/label.d.ts +2 -0
- package/dist/components/label.js +6 -0
- package/dist/components/menubar.d.ts +89 -0
- package/dist/components/menubar.d.ts.map +1 -0
- package/dist/components/menubar.js +140 -0
- package/dist/components/menubar.js.map +1 -0
- package/dist/components/native-select.d.ts +23 -0
- package/dist/components/native-select.d.ts.map +1 -0
- package/dist/components/native-select.js +41 -0
- package/dist/components/native-select.js.map +1 -0
- package/dist/components/navigation-menu.d.ts +48 -0
- package/dist/components/navigation-menu.d.ts.map +1 -0
- package/dist/components/navigation-menu.js +85 -0
- package/dist/components/navigation-menu.js.map +1 -0
- package/dist/components/pagination.d.ts +46 -0
- package/dist/components/pagination.d.ts.map +1 -0
- package/dist/components/pagination.js +89 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/phone-input.d.ts +28 -0
- package/dist/components/phone-input.d.ts.map +1 -0
- package/dist/components/phone-input.js +60 -0
- package/dist/components/phone-input.js.map +1 -0
- package/dist/components/popover.d.ts +34 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/popover.js +4 -0
- package/dist/components/progress.d.ts +29 -0
- package/dist/components/progress.d.ts.map +1 -0
- package/dist/components/progress.js +48 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.d.ts +16 -0
- package/dist/components/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group.js +29 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/resizable.d.ts +21 -0
- package/dist/components/resizable.d.ts.map +1 -0
- package/dist/components/resizable.js +32 -0
- package/dist/components/resizable.js.map +1 -0
- package/dist/components/scroll-area.d.ts +17 -0
- package/dist/components/scroll-area.d.ts.map +1 -0
- package/dist/components/scroll-area.js +39 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.d.ts +56 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +102 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +2 -0
- package/dist/components/separator.js +4 -0
- package/dist/components/sheet.d.ts +43 -0
- package/dist/components/sheet.d.ts.map +1 -0
- package/dist/components/sheet.js +7 -0
- package/dist/components/sidebar.d.ts +162 -0
- package/dist/components/sidebar.d.ts.map +1 -0
- package/dist/components/sidebar.js +390 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/skeleton.d.ts +10 -0
- package/dist/components/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton.js +4 -0
- package/dist/components/slider.d.ts +15 -0
- package/dist/components/slider.d.ts.map +1 -0
- package/dist/components/slider.js +36 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/spinner.d.ts +11 -0
- package/dist/components/spinner.d.ts.map +1 -0
- package/dist/components/spinner.js +4 -0
- package/dist/components/switch.d.ts +14 -0
- package/dist/components/switch.d.ts.map +1 -0
- package/dist/components/switch.js +21 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.d.ts +39 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/table.js +71 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +31 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +55 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/textarea.d.ts +11 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/textarea.js +4 -0
- package/dist/components/toast.d.ts +2 -0
- package/dist/components/toast.js +6 -0
- package/dist/components/toggle-group.d.ts +29 -0
- package/dist/components/toggle-group.d.ts.map +1 -0
- package/dist/components/toggle-group.js +55 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle.d.ts +2 -0
- package/dist/components/toggle.js +6 -0
- package/dist/components/tooltip.d.ts +2 -0
- package/dist/components/tooltip.js +4 -0
- package/dist/dialog-CTqRrytc.js +103 -0
- package/dist/dialog-CTqRrytc.js.map +1 -0
- package/dist/direction-BKSh6e6q.js +3 -0
- package/dist/dropdown-menu-BEARLcDj.d.ts +91 -0
- package/dist/dropdown-menu-BEARLcDj.d.ts.map +1 -0
- package/dist/dropdown-menu-CcumvwhM.js +139 -0
- package/dist/dropdown-menu-CcumvwhM.js.map +1 -0
- package/dist/file-upload-D8hgfjvA.d.ts +145 -0
- package/dist/file-upload-D8hgfjvA.d.ts.map +1 -0
- package/dist/file-upload-DeCIv13t.js +434 -0
- package/dist/file-upload-DeCIv13t.js.map +1 -0
- package/dist/hooks/use-async-options.d.ts +2 -0
- package/dist/hooks/use-async-options.js +3 -0
- package/dist/hooks/use-debounce.d.ts +5 -0
- package/dist/hooks/use-debounce.d.ts.map +1 -0
- package/dist/hooks/use-debounce.js +3 -0
- package/dist/hooks/use-file-upload.d.ts +2 -0
- package/dist/hooks/use-file-upload.js +3 -0
- package/dist/hooks/use-infinite-scroll.d.ts +21 -0
- package/dist/hooks/use-infinite-scroll.d.ts.map +1 -0
- package/dist/hooks/use-infinite-scroll.js +4 -0
- package/dist/hooks/use-intersection-observer.d.ts +2 -0
- package/dist/hooks/use-intersection-observer.js +3 -0
- package/dist/hooks/use-mobile.d.ts +5 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/hooks/use-mobile.js +3 -0
- package/dist/input-8jqdnUZl.js +18 -0
- package/dist/input-8jqdnUZl.js.map +1 -0
- package/dist/input-DwxhsFRP.d.ts +12 -0
- package/dist/input-DwxhsFRP.d.ts.map +1 -0
- package/dist/input-group-DqEkmpXW.js +81 -0
- package/dist/input-group-DqEkmpXW.js.map +1 -0
- package/dist/label-AaH9ZYCZ.js +16 -0
- package/dist/label-AaH9ZYCZ.js.map +1 -0
- package/dist/label-D5SCGMZl.d.ts +11 -0
- package/dist/label-D5SCGMZl.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +7 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +3 -0
- package/dist/popover-C9D43EuT.js +57 -0
- package/dist/popover-C9D43EuT.js.map +1 -0
- package/dist/providers/px-ui-provider.d.ts +36 -0
- package/dist/providers/px-ui-provider.d.ts.map +1 -0
- package/dist/providers/px-ui-provider.js +26 -0
- package/dist/providers/px-ui-provider.js.map +1 -0
- package/dist/separator-BS3ilczC.js +17 -0
- package/dist/separator-BS3ilczC.js.map +1 -0
- package/dist/separator-ct9ZvuTk.d.ts +12 -0
- package/dist/separator-ct9ZvuTk.d.ts.map +1 -0
- package/dist/sheet-CLjNDrfL.js +91 -0
- package/dist/sheet-CLjNDrfL.js.map +1 -0
- package/dist/skeleton-BcIxI5Wq.js +15 -0
- package/dist/skeleton-BcIxI5Wq.js.map +1 -0
- package/dist/spinner-Bo0sUZEg.js +17 -0
- package/dist/spinner-Bo0sUZEg.js.map +1 -0
- package/dist/styles.css +196 -0
- package/dist/textarea-Cq0o323P.js +16 -0
- package/dist/textarea-Cq0o323P.js.map +1 -0
- package/dist/toast-COWAQbIk.js +211 -0
- package/dist/toast-COWAQbIk.js.map +1 -0
- package/dist/toast-CXkP5Jwp.d.ts +74 -0
- package/dist/toast-CXkP5Jwp.d.ts.map +1 -0
- package/dist/toggle-BXBPgIQh.d.ts +19 -0
- package/dist/toggle-BXBPgIQh.d.ts.map +1 -0
- package/dist/toggle-DhJ_qwgw.js +38 -0
- package/dist/toggle-DhJ_qwgw.js.map +1 -0
- package/dist/tooltip-BWjVzK67.d.ts +26 -0
- package/dist/tooltip-BWjVzK67.d.ts.map +1 -0
- package/dist/tooltip-DkPxCJIL.js +43 -0
- package/dist/tooltip-DkPxCJIL.js.map +1 -0
- package/dist/use-async-options-DHR8q5qX.d.ts +45 -0
- package/dist/use-async-options-DHR8q5qX.d.ts.map +1 -0
- package/dist/use-async-options-wZ9LJ2BJ.js +46 -0
- package/dist/use-async-options-wZ9LJ2BJ.js.map +1 -0
- package/dist/use-debounce-_qaEZqtt.js +24 -0
- package/dist/use-debounce-_qaEZqtt.js.map +1 -0
- package/dist/{index.js → use-file-upload-Dxrej28u.js} +3 -204
- package/dist/use-file-upload-Dxrej28u.js.map +1 -0
- package/dist/use-file-upload-yy-xLBtn.d.ts +133 -0
- package/dist/use-file-upload-yy-xLBtn.d.ts.map +1 -0
- package/dist/use-infinite-scroll-CpbhGGT5.js +38 -0
- package/dist/use-infinite-scroll-CpbhGGT5.js.map +1 -0
- package/dist/use-intersection-observer-C2xDq2SW.d.ts +11 -0
- package/dist/use-intersection-observer-C2xDq2SW.d.ts.map +1 -0
- package/dist/use-intersection-observer-CZfnep4z.js +33 -0
- package/dist/use-intersection-observer-CZfnep4z.js.map +1 -0
- package/dist/use-mobile-l5ebOdQl.js +21 -0
- package/dist/use-mobile-l5ebOdQl.js.map +1 -0
- package/dist/utils-mWJR2N24.js +28 -0
- package/dist/utils-mWJR2N24.js.map +1 -0
- package/package.json +289 -26
- package/dist/index.css +0 -143
- package/dist/index.d.ts +0 -229
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-CnpyzZ7B.js","names":["React","Combobox","ComboboxPrimitive","useInfiniteScroll"],"sources":["../src/components/combobox.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Combobox as ComboboxPrimitive } from \"@base-ui/react\";\n\nimport { cn } from \"@px-ui/ui/lib/utils\";\nimport { Button } from \"@px-ui/ui/components/button\";\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from \"@px-ui/ui/components/input-group\";\nimport { Spinner } from \"@px-ui/ui/components/spinner\";\nimport {\n useAsyncOptions,\n type LoadOptionsConfig,\n} from \"@px-ui/ui/hooks/use-async-options\";\nimport useInfiniteScroll from \"@px-ui/ui/hooks/use-infinite-scroll\";\nimport useDebounce from \"@px-ui/ui/hooks/use-debounce\";\nimport { ChevronDownIcon, XIcon, CheckIcon } from \"lucide-react\";\n\ntype ComboboxAsyncContextValue = {\n isAsync: boolean;\n isLoading: boolean;\n isLoadingMore: boolean;\n isError: boolean;\n hasMore: boolean;\n onLoadMore: () => void;\n};\n\nconst ComboboxAsyncContext = React.createContext<ComboboxAsyncContextValue>({\n isAsync: false,\n isLoading: false,\n isLoadingMore: false,\n isError: false,\n hasMore: false,\n onLoadMore: () => {},\n});\n\nfunction useComboboxAsyncContext() {\n return React.useContext(ComboboxAsyncContext);\n}\n\nconst ComboboxListRefContext = React.createContext<HTMLElement | null>(null);\n\nconst ComboboxAnchorContext =\n React.createContext<React.MutableRefObject<HTMLElement | null> | null>(null);\n\nconst ComboboxInsidePopupContext = React.createContext(false);\n\nfunction useAttachComboboxAnchor<T extends HTMLElement>(\n userRef?: React.Ref<T> | null,\n) {\n const ctxRef = React.useContext(ComboboxAnchorContext);\n const insidePopup = React.useContext(ComboboxInsidePopupContext);\n return React.useCallback(\n (node: T | null) => {\n if (typeof userRef === \"function\") userRef(node);\n else if (userRef && typeof userRef === \"object\") {\n (userRef as React.MutableRefObject<T | null>).current = node;\n }\n if (ctxRef && !insidePopup) ctxRef.current = node;\n },\n [ctxRef, insidePopup, userRef],\n );\n}\n\nfunction normalizeInputValue(value: unknown) {\n return Array.isArray(value) ? value.join(\",\") : String(value ?? \"\");\n}\n\ntype ComboboxProps<\n Value,\n Multiple extends boolean | undefined = false,\n> = ComboboxPrimitive.Root.Props<Value, Multiple> & {\n loadOptions?: LoadOptionsConfig<Value>;\n debounceMs?: number;\n isLoading?: boolean;\n};\n\nfunction Combobox<Value, Multiple extends boolean | undefined = false>({\n loadOptions,\n debounceMs,\n isLoading = false,\n ...props\n}: ComboboxProps<Value, Multiple>) {\n const anchorRef = React.useRef<HTMLElement | null>(null);\n const inner = loadOptions ? (\n <ComboboxAsyncRoot\n loadOptions={loadOptions}\n debounceMs={debounceMs}\n isLoading={isLoading}\n {...(props as ComboboxPrimitive.Root.Props<Value, Multiple>)}\n />\n ) : (\n <ComboboxAsyncContext.Provider\n value={{\n isAsync: false,\n isLoading,\n isLoadingMore: false,\n isError: false,\n hasMore: false,\n onLoadMore: () => {},\n }}\n >\n <ComboboxPrimitive.Root autoHighlight {...props} />\n </ComboboxAsyncContext.Provider>\n );\n return (\n <ComboboxAnchorContext.Provider value={anchorRef}>\n {inner}\n </ComboboxAnchorContext.Provider>\n );\n}\n\nfunction ComboboxAsyncRoot<\n Value,\n Multiple extends boolean | undefined = false,\n>({\n loadOptions,\n debounceMs = 500,\n open: openProp,\n inputValue: inputValueProp,\n defaultInputValue,\n onOpenChange,\n onInputValueChange,\n filter: _ignoredFilter,\n items: _ignoredItems,\n autoHighlight = \"always\",\n isLoading: isLoadingProp = false,\n children,\n ...props\n}: Omit<ComboboxPrimitive.Root.Props<Value, Multiple>, \"autoHighlight\"> & {\n loadOptions: LoadOptionsConfig<Value>;\n debounceMs?: number;\n autoHighlight?: boolean | \"always\";\n isLoading?: boolean;\n}) {\n const [internalOpen, setInternalOpen] = React.useState(false);\n const open = openProp ?? internalOpen;\n const handleOpenChange = (\n next: boolean,\n eventDetails: ComboboxPrimitive.Root.ChangeEventDetails,\n ) => {\n if (openProp === undefined) setInternalOpen(next);\n onOpenChange?.(next, eventDetails);\n };\n\n const initialSearchValue = normalizeInputValue(\n inputValueProp ?? defaultInputValue,\n );\n const [searchValue, setSearchValue] = React.useState(initialSearchValue);\n const [debouncedSearchValue, setDebouncedSearchValue] =\n React.useState(initialSearchValue);\n\n React.useEffect(() => {\n if (inputValueProp !== undefined) {\n setSearchValue(normalizeInputValue(inputValueProp));\n }\n }, [inputValueProp]);\n\n useDebounce(\n () => {\n setDebouncedSearchValue(searchValue);\n },\n debounceMs,\n [searchValue],\n );\n\n const handleInputValueChange = (\n val: string,\n eventDetails: ComboboxPrimitive.Root.ChangeEventDetails,\n ) => {\n if (eventDetails?.reason !== \"item-press\") {\n setSearchValue(val);\n }\n onInputValueChange?.(val, eventDetails);\n };\n\n const asyncState = useAsyncOptions<Value>(loadOptions, {\n isOpen: open,\n inputValue: debouncedSearchValue,\n });\n\n const contextValue = React.useMemo<ComboboxAsyncContextValue>(\n () => ({\n isAsync: true,\n isLoading: isLoadingProp || asyncState.isLoading,\n isLoadingMore: asyncState.isLoadingMore,\n isError: asyncState.isError,\n hasMore: !!asyncState.hasMore,\n onLoadMore: asyncState.onLoadMore,\n }),\n [\n isLoadingProp,\n asyncState.isLoading,\n asyncState.isLoadingMore,\n asyncState.isError,\n asyncState.hasMore,\n asyncState.onLoadMore,\n ],\n );\n\n return (\n <ComboboxAsyncContext.Provider value={contextValue}>\n <ComboboxPrimitive.Root\n {...(props as ComboboxPrimitive.Root.Props<Value, Multiple>)}\n items={asyncState.items}\n filter={null}\n autoHighlight={autoHighlight as boolean}\n open={open}\n inputValue={inputValueProp}\n defaultInputValue={defaultInputValue}\n onOpenChange={handleOpenChange}\n onInputValueChange={handleInputValueChange}\n >\n {children}\n </ComboboxPrimitive.Root>\n </ComboboxAsyncContext.Provider>\n );\n}\n\nfunction ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />;\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n ref,\n ...props\n}: ComboboxPrimitive.Trigger.Props) {\n const attachAnchor = useAttachComboboxAnchor<HTMLElement>(\n ref as React.Ref<HTMLElement> | undefined,\n );\n return (\n <ComboboxPrimitive.Trigger\n ref={attachAnchor}\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4\" />\n </ComboboxPrimitive.Trigger>\n );\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <XIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n );\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled,\n showTrigger = true,\n showClear = true,\n ...props\n}: ComboboxPrimitive.Input.Props & {\n showTrigger?: boolean;\n showClear?: boolean;\n}) {\n const attachAnchor = useAttachComboboxAnchor<HTMLDivElement>();\n return (\n <InputGroup ref={attachAnchor} className={cn(\"w-auto\", className)}>\n <ComboboxPrimitive.Input\n render={\n <InputGroupInput {...(disabled !== undefined ? { disabled } : {})} />\n }\n {...props}\n />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n render={<ComboboxTrigger />}\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n {...(disabled !== undefined ? { disabled } : {})}\n />\n )}\n {showClear && (\n <ComboboxClear {...(disabled !== undefined ? { disabled } : {})} />\n )}\n </InputGroupAddon>\n {children}\n </InputGroup>\n );\n}\n\nfunction ComboboxContent({\n className,\n side = \"bottom\",\n sideOffset = 6,\n align = \"start\",\n alignOffset = 0,\n anchor,\n children,\n ...props\n}: ComboboxPrimitive.Popup.Props &\n Pick<\n ComboboxPrimitive.Positioner.Props,\n \"side\" | \"align\" | \"sideOffset\" | \"alignOffset\" | \"anchor\"\n >) {\n const ctxAnchor = React.useContext(ComboboxAnchorContext);\n const resolvedAnchor = anchor ?? ctxAnchor ?? undefined;\n return (\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={resolvedAnchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n className={cn(\n \"group/combobox-content max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) origin-(--transform-origin) bg-popover text-popover-foreground ring-foreground/10 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 relative overflow-hidden rounded-md shadow-md ring-1 duration-100 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none\",\n className,\n )}\n {...props}\n >\n <ComboboxInsidePopupContext.Provider value={true}>\n {children}\n </ComboboxInsidePopupContext.Provider>\n </ComboboxPrimitive.Popup>\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n );\n}\n\nfunction ComboboxList({\n className,\n children,\n ref,\n ...props\n}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.List>) {\n const { isAsync, hasMore } = useComboboxAsyncContext();\n const [listEl, setListEl] = React.useState<HTMLElement | null>(null);\n\n const handleListRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n setListEl(node);\n\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n const resolvedChildren = React.useMemo(() => {\n if (isAsync && typeof children === \"function\") {\n return (\n <>\n <ComboboxPrimitive.Collection>\n {children}\n </ComboboxPrimitive.Collection>\n {hasMore ? <ComboboxLoadMoreSentinel /> : null}\n </>\n );\n }\n return children;\n }, [isAsync, hasMore, children]);\n\n return (\n <ComboboxListRefContext.Provider value={listEl}>\n <ComboboxPrimitive.List\n ref={handleListRef}\n data-slot=\"combobox-list\"\n className={cn(\n \"ppx-scrollbar data-empty:p-0 max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto overscroll-contain p-1\",\n className,\n )}\n {...props}\n >\n {resolvedChildren}\n </ComboboxPrimitive.List>\n </ComboboxListRefContext.Provider>\n );\n}\n\nfunction ComboboxLoadMoreSentinel() {\n const { isLoadingMore, hasMore, onLoadMore, isError } =\n useComboboxAsyncContext();\n const listEl = React.useContext(ComboboxListRefContext);\n const [ref] = useInfiniteScroll({\n isLoadingMore,\n hasMore,\n onLoadMore,\n disabled: isError,\n root: listEl,\n rootMargin: \"0px 0px 80px 0px\",\n });\n return (\n <ComboboxPrimitive.Status\n ref={ref}\n data-slot=\"combobox-load-more\"\n aria-label={isLoadingMore ? \"Loading more options\" : undefined}\n className=\"flex h-10 items-center justify-center\"\n >\n {isLoadingMore && <Spinner className=\"text-muted-foreground size-4\" />}\n </ComboboxPrimitive.Status>\n );\n}\n\nfunction ComboboxItem({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Item.Props) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"outline-hidden data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 pe-8 ps-2 text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n render={\n <span className=\"pointer-events-none absolute end-2 flex size-4 items-center justify-center\" />\n }\n >\n <CheckIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n );\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) {\n return (\n <ComboboxPrimitive.Group\n data-slot=\"combobox-group\"\n className={cn(className)}\n {...props}\n />\n );\n}\n\nfunction ComboboxLabel({\n className,\n ...props\n}: ComboboxPrimitive.GroupLabel.Props) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n );\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) {\n return (\n <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n );\n}\n\nfunction ComboboxStatus({\n loading = \"Loading…\",\n error = \"Failed to load options\",\n empty = \"No options found\",\n className,\n ...props\n}: Omit<ComboboxPrimitive.Status.Props, \"children\"> & {\n loading?: React.ReactNode;\n error?: React.ReactNode;\n empty?: React.ReactNode;\n}) {\n const { isAsync, isLoading, isError } = useComboboxAsyncContext();\n\n if (isLoading || (isAsync && isError)) {\n return (\n <ComboboxPrimitive.Status\n data-slot=\"combobox-status\"\n className={cn(\n \"text-muted-foreground flex w-full items-center justify-center py-2 text-center text-sm\",\n className,\n )}\n {...props}\n >\n {isLoading ? loading : error}\n </ComboboxPrimitive.Status>\n );\n }\n\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\n \"text-muted-foreground group-data-empty/combobox-content:flex hidden w-full justify-center py-2 text-center text-sm\",\n className,\n )}\n {...props}\n >\n {empty}\n </ComboboxPrimitive.Empty>\n );\n}\n\nfunction ComboboxSeparator({\n className,\n ...props\n}: ComboboxPrimitive.Separator.Props) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction ComboboxChips({\n className,\n ref,\n ...props\n}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props) {\n const attachAnchor = useAttachComboboxAnchor<HTMLDivElement>(\n ref as React.Ref<HTMLDivElement> | undefined,\n );\n return (\n <ComboboxPrimitive.Chips\n ref={attachAnchor}\n data-slot=\"combobox-chips\"\n className={cn(\n \"border-input shadow-xs focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1.5 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm transition-[color,box-shadow]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ComboboxChip({\n className,\n children,\n showRemove = true,\n ...props\n}: ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean;\n}) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n \"bg-muted text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pe-0 flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 whitespace-nowrap rounded-sm px-1.5 text-xs font-medium\",\n className,\n )}\n {...props}\n >\n {children}\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" size=\"icon-xs\" />}\n className=\"-ms-1 opacity-50 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <XIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n );\n}\n\nfunction ComboboxChipsInput({\n className,\n ...props\n}: ComboboxPrimitive.Input.Props) {\n return (\n <ComboboxPrimitive.Input\n data-slot=\"combobox-chip-input\"\n className={cn(\"min-w-16 flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null);\n}\n\nexport {\n Combobox,\n ComboboxInput,\n ComboboxClear,\n ComboboxContent,\n ComboboxList,\n ComboboxItem,\n ComboboxGroup,\n ComboboxLabel,\n ComboboxCollection,\n ComboboxStatus,\n ComboboxSeparator,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipsInput,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { r as LoadOptionsConfig } from "./use-async-options-DHR8q5qX.js";
|
|
2
|
+
import * as react_jsx_runtime112 from "react/jsx-runtime";
|
|
3
|
+
import * as React$1 from "react";
|
|
4
|
+
import { Combobox } from "@base-ui/react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/combobox.d.ts
|
|
7
|
+
type ComboboxProps<Value, Multiple extends boolean | undefined = false> = Combobox.Root.Props<Value, Multiple> & {
|
|
8
|
+
loadOptions?: LoadOptionsConfig<Value>;
|
|
9
|
+
debounceMs?: number;
|
|
10
|
+
isLoading?: boolean;
|
|
11
|
+
};
|
|
12
|
+
declare function Combobox$1<Value, Multiple extends boolean | undefined = false>({
|
|
13
|
+
loadOptions,
|
|
14
|
+
debounceMs,
|
|
15
|
+
isLoading,
|
|
16
|
+
...props
|
|
17
|
+
}: ComboboxProps<Value, Multiple>): react_jsx_runtime112.JSX.Element;
|
|
18
|
+
declare function ComboboxValue({
|
|
19
|
+
...props
|
|
20
|
+
}: Combobox.Value.Props): react_jsx_runtime112.JSX.Element;
|
|
21
|
+
declare function ComboboxTrigger({
|
|
22
|
+
className,
|
|
23
|
+
children,
|
|
24
|
+
ref,
|
|
25
|
+
...props
|
|
26
|
+
}: Combobox.Trigger.Props): react_jsx_runtime112.JSX.Element;
|
|
27
|
+
declare function ComboboxClear({
|
|
28
|
+
className,
|
|
29
|
+
...props
|
|
30
|
+
}: Combobox.Clear.Props): react_jsx_runtime112.JSX.Element;
|
|
31
|
+
declare function ComboboxInput({
|
|
32
|
+
className,
|
|
33
|
+
children,
|
|
34
|
+
disabled,
|
|
35
|
+
showTrigger,
|
|
36
|
+
showClear,
|
|
37
|
+
...props
|
|
38
|
+
}: Combobox.Input.Props & {
|
|
39
|
+
showTrigger?: boolean;
|
|
40
|
+
showClear?: boolean;
|
|
41
|
+
}): react_jsx_runtime112.JSX.Element;
|
|
42
|
+
declare function ComboboxContent({
|
|
43
|
+
className,
|
|
44
|
+
side,
|
|
45
|
+
sideOffset,
|
|
46
|
+
align,
|
|
47
|
+
alignOffset,
|
|
48
|
+
anchor,
|
|
49
|
+
children,
|
|
50
|
+
...props
|
|
51
|
+
}: Combobox.Popup.Props & Pick<Combobox.Positioner.Props, "side" | "align" | "sideOffset" | "alignOffset" | "anchor">): react_jsx_runtime112.JSX.Element;
|
|
52
|
+
declare function ComboboxList({
|
|
53
|
+
className,
|
|
54
|
+
children,
|
|
55
|
+
ref,
|
|
56
|
+
...props
|
|
57
|
+
}: React$1.ComponentPropsWithRef<typeof Combobox.List>): react_jsx_runtime112.JSX.Element;
|
|
58
|
+
declare function ComboboxItem({
|
|
59
|
+
className,
|
|
60
|
+
children,
|
|
61
|
+
...props
|
|
62
|
+
}: Combobox.Item.Props): react_jsx_runtime112.JSX.Element;
|
|
63
|
+
declare function ComboboxGroup({
|
|
64
|
+
className,
|
|
65
|
+
...props
|
|
66
|
+
}: Combobox.Group.Props): react_jsx_runtime112.JSX.Element;
|
|
67
|
+
declare function ComboboxLabel({
|
|
68
|
+
className,
|
|
69
|
+
...props
|
|
70
|
+
}: Combobox.GroupLabel.Props): react_jsx_runtime112.JSX.Element;
|
|
71
|
+
declare function ComboboxCollection({
|
|
72
|
+
...props
|
|
73
|
+
}: Combobox.Collection.Props): react_jsx_runtime112.JSX.Element;
|
|
74
|
+
declare function ComboboxStatus({
|
|
75
|
+
loading,
|
|
76
|
+
error,
|
|
77
|
+
empty,
|
|
78
|
+
className,
|
|
79
|
+
...props
|
|
80
|
+
}: Omit<Combobox.Status.Props, "children"> & {
|
|
81
|
+
loading?: React$1.ReactNode;
|
|
82
|
+
error?: React$1.ReactNode;
|
|
83
|
+
empty?: React$1.ReactNode;
|
|
84
|
+
}): react_jsx_runtime112.JSX.Element;
|
|
85
|
+
declare function ComboboxSeparator({
|
|
86
|
+
className,
|
|
87
|
+
...props
|
|
88
|
+
}: Combobox.Separator.Props): react_jsx_runtime112.JSX.Element;
|
|
89
|
+
declare function ComboboxChips({
|
|
90
|
+
className,
|
|
91
|
+
ref,
|
|
92
|
+
...props
|
|
93
|
+
}: React$1.ComponentPropsWithRef<typeof Combobox.Chips> & Combobox.Chips.Props): react_jsx_runtime112.JSX.Element;
|
|
94
|
+
declare function ComboboxChip({
|
|
95
|
+
className,
|
|
96
|
+
children,
|
|
97
|
+
showRemove,
|
|
98
|
+
...props
|
|
99
|
+
}: Combobox.Chip.Props & {
|
|
100
|
+
showRemove?: boolean;
|
|
101
|
+
}): react_jsx_runtime112.JSX.Element;
|
|
102
|
+
declare function ComboboxChipsInput({
|
|
103
|
+
className,
|
|
104
|
+
...props
|
|
105
|
+
}: Combobox.Input.Props): react_jsx_runtime112.JSX.Element;
|
|
106
|
+
declare function useComboboxAnchor(): React$1.RefObject<HTMLDivElement | null>;
|
|
107
|
+
//#endregion
|
|
108
|
+
export { useComboboxAnchor as _, ComboboxClear as a, ComboboxGroup as c, ComboboxLabel as d, ComboboxList as f, ComboboxValue as g, ComboboxTrigger as h, ComboboxChipsInput as i, ComboboxInput as l, ComboboxStatus as m, ComboboxChip as n, ComboboxCollection as o, ComboboxSeparator as p, ComboboxChips as r, ComboboxContent as s, Combobox$1 as t, ComboboxItem as u };
|
|
109
|
+
//# sourceMappingURL=combobox-JXY6PiDq.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-JXY6PiDq.d.ts","names":[],"sources":["../src/components/combobox.tsx"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
|
|
2
|
+
import * as react_jsx_runtime296 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/accordion.d.ts
|
|
5
|
+
declare function Accordion({
|
|
6
|
+
className,
|
|
7
|
+
...props
|
|
8
|
+
}: Accordion$1.Root.Props): react_jsx_runtime296.JSX.Element;
|
|
9
|
+
declare function AccordionItem({
|
|
10
|
+
className,
|
|
11
|
+
...props
|
|
12
|
+
}: Accordion$1.Item.Props): react_jsx_runtime296.JSX.Element;
|
|
13
|
+
declare function AccordionTrigger({
|
|
14
|
+
className,
|
|
15
|
+
children,
|
|
16
|
+
...props
|
|
17
|
+
}: Accordion$1.Trigger.Props): react_jsx_runtime296.JSX.Element;
|
|
18
|
+
declare function AccordionContent({
|
|
19
|
+
className,
|
|
20
|
+
children,
|
|
21
|
+
...props
|
|
22
|
+
}: Accordion$1.Panel.Props): react_jsx_runtime296.JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
25
|
+
//# sourceMappingURL=accordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","names":[],"sources":["../../src/components/accordion.tsx"],"sourcesContent":[],"mappings":";;;;iBAKS,SAAA;;;GAAmC,WAAA,CAAmB,IAAA,CAAK,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAUhE,aAAA;;;GAAuC,WAAA,CAAmB,IAAA,CAAK,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAUpE,gBAAA;;;;GAIN,WAAA,CAAmB,OAAA,CAAQ,QAAK,oBAAA,CAAA,GAAA,CAAA;AA7BuC,iBAgDjE,gBAAA,CA3CS;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA+Cf,WAAA,CAAmB,KAAA,CAAM,KA/CV,CAAA,EA+Ce,oBAAA,CAAA,GAAA,CAAA,OA/Cf"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { t as cn } from "../utils-mWJR2N24.js";
|
|
2
|
+
import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
|
|
3
|
+
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/accordion.tsx
|
|
7
|
+
function Accordion({ className, ...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsx(Accordion$1.Root, {
|
|
9
|
+
"data-slot": "accordion",
|
|
10
|
+
className: cn("flex w-full flex-col", className),
|
|
11
|
+
...props
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function AccordionItem({ className, ...props }) {
|
|
15
|
+
return /* @__PURE__ */ jsx(Accordion$1.Item, {
|
|
16
|
+
"data-slot": "accordion-item",
|
|
17
|
+
className: cn("not-last:border-b", className),
|
|
18
|
+
...props
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function AccordionTrigger({ className, children, ...props }) {
|
|
22
|
+
return /* @__PURE__ */ jsx(Accordion$1.Header, {
|
|
23
|
+
className: "flex",
|
|
24
|
+
children: /* @__PURE__ */ jsxs(Accordion$1.Trigger, {
|
|
25
|
+
"data-slot": "accordion-trigger",
|
|
26
|
+
className: cn("group/accordion-trigger relative flex flex-1 items-start justify-between rounded-md border border-transparent py-4 text-start text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ms-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", className),
|
|
27
|
+
...props,
|
|
28
|
+
children: [
|
|
29
|
+
children,
|
|
30
|
+
/* @__PURE__ */ jsx(ChevronDownIcon, {
|
|
31
|
+
"data-slot": "accordion-trigger-icon",
|
|
32
|
+
className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"
|
|
33
|
+
}),
|
|
34
|
+
/* @__PURE__ */ jsx(ChevronUpIcon, {
|
|
35
|
+
"data-slot": "accordion-trigger-icon",
|
|
36
|
+
className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"
|
|
37
|
+
})
|
|
38
|
+
]
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function AccordionContent({ className, children, ...props }) {
|
|
43
|
+
return /* @__PURE__ */ jsx(Accordion$1.Panel, {
|
|
44
|
+
"data-slot": "accordion-content",
|
|
45
|
+
className: "overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up",
|
|
46
|
+
...props,
|
|
47
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
48
|
+
className: cn("h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className),
|
|
49
|
+
children
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
55
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
56
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.js","names":["AccordionPrimitive"],"sources":["../../src/components/accordion.tsx"],"sourcesContent":["import { Accordion as AccordionPrimitive } from \"@base-ui/react/accordion\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nfunction Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn(\"flex w-full flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"not-last:border-b\", className)}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: AccordionPrimitive.Trigger.Props) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"group/accordion-trigger relative flex flex-1 items-start justify-between rounded-md border border-transparent py-4 text-start text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ms-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\" />\n <ChevronUpIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionPrimitive.Panel.Props) {\n return (\n <AccordionPrimitive.Panel\n data-slot=\"accordion-content\"\n className=\"overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up\"\n {...props}\n >\n <div\n className={cn(\n \"h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n className\n )}\n >\n {children}\n </div>\n </AccordionPrimitive.Panel>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"],"mappings":";;;;;;AAKA,SAAS,UAAU,EAAE,WAAW,GAAG,SAAwC;AACzE,QACE,oBAACA,YAAmB;EAClB,aAAU;EACV,WAAW,GAAG,wBAAwB,UAAU;EAChD,GAAI;GACJ;;AAIN,SAAS,cAAc,EAAE,WAAW,GAAG,SAAwC;AAC7E,QACE,oBAACA,YAAmB;EAClB,aAAU;EACV,WAAW,GAAG,qBAAqB,UAAU;EAC7C,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACgC;AACnC,QACE,oBAACA,YAAmB;EAAO,WAAU;YACnC,qBAACA,YAAmB;GAClB,aAAU;GACV,WAAW,GACT,6fACA,UACD;GACD,GAAI;;IAEH;IACD,oBAAC;KAAgB,aAAU;KAAyB,WAAU;MAA8E;IAC5I,oBAAC;KAAc,aAAU;KAAyB,WAAU;MAAqF;;IACtH;GACH;;AAIhC,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SAC8B;AACjC,QACE,oBAACA,YAAmB;EAClB,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,oBAAC;GACC,WAAW,GACT,yLACA,UACD;GAEA;IACG;GACmB"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { t as Button } from "../button-BiiFfKiR.js";
|
|
2
|
+
import * as react_jsx_runtime284 from "react/jsx-runtime";
|
|
3
|
+
import * as React$1 from "react";
|
|
4
|
+
import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
|
|
5
|
+
|
|
6
|
+
//#region src/components/alert-dialog.d.ts
|
|
7
|
+
declare function AlertDialog({
|
|
8
|
+
...props
|
|
9
|
+
}: AlertDialog$1.Root.Props): react_jsx_runtime284.JSX.Element;
|
|
10
|
+
declare function AlertDialogTrigger({
|
|
11
|
+
...props
|
|
12
|
+
}: AlertDialog$1.Trigger.Props): react_jsx_runtime284.JSX.Element;
|
|
13
|
+
declare function AlertDialogPortal({
|
|
14
|
+
...props
|
|
15
|
+
}: AlertDialog$1.Portal.Props): react_jsx_runtime284.JSX.Element;
|
|
16
|
+
declare function AlertDialogOverlay({
|
|
17
|
+
className,
|
|
18
|
+
...props
|
|
19
|
+
}: AlertDialog$1.Backdrop.Props): react_jsx_runtime284.JSX.Element;
|
|
20
|
+
declare function AlertDialogContent({
|
|
21
|
+
className,
|
|
22
|
+
size,
|
|
23
|
+
...props
|
|
24
|
+
}: AlertDialog$1.Popup.Props & {
|
|
25
|
+
size?: "default" | "sm";
|
|
26
|
+
}): react_jsx_runtime284.JSX.Element;
|
|
27
|
+
declare function AlertDialogHeader({
|
|
28
|
+
className,
|
|
29
|
+
...props
|
|
30
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime284.JSX.Element;
|
|
31
|
+
declare function AlertDialogFooter({
|
|
32
|
+
className,
|
|
33
|
+
...props
|
|
34
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime284.JSX.Element;
|
|
35
|
+
declare function AlertDialogMedia({
|
|
36
|
+
className,
|
|
37
|
+
...props
|
|
38
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime284.JSX.Element;
|
|
39
|
+
declare function AlertDialogTitle({
|
|
40
|
+
className,
|
|
41
|
+
...props
|
|
42
|
+
}: React$1.ComponentProps<typeof AlertDialog$1.Title>): react_jsx_runtime284.JSX.Element;
|
|
43
|
+
declare function AlertDialogDescription({
|
|
44
|
+
className,
|
|
45
|
+
...props
|
|
46
|
+
}: React$1.ComponentProps<typeof AlertDialog$1.Description>): react_jsx_runtime284.JSX.Element;
|
|
47
|
+
declare function AlertDialogAction({
|
|
48
|
+
className,
|
|
49
|
+
...props
|
|
50
|
+
}: React$1.ComponentProps<typeof Button>): react_jsx_runtime284.JSX.Element;
|
|
51
|
+
declare function AlertDialogCancel({
|
|
52
|
+
className,
|
|
53
|
+
variant,
|
|
54
|
+
size,
|
|
55
|
+
...props
|
|
56
|
+
}: AlertDialog$1.Close.Props & Pick<React$1.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime284.JSX.Element;
|
|
57
|
+
//#endregion
|
|
58
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
|
|
59
|
+
//# sourceMappingURL=alert-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog.d.ts","names":[],"sources":["../../src/components/alert-dialog.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAQS,WAAA;;GAA0B,aAAA,CAAqB,IAAA,CAAK,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAIzD,kBAAA;;GAAiC,aAAA,CAAqB,OAAA,CAAQ,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAMnE,iBAAA;;GAAgC,aAAA,CAAqB,MAAA,CAAO,QAAK,oBAAA,CAAA,GAAA,CAAA;AAZtB,iBAkB3C,kBAAA,CAhB0B;EAAA,SAAqB;EAAA,GAAK;AAAK,CAAA,EAmB/D,aAAA,CAAqB,QAAA,CAAS,KAnBiC,CAAA,EAmB5B,oBAAA,CAAA,GAAA,CAAA,OAnB4B;AAAA,iBAgCzD,kBAAA,CA5BkB;EAAe,SAAA;EAAA,IAAqB;EAAA,GAAA;AAMW,CANH,EAgCpE,aAAA,CAAqB,KAAA,CAAM,KAhC8C,GAAA;EAMnE,IAAA,CAAA,EAAA,SAAA,GAAA,IAAiB;AAAgD,CAAA,CAAA,EA4BzE,oBAAA,CAAA,GAAA,CAAA,OAtB0B;iBAuClB,iBAAA,CAtCP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCC,OAAA,CAAM,cAzCP,CAAA,KAAA,CAAA,CAAA,EAyC4B,oBAAA,CAAA,GAAA,CAAA,OAzC5B;iBAsDO,iBAAA,CApDwB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuD9B,OAAA,CAAM,cAvDwB,CAAA,KAAA,CAAA,CAAA,EAuDH,oBAAA,CAAA,GAAA,CAAA,OAvDG;iBAoExB,gBAAA,CApE6B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuEnC,OAAA,CAAM,cAvE6B,CAAA,KAAA,CAAA,CAAA,EAuER,oBAAA,CAAA,GAAA,CAAA,OAvEQ;iBAoF7B,gBAAA,CApF6B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuFnC,OAAA,CAAM,cAvF6B,CAAA,OAuFP,aAAA,CAAqB,KAvFd,CAAA,CAAA,EAuFoB,oBAAA,CAAA,GAAA,CAAA,OAvFpB;AAAA,iBAoG7B,sBAAA,CAvFkB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0FxB,OAAA,CAAM,cA1FkB,CAAA,OA0FI,aAAA,CAAqB,WA1FzB,CAAA,CAAA,EA0FqC,oBAAA,CAAA,GAAA,CAAA,OA1FrC;iBAuGlB,iBAAA,CAtGP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyGC,OAAA,CAAM,cAzGP,CAAA,OAyG6B,MAzG7B,CAAA,CAAA,EAyGoC,oBAAA,CAAA,GAAA,CAAA,OAzGpC;iBAmHO,iBAAA,CAlHP;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAuHC,aAAA,CAAqB,KAAA,CAAM,KAvH5B,GAwHA,IAxHA,CAwHK,OAAA,CAAM,cAxHX,CAAA,OAwHiC,MAxHjC,CAAA,EAAA,SAAA,GAAA,MAAA,CAAA,CAAA,EAwH6D,oBAAA,CAAA,GAAA,CAAA,OAxH7D"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { t as cn } from "../utils-mWJR2N24.js";
|
|
4
|
+
import { t as Button } from "../button-hBUFMmsZ.js";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import "react";
|
|
7
|
+
import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
|
|
8
|
+
|
|
9
|
+
//#region src/components/alert-dialog.tsx
|
|
10
|
+
function AlertDialog({ ...props }) {
|
|
11
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Root, {
|
|
12
|
+
"data-slot": "alert-dialog",
|
|
13
|
+
...props
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function AlertDialogTrigger({ ...props }) {
|
|
17
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Trigger, {
|
|
18
|
+
"data-slot": "alert-dialog-trigger",
|
|
19
|
+
...props
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function AlertDialogPortal({ ...props }) {
|
|
23
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Portal, {
|
|
24
|
+
"data-slot": "alert-dialog-portal",
|
|
25
|
+
...props
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function AlertDialogOverlay({ className, ...props }) {
|
|
29
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Backdrop, {
|
|
30
|
+
"data-slot": "alert-dialog-overlay",
|
|
31
|
+
className: cn("fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className),
|
|
32
|
+
...props
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function AlertDialogContent({ className, size = "default", ...props }) {
|
|
36
|
+
return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [/* @__PURE__ */ jsx(AlertDialogOverlay, {}), /* @__PURE__ */ jsx(AlertDialog$1.Popup, {
|
|
37
|
+
"data-slot": "alert-dialog-content",
|
|
38
|
+
"data-size": size,
|
|
39
|
+
className: cn("group/alert-dialog-content fixed top-1/2 start-1/2 z-50 grid w-full -translate-x-1/2 rtl:translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:ppx-sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
|
|
40
|
+
...props
|
|
41
|
+
})] });
|
|
42
|
+
}
|
|
43
|
+
function AlertDialogHeader({ className, ...props }) {
|
|
44
|
+
return /* @__PURE__ */ jsx("div", {
|
|
45
|
+
"data-slot": "alert-dialog-header",
|
|
46
|
+
className: cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 ppx-sm:group-data-[size=default]/alert-dialog-content:place-items-start ppx-sm:group-data-[size=default]/alert-dialog-content:text-start ppx-sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className),
|
|
47
|
+
...props
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function AlertDialogFooter({ className, ...props }) {
|
|
51
|
+
return /* @__PURE__ */ jsx("div", {
|
|
52
|
+
"data-slot": "alert-dialog-footer",
|
|
53
|
+
className: cn("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 ppx-sm:flex-row ppx-sm:justify-end", className),
|
|
54
|
+
...props
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function AlertDialogMedia({ className, ...props }) {
|
|
58
|
+
return /* @__PURE__ */ jsx("div", {
|
|
59
|
+
"data-slot": "alert-dialog-media",
|
|
60
|
+
className: cn("mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted ppx-sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8", className),
|
|
61
|
+
...props
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function AlertDialogTitle({ className, ...props }) {
|
|
65
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Title, {
|
|
66
|
+
"data-slot": "alert-dialog-title",
|
|
67
|
+
className: cn("font-heading text-lg font-medium ppx-sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", className),
|
|
68
|
+
...props
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function AlertDialogDescription({ className, ...props }) {
|
|
72
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Description, {
|
|
73
|
+
"data-slot": "alert-dialog-description",
|
|
74
|
+
className: cn("text-sm text-balance text-muted-foreground ppx-md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
|
|
75
|
+
...props
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function AlertDialogAction({ className, ...props }) {
|
|
79
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
80
|
+
"data-slot": "alert-dialog-action",
|
|
81
|
+
className: cn(className),
|
|
82
|
+
...props
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function AlertDialogCancel({ className, variant = "outline", size = "default", ...props }) {
|
|
86
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Close, {
|
|
87
|
+
"data-slot": "alert-dialog-cancel",
|
|
88
|
+
className: cn(className),
|
|
89
|
+
render: /* @__PURE__ */ jsx(Button, {
|
|
90
|
+
variant,
|
|
91
|
+
size
|
|
92
|
+
}),
|
|
93
|
+
...props
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
//#endregion
|
|
98
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
|
|
99
|
+
//# sourceMappingURL=alert-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog.js","names":["AlertDialogPrimitive"],"sources":["../../src/components/alert-dialog.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { AlertDialog as AlertDialogPrimitive } from \"@base-ui/react/alert-dialog\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\nimport { Button } from \"@px-ui/ui/components/button\"\n\nfunction AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: AlertDialogPrimitive.Backdrop.Props) {\n return (\n <AlertDialogPrimitive.Backdrop\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Popup.Props & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Popup\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content fixed top-1/2 start-1/2 z-50 grid w-full -translate-x-1/2 rtl:translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:ppx-sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 ppx-sm:group-data-[size=default]/alert-dialog-content:place-items-start ppx-sm:group-data-[size=default]/alert-dialog-content:text-start ppx-sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 ppx-sm:flex-row ppx-sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted ppx-sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"font-heading text-lg font-medium ppx-sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\n \"text-sm text-balance text-muted-foreground ppx-md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof Button>) {\n return (\n <Button\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Close.Props &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <AlertDialogPrimitive.Close\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n render={<Button variant={variant} size={size} />}\n {...props}\n />\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n"],"mappings":";;;;;;;;;AAQA,SAAS,YAAY,EAAE,GAAG,SAA0C;AAClE,QAAO,oBAACA,cAAqB;EAAK,aAAU;EAAe,GAAI;GAAS;;AAG1E,SAAS,mBAAmB,EAAE,GAAG,SAA6C;AAC5E,QACE,oBAACA,cAAqB;EAAQ,aAAU;EAAuB,GAAI;GAAS;;AAIhF,SAAS,kBAAkB,EAAE,GAAG,SAA4C;AAC1E,QACE,oBAACA,cAAqB;EAAO,aAAU;EAAsB,GAAI;GAAS;;AAI9E,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACmC;AACtC,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GACT,yLACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,OAAO,WACP,GAAG,SAGF;AACD,QACE,qBAAC,gCACC,oBAAC,uBAAqB,EACtB,oBAACA,cAAqB;EACpB,aAAU;EACV,aAAW;EACX,WAAW,GACT,ucACA,UACD;EACD,GAAI;GACJ,IACgB;;AAIxB,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,maACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uKACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,kLACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;AAC1D,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GACT,oKACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GACT,sIACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACmC;AACtC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,UAAU;EACxB,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,UAAU,WACV,OAAO,WACP,GAAG,SAE4D;AAC/D,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GAAG,UAAU;EACxB,QAAQ,oBAAC;GAAgB;GAAe;IAAQ;EAChD,GAAI;GACJ"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
import * as React$1 from "react";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
import * as class_variance_authority_types0 from "class-variance-authority/types";
|
|
5
|
+
|
|
6
|
+
//#region src/components/alert.d.ts
|
|
7
|
+
declare const alertVariants: (props?: ({
|
|
8
|
+
variant?: "default" | "destructive" | "warning" | null | undefined;
|
|
9
|
+
} & class_variance_authority_types0.ClassProp) | undefined) => string;
|
|
10
|
+
declare function Alert({
|
|
11
|
+
className,
|
|
12
|
+
variant,
|
|
13
|
+
...props
|
|
14
|
+
}: React$1.ComponentProps<"div"> & VariantProps<typeof alertVariants>): react_jsx_runtime0.JSX.Element;
|
|
15
|
+
declare function AlertTitle({
|
|
16
|
+
className,
|
|
17
|
+
...props
|
|
18
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
|
|
19
|
+
declare function AlertDescription({
|
|
20
|
+
className,
|
|
21
|
+
...props
|
|
22
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
|
|
23
|
+
declare function AlertAction({
|
|
24
|
+
className,
|
|
25
|
+
...props
|
|
26
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
|
|
27
|
+
//#endregion
|
|
28
|
+
export { Alert, AlertAction, AlertDescription, AlertTitle };
|
|
29
|
+
//# sourceMappingURL=alert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.d.ts","names":[],"sources":["../../src/components/alert.tsx"],"sourcesContent":[],"mappings":";;;;;;cAKM;;IAgBL,+BAAA,CAAA;iBAEQ,KAAA;;;;GAIN,OAAA,CAAM,wBAAwB,oBAAoB,iBAAc,kBAAA,CAAA,GAAA,CAAA;AA1BF,iBAqCxD,UAAA,CAjBR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiB4C,OAAA,CAAM,cAjBlD,CAAA,KAAA,CAAA,CAAA,EAiBuE,kBAAA,CAAA,GAAA,CAAA,OAjBvE;iBA8BQ,gBAAA,CA5BK;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+BX,OAAA,CAAM,cA/BK,CAAA,KAAA,CAAA,CAAA,EA+BgB,kBAAA,CAAA,GAAA,CAAA,OA/BhB;iBA4CL,WAAA,CA3CP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2C4C,OAAA,CAAM,cA3ClD,CAAA,KAAA,CAAA,CAAA,EA2CuE,kBAAA,CAAA,GAAA,CAAA,OA3CvE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { t as cn } from "../utils-mWJR2N24.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import "react";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
|
|
6
|
+
//#region src/components/alert.tsx
|
|
7
|
+
const alertVariants = cva("group/alert relative grid w-full gap-0.5 rounded-lg border px-4 py-3 text-start text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pe-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4", {
|
|
8
|
+
variants: { variant: {
|
|
9
|
+
default: "bg-card text-card-foreground",
|
|
10
|
+
destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current",
|
|
11
|
+
warning: "bg-card text-warning *:data-[slot=alert-description]:text-warning/90 *:[svg]:text-current"
|
|
12
|
+
} },
|
|
13
|
+
defaultVariants: { variant: "default" }
|
|
14
|
+
});
|
|
15
|
+
function Alert({ className, variant, ...props }) {
|
|
16
|
+
return /* @__PURE__ */ jsx("div", {
|
|
17
|
+
"data-slot": "alert",
|
|
18
|
+
role: "alert",
|
|
19
|
+
className: cn(alertVariants({ variant }), className),
|
|
20
|
+
...props
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function AlertTitle({ className, ...props }) {
|
|
24
|
+
return /* @__PURE__ */ jsx("div", {
|
|
25
|
+
"data-slot": "alert-title",
|
|
26
|
+
className: cn("font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground", className),
|
|
27
|
+
...props
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function AlertDescription({ className, ...props }) {
|
|
31
|
+
return /* @__PURE__ */ jsx("div", {
|
|
32
|
+
"data-slot": "alert-description",
|
|
33
|
+
className: cn("text-sm text-balance text-muted-foreground ppx-md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className),
|
|
34
|
+
...props
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function AlertAction({ className, ...props }) {
|
|
38
|
+
return /* @__PURE__ */ jsx("div", {
|
|
39
|
+
"data-slot": "alert-action",
|
|
40
|
+
className: cn("absolute top-2.5 end-3", className),
|
|
41
|
+
...props
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { Alert, AlertAction, AlertDescription, AlertTitle };
|
|
47
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","names":[],"sources":["../../src/components/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\n\nconst alertVariants = cva(\n \"group/alert relative grid w-full gap-0.5 rounded-lg border px-4 py-3 text-start text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pe-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current\",\n warning:\n \"bg-card text-warning *:data-[slot=alert-description]:text-warning/90 *:[svg]:text-current\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-sm text-balance text-muted-foreground ppx-md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"absolute top-2.5 end-3\", className)}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction }\n"],"mappings":";;;;;;AAKA,MAAM,gBAAgB,IACpB,8TACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;EACF,SACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,SACA,GAAG,SACgE;AACnE,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EACpD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uHACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,kKACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;GACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react_jsx_runtime4 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components/aspect-ratio.d.ts
|
|
4
|
+
declare function AspectRatio({
|
|
5
|
+
ratio,
|
|
6
|
+
className,
|
|
7
|
+
...props
|
|
8
|
+
}: React.ComponentProps<"div"> & {
|
|
9
|
+
ratio: number;
|
|
10
|
+
}): react_jsx_runtime4.JSX.Element;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { AspectRatio };
|
|
13
|
+
//# sourceMappingURL=aspect-ratio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aspect-ratio.d.ts","names":[],"sources":["../../src/components/aspect-ratio.tsx"],"sourcesContent":[],"mappings":";;;iBAES,WAAA;;;;GAIN,KAAA,CAAM;;IAAyC,kBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { t as cn } from "../utils-mWJR2N24.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/aspect-ratio.tsx
|
|
5
|
+
function AspectRatio({ ratio, className, ...props }) {
|
|
6
|
+
return /* @__PURE__ */ jsx("div", {
|
|
7
|
+
"data-slot": "aspect-ratio",
|
|
8
|
+
style: { "--ratio": ratio },
|
|
9
|
+
className: cn("relative aspect-(--ratio)", className),
|
|
10
|
+
...props
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { AspectRatio };
|
|
16
|
+
//# sourceMappingURL=aspect-ratio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aspect-ratio.js","names":[],"sources":["../../src/components/aspect-ratio.tsx"],"sourcesContent":["import { cn } from \"@px-ui/ui/lib/utils\"\n\nfunction AspectRatio({\n ratio,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & { ratio: number }) {\n return (\n <div\n data-slot=\"aspect-ratio\"\n style={\n {\n \"--ratio\": ratio,\n } as React.CSSProperties\n }\n className={cn(\"relative aspect-(--ratio)\", className)}\n {...props}\n />\n )\n}\n\nexport { AspectRatio }\n"],"mappings":";;;;AAEA,SAAS,YAAY,EACnB,OACA,WACA,GAAG,SAC+C;AAClD,QACE,oBAAC;EACC,aAAU;EACV,OACE,EACE,WAAW,OACZ;EAEH,WAAW,GAAG,6BAA6B,UAAU;EACrD,GAAI;GACJ"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { o as AvatarProps } from "../avatar-BAkmIOVe.js";
|
|
2
|
+
import * as react_jsx_runtime9 from "react/jsx-runtime";
|
|
3
|
+
import * as React$1 from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/avatar-group.d.ts
|
|
6
|
+
type AvatarItem = {
|
|
7
|
+
src?: string | null;
|
|
8
|
+
alt?: string;
|
|
9
|
+
name?: string | null;
|
|
10
|
+
size?: AvatarProps["size"];
|
|
11
|
+
tooltip?: AvatarProps["tooltip"];
|
|
12
|
+
className?: string;
|
|
13
|
+
};
|
|
14
|
+
type AvatarGroupProps = Omit<React$1.ComponentProps<"div">, "children"> & {
|
|
15
|
+
avatars: AvatarItem[];
|
|
16
|
+
max?: number;
|
|
17
|
+
};
|
|
18
|
+
declare function AvatarGroup({
|
|
19
|
+
avatars,
|
|
20
|
+
max,
|
|
21
|
+
className,
|
|
22
|
+
...props
|
|
23
|
+
}: AvatarGroupProps): react_jsx_runtime9.JSX.Element;
|
|
24
|
+
declare function AvatarGroupCount({
|
|
25
|
+
className,
|
|
26
|
+
...props
|
|
27
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime9.JSX.Element;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { AvatarGroup, AvatarGroupCount, type AvatarGroupProps, type AvatarItem };
|
|
30
|
+
//# sourceMappingURL=avatar-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.d.ts","names":[],"sources":["../../src/components/avatar-group.tsx"],"sourcesContent":[],"mappings":";;;;;KAYK,UAAA;;;EAAA,IAAA,CAAA,EAAA,MAAU,GAAA,IAAA;EASV,IAAA,CAAA,EALI,WAKJ,CAAgB,MAAA,CAAA;EAAQ,OAAM,CAAA,EAJvB,WAIuB,CAAA,SAAA,CAAA;EAAX,SAAA,CAAA,EAAA,MAAA;CACb;KADN,gBAAA,GAAmB,IACH,CADQ,OAAA,CAAM,cACd,CAAA,KAAA,CAAA,EAAA,UAAA,CAAA,GAAA;EAIZ,OAAA,EAJE,UAIS,EAAA;EAAG,GAAA,CAAA,EAAA,MAAA;CAAS;iBAAvB,WAAA,CAA4B;EAAA,OAAA;EAAA,GAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAAuB,gBAAvB,CAAA,EAAuC,kBAAA,CAAA,GAAA,CAAA,OAAvC;iBA4E5B,gBAAA,CA5EmD;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+EzD,OAAA,CAAM,cA/EmD,CAAA,KAAA,CAAA,CAAA,EA+E9B,kBAAA,CAAA,GAAA,CAAA,OA/E8B"}
|