@kuzenbo/core 0.0.5 → 0.0.7
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/README.md +2 -0
- package/dist/action-icon-UjYZjXrB.d.ts +59 -0
- package/dist/action-icon-UjYZjXrB.d.ts.map +1 -0
- package/dist/{avatar-DpiupAAM.d.ts → avatar-4S7I72CH.d.ts} +2 -2
- package/dist/{avatar-DpiupAAM.d.ts.map → avatar-4S7I72CH.d.ts.map} +1 -1
- package/dist/{avatar-CXhwmJgG.js → avatar-C3vF6E7s.js} +1 -1
- package/dist/{avatar-CXhwmJgG.js.map → avatar-C3vF6E7s.js.map} +1 -1
- package/dist/{badge-BKRm6jL7.js → badge-DB40swlt.js} +1 -1
- package/dist/{badge-BKRm6jL7.js.map → badge-DB40swlt.js.map} +1 -1
- package/dist/button-CPPkhcmB.d.ts +59 -0
- package/dist/button-CPPkhcmB.d.ts.map +1 -0
- package/dist/button-shared-variants-J4RVI3K7.js +19 -0
- package/dist/button-shared-variants-J4RVI3K7.js.map +1 -0
- package/dist/{dialog-CD5lfQA9.js → dialog-B7kMKriQ.js} +6 -5
- package/dist/dialog-B7kMKriQ.js.map +1 -0
- package/dist/{dialog-DEkdr-9K.d.ts → dialog-D3dAMsO_.d.ts} +1 -1
- package/dist/{dialog-DEkdr-9K.d.ts.map → dialog-D3dAMsO_.d.ts.map} +1 -1
- package/dist/{dropdown-menu-Bpj576m0.d.ts → dropdown-menu-BG03sLbC.d.ts} +2 -2
- package/dist/{dropdown-menu-Bpj576m0.d.ts.map → dropdown-menu-BG03sLbC.d.ts.map} +1 -1
- package/dist/{dropdown-menu-BJi-V71O.js → dropdown-menu-DOVY76ue.js} +1 -1
- package/dist/{dropdown-menu-BJi-V71O.js.map → dropdown-menu-DOVY76ue.js.map} +1 -1
- package/dist/{input-WWoBCgxe.d.ts → input-BeE717GK.d.ts} +2 -2
- package/dist/{input-WWoBCgxe.d.ts.map → input-BeE717GK.d.ts.map} +1 -1
- package/dist/{input-Ex9ZRqbo.js → input-cICL6sH_.js} +1 -1
- package/dist/{input-Ex9ZRqbo.js.map → input-cICL6sH_.js.map} +1 -1
- package/dist/{input-group-CjcHP0L4.js → input-group-7kPror1q.js} +15 -5
- package/dist/input-group-7kPror1q.js.map +1 -0
- package/dist/provider.d.ts +3 -3
- package/dist/{scroll-bar-C4qEUKlT.js → scroll-bar-BKRy5Me9.js} +1 -1
- package/dist/{scroll-bar-C4qEUKlT.js.map → scroll-bar-BKRy5Me9.js.map} +1 -1
- package/dist/{separator-C8Qw2ADs.d.ts → separator-CgOz2m5i.d.ts} +1 -1
- package/dist/{separator-C8Qw2ADs.d.ts.map → separator-CgOz2m5i.d.ts.map} +1 -1
- package/dist/{sheet-imSHXfFH.js → sheet-CcyewAZj.js} +6 -6
- package/dist/sheet-CcyewAZj.js.map +1 -0
- package/dist/{size-context-DXfCAlWF.d.ts → size-context-DWvVJytl.d.ts} +2 -2
- package/dist/{size-context-DXfCAlWF.d.ts.map → size-context-DWvVJytl.d.ts.map} +1 -1
- package/dist/{size-provider-Bd2C6gKd.d.ts → size-provider-PHAZhU6k.d.ts} +2 -2
- package/dist/{size-provider-Bd2C6gKd.d.ts.map → size-provider-PHAZhU6k.d.ts.map} +1 -1
- package/dist/{size-system-wzOLSuax.d.ts → size-system-BAI1CnwU.d.ts} +1 -1
- package/dist/size-system-BAI1CnwU.d.ts.map +1 -0
- package/dist/size.d.ts +3 -3
- package/dist/{slider-root-presentation-B6OO_iCT.js → slider-root-presentation-G0ByTcvd.js} +1 -1
- package/dist/{slider-root-presentation-B6OO_iCT.js.map → slider-root-presentation-G0ByTcvd.js.map} +1 -1
- package/dist/{slider-style-tokens-CZezJilZ.d.ts → slider-style-tokens-DNzHvGii.d.ts} +1 -1
- package/dist/{slider-style-tokens-CZezJilZ.d.ts.map → slider-style-tokens-DNzHvGii.d.ts.map} +1 -1
- package/dist/{textarea-C8dsnn8D.d.ts → textarea-rmoEkvdu.d.ts} +1 -1
- package/dist/{textarea-C8dsnn8D.d.ts.map → textarea-rmoEkvdu.d.ts.map} +1 -1
- package/dist/{textarea-CkiM1N_I.js → textarea-vNt8edEA.js} +1 -1
- package/dist/{textarea-CkiM1N_I.js.map → textarea-vNt8edEA.js.map} +1 -1
- package/dist/{toggle-CxkIncmZ.d.ts → toggle-D8kPPZH9.d.ts} +1 -1
- package/dist/{toggle-CxkIncmZ.d.ts.map → toggle-D8kPPZH9.d.ts.map} +1 -1
- package/dist/{tooltip-D0BEpCQx.js → tooltip-BUo_HPnp.js} +1 -1
- package/dist/{tooltip-D0BEpCQx.js.map → tooltip-BUo_HPnp.js.map} +1 -1
- package/dist/{tooltip-DbJxt69l.d.ts → tooltip-DatN3AoZ.d.ts} +2 -2
- package/dist/{tooltip-DbJxt69l.d.ts.map → tooltip-DatN3AoZ.d.ts.map} +1 -1
- package/dist/ui/accordion.d.ts +1 -1
- package/dist/ui/action-icon.d.ts +2 -0
- package/dist/ui/action-icon.js +74 -0
- package/dist/ui/action-icon.js.map +1 -0
- package/dist/ui/alert-dialog.d.ts +2 -2
- package/dist/ui/alert-dialog.js +1 -1
- package/dist/ui/alert-dialog.js.map +1 -1
- package/dist/ui/alert.d.ts +1 -1
- package/dist/ui/announcement.js +1 -1
- package/dist/ui/autocomplete.d.ts +3 -3
- package/dist/ui/autocomplete.js +1 -1
- package/dist/ui/autocomplete.js.map +1 -1
- package/dist/ui/avatar.d.ts +1 -1
- package/dist/ui/avatar.js +1 -1
- package/dist/ui/badge.js +1 -1
- package/dist/ui/breadcrumb.d.ts +1 -1
- package/dist/ui/button-group.d.ts +2 -2
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/button.js +27 -49
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/card.d.ts +1 -1
- package/dist/ui/carousel.d.ts +3 -3
- package/dist/ui/carousel.d.ts.map +1 -1
- package/dist/ui/carousel.js +5 -5
- package/dist/ui/carousel.js.map +1 -1
- package/dist/ui/checkbox.d.ts +1 -1
- package/dist/ui/combobox.d.ts +1 -1
- package/dist/ui/combobox.js +12 -12
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/command.d.ts +2 -2
- package/dist/ui/command.js +2 -2
- package/dist/ui/container.d.ts +1 -0
- package/dist/ui/container.d.ts.map +1 -1
- package/dist/ui/container.js +6 -2
- package/dist/ui/container.js.map +1 -1
- package/dist/ui/context-menu.d.ts +1 -1
- package/dist/ui/copy-button.d.ts +1 -1
- package/dist/ui/copy-button.js +29 -8
- package/dist/ui/copy-button.js.map +1 -1
- package/dist/ui/dialog.d.ts +1 -1
- package/dist/ui/dialog.js +1 -1
- package/dist/ui/drawer.d.ts +310 -119
- package/dist/ui/drawer.d.ts.map +1 -1
- package/dist/ui/drawer.js +254 -114
- package/dist/ui/drawer.js.map +1 -1
- package/dist/ui/dropdown-menu.d.ts +2 -2
- package/dist/ui/dropdown-menu.js +1 -1
- package/dist/ui/emoji-picker.d.ts +2 -2
- package/dist/ui/empty.d.ts +2 -2
- package/dist/ui/field.d.ts +1 -1
- package/dist/ui/input-group.d.ts +3 -3
- package/dist/ui/input-group.d.ts.map +1 -1
- package/dist/ui/input-group.js +1 -1
- package/dist/ui/input-otp.d.ts +1 -1
- package/dist/ui/input.d.ts +1 -1
- package/dist/ui/input.js +1 -1
- package/dist/ui/item.d.ts +1 -1
- package/dist/ui/kbd.d.ts +1 -1
- package/dist/ui/menubar.d.ts +2 -2
- package/dist/ui/menubar.js +1 -1
- package/dist/ui/navigation-list.d.ts +2 -2
- package/dist/ui/navigation-menu.d.ts +1 -1
- package/dist/ui/number-field.d.ts +1 -1
- package/dist/ui/pagination.d.ts +1 -1
- package/dist/ui/pagination.d.ts.map +1 -1
- package/dist/ui/pagination.js +18 -10
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pill.d.ts +3 -3
- package/dist/ui/pill.d.ts.map +1 -1
- package/dist/ui/pill.js +5 -5
- package/dist/ui/pill.js.map +1 -1
- package/dist/ui/popover.d.ts +2 -2
- package/dist/ui/popover.js +1 -1
- package/dist/ui/popover.js.map +1 -1
- package/dist/ui/preview-card.js +1 -1
- package/dist/ui/preview-card.js.map +1 -1
- package/dist/ui/radio-group.d.ts +1 -1
- package/dist/ui/range-slider.d.ts +1 -1
- package/dist/ui/range-slider.js +1 -1
- package/dist/ui/scroll-area.js +1 -1
- package/dist/ui/select.d.ts +3 -3
- package/dist/ui/select.js +1 -1
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/separator.d.ts +1 -1
- package/dist/ui/sheet.js +1 -1
- package/dist/ui/sidebar.d.ts +6 -6
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +15 -18
- package/dist/ui/sidebar.js.map +1 -1
- package/dist/ui/slider.d.ts +1 -1
- package/dist/ui/slider.js +1 -1
- package/dist/ui/spinner.d.ts +1 -1
- package/dist/ui/switch.d.ts +1 -1
- package/dist/ui/table.d.ts +2 -2
- package/dist/ui/table.js +1 -1
- package/dist/ui/textarea.d.ts +1 -1
- package/dist/ui/textarea.js +1 -1
- package/dist/ui/toggle-group.d.ts +2 -2
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/toolbar.d.ts +3 -3
- package/dist/ui/tooltip.d.ts +2 -2
- package/dist/ui/tooltip.js +1 -1
- package/dist/ui/typography.d.ts +1 -1
- package/dist/ui/typography.d.ts.map +1 -1
- package/dist/ui/typography.js +20 -20
- package/dist/ui/typography.js.map +1 -1
- package/package.json +8 -6
- package/dist/button-nAbTNrxA.d.ts +0 -78
- package/dist/button-nAbTNrxA.d.ts.map +0 -1
- package/dist/dialog-CD5lfQA9.js.map +0 -1
- package/dist/input-group-CjcHP0L4.js.map +0 -1
- package/dist/sheet-imSHXfFH.js.map +0 -1
- package/dist/size-system-wzOLSuax.d.ts.map +0 -1
package/dist/ui/autocomplete.js
CHANGED
|
@@ -46,7 +46,7 @@ const AutocompleteOverlayContext = createContext({ size: "md" });
|
|
|
46
46
|
//#endregion
|
|
47
47
|
//#region src/ui/autocomplete/autocomplete-popup.tsx
|
|
48
48
|
const autocompletePopupVariants = tv({
|
|
49
|
-
base: "z-overlay border-border bg-popover text-popover-foreground relative max-h-[min(var(--available-height),20rem)] min-w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto overscroll-contain border shadow-md",
|
|
49
|
+
base: "z-overlay border-border bg-popover text-popover-foreground relative max-h-[min(var(--available-height),var(--kb-overlay-list-max-height,20rem))] min-w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto overscroll-contain border shadow-md",
|
|
50
50
|
defaultVariants: { size: "md" },
|
|
51
51
|
variants: { size: {
|
|
52
52
|
lg: "rounded-md p-1.5",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.js","names":["BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete"],"sources":["../../src/ui/autocomplete/autocomplete-arrow.tsx","../../src/ui/autocomplete/autocomplete-backdrop.tsx","../../src/ui/autocomplete/autocomplete-clear.tsx","../../src/ui/autocomplete/autocomplete-collection.tsx","../../src/ui/autocomplete/autocomplete-context.tsx","../../src/ui/autocomplete/autocomplete-overlay-context.tsx","../../src/ui/autocomplete/autocomplete-popup.tsx","../../src/ui/autocomplete/autocomplete-portal.tsx","../../src/ui/autocomplete/autocomplete-positioner.tsx","../../src/ui/autocomplete/autocomplete-content.tsx","../../src/ui/autocomplete/autocomplete-empty.tsx","../../src/ui/autocomplete/autocomplete-group.tsx","../../src/ui/autocomplete/autocomplete-group-label.tsx","../../src/ui/autocomplete/autocomplete-icon.tsx","../../src/ui/autocomplete/autocomplete-input.tsx","../../src/ui/autocomplete/autocomplete-item.tsx","../../src/ui/autocomplete/autocomplete-list.tsx","../../src/ui/autocomplete/autocomplete-row.tsx","../../src/ui/autocomplete/autocomplete-separator.tsx","../../src/ui/autocomplete/autocomplete-status.tsx","../../src/ui/autocomplete/autocomplete-trigger.tsx","../../src/ui/autocomplete/autocomplete-value.tsx","../../src/ui/autocomplete/autocomplete.tsx"],"sourcesContent":["import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteArrowProps = ComponentProps<\n typeof BaseAutocomplete.Arrow\n>;\n\nexport const AutocompleteArrow = (props: AutocompleteArrowProps) => (\n <BaseAutocomplete.Arrow data-slot=\"autocomplete-arrow\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteBackdropProps = ComponentProps<\n typeof BaseAutocomplete.Backdrop\n>;\n\nexport const AutocompleteBackdrop = (props: AutocompleteBackdropProps) => (\n <BaseAutocomplete.Backdrop data-slot=\"autocomplete-backdrop\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type AutocompleteClearProps = ComponentProps<\n typeof BaseAutocomplete.Clear\n>;\n\nexport const AutocompleteClear = ({\n className,\n ...props\n}: AutocompleteClearProps) => (\n <BaseAutocomplete.Clear\n className={mergeBaseUIClassName<BaseAutocomplete.Clear.State>(\n \"cursor-clickable\",\n className\n )}\n data-slot=\"autocomplete-clear\"\n {...props}\n />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteCollectionProps = ComponentProps<\n typeof BaseAutocomplete.Collection\n>;\n\nexport const AutocompleteCollection = (props: AutocompleteCollectionProps) => (\n <BaseAutocomplete.Collection data-slot=\"autocomplete-collection\" {...props} />\n);\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface AutocompleteContextValue {\n size?: InputSize;\n}\n\nconst AutocompleteContext = createContext<AutocompleteContextValue>({\n size: \"md\",\n});\n\nexport { AutocompleteContext };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface AutocompleteOverlayContextValue {\n size?: InputSize;\n}\n\nconst AutocompleteOverlayContext =\n createContext<AutocompleteOverlayContextValue>({\n size: \"md\",\n });\n\nexport { AutocompleteOverlayContext };\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nexport type AutocompletePopupProps = ComponentProps<\n typeof BaseAutocomplete.Popup\n> &\n VariantProps<typeof autocompletePopupVariants>;\n\nconst autocompletePopupVariants = tv({\n base: \"z-overlay border-border bg-popover text-popover-foreground relative max-h-[min(var(--available-height),20rem)] min-w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto overscroll-contain border shadow-md\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"rounded-md p-1.5\",\n md: \"rounded-md p-1\",\n sm: \"rounded-[min(var(--radius-md),10px)] p-1\",\n xl: \"rounded-md p-2\",\n xs: \"rounded-[min(var(--radius-md),8px)] p-0.5\",\n },\n },\n});\n\nexport const AutocompletePopup = ({\n className,\n size,\n ...props\n}: AutocompletePopupProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.Popup\n className={mergeBaseUIClassName<BaseAutocomplete.Popup.State>(\n autocompletePopupVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-popup\"\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompletePortalProps = ComponentProps<\n typeof BaseAutocomplete.Portal\n>;\n\nexport const AutocompletePortal = (props: AutocompletePortalProps) => (\n <BaseAutocomplete.Portal data-slot=\"autocomplete-portal\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type AutocompletePositionerProps = ComponentProps<\n typeof BaseAutocomplete.Positioner\n>;\n\nexport const AutocompletePositioner = ({\n className,\n ...props\n}: AutocompletePositionerProps) => (\n <BaseAutocomplete.Positioner\n className={mergeBaseUIClassName<BaseAutocomplete.Positioner.State>(\n \"z-overlay\",\n className\n )}\n data-slot=\"autocomplete-positioner\"\n {...props}\n />\n);\n","import type { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext, useMemo } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteContext } from \"./autocomplete-context\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\nimport { AutocompletePopup } from \"./autocomplete-popup\";\nimport { AutocompletePortal } from \"./autocomplete-portal\";\nimport { AutocompletePositioner } from \"./autocomplete-positioner\";\n\nexport type AutocompleteContentProps = ComponentProps<\n typeof BaseAutocomplete.Popup\n> & {\n size?: InputSize;\n sideOffset?: BaseAutocomplete.Positioner.Props[\"sideOffset\"];\n};\n\nexport const AutocompleteContent = ({\n className,\n children,\n size,\n sideOffset = 4,\n ...props\n}: AutocompleteContentProps) => {\n const { size: rootSize } = useContext(AutocompleteContext);\n const resolvedSize = size ?? rootSize ?? \"md\";\n const contextValue = useMemo(() => ({ size: resolvedSize }), [resolvedSize]);\n\n return (\n <AutocompleteOverlayContext.Provider value={contextValue}>\n <AutocompletePortal>\n <AutocompletePositioner\n className=\"outline-none\"\n sideOffset={sideOffset}\n >\n <AutocompletePopup\n className={className}\n data-size={resolvedSize}\n data-slot=\"autocomplete-content\"\n size={resolvedSize}\n {...props}\n >\n {children}\n </AutocompletePopup>\n </AutocompletePositioner>\n </AutocompletePortal>\n </AutocompleteOverlayContext.Provider>\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nexport type AutocompleteEmptyProps = ComponentProps<\n typeof BaseAutocomplete.Empty\n> &\n VariantProps<typeof autocompleteEmptyVariants>;\n\nconst autocompleteEmptyVariants = tv({\n base: \"text-center empty:m-0 empty:p-0\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"py-7 text-sm\",\n md: \"py-6 text-sm\",\n sm: \"py-5 text-sm\",\n xl: \"py-8 text-base\",\n xs: \"py-4 text-xs\",\n },\n },\n});\n\nexport const AutocompleteEmpty = ({\n className,\n size,\n ...props\n}: AutocompleteEmptyProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.Empty\n className={mergeBaseUIClassName<BaseAutocomplete.Empty.State>(\n autocompleteEmptyVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-empty\"\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteGroupProps = ComponentProps<\n typeof BaseAutocomplete.Group\n>;\n\nexport const AutocompleteGroup = (props: AutocompleteGroupProps) => (\n <BaseAutocomplete.Group data-slot=\"autocomplete-group\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nexport type AutocompleteGroupLabelProps = ComponentProps<\n typeof BaseAutocomplete.GroupLabel\n> &\n VariantProps<typeof autocompleteGroupLabelVariants>;\n\nconst autocompleteGroupLabelVariants = tv({\n base: \"text-muted-foreground font-medium\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"px-2.5 py-1.5 text-sm\",\n md: \"px-2 py-1.5 text-xs\",\n sm: \"px-2 py-1 text-xs\",\n xl: \"px-3 py-2 text-sm\",\n xs: \"px-1.5 py-1 text-xs\",\n },\n },\n});\n\nexport const AutocompleteGroupLabel = ({\n className,\n size,\n ...props\n}: AutocompleteGroupLabelProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.GroupLabel\n className={mergeBaseUIClassName<BaseAutocomplete.GroupLabel.State>(\n autocompleteGroupLabelVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-group-label\"\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteIconProps = ComponentProps<\n typeof BaseAutocomplete.Icon\n>;\n\nexport const AutocompleteIcon = (props: AutocompleteIconProps) => (\n <BaseAutocomplete.Icon data-slot=\"autocomplete-icon\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { AutocompleteContext } from \"./autocomplete-context\";\n\nconst autocompleteInputVariants = tv({\n base: \"border-input selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger aria-invalid:ring-danger/50 dark:bg-input/30 flex w-full min-w-0 border bg-transparent transition-colors outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"h-10 rounded-md px-3 py-1.5 text-base md:text-sm\",\n md: \"h-9 rounded-md px-2.5 py-1 text-base md:text-sm\",\n sm: \"h-8 rounded-[min(var(--radius-md),10px)] px-2.5 py-1 text-sm\",\n xl: \"h-11 rounded-md px-4 py-1.5 text-base\",\n xs: \"h-6 rounded-[min(var(--radius-md),8px)] px-2 py-0.5 text-xs\",\n },\n },\n});\n\ntype AutocompleteInputVariantProps = VariantProps<\n typeof autocompleteInputVariants\n>;\ntype NativeAutocompleteInputProps = ComponentProps<\n typeof BaseAutocomplete.Input\n>;\ntype NativeAutocompleteInputSize = NativeAutocompleteInputProps[\"size\"];\n\nexport type AutocompleteInputProps = Omit<\n NativeAutocompleteInputProps,\n \"size\"\n> &\n AutocompleteInputVariantProps & {\n htmlSize?: NativeAutocompleteInputSize;\n };\n\nexport const AutocompleteInput = ({\n className,\n htmlSize,\n size,\n ...props\n}: AutocompleteInputProps) => {\n const { size: contextSize } = useContext(AutocompleteContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseAutocomplete.Input\n className={mergeBaseUIClassName<BaseAutocomplete.Input.State>(\n autocompleteInputVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-input\"\n size={htmlSize}\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nexport type AutocompleteItemProps = ComponentProps<\n typeof BaseAutocomplete.Item\n> &\n VariantProps<typeof autocompleteItemVariants>;\n\nconst autocompleteItemVariants = tv({\n base: \"cursor-clickable data-highlighted:bg-accent data-highlighted:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full items-center rounded-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"gap-2 px-2.5 py-2 text-sm [&_svg:not([class*='size-'])]:size-4\",\n md: \"gap-2 px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n sm: \"gap-1.5 px-2 py-1 text-sm [&_svg:not([class*='size-'])]:size-3.5\",\n xl: \"gap-2.5 px-3 py-2.5 text-base [&_svg:not([class*='size-'])]:size-5\",\n xs: \"gap-1 px-1.5 py-1 text-xs [&_svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\nexport const AutocompleteItem = ({\n className,\n children,\n size,\n ...props\n}: AutocompleteItemProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.Item\n className={mergeBaseUIClassName<BaseAutocomplete.Item.State>(\n autocompleteItemVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-item\"\n {...props}\n >\n {children}\n </BaseAutocomplete.Item>\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteListProps = ComponentProps<\n typeof BaseAutocomplete.List\n>;\n\nexport const AutocompleteList = (props: AutocompleteListProps) => (\n <BaseAutocomplete.List data-slot=\"autocomplete-list\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nconst autocompleteRowVariants = tv({\n base: \"grid w-full\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"scroll-my-2\",\n md: \"scroll-my-1.5\",\n sm: \"scroll-my-1\",\n xl: \"scroll-my-2.5\",\n xs: \"scroll-my-1\",\n },\n },\n});\n\nexport type AutocompleteRowProps = ComponentProps<typeof BaseAutocomplete.Row> &\n VariantProps<typeof autocompleteRowVariants>;\n\nexport const AutocompleteRow = ({\n className,\n size,\n ...props\n}: AutocompleteRowProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.Row\n className={mergeBaseUIClassName<BaseAutocomplete.Row.State>(\n autocompleteRowVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-row\"\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type AutocompleteSeparatorProps = ComponentProps<\n typeof BaseAutocomplete.Separator\n>;\n\nexport const AutocompleteSeparator = ({\n className,\n ...props\n}: AutocompleteSeparatorProps) => (\n <BaseAutocomplete.Separator\n className={mergeBaseUIClassName<BaseAutocomplete.Separator.State>(\n \"pointer-events-none -mx-1 my-1 h-px bg-border\",\n className\n )}\n data-slot=\"autocomplete-separator\"\n {...props}\n />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nexport type AutocompleteStatusProps = ComponentProps<\n typeof BaseAutocomplete.Status\n> &\n VariantProps<typeof autocompleteStatusVariants>;\n\nconst autocompleteStatusVariants = tv({\n base: \"text-muted-foreground flex items-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"gap-2 px-2.5 py-2 text-sm\",\n md: \"gap-2 px-2 py-1.5 text-sm\",\n sm: \"gap-1.5 px-2 py-1 text-sm\",\n xl: \"gap-2.5 px-3 py-2.5 text-base\",\n xs: \"gap-1 px-1.5 py-1 text-xs\",\n },\n },\n});\n\nexport const AutocompleteStatus = ({\n className,\n size,\n ...props\n}: AutocompleteStatusProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.Status\n className={mergeBaseUIClassName<BaseAutocomplete.Status.State>(\n autocompleteStatusVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-status\"\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type AutocompleteTriggerProps = ComponentProps<\n typeof BaseAutocomplete.Trigger\n>;\n\nexport const AutocompleteTrigger = ({\n className,\n ...props\n}: AutocompleteTriggerProps) => (\n <BaseAutocomplete.Trigger\n className={mergeBaseUIClassName<BaseAutocomplete.Trigger.State>(\n \"cursor-clickable\",\n className\n )}\n data-slot=\"autocomplete-trigger\"\n {...props}\n />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteValueProps = ComponentProps<\n typeof BaseAutocomplete.Value\n>;\n\nexport const AutocompleteValue = (props: AutocompleteValueProps) => (\n <BaseAutocomplete.Value data-slot=\"autocomplete-value\" {...props} />\n);\n","\"use client\";\n\nimport { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { AutocompleteArrow } from \"./autocomplete-arrow\";\nimport { AutocompleteBackdrop } from \"./autocomplete-backdrop\";\nimport { AutocompleteClear } from \"./autocomplete-clear\";\nimport { AutocompleteCollection } from \"./autocomplete-collection\";\nimport { AutocompleteContent } from \"./autocomplete-content\";\nimport { AutocompleteContext } from \"./autocomplete-context\";\nimport { AutocompleteEmpty } from \"./autocomplete-empty\";\nimport { AutocompleteGroup } from \"./autocomplete-group\";\nimport { AutocompleteGroupLabel } from \"./autocomplete-group-label\";\nimport { AutocompleteIcon } from \"./autocomplete-icon\";\nimport { AutocompleteInput } from \"./autocomplete-input\";\nimport { AutocompleteItem } from \"./autocomplete-item\";\nimport { AutocompleteList } from \"./autocomplete-list\";\nimport { AutocompletePopup } from \"./autocomplete-popup\";\nimport { AutocompletePortal } from \"./autocomplete-portal\";\nimport { AutocompletePositioner } from \"./autocomplete-positioner\";\nimport { AutocompleteRow } from \"./autocomplete-row\";\nimport { AutocompleteSeparator } from \"./autocomplete-separator\";\nimport { AutocompleteStatus } from \"./autocomplete-status\";\nimport { AutocompleteTrigger } from \"./autocomplete-trigger\";\nimport { AutocompleteValue } from \"./autocomplete-value\";\n\nexport type AutocompleteProps = ComponentProps<typeof BaseAutocomplete.Root> & {\n size?: InputSize;\n};\n\nconst Autocomplete = ({ size: providedSize, ...props }: AutocompleteProps) => {\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <AutocompleteContext.Provider value={contextValue}>\n <BaseAutocomplete.Root\n data-size={size}\n data-slot=\"autocomplete\"\n {...props}\n />\n </AutocompleteContext.Provider>\n );\n};\n\nAutocomplete.Arrow = AutocompleteArrow;\nAutocomplete.Backdrop = AutocompleteBackdrop;\nAutocomplete.Clear = AutocompleteClear;\nAutocomplete.Collection = AutocompleteCollection;\nAutocomplete.Content = AutocompleteContent;\nAutocomplete.Empty = AutocompleteEmpty;\nAutocomplete.Group = AutocompleteGroup;\nAutocomplete.GroupLabel = AutocompleteGroupLabel;\nAutocomplete.Icon = AutocompleteIcon;\nAutocomplete.Input = AutocompleteInput;\nAutocomplete.Item = AutocompleteItem;\nAutocomplete.List = AutocompleteList;\nAutocomplete.Popup = AutocompletePopup;\nAutocomplete.Portal = AutocompletePortal;\nAutocomplete.Positioner = AutocompletePositioner;\nAutocomplete.Row = AutocompleteRow;\nAutocomplete.Separator = AutocompleteSeparator;\nAutocomplete.Status = AutocompleteStatus;\nAutocomplete.Trigger = AutocompleteTrigger;\nAutocomplete.Value = AutocompleteValue;\n\nexport const { useFilter, useFilteredItems } = BaseAutocomplete;\n\nexport type { AutocompleteArrowProps } from \"./autocomplete-arrow\";\nexport type { AutocompleteBackdropProps } from \"./autocomplete-backdrop\";\nexport type { AutocompleteClearProps } from \"./autocomplete-clear\";\nexport type { AutocompleteCollectionProps } from \"./autocomplete-collection\";\nexport type { AutocompleteContentProps } from \"./autocomplete-content\";\nexport type { AutocompleteEmptyProps } from \"./autocomplete-empty\";\nexport type { AutocompleteGroupProps } from \"./autocomplete-group\";\nexport type { AutocompleteGroupLabelProps } from \"./autocomplete-group-label\";\nexport type { AutocompleteIconProps } from \"./autocomplete-icon\";\nexport type { AutocompleteInputProps } from \"./autocomplete-input\";\nexport type { AutocompleteItemProps } from \"./autocomplete-item\";\nexport type { AutocompleteListProps } from \"./autocomplete-list\";\nexport type { AutocompletePortalProps } from \"./autocomplete-portal\";\nexport type { AutocompletePositionerProps } from \"./autocomplete-positioner\";\nexport type { AutocompletePopupProps } from \"./autocomplete-popup\";\nexport type { AutocompleteRowProps } from \"./autocomplete-row\";\nexport type { AutocompleteSeparatorProps } from \"./autocomplete-separator\";\nexport type { AutocompleteStatusProps } from \"./autocomplete-status\";\nexport type { AutocompleteTriggerProps } from \"./autocomplete-trigger\";\nexport type { AutocompleteValueProps } from \"./autocomplete-value\";\n\nexport {\n Autocomplete,\n AutocompleteArrow,\n AutocompleteBackdrop,\n AutocompleteClear,\n AutocompleteCollection,\n AutocompleteContent,\n AutocompleteEmpty,\n AutocompleteGroup,\n AutocompleteGroupLabel,\n AutocompleteIcon,\n AutocompleteInput,\n AutocompleteItem,\n AutocompleteList,\n AutocompletePopup,\n AutocompletePortal,\n AutocompletePositioner,\n AutocompleteRow,\n AutocompleteSeparator,\n AutocompleteStatus,\n AutocompleteTrigger,\n AutocompleteValue,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autocomplete.js","names":["BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete","BaseAutocomplete"],"sources":["../../src/ui/autocomplete/autocomplete-arrow.tsx","../../src/ui/autocomplete/autocomplete-backdrop.tsx","../../src/ui/autocomplete/autocomplete-clear.tsx","../../src/ui/autocomplete/autocomplete-collection.tsx","../../src/ui/autocomplete/autocomplete-context.tsx","../../src/ui/autocomplete/autocomplete-overlay-context.tsx","../../src/ui/autocomplete/autocomplete-popup.tsx","../../src/ui/autocomplete/autocomplete-portal.tsx","../../src/ui/autocomplete/autocomplete-positioner.tsx","../../src/ui/autocomplete/autocomplete-content.tsx","../../src/ui/autocomplete/autocomplete-empty.tsx","../../src/ui/autocomplete/autocomplete-group.tsx","../../src/ui/autocomplete/autocomplete-group-label.tsx","../../src/ui/autocomplete/autocomplete-icon.tsx","../../src/ui/autocomplete/autocomplete-input.tsx","../../src/ui/autocomplete/autocomplete-item.tsx","../../src/ui/autocomplete/autocomplete-list.tsx","../../src/ui/autocomplete/autocomplete-row.tsx","../../src/ui/autocomplete/autocomplete-separator.tsx","../../src/ui/autocomplete/autocomplete-status.tsx","../../src/ui/autocomplete/autocomplete-trigger.tsx","../../src/ui/autocomplete/autocomplete-value.tsx","../../src/ui/autocomplete/autocomplete.tsx"],"sourcesContent":["import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteArrowProps = ComponentProps<\n typeof BaseAutocomplete.Arrow\n>;\n\nexport const AutocompleteArrow = (props: AutocompleteArrowProps) => (\n <BaseAutocomplete.Arrow data-slot=\"autocomplete-arrow\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteBackdropProps = ComponentProps<\n typeof BaseAutocomplete.Backdrop\n>;\n\nexport const AutocompleteBackdrop = (props: AutocompleteBackdropProps) => (\n <BaseAutocomplete.Backdrop data-slot=\"autocomplete-backdrop\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type AutocompleteClearProps = ComponentProps<\n typeof BaseAutocomplete.Clear\n>;\n\nexport const AutocompleteClear = ({\n className,\n ...props\n}: AutocompleteClearProps) => (\n <BaseAutocomplete.Clear\n className={mergeBaseUIClassName<BaseAutocomplete.Clear.State>(\n \"cursor-clickable\",\n className\n )}\n data-slot=\"autocomplete-clear\"\n {...props}\n />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteCollectionProps = ComponentProps<\n typeof BaseAutocomplete.Collection\n>;\n\nexport const AutocompleteCollection = (props: AutocompleteCollectionProps) => (\n <BaseAutocomplete.Collection data-slot=\"autocomplete-collection\" {...props} />\n);\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface AutocompleteContextValue {\n size?: InputSize;\n}\n\nconst AutocompleteContext = createContext<AutocompleteContextValue>({\n size: \"md\",\n});\n\nexport { AutocompleteContext };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface AutocompleteOverlayContextValue {\n size?: InputSize;\n}\n\nconst AutocompleteOverlayContext =\n createContext<AutocompleteOverlayContextValue>({\n size: \"md\",\n });\n\nexport { AutocompleteOverlayContext };\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nexport type AutocompletePopupProps = ComponentProps<\n typeof BaseAutocomplete.Popup\n> &\n VariantProps<typeof autocompletePopupVariants>;\n\nconst autocompletePopupVariants = tv({\n base: \"z-overlay border-border bg-popover text-popover-foreground relative max-h-[min(var(--available-height),var(--kb-overlay-list-max-height,20rem))] min-w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto overscroll-contain border shadow-md\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"rounded-md p-1.5\",\n md: \"rounded-md p-1\",\n sm: \"rounded-[min(var(--radius-md),10px)] p-1\",\n xl: \"rounded-md p-2\",\n xs: \"rounded-[min(var(--radius-md),8px)] p-0.5\",\n },\n },\n});\n\nexport const AutocompletePopup = ({\n className,\n size,\n ...props\n}: AutocompletePopupProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.Popup\n className={mergeBaseUIClassName<BaseAutocomplete.Popup.State>(\n autocompletePopupVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-popup\"\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompletePortalProps = ComponentProps<\n typeof BaseAutocomplete.Portal\n>;\n\nexport const AutocompletePortal = (props: AutocompletePortalProps) => (\n <BaseAutocomplete.Portal data-slot=\"autocomplete-portal\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type AutocompletePositionerProps = ComponentProps<\n typeof BaseAutocomplete.Positioner\n>;\n\nexport const AutocompletePositioner = ({\n className,\n ...props\n}: AutocompletePositionerProps) => (\n <BaseAutocomplete.Positioner\n className={mergeBaseUIClassName<BaseAutocomplete.Positioner.State>(\n \"z-overlay\",\n className\n )}\n data-slot=\"autocomplete-positioner\"\n {...props}\n />\n);\n","import type { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext, useMemo } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteContext } from \"./autocomplete-context\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\nimport { AutocompletePopup } from \"./autocomplete-popup\";\nimport { AutocompletePortal } from \"./autocomplete-portal\";\nimport { AutocompletePositioner } from \"./autocomplete-positioner\";\n\nexport type AutocompleteContentProps = ComponentProps<\n typeof BaseAutocomplete.Popup\n> & {\n size?: InputSize;\n sideOffset?: BaseAutocomplete.Positioner.Props[\"sideOffset\"];\n};\n\nexport const AutocompleteContent = ({\n className,\n children,\n size,\n sideOffset = 4,\n ...props\n}: AutocompleteContentProps) => {\n const { size: rootSize } = useContext(AutocompleteContext);\n const resolvedSize = size ?? rootSize ?? \"md\";\n const contextValue = useMemo(() => ({ size: resolvedSize }), [resolvedSize]);\n\n return (\n <AutocompleteOverlayContext.Provider value={contextValue}>\n <AutocompletePortal>\n <AutocompletePositioner\n className=\"outline-none\"\n sideOffset={sideOffset}\n >\n <AutocompletePopup\n className={className}\n data-size={resolvedSize}\n data-slot=\"autocomplete-content\"\n size={resolvedSize}\n {...props}\n >\n {children}\n </AutocompletePopup>\n </AutocompletePositioner>\n </AutocompletePortal>\n </AutocompleteOverlayContext.Provider>\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nexport type AutocompleteEmptyProps = ComponentProps<\n typeof BaseAutocomplete.Empty\n> &\n VariantProps<typeof autocompleteEmptyVariants>;\n\nconst autocompleteEmptyVariants = tv({\n base: \"text-center empty:m-0 empty:p-0\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"py-7 text-sm\",\n md: \"py-6 text-sm\",\n sm: \"py-5 text-sm\",\n xl: \"py-8 text-base\",\n xs: \"py-4 text-xs\",\n },\n },\n});\n\nexport const AutocompleteEmpty = ({\n className,\n size,\n ...props\n}: AutocompleteEmptyProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.Empty\n className={mergeBaseUIClassName<BaseAutocomplete.Empty.State>(\n autocompleteEmptyVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-empty\"\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteGroupProps = ComponentProps<\n typeof BaseAutocomplete.Group\n>;\n\nexport const AutocompleteGroup = (props: AutocompleteGroupProps) => (\n <BaseAutocomplete.Group data-slot=\"autocomplete-group\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nexport type AutocompleteGroupLabelProps = ComponentProps<\n typeof BaseAutocomplete.GroupLabel\n> &\n VariantProps<typeof autocompleteGroupLabelVariants>;\n\nconst autocompleteGroupLabelVariants = tv({\n base: \"text-muted-foreground font-medium\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"px-2.5 py-1.5 text-sm\",\n md: \"px-2 py-1.5 text-xs\",\n sm: \"px-2 py-1 text-xs\",\n xl: \"px-3 py-2 text-sm\",\n xs: \"px-1.5 py-1 text-xs\",\n },\n },\n});\n\nexport const AutocompleteGroupLabel = ({\n className,\n size,\n ...props\n}: AutocompleteGroupLabelProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.GroupLabel\n className={mergeBaseUIClassName<BaseAutocomplete.GroupLabel.State>(\n autocompleteGroupLabelVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-group-label\"\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteIconProps = ComponentProps<\n typeof BaseAutocomplete.Icon\n>;\n\nexport const AutocompleteIcon = (props: AutocompleteIconProps) => (\n <BaseAutocomplete.Icon data-slot=\"autocomplete-icon\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { AutocompleteContext } from \"./autocomplete-context\";\n\nconst autocompleteInputVariants = tv({\n base: \"border-input selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger aria-invalid:ring-danger/50 dark:bg-input/30 flex w-full min-w-0 border bg-transparent transition-colors outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"h-10 rounded-md px-3 py-1.5 text-base md:text-sm\",\n md: \"h-9 rounded-md px-2.5 py-1 text-base md:text-sm\",\n sm: \"h-8 rounded-[min(var(--radius-md),10px)] px-2.5 py-1 text-sm\",\n xl: \"h-11 rounded-md px-4 py-1.5 text-base\",\n xs: \"h-6 rounded-[min(var(--radius-md),8px)] px-2 py-0.5 text-xs\",\n },\n },\n});\n\ntype AutocompleteInputVariantProps = VariantProps<\n typeof autocompleteInputVariants\n>;\ntype NativeAutocompleteInputProps = ComponentProps<\n typeof BaseAutocomplete.Input\n>;\ntype NativeAutocompleteInputSize = NativeAutocompleteInputProps[\"size\"];\n\nexport type AutocompleteInputProps = Omit<\n NativeAutocompleteInputProps,\n \"size\"\n> &\n AutocompleteInputVariantProps & {\n htmlSize?: NativeAutocompleteInputSize;\n };\n\nexport const AutocompleteInput = ({\n className,\n htmlSize,\n size,\n ...props\n}: AutocompleteInputProps) => {\n const { size: contextSize } = useContext(AutocompleteContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseAutocomplete.Input\n className={mergeBaseUIClassName<BaseAutocomplete.Input.State>(\n autocompleteInputVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-input\"\n size={htmlSize}\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nexport type AutocompleteItemProps = ComponentProps<\n typeof BaseAutocomplete.Item\n> &\n VariantProps<typeof autocompleteItemVariants>;\n\nconst autocompleteItemVariants = tv({\n base: \"cursor-clickable data-highlighted:bg-accent data-highlighted:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full items-center rounded-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"gap-2 px-2.5 py-2 text-sm [&_svg:not([class*='size-'])]:size-4\",\n md: \"gap-2 px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n sm: \"gap-1.5 px-2 py-1 text-sm [&_svg:not([class*='size-'])]:size-3.5\",\n xl: \"gap-2.5 px-3 py-2.5 text-base [&_svg:not([class*='size-'])]:size-5\",\n xs: \"gap-1 px-1.5 py-1 text-xs [&_svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\nexport const AutocompleteItem = ({\n className,\n children,\n size,\n ...props\n}: AutocompleteItemProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.Item\n className={mergeBaseUIClassName<BaseAutocomplete.Item.State>(\n autocompleteItemVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-item\"\n {...props}\n >\n {children}\n </BaseAutocomplete.Item>\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteListProps = ComponentProps<\n typeof BaseAutocomplete.List\n>;\n\nexport const AutocompleteList = (props: AutocompleteListProps) => (\n <BaseAutocomplete.List data-slot=\"autocomplete-list\" {...props} />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nconst autocompleteRowVariants = tv({\n base: \"grid w-full\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"scroll-my-2\",\n md: \"scroll-my-1.5\",\n sm: \"scroll-my-1\",\n xl: \"scroll-my-2.5\",\n xs: \"scroll-my-1\",\n },\n },\n});\n\nexport type AutocompleteRowProps = ComponentProps<typeof BaseAutocomplete.Row> &\n VariantProps<typeof autocompleteRowVariants>;\n\nexport const AutocompleteRow = ({\n className,\n size,\n ...props\n}: AutocompleteRowProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.Row\n className={mergeBaseUIClassName<BaseAutocomplete.Row.State>(\n autocompleteRowVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-row\"\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type AutocompleteSeparatorProps = ComponentProps<\n typeof BaseAutocomplete.Separator\n>;\n\nexport const AutocompleteSeparator = ({\n className,\n ...props\n}: AutocompleteSeparatorProps) => (\n <BaseAutocomplete.Separator\n className={mergeBaseUIClassName<BaseAutocomplete.Separator.State>(\n \"pointer-events-none -mx-1 my-1 h-px bg-border\",\n className\n )}\n data-slot=\"autocomplete-separator\"\n {...props}\n />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { InputSize } from \"../input/input\";\nimport { AutocompleteOverlayContext } from \"./autocomplete-overlay-context\";\n\nexport type AutocompleteStatusProps = ComponentProps<\n typeof BaseAutocomplete.Status\n> &\n VariantProps<typeof autocompleteStatusVariants>;\n\nconst autocompleteStatusVariants = tv({\n base: \"text-muted-foreground flex items-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"gap-2 px-2.5 py-2 text-sm\",\n md: \"gap-2 px-2 py-1.5 text-sm\",\n sm: \"gap-1.5 px-2 py-1 text-sm\",\n xl: \"gap-2.5 px-3 py-2.5 text-base\",\n xs: \"gap-1 px-1.5 py-1 text-xs\",\n },\n },\n});\n\nexport const AutocompleteStatus = ({\n className,\n size,\n ...props\n}: AutocompleteStatusProps) => {\n const { size: overlaySize } = useContext(AutocompleteOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <BaseAutocomplete.Status\n className={mergeBaseUIClassName<BaseAutocomplete.Status.State>(\n autocompleteStatusVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"autocomplete-status\"\n {...props}\n />\n );\n};\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type AutocompleteTriggerProps = ComponentProps<\n typeof BaseAutocomplete.Trigger\n>;\n\nexport const AutocompleteTrigger = ({\n className,\n ...props\n}: AutocompleteTriggerProps) => (\n <BaseAutocomplete.Trigger\n className={mergeBaseUIClassName<BaseAutocomplete.Trigger.State>(\n \"cursor-clickable\",\n className\n )}\n data-slot=\"autocomplete-trigger\"\n {...props}\n />\n);\n","import { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\n\nexport type AutocompleteValueProps = ComponentProps<\n typeof BaseAutocomplete.Value\n>;\n\nexport const AutocompleteValue = (props: AutocompleteValueProps) => (\n <BaseAutocomplete.Value data-slot=\"autocomplete-value\" {...props} />\n);\n","\"use client\";\n\nimport { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { AutocompleteArrow } from \"./autocomplete-arrow\";\nimport { AutocompleteBackdrop } from \"./autocomplete-backdrop\";\nimport { AutocompleteClear } from \"./autocomplete-clear\";\nimport { AutocompleteCollection } from \"./autocomplete-collection\";\nimport { AutocompleteContent } from \"./autocomplete-content\";\nimport { AutocompleteContext } from \"./autocomplete-context\";\nimport { AutocompleteEmpty } from \"./autocomplete-empty\";\nimport { AutocompleteGroup } from \"./autocomplete-group\";\nimport { AutocompleteGroupLabel } from \"./autocomplete-group-label\";\nimport { AutocompleteIcon } from \"./autocomplete-icon\";\nimport { AutocompleteInput } from \"./autocomplete-input\";\nimport { AutocompleteItem } from \"./autocomplete-item\";\nimport { AutocompleteList } from \"./autocomplete-list\";\nimport { AutocompletePopup } from \"./autocomplete-popup\";\nimport { AutocompletePortal } from \"./autocomplete-portal\";\nimport { AutocompletePositioner } from \"./autocomplete-positioner\";\nimport { AutocompleteRow } from \"./autocomplete-row\";\nimport { AutocompleteSeparator } from \"./autocomplete-separator\";\nimport { AutocompleteStatus } from \"./autocomplete-status\";\nimport { AutocompleteTrigger } from \"./autocomplete-trigger\";\nimport { AutocompleteValue } from \"./autocomplete-value\";\n\nexport type AutocompleteProps = ComponentProps<typeof BaseAutocomplete.Root> & {\n size?: InputSize;\n};\n\nconst Autocomplete = ({ size: providedSize, ...props }: AutocompleteProps) => {\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <AutocompleteContext.Provider value={contextValue}>\n <BaseAutocomplete.Root\n data-size={size}\n data-slot=\"autocomplete\"\n {...props}\n />\n </AutocompleteContext.Provider>\n );\n};\n\nAutocomplete.Arrow = AutocompleteArrow;\nAutocomplete.Backdrop = AutocompleteBackdrop;\nAutocomplete.Clear = AutocompleteClear;\nAutocomplete.Collection = AutocompleteCollection;\nAutocomplete.Content = AutocompleteContent;\nAutocomplete.Empty = AutocompleteEmpty;\nAutocomplete.Group = AutocompleteGroup;\nAutocomplete.GroupLabel = AutocompleteGroupLabel;\nAutocomplete.Icon = AutocompleteIcon;\nAutocomplete.Input = AutocompleteInput;\nAutocomplete.Item = AutocompleteItem;\nAutocomplete.List = AutocompleteList;\nAutocomplete.Popup = AutocompletePopup;\nAutocomplete.Portal = AutocompletePortal;\nAutocomplete.Positioner = AutocompletePositioner;\nAutocomplete.Row = AutocompleteRow;\nAutocomplete.Separator = AutocompleteSeparator;\nAutocomplete.Status = AutocompleteStatus;\nAutocomplete.Trigger = AutocompleteTrigger;\nAutocomplete.Value = AutocompleteValue;\n\nexport const { useFilter, useFilteredItems } = BaseAutocomplete;\n\nexport type { AutocompleteArrowProps } from \"./autocomplete-arrow\";\nexport type { AutocompleteBackdropProps } from \"./autocomplete-backdrop\";\nexport type { AutocompleteClearProps } from \"./autocomplete-clear\";\nexport type { AutocompleteCollectionProps } from \"./autocomplete-collection\";\nexport type { AutocompleteContentProps } from \"./autocomplete-content\";\nexport type { AutocompleteEmptyProps } from \"./autocomplete-empty\";\nexport type { AutocompleteGroupProps } from \"./autocomplete-group\";\nexport type { AutocompleteGroupLabelProps } from \"./autocomplete-group-label\";\nexport type { AutocompleteIconProps } from \"./autocomplete-icon\";\nexport type { AutocompleteInputProps } from \"./autocomplete-input\";\nexport type { AutocompleteItemProps } from \"./autocomplete-item\";\nexport type { AutocompleteListProps } from \"./autocomplete-list\";\nexport type { AutocompletePortalProps } from \"./autocomplete-portal\";\nexport type { AutocompletePositionerProps } from \"./autocomplete-positioner\";\nexport type { AutocompletePopupProps } from \"./autocomplete-popup\";\nexport type { AutocompleteRowProps } from \"./autocomplete-row\";\nexport type { AutocompleteSeparatorProps } from \"./autocomplete-separator\";\nexport type { AutocompleteStatusProps } from \"./autocomplete-status\";\nexport type { AutocompleteTriggerProps } from \"./autocomplete-trigger\";\nexport type { AutocompleteValueProps } from \"./autocomplete-value\";\n\nexport {\n Autocomplete,\n AutocompleteArrow,\n AutocompleteBackdrop,\n AutocompleteClear,\n AutocompleteCollection,\n AutocompleteContent,\n AutocompleteEmpty,\n AutocompleteGroup,\n AutocompleteGroupLabel,\n AutocompleteIcon,\n AutocompleteInput,\n AutocompleteItem,\n AutocompleteList,\n AutocompletePopup,\n AutocompletePortal,\n AutocompletePositioner,\n AutocompleteRow,\n AutocompleteSeparator,\n AutocompleteStatus,\n AutocompleteTrigger,\n AutocompleteValue,\n};\n"],"mappings":"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"}
|
package/dist/ui/avatar.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as AvatarGroupCount, c as AvatarGroupProps, d as AvatarBadge, f as AvatarBadgeProps, i as AvatarImageProps, l as AvatarFallback, n as AvatarProps, o as AvatarGroupCountProps, r as AvatarImage, s as AvatarGroup, t as Avatar, u as AvatarFallbackProps } from "../avatar-
|
|
1
|
+
import { a as AvatarGroupCount, c as AvatarGroupProps, d as AvatarBadge, f as AvatarBadgeProps, i as AvatarImageProps, l as AvatarFallback, n as AvatarProps, o as AvatarGroupCountProps, r as AvatarImage, s as AvatarGroup, t as Avatar, u as AvatarFallbackProps } from "../avatar-4S7I72CH.js";
|
|
2
2
|
export { Avatar, AvatarBadge, AvatarBadgeProps, AvatarFallback, AvatarFallbackProps, AvatarGroup, AvatarGroupCount, AvatarGroupCountProps, AvatarGroupProps, AvatarImage, AvatarImageProps, AvatarProps };
|
package/dist/ui/avatar.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { a as AvatarFallback, i as AvatarGroup, n as AvatarImage, o as AvatarBadge, r as AvatarGroupCount, t as Avatar } from "../avatar-
|
|
3
|
+
import { a as AvatarFallback, i as AvatarGroup, n as AvatarImage, o as AvatarBadge, r as AvatarGroupCount, t as Avatar } from "../avatar-C3vF6E7s.js";
|
|
4
4
|
|
|
5
5
|
export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };
|
package/dist/ui/badge.js
CHANGED
package/dist/ui/breadcrumb.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
2
|
-
import { t as Separator } from "../separator-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
|
+
import { t as Separator } from "../separator-CgOz2m5i.js";
|
|
3
3
|
import * as react from "react";
|
|
4
4
|
import { ComponentProps } from "react";
|
|
5
5
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
package/dist/ui/button.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as ButtonProps, r as buttonVariants, t as Button } from "../button-
|
|
1
|
+
import { n as ButtonProps, r as buttonVariants, t as Button } from "../button-CPPkhcmB.js";
|
|
2
2
|
export { Button, ButtonProps, buttonVariants };
|
package/dist/ui/button.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { a as useComponentSize, r as filterUndefinedProps, s as useKuzenboComponentDefaults } from "../size-provider-18EvJgDT.js";
|
|
4
4
|
import { a as resolveFieldHeightClassBySize, i as resolveDefaultNestedIconClassBySize, o as resolveFieldTextClassBySize } from "../size-system-BTsMqZRQ.js";
|
|
5
5
|
import { t as mergeBaseUIClassName } from "../merge-base-ui-class-name-HKsgjcXj.js";
|
|
6
6
|
import { t as ButtonGroupSizeContext } from "../button-group-size-context-DW7Gn-3k.js";
|
|
7
7
|
import { Spinner } from "./spinner.js";
|
|
8
|
+
import { t as buttonSharedVariants } from "../button-shared-variants-J4RVI3K7.js";
|
|
8
9
|
import { useContext } from "react";
|
|
9
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
11
|
import { cn, tv } from "tailwind-variants";
|
|
@@ -12,54 +13,32 @@ import { Button as Button$1 } from "@base-ui/react/button";
|
|
|
12
13
|
|
|
13
14
|
//#region src/ui/button/button.tsx
|
|
14
15
|
const buttonVariants = tv({
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
],
|
|
40
|
-
xs: [
|
|
41
|
-
resolveFieldHeightClassBySize("xs"),
|
|
42
|
-
resolveFieldTextClassBySize("xs"),
|
|
43
|
-
resolveDefaultNestedIconClassBySize("xs"),
|
|
44
|
-
"gap-1 rounded-[min(var(--radius-md),8px)] px-2 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5"
|
|
45
|
-
]
|
|
46
|
-
},
|
|
47
|
-
variant: {
|
|
48
|
-
danger: "bg-danger text-danger-foreground hover:bg-danger/90 focus-visible:border-danger-foreground/40 focus-visible:ring-danger-foreground/30 dark:bg-danger dark:text-danger-foreground dark:hover:bg-danger/80 dark:focus-visible:ring-danger-foreground/40",
|
|
49
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/90 [a]:hover:bg-primary/80",
|
|
50
|
-
ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
|
|
51
|
-
link: "text-primary underline-offset-4 hover:underline",
|
|
52
|
-
outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-card dark:hover:bg-muted",
|
|
53
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground"
|
|
54
|
-
}
|
|
55
|
-
}
|
|
16
|
+
extend: buttonSharedVariants,
|
|
17
|
+
base: "group/button",
|
|
18
|
+
defaultVariants: { size: "md" },
|
|
19
|
+
variants: { size: {
|
|
20
|
+
lg: [resolveFieldHeightClassBySize("lg"), "gap-1.5 px-3 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3"],
|
|
21
|
+
md: [resolveFieldHeightClassBySize("md"), "gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2"],
|
|
22
|
+
sm: [
|
|
23
|
+
resolveFieldHeightClassBySize("sm"),
|
|
24
|
+
resolveDefaultNestedIconClassBySize("sm"),
|
|
25
|
+
"gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5"
|
|
26
|
+
],
|
|
27
|
+
xl: [
|
|
28
|
+
resolveFieldHeightClassBySize("xl"),
|
|
29
|
+
resolveFieldTextClassBySize("xl"),
|
|
30
|
+
resolveDefaultNestedIconClassBySize("xl"),
|
|
31
|
+
"gap-2 px-4 has-data-[icon=inline-end]:pr-3.5 has-data-[icon=inline-start]:pl-3.5"
|
|
32
|
+
],
|
|
33
|
+
xs: [
|
|
34
|
+
resolveFieldHeightClassBySize("xs"),
|
|
35
|
+
resolveFieldTextClassBySize("xs"),
|
|
36
|
+
resolveDefaultNestedIconClassBySize("xs"),
|
|
37
|
+
"gap-1 rounded-[min(var(--radius-md),8px)] px-2 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5"
|
|
38
|
+
]
|
|
39
|
+
} }
|
|
56
40
|
});
|
|
57
41
|
const BUTTON_SPINNER_SIZE_BY_BUTTON_SIZE = {
|
|
58
|
-
icon: "md",
|
|
59
|
-
"icon-lg": "lg",
|
|
60
|
-
"icon-sm": "sm",
|
|
61
|
-
"icon-xl": "xl",
|
|
62
|
-
"icon-xs": "xs",
|
|
63
42
|
lg: "lg",
|
|
64
43
|
md: "md",
|
|
65
44
|
sm: "sm",
|
|
@@ -84,8 +63,7 @@ const Button = (incomingProps) => {
|
|
|
84
63
|
...filterUndefinedProps(incomingProps)
|
|
85
64
|
};
|
|
86
65
|
const { size: buttonGroupSize } = useContext(ButtonGroupSizeContext);
|
|
87
|
-
const
|
|
88
|
-
const resolvedSize = isButtonSize(size) ? size : buttonGroupSize ?? (isButtonSize(componentDefaultSize) ? componentDefaultSize : globalSize ?? "md");
|
|
66
|
+
const resolvedSize = useComponentSize(isButtonSize(size) ? size : void 0, buttonGroupSize, isButtonSize(componentDefaultSize) ? componentDefaultSize : void 0);
|
|
89
67
|
return /* @__PURE__ */ jsx(Button$1, {
|
|
90
68
|
className: mergeBaseUIClassName(cn(buttonVariants({
|
|
91
69
|
size: resolvedSize,
|
package/dist/ui/button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","names":["ButtonPrimitive"],"sources":["../../src/ui/button/button.tsx"],"sourcesContent":["\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { ButtonGroupSizeContext } from \"../button-group/button-group-size-context\";\nimport {\n
|
|
1
|
+
{"version":3,"file":"button.js","names":["ButtonPrimitive"],"sources":["../../src/ui/button/button.tsx"],"sourcesContent":["\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { ButtonGroupSizeContext } from \"../button-group/button-group-size-context\";\nimport {\n useComponentSize,\n filterUndefinedProps,\n useKuzenboComponentDefaults,\n} from \"../shared/size/size-provider\";\nimport type { UISize } from \"../shared/size/size-system\";\nimport {\n resolveDefaultNestedIconClassBySize,\n resolveFieldHeightClassBySize,\n resolveFieldTextClassBySize,\n} from \"../shared/size/size-system\";\nimport { Spinner } from \"../spinner/spinner\";\nimport { buttonSharedVariants } from \"./button-shared-variants\";\n\nconst buttonVariants = tv({\n extend: buttonSharedVariants,\n base: \"group/button\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: [\n resolveFieldHeightClassBySize(\"lg\"),\n \"gap-1.5 px-3 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n ],\n md: [\n resolveFieldHeightClassBySize(\"md\"),\n \"gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n ],\n sm: [\n resolveFieldHeightClassBySize(\"sm\"),\n resolveDefaultNestedIconClassBySize(\"sm\"),\n \"gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5\",\n ],\n xl: [\n resolveFieldHeightClassBySize(\"xl\"),\n resolveFieldTextClassBySize(\"xl\"),\n resolveDefaultNestedIconClassBySize(\"xl\"),\n \"gap-2 px-4 has-data-[icon=inline-end]:pr-3.5 has-data-[icon=inline-start]:pl-3.5\",\n ],\n xs: [\n resolveFieldHeightClassBySize(\"xs\"),\n resolveFieldTextClassBySize(\"xs\"),\n resolveDefaultNestedIconClassBySize(\"xs\"),\n \"gap-1 rounded-[min(var(--radius-md),8px)] px-2 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5\",\n ],\n },\n },\n});\n\nexport type ButtonProps = ComponentProps<typeof ButtonPrimitive> &\n VariantProps<typeof buttonVariants> & {\n isLoading?: boolean;\n };\n\ntype ButtonSize = NonNullable<VariantProps<typeof buttonVariants>[\"size\"]>;\n\nconst BUTTON_SPINNER_SIZE_BY_BUTTON_SIZE: Record<ButtonSize, UISize> = {\n lg: \"lg\",\n md: \"md\",\n sm: \"sm\",\n xl: \"xl\",\n xs: \"xs\",\n};\n\nconst isButtonSize = (value: unknown): value is ButtonSize =>\n typeof value === \"string\" && value in BUTTON_SPINNER_SIZE_BY_BUTTON_SIZE;\n\nconst ButtonContent = ({\n children,\n isLoading,\n size,\n}: {\n children: ReactNode;\n isLoading?: boolean;\n size: ButtonSize;\n}) => (\n <span className=\"relative inline-flex items-center justify-center\">\n <span\n className={cn(\n \"inline-flex items-center justify-center gap-2 transition-all duration-200\",\n isLoading\n ? \"pointer-events-none -translate-y-full opacity-0\"\n : \"translate-y-0 opacity-100\"\n )}\n >\n {children}\n </span>\n <span\n className={cn(\n \"absolute inset-0 inline-flex items-center justify-center transition-all duration-200\",\n isLoading\n ? \"translate-y-0 opacity-100\"\n : \"pointer-events-none -translate-y-full opacity-0\"\n )}\n >\n <Spinner size={BUTTON_SPINNER_SIZE_BY_BUTTON_SIZE[size]} />\n </span>\n </span>\n);\n\nconst Button = (incomingProps: ButtonProps) => {\n const componentDefaults = useKuzenboComponentDefaults<ButtonProps>(\"Button\");\n const { size: componentDefaultSize, ...componentDefaultsWithoutSize } =\n componentDefaults;\n const {\n className,\n variant = \"default\",\n size,\n isLoading,\n children,\n disabled,\n ...props\n } = {\n ...filterUndefinedProps(componentDefaultsWithoutSize),\n ...filterUndefinedProps(incomingProps),\n };\n\n const { size: buttonGroupSize } = useContext(ButtonGroupSizeContext);\n const resolvedSize = useComponentSize(\n isButtonSize(size) ? size : undefined,\n buttonGroupSize,\n isButtonSize(componentDefaultSize) ? componentDefaultSize : undefined\n );\n\n return (\n <ButtonPrimitive\n className={mergeBaseUIClassName<ButtonPrimitive.State>(\n cn(buttonVariants({ size: resolvedSize, variant })),\n className\n )}\n focusableWhenDisabled={Boolean(isLoading)}\n data-loading={isLoading}\n data-size={resolvedSize}\n data-slot=\"button\"\n disabled={disabled || isLoading}\n {...props}\n >\n <ButtonContent isLoading={isLoading} size={resolvedSize}>\n {children}\n </ButtonContent>\n </ButtonPrimitive>\n );\n};\n\nexport { Button, buttonVariants };\n"],"mappings":";;;;;;;;;;;;;;AAwBA,MAAM,iBAAiB,GAAG;CACxB,QAAQ;CACR,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI,CACF,8BAA8B,KAAK,EACnC,iFACD;EACD,IAAI,CACF,8BAA8B,KAAK,EACnC,mFACD;EACD,IAAI;GACF,8BAA8B,KAAK;GACnC,oCAAoC,KAAK;GACzC;GACD;EACD,IAAI;GACF,8BAA8B,KAAK;GACnC,4BAA4B,KAAK;GACjC,oCAAoC,KAAK;GACzC;GACD;EACD,IAAI;GACF,8BAA8B,KAAK;GACnC,4BAA4B,KAAK;GACjC,oCAAoC,KAAK;GACzC;GACD;EACF,EACF;CACF,CAAC;AASF,MAAM,qCAAiE;CACrE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,MAAM,gBAAgB,UACpB,OAAO,UAAU,YAAY,SAAS;AAExC,MAAM,iBAAiB,EACrB,UACA,WACA,WAMA,qBAAC,QAAD;CAAM,WAAU;WAAhB,CACE,oBAAC,QAAD;EACE,WAAW,GACT,6EACA,YACI,oDACA,4BACL;EAEA;EACI,GACP,oBAAC,QAAD;EACE,WAAW,GACT,wFACA,YACI,8BACA,kDACL;YAED,oBAAC,SAAD,EAAS,MAAM,mCAAmC,OAAS;EACtD,EACF;;AAGT,MAAM,UAAU,kBAA+B;CAE7C,MAAM,EAAE,MAAM,sBAAsB,GAAG,iCADb,4BAAyC,SAAS;CAG5E,MAAM,EACJ,WACA,UAAU,WACV,MACA,WACA,UACA,UACA,GAAG,UACD;EACF,GAAG,qBAAqB,6BAA6B;EACrD,GAAG,qBAAqB,cAAc;EACvC;CAED,MAAM,EAAE,MAAM,oBAAoB,WAAW,uBAAuB;CACpE,MAAM,eAAe,iBACnB,aAAa,KAAK,GAAG,OAAO,QAC5B,iBACA,aAAa,qBAAqB,GAAG,uBAAuB,OAC7D;AAED,QACE,oBAACA,UAAD;EACE,WAAW,qBACT,GAAG,eAAe;GAAE,MAAM;GAAc;GAAS,CAAC,CAAC,EACnD,UACD;EACD,uBAAuB,QAAQ,UAAU;EACzC,gBAAc;EACd,aAAW;EACX,aAAU;EACV,UAAU,YAAY;EACtB,GAAI;YAEJ,oBAAC,eAAD;GAA0B;GAAW,MAAM;GACxC;GACa;EACA"}
|
package/dist/ui/card.d.ts
CHANGED
package/dist/ui/carousel.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as
|
|
1
|
+
import { t as ActionIcon } from "../action-icon-UjYZjXrB.js";
|
|
2
2
|
import { ComponentProps } from "react";
|
|
3
3
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
import useEmblaCarousel, { UseEmblaCarouselType } from "embla-carousel-react";
|
|
@@ -18,7 +18,7 @@ declare const CarouselItem: ({
|
|
|
18
18
|
}: CarouselItemProps) => react_jsx_runtime0.JSX.Element;
|
|
19
19
|
//#endregion
|
|
20
20
|
//#region src/ui/carousel/carousel-next.d.ts
|
|
21
|
-
type CarouselNextProps = ComponentProps<typeof
|
|
21
|
+
type CarouselNextProps = ComponentProps<typeof ActionIcon>;
|
|
22
22
|
declare const CarouselNext: ({
|
|
23
23
|
className,
|
|
24
24
|
variant,
|
|
@@ -27,7 +27,7 @@ declare const CarouselNext: ({
|
|
|
27
27
|
}: CarouselNextProps) => react_jsx_runtime0.JSX.Element;
|
|
28
28
|
//#endregion
|
|
29
29
|
//#region src/ui/carousel/carousel-previous.d.ts
|
|
30
|
-
type CarouselPreviousProps = ComponentProps<typeof
|
|
30
|
+
type CarouselPreviousProps = ComponentProps<typeof ActionIcon>;
|
|
31
31
|
declare const CarouselPrevious: ({
|
|
32
32
|
className,
|
|
33
33
|
variant,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.d.ts","names":[],"sources":["../../src/ui/carousel/carousel-content.tsx","../../src/ui/carousel/carousel-item.tsx","../../src/ui/carousel/carousel-next.tsx","../../src/ui/carousel/carousel-previous.tsx","../../src/ui/carousel/use-carousel.tsx","../../src/ui/carousel/carousel.tsx"],"mappings":";;;;;;KAIY,oBAAA,GAAuB,cAAA;AAAA,cAE7B,eAAA;EAAmB,SAAA;EAAA,GAAA;AAAA,GAAyB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCF1D,iBAAA,GAAoB,cAAA;AAAA,cAE1B,YAAA;EAAgB,SAAA;EAAA,GAAA;AAAA,GAAyB,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCCpD,iBAAA,GAAoB,cAAA,QAAsB,
|
|
1
|
+
{"version":3,"file":"carousel.d.ts","names":[],"sources":["../../src/ui/carousel/carousel-content.tsx","../../src/ui/carousel/carousel-item.tsx","../../src/ui/carousel/carousel-next.tsx","../../src/ui/carousel/carousel-previous.tsx","../../src/ui/carousel/use-carousel.tsx","../../src/ui/carousel/carousel.tsx"],"mappings":";;;;;;KAIY,oBAAA,GAAuB,cAAA;AAAA,cAE7B,eAAA;EAAmB,SAAA;EAAA,GAAA;AAAA,GAAyB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCF1D,iBAAA,GAAoB,cAAA;AAAA,cAE1B,YAAA;EAAgB,SAAA;EAAA,GAAA;AAAA,GAAyB,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCCpD,iBAAA,GAAoB,cAAA,QAAsB,UAAA;AAAA,cAEhD,YAAA;EAAgB,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAKnB,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCPR,qBAAA,GAAwB,cAAA,QAAsB,UAAA;AAAA,cAEpD,gBAAA;EAAoB,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAKvB,qBAAA,KAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCRnB,WAAA,GAAc,oBAAA;AAAA,KACd,qBAAA,GAAwB,UAAA,QAAkB,gBAAA;AAAA,KAC1C,eAAA,GAAkB,qBAAA;AAAA,KAClB,cAAA,GAAiB,qBAAA;AAAA,UAEZ,aAAA;EACR,IAAA,GAAO,eAAA;EACP,OAAA,GAAU,cAAA;EACV,WAAA;EACA,MAAA,IAAU,GAAA,EAAK,WAAA;AAAA;AAAA,KAGZ,oBAAA;EACH,WAAA,EAAa,UAAA,QAAkB,gBAAA;EAC/B,GAAA,EAAK,UAAA,QAAkB,gBAAA;EACvB,UAAA;EACA,UAAA;EACA,aAAA;EACA,aAAA;AAAA,IACE,aAAA;AAAA,cAIE,WAAA,QAAW,oBAAA;;;cCfX,QAAA;EAAA;;;;;;;;KAQH,cAAA,UAAwB,aAAA,GAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/ui/carousel.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { ActionIcon } from "./action-icon.js";
|
|
4
4
|
import { createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { cn } from "tailwind-variants";
|
|
@@ -46,9 +46,9 @@ const CarouselItem = ({ className, ...props }) => {
|
|
|
46
46
|
|
|
47
47
|
//#endregion
|
|
48
48
|
//#region src/ui/carousel/carousel-next.tsx
|
|
49
|
-
const CarouselNext = ({ className, variant = "outline", size = "
|
|
49
|
+
const CarouselNext = ({ className, variant = "outline", size = "sm", ...props }) => {
|
|
50
50
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
51
|
-
return /* @__PURE__ */ jsxs(
|
|
51
|
+
return /* @__PURE__ */ jsxs(ActionIcon, {
|
|
52
52
|
className: cn("cursor-clickable absolute touch-manipulation rounded-full", orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90", className),
|
|
53
53
|
"data-slot": "carousel-next",
|
|
54
54
|
disabled: !canScrollNext,
|
|
@@ -68,9 +68,9 @@ const CarouselNext = ({ className, variant = "outline", size = "icon-sm", ...pro
|
|
|
68
68
|
|
|
69
69
|
//#endregion
|
|
70
70
|
//#region src/ui/carousel/carousel-previous.tsx
|
|
71
|
-
const CarouselPrevious = ({ className, variant = "outline", size = "
|
|
71
|
+
const CarouselPrevious = ({ className, variant = "outline", size = "sm", ...props }) => {
|
|
72
72
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
73
|
-
return /* @__PURE__ */ jsxs(
|
|
73
|
+
return /* @__PURE__ */ jsxs(ActionIcon, {
|
|
74
74
|
className: cn("cursor-clickable absolute touch-manipulation rounded-full", orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90", className),
|
|
75
75
|
"data-slot": "carousel-previous",
|
|
76
76
|
disabled: !canScrollPrev,
|
package/dist/ui/carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.js","names":[],"sources":["../../src/ui/carousel/use-carousel.tsx","../../src/ui/carousel/carousel-content.tsx","../../src/ui/carousel/carousel-item.tsx","../../src/ui/carousel/carousel-next.tsx","../../src/ui/carousel/carousel-previous.tsx","../../src/ui/carousel/carousel.tsx"],"sourcesContent":["\"use client\";\n\nimport type useEmblaCarousel from \"embla-carousel-react\";\nimport type { UseEmblaCarouselType } from \"embla-carousel-react\";\nimport { createContext, useContext } from \"react\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface CarouselProps {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = createContext<CarouselContextProps | null>(null);\n\nconst useCarousel = () => {\n const context = useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n};\n\nexport {\n type CarouselApi,\n type CarouselContextProps,\n type CarouselProps,\n CarouselContext,\n useCarousel,\n};\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselContentProps = ComponentProps<\"div\">;\n\nconst CarouselContent = ({ className, ...props }: CarouselContentProps) => {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n ref={carouselRef}\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n );\n};\n\nexport { CarouselContent };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselItemProps = ComponentProps<\"div\">;\n\nconst CarouselItem = ({ className, ...props }: CarouselItemProps) => {\n const { orientation } = useCarousel();\n\n return (\n <div\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n data-slot=\"carousel-item\"\n role=\"group\"\n {...props}\n />\n );\n};\n\nexport { CarouselItem };\n","import { ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Button } from \"../button/button\";\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselNextProps = ComponentProps<typeof Button>;\n\nconst CarouselNext = ({\n className,\n variant = \"outline\",\n size = \"icon-sm\",\n ...props\n}: CarouselNextProps) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n className={cn(\n \"cursor-clickable absolute touch-manipulation rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n data-slot=\"carousel-next\"\n disabled={!canScrollNext}\n onClick={scrollNext}\n size={size}\n variant={variant}\n {...props}\n >\n <HugeiconsIcon icon={ArrowRight01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n};\n\nexport { CarouselNext };\n","import { ArrowLeft01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Button } from \"../button/button\";\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselPreviousProps = ComponentProps<typeof Button>;\n\nconst CarouselPrevious = ({\n className,\n variant = \"outline\",\n size = \"icon-sm\",\n ...props\n}: CarouselPreviousProps) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n className={cn(\n \"cursor-clickable absolute touch-manipulation rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n data-slot=\"carousel-previous\"\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n size={size}\n variant={variant}\n {...props}\n >\n <HugeiconsIcon icon={ArrowLeft01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n};\n\nexport { CarouselPrevious };\n","\"use client\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { ComponentProps, KeyboardEvent } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { CarouselContent } from \"./carousel-content\";\nimport { CarouselItem } from \"./carousel-item\";\nimport { CarouselNext } from \"./carousel-next\";\nimport { CarouselPrevious } from \"./carousel-previous\";\nimport { CarouselContext, useCarousel } from \"./use-carousel\";\nimport type { CarouselApi, CarouselProps } from \"./use-carousel\";\n\nconst Carousel = ({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & CarouselProps) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n\n const onSelect = useCallback((emblaApi: CarouselApi) => {\n if (!emblaApi) {\n return;\n }\n setCanScrollPrev(emblaApi.canScrollPrev());\n setCanScrollNext(emblaApi.canScrollNext());\n }, []);\n\n const scrollPrev = useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n const previousKey =\n orientation === \"horizontal\" ? \"ArrowLeft\" : \"ArrowUp\";\n const nextKey = orientation === \"horizontal\" ? \"ArrowRight\" : \"ArrowDown\";\n\n if (event.key === previousKey) {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === nextKey) {\n event.preventDefault();\n scrollNext();\n }\n },\n [orientation, scrollPrev, scrollNext]\n );\n\n useEffect(() => {\n if (!(api && setApi)) {\n return;\n }\n setApi(api);\n }, [api, setApi]);\n\n useEffect(() => {\n if (!api) {\n return;\n }\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n const resolvedOrientation =\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\");\n const contextValue = useMemo(\n () => ({\n api,\n canScrollNext,\n canScrollPrev,\n carouselRef,\n opts,\n orientation: resolvedOrientation,\n scrollNext,\n scrollPrev,\n }),\n [\n carouselRef,\n api,\n opts,\n resolvedOrientation,\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n ]\n );\n\n return (\n <CarouselContext.Provider value={contextValue}>\n {/** biome-ignore lint/a11y/useSemanticElements: region is not semantically appropriate for carousel */}\n <div\n aria-roledescription=\"carousel\"\n className={cn(\"relative\", className)}\n data-slot=\"carousel\"\n onKeyDown={handleKeyDown}\n role=\"region\"\n tabIndex={0}\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n};\n\nCarousel.Content = CarouselContent;\nCarousel.Item = CarouselItem;\nCarousel.Next = CarouselNext;\nCarousel.Previous = CarouselPrevious;\n\nexport type { CarouselApi } from \"./use-carousel\";\n\nexport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n useCarousel,\n};\n\nexport type { CarouselProps } from \"./use-carousel\";\n\nexport type { CarouselContentProps } from \"./carousel-content\";\nexport type { CarouselItemProps } from \"./carousel-item\";\nexport type { CarouselNextProps } from \"./carousel-next\";\nexport type { CarouselPreviousProps } from \"./carousel-previous\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carousel.js","names":[],"sources":["../../src/ui/carousel/use-carousel.tsx","../../src/ui/carousel/carousel-content.tsx","../../src/ui/carousel/carousel-item.tsx","../../src/ui/carousel/carousel-next.tsx","../../src/ui/carousel/carousel-previous.tsx","../../src/ui/carousel/carousel.tsx"],"sourcesContent":["\"use client\";\n\nimport type useEmblaCarousel from \"embla-carousel-react\";\nimport type { UseEmblaCarouselType } from \"embla-carousel-react\";\nimport { createContext, useContext } from \"react\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface CarouselProps {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = createContext<CarouselContextProps | null>(null);\n\nconst useCarousel = () => {\n const context = useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n};\n\nexport {\n type CarouselApi,\n type CarouselContextProps,\n type CarouselProps,\n CarouselContext,\n useCarousel,\n};\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselContentProps = ComponentProps<\"div\">;\n\nconst CarouselContent = ({ className, ...props }: CarouselContentProps) => {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n ref={carouselRef}\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n );\n};\n\nexport { CarouselContent };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselItemProps = ComponentProps<\"div\">;\n\nconst CarouselItem = ({ className, ...props }: CarouselItemProps) => {\n const { orientation } = useCarousel();\n\n return (\n <div\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n data-slot=\"carousel-item\"\n role=\"group\"\n {...props}\n />\n );\n};\n\nexport { CarouselItem };\n","import { ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { ActionIcon } from \"../action-icon/action-icon\";\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselNextProps = ComponentProps<typeof ActionIcon>;\n\nconst CarouselNext = ({\n className,\n variant = \"outline\",\n size = \"sm\",\n ...props\n}: CarouselNextProps) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <ActionIcon\n className={cn(\n \"cursor-clickable absolute touch-manipulation rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n data-slot=\"carousel-next\"\n disabled={!canScrollNext}\n onClick={scrollNext}\n size={size}\n variant={variant}\n {...props}\n >\n <HugeiconsIcon icon={ArrowRight01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Next slide</span>\n </ActionIcon>\n );\n};\n\nexport { CarouselNext };\n","import { ArrowLeft01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { ActionIcon } from \"../action-icon/action-icon\";\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselPreviousProps = ComponentProps<typeof ActionIcon>;\n\nconst CarouselPrevious = ({\n className,\n variant = \"outline\",\n size = \"sm\",\n ...props\n}: CarouselPreviousProps) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <ActionIcon\n className={cn(\n \"cursor-clickable absolute touch-manipulation rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n data-slot=\"carousel-previous\"\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n size={size}\n variant={variant}\n {...props}\n >\n <HugeiconsIcon icon={ArrowLeft01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Previous slide</span>\n </ActionIcon>\n );\n};\n\nexport { CarouselPrevious };\n","\"use client\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { ComponentProps, KeyboardEvent } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { CarouselContent } from \"./carousel-content\";\nimport { CarouselItem } from \"./carousel-item\";\nimport { CarouselNext } from \"./carousel-next\";\nimport { CarouselPrevious } from \"./carousel-previous\";\nimport { CarouselContext, useCarousel } from \"./use-carousel\";\nimport type { CarouselApi, CarouselProps } from \"./use-carousel\";\n\nconst Carousel = ({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & CarouselProps) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n\n const onSelect = useCallback((emblaApi: CarouselApi) => {\n if (!emblaApi) {\n return;\n }\n setCanScrollPrev(emblaApi.canScrollPrev());\n setCanScrollNext(emblaApi.canScrollNext());\n }, []);\n\n const scrollPrev = useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n const previousKey =\n orientation === \"horizontal\" ? \"ArrowLeft\" : \"ArrowUp\";\n const nextKey = orientation === \"horizontal\" ? \"ArrowRight\" : \"ArrowDown\";\n\n if (event.key === previousKey) {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === nextKey) {\n event.preventDefault();\n scrollNext();\n }\n },\n [orientation, scrollPrev, scrollNext]\n );\n\n useEffect(() => {\n if (!(api && setApi)) {\n return;\n }\n setApi(api);\n }, [api, setApi]);\n\n useEffect(() => {\n if (!api) {\n return;\n }\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n const resolvedOrientation =\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\");\n const contextValue = useMemo(\n () => ({\n api,\n canScrollNext,\n canScrollPrev,\n carouselRef,\n opts,\n orientation: resolvedOrientation,\n scrollNext,\n scrollPrev,\n }),\n [\n carouselRef,\n api,\n opts,\n resolvedOrientation,\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n ]\n );\n\n return (\n <CarouselContext.Provider value={contextValue}>\n {/** biome-ignore lint/a11y/useSemanticElements: region is not semantically appropriate for carousel */}\n <div\n aria-roledescription=\"carousel\"\n className={cn(\"relative\", className)}\n data-slot=\"carousel\"\n onKeyDown={handleKeyDown}\n role=\"region\"\n tabIndex={0}\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n};\n\nCarousel.Content = CarouselContent;\nCarousel.Item = CarouselItem;\nCarousel.Next = CarouselNext;\nCarousel.Previous = CarouselPrevious;\n\nexport type { CarouselApi } from \"./use-carousel\";\n\nexport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n useCarousel,\n};\n\nexport type { CarouselProps } from \"./use-carousel\";\n\nexport type { CarouselContentProps } from \"./carousel-content\";\nexport type { CarouselItemProps } from \"./carousel-item\";\nexport type { CarouselNextProps } from \"./carousel-next\";\nexport type { CarouselPreviousProps } from \"./carousel-previous\";\n"],"mappings":"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"}
|
package/dist/ui/checkbox.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
2
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
import * as tailwind_variants0 from "tailwind-variants";
|
|
4
4
|
import { VariantProps } from "tailwind-variants";
|
package/dist/ui/combobox.d.ts
CHANGED
package/dist/ui/combobox.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { a as useComponentSize } from "../size-provider-18EvJgDT.js";
|
|
4
4
|
import { t as mergeBaseUIClassName } from "../merge-base-ui-class-name-HKsgjcXj.js";
|
|
5
|
-
import {
|
|
6
|
-
import { a as InputGroupButton, i as InputGroupInput, o as InputGroupAddon, t as InputGroup } from "../input-group-
|
|
5
|
+
import { ActionIcon } from "./action-icon.js";
|
|
6
|
+
import { a as InputGroupButton, i as InputGroupInput, o as InputGroupAddon, t as InputGroup } from "../input-group-7kPror1q.js";
|
|
7
7
|
import { createContext, useContext, useMemo, useRef } from "react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { tv } from "tailwind-variants";
|
|
@@ -33,9 +33,9 @@ const ComboboxContext = createContext({ size: "md" });
|
|
|
33
33
|
|
|
34
34
|
//#endregion
|
|
35
35
|
//#region src/ui/combobox/combobox-chip-remove.tsx
|
|
36
|
-
const
|
|
37
|
-
if (size === "xl") return "
|
|
38
|
-
return "
|
|
36
|
+
const mapComboboxSizeToActionIconSize = (size) => {
|
|
37
|
+
if (size === "xl") return "sm";
|
|
38
|
+
return "xs";
|
|
39
39
|
};
|
|
40
40
|
const ComboboxChipRemove = ({ className, size, ...props }) => {
|
|
41
41
|
const { size: contextSize } = useContext(ComboboxContext);
|
|
@@ -44,8 +44,8 @@ const ComboboxChipRemove = ({ className, size, ...props }) => {
|
|
|
44
44
|
className: mergeBaseUIClassName("-ml-1 cursor-clickable opacity-50 hover:opacity-100", className),
|
|
45
45
|
"data-size": resolvedSize,
|
|
46
46
|
"data-slot": "combobox-chip-remove",
|
|
47
|
-
render: /* @__PURE__ */ jsx(
|
|
48
|
-
size:
|
|
47
|
+
render: /* @__PURE__ */ jsx(ActionIcon, {
|
|
48
|
+
size: mapComboboxSizeToActionIconSize(resolvedSize),
|
|
49
49
|
variant: "ghost"
|
|
50
50
|
}),
|
|
51
51
|
...props,
|
|
@@ -427,11 +427,11 @@ const comboboxListVariants = tv({
|
|
|
427
427
|
base: "no-scrollbar overflow-y-auto overscroll-contain data-empty:p-0",
|
|
428
428
|
defaultVariants: { size: "md" },
|
|
429
429
|
variants: { size: {
|
|
430
|
-
lg: "max-h-[min(calc(--
|
|
431
|
-
md: "max-h-[min(calc(--
|
|
432
|
-
sm: "max-h-[min(calc(--
|
|
433
|
-
xl: "max-h-[min(calc(--
|
|
434
|
-
xs: "max-h-[min(calc(--
|
|
430
|
+
lg: "max-h-[min(calc(var(--kb-overlay-list-max-height,20rem)-var(--kb-combobox-anchor-offset)),calc(var(--available-height)-var(--kb-combobox-anchor-offset)))] scroll-py-1.5 p-1.5",
|
|
431
|
+
md: "max-h-[min(calc(var(--kb-overlay-list-max-height,20rem)-var(--kb-combobox-anchor-offset)),calc(var(--available-height)-var(--kb-combobox-anchor-offset)))] scroll-py-1 p-1",
|
|
432
|
+
sm: "max-h-[min(calc(var(--kb-overlay-list-max-height,20rem)-var(--kb-combobox-anchor-offset)),calc(var(--available-height)-var(--kb-combobox-anchor-offset)))] scroll-py-1 p-1",
|
|
433
|
+
xl: "max-h-[min(calc(var(--kb-overlay-list-max-height,20rem)-var(--kb-combobox-anchor-offset)),calc(var(--available-height)-var(--kb-combobox-anchor-offset)))] scroll-py-2 p-2",
|
|
434
|
+
xs: "max-h-[min(calc(var(--kb-overlay-list-max-height,20rem)-var(--kb-combobox-anchor-offset)),calc(var(--available-height)-var(--kb-combobox-anchor-offset)))] scroll-py-0.5 p-0.5"
|
|
435
435
|
} }
|
|
436
436
|
});
|
|
437
437
|
const comboboxAnchorOffsetBySize = {
|