@kuzenbo/core 0.0.6 → 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.
Files changed (39) hide show
  1. package/dist/{dialog-Dzvma_bu.js → dialog-B7kMKriQ.js} +3 -3
  2. package/dist/dialog-B7kMKriQ.js.map +1 -0
  3. package/dist/{sheet-FVsgl5Wk.js → sheet-CcyewAZj.js} +3 -3
  4. package/dist/sheet-CcyewAZj.js.map +1 -0
  5. package/dist/ui/alert-dialog.js +1 -1
  6. package/dist/ui/alert-dialog.js.map +1 -1
  7. package/dist/ui/autocomplete.d.ts +2 -2
  8. package/dist/ui/autocomplete.js +1 -1
  9. package/dist/ui/autocomplete.js.map +1 -1
  10. package/dist/ui/combobox.js +5 -5
  11. package/dist/ui/combobox.js.map +1 -1
  12. package/dist/ui/command.js +1 -1
  13. package/dist/ui/container.d.ts +1 -0
  14. package/dist/ui/container.d.ts.map +1 -1
  15. package/dist/ui/container.js +6 -2
  16. package/dist/ui/container.js.map +1 -1
  17. package/dist/ui/dialog.js +1 -1
  18. package/dist/ui/drawer.d.ts +308 -117
  19. package/dist/ui/drawer.d.ts.map +1 -1
  20. package/dist/ui/drawer.js +254 -114
  21. package/dist/ui/drawer.js.map +1 -1
  22. package/dist/ui/popover.js +1 -1
  23. package/dist/ui/popover.js.map +1 -1
  24. package/dist/ui/preview-card.js +1 -1
  25. package/dist/ui/preview-card.js.map +1 -1
  26. package/dist/ui/select.d.ts +2 -2
  27. package/dist/ui/select.js +1 -1
  28. package/dist/ui/select.js.map +1 -1
  29. package/dist/ui/sheet.js +1 -1
  30. package/dist/ui/sidebar.d.ts.map +1 -1
  31. package/dist/ui/sidebar.js +10 -13
  32. package/dist/ui/sidebar.js.map +1 -1
  33. package/dist/ui/typography.d.ts +1 -1
  34. package/dist/ui/typography.d.ts.map +1 -1
  35. package/dist/ui/typography.js +20 -20
  36. package/dist/ui/typography.js.map +1 -1
  37. package/package.json +6 -6
  38. package/dist/dialog-Dzvma_bu.js.map +0 -1
  39. package/dist/sheet-FVsgl5Wk.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","names":["SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive"],"sources":["../../src/ui/select/select-arrow.tsx","../../src/ui/select/select-backdrop.tsx","../../src/ui/select/select-context.tsx","../../src/ui/select/select-list.tsx","../../src/ui/select/select-overlay-context.tsx","../../src/ui/select/select-popup.tsx","../../src/ui/select/select-portal.tsx","../../src/ui/select/select-positioner.tsx","../../src/ui/select/select-scroll-down-button.tsx","../../src/ui/select/select-scroll-up-button.tsx","../../src/ui/select/select-content.tsx","../../src/ui/select/select-group.tsx","../../src/ui/select/select-icon.tsx","../../src/ui/select/select-item-indicator.tsx","../../src/ui/select/select-item-text.tsx","../../src/ui/select/select-item.tsx","../../src/ui/select/select-label.tsx","../../src/ui/select/select-separator.tsx","../../src/ui/select/select-trigger.tsx","../../src/ui/select/select-value.tsx","../../src/ui/select/use-select-default-props.ts","../../src/ui/select/select.tsx"],"sourcesContent":["\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectArrowProps = ComponentProps<typeof SelectPrimitive.Arrow>;\n\nconst SelectArrow = ({ className, ...props }: SelectArrowProps) => (\n <SelectPrimitive.Arrow\n className={mergeBaseUIClassName<SelectPrimitive.Arrow.State>(\n undefined,\n className\n )}\n data-slot=\"select-arrow\"\n {...props}\n />\n);\n\nexport { SelectArrow };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectBackdropProps = ComponentProps<\n typeof SelectPrimitive.Backdrop\n>;\n\nconst SelectBackdrop = ({ className, ...props }: SelectBackdropProps) => (\n <SelectPrimitive.Backdrop\n className={mergeBaseUIClassName<SelectPrimitive.Backdrop.State>(\n undefined,\n className\n )}\n data-slot=\"select-backdrop\"\n {...props}\n />\n);\n\nexport { SelectBackdrop };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface SelectContextValue {\n size?: InputSize;\n}\n\nconst SelectContext = createContext<SelectContextValue>({\n size: \"md\",\n});\n\nexport { SelectContext };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectListProps = ComponentProps<typeof SelectPrimitive.List>;\n\nconst SelectList = ({ className, ...props }: SelectListProps) => (\n <SelectPrimitive.List\n className={mergeBaseUIClassName<SelectPrimitive.List.State>(\n undefined,\n className\n )}\n data-slot=\"select-list\"\n {...props}\n />\n);\n\nexport { SelectList };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface SelectOverlayContextValue {\n size?: InputSize;\n}\n\nconst SelectOverlayContext = createContext<SelectOverlayContextValue>({\n size: \"md\",\n});\n\nexport { SelectOverlayContext };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectPopupVariants = tv({\n base: \"z-overlay bg-popover text-popover-foreground ring-foreground/10 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative isolate max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto shadow-md ring-1 duration-100\",\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\ntype SelectPopupVariantProps = VariantProps<typeof selectPopupVariants>;\n\nexport type SelectPopupProps = ComponentProps<typeof SelectPrimitive.Popup> &\n SelectPopupVariantProps;\n\nconst SelectPopup = ({ className, size, ...props }: SelectPopupProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <SelectPrimitive.Popup\n className={mergeBaseUIClassName<SelectPrimitive.Popup.State>(\n selectPopupVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-popup\"\n {...props}\n />\n );\n};\n\nexport { SelectPopup };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nexport type SelectPortalProps = ComponentProps<typeof SelectPrimitive.Portal>;\n\nconst SelectPortal = (props: SelectPortalProps) => (\n <SelectPrimitive.Portal data-slot=\"select-portal\" {...props} />\n);\n\nexport { SelectPortal };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectPositionerProps = ComponentProps<\n typeof SelectPrimitive.Positioner\n>;\n\nconst SelectPositioner = ({ className, ...props }: SelectPositionerProps) => (\n <SelectPrimitive.Positioner\n className={mergeBaseUIClassName<SelectPrimitive.Positioner.State>(\n \"isolate z-overlay\",\n className\n )}\n data-slot=\"select-positioner\"\n {...props}\n />\n);\n\nexport { SelectPositioner };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport { ArrowDown01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectScrollDownButtonVariants = tv({\n base: \"z-raised cursor-clickable bg-popover bottom-0 flex w-full items-center justify-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"py-1.5 [&_svg:not([class*='size-'])]:size-4\",\n md: \"py-1 [&_svg:not([class*='size-'])]:size-4\",\n sm: \"py-1 [&_svg:not([class*='size-'])]:size-3.5\",\n xl: \"py-2 [&_svg:not([class*='size-'])]:size-5\",\n xs: \"py-0.5 [&_svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\ntype SelectScrollDownButtonVariantProps = VariantProps<\n typeof selectScrollDownButtonVariants\n>;\n\nexport type SelectScrollDownButtonProps = ComponentProps<\n typeof SelectPrimitive.ScrollDownArrow\n> &\n SelectScrollDownButtonVariantProps;\n\nconst SelectScrollDownButton = ({\n className,\n size,\n ...props\n}: SelectScrollDownButtonProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <SelectPrimitive.ScrollDownArrow\n className={mergeBaseUIClassName<SelectPrimitive.ScrollDownArrow.State>(\n selectScrollDownButtonVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-scroll-down-button\"\n {...props}\n >\n <HugeiconsIcon icon={ArrowDown01Icon} strokeWidth={2} />\n </SelectPrimitive.ScrollDownArrow>\n );\n};\n\nexport { SelectScrollDownButton };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport { ArrowUp01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectScrollUpButtonVariants = tv({\n base: \"z-raised cursor-clickable bg-popover top-0 flex w-full items-center justify-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"py-1.5 [&_svg:not([class*='size-'])]:size-4\",\n md: \"py-1 [&_svg:not([class*='size-'])]:size-4\",\n sm: \"py-1 [&_svg:not([class*='size-'])]:size-3.5\",\n xl: \"py-2 [&_svg:not([class*='size-'])]:size-5\",\n xs: \"py-0.5 [&_svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\ntype SelectScrollUpButtonVariantProps = VariantProps<\n typeof selectScrollUpButtonVariants\n>;\n\nexport type SelectScrollUpButtonProps = ComponentProps<\n typeof SelectPrimitive.ScrollUpArrow\n> &\n SelectScrollUpButtonVariantProps;\n\nconst SelectScrollUpButton = ({\n className,\n size,\n ...props\n}: SelectScrollUpButtonProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <SelectPrimitive.ScrollUpArrow\n className={mergeBaseUIClassName<SelectPrimitive.ScrollUpArrow.State>(\n selectScrollUpButtonVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-scroll-up-button\"\n {...props}\n >\n <HugeiconsIcon icon={ArrowUp01Icon} strokeWidth={2} />\n </SelectPrimitive.ScrollUpArrow>\n );\n};\n\nexport { SelectScrollUpButton };\n","\"use client\";\n\nimport type { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport { useContext, useMemo } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\nimport { SelectContext } from \"./select-context\";\nimport { SelectList } from \"./select-list\";\nimport { SelectOverlayContext } from \"./select-overlay-context\";\nimport { SelectPopup } from \"./select-popup\";\nimport { SelectPortal } from \"./select-portal\";\nimport { SelectPositioner } from \"./select-positioner\";\nimport { SelectScrollDownButton } from \"./select-scroll-down-button\";\nimport { SelectScrollUpButton } from \"./select-scroll-up-button\";\n\nexport type SelectContentProps = SelectPrimitive.Popup.Props &\n Pick<\n SelectPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\" | \"alignItemWithTrigger\"\n > & {\n size?: InputSize;\n };\n\nconst SelectContent = ({\n className,\n children,\n size,\n side = \"bottom\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n alignItemWithTrigger = true,\n ...props\n}: SelectContentProps) => {\n const { size: rootSize } = useContext(SelectContext);\n const resolvedSize = size ?? rootSize ?? \"md\";\n const contextValue = useMemo(() => ({ size: resolvedSize }), [resolvedSize]);\n\n return (\n <SelectOverlayContext.Provider value={contextValue}>\n <SelectPortal>\n <SelectPositioner\n align={align}\n alignItemWithTrigger={alignItemWithTrigger}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <SelectPopup\n className={className}\n data-size={resolvedSize}\n data-slot=\"select-content\"\n size={resolvedSize}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectList>{children}</SelectList>\n <SelectScrollDownButton />\n </SelectPopup>\n </SelectPositioner>\n </SelectPortal>\n </SelectOverlayContext.Provider>\n );\n};\n\nexport { SelectContent };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectGroupVariants = tv({\n base: \"\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"scroll-my-1.5 p-1.5\",\n md: \"scroll-my-1 p-1\",\n sm: \"scroll-my-1 p-1\",\n xl: \"scroll-my-2 p-2\",\n xs: \"scroll-my-0.5 p-0.5\",\n },\n },\n});\n\ntype SelectGroupVariantProps = VariantProps<typeof selectGroupVariants>;\n\nexport type SelectGroupProps = SelectPrimitive.Group.Props &\n SelectGroupVariantProps;\n\nconst SelectGroup = ({ className, size, ...props }: SelectGroupProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <SelectPrimitive.Group\n className={mergeBaseUIClassName<SelectPrimitive.Group.State>(\n selectGroupVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-group\"\n {...props}\n />\n );\n};\n\nexport { SelectGroup };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectIconProps = SelectPrimitive.Icon.Props;\n\nconst SelectIcon = ({ className, ...props }: SelectIconProps) => (\n <SelectPrimitive.Icon\n className={mergeBaseUIClassName<SelectPrimitive.Icon.State>(\n \"pointer-events-none size-4 text-muted-foreground\",\n className\n )}\n data-slot=\"select-icon\"\n {...props}\n />\n);\n\nexport { SelectIcon };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectItemIndicatorVariants = tv({\n base: \"pointer-events-none absolute flex items-center justify-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"right-2.5 size-4\",\n md: \"right-2 size-4\",\n sm: \"right-2 size-3.5\",\n xl: \"right-3 size-5\",\n xs: \"right-1.5 size-3\",\n },\n },\n});\n\ntype SelectItemIndicatorVariantProps = VariantProps<\n typeof selectItemIndicatorVariants\n>;\n\nexport type SelectItemIndicatorProps = ComponentProps<\n typeof SelectPrimitive.ItemIndicator\n> &\n SelectItemIndicatorVariantProps;\n\nconst SelectItemIndicator = ({\n className,\n render,\n size,\n ...props\n}: SelectItemIndicatorProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n const indicatorClassName = selectItemIndicatorVariants({\n size: resolvedSize,\n });\n\n return (\n <SelectPrimitive.ItemIndicator\n className={mergeBaseUIClassName<SelectPrimitive.ItemIndicator.State>(\n indicatorClassName,\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-item-indicator\"\n render={render ?? <span className={indicatorClassName} />}\n {...props}\n />\n );\n};\n\nexport { SelectItemIndicator };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectItemTextProps = ComponentProps<\n typeof SelectPrimitive.ItemText\n>;\n\nconst SelectItemText = ({ className, ...props }: SelectItemTextProps) => (\n <SelectPrimitive.ItemText\n className={mergeBaseUIClassName<SelectPrimitive.ItemText.State>(\n \"flex flex-1 shrink-0 gap-2 whitespace-nowrap\",\n className\n )}\n data-slot=\"select-item-text\"\n {...props}\n />\n);\n\nexport { SelectItemText };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport { Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/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 { SelectItemIndicator } from \"./select-item-indicator\";\nimport { SelectItemText } from \"./select-item-text\";\nimport { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectItemVariants = tv({\n defaultVariants: {\n size: \"md\",\n },\n slots: {\n icon: \"pointer-events-none\",\n root: \"cursor-clickable focus:bg-accent focus:text-accent-foreground not-data-[variant=danger]:focus:**:text-accent-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 *:[span]:last:flex *:[span]:last:items-center\",\n },\n variants: {\n size: {\n lg: {\n icon: \"size-4\",\n root: \"gap-2 py-2 pr-9 pl-2.5 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:gap-2\",\n },\n md: {\n icon: \"size-4\",\n root: \"gap-2 py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:gap-2\",\n },\n sm: {\n icon: \"size-3.5\",\n root: \"gap-1.5 py-1 pr-7 pl-2 text-sm [&_svg:not([class*='size-'])]:size-3.5 *:[span]:last:gap-1.5\",\n },\n xl: {\n icon: \"size-5\",\n root: \"gap-2.5 py-2.5 pr-10 pl-3 text-base [&_svg:not([class*='size-'])]:size-5 *:[span]:last:gap-2.5\",\n },\n xs: {\n icon: \"size-3\",\n root: \"gap-1 py-1 pr-6 pl-1.5 text-xs [&_svg:not([class*='size-'])]:size-3 *:[span]:last:gap-1\",\n },\n },\n },\n});\n\ntype SelectItemVariantProps = VariantProps<typeof selectItemVariants>;\n\nexport type SelectItemProps = SelectPrimitive.Item.Props &\n SelectItemVariantProps;\n\nconst SelectItem = ({\n className,\n children,\n size,\n ...props\n}: SelectItemProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n const { icon, root } = selectItemVariants({ size: resolvedSize });\n\n return (\n <SelectPrimitive.Item\n className={mergeBaseUIClassName<SelectPrimitive.Item.State>(\n root(),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-item\"\n {...props}\n >\n <SelectItemText>{children}</SelectItemText>\n <SelectItemIndicator size={resolvedSize}>\n <HugeiconsIcon className={icon()} icon={Tick02Icon} strokeWidth={2} />\n </SelectItemIndicator>\n </SelectPrimitive.Item>\n );\n};\n\nexport { SelectItem };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectLabelVariants = tv({\n base: \"text-muted-foreground\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"px-2 py-1.5 text-xs\",\n md: \"px-1.5 py-1 text-xs\",\n sm: \"px-1.5 py-1 text-xs\",\n xl: \"px-2.5 py-1.5 text-sm\",\n xs: \"px-1.5 py-0.5 text-xs\",\n },\n },\n});\n\ntype SelectLabelVariantProps = VariantProps<typeof selectLabelVariants>;\n\nexport type SelectLabelProps = SelectPrimitive.GroupLabel.Props &\n SelectLabelVariantProps;\n\nconst SelectLabel = ({ className, size, ...props }: SelectLabelProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <SelectPrimitive.GroupLabel\n className={mergeBaseUIClassName<SelectPrimitive.GroupLabel.State>(\n selectLabelVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-label\"\n {...props}\n />\n );\n};\n\nexport { SelectLabel };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectSeparatorProps = SelectPrimitive.Separator.Props;\n\nconst SelectSeparator = ({ className, ...props }: SelectSeparatorProps) => (\n <SelectPrimitive.Separator\n className={mergeBaseUIClassName<SelectPrimitive.Separator.State>(\n \"pointer-events-none -mx-1 my-1 h-px bg-border\",\n className\n )}\n data-slot=\"select-separator\"\n {...props}\n />\n);\n\nexport { SelectSeparator };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport { UnfoldMoreIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/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 {\n resolveDefaultIconClassBySize,\n resolveDefaultNestedIconClassBySize,\n resolveFieldHeightClassBySize,\n resolveFieldTextClassBySize,\n} from \"../shared/size/size-system\";\nimport { SelectContext } from \"./select-context\";\nimport { SelectIcon } from \"./select-icon\";\n\nconst selectTriggerVariants = tv({\n base: \"cursor-clickable border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger aria-invalid:ring-danger/20 data-placeholder:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 flex w-fit items-center justify-between border bg-transparent whitespace-nowrap transition-colors outline-none select-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: [\n resolveFieldHeightClassBySize(\"lg\"),\n resolveFieldTextClassBySize(\"lg\"),\n resolveDefaultNestedIconClassBySize(\"lg\"),\n \"gap-1.5 rounded-md pr-2.5 pl-3 *:data-[slot=select-value]:gap-1.5\",\n ],\n md: [\n resolveFieldHeightClassBySize(\"md\"),\n resolveFieldTextClassBySize(\"md\"),\n resolveDefaultNestedIconClassBySize(\"md\"),\n \"gap-1.5 rounded-md pr-2 pl-2.5 *:data-[slot=select-value]:gap-1.5\",\n ],\n sm: [\n resolveFieldHeightClassBySize(\"sm\"),\n resolveFieldTextClassBySize(\"sm\"),\n resolveDefaultNestedIconClassBySize(\"sm\"),\n \"gap-1 rounded-[min(var(--radius-md),10px)] pr-2 pl-2.5 *:data-[slot=select-value]:gap-1.5\",\n ],\n xl: [\n resolveFieldHeightClassBySize(\"xl\"),\n resolveFieldTextClassBySize(\"xl\"),\n resolveDefaultNestedIconClassBySize(\"xl\"),\n \"gap-2 rounded-md pr-3 pl-4 *:data-[slot=select-value]:gap-2\",\n ],\n xs: [\n resolveFieldHeightClassBySize(\"xs\"),\n resolveFieldTextClassBySize(\"xs\"),\n resolveDefaultNestedIconClassBySize(\"xs\"),\n \"gap-1 rounded-[min(var(--radius-md),8px)] pr-1.5 pl-2 *:data-[slot=select-value]:gap-1\",\n ],\n },\n },\n});\n\nexport type SelectTriggerProps = SelectPrimitive.Trigger.Props &\n VariantProps<typeof selectTriggerVariants>;\n\nconst SelectTrigger = ({\n className,\n size,\n children,\n ...props\n}: SelectTriggerProps) => {\n const { size: contextSize } = useContext(SelectContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <SelectPrimitive.Trigger\n className={mergeBaseUIClassName<SelectPrimitive.Trigger.State>(\n selectTriggerVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-trigger\"\n {...props}\n >\n {children}\n <SelectIcon\n render={\n <HugeiconsIcon\n className={cn(\n \"text-muted-foreground pointer-events-none\",\n resolveDefaultIconClassBySize(resolvedSize)\n )}\n icon={UnfoldMoreIcon}\n strokeWidth={2}\n />\n }\n />\n </SelectPrimitive.Trigger>\n );\n};\n\nexport { SelectTrigger };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectValueProps = SelectPrimitive.Value.Props;\n\nconst SelectValue = ({ className, ...props }: SelectValueProps) => (\n <SelectPrimitive.Value\n className={mergeBaseUIClassName<SelectPrimitive.Value.State>(\n \"flex flex-1 text-left\",\n className\n )}\n data-slot=\"select-value\"\n {...props}\n />\n);\n\nexport { SelectValue };\n","import { useComponentDefaultProps } from \"../shared/size/size-provider\";\nimport type { SelectProps } from \"./select\";\n\nexport const useSelectDefaultProps = <\n Value,\n Multiple extends boolean | undefined = false,\n>(\n incomingProps: SelectProps<Value, Multiple>\n): SelectProps<Value, Multiple> =>\n useComponentDefaultProps<SelectProps<Value, Multiple>>(\n \"Select\",\n {},\n incomingProps\n );\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { SelectArrow } from \"./select-arrow\";\nimport { SelectBackdrop } from \"./select-backdrop\";\nimport { SelectContent } from \"./select-content\";\nimport { SelectContext } from \"./select-context\";\nimport { SelectGroup } from \"./select-group\";\nimport { SelectIcon } from \"./select-icon\";\nimport { SelectItem } from \"./select-item\";\nimport { SelectItemIndicator } from \"./select-item-indicator\";\nimport { SelectItemText } from \"./select-item-text\";\nimport { SelectLabel } from \"./select-label\";\nimport { SelectList } from \"./select-list\";\nimport { SelectPopup } from \"./select-popup\";\nimport { SelectPortal } from \"./select-portal\";\nimport { SelectPositioner } from \"./select-positioner\";\nimport { SelectScrollDownButton } from \"./select-scroll-down-button\";\nimport { SelectScrollUpButton } from \"./select-scroll-up-button\";\nimport { SelectSeparator } from \"./select-separator\";\nimport { SelectTrigger } from \"./select-trigger\";\nimport { SelectValue } from \"./select-value\";\nimport { useSelectDefaultProps } from \"./use-select-default-props\";\n\nexport interface SelectOption<Value> {\n value: Value;\n label: string;\n}\n\nexport type SelectProps<\n Value,\n Multiple extends boolean | undefined = false,\n> = ComponentProps<typeof SelectPrimitive.Root<Value, Multiple>> & {\n size?: InputSize;\n};\n\nconst SelectGroupLabel = SelectLabel;\nconst SelectScrollDownArrow = SelectScrollDownButton;\nconst SelectScrollUpArrow = SelectScrollUpButton;\n\nexport type SelectGroupLabelProps = ComponentProps<typeof SelectGroupLabel>;\nexport type SelectScrollDownArrowProps = ComponentProps<\n typeof SelectScrollDownArrow\n>;\nexport type SelectScrollUpArrowProps = ComponentProps<\n typeof SelectScrollUpArrow\n>;\n\nconst Select = <Value, Multiple extends boolean | undefined = false>(\n incomingProps: SelectProps<Value, Multiple>\n) => {\n const { size: providedSize, ...props } = useSelectDefaultProps(incomingProps);\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <SelectContext.Provider value={contextValue}>\n <SelectPrimitive.Root<Value, Multiple>\n data-size={size}\n data-slot=\"select\"\n {...props}\n />\n </SelectContext.Provider>\n );\n};\n\nSelect.Arrow = SelectArrow;\nSelect.Backdrop = SelectBackdrop;\nSelect.Content = SelectContent;\nSelect.Group = SelectGroup;\nSelect.GroupLabel = SelectLabel;\nSelect.Icon = SelectIcon;\nSelect.Item = SelectItem;\nSelect.ItemIndicator = SelectItemIndicator;\nSelect.ItemText = SelectItemText;\nSelect.Label = SelectLabel;\nSelect.List = SelectList;\nSelect.Popup = SelectPopup;\nSelect.Portal = SelectPortal;\nSelect.Positioner = SelectPositioner;\nSelect.ScrollDownArrow = SelectScrollDownArrow;\nSelect.ScrollDownButton = SelectScrollDownButton;\nSelect.ScrollUpArrow = SelectScrollUpArrow;\nSelect.ScrollUpButton = SelectScrollUpButton;\nSelect.Separator = SelectSeparator;\nSelect.Trigger = SelectTrigger;\nSelect.Value = SelectValue;\n\nexport type { SelectArrowProps } from \"./select-arrow\";\nexport type { SelectBackdropProps } from \"./select-backdrop\";\nexport type { SelectContentProps } from \"./select-content\";\nexport type { SelectGroupProps } from \"./select-group\";\nexport type { SelectIconProps } from \"./select-icon\";\nexport type { SelectItemProps } from \"./select-item\";\nexport type { SelectItemIndicatorProps } from \"./select-item-indicator\";\nexport type { SelectItemTextProps } from \"./select-item-text\";\nexport type { SelectLabelProps } from \"./select-label\";\nexport type { SelectListProps } from \"./select-list\";\nexport type { SelectPopupProps } from \"./select-popup\";\nexport type { SelectPortalProps } from \"./select-portal\";\nexport type { SelectPositionerProps } from \"./select-positioner\";\nexport type { SelectScrollDownButtonProps } from \"./select-scroll-down-button\";\nexport type { SelectScrollUpButtonProps } from \"./select-scroll-up-button\";\nexport type { SelectSeparatorProps } from \"./select-separator\";\nexport type { SelectTriggerProps } from \"./select-trigger\";\nexport type { SelectValueProps } from \"./select-value\";\n\nexport {\n Select,\n SelectArrow,\n SelectBackdrop,\n SelectContent,\n SelectGroup,\n SelectGroupLabel,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectList,\n SelectPopup,\n SelectPortal,\n SelectPositioner,\n SelectScrollDownArrow,\n SelectScrollDownButton,\n SelectScrollUpArrow,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"],"mappings":";;;;;;;;;;;;;AASA,MAAM,eAAe,EAAE,WAAW,GAAG,YACnC,oBAACA,SAAgB,OAAjB;CACE,WAAW,qBACT,QACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACNJ,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,oBAACC,SAAgB,UAAjB;CACE,WAAW,qBACT,QACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACTJ,MAAM,gBAAgB,cAAkC,EACtD,MAAM,MACP,CAAC;;;;ACHF,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,oBAACC,SAAgB,MAAjB;CACE,WAAW,qBACT,QACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACPJ,MAAM,uBAAuB,cAAyC,EACpE,MAAM,MACP,CAAC;;;;ACAF,MAAM,sBAAsB,GAAG;CAC7B,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAOF,MAAM,eAAe,EAAE,WAAW,MAAM,GAAG,YAA8B;CACvE,MAAM,EAAE,MAAM,gBAAgB,WAAW,qBAAqB;CAC9D,MAAM,eAA0B,QAAQ,eAAe;AAEvD,QACE,oBAACC,SAAgB,OAAjB;EACE,WAAW,qBACT,oBAAoB,EAAE,MAAM,cAAc,CAAC,EAC3C,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;EACJ;;;;;ACvCN,MAAM,gBAAgB,UACpB,oBAACC,SAAgB,QAAjB;CAAwB,aAAU;CAAgB,GAAI;CAAS;;;;ACGjE,MAAM,oBAAoB,EAAE,WAAW,GAAG,YACxC,oBAACC,SAAgB,YAAjB;CACE,WAAW,qBACT,qBACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACLJ,MAAM,iCAAiC,GAAG;CACxC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAWF,MAAM,0BAA0B,EAC9B,WACA,MACA,GAAG,YAC8B;CACjC,MAAM,EAAE,MAAM,gBAAgB,WAAW,qBAAqB;CAC9D,MAAM,eAA0B,QAAQ,eAAe;AAEvD,QACE,oBAACC,SAAgB,iBAAjB;EACE,WAAW,qBACT,+BAA+B,EAAE,MAAM,cAAc,CAAC,EACtD,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAEJ,oBAAC,eAAD;GAAe,MAAM;GAAiB,aAAa;GAAK;EACxB;;;;;AC5CtC,MAAM,+BAA+B,GAAG;CACtC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAWF,MAAM,wBAAwB,EAC5B,WACA,MACA,GAAG,YAC4B;CAC/B,MAAM,EAAE,MAAM,gBAAgB,WAAW,qBAAqB;CAC9D,MAAM,eAA0B,QAAQ,eAAe;AAEvD,QACE,oBAACC,SAAgB,eAAjB;EACE,WAAW,qBACT,6BAA6B,EAAE,MAAM,cAAc,CAAC,EACpD,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAEJ,oBAAC,eAAD;GAAe,MAAM;GAAe,aAAa;GAAK;EACxB;;;;;ACnCpC,MAAM,iBAAiB,EACrB,WACA,UACA,MACA,OAAO,UACP,aAAa,GACb,QAAQ,UACR,cAAc,GACd,uBAAuB,MACvB,GAAG,YACqB;CACxB,MAAM,EAAE,MAAM,aAAa,WAAW,cAAc;CACpD,MAAM,eAAe,QAAQ,YAAY;CACzC,MAAM,eAAe,eAAe,EAAE,MAAM,cAAc,GAAG,CAAC,aAAa,CAAC;AAE5E,QACE,oBAAC,qBAAqB,UAAtB;EAA+B,OAAO;YACpC,oBAAC,cAAD,YACE,oBAAC,kBAAD;GACS;GACe;GACT;GACP;GACM;aAEZ,qBAAC,aAAD;IACa;IACX,aAAW;IACX,aAAU;IACV,MAAM;IACN,GAAI;cALN;KAOE,oBAAC,sBAAD,EAAwB;KACxB,oBAAC,YAAD,EAAa,UAAsB;KACnC,oBAAC,wBAAD,EAA0B;KACd;;GACG,GACN;EACe;;;;;AClDpC,MAAM,sBAAsB,GAAG;CAC7B,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAOF,MAAM,eAAe,EAAE,WAAW,MAAM,GAAG,YAA8B;CACvE,MAAM,EAAE,MAAM,gBAAgB,WAAW,qBAAqB;CAC9D,MAAM,eAA0B,QAAQ,eAAe;AAEvD,QACE,oBAACC,SAAgB,OAAjB;EACE,WAAW,qBACT,oBAAoB,EAAE,MAAM,cAAc,CAAC,EAC3C,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;EACJ;;;;;ACrCN,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,oBAACC,SAAgB,MAAjB;CACE,WAAW,qBACT,oDACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACJJ,MAAM,8BAA8B,GAAG;CACrC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAWF,MAAM,uBAAuB,EAC3B,WACA,QACA,MACA,GAAG,YAC2B;CAC9B,MAAM,EAAE,MAAM,gBAAgB,WAAW,qBAAqB;CAC9D,MAAM,eAA0B,QAAQ,eAAe;CACvD,MAAM,qBAAqB,4BAA4B,EACrD,MAAM,cACP,CAAC;AAEF,QACE,oBAACC,SAAgB,eAAjB;EACE,WAAW,qBACT,oBACA,UACD;EACD,aAAW;EACX,aAAU;EACV,QAAQ,UAAU,oBAAC,QAAD,EAAM,WAAW,oBAAsB;EACzD,GAAI;EACJ;;;;;AChDN,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,oBAACC,SAAgB,UAAjB;CACE,WAAW,qBACT,gDACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACJJ,MAAM,qBAAqB,GAAG;CAC5B,iBAAiB,EACf,MAAM,MACP;CACD,OAAO;EACL,MAAM;EACN,MAAM;EACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;GACF,MAAM;GACN,MAAM;GACP;EACD,IAAI;GACF,MAAM;GACN,MAAM;GACP;EACD,IAAI;GACF,MAAM;GACN,MAAM;GACP;EACD,IAAI;GACF,MAAM;GACN,MAAM;GACP;EACD,IAAI;GACF,MAAM;GACN,MAAM;GACP;EACF,EACF;CACF,CAAC;AAOF,MAAM,cAAc,EAClB,WACA,UACA,MACA,GAAG,YACkB;CACrB,MAAM,EAAE,MAAM,gBAAgB,WAAW,qBAAqB;CAC9D,MAAM,eAA0B,QAAQ,eAAe;CACvD,MAAM,EAAE,MAAM,SAAS,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEjE,QACE,qBAACC,SAAgB,MAAjB;EACE,WAAW,qBACT,MAAM,EACN,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAPN,CASE,oBAAC,gBAAD,EAAiB,UAA0B,GAC3C,oBAAC,qBAAD;GAAqB,MAAM;aACzB,oBAAC,eAAD;IAAe,WAAW,MAAM;IAAE,MAAM;IAAY,aAAa;IAAK;GAClD,EACD;;;;;;ACnE3B,MAAM,sBAAsB,GAAG;CAC7B,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAOF,MAAM,eAAe,EAAE,WAAW,MAAM,GAAG,YAA8B;CACvE,MAAM,EAAE,MAAM,gBAAgB,WAAW,qBAAqB;CAC9D,MAAM,eAA0B,QAAQ,eAAe;AAEvD,QACE,oBAACC,SAAgB,YAAjB;EACE,WAAW,qBACT,oBAAoB,EAAE,MAAM,cAAc,CAAC,EAC3C,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;EACJ;;;;;ACrCN,MAAM,mBAAmB,EAAE,WAAW,GAAG,YACvC,oBAACC,SAAgB,WAAjB;CACE,WAAW,qBACT,iDACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACGJ,MAAM,wBAAwB,GAAG;CAC/B,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,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;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;EACD,IAAI;GACF,8BAA8B,KAAK;GACnC,4BAA4B,KAAK;GACjC,oCAAoC,KAAK;GACzC;GACD;EACF,EACF;CACF,CAAC;AAKF,MAAM,iBAAiB,EACrB,WACA,MACA,UACA,GAAG,YACqB;CACxB,MAAM,EAAE,MAAM,gBAAgB,WAAW,cAAc;CACvD,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,qBAACC,SAAgB,SAAjB;EACE,WAAW,qBACT,sBAAsB,EAAE,MAAM,cAAc,CAAC,EAC7C,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAPN,CASG,UACD,oBAAC,YAAD,EACE,QACE,oBAAC,eAAD;GACE,WAAW,GACT,6CACA,8BAA8B,aAAa,CAC5C;GACD,MAAM;GACN,aAAa;GACb,GAEJ,EACsB;;;;;;ACvF9B,MAAM,eAAe,EAAE,WAAW,GAAG,YACnC,oBAACC,SAAgB,OAAjB;CACE,WAAW,qBACT,yBACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACbJ,MAAa,yBAIX,kBAEA,yBACE,UACA,EAAE,EACF,cACD;;;;AC4BH,MAAM,mBAAmB;AACzB,MAAM,wBAAwB;AAC9B,MAAM,sBAAsB;AAU5B,MAAM,UACJ,kBACG;CACH,MAAM,EAAE,MAAM,cAAc,GAAG,UAAU,sBAAsB,cAAc;CAC7E,MAAM,OAAO,iBAAiB,aAAa;CAC3C,MAAM,eAAe,eAAe,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC;AAEtD,QACE,oBAAC,cAAc,UAAf;EAAwB,OAAO;YAC7B,oBAACC,SAAgB,MAAjB;GACE,aAAW;GACX,aAAU;GACV,GAAI;GACJ;EACqB;;AAI7B,OAAO,QAAQ;AACf,OAAO,WAAW;AAClB,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,OAAO,aAAa;AACpB,OAAO,OAAO;AACd,OAAO,OAAO;AACd,OAAO,gBAAgB;AACvB,OAAO,WAAW;AAClB,OAAO,QAAQ;AACf,OAAO,OAAO;AACd,OAAO,QAAQ;AACf,OAAO,SAAS;AAChB,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,OAAO,mBAAmB;AAC1B,OAAO,gBAAgB;AACvB,OAAO,iBAAiB;AACxB,OAAO,YAAY;AACnB,OAAO,UAAU;AACjB,OAAO,QAAQ"}
1
+ {"version":3,"file":"select.js","names":["SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive","SelectPrimitive"],"sources":["../../src/ui/select/select-arrow.tsx","../../src/ui/select/select-backdrop.tsx","../../src/ui/select/select-context.tsx","../../src/ui/select/select-list.tsx","../../src/ui/select/select-overlay-context.tsx","../../src/ui/select/select-popup.tsx","../../src/ui/select/select-portal.tsx","../../src/ui/select/select-positioner.tsx","../../src/ui/select/select-scroll-down-button.tsx","../../src/ui/select/select-scroll-up-button.tsx","../../src/ui/select/select-content.tsx","../../src/ui/select/select-group.tsx","../../src/ui/select/select-icon.tsx","../../src/ui/select/select-item-indicator.tsx","../../src/ui/select/select-item-text.tsx","../../src/ui/select/select-item.tsx","../../src/ui/select/select-label.tsx","../../src/ui/select/select-separator.tsx","../../src/ui/select/select-trigger.tsx","../../src/ui/select/select-value.tsx","../../src/ui/select/use-select-default-props.ts","../../src/ui/select/select.tsx"],"sourcesContent":["\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectArrowProps = ComponentProps<typeof SelectPrimitive.Arrow>;\n\nconst SelectArrow = ({ className, ...props }: SelectArrowProps) => (\n <SelectPrimitive.Arrow\n className={mergeBaseUIClassName<SelectPrimitive.Arrow.State>(\n undefined,\n className\n )}\n data-slot=\"select-arrow\"\n {...props}\n />\n);\n\nexport { SelectArrow };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectBackdropProps = ComponentProps<\n typeof SelectPrimitive.Backdrop\n>;\n\nconst SelectBackdrop = ({ className, ...props }: SelectBackdropProps) => (\n <SelectPrimitive.Backdrop\n className={mergeBaseUIClassName<SelectPrimitive.Backdrop.State>(\n undefined,\n className\n )}\n data-slot=\"select-backdrop\"\n {...props}\n />\n);\n\nexport { SelectBackdrop };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface SelectContextValue {\n size?: InputSize;\n}\n\nconst SelectContext = createContext<SelectContextValue>({\n size: \"md\",\n});\n\nexport { SelectContext };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectListProps = ComponentProps<typeof SelectPrimitive.List>;\n\nconst SelectList = ({ className, ...props }: SelectListProps) => (\n <SelectPrimitive.List\n className={mergeBaseUIClassName<SelectPrimitive.List.State>(\n undefined,\n className\n )}\n data-slot=\"select-list\"\n {...props}\n />\n);\n\nexport { SelectList };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface SelectOverlayContextValue {\n size?: InputSize;\n}\n\nconst SelectOverlayContext = createContext<SelectOverlayContextValue>({\n size: \"md\",\n});\n\nexport { SelectOverlayContext };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectPopupVariants = tv({\n base: \"z-overlay bg-popover text-popover-foreground ring-foreground/10 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative isolate max-h-[min(var(--available-height),var(--kb-overlay-list-max-height,20rem))] w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto shadow-md ring-1 duration-100\",\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\ntype SelectPopupVariantProps = VariantProps<typeof selectPopupVariants>;\n\nexport type SelectPopupProps = ComponentProps<typeof SelectPrimitive.Popup> &\n SelectPopupVariantProps;\n\nconst SelectPopup = ({ className, size, ...props }: SelectPopupProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <SelectPrimitive.Popup\n className={mergeBaseUIClassName<SelectPrimitive.Popup.State>(\n selectPopupVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-popup\"\n {...props}\n />\n );\n};\n\nexport { SelectPopup };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nexport type SelectPortalProps = ComponentProps<typeof SelectPrimitive.Portal>;\n\nconst SelectPortal = (props: SelectPortalProps) => (\n <SelectPrimitive.Portal data-slot=\"select-portal\" {...props} />\n);\n\nexport { SelectPortal };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectPositionerProps = ComponentProps<\n typeof SelectPrimitive.Positioner\n>;\n\nconst SelectPositioner = ({ className, ...props }: SelectPositionerProps) => (\n <SelectPrimitive.Positioner\n className={mergeBaseUIClassName<SelectPrimitive.Positioner.State>(\n \"isolate z-overlay\",\n className\n )}\n data-slot=\"select-positioner\"\n {...props}\n />\n);\n\nexport { SelectPositioner };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport { ArrowDown01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectScrollDownButtonVariants = tv({\n base: \"z-raised cursor-clickable bg-popover bottom-0 flex w-full items-center justify-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"py-1.5 [&_svg:not([class*='size-'])]:size-4\",\n md: \"py-1 [&_svg:not([class*='size-'])]:size-4\",\n sm: \"py-1 [&_svg:not([class*='size-'])]:size-3.5\",\n xl: \"py-2 [&_svg:not([class*='size-'])]:size-5\",\n xs: \"py-0.5 [&_svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\ntype SelectScrollDownButtonVariantProps = VariantProps<\n typeof selectScrollDownButtonVariants\n>;\n\nexport type SelectScrollDownButtonProps = ComponentProps<\n typeof SelectPrimitive.ScrollDownArrow\n> &\n SelectScrollDownButtonVariantProps;\n\nconst SelectScrollDownButton = ({\n className,\n size,\n ...props\n}: SelectScrollDownButtonProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <SelectPrimitive.ScrollDownArrow\n className={mergeBaseUIClassName<SelectPrimitive.ScrollDownArrow.State>(\n selectScrollDownButtonVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-scroll-down-button\"\n {...props}\n >\n <HugeiconsIcon icon={ArrowDown01Icon} strokeWidth={2} />\n </SelectPrimitive.ScrollDownArrow>\n );\n};\n\nexport { SelectScrollDownButton };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport { ArrowUp01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectScrollUpButtonVariants = tv({\n base: \"z-raised cursor-clickable bg-popover top-0 flex w-full items-center justify-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"py-1.5 [&_svg:not([class*='size-'])]:size-4\",\n md: \"py-1 [&_svg:not([class*='size-'])]:size-4\",\n sm: \"py-1 [&_svg:not([class*='size-'])]:size-3.5\",\n xl: \"py-2 [&_svg:not([class*='size-'])]:size-5\",\n xs: \"py-0.5 [&_svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\ntype SelectScrollUpButtonVariantProps = VariantProps<\n typeof selectScrollUpButtonVariants\n>;\n\nexport type SelectScrollUpButtonProps = ComponentProps<\n typeof SelectPrimitive.ScrollUpArrow\n> &\n SelectScrollUpButtonVariantProps;\n\nconst SelectScrollUpButton = ({\n className,\n size,\n ...props\n}: SelectScrollUpButtonProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <SelectPrimitive.ScrollUpArrow\n className={mergeBaseUIClassName<SelectPrimitive.ScrollUpArrow.State>(\n selectScrollUpButtonVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-scroll-up-button\"\n {...props}\n >\n <HugeiconsIcon icon={ArrowUp01Icon} strokeWidth={2} />\n </SelectPrimitive.ScrollUpArrow>\n );\n};\n\nexport { SelectScrollUpButton };\n","\"use client\";\n\nimport type { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport { useContext, useMemo } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\nimport { SelectContext } from \"./select-context\";\nimport { SelectList } from \"./select-list\";\nimport { SelectOverlayContext } from \"./select-overlay-context\";\nimport { SelectPopup } from \"./select-popup\";\nimport { SelectPortal } from \"./select-portal\";\nimport { SelectPositioner } from \"./select-positioner\";\nimport { SelectScrollDownButton } from \"./select-scroll-down-button\";\nimport { SelectScrollUpButton } from \"./select-scroll-up-button\";\n\nexport type SelectContentProps = SelectPrimitive.Popup.Props &\n Pick<\n SelectPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\" | \"alignItemWithTrigger\"\n > & {\n size?: InputSize;\n };\n\nconst SelectContent = ({\n className,\n children,\n size,\n side = \"bottom\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n alignItemWithTrigger = true,\n ...props\n}: SelectContentProps) => {\n const { size: rootSize } = useContext(SelectContext);\n const resolvedSize = size ?? rootSize ?? \"md\";\n const contextValue = useMemo(() => ({ size: resolvedSize }), [resolvedSize]);\n\n return (\n <SelectOverlayContext.Provider value={contextValue}>\n <SelectPortal>\n <SelectPositioner\n align={align}\n alignItemWithTrigger={alignItemWithTrigger}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <SelectPopup\n className={className}\n data-size={resolvedSize}\n data-slot=\"select-content\"\n size={resolvedSize}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectList>{children}</SelectList>\n <SelectScrollDownButton />\n </SelectPopup>\n </SelectPositioner>\n </SelectPortal>\n </SelectOverlayContext.Provider>\n );\n};\n\nexport { SelectContent };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectGroupVariants = tv({\n base: \"\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"scroll-my-1.5 p-1.5\",\n md: \"scroll-my-1 p-1\",\n sm: \"scroll-my-1 p-1\",\n xl: \"scroll-my-2 p-2\",\n xs: \"scroll-my-0.5 p-0.5\",\n },\n },\n});\n\ntype SelectGroupVariantProps = VariantProps<typeof selectGroupVariants>;\n\nexport type SelectGroupProps = SelectPrimitive.Group.Props &\n SelectGroupVariantProps;\n\nconst SelectGroup = ({ className, size, ...props }: SelectGroupProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <SelectPrimitive.Group\n className={mergeBaseUIClassName<SelectPrimitive.Group.State>(\n selectGroupVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-group\"\n {...props}\n />\n );\n};\n\nexport { SelectGroup };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectIconProps = SelectPrimitive.Icon.Props;\n\nconst SelectIcon = ({ className, ...props }: SelectIconProps) => (\n <SelectPrimitive.Icon\n className={mergeBaseUIClassName<SelectPrimitive.Icon.State>(\n \"pointer-events-none size-4 text-muted-foreground\",\n className\n )}\n data-slot=\"select-icon\"\n {...props}\n />\n);\n\nexport { SelectIcon };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectItemIndicatorVariants = tv({\n base: \"pointer-events-none absolute flex items-center justify-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"right-2.5 size-4\",\n md: \"right-2 size-4\",\n sm: \"right-2 size-3.5\",\n xl: \"right-3 size-5\",\n xs: \"right-1.5 size-3\",\n },\n },\n});\n\ntype SelectItemIndicatorVariantProps = VariantProps<\n typeof selectItemIndicatorVariants\n>;\n\nexport type SelectItemIndicatorProps = ComponentProps<\n typeof SelectPrimitive.ItemIndicator\n> &\n SelectItemIndicatorVariantProps;\n\nconst SelectItemIndicator = ({\n className,\n render,\n size,\n ...props\n}: SelectItemIndicatorProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n const indicatorClassName = selectItemIndicatorVariants({\n size: resolvedSize,\n });\n\n return (\n <SelectPrimitive.ItemIndicator\n className={mergeBaseUIClassName<SelectPrimitive.ItemIndicator.State>(\n indicatorClassName,\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-item-indicator\"\n render={render ?? <span className={indicatorClassName} />}\n {...props}\n />\n );\n};\n\nexport { SelectItemIndicator };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectItemTextProps = ComponentProps<\n typeof SelectPrimitive.ItemText\n>;\n\nconst SelectItemText = ({ className, ...props }: SelectItemTextProps) => (\n <SelectPrimitive.ItemText\n className={mergeBaseUIClassName<SelectPrimitive.ItemText.State>(\n \"flex flex-1 shrink-0 gap-2 whitespace-nowrap\",\n className\n )}\n data-slot=\"select-item-text\"\n {...props}\n />\n);\n\nexport { SelectItemText };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport { Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/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 { SelectItemIndicator } from \"./select-item-indicator\";\nimport { SelectItemText } from \"./select-item-text\";\nimport { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectItemVariants = tv({\n defaultVariants: {\n size: \"md\",\n },\n slots: {\n icon: \"pointer-events-none\",\n root: \"cursor-clickable focus:bg-accent focus:text-accent-foreground not-data-[variant=danger]:focus:**:text-accent-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 *:[span]:last:flex *:[span]:last:items-center\",\n },\n variants: {\n size: {\n lg: {\n icon: \"size-4\",\n root: \"gap-2 py-2 pr-9 pl-2.5 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:gap-2\",\n },\n md: {\n icon: \"size-4\",\n root: \"gap-2 py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:gap-2\",\n },\n sm: {\n icon: \"size-3.5\",\n root: \"gap-1.5 py-1 pr-7 pl-2 text-sm [&_svg:not([class*='size-'])]:size-3.5 *:[span]:last:gap-1.5\",\n },\n xl: {\n icon: \"size-5\",\n root: \"gap-2.5 py-2.5 pr-10 pl-3 text-base [&_svg:not([class*='size-'])]:size-5 *:[span]:last:gap-2.5\",\n },\n xs: {\n icon: \"size-3\",\n root: \"gap-1 py-1 pr-6 pl-1.5 text-xs [&_svg:not([class*='size-'])]:size-3 *:[span]:last:gap-1\",\n },\n },\n },\n});\n\ntype SelectItemVariantProps = VariantProps<typeof selectItemVariants>;\n\nexport type SelectItemProps = SelectPrimitive.Item.Props &\n SelectItemVariantProps;\n\nconst SelectItem = ({\n className,\n children,\n size,\n ...props\n}: SelectItemProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n const { icon, root } = selectItemVariants({ size: resolvedSize });\n\n return (\n <SelectPrimitive.Item\n className={mergeBaseUIClassName<SelectPrimitive.Item.State>(\n root(),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-item\"\n {...props}\n >\n <SelectItemText>{children}</SelectItemText>\n <SelectItemIndicator size={resolvedSize}>\n <HugeiconsIcon className={icon()} icon={Tick02Icon} strokeWidth={2} />\n </SelectItemIndicator>\n </SelectPrimitive.Item>\n );\n};\n\nexport { SelectItem };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\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 { SelectOverlayContext } from \"./select-overlay-context\";\n\nconst selectLabelVariants = tv({\n base: \"text-muted-foreground\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"px-2 py-1.5 text-xs\",\n md: \"px-1.5 py-1 text-xs\",\n sm: \"px-1.5 py-1 text-xs\",\n xl: \"px-2.5 py-1.5 text-sm\",\n xs: \"px-1.5 py-0.5 text-xs\",\n },\n },\n});\n\ntype SelectLabelVariantProps = VariantProps<typeof selectLabelVariants>;\n\nexport type SelectLabelProps = SelectPrimitive.GroupLabel.Props &\n SelectLabelVariantProps;\n\nconst SelectLabel = ({ className, size, ...props }: SelectLabelProps) => {\n const { size: overlaySize } = useContext(SelectOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? \"md\";\n\n return (\n <SelectPrimitive.GroupLabel\n className={mergeBaseUIClassName<SelectPrimitive.GroupLabel.State>(\n selectLabelVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-label\"\n {...props}\n />\n );\n};\n\nexport { SelectLabel };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectSeparatorProps = SelectPrimitive.Separator.Props;\n\nconst SelectSeparator = ({ className, ...props }: SelectSeparatorProps) => (\n <SelectPrimitive.Separator\n className={mergeBaseUIClassName<SelectPrimitive.Separator.State>(\n \"pointer-events-none -mx-1 my-1 h-px bg-border\",\n className\n )}\n data-slot=\"select-separator\"\n {...props}\n />\n);\n\nexport { SelectSeparator };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport { UnfoldMoreIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/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 {\n resolveDefaultIconClassBySize,\n resolveDefaultNestedIconClassBySize,\n resolveFieldHeightClassBySize,\n resolveFieldTextClassBySize,\n} from \"../shared/size/size-system\";\nimport { SelectContext } from \"./select-context\";\nimport { SelectIcon } from \"./select-icon\";\n\nconst selectTriggerVariants = tv({\n base: \"cursor-clickable border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger aria-invalid:ring-danger/20 data-placeholder:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 flex w-fit items-center justify-between border bg-transparent whitespace-nowrap transition-colors outline-none select-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: [\n resolveFieldHeightClassBySize(\"lg\"),\n resolveFieldTextClassBySize(\"lg\"),\n resolveDefaultNestedIconClassBySize(\"lg\"),\n \"gap-1.5 rounded-md pr-2.5 pl-3 *:data-[slot=select-value]:gap-1.5\",\n ],\n md: [\n resolveFieldHeightClassBySize(\"md\"),\n resolveFieldTextClassBySize(\"md\"),\n resolveDefaultNestedIconClassBySize(\"md\"),\n \"gap-1.5 rounded-md pr-2 pl-2.5 *:data-[slot=select-value]:gap-1.5\",\n ],\n sm: [\n resolveFieldHeightClassBySize(\"sm\"),\n resolveFieldTextClassBySize(\"sm\"),\n resolveDefaultNestedIconClassBySize(\"sm\"),\n \"gap-1 rounded-[min(var(--radius-md),10px)] pr-2 pl-2.5 *:data-[slot=select-value]:gap-1.5\",\n ],\n xl: [\n resolveFieldHeightClassBySize(\"xl\"),\n resolveFieldTextClassBySize(\"xl\"),\n resolveDefaultNestedIconClassBySize(\"xl\"),\n \"gap-2 rounded-md pr-3 pl-4 *:data-[slot=select-value]:gap-2\",\n ],\n xs: [\n resolveFieldHeightClassBySize(\"xs\"),\n resolveFieldTextClassBySize(\"xs\"),\n resolveDefaultNestedIconClassBySize(\"xs\"),\n \"gap-1 rounded-[min(var(--radius-md),8px)] pr-1.5 pl-2 *:data-[slot=select-value]:gap-1\",\n ],\n },\n },\n});\n\nexport type SelectTriggerProps = SelectPrimitive.Trigger.Props &\n VariantProps<typeof selectTriggerVariants>;\n\nconst SelectTrigger = ({\n className,\n size,\n children,\n ...props\n}: SelectTriggerProps) => {\n const { size: contextSize } = useContext(SelectContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <SelectPrimitive.Trigger\n className={mergeBaseUIClassName<SelectPrimitive.Trigger.State>(\n selectTriggerVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"select-trigger\"\n {...props}\n >\n {children}\n <SelectIcon\n render={\n <HugeiconsIcon\n className={cn(\n \"text-muted-foreground pointer-events-none\",\n resolveDefaultIconClassBySize(resolvedSize)\n )}\n icon={UnfoldMoreIcon}\n strokeWidth={2}\n />\n }\n />\n </SelectPrimitive.Trigger>\n );\n};\n\nexport { SelectTrigger };\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SelectValueProps = SelectPrimitive.Value.Props;\n\nconst SelectValue = ({ className, ...props }: SelectValueProps) => (\n <SelectPrimitive.Value\n className={mergeBaseUIClassName<SelectPrimitive.Value.State>(\n \"flex flex-1 text-left\",\n className\n )}\n data-slot=\"select-value\"\n {...props}\n />\n);\n\nexport { SelectValue };\n","import { useComponentDefaultProps } from \"../shared/size/size-provider\";\nimport type { SelectProps } from \"./select\";\n\nexport const useSelectDefaultProps = <\n Value,\n Multiple extends boolean | undefined = false,\n>(\n incomingProps: SelectProps<Value, Multiple>\n): SelectProps<Value, Multiple> =>\n useComponentDefaultProps<SelectProps<Value, Multiple>>(\n \"Select\",\n {},\n incomingProps\n );\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { SelectArrow } from \"./select-arrow\";\nimport { SelectBackdrop } from \"./select-backdrop\";\nimport { SelectContent } from \"./select-content\";\nimport { SelectContext } from \"./select-context\";\nimport { SelectGroup } from \"./select-group\";\nimport { SelectIcon } from \"./select-icon\";\nimport { SelectItem } from \"./select-item\";\nimport { SelectItemIndicator } from \"./select-item-indicator\";\nimport { SelectItemText } from \"./select-item-text\";\nimport { SelectLabel } from \"./select-label\";\nimport { SelectList } from \"./select-list\";\nimport { SelectPopup } from \"./select-popup\";\nimport { SelectPortal } from \"./select-portal\";\nimport { SelectPositioner } from \"./select-positioner\";\nimport { SelectScrollDownButton } from \"./select-scroll-down-button\";\nimport { SelectScrollUpButton } from \"./select-scroll-up-button\";\nimport { SelectSeparator } from \"./select-separator\";\nimport { SelectTrigger } from \"./select-trigger\";\nimport { SelectValue } from \"./select-value\";\nimport { useSelectDefaultProps } from \"./use-select-default-props\";\n\nexport interface SelectOption<Value> {\n value: Value;\n label: string;\n}\n\nexport type SelectProps<\n Value,\n Multiple extends boolean | undefined = false,\n> = ComponentProps<typeof SelectPrimitive.Root<Value, Multiple>> & {\n size?: InputSize;\n};\n\nconst SelectGroupLabel = SelectLabel;\nconst SelectScrollDownArrow = SelectScrollDownButton;\nconst SelectScrollUpArrow = SelectScrollUpButton;\n\nexport type SelectGroupLabelProps = ComponentProps<typeof SelectGroupLabel>;\nexport type SelectScrollDownArrowProps = ComponentProps<\n typeof SelectScrollDownArrow\n>;\nexport type SelectScrollUpArrowProps = ComponentProps<\n typeof SelectScrollUpArrow\n>;\n\nconst Select = <Value, Multiple extends boolean | undefined = false>(\n incomingProps: SelectProps<Value, Multiple>\n) => {\n const { size: providedSize, ...props } = useSelectDefaultProps(incomingProps);\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <SelectContext.Provider value={contextValue}>\n <SelectPrimitive.Root<Value, Multiple>\n data-size={size}\n data-slot=\"select\"\n {...props}\n />\n </SelectContext.Provider>\n );\n};\n\nSelect.Arrow = SelectArrow;\nSelect.Backdrop = SelectBackdrop;\nSelect.Content = SelectContent;\nSelect.Group = SelectGroup;\nSelect.GroupLabel = SelectLabel;\nSelect.Icon = SelectIcon;\nSelect.Item = SelectItem;\nSelect.ItemIndicator = SelectItemIndicator;\nSelect.ItemText = SelectItemText;\nSelect.Label = SelectLabel;\nSelect.List = SelectList;\nSelect.Popup = SelectPopup;\nSelect.Portal = SelectPortal;\nSelect.Positioner = SelectPositioner;\nSelect.ScrollDownArrow = SelectScrollDownArrow;\nSelect.ScrollDownButton = SelectScrollDownButton;\nSelect.ScrollUpArrow = SelectScrollUpArrow;\nSelect.ScrollUpButton = SelectScrollUpButton;\nSelect.Separator = SelectSeparator;\nSelect.Trigger = SelectTrigger;\nSelect.Value = SelectValue;\n\nexport type { SelectArrowProps } from \"./select-arrow\";\nexport type { SelectBackdropProps } from \"./select-backdrop\";\nexport type { SelectContentProps } from \"./select-content\";\nexport type { SelectGroupProps } from \"./select-group\";\nexport type { SelectIconProps } from \"./select-icon\";\nexport type { SelectItemProps } from \"./select-item\";\nexport type { SelectItemIndicatorProps } from \"./select-item-indicator\";\nexport type { SelectItemTextProps } from \"./select-item-text\";\nexport type { SelectLabelProps } from \"./select-label\";\nexport type { SelectListProps } from \"./select-list\";\nexport type { SelectPopupProps } from \"./select-popup\";\nexport type { SelectPortalProps } from \"./select-portal\";\nexport type { SelectPositionerProps } from \"./select-positioner\";\nexport type { SelectScrollDownButtonProps } from \"./select-scroll-down-button\";\nexport type { SelectScrollUpButtonProps } from \"./select-scroll-up-button\";\nexport type { SelectSeparatorProps } from \"./select-separator\";\nexport type { SelectTriggerProps } from \"./select-trigger\";\nexport type { SelectValueProps } from \"./select-value\";\n\nexport {\n Select,\n SelectArrow,\n SelectBackdrop,\n SelectContent,\n SelectGroup,\n SelectGroupLabel,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectList,\n SelectPopup,\n SelectPortal,\n SelectPositioner,\n SelectScrollDownArrow,\n SelectScrollDownButton,\n SelectScrollUpArrow,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"],"mappings":"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"}
package/dist/ui/sheet.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
2
 
3
- import { a as SheetHeader, c as SheetContent, d as SheetPopup, f as SheetClose, i as SheetOverlay, l as SheetViewport, n as SheetTrigger, o as SheetFooter, p as SheetBackdrop, r as SheetTitle, s as SheetDescription, t as Sheet, u as SheetPortal } from "../sheet-FVsgl5Wk.js";
3
+ import { a as SheetHeader, c as SheetContent, d as SheetPopup, f as SheetClose, i as SheetOverlay, l as SheetViewport, n as SheetTrigger, o as SheetFooter, p as SheetBackdrop, r as SheetTitle, s as SheetDescription, t as Sheet, u as SheetPortal } from "../sheet-CcyewAZj.js";
4
4
 
5
5
  export { Sheet, SheetBackdrop, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPopup, SheetPortal, SheetTitle, SheetTrigger, SheetViewport };
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../src/ui/sidebar/sidebar-content.tsx","../../src/ui/sidebar/sidebar-footer.tsx","../../src/ui/sidebar/sidebar-group.tsx","../../src/ui/sidebar/sidebar-group-action.tsx","../../src/ui/sidebar/sidebar-group-content.tsx","../../src/ui/sidebar/sidebar-group-label.tsx","../../src/ui/sidebar/sidebar-header.tsx","../../src/ui/sidebar/sidebar-input.tsx","../../src/ui/sidebar/sidebar-inset.tsx","../../src/ui/sidebar/sidebar-menu.tsx","../../src/ui/sidebar/sidebar-menu-action.tsx","../../src/ui/sidebar/sidebar-menu-badge.tsx","../../src/ui/sidebar/sidebar-menu-button.tsx","../../src/ui/sidebar/sidebar-menu-item.tsx","../../src/ui/sidebar/sidebar-menu-skeleton.tsx","../../src/ui/sidebar/sidebar-menu-sub.tsx","../../src/ui/sidebar/sidebar-menu-sub-button.tsx","../../src/ui/sidebar/sidebar-menu-sub-item.tsx","../../src/ui/sidebar/sidebar-provider.tsx","../../src/ui/sidebar/sidebar-rail.tsx","../../src/ui/sidebar/sidebar-separator.tsx","../../src/ui/sidebar/sidebar-trigger.tsx","../../src/ui/sidebar/use-sidebar.tsx","../../src/ui/sidebar/sidebar.tsx"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../src/ui/sidebar/sidebar-content.tsx","../../src/ui/sidebar/sidebar-footer.tsx","../../src/ui/sidebar/sidebar-group.tsx","../../src/ui/sidebar/sidebar-group-action.tsx","../../src/ui/sidebar/sidebar-group-content.tsx","../../src/ui/sidebar/sidebar-group-label.tsx","../../src/ui/sidebar/sidebar-header.tsx","../../src/ui/sidebar/sidebar-input.tsx","../../src/ui/sidebar/sidebar-inset.tsx","../../src/ui/sidebar/sidebar-menu.tsx","../../src/ui/sidebar/sidebar-menu-action.tsx","../../src/ui/sidebar/sidebar-menu-badge.tsx","../../src/ui/sidebar/sidebar-menu-button.tsx","../../src/ui/sidebar/sidebar-menu-item.tsx","../../src/ui/sidebar/sidebar-menu-skeleton.tsx","../../src/ui/sidebar/sidebar-menu-sub.tsx","../../src/ui/sidebar/sidebar-menu-sub-button.tsx","../../src/ui/sidebar/sidebar-menu-sub-item.tsx","../../src/ui/sidebar/sidebar-provider.tsx","../../src/ui/sidebar/sidebar-rail.tsx","../../src/ui/sidebar/sidebar-separator.tsx","../../src/ui/sidebar/sidebar-trigger.tsx","../../src/ui/sidebar/use-sidebar.tsx","../../src/ui/sidebar/sidebar.tsx"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { ActionIcon } from "./action-icon.js";
5
5
  import { Separator } from "./separator.js";
6
6
  import { t as Input } from "../input-cICL6sH_.js";
7
7
  import { Skeleton } from "./skeleton.js";
8
- import { a as SheetHeader, c as SheetContent, r as SheetTitle, s as SheetDescription, t as Sheet } from "../sheet-FVsgl5Wk.js";
8
+ import { a as SheetHeader, c as SheetContent, r as SheetTitle, s as SheetDescription, t as Sheet } from "../sheet-CcyewAZj.js";
9
9
  import { i as TooltipContent, n as TooltipTrigger, t as Tooltip } from "../tooltip-BUo_HPnp.js";
10
10
  import { createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -16,15 +16,6 @@ import { mergeProps } from "@base-ui/react/merge-props";
16
16
  import { useRender } from "@base-ui/react/use-render";
17
17
  import { useIsMobile } from "@kuzenbo/hooks/use-mobile";
18
18
 
19
- //#region src/ui/sidebar/constants.ts
20
- const SIDEBAR_COOKIE_NAME = "sidebar_state";
21
- const SIDEBAR_COOKIE_MAX_AGE = 3600 * 24 * 7;
22
- const SIDEBAR_WIDTH = "16rem";
23
- const SIDEBAR_WIDTH_MOBILE = "18rem";
24
- const SIDEBAR_WIDTH_ICON = "3rem";
25
- const SIDEBAR_KEYBOARD_SHORTCUT = "b";
26
-
27
- //#endregion
28
19
  //#region src/ui/sidebar/sidebar-content.tsx
29
20
  const SidebarContent = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
30
21
  className: cn("no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className),
@@ -349,6 +340,12 @@ const SidebarMenuSubItem = ({ className, ...props }) => /* @__PURE__ */ jsx("li"
349
340
  ...props
350
341
  });
351
342
 
343
+ //#endregion
344
+ //#region src/ui/sidebar/constants.ts
345
+ const SIDEBAR_COOKIE_NAME = "sidebar_state";
346
+ const SIDEBAR_COOKIE_MAX_AGE = 3600 * 24 * 7;
347
+ const SIDEBAR_KEYBOARD_SHORTCUT = "b";
348
+
352
349
  //#endregion
353
350
  //#region src/ui/sidebar/sidebar-provider.tsx
354
351
  const SidebarProvider = ({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }) => {
@@ -396,8 +393,8 @@ const SidebarProvider = ({ defaultOpen = true, open: openProp, onOpenChange: set
396
393
  className: cn("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full", className),
397
394
  "data-slot": "sidebar-wrapper",
398
395
  style: {
399
- "--sidebar-width": SIDEBAR_WIDTH,
400
- "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
396
+ "--sidebar-width": "var(--kb-sidebar-width, 16rem)",
397
+ "--sidebar-width-icon": "var(--kb-sidebar-width-icon, 3rem)",
401
398
  ...style
402
399
  },
403
400
  ...props,
@@ -480,7 +477,7 @@ const Sidebar = ({ side = "left", variant = "sidebar", collapsible = "offExample
480
477
  "data-sidebar": "sidebar",
481
478
  "data-slot": "sidebar",
482
479
  side,
483
- style: { "--sidebar-width": SIDEBAR_WIDTH_MOBILE },
480
+ style: { "--sidebar-width": "var(--kb-sidebar-width-mobile, 18rem)" },
484
481
  children: [/* @__PURE__ */ jsxs(SheetHeader, {
485
482
  className: "sr-only",
486
483
  children: [/* @__PURE__ */ jsx(SheetTitle, { children: "Sidebar" }), /* @__PURE__ */ jsx(SheetDescription, { children: "Displays the mobile sidebar." })]
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","names":[],"sources":["../../src/ui/sidebar/constants.ts","../../src/ui/sidebar/sidebar-content.tsx","../../src/ui/sidebar/sidebar-footer.tsx","../../src/ui/sidebar/sidebar-group.tsx","../../src/ui/sidebar/sidebar-group-action.tsx","../../src/ui/sidebar/sidebar-group-content.tsx","../../src/ui/sidebar/sidebar-group-label.tsx","../../src/ui/sidebar/sidebar-header.tsx","../../src/ui/sidebar/sidebar-input.tsx","../../src/ui/sidebar/sidebar-inset.tsx","../../src/ui/sidebar/sidebar-menu-context.tsx","../../src/ui/sidebar/sidebar-menu.tsx","../../src/ui/sidebar/sidebar-menu-action.tsx","../../src/ui/sidebar/sidebar-menu-badge.tsx","../../src/ui/sidebar/use-sidebar.tsx","../../src/ui/sidebar/sidebar-menu-button.tsx","../../src/ui/sidebar/sidebar-menu-item.tsx","../../src/ui/sidebar/sidebar-menu-skeleton.tsx","../../src/ui/sidebar/sidebar-menu-sub.tsx","../../src/ui/sidebar/sidebar-menu-sub-button.tsx","../../src/ui/sidebar/sidebar-menu-sub-item.tsx","../../src/ui/sidebar/sidebar-provider.tsx","../../src/ui/sidebar/sidebar-rail.tsx","../../src/ui/sidebar/sidebar-separator.tsx","../../src/ui/sidebar/sidebar-trigger.tsx","../../src/ui/sidebar/sidebar.tsx"],"sourcesContent":["export const SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nexport const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nexport const SIDEBAR_WIDTH = \"16rem\";\nexport const SIDEBAR_WIDTH_MOBILE = \"18rem\";\nexport const SIDEBAR_WIDTH_ICON = \"3rem\";\nexport const SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarContentProps = ComponentProps<\"div\">;\n\nconst SidebarContent = ({ className, ...props }: SidebarContentProps) => (\n <div\n className={cn(\n \"no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n data-sidebar=\"content\"\n data-slot=\"sidebar-content\"\n {...props}\n />\n);\n\nexport { SidebarContent };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarFooterProps = ComponentProps<\"div\">;\n\nconst SidebarFooter = ({ className, ...props }: SidebarFooterProps) => (\n <div\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n data-sidebar=\"footer\"\n data-slot=\"sidebar-footer\"\n {...props}\n />\n);\n\nexport { SidebarFooter };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupProps = ComponentProps<\"div\">;\n\nconst SidebarGroup = ({ className, ...props }: SidebarGroupProps) => (\n <div\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n data-sidebar=\"group\"\n data-slot=\"sidebar-group\"\n {...props}\n />\n);\n\nexport { SidebarGroup };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupActionProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\">;\n\nconst SidebarGroupAction = ({\n className,\n render,\n ...props\n}: SidebarGroupActionProps) =>\n useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n sidebar: \"group-action\",\n slot: \"sidebar-group-action\",\n },\n });\n\nexport { SidebarGroupAction };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupContentProps = ComponentProps<\"div\">;\n\nconst SidebarGroupContent = ({\n className,\n ...props\n}: SidebarGroupContentProps) => (\n <div\n className={cn(\"w-full text-sm\", className)}\n data-sidebar=\"group-content\"\n data-slot=\"sidebar-group-content\"\n {...props}\n />\n);\n\nexport { SidebarGroupContent };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupLabelProps = useRender.ComponentProps<\"div\"> &\n ComponentProps<\"div\">;\n\nconst SidebarGroupLabel = ({\n className,\n render,\n ...props\n}: SidebarGroupLabelProps) =>\n useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n sidebar: \"group-label\",\n slot: \"sidebar-group-label\",\n },\n });\n\nexport { SidebarGroupLabel };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarHeaderProps = ComponentProps<\"div\">;\n\nconst SidebarHeader = ({ className, ...props }: SidebarHeaderProps) => (\n <div\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n data-sidebar=\"header\"\n data-slot=\"sidebar-header\"\n {...props}\n />\n);\n\nexport { SidebarHeader };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Input } from \"../input/input\";\nexport type SidebarInputProps = ComponentProps<typeof Input>;\n\nconst SidebarInput = ({\n className,\n size = \"sm\",\n ...props\n}: SidebarInputProps) => (\n <Input\n className={cn(\"bg-background w-full shadow-none\", className)}\n data-sidebar=\"input\"\n size={size}\n data-slot=\"sidebar-input\"\n {...props}\n />\n);\n\nexport { SidebarInput };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarInsetProps = ComponentProps<\"main\">;\n\nconst SidebarInset = ({ className, ...props }: SidebarInsetProps) => (\n <main\n className={cn(\n \"bg-background relative flex w-full min-w-0 flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className\n )}\n data-slot=\"sidebar-inset\"\n {...props}\n />\n);\n\nexport { SidebarInset };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface SidebarMenuContextValue {\n size?: InputSize;\n}\n\nconst SidebarMenuContext = createContext<SidebarMenuContextValue>({\n size: \"md\",\n});\n\nexport { SidebarMenuContext };\n","import type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nexport type SidebarMenuProps = ComponentProps<\"ul\"> & {\n size?: InputSize;\n};\n\nconst SidebarMenu = ({\n className,\n size: providedSize,\n ...props\n}: SidebarMenuProps) => {\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <SidebarMenuContext.Provider value={contextValue}>\n <ul\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n data-sidebar=\"menu\"\n data-size={size}\n data-slot=\"sidebar-menu\"\n {...props}\n />\n </SidebarMenuContext.Provider>\n );\n};\n\nexport { SidebarMenu };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuActionVariants = tv({\n base: \"text-sidebar-foreground ring-sidebar-ring peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute right-1 flex aspect-square items-center justify-center rounded-md p-0 outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 focus-visible:ring-2 md:after:hidden [&>svg]:shrink-0\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"top-2 w-6 [&>svg:not([class*='size-'])]:size-4\",\n md: \"top-1.5 w-5 [&>svg:not([class*='size-'])]:size-4\",\n sm: \"top-1 w-5 [&>svg:not([class*='size-'])]:size-3.5\",\n xl: \"top-2.5 w-7 [&>svg:not([class*='size-'])]:size-5\",\n xs: \"top-0.5 w-4 [&>svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\nexport type SidebarMenuActionProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\"> & {\n showOnHover?: boolean;\n size?: InputSize;\n } & VariantProps<typeof sidebarMenuActionVariants>;\n\nconst SidebarMenuAction = ({\n className,\n render,\n size,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n sidebarMenuActionVariants({ size: resolvedSize }),\n \"peer-data-[size=lg]/menu-button:top-2 peer-data-[size=md]/menu-button:top-1.5 peer-data-[size=sm]/menu-button:top-1 peer-data-[size=xl]/menu-button:top-2.5 peer-data-[size=xs]/menu-button:top-0.5\",\n showOnHover &&\n \"peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-open:opacity-100 md:opacity-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n sidebar: \"menu-action\",\n size: resolvedSize,\n slot: \"sidebar-menu-action\",\n },\n });\n};\n\nexport { SidebarMenuAction };\n","import type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuBadgeVariants = tv({\n base: \"text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-active/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex items-center justify-center rounded-md px-1 font-medium tabular-nums select-none group-data-[collapsible=icon]:hidden\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"top-2 h-6 min-w-6 text-xs\",\n md: \"top-1.5 h-5 min-w-5 text-xs\",\n sm: \"top-1 h-5 min-w-5 text-[11px]\",\n xl: \"top-2.5 h-7 min-w-7 text-sm\",\n xs: \"top-0.5 h-4 min-w-4 text-[10px]\",\n },\n },\n});\n\nexport type SidebarMenuBadgeProps = ComponentProps<\"div\"> &\n VariantProps<typeof sidebarMenuBadgeVariants> & {\n size?: InputSize;\n };\n\nconst SidebarMenuBadge = ({\n className,\n size,\n ...props\n}: SidebarMenuBadgeProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <div\n className={cn(\n sidebarMenuBadgeVariants({ size: resolvedSize }),\n className\n )}\n data-sidebar=\"menu-badge\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-badge\"\n {...props}\n />\n );\n};\n\nexport { SidebarMenuBadge };\n","\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport interface SidebarContextProps {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n}\n\nexport const SidebarContext = createContext<SidebarContextProps | null>(null);\n\nexport const useSidebar = () => {\n const context = useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n};\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../tooltip/tooltip\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarMenuButtonProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\"> & {\n isActive?: boolean;\n tooltip?: string | ComponentProps<typeof TooltipContent>;\n size?: InputSize;\n } & VariantProps<typeof sidebarMenuButtonVariants>;\n\nconst sidebarMenuButtonVariants = tv({\n base: \"peer/menu-button group/menu-button cursor-clickable ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground flex w-full items-center gap-2 overflow-hidden rounded-md text-left outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:font-medium [&_svg]:shrink-0 [&>span:last-child]:truncate\",\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n variants: {\n size: {\n lg: \"h-10 px-2.5 py-2 text-sm [&_svg:not([class*='size-'])]:size-4\",\n md: \"h-8 px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n sm: \"h-7 px-2 py-1 text-xs [&_svg:not([class*='size-'])]:size-3.5\",\n xl: \"h-11 px-3 py-2 text-base [&_svg:not([class*='size-'])]:size-5\",\n xs: \"h-6 px-1.5 py-1 text-xs [&_svg:not([class*='size-'])]:size-3\",\n },\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--kb-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--kb-sidebar-accent))]\",\n },\n },\n});\n\nconst SidebarMenuButton = ({\n render,\n isActive = false,\n variant = \"default\",\n size,\n tooltip,\n className,\n ...props\n}: SidebarMenuButtonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n const { isMobile, state } = useSidebar();\n const comp = useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n sidebarMenuButtonVariants({ size: resolvedSize, variant }),\n className\n ),\n },\n props\n ),\n render: tooltip ? TooltipTrigger : render,\n state: {\n active: isActive,\n sidebar: \"menu-button\",\n size: resolvedSize,\n slot: \"sidebar-menu-button\",\n },\n });\n\n if (!tooltip) {\n return comp;\n }\n\n if (typeof tooltip === \"string\") {\n // oxlint-disable-next-line no-param-reassign\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n {comp}\n <TooltipContent\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n side=\"right\"\n {...tooltip}\n />\n </Tooltip>\n );\n};\n\nexport { SidebarMenuButton, sidebarMenuButtonVariants };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarMenuItemProps = ComponentProps<\"li\">;\n\nconst SidebarMenuItem = ({ className, ...props }: SidebarMenuItemProps) => (\n <li\n className={cn(\"group/menu-item relative\", className)}\n data-sidebar=\"menu-item\"\n data-slot=\"sidebar-menu-item\"\n {...props}\n />\n);\n\nexport { SidebarMenuItem };\n","\"use client\";\n\nimport type { ComponentProps, CSSProperties } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { Skeleton } from \"../skeleton/skeleton\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuSkeletonVariants = tv({\n base: \"flex items-center gap-2 rounded-md\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"h-10 px-2.5\",\n md: \"h-8 px-2\",\n sm: \"h-7 px-2\",\n xl: \"h-11 px-3\",\n xs: \"h-6 px-1.5\",\n },\n },\n});\n\nexport type SidebarMenuSkeletonProps = ComponentProps<\"div\"> & {\n showIcon?: boolean;\n size?: InputSize;\n} & VariantProps<typeof sidebarMenuSkeletonVariants>;\n\nconst SidebarMenuSkeleton = ({\n className,\n size,\n showIcon = false,\n ...props\n}: SidebarMenuSkeletonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <div\n className={cn(\n sidebarMenuSkeletonVariants({ size: resolvedSize }),\n className\n )}\n data-sidebar=\"menu-skeleton\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-skeleton\"\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": \"100%\",\n } as CSSProperties\n }\n />\n </div>\n );\n};\n\nexport { SidebarMenuSkeleton };\n","import type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuSubVariants = tv({\n base: \"border-sidebar-border flex min-w-0 translate-x-px flex-col border-l group-data-[collapsible=icon]:hidden\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"mx-4 gap-1 px-3 py-1\",\n md: \"mx-3.5 gap-1 px-2.5 py-0.5\",\n sm: \"mx-3 gap-1 px-2 py-0.5\",\n xl: \"mx-4.5 gap-1.5 px-3.5 py-1\",\n xs: \"mx-2.5 gap-0.5 px-1.5 py-0.5\",\n },\n },\n});\n\nexport type SidebarMenuSubProps = ComponentProps<\"ul\"> &\n VariantProps<typeof sidebarMenuSubVariants> & {\n size?: InputSize;\n };\n\nconst SidebarMenuSub = ({ className, size, ...props }: SidebarMenuSubProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <ul\n className={cn(sidebarMenuSubVariants({ size: resolvedSize }), className)}\n data-sidebar=\"menu-sub\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-sub\"\n {...props}\n />\n );\n};\n\nexport { SidebarMenuSub };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nexport type SidebarMenuSubButtonProps = useRender.ComponentProps<\"a\"> &\n ComponentProps<\"a\"> & {\n size?: InputSize;\n isActive?: boolean;\n } & VariantProps<typeof sidebarMenuSubButtonVariants>;\n\nconst sidebarMenuSubButtonVariants = tv({\n base: \"cursor-clickable text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex min-w-0 -translate-x-px items-center overflow-hidden rounded-md outline-hidden group-data-[collapsible=icon]:hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"h-9 gap-2.5 px-2.5 text-sm [&>svg:not([class*='size-'])]:size-4\",\n md: \"h-8 gap-2 px-2 text-sm [&>svg:not([class*='size-'])]:size-4\",\n sm: \"h-7 gap-2 px-2 text-xs [&>svg:not([class*='size-'])]:size-3.5\",\n xl: \"h-10 gap-2.5 px-3 text-base [&>svg:not([class*='size-'])]:size-5\",\n xs: \"h-6 gap-1.5 px-1.5 text-xs [&>svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\nconst SidebarMenuSubButton = ({\n render,\n size,\n isActive = false,\n className,\n ...props\n}: SidebarMenuSubButtonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n className: cn(\n sidebarMenuSubButtonVariants({ size: resolvedSize }),\n className\n ),\n },\n props\n ),\n render,\n state: {\n active: isActive,\n sidebar: \"menu-sub-button\",\n size: resolvedSize,\n slot: \"sidebar-menu-sub-button\",\n },\n });\n};\n\nexport { SidebarMenuSubButton };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarMenuSubItemProps = ComponentProps<\"li\">;\n\nconst SidebarMenuSubItem = ({\n className,\n ...props\n}: SidebarMenuSubItemProps) => (\n <li\n className={cn(\"group/menu-sub-item relative\", className)}\n data-sidebar=\"menu-sub-item\"\n data-slot=\"sidebar-menu-sub-item\"\n {...props}\n />\n);\n\nexport { SidebarMenuSubItem };\n","\"use client\";\n\nimport { useIsMobile } from \"@kuzenbo/hooks/use-mobile\";\nimport type { ComponentProps, CSSProperties } from \"react\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport {\n SIDEBAR_COOKIE_MAX_AGE,\n SIDEBAR_COOKIE_NAME,\n SIDEBAR_KEYBOARD_SHORTCUT,\n SIDEBAR_WIDTH,\n SIDEBAR_WIDTH_ICON,\n} from \"./constants\";\nimport { SidebarContext } from \"./use-sidebar\";\nimport type { SidebarContextProps } from \"./use-sidebar\";\nexport type SidebarProviderProps = ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n};\n\nconst SidebarProvider = ({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: SidebarProviderProps) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = useCallback(\n (value: boolean | ((prev: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n // oxlint-disable-next-line unicorn/no-document-cookie\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(\n () =>\n isMobile ? setOpenMobile((prev) => !prev) : setOpen((prev) => !prev),\n [isMobile, setOpen]\n );\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = useMemo<SidebarContextProps>(\n () => ({\n isMobile,\n open,\n openMobile,\n setOpen,\n setOpenMobile,\n state,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <div\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\",\n className\n )}\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n {children}\n </div>\n </SidebarContext.Provider>\n );\n};\n\nexport { SidebarProvider };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarRailProps = ComponentProps<\"button\">;\n\nconst SidebarRail = ({ className, ...props }: SidebarRailProps) => {\n const { state, toggleSidebar } = useSidebar();\n const isExpanded = state === \"expanded\";\n const label = isExpanded ? \"Collapse Sidebar\" : \"Expand Sidebar\";\n\n return (\n <button\n type=\"button\"\n aria-expanded={isExpanded}\n aria-label={label}\n className={cn(\n \"z-elevated focus-visible:ring-sidebar-ring hover:after:bg-sidebar-border focus-visible:after:bg-sidebar-border absolute inset-y-0 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] focus-visible:ring-2 focus-visible:outline-none sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offExamples]:bg-sidebar group-data-[collapsible=offExamples]:translate-x-0 group-data-[collapsible=offExamples]:after:left-full\",\n \"[[data-side=left][data-collapsible=offExamples]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offExamples]_&]:-left-2\",\n className\n )}\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n onClick={toggleSidebar}\n title={label}\n {...props}\n />\n );\n};\n\nexport { SidebarRail };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Separator } from \"../separator/separator\";\nexport type SidebarSeparatorProps = ComponentProps<typeof Separator>;\n\nconst SidebarSeparator = ({ className, ...props }: SidebarSeparatorProps) => (\n <Separator\n className={cn(\"bg-sidebar-border w-auto\", className)}\n data-sidebar=\"separator\"\n data-slot=\"sidebar-separator\"\n {...props}\n />\n);\n\nexport { SidebarSeparator };\n","\"use client\";\n\nimport { SidebarLeftIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useCallback } from \"react\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { ActionIcon } from \"../action-icon/action-icon\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarTriggerProps = ComponentProps<typeof ActionIcon>;\n\nconst SidebarTrigger = ({\n className,\n onClick,\n ...props\n}: SidebarTriggerProps) => {\n const { toggleSidebar } = useSidebar();\n\n const handleClick = useCallback(\n (\n event: Parameters<\n NonNullable<ComponentProps<typeof ActionIcon>[\"onClick\"]>\n >[0]\n ) => {\n onClick?.(event);\n toggleSidebar();\n },\n [onClick, toggleSidebar]\n );\n\n return (\n <ActionIcon\n className={cn(\"cursor-clickable\", className)}\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n onClick={handleClick}\n size=\"sm\"\n variant=\"ghost\"\n {...props}\n >\n <HugeiconsIcon icon={SidebarLeftIcon} strokeWidth={2} />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </ActionIcon>\n );\n};\n\nexport { SidebarTrigger };\n","\"use client\";\n\nimport type { ComponentProps, CSSProperties } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"../sheet/sheet\";\nimport { SIDEBAR_WIDTH_MOBILE } from \"./constants\";\nimport { SidebarContent } from \"./sidebar-content\";\nimport { SidebarFooter } from \"./sidebar-footer\";\nimport { SidebarGroup } from \"./sidebar-group\";\nimport { SidebarGroupAction } from \"./sidebar-group-action\";\nimport { SidebarGroupContent } from \"./sidebar-group-content\";\nimport { SidebarGroupLabel } from \"./sidebar-group-label\";\nimport { SidebarHeader } from \"./sidebar-header\";\nimport { SidebarInput } from \"./sidebar-input\";\nimport { SidebarInset } from \"./sidebar-inset\";\nimport { SidebarMenu } from \"./sidebar-menu\";\nimport { SidebarMenuAction } from \"./sidebar-menu-action\";\nimport { SidebarMenuBadge } from \"./sidebar-menu-badge\";\nimport { SidebarMenuButton } from \"./sidebar-menu-button\";\nimport { SidebarMenuItem } from \"./sidebar-menu-item\";\nimport { SidebarMenuSkeleton } from \"./sidebar-menu-skeleton\";\nimport { SidebarMenuSub } from \"./sidebar-menu-sub\";\nimport { SidebarMenuSubButton } from \"./sidebar-menu-sub-button\";\nimport { SidebarMenuSubItem } from \"./sidebar-menu-sub-item\";\nimport { SidebarProvider } from \"./sidebar-provider\";\nimport { SidebarRail } from \"./sidebar-rail\";\nimport { SidebarSeparator } from \"./sidebar-separator\";\nimport { SidebarTrigger } from \"./sidebar-trigger\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarProps = ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offExamples\" | \"icon\" | \"none\";\n};\n\nconst Sidebar = ({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offExamples\",\n className,\n children,\n ...props\n}: SidebarProps) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n className={cn(\n \"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n className\n )}\n data-slot=\"sidebar\"\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet onOpenChange={setOpenMobile} open={openMobile} {...props}>\n <SheetContent\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n side={side}\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-side={side}\n data-slot=\"sidebar\"\n data-state={state}\n data-variant={variant}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offExamples]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n data-slot=\"sidebar-gap\"\n />\n <div\n className={cn(\n \"z-raised fixed inset-y-0 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offExamples]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offExamples]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n data-slot=\"sidebar-container\"\n {...props}\n >\n <div\n className=\"bg-sidebar group-data-[variant=floating]:ring-sidebar-border flex size-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nSidebar.Content = SidebarContent;\nSidebar.Footer = SidebarFooter;\nSidebar.Group = SidebarGroup;\nSidebar.GroupAction = SidebarGroupAction;\nSidebar.GroupContent = SidebarGroupContent;\nSidebar.GroupLabel = SidebarGroupLabel;\nSidebar.Header = SidebarHeader;\nSidebar.Input = SidebarInput;\nSidebar.Inset = SidebarInset;\nSidebar.Menu = SidebarMenu;\nSidebar.MenuAction = SidebarMenuAction;\nSidebar.MenuBadge = SidebarMenuBadge;\nSidebar.MenuButton = SidebarMenuButton;\nSidebar.MenuItem = SidebarMenuItem;\nSidebar.MenuSkeleton = SidebarMenuSkeleton;\nSidebar.MenuSub = SidebarMenuSub;\nSidebar.MenuSubButton = SidebarMenuSubButton;\nSidebar.MenuSubItem = SidebarMenuSubItem;\nSidebar.Provider = SidebarProvider;\nSidebar.Rail = SidebarRail;\nSidebar.Separator = SidebarSeparator;\nSidebar.Trigger = SidebarTrigger;\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n\nexport type { SidebarContentProps } from \"./sidebar-content\";\nexport type { SidebarFooterProps } from \"./sidebar-footer\";\nexport type { SidebarGroupProps } from \"./sidebar-group\";\nexport type { SidebarGroupActionProps } from \"./sidebar-group-action\";\nexport type { SidebarGroupContentProps } from \"./sidebar-group-content\";\nexport type { SidebarGroupLabelProps } from \"./sidebar-group-label\";\nexport type { SidebarHeaderProps } from \"./sidebar-header\";\nexport type { SidebarInputProps } from \"./sidebar-input\";\nexport type { SidebarInsetProps } from \"./sidebar-inset\";\nexport type { SidebarMenuProps } from \"./sidebar-menu\";\nexport type { SidebarMenuActionProps } from \"./sidebar-menu-action\";\nexport type { SidebarMenuBadgeProps } from \"./sidebar-menu-badge\";\nexport type { SidebarMenuButtonProps } from \"./sidebar-menu-button\";\nexport type { SidebarMenuItemProps } from \"./sidebar-menu-item\";\nexport type { SidebarMenuSkeletonProps } from \"./sidebar-menu-skeleton\";\nexport type { SidebarMenuSubProps } from \"./sidebar-menu-sub\";\nexport type { SidebarMenuSubButtonProps } from \"./sidebar-menu-sub-button\";\nexport type { SidebarMenuSubItemProps } from \"./sidebar-menu-sub-item\";\nexport type { SidebarProviderProps } from \"./sidebar-provider\";\nexport type { SidebarRailProps } from \"./sidebar-rail\";\nexport type { SidebarSeparatorProps } from \"./sidebar-separator\";\nexport type { SidebarTriggerProps } from \"./sidebar-trigger\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAa,sBAAsB;AACnC,MAAa,yBAAyB,OAAU,KAAK;AACrD,MAAa,gBAAgB;AAC7B,MAAa,uBAAuB;AACpC,MAAa,qBAAqB;AAClC,MAAa,4BAA4B;;;;ACDzC,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,oBAAC,OAAD;CACE,WAAW,GACT,+GACA,UACD;CACD,gBAAa;CACb,aAAU;CACV,GAAI;CACJ;;;;ACTJ,MAAM,iBAAiB,EAAE,WAAW,GAAG,YACrC,oBAAC,OAAD;CACE,WAAW,GAAG,2BAA2B,UAAU;CACnD,gBAAa;CACb,aAAU;CACV,GAAI;CACJ;;;;ACNJ,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,oBAAC,OAAD;CACE,WAAW,GAAG,6CAA6C,UAAU;CACrE,gBAAa;CACb,aAAU;CACV,GAAI;CACJ;;;;ACHJ,MAAM,sBAAsB,EAC1B,WACA,QACA,GAAG,YAEH,UAAU;CACR,gBAAgB;CAChB,OAAO,WACL,EACE,WAAW,GACT,iXACA,UACD,EACF,EACD,MACD;CACD;CACA,OAAO;EACL,SAAS;EACT,MAAM;EACP;CACF,CAAC;;;;ACxBJ,MAAM,uBAAuB,EAC3B,WACA,GAAG,YAEH,oBAAC,OAAD;CACE,WAAW,GAAG,kBAAkB,UAAU;CAC1C,gBAAa;CACb,aAAU;CACV,GAAI;CACJ;;;;ACNJ,MAAM,qBAAqB,EACzB,WACA,QACA,GAAG,YAEH,UAAU;CACR,gBAAgB;CAChB,OAAO,WACL,EACE,WAAW,GACT,wTACA,UACD,EACF,EACD,MACD;CACD;CACA,OAAO;EACL,SAAS;EACT,MAAM;EACP;CACF,CAAC;;;;ACxBJ,MAAM,iBAAiB,EAAE,WAAW,GAAG,YACrC,oBAAC,OAAD;CACE,WAAW,GAAG,2BAA2B,UAAU;CACnD,gBAAa;CACb,aAAU;CACV,GAAI;CACJ;;;;ACJJ,MAAM,gBAAgB,EACpB,WACA,OAAO,MACP,GAAG,YAEH,oBAAC,OAAD;CACE,WAAW,GAAG,oCAAoC,UAAU;CAC5D,gBAAa;CACP;CACN,aAAU;CACV,GAAI;CACJ;;;;ACbJ,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,oBAAC,QAAD;CACE,WAAW,GACT,8QACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACFJ,MAAM,qBAAqB,cAAuC,EAChE,MAAM,MACP,CAAC;;;;ACDF,MAAM,eAAe,EACnB,WACA,MAAM,cACN,GAAG,YACmB;CACtB,MAAM,OAAO,iBAAiB,aAAa;CAC3C,MAAM,eAAe,eAAe,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC;AAEtD,QACE,oBAAC,mBAAmB,UAApB;EAA6B,OAAO;YAClC,oBAAC,MAAD;GACE,WAAW,GAAG,sCAAsC,UAAU;GAC9D,gBAAa;GACb,aAAW;GACX,aAAU;GACV,GAAI;GACJ;EAC0B;;;;;AClBlC,MAAM,4BAA4B,GAAG;CACnC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAQF,MAAM,qBAAqB,EACzB,WACA,QACA,MACA,cAAc,OACd,GAAG,YACyB;CAC5B,MAAM,EAAE,MAAM,aAAa,WAAW,mBAAmB;CACzD,MAAM,eAA0B,QAAQ,YAAY;AAEpD,QAAO,UAAU;EACf,gBAAgB;EAChB,OAAO,WACL,EACE,WAAW,GACT,0BAA0B,EAAE,MAAM,cAAc,CAAC,EACjD,uMACA,eACE,6KACF,UACD,EACF,EACD,MACD;EACD;EACA,OAAO;GACL,SAAS;GACT,MAAM;GACN,MAAM;GACP;EACF,CAAC;;;;;ACtDJ,MAAM,2BAA2B,GAAG;CAClC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAOF,MAAM,oBAAoB,EACxB,WACA,MACA,GAAG,YACwB;CAC3B,MAAM,EAAE,MAAM,aAAa,WAAW,mBAAmB;CACzD,MAAM,eAA0B,QAAQ,YAAY;AAEpD,QACE,oBAAC,OAAD;EACE,WAAW,GACT,yBAAyB,EAAE,MAAM,cAAc,CAAC,EAChD,UACD;EACD,gBAAa;EACb,aAAW;EACX,aAAU;EACV,GAAI;EACJ;;;;;ACjCN,MAAa,iBAAiB,cAA0C,KAAK;AAE7E,MAAa,mBAAmB;CAC9B,MAAM,UAAU,WAAW,eAAe;AAC1C,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,oDAAoD;AAGtE,QAAO;;;;;ACJT,MAAM,4BAA4B,GAAG;CACnC,MAAM;CACN,iBAAiB;EACf,MAAM;EACN,SAAS;EACV;CACD,UAAU;EACR,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL;EACD,SAAS;GACP,SAAS;GACT,SACE;GACH;EACF;CACF,CAAC;AAEF,MAAM,qBAAqB,EACzB,QACA,WAAW,OACX,UAAU,WACV,MACA,SACA,WACA,GAAG,YACyB;CAC5B,MAAM,EAAE,MAAM,aAAa,WAAW,mBAAmB;CACzD,MAAM,eAA0B,QAAQ,YAAY;CACpD,MAAM,EAAE,UAAU,UAAU,YAAY;CACxC,MAAM,OAAO,UAAU;EACrB,gBAAgB;EAChB,OAAO,WACL,EACE,WAAW,GACT,0BAA0B;GAAE,MAAM;GAAc;GAAS,CAAC,EAC1D,UACD,EACF,EACD,MACD;EACD,QAAQ,UAAU,iBAAiB;EACnC,OAAO;GACL,QAAQ;GACR,SAAS;GACT,MAAM;GACN,MAAM;GACP;EACF,CAAC;AAEF,KAAI,CAAC,QACH,QAAO;AAGT,KAAI,OAAO,YAAY,SAErB,WAAU,EACR,UAAU,SACX;AAGH,QACE,qBAAC,SAAD,aACG,MACD,oBAAC,gBAAD;EACE,OAAM;EACN,QAAQ,UAAU,eAAe;EACjC,MAAK;EACL,GAAI;EACJ,EACM;;;;;ACxFd,MAAM,mBAAmB,EAAE,WAAW,GAAG,YACvC,oBAAC,MAAD;CACE,WAAW,GAAG,4BAA4B,UAAU;CACpD,gBAAa;CACb,aAAU;CACV,GAAI;CACJ;;;;ACCJ,MAAM,8BAA8B,GAAG;CACrC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAOF,MAAM,uBAAuB,EAC3B,WACA,MACA,WAAW,OACX,GAAG,YAC2B;CAC9B,MAAM,EAAE,MAAM,aAAa,WAAW,mBAAmB;CACzD,MAAM,eAA0B,QAAQ,YAAY;AAEpD,QACE,qBAAC,OAAD;EACE,WAAW,GACT,4BAA4B,EAAE,MAAM,cAAc,CAAC,EACnD,UACD;EACD,gBAAa;EACb,aAAW;EACX,aAAU;EACV,GAAI;YARN,CAUG,YACC,oBAAC,UAAD;GACE,WAAU;GACV,gBAAa;GACb,GAEJ,oBAAC,UAAD;GACE,WAAU;GACV,gBAAa;GACb,OACE,EACE,oBAAoB,QACrB;GAEH,EACE;;;;;;AC3DV,MAAM,yBAAyB,GAAG;CAChC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAOF,MAAM,kBAAkB,EAAE,WAAW,MAAM,GAAG,YAAiC;CAC7E,MAAM,EAAE,MAAM,aAAa,WAAW,mBAAmB;CACzD,MAAM,eAA0B,QAAQ,YAAY;AAEpD,QACE,oBAAC,MAAD;EACE,WAAW,GAAG,uBAAuB,EAAE,MAAM,cAAc,CAAC,EAAE,UAAU;EACxE,gBAAa;EACb,aAAW;EACX,aAAU;EACV,GAAI;EACJ;;;;;ACzBN,MAAM,+BAA+B,GAAG;CACtC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAEF,MAAM,wBAAwB,EAC5B,QACA,MACA,WAAW,OACX,WACA,GAAG,YAC4B;CAC/B,MAAM,EAAE,MAAM,aAAa,WAAW,mBAAmB;CACzD,MAAM,eAA0B,QAAQ,YAAY;AAEpD,QAAO,UAAU;EACf,gBAAgB;EAChB,OAAO,WACL,EACE,WAAW,GACT,6BAA6B,EAAE,MAAM,cAAc,CAAC,EACpD,UACD,EACF,EACD,MACD;EACD;EACA,OAAO;GACL,QAAQ;GACR,SAAS;GACT,MAAM;GACN,MAAM;GACP;EACF,CAAC;;;;;ACvDJ,MAAM,sBAAsB,EAC1B,WACA,GAAG,YAEH,oBAAC,MAAD;CACE,WAAW,GAAG,gCAAgC,UAAU;CACxD,gBAAa;CACb,aAAU;CACV,GAAI;CACJ;;;;ACSJ,MAAM,mBAAmB,EACvB,cAAc,MACd,MAAM,UACN,cAAc,aACd,WACA,OACA,UACA,GAAG,YACuB;CAC1B,MAAM,WAAW,aAAa;CAC9B,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CAInD,MAAM,CAAC,OAAO,YAAY,SAAS,YAAY;CAC/C,MAAM,OAAO,YAAY;CACzB,MAAM,UAAU,aACb,UAAkD;EACjD,MAAM,YAAY,OAAO,UAAU,aAAa,MAAM,KAAK,GAAG;AAC9D,MAAI,YACF,aAAY,UAAU;MAEtB,UAAS,UAAU;AAKrB,WAAS,SAAS,GAAG,oBAAoB,GAAG,UAAU,oBAAoB;IAE5E,CAAC,aAAa,KAAK,CACpB;CAGD,MAAM,gBAAgB,kBAElB,WAAW,eAAe,SAAS,CAAC,KAAK,GAAG,SAAS,SAAS,CAAC,KAAK,EACtE,CAAC,UAAU,QAAQ,CACpB;AAGD,iBAAgB;EACd,MAAM,iBAAiB,UAAyB;AAC9C,OACE,MAAM,QAAQ,8BACb,MAAM,WAAW,MAAM,UACxB;AACA,UAAM,gBAAgB;AACtB,mBAAe;;;AAInB,SAAO,iBAAiB,WAAW,cAAc;AACjD,eAAa,OAAO,oBAAoB,WAAW,cAAc;IAChE,CAAC,cAAc,CAAC;CAInB,MAAM,QAAQ,OAAO,aAAa;CAElC,MAAM,eAAe,eACZ;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD,GACD;EAAC;EAAO;EAAM;EAAS;EAAU;EAAY;EAAc,CAC5D;AAED,QACE,oBAAC,eAAe,UAAhB;EAAyB,OAAO;YAC9B,oBAAC,OAAD;GACE,WAAW,GACT,mFACA,UACD;GACD,aAAU;GACV,OACE;IACE,mBAAmB;IACnB,wBAAwB;IACxB,GAAG;IACJ;GAEH,GAAI;GAEH;GACG;EACkB;;;;;AC3G9B,MAAM,eAAe,EAAE,WAAW,GAAG,YAA8B;CACjE,MAAM,EAAE,OAAO,kBAAkB,YAAY;CAC7C,MAAM,aAAa,UAAU;CAC7B,MAAM,QAAQ,aAAa,qBAAqB;AAEhD,QACE,oBAAC,UAAD;EACE,MAAK;EACL,iBAAe;EACf,cAAY;EACZ,WAAW,GACT,+WACA,4EACA,0HACA,iKACA,+DACA,+DACA,UACD;EACD,gBAAa;EACb,aAAU;EACV,SAAS;EACT,OAAO;EACP,GAAI;EACJ;;;;;ACxBN,MAAM,oBAAoB,EAAE,WAAW,GAAG,YACxC,oBAAC,WAAD;CACE,WAAW,GAAG,4BAA4B,UAAU;CACpD,gBAAa;CACb,aAAU;CACV,GAAI;CACJ;;;;ACAJ,MAAM,kBAAkB,EACtB,WACA,SACA,GAAG,YACsB;CACzB,MAAM,EAAE,kBAAkB,YAAY;CAEtC,MAAM,cAAc,aAEhB,UAGG;AACH,YAAU,MAAM;AAChB,iBAAe;IAEjB,CAAC,SAAS,cAAc,CACzB;AAED,QACE,qBAAC,YAAD;EACE,WAAW,GAAG,oBAAoB,UAAU;EAC5C,gBAAa;EACb,aAAU;EACV,SAAS;EACT,MAAK;EACL,SAAQ;EACR,GAAI;YAPN,CASE,oBAAC,eAAD;GAAe,MAAM;GAAiB,aAAa;GAAK,GACxD,oBAAC,QAAD;GAAM,WAAU;aAAU;GAAqB,EACpC;;;;;;ACDjB,MAAM,WAAW,EACf,OAAO,QACP,UAAU,WACV,cAAc,eACd,WACA,UACA,GAAG,YACe;CAClB,MAAM,EAAE,UAAU,OAAO,YAAY,kBAAkB,YAAY;AAEnE,KAAI,gBAAgB,OAClB,QACE,oBAAC,OAAD;EACE,WAAW,GACT,+EACA,UACD;EACD,aAAU;EACV,GAAI;EAEH;EACG;AAIV,KAAI,SACF,QACE,oBAAC,OAAD;EAAO,cAAc;EAAe,MAAM;EAAY,GAAI;YACxD,qBAAC,cAAD;GACE,WAAU;GACV,eAAY;GACZ,gBAAa;GACb,aAAU;GACJ;GACN,OACE,EACE,mBAAmB,sBACpB;aATL,CAYE,qBAAC,aAAD;IAAa,WAAU;cAAvB,CACE,oBAAC,YAAD,YAAY,WAAoB,GAChC,oBAAC,kBAAD,YAAkB,gCAA+C,EACrD;OACd,oBAAC,OAAD;IAAK,WAAU;IAA+B;IAAe,EAChD;;EACT;AAIZ,QACE,qBAAC,OAAD;EACE,WAAU;EACV,oBAAkB,UAAU,cAAc,cAAc;EACxD,aAAW;EACX,aAAU;EACV,cAAY;EACZ,gBAAc;YANhB,CASE,oBAAC,OAAD;GACE,WAAW,GACT,2FACA,4CACA,sCACA,YAAY,cAAc,YAAY,UAClC,qFACA,yDACL;GACD,aAAU;GACV,GACF,oBAAC,OAAD;GACE,WAAW,GACT,4HACA,SAAS,SACL,qFACA,sFAEJ,YAAY,cAAc,YAAY,UAClC,6FACA,2HACJ,UACD;GACD,aAAU;GACV,GAAI;aAEJ,oBAAC,OAAD;IACE,WAAU;IACV,gBAAa;IACb,aAAU;IAET;IACG;GACF,EACF;;;AAIV,QAAQ,UAAU;AAClB,QAAQ,SAAS;AACjB,QAAQ,QAAQ;AAChB,QAAQ,cAAc;AACtB,QAAQ,eAAe;AACvB,QAAQ,aAAa;AACrB,QAAQ,SAAS;AACjB,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,QAAQ,OAAO;AACf,QAAQ,aAAa;AACrB,QAAQ,YAAY;AACpB,QAAQ,aAAa;AACrB,QAAQ,WAAW;AACnB,QAAQ,eAAe;AACvB,QAAQ,UAAU;AAClB,QAAQ,gBAAgB;AACxB,QAAQ,cAAc;AACtB,QAAQ,WAAW;AACnB,QAAQ,OAAO;AACf,QAAQ,YAAY;AACpB,QAAQ,UAAU"}
1
+ {"version":3,"file":"sidebar.js","names":[],"sources":["../../src/ui/sidebar/sidebar-content.tsx","../../src/ui/sidebar/sidebar-footer.tsx","../../src/ui/sidebar/sidebar-group.tsx","../../src/ui/sidebar/sidebar-group-action.tsx","../../src/ui/sidebar/sidebar-group-content.tsx","../../src/ui/sidebar/sidebar-group-label.tsx","../../src/ui/sidebar/sidebar-header.tsx","../../src/ui/sidebar/sidebar-input.tsx","../../src/ui/sidebar/sidebar-inset.tsx","../../src/ui/sidebar/sidebar-menu-context.tsx","../../src/ui/sidebar/sidebar-menu.tsx","../../src/ui/sidebar/sidebar-menu-action.tsx","../../src/ui/sidebar/sidebar-menu-badge.tsx","../../src/ui/sidebar/use-sidebar.tsx","../../src/ui/sidebar/sidebar-menu-button.tsx","../../src/ui/sidebar/sidebar-menu-item.tsx","../../src/ui/sidebar/sidebar-menu-skeleton.tsx","../../src/ui/sidebar/sidebar-menu-sub.tsx","../../src/ui/sidebar/sidebar-menu-sub-button.tsx","../../src/ui/sidebar/sidebar-menu-sub-item.tsx","../../src/ui/sidebar/constants.ts","../../src/ui/sidebar/sidebar-provider.tsx","../../src/ui/sidebar/sidebar-rail.tsx","../../src/ui/sidebar/sidebar-separator.tsx","../../src/ui/sidebar/sidebar-trigger.tsx","../../src/ui/sidebar/sidebar.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarContentProps = ComponentProps<\"div\">;\n\nconst SidebarContent = ({ className, ...props }: SidebarContentProps) => (\n <div\n className={cn(\n \"no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n data-sidebar=\"content\"\n data-slot=\"sidebar-content\"\n {...props}\n />\n);\n\nexport { SidebarContent };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarFooterProps = ComponentProps<\"div\">;\n\nconst SidebarFooter = ({ className, ...props }: SidebarFooterProps) => (\n <div\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n data-sidebar=\"footer\"\n data-slot=\"sidebar-footer\"\n {...props}\n />\n);\n\nexport { SidebarFooter };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupProps = ComponentProps<\"div\">;\n\nconst SidebarGroup = ({ className, ...props }: SidebarGroupProps) => (\n <div\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n data-sidebar=\"group\"\n data-slot=\"sidebar-group\"\n {...props}\n />\n);\n\nexport { SidebarGroup };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupActionProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\">;\n\nconst SidebarGroupAction = ({\n className,\n render,\n ...props\n}: SidebarGroupActionProps) =>\n useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n sidebar: \"group-action\",\n slot: \"sidebar-group-action\",\n },\n });\n\nexport { SidebarGroupAction };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupContentProps = ComponentProps<\"div\">;\n\nconst SidebarGroupContent = ({\n className,\n ...props\n}: SidebarGroupContentProps) => (\n <div\n className={cn(\"w-full text-sm\", className)}\n data-sidebar=\"group-content\"\n data-slot=\"sidebar-group-content\"\n {...props}\n />\n);\n\nexport { SidebarGroupContent };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupLabelProps = useRender.ComponentProps<\"div\"> &\n ComponentProps<\"div\">;\n\nconst SidebarGroupLabel = ({\n className,\n render,\n ...props\n}: SidebarGroupLabelProps) =>\n useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n sidebar: \"group-label\",\n slot: \"sidebar-group-label\",\n },\n });\n\nexport { SidebarGroupLabel };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarHeaderProps = ComponentProps<\"div\">;\n\nconst SidebarHeader = ({ className, ...props }: SidebarHeaderProps) => (\n <div\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n data-sidebar=\"header\"\n data-slot=\"sidebar-header\"\n {...props}\n />\n);\n\nexport { SidebarHeader };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Input } from \"../input/input\";\nexport type SidebarInputProps = ComponentProps<typeof Input>;\n\nconst SidebarInput = ({\n className,\n size = \"sm\",\n ...props\n}: SidebarInputProps) => (\n <Input\n className={cn(\"bg-background w-full shadow-none\", className)}\n data-sidebar=\"input\"\n size={size}\n data-slot=\"sidebar-input\"\n {...props}\n />\n);\n\nexport { SidebarInput };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarInsetProps = ComponentProps<\"main\">;\n\nconst SidebarInset = ({ className, ...props }: SidebarInsetProps) => (\n <main\n className={cn(\n \"bg-background relative flex w-full min-w-0 flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className\n )}\n data-slot=\"sidebar-inset\"\n {...props}\n />\n);\n\nexport { SidebarInset };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface SidebarMenuContextValue {\n size?: InputSize;\n}\n\nconst SidebarMenuContext = createContext<SidebarMenuContextValue>({\n size: \"md\",\n});\n\nexport { SidebarMenuContext };\n","import type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nexport type SidebarMenuProps = ComponentProps<\"ul\"> & {\n size?: InputSize;\n};\n\nconst SidebarMenu = ({\n className,\n size: providedSize,\n ...props\n}: SidebarMenuProps) => {\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <SidebarMenuContext.Provider value={contextValue}>\n <ul\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n data-sidebar=\"menu\"\n data-size={size}\n data-slot=\"sidebar-menu\"\n {...props}\n />\n </SidebarMenuContext.Provider>\n );\n};\n\nexport { SidebarMenu };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuActionVariants = tv({\n base: \"text-sidebar-foreground ring-sidebar-ring peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute right-1 flex aspect-square items-center justify-center rounded-md p-0 outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 focus-visible:ring-2 md:after:hidden [&>svg]:shrink-0\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"top-2 w-6 [&>svg:not([class*='size-'])]:size-4\",\n md: \"top-1.5 w-5 [&>svg:not([class*='size-'])]:size-4\",\n sm: \"top-1 w-5 [&>svg:not([class*='size-'])]:size-3.5\",\n xl: \"top-2.5 w-7 [&>svg:not([class*='size-'])]:size-5\",\n xs: \"top-0.5 w-4 [&>svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\nexport type SidebarMenuActionProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\"> & {\n showOnHover?: boolean;\n size?: InputSize;\n } & VariantProps<typeof sidebarMenuActionVariants>;\n\nconst SidebarMenuAction = ({\n className,\n render,\n size,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n sidebarMenuActionVariants({ size: resolvedSize }),\n \"peer-data-[size=lg]/menu-button:top-2 peer-data-[size=md]/menu-button:top-1.5 peer-data-[size=sm]/menu-button:top-1 peer-data-[size=xl]/menu-button:top-2.5 peer-data-[size=xs]/menu-button:top-0.5\",\n showOnHover &&\n \"peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-open:opacity-100 md:opacity-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n sidebar: \"menu-action\",\n size: resolvedSize,\n slot: \"sidebar-menu-action\",\n },\n });\n};\n\nexport { SidebarMenuAction };\n","import type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuBadgeVariants = tv({\n base: \"text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-active/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex items-center justify-center rounded-md px-1 font-medium tabular-nums select-none group-data-[collapsible=icon]:hidden\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"top-2 h-6 min-w-6 text-xs\",\n md: \"top-1.5 h-5 min-w-5 text-xs\",\n sm: \"top-1 h-5 min-w-5 text-[11px]\",\n xl: \"top-2.5 h-7 min-w-7 text-sm\",\n xs: \"top-0.5 h-4 min-w-4 text-[10px]\",\n },\n },\n});\n\nexport type SidebarMenuBadgeProps = ComponentProps<\"div\"> &\n VariantProps<typeof sidebarMenuBadgeVariants> & {\n size?: InputSize;\n };\n\nconst SidebarMenuBadge = ({\n className,\n size,\n ...props\n}: SidebarMenuBadgeProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <div\n className={cn(\n sidebarMenuBadgeVariants({ size: resolvedSize }),\n className\n )}\n data-sidebar=\"menu-badge\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-badge\"\n {...props}\n />\n );\n};\n\nexport { SidebarMenuBadge };\n","\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport interface SidebarContextProps {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n}\n\nexport const SidebarContext = createContext<SidebarContextProps | null>(null);\n\nexport const useSidebar = () => {\n const context = useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n};\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../tooltip/tooltip\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarMenuButtonProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\"> & {\n isActive?: boolean;\n tooltip?: string | ComponentProps<typeof TooltipContent>;\n size?: InputSize;\n } & VariantProps<typeof sidebarMenuButtonVariants>;\n\nconst sidebarMenuButtonVariants = tv({\n base: \"peer/menu-button group/menu-button cursor-clickable ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground flex w-full items-center gap-2 overflow-hidden rounded-md text-left outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:font-medium [&_svg]:shrink-0 [&>span:last-child]:truncate\",\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n variants: {\n size: {\n lg: \"h-10 px-2.5 py-2 text-sm [&_svg:not([class*='size-'])]:size-4\",\n md: \"h-8 px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n sm: \"h-7 px-2 py-1 text-xs [&_svg:not([class*='size-'])]:size-3.5\",\n xl: \"h-11 px-3 py-2 text-base [&_svg:not([class*='size-'])]:size-5\",\n xs: \"h-6 px-1.5 py-1 text-xs [&_svg:not([class*='size-'])]:size-3\",\n },\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--kb-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--kb-sidebar-accent))]\",\n },\n },\n});\n\nconst SidebarMenuButton = ({\n render,\n isActive = false,\n variant = \"default\",\n size,\n tooltip,\n className,\n ...props\n}: SidebarMenuButtonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n const { isMobile, state } = useSidebar();\n const comp = useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n sidebarMenuButtonVariants({ size: resolvedSize, variant }),\n className\n ),\n },\n props\n ),\n render: tooltip ? TooltipTrigger : render,\n state: {\n active: isActive,\n sidebar: \"menu-button\",\n size: resolvedSize,\n slot: \"sidebar-menu-button\",\n },\n });\n\n if (!tooltip) {\n return comp;\n }\n\n if (typeof tooltip === \"string\") {\n // oxlint-disable-next-line no-param-reassign\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n {comp}\n <TooltipContent\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n side=\"right\"\n {...tooltip}\n />\n </Tooltip>\n );\n};\n\nexport { SidebarMenuButton, sidebarMenuButtonVariants };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarMenuItemProps = ComponentProps<\"li\">;\n\nconst SidebarMenuItem = ({ className, ...props }: SidebarMenuItemProps) => (\n <li\n className={cn(\"group/menu-item relative\", className)}\n data-sidebar=\"menu-item\"\n data-slot=\"sidebar-menu-item\"\n {...props}\n />\n);\n\nexport { SidebarMenuItem };\n","\"use client\";\n\nimport type { ComponentProps, CSSProperties } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { Skeleton } from \"../skeleton/skeleton\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuSkeletonVariants = tv({\n base: \"flex items-center gap-2 rounded-md\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"h-10 px-2.5\",\n md: \"h-8 px-2\",\n sm: \"h-7 px-2\",\n xl: \"h-11 px-3\",\n xs: \"h-6 px-1.5\",\n },\n },\n});\n\nexport type SidebarMenuSkeletonProps = ComponentProps<\"div\"> & {\n showIcon?: boolean;\n size?: InputSize;\n} & VariantProps<typeof sidebarMenuSkeletonVariants>;\n\nconst SidebarMenuSkeleton = ({\n className,\n size,\n showIcon = false,\n ...props\n}: SidebarMenuSkeletonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <div\n className={cn(\n sidebarMenuSkeletonVariants({ size: resolvedSize }),\n className\n )}\n data-sidebar=\"menu-skeleton\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-skeleton\"\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": \"100%\",\n } as CSSProperties\n }\n />\n </div>\n );\n};\n\nexport { SidebarMenuSkeleton };\n","import type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuSubVariants = tv({\n base: \"border-sidebar-border flex min-w-0 translate-x-px flex-col border-l group-data-[collapsible=icon]:hidden\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"mx-4 gap-1 px-3 py-1\",\n md: \"mx-3.5 gap-1 px-2.5 py-0.5\",\n sm: \"mx-3 gap-1 px-2 py-0.5\",\n xl: \"mx-4.5 gap-1.5 px-3.5 py-1\",\n xs: \"mx-2.5 gap-0.5 px-1.5 py-0.5\",\n },\n },\n});\n\nexport type SidebarMenuSubProps = ComponentProps<\"ul\"> &\n VariantProps<typeof sidebarMenuSubVariants> & {\n size?: InputSize;\n };\n\nconst SidebarMenuSub = ({ className, size, ...props }: SidebarMenuSubProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <ul\n className={cn(sidebarMenuSubVariants({ size: resolvedSize }), className)}\n data-sidebar=\"menu-sub\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-sub\"\n {...props}\n />\n );\n};\n\nexport { SidebarMenuSub };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nexport type SidebarMenuSubButtonProps = useRender.ComponentProps<\"a\"> &\n ComponentProps<\"a\"> & {\n size?: InputSize;\n isActive?: boolean;\n } & VariantProps<typeof sidebarMenuSubButtonVariants>;\n\nconst sidebarMenuSubButtonVariants = tv({\n base: \"cursor-clickable text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex min-w-0 -translate-x-px items-center overflow-hidden rounded-md outline-hidden group-data-[collapsible=icon]:hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"h-9 gap-2.5 px-2.5 text-sm [&>svg:not([class*='size-'])]:size-4\",\n md: \"h-8 gap-2 px-2 text-sm [&>svg:not([class*='size-'])]:size-4\",\n sm: \"h-7 gap-2 px-2 text-xs [&>svg:not([class*='size-'])]:size-3.5\",\n xl: \"h-10 gap-2.5 px-3 text-base [&>svg:not([class*='size-'])]:size-5\",\n xs: \"h-6 gap-1.5 px-1.5 text-xs [&>svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\nconst SidebarMenuSubButton = ({\n render,\n size,\n isActive = false,\n className,\n ...props\n}: SidebarMenuSubButtonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n className: cn(\n sidebarMenuSubButtonVariants({ size: resolvedSize }),\n className\n ),\n },\n props\n ),\n render,\n state: {\n active: isActive,\n sidebar: \"menu-sub-button\",\n size: resolvedSize,\n slot: \"sidebar-menu-sub-button\",\n },\n });\n};\n\nexport { SidebarMenuSubButton };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarMenuSubItemProps = ComponentProps<\"li\">;\n\nconst SidebarMenuSubItem = ({\n className,\n ...props\n}: SidebarMenuSubItemProps) => (\n <li\n className={cn(\"group/menu-sub-item relative\", className)}\n data-sidebar=\"menu-sub-item\"\n data-slot=\"sidebar-menu-sub-item\"\n {...props}\n />\n);\n\nexport { SidebarMenuSubItem };\n","export const SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nexport const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nexport const SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n","\"use client\";\n\nimport { useIsMobile } from \"@kuzenbo/hooks/use-mobile\";\nimport type { ComponentProps, CSSProperties } from \"react\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport {\n SIDEBAR_COOKIE_MAX_AGE,\n SIDEBAR_COOKIE_NAME,\n SIDEBAR_KEYBOARD_SHORTCUT,\n} from \"./constants\";\nimport { SidebarContext } from \"./use-sidebar\";\nimport type { SidebarContextProps } from \"./use-sidebar\";\nexport type SidebarProviderProps = ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n};\n\nconst SidebarProvider = ({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: SidebarProviderProps) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = useCallback(\n (value: boolean | ((prev: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n // oxlint-disable-next-line unicorn/no-document-cookie\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(\n () =>\n isMobile ? setOpenMobile((prev) => !prev) : setOpen((prev) => !prev),\n [isMobile, setOpen]\n );\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = useMemo<SidebarContextProps>(\n () => ({\n isMobile,\n open,\n openMobile,\n setOpen,\n setOpenMobile,\n state,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <div\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\",\n className\n )}\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": \"var(--kb-sidebar-width, 16rem)\",\n \"--sidebar-width-icon\": \"var(--kb-sidebar-width-icon, 3rem)\",\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n {children}\n </div>\n </SidebarContext.Provider>\n );\n};\n\nexport { SidebarProvider };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarRailProps = ComponentProps<\"button\">;\n\nconst SidebarRail = ({ className, ...props }: SidebarRailProps) => {\n const { state, toggleSidebar } = useSidebar();\n const isExpanded = state === \"expanded\";\n const label = isExpanded ? \"Collapse Sidebar\" : \"Expand Sidebar\";\n\n return (\n <button\n type=\"button\"\n aria-expanded={isExpanded}\n aria-label={label}\n className={cn(\n \"z-elevated focus-visible:ring-sidebar-ring hover:after:bg-sidebar-border focus-visible:after:bg-sidebar-border absolute inset-y-0 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] focus-visible:ring-2 focus-visible:outline-none sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offExamples]:bg-sidebar group-data-[collapsible=offExamples]:translate-x-0 group-data-[collapsible=offExamples]:after:left-full\",\n \"[[data-side=left][data-collapsible=offExamples]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offExamples]_&]:-left-2\",\n className\n )}\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n onClick={toggleSidebar}\n title={label}\n {...props}\n />\n );\n};\n\nexport { SidebarRail };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Separator } from \"../separator/separator\";\nexport type SidebarSeparatorProps = ComponentProps<typeof Separator>;\n\nconst SidebarSeparator = ({ className, ...props }: SidebarSeparatorProps) => (\n <Separator\n className={cn(\"bg-sidebar-border w-auto\", className)}\n data-sidebar=\"separator\"\n data-slot=\"sidebar-separator\"\n {...props}\n />\n);\n\nexport { SidebarSeparator };\n","\"use client\";\n\nimport { SidebarLeftIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useCallback } from \"react\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { ActionIcon } from \"../action-icon/action-icon\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarTriggerProps = ComponentProps<typeof ActionIcon>;\n\nconst SidebarTrigger = ({\n className,\n onClick,\n ...props\n}: SidebarTriggerProps) => {\n const { toggleSidebar } = useSidebar();\n\n const handleClick = useCallback(\n (\n event: Parameters<\n NonNullable<ComponentProps<typeof ActionIcon>[\"onClick\"]>\n >[0]\n ) => {\n onClick?.(event);\n toggleSidebar();\n },\n [onClick, toggleSidebar]\n );\n\n return (\n <ActionIcon\n className={cn(\"cursor-clickable\", className)}\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n onClick={handleClick}\n size=\"sm\"\n variant=\"ghost\"\n {...props}\n >\n <HugeiconsIcon icon={SidebarLeftIcon} strokeWidth={2} />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </ActionIcon>\n );\n};\n\nexport { SidebarTrigger };\n","\"use client\";\n\nimport type { ComponentProps, CSSProperties } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"../sheet/sheet\";\nimport { SidebarContent } from \"./sidebar-content\";\nimport { SidebarFooter } from \"./sidebar-footer\";\nimport { SidebarGroup } from \"./sidebar-group\";\nimport { SidebarGroupAction } from \"./sidebar-group-action\";\nimport { SidebarGroupContent } from \"./sidebar-group-content\";\nimport { SidebarGroupLabel } from \"./sidebar-group-label\";\nimport { SidebarHeader } from \"./sidebar-header\";\nimport { SidebarInput } from \"./sidebar-input\";\nimport { SidebarInset } from \"./sidebar-inset\";\nimport { SidebarMenu } from \"./sidebar-menu\";\nimport { SidebarMenuAction } from \"./sidebar-menu-action\";\nimport { SidebarMenuBadge } from \"./sidebar-menu-badge\";\nimport { SidebarMenuButton } from \"./sidebar-menu-button\";\nimport { SidebarMenuItem } from \"./sidebar-menu-item\";\nimport { SidebarMenuSkeleton } from \"./sidebar-menu-skeleton\";\nimport { SidebarMenuSub } from \"./sidebar-menu-sub\";\nimport { SidebarMenuSubButton } from \"./sidebar-menu-sub-button\";\nimport { SidebarMenuSubItem } from \"./sidebar-menu-sub-item\";\nimport { SidebarProvider } from \"./sidebar-provider\";\nimport { SidebarRail } from \"./sidebar-rail\";\nimport { SidebarSeparator } from \"./sidebar-separator\";\nimport { SidebarTrigger } from \"./sidebar-trigger\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarProps = ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offExamples\" | \"icon\" | \"none\";\n};\n\nconst Sidebar = ({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offExamples\",\n className,\n children,\n ...props\n}: SidebarProps) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n className={cn(\n \"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n className\n )}\n data-slot=\"sidebar\"\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet onOpenChange={setOpenMobile} open={openMobile} {...props}>\n <SheetContent\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n side={side}\n style={\n {\n \"--sidebar-width\": \"var(--kb-sidebar-width-mobile, 18rem)\",\n } as CSSProperties\n }\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-side={side}\n data-slot=\"sidebar\"\n data-state={state}\n data-variant={variant}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offExamples]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n data-slot=\"sidebar-gap\"\n />\n <div\n className={cn(\n \"z-raised fixed inset-y-0 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offExamples]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offExamples]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n data-slot=\"sidebar-container\"\n {...props}\n >\n <div\n className=\"bg-sidebar group-data-[variant=floating]:ring-sidebar-border flex size-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nSidebar.Content = SidebarContent;\nSidebar.Footer = SidebarFooter;\nSidebar.Group = SidebarGroup;\nSidebar.GroupAction = SidebarGroupAction;\nSidebar.GroupContent = SidebarGroupContent;\nSidebar.GroupLabel = SidebarGroupLabel;\nSidebar.Header = SidebarHeader;\nSidebar.Input = SidebarInput;\nSidebar.Inset = SidebarInset;\nSidebar.Menu = SidebarMenu;\nSidebar.MenuAction = SidebarMenuAction;\nSidebar.MenuBadge = SidebarMenuBadge;\nSidebar.MenuButton = SidebarMenuButton;\nSidebar.MenuItem = SidebarMenuItem;\nSidebar.MenuSkeleton = SidebarMenuSkeleton;\nSidebar.MenuSub = SidebarMenuSub;\nSidebar.MenuSubButton = SidebarMenuSubButton;\nSidebar.MenuSubItem = SidebarMenuSubItem;\nSidebar.Provider = SidebarProvider;\nSidebar.Rail = SidebarRail;\nSidebar.Separator = SidebarSeparator;\nSidebar.Trigger = SidebarTrigger;\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n\nexport type { SidebarContentProps } from \"./sidebar-content\";\nexport type { SidebarFooterProps } from \"./sidebar-footer\";\nexport type { SidebarGroupProps } from \"./sidebar-group\";\nexport type { SidebarGroupActionProps } from \"./sidebar-group-action\";\nexport type { SidebarGroupContentProps } from \"./sidebar-group-content\";\nexport type { SidebarGroupLabelProps } from \"./sidebar-group-label\";\nexport type { SidebarHeaderProps } from \"./sidebar-header\";\nexport type { SidebarInputProps } from \"./sidebar-input\";\nexport type { SidebarInsetProps } from \"./sidebar-inset\";\nexport type { SidebarMenuProps } from \"./sidebar-menu\";\nexport type { SidebarMenuActionProps } from \"./sidebar-menu-action\";\nexport type { SidebarMenuBadgeProps } from \"./sidebar-menu-badge\";\nexport type { SidebarMenuButtonProps } from \"./sidebar-menu-button\";\nexport type { SidebarMenuItemProps } from \"./sidebar-menu-item\";\nexport type { SidebarMenuSkeletonProps } from \"./sidebar-menu-skeleton\";\nexport type { SidebarMenuSubProps } from \"./sidebar-menu-sub\";\nexport type { SidebarMenuSubButtonProps } from \"./sidebar-menu-sub-button\";\nexport type { SidebarMenuSubItemProps } from \"./sidebar-menu-sub-item\";\nexport type { SidebarProviderProps } from \"./sidebar-provider\";\nexport type { SidebarRailProps } from \"./sidebar-rail\";\nexport type { SidebarSeparatorProps } from \"./sidebar-separator\";\nexport type { SidebarTriggerProps } from \"./sidebar-trigger\";\n"],"mappings":"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"}