@kuzenbo/core 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/action-icon-UjYZjXrB.d.ts +59 -0
- package/dist/action-icon-UjYZjXrB.d.ts.map +1 -0
- package/dist/{avatar-DpiupAAM.d.ts → avatar-4S7I72CH.d.ts} +2 -2
- package/dist/{avatar-DpiupAAM.d.ts.map → avatar-4S7I72CH.d.ts.map} +1 -1
- package/dist/{avatar-CXhwmJgG.js → avatar-C3vF6E7s.js} +1 -1
- package/dist/{avatar-CXhwmJgG.js.map → avatar-C3vF6E7s.js.map} +1 -1
- package/dist/{badge-BKRm6jL7.js → badge-DB40swlt.js} +1 -1
- package/dist/{badge-BKRm6jL7.js.map → badge-DB40swlt.js.map} +1 -1
- package/dist/button-CPPkhcmB.d.ts +59 -0
- package/dist/button-CPPkhcmB.d.ts.map +1 -0
- package/dist/button-shared-variants-J4RVI3K7.js +19 -0
- package/dist/button-shared-variants-J4RVI3K7.js.map +1 -0
- package/dist/{dialog-DEkdr-9K.d.ts → dialog-D3dAMsO_.d.ts} +1 -1
- package/dist/{dialog-DEkdr-9K.d.ts.map → dialog-D3dAMsO_.d.ts.map} +1 -1
- package/dist/{dialog-CD5lfQA9.js → dialog-Dzvma_bu.js} +4 -3
- package/dist/dialog-Dzvma_bu.js.map +1 -0
- package/dist/{dropdown-menu-Bpj576m0.d.ts → dropdown-menu-BG03sLbC.d.ts} +2 -2
- package/dist/{dropdown-menu-Bpj576m0.d.ts.map → dropdown-menu-BG03sLbC.d.ts.map} +1 -1
- package/dist/{dropdown-menu-BJi-V71O.js → dropdown-menu-DOVY76ue.js} +1 -1
- package/dist/{dropdown-menu-BJi-V71O.js.map → dropdown-menu-DOVY76ue.js.map} +1 -1
- package/dist/{input-WWoBCgxe.d.ts → input-BeE717GK.d.ts} +2 -2
- package/dist/{input-WWoBCgxe.d.ts.map → input-BeE717GK.d.ts.map} +1 -1
- package/dist/{input-Ex9ZRqbo.js → input-cICL6sH_.js} +1 -1
- package/dist/{input-Ex9ZRqbo.js.map → input-cICL6sH_.js.map} +1 -1
- package/dist/{input-group-CjcHP0L4.js → input-group-7kPror1q.js} +15 -5
- package/dist/input-group-7kPror1q.js.map +1 -0
- package/dist/provider.d.ts +3 -3
- package/dist/{scroll-bar-C4qEUKlT.js → scroll-bar-BKRy5Me9.js} +1 -1
- package/dist/{scroll-bar-C4qEUKlT.js.map → scroll-bar-BKRy5Me9.js.map} +1 -1
- package/dist/{separator-C8Qw2ADs.d.ts → separator-CgOz2m5i.d.ts} +1 -1
- package/dist/{separator-C8Qw2ADs.d.ts.map → separator-CgOz2m5i.d.ts.map} +1 -1
- package/dist/{sheet-imSHXfFH.js → sheet-FVsgl5Wk.js} +4 -4
- package/dist/sheet-FVsgl5Wk.js.map +1 -0
- package/dist/{size-context-DXfCAlWF.d.ts → size-context-DWvVJytl.d.ts} +2 -2
- package/dist/{size-context-DXfCAlWF.d.ts.map → size-context-DWvVJytl.d.ts.map} +1 -1
- package/dist/{size-provider-Bd2C6gKd.d.ts → size-provider-PHAZhU6k.d.ts} +2 -2
- package/dist/{size-provider-Bd2C6gKd.d.ts.map → size-provider-PHAZhU6k.d.ts.map} +1 -1
- package/dist/{size-system-wzOLSuax.d.ts → size-system-BAI1CnwU.d.ts} +1 -1
- package/dist/size-system-BAI1CnwU.d.ts.map +1 -0
- package/dist/size.d.ts +3 -3
- package/dist/{slider-root-presentation-B6OO_iCT.js → slider-root-presentation-G0ByTcvd.js} +1 -1
- package/dist/{slider-root-presentation-B6OO_iCT.js.map → slider-root-presentation-G0ByTcvd.js.map} +1 -1
- package/dist/{slider-style-tokens-CZezJilZ.d.ts → slider-style-tokens-DNzHvGii.d.ts} +1 -1
- package/dist/{slider-style-tokens-CZezJilZ.d.ts.map → slider-style-tokens-DNzHvGii.d.ts.map} +1 -1
- package/dist/{textarea-C8dsnn8D.d.ts → textarea-rmoEkvdu.d.ts} +1 -1
- package/dist/{textarea-C8dsnn8D.d.ts.map → textarea-rmoEkvdu.d.ts.map} +1 -1
- package/dist/{textarea-CkiM1N_I.js → textarea-vNt8edEA.js} +1 -1
- package/dist/{textarea-CkiM1N_I.js.map → textarea-vNt8edEA.js.map} +1 -1
- package/dist/{toggle-CxkIncmZ.d.ts → toggle-D8kPPZH9.d.ts} +1 -1
- package/dist/{toggle-CxkIncmZ.d.ts.map → toggle-D8kPPZH9.d.ts.map} +1 -1
- package/dist/{tooltip-D0BEpCQx.js → tooltip-BUo_HPnp.js} +1 -1
- package/dist/{tooltip-D0BEpCQx.js.map → tooltip-BUo_HPnp.js.map} +1 -1
- package/dist/{tooltip-DbJxt69l.d.ts → tooltip-DatN3AoZ.d.ts} +2 -2
- package/dist/{tooltip-DbJxt69l.d.ts.map → tooltip-DatN3AoZ.d.ts.map} +1 -1
- package/dist/ui/accordion.d.ts +1 -1
- package/dist/ui/action-icon.d.ts +2 -0
- package/dist/ui/action-icon.js +74 -0
- package/dist/ui/action-icon.js.map +1 -0
- package/dist/ui/alert-dialog.d.ts +2 -2
- package/dist/ui/alert.d.ts +1 -1
- package/dist/ui/announcement.js +1 -1
- package/dist/ui/autocomplete.d.ts +1 -1
- package/dist/ui/avatar.d.ts +1 -1
- package/dist/ui/avatar.js +1 -1
- package/dist/ui/badge.js +1 -1
- package/dist/ui/breadcrumb.d.ts +1 -1
- package/dist/ui/button-group.d.ts +2 -2
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/button.js +27 -49
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/card.d.ts +1 -1
- package/dist/ui/carousel.d.ts +3 -3
- package/dist/ui/carousel.d.ts.map +1 -1
- package/dist/ui/carousel.js +5 -5
- package/dist/ui/carousel.js.map +1 -1
- package/dist/ui/checkbox.d.ts +1 -1
- package/dist/ui/combobox.d.ts +1 -1
- package/dist/ui/combobox.js +7 -7
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/command.d.ts +2 -2
- package/dist/ui/command.js +2 -2
- package/dist/ui/context-menu.d.ts +1 -1
- package/dist/ui/copy-button.d.ts +1 -1
- package/dist/ui/copy-button.js +29 -8
- package/dist/ui/copy-button.js.map +1 -1
- package/dist/ui/dialog.d.ts +1 -1
- package/dist/ui/dialog.js +1 -1
- package/dist/ui/drawer.d.ts +2 -2
- package/dist/ui/dropdown-menu.d.ts +2 -2
- package/dist/ui/dropdown-menu.js +1 -1
- package/dist/ui/emoji-picker.d.ts +2 -2
- package/dist/ui/empty.d.ts +2 -2
- package/dist/ui/field.d.ts +1 -1
- package/dist/ui/input-group.d.ts +3 -3
- package/dist/ui/input-group.d.ts.map +1 -1
- package/dist/ui/input-group.js +1 -1
- package/dist/ui/input-otp.d.ts +1 -1
- package/dist/ui/input.d.ts +1 -1
- package/dist/ui/input.js +1 -1
- package/dist/ui/item.d.ts +1 -1
- package/dist/ui/kbd.d.ts +1 -1
- package/dist/ui/menubar.d.ts +2 -2
- package/dist/ui/menubar.js +1 -1
- package/dist/ui/navigation-list.d.ts +2 -2
- package/dist/ui/navigation-menu.d.ts +1 -1
- package/dist/ui/number-field.d.ts +1 -1
- package/dist/ui/pagination.d.ts +1 -1
- package/dist/ui/pagination.d.ts.map +1 -1
- package/dist/ui/pagination.js +18 -10
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pill.d.ts +3 -3
- package/dist/ui/pill.d.ts.map +1 -1
- package/dist/ui/pill.js +5 -5
- package/dist/ui/pill.js.map +1 -1
- package/dist/ui/popover.d.ts +2 -2
- package/dist/ui/radio-group.d.ts +1 -1
- package/dist/ui/range-slider.d.ts +1 -1
- package/dist/ui/range-slider.js +1 -1
- package/dist/ui/scroll-area.js +1 -1
- package/dist/ui/select.d.ts +1 -1
- package/dist/ui/separator.d.ts +1 -1
- package/dist/ui/sheet.js +1 -1
- package/dist/ui/sidebar.d.ts +6 -6
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +6 -6
- package/dist/ui/sidebar.js.map +1 -1
- package/dist/ui/slider.d.ts +1 -1
- package/dist/ui/slider.js +1 -1
- package/dist/ui/spinner.d.ts +1 -1
- package/dist/ui/switch.d.ts +1 -1
- package/dist/ui/table.d.ts +2 -2
- package/dist/ui/table.js +1 -1
- package/dist/ui/textarea.d.ts +1 -1
- package/dist/ui/textarea.js +1 -1
- package/dist/ui/toggle-group.d.ts +2 -2
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/toolbar.d.ts +3 -3
- package/dist/ui/tooltip.d.ts +2 -2
- package/dist/ui/tooltip.js +1 -1
- package/package.json +8 -6
- package/dist/button-nAbTNrxA.d.ts +0 -78
- package/dist/button-nAbTNrxA.d.ts.map +0 -1
- package/dist/dialog-CD5lfQA9.js.map +0 -1
- package/dist/input-group-CjcHP0L4.js.map +0 -1
- package/dist/sheet-imSHXfFH.js.map +0 -1
- package/dist/size-system-wzOLSuax.d.ts.map +0 -1
package/dist/ui/sidebar.js.map
CHANGED
|
@@ -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 { Button } from \"../button/button\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarTriggerProps = ComponentProps<typeof Button>;\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 Button>[\"onClick\"]>\n >[0]\n ) => {\n onClick?.(event);\n toggleSidebar();\n },\n [onClick, toggleSidebar]\n );\n\n return (\n <Button\n className={cn(\"cursor-clickable\", className)}\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n onClick={handleClick}\n size=\"icon-sm\"\n variant=\"ghost\"\n {...props}\n >\n <HugeiconsIcon icon={SidebarLeftIcon} strokeWidth={2} />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\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":"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"}
|
|
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":"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"}
|
package/dist/ui/slider.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as SliderControl, S as SliderIndicatorProps, _ as SliderMark$1, a as SliderValue, b as SliderMarkProps, c as SliderTrackProps, d as SliderLabelTransitionProps, f as SliderThumb, g as SliderLabel, h as SliderMarksProps, i as SliderSize, l as SliderThumbLabel, m as SliderMarks, n as SliderSemanticRadius, o as SliderValueProps, p as SliderThumbProps, r as SliderSemanticSize, s as SliderTrack, t as SliderRadius, u as SliderThumbLabelProps, v as SliderValue$1, w as SliderControlProps, x as SliderIndicator, y as SliderMark } from "../slider-style-tokens-
|
|
1
|
+
import { C as SliderControl, S as SliderIndicatorProps, _ as SliderMark$1, a as SliderValue, b as SliderMarkProps, c as SliderTrackProps, d as SliderLabelTransitionProps, f as SliderThumb, g as SliderLabel, h as SliderMarksProps, i as SliderSize, l as SliderThumbLabel, m as SliderMarks, n as SliderSemanticRadius, o as SliderValueProps, p as SliderThumbProps, r as SliderSemanticSize, s as SliderTrack, t as SliderRadius, u as SliderThumbLabelProps, v as SliderValue$1, w as SliderControlProps, x as SliderIndicator, y as SliderMark } from "../slider-style-tokens-DNzHvGii.js";
|
|
2
2
|
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
3
3
|
import { Slider as Slider$1 } from "@base-ui/react/slider";
|
|
4
4
|
|
package/dist/ui/slider.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { _ as getNextMarkValue, a as SliderValue, b as isKeyboardLikeReason, c as SliderThumb, d as SliderIndicator, f as SliderControl, g as getNearestMarkValue, h as getLastMarkValue, i as resolveSliderBounds, l as SliderMarks, m as getFirstMarkValue, n as resolveSliderRootClassName, o as SliderTrack, p as clampNumber, r as resolveSliderLabel, s as SliderThumbLabel, t as mergeSliderRootStyle, u as SliderMark, v as getPreviousMarkValue, x as toFloatingValue, y as getSortedSelectableMarks } from "../slider-root-presentation-
|
|
3
|
+
import { _ as getNextMarkValue, a as SliderValue, b as isKeyboardLikeReason, c as SliderThumb, d as SliderIndicator, f as SliderControl, g as getNearestMarkValue, h as getLastMarkValue, i as resolveSliderBounds, l as SliderMarks, m as getFirstMarkValue, n as resolveSliderRootClassName, o as SliderTrack, p as clampNumber, r as resolveSliderLabel, s as SliderThumbLabel, t as mergeSliderRootStyle, u as SliderMark, v as getPreviousMarkValue, x as toFloatingValue, y as getSortedSelectableMarks } from "../slider-root-presentation-G0ByTcvd.js";
|
|
4
4
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { Slider as Slider$1 } from "@base-ui/react/slider";
|
package/dist/ui/spinner.d.ts
CHANGED
package/dist/ui/switch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
2
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
import * as tailwind_variants0 from "tailwind-variants";
|
|
4
4
|
import { VariantProps } from "tailwind-variants";
|
package/dist/ui/table.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
2
|
-
import "../size-context-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
|
+
import "../size-context-DWvVJytl.js";
|
|
3
3
|
import { ComponentProps } from "react";
|
|
4
4
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
import * as tailwind_variants0 from "tailwind-variants";
|
package/dist/ui/table.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { a as useComponentSize } from "../size-provider-18EvJgDT.js";
|
|
4
4
|
import { t as createSizeContext } from "../size-context-CvLl3pMC.js";
|
|
5
|
-
import { t as ScrollBar } from "../scroll-bar-
|
|
5
|
+
import { t as ScrollBar } from "../scroll-bar-BKRy5Me9.js";
|
|
6
6
|
import { useMemo } from "react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import { cn, tv } from "tailwind-variants";
|
package/dist/ui/textarea.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as TextareaProps, t as Textarea } from "../textarea-
|
|
1
|
+
import { n as TextareaProps, t as Textarea } from "../textarea-rmoEkvdu.js";
|
|
2
2
|
export { Textarea, TextareaProps };
|
package/dist/ui/textarea.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
2
|
-
import { r as toggleVariants } from "../toggle-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
|
+
import { r as toggleVariants } from "../toggle-D8kPPZH9.js";
|
|
3
3
|
import * as react from "react";
|
|
4
4
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
import * as tailwind_variants0 from "tailwind-variants";
|
package/dist/ui/toggle.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as ToggleProps, r as toggleVariants, t as Toggle } from "../toggle-
|
|
1
|
+
import { n as ToggleProps, r as toggleVariants, t as Toggle } from "../toggle-D8kPPZH9.js";
|
|
2
2
|
export { Toggle, ToggleProps, toggleVariants };
|
package/dist/ui/toolbar.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
2
|
-
import "../size-context-
|
|
3
|
-
import { r as buttonVariants } from "../button-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
|
+
import "../size-context-DWvVJytl.js";
|
|
3
|
+
import { r as buttonVariants } from "../button-CPPkhcmB.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
6
6
|
import * as tailwind_variants0 from "tailwind-variants";
|
package/dist/ui/tooltip.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "../size-context-
|
|
2
|
-
import { _ as TooltipContent, a as TooltipTrigger, c as TooltipProviderProps, d as TooltipPortal, f as TooltipPortalProps, g as TooltipArrowProps, h as TooltipArrow, i as TooltipViewportProps, l as TooltipPositioner, m as TooltipPopupProps, n as TooltipProps, o as TooltipTriggerProps, p as TooltipPopup, r as TooltipViewport, s as TooltipProvider, t as Tooltip, u as TooltipPositionerProps, v as TooltipContentProps, y as TooltipSize } from "../tooltip-
|
|
1
|
+
import "../size-context-DWvVJytl.js";
|
|
2
|
+
import { _ as TooltipContent, a as TooltipTrigger, c as TooltipProviderProps, d as TooltipPortal, f as TooltipPortalProps, g as TooltipArrowProps, h as TooltipArrow, i as TooltipViewportProps, l as TooltipPositioner, m as TooltipPopupProps, n as TooltipProps, o as TooltipTriggerProps, p as TooltipPopup, r as TooltipViewport, s as TooltipProvider, t as Tooltip, u as TooltipPositionerProps, v as TooltipContentProps, y as TooltipSize } from "../tooltip-DatN3AoZ.js";
|
|
3
3
|
export { Tooltip, TooltipArrow, TooltipArrowProps, TooltipContent, TooltipContentProps, TooltipPopup, TooltipPopupProps, TooltipPortal, TooltipPortalProps, TooltipPositioner, TooltipPositionerProps, TooltipProps, TooltipProvider, TooltipProviderProps, TooltipSize, TooltipTrigger, TooltipTriggerProps, TooltipViewport, TooltipViewportProps };
|
package/dist/ui/tooltip.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { a as TooltipViewport, c as TooltipPopup, i as TooltipContent, l as TooltipArrow, n as TooltipTrigger, o as TooltipPositioner, r as TooltipProvider, s as TooltipPortal, t as Tooltip } from "../tooltip-
|
|
3
|
+
import { a as TooltipViewport, c as TooltipPopup, i as TooltipContent, l as TooltipArrow, n as TooltipTrigger, o as TooltipPositioner, r as TooltipProvider, s as TooltipPortal, t as Tooltip } from "../tooltip-BUo_HPnp.js";
|
|
4
4
|
|
|
5
5
|
export { Tooltip, TooltipArrow, TooltipContent, TooltipPopup, TooltipPortal, TooltipPositioner, TooltipProvider, TooltipTrigger, TooltipViewport };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kuzenbo/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Composable React UI primitives for Kuzenbo.",
|
|
6
6
|
"keywords": [
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"./provider": "./dist/provider.js",
|
|
34
34
|
"./size": "./dist/size.js",
|
|
35
35
|
"./ui/accordion": "./dist/ui/accordion.js",
|
|
36
|
+
"./ui/action-icon": "./dist/ui/action-icon.js",
|
|
36
37
|
"./ui/affix": "./dist/ui/affix.js",
|
|
37
38
|
"./ui/alert": "./dist/ui/alert.js",
|
|
38
39
|
"./ui/alert-dialog": "./dist/ui/alert-dialog.js",
|
|
@@ -116,6 +117,7 @@
|
|
|
116
117
|
"./provider": "./dist/provider.js",
|
|
117
118
|
"./size": "./dist/size.js",
|
|
118
119
|
"./ui/accordion": "./dist/ui/accordion.js",
|
|
120
|
+
"./ui/action-icon": "./dist/ui/action-icon.js",
|
|
119
121
|
"./ui/affix": "./dist/ui/affix.js",
|
|
120
122
|
"./ui/alert": "./dist/ui/alert.js",
|
|
121
123
|
"./ui/alert-dialog": "./dist/ui/alert-dialog.js",
|
|
@@ -207,7 +209,7 @@
|
|
|
207
209
|
"@base-ui/react": "1.2.0",
|
|
208
210
|
"@hugeicons/core-free-icons": "3.1.1",
|
|
209
211
|
"@hugeicons/react": "1.1.5",
|
|
210
|
-
"@kuzenbo/hooks": "0.0.
|
|
212
|
+
"@kuzenbo/hooks": "0.0.6",
|
|
211
213
|
"cmdk": "1.1.1",
|
|
212
214
|
"culori": "4.0.2",
|
|
213
215
|
"embla-carousel-react": "8.6.0",
|
|
@@ -225,9 +227,9 @@
|
|
|
225
227
|
"devDependencies": {
|
|
226
228
|
"@arethetypeswrong/core": "0.18.2",
|
|
227
229
|
"@happy-dom/global-registrator": "20.6.1",
|
|
228
|
-
"@kuzenbo/storybook": "0.0.
|
|
229
|
-
"@kuzenbo/styles": "0.0.
|
|
230
|
-
"@kuzenbo/theme": "0.0.
|
|
230
|
+
"@kuzenbo/storybook": "0.0.6",
|
|
231
|
+
"@kuzenbo/styles": "0.0.6",
|
|
232
|
+
"@kuzenbo/theme": "0.0.6",
|
|
231
233
|
"@storybook/addon-a11y": "10.2.13",
|
|
232
234
|
"@storybook/addon-docs": "10.2.13",
|
|
233
235
|
"@storybook/addon-themes": "10.2.13",
|
|
@@ -248,7 +250,7 @@
|
|
|
248
250
|
"typescript": "5.9.3"
|
|
249
251
|
},
|
|
250
252
|
"peerDependencies": {
|
|
251
|
-
"@kuzenbo/theme": "^0.0.
|
|
253
|
+
"@kuzenbo/theme": "^0.0.6",
|
|
252
254
|
"react": "^19.0.0",
|
|
253
255
|
"react-dom": "^19.0.0"
|
|
254
256
|
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { ComponentProps } from "react";
|
|
2
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
-
import * as tailwind_variants0 from "tailwind-variants";
|
|
4
|
-
import { VariantProps } from "tailwind-variants";
|
|
5
|
-
import { Button } from "@base-ui/react/button";
|
|
6
|
-
|
|
7
|
-
//#region src/ui/button/button.d.ts
|
|
8
|
-
declare const buttonVariants: tailwind_variants0.TVReturnType<{
|
|
9
|
-
size: {
|
|
10
|
-
icon: string;
|
|
11
|
-
"icon-lg": string;
|
|
12
|
-
"icon-sm": string;
|
|
13
|
-
"icon-xl": string[];
|
|
14
|
-
"icon-xs": string[];
|
|
15
|
-
lg: string[];
|
|
16
|
-
md: string[];
|
|
17
|
-
sm: string[];
|
|
18
|
-
xl: string[];
|
|
19
|
-
xs: string[];
|
|
20
|
-
};
|
|
21
|
-
variant: {
|
|
22
|
-
danger: string;
|
|
23
|
-
default: string;
|
|
24
|
-
ghost: string;
|
|
25
|
-
link: string;
|
|
26
|
-
outline: string;
|
|
27
|
-
secondary: string;
|
|
28
|
-
};
|
|
29
|
-
}, undefined, "group/button cursor-clickable focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger aria-invalid:ring-danger/20 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-[transform,color,background-color,border-color,box-shadow] duration-100 ease-out outline-none select-none focus-visible:ring-[3px] active:scale-[0.98] disabled:pointer-events-none disabled:opacity-50 aria-invalid:ring-[3px] motion-reduce:active:scale-100 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
30
|
-
size: {
|
|
31
|
-
icon: string;
|
|
32
|
-
"icon-lg": string;
|
|
33
|
-
"icon-sm": string;
|
|
34
|
-
"icon-xl": string[];
|
|
35
|
-
"icon-xs": string[];
|
|
36
|
-
lg: string[];
|
|
37
|
-
md: string[];
|
|
38
|
-
sm: string[];
|
|
39
|
-
xl: string[];
|
|
40
|
-
xs: string[];
|
|
41
|
-
};
|
|
42
|
-
variant: {
|
|
43
|
-
danger: string;
|
|
44
|
-
default: string;
|
|
45
|
-
ghost: string;
|
|
46
|
-
link: string;
|
|
47
|
-
outline: string;
|
|
48
|
-
secondary: string;
|
|
49
|
-
};
|
|
50
|
-
}, undefined, tailwind_variants0.TVReturnType<{
|
|
51
|
-
size: {
|
|
52
|
-
icon: string;
|
|
53
|
-
"icon-lg": string;
|
|
54
|
-
"icon-sm": string;
|
|
55
|
-
"icon-xl": string[];
|
|
56
|
-
"icon-xs": string[];
|
|
57
|
-
lg: string[];
|
|
58
|
-
md: string[];
|
|
59
|
-
sm: string[];
|
|
60
|
-
xl: string[];
|
|
61
|
-
xs: string[];
|
|
62
|
-
};
|
|
63
|
-
variant: {
|
|
64
|
-
danger: string;
|
|
65
|
-
default: string;
|
|
66
|
-
ghost: string;
|
|
67
|
-
link: string;
|
|
68
|
-
outline: string;
|
|
69
|
-
secondary: string;
|
|
70
|
-
};
|
|
71
|
-
}, undefined, "group/button cursor-clickable focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger aria-invalid:ring-danger/20 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-[transform,color,background-color,border-color,box-shadow] duration-100 ease-out outline-none select-none focus-visible:ring-[3px] active:scale-[0.98] disabled:pointer-events-none disabled:opacity-50 aria-invalid:ring-[3px] motion-reduce:active:scale-100 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", unknown, unknown, undefined>>;
|
|
72
|
-
type ButtonProps = ComponentProps<typeof Button> & VariantProps<typeof buttonVariants> & {
|
|
73
|
-
isLoading?: boolean;
|
|
74
|
-
};
|
|
75
|
-
declare const Button$1: (incomingProps: ButtonProps) => react_jsx_runtime0.JSX.Element;
|
|
76
|
-
//#endregion
|
|
77
|
-
export { ButtonProps as n, buttonVariants as r, Button$1 as t };
|
|
78
|
-
//# sourceMappingURL=button-nAbTNrxA.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-nAbTNrxA.d.ts","names":[],"sources":["../src/ui/button/button.tsx"],"mappings":";;;;;;;cAuBM,cAAA,EAyDJ,kBAAA,CAzDkB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyDlB,kBAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;KAEU,WAAA,GAAc,cAAA,QAAsB,MAAA,IAC9C,YAAA,QAAoB,cAAA;EAClB,SAAA;AAAA;AAAA,cAsDE,QAAA,GAAU,aAAA,EAAe,WAAA,KAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-CD5lfQA9.js","names":["DialogPrimitive","DialogPrimitive","DialogPrimitive","DialogPrimitive","DialogPrimitive","DialogPrimitive","DialogPrimitive","DialogPrimitive","Dialog","DialogPrimitive"],"sources":["../src/ui/dialog/dialog-backdrop.tsx","../src/ui/dialog/dialog-close.tsx","../src/ui/dialog/dialog-popup.tsx","../src/ui/dialog/dialog-portal.tsx","../src/ui/dialog/dialog-viewport.tsx","../src/ui/dialog/dialog-content.tsx","../src/ui/dialog/dialog-description.tsx","../src/ui/dialog/dialog-footer.tsx","../src/ui/dialog/dialog-header.tsx","../src/ui/dialog/dialog-overlay.tsx","../src/ui/dialog/dialog-title.tsx","../src/ui/dialog/dialog-trigger.tsx","../src/ui/dialog/dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\n\nexport type DialogBackdropProps = DialogPrimitive.Backdrop.Props;\n\nconst DialogBackdrop = ({ className, ...props }: DialogBackdropProps) => (\n <DialogPrimitive.Backdrop\n className={cn(\n \"z-overlay data-closed:animate-out data-closed:fade-out-0 data-open:animate-in data-open:fade-in-0 fixed inset-0 isolate bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs\",\n className\n )}\n data-slot=\"dialog-backdrop\"\n {...props}\n />\n);\n\nexport { DialogBackdrop };\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\n\nexport type DialogCloseProps = DialogPrimitive.Close.Props;\n\nconst DialogClose = ({ className, ...props }: DialogCloseProps) => (\n <DialogPrimitive.Close\n className={cn(\"cursor-clickable\", className)}\n data-slot=\"dialog-close\"\n {...props}\n />\n);\n\nexport { DialogClose };\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\n\nexport type DialogPopupProps = DialogPrimitive.Popup.Props;\n\nconst DialogPopup = ({ className, ...props }: DialogPopupProps) => (\n <DialogPrimitive.Popup\n className={cn(\n \"z-overlay bg-background 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 fixed top-1/2 left-1/2 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl p-6 text-sm ring-1 duration-100 outline-none sm:max-w-md\",\n className\n )}\n data-slot=\"dialog-popup\"\n {...props}\n />\n);\n\nexport { DialogPopup };\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\n\nexport type DialogPortalProps = DialogPrimitive.Portal.Props;\n\nconst DialogPortal = ({ ...props }: DialogPortalProps) => (\n <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n);\n\nexport { DialogPortal };\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\n\nexport type DialogViewportProps = DialogPrimitive.Viewport.Props;\n\nconst DialogViewport = ({ className, ...props }: DialogViewportProps) => (\n <DialogPrimitive.Viewport\n className={cn(\n \"z-overlay fixed inset-0 flex items-center justify-center p-4\",\n className\n )}\n data-slot=\"dialog-viewport\"\n {...props}\n />\n);\n\nexport { DialogViewport };\n","\"use client\";\n\nimport { Cancel01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\n\nimport { Button } from \"../button/button\";\nimport { DialogBackdrop } from \"./dialog-backdrop\";\nimport { DialogClose } from \"./dialog-close\";\nimport { DialogPopup } from \"./dialog-popup\";\nimport type { DialogPopupProps } from \"./dialog-popup\";\nimport { DialogPortal } from \"./dialog-portal\";\nimport { DialogViewport } from \"./dialog-viewport\";\n\nexport interface DialogContentProps extends DialogPopupProps {\n showCloseButton?: boolean;\n}\n\nconst DialogContent = ({\n className,\n children,\n showCloseButton = true,\n ...props\n}: DialogContentProps) => (\n <DialogPortal>\n <DialogBackdrop />\n <DialogViewport>\n <DialogPopup className={className} data-slot=\"dialog-content\" {...props}>\n {children}\n {showCloseButton && (\n <DialogClose\n data-slot=\"dialog-close\"\n render={\n <Button\n className=\"cursor-clickable absolute top-4 right-4\"\n size=\"icon-sm\"\n variant=\"ghost\"\n />\n }\n >\n <HugeiconsIcon icon={Cancel01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Close</span>\n </DialogClose>\n )}\n </DialogPopup>\n </DialogViewport>\n </DialogPortal>\n);\n\nexport { DialogContent };\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\n\nexport type DialogDescriptionProps = DialogPrimitive.Description.Props;\n\nconst DialogDescription = ({ className, ...props }: DialogDescriptionProps) => (\n <DialogPrimitive.Description\n className={cn(\n \"text-muted-foreground *:[a]:hover:text-foreground text-sm *:[a]:underline *:[a]:underline-offset-3\",\n className\n )}\n data-slot=\"dialog-description\"\n {...props}\n />\n);\n\nexport { DialogDescription };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Button } from \"../button/button\";\nimport { DialogClose } from \"./dialog-close\";\n\nexport interface DialogFooterProps extends ComponentProps<\"div\"> {\n showCloseButton?: boolean;\n}\n\nconst DialogFooter = ({\n className,\n showCloseButton = false,\n children,\n ...props\n}: DialogFooterProps) => (\n <div\n className={cn(\n \"-mx-4 mt-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl p-4 sm:flex-row sm:justify-end\",\n className\n )}\n data-slot=\"dialog-footer\"\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogClose\n render={<Button className=\"cursor-clickable\" variant=\"outline\" />}\n >\n Close\n </DialogClose>\n )}\n </div>\n);\n\nexport { DialogFooter };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nexport type DialogHeaderProps = ComponentProps<\"div\">;\n\nconst DialogHeader = ({ className, ...props }: DialogHeaderProps) => (\n <div\n className={cn(\"flex flex-col gap-2\", className)}\n data-slot=\"dialog-header\"\n {...props}\n />\n);\n\nexport { DialogHeader };\n","\"use client\";\n\nimport { DialogBackdrop } from \"./dialog-backdrop\";\nimport type { DialogBackdropProps } from \"./dialog-backdrop\";\n\nexport type DialogOverlayProps = DialogBackdropProps;\n\nconst DialogOverlay = ({ className, ...props }: DialogOverlayProps) => (\n <DialogBackdrop className={className} data-slot=\"dialog-overlay\" {...props} />\n);\n\nexport { DialogOverlay };\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\n\nexport type DialogTitleProps = DialogPrimitive.Title.Props;\n\nconst DialogTitle = ({ className, ...props }: DialogTitleProps) => (\n <DialogPrimitive.Title\n className={cn(\"text-sm leading-none font-medium\", className)}\n data-slot=\"dialog-title\"\n {...props}\n />\n);\n\nexport { DialogTitle };\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\n\nexport type DialogTriggerProps = DialogPrimitive.Trigger.Props;\n\nconst DialogTrigger = ({ className, ...props }: DialogTriggerProps) => (\n <DialogPrimitive.Trigger\n className={cn(\"cursor-clickable\", className)}\n data-slot=\"dialog-trigger\"\n {...props}\n />\n);\n\nexport { DialogTrigger };\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\n\nimport { DialogBackdrop } from \"./dialog-backdrop\";\nimport { DialogClose } from \"./dialog-close\";\nimport { DialogContent } from \"./dialog-content\";\nimport { DialogDescription } from \"./dialog-description\";\nimport { DialogFooter } from \"./dialog-footer\";\nimport { DialogHeader } from \"./dialog-header\";\nimport { DialogOverlay } from \"./dialog-overlay\";\nimport { DialogPopup } from \"./dialog-popup\";\nimport { DialogPortal } from \"./dialog-portal\";\nimport { DialogTitle } from \"./dialog-title\";\nimport { DialogTrigger } from \"./dialog-trigger\";\nimport { DialogViewport } from \"./dialog-viewport\";\n\nexport interface DialogProps extends DialogPrimitive.Root.Props {\n onOpenChange?: (open: boolean) => void;\n}\n\nconst Dialog = ({ ...props }: DialogProps) => (\n <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n);\n\nDialog.Close = DialogClose;\nDialog.Content = DialogContent;\nDialog.Backdrop = DialogBackdrop;\nDialog.Description = DialogDescription;\nDialog.Footer = DialogFooter;\nDialog.Header = DialogHeader;\nDialog.Overlay = DialogOverlay;\nDialog.Portal = DialogPortal;\nDialog.Popup = DialogPopup;\nDialog.Title = DialogTitle;\nDialog.Trigger = DialogTrigger;\nDialog.Viewport = DialogViewport;\n\nexport type { DialogBackdropProps } from \"./dialog-backdrop\";\nexport type { DialogCloseProps } from \"./dialog-close\";\nexport type { DialogContentProps } from \"./dialog-content\";\nexport type { DialogDescriptionProps } from \"./dialog-description\";\nexport type { DialogFooterProps } from \"./dialog-footer\";\nexport type { DialogHeaderProps } from \"./dialog-header\";\nexport type { DialogOverlayProps } from \"./dialog-overlay\";\nexport type { DialogPortalProps } from \"./dialog-portal\";\nexport type { DialogPopupProps } from \"./dialog-popup\";\nexport type { DialogTitleProps } from \"./dialog-title\";\nexport type { DialogTriggerProps } from \"./dialog-trigger\";\nexport type { DialogViewportProps } from \"./dialog-viewport\";\n\nexport {\n Dialog,\n DialogBackdrop,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogPopup,\n DialogTitle,\n DialogTrigger,\n DialogViewport,\n};\n"],"mappings":";;;;;;;;AAOA,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,oBAACA,OAAgB,UAAjB;CACE,WAAW,GACT,8LACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACRJ,MAAM,eAAe,EAAE,WAAW,GAAG,YACnC,oBAACC,OAAgB,OAAjB;CACE,WAAW,GAAG,oBAAoB,UAAU;CAC5C,aAAU;CACV,GAAI;CACJ;;;;ACLJ,MAAM,eAAe,EAAE,WAAW,GAAG,YACnC,oBAACC,OAAgB,OAAjB;CACE,WAAW,GACT,0VACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACTJ,MAAM,gBAAgB,EAAE,GAAG,YACzB,oBAACC,OAAgB,QAAjB;CAAwB,aAAU;CAAgB,GAAI;CAAS;;;;ACAjE,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,oBAACC,OAAgB,UAAjB;CACE,WAAW,GACT,gEACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACEJ,MAAM,iBAAiB,EACrB,WACA,UACA,kBAAkB,MAClB,GAAG,YAEH,qBAAC,cAAD,aACE,oBAAC,gBAAD,EAAkB,GAClB,oBAAC,gBAAD,YACE,qBAAC,aAAD;CAAwB;CAAW,aAAU;CAAiB,GAAI;WAAlE,CACG,UACA,mBACC,qBAAC,aAAD;EACE,aAAU;EACV,QACE,oBAAC,QAAD;GACE,WAAU;GACV,MAAK;GACL,SAAQ;GACR;YAPN,CAUE,oBAAC,eAAD;GAAe,MAAM;GAAc,aAAa;GAAK,GACrD,oBAAC,QAAD;GAAM,WAAU;aAAU;GAAY,EAC1B;IAEJ;IACC,EACJ;;;;ACtCjB,MAAM,qBAAqB,EAAE,WAAW,GAAG,YACzC,oBAACC,OAAgB,aAAjB;CACE,WAAW,GACT,sGACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACHJ,MAAM,gBAAgB,EACpB,WACA,kBAAkB,OAClB,UACA,GAAG,YAEH,qBAAC,OAAD;CACE,WAAW,GACT,4FACA,UACD;CACD,aAAU;CACV,GAAI;WANN,CAQG,UACA,mBACC,oBAAC,aAAD;EACE,QAAQ,oBAAC,QAAD;GAAQ,WAAU;GAAmB,SAAQ;GAAY;YAClE;EAEa,EAEZ;;;;;AC7BR,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,oBAAC,OAAD;CACE,WAAW,GAAG,uBAAuB,UAAU;CAC/C,aAAU;CACV,GAAI;CACJ;;;;ACHJ,MAAM,iBAAiB,EAAE,WAAW,GAAG,YACrC,oBAAC,gBAAD;CAA2B;CAAW,aAAU;CAAiB,GAAI;CAAS;;;;ACDhF,MAAM,eAAe,EAAE,WAAW,GAAG,YACnC,oBAACC,OAAgB,OAAjB;CACE,WAAW,GAAG,oCAAoC,UAAU;CAC5D,aAAU;CACV,GAAI;CACJ;;;;ACLJ,MAAM,iBAAiB,EAAE,WAAW,GAAG,YACrC,oBAACC,OAAgB,SAAjB;CACE,WAAW,GAAG,oBAAoB,UAAU;CAC5C,aAAU;CACV,GAAI;CACJ;;;;ACSJ,MAAMC,YAAU,EAAE,GAAG,YACnB,oBAACC,OAAgB,MAAjB;CAAsB,aAAU;CAAS,GAAI;CAAS;AAGxD,SAAO,QAAQ;AACf,SAAO,UAAU;AACjB,SAAO,WAAW;AAClB,SAAO,cAAc;AACrB,SAAO,SAAS;AAChB,SAAO,SAAS;AAChB,SAAO,UAAU;AACjB,SAAO,SAAS;AAChB,SAAO,QAAQ;AACf,SAAO,QAAQ;AACf,SAAO,UAAU;AACjB,SAAO,WAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-group-CjcHP0L4.js","names":[],"sources":["../src/ui/input-group/input-group-context.tsx","../src/ui/input-group/input-group-addon.tsx","../src/ui/input-group/input-group-button.tsx","../src/ui/input-group/input-group-input.tsx","../src/ui/input-group/input-group-text.tsx","../src/ui/input-group/input-group-textarea.tsx","../src/ui/input-group/input-group.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface InputGroupContextValue {\n size?: InputSize;\n}\n\nconst InputGroupContext = createContext<InputGroupContextValue>({\n size: \"md\",\n});\n\nexport { InputGroupContext };\n","\"use client\";\n\nimport type { ComponentProps, PointerEvent } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { InputGroupContext } from \"./input-group-context\";\nexport type InputGroupAddonProps = ComponentProps<\"div\"> &\n VariantProps<typeof inputGroupAddonVariants>;\n\nconst inputGroupAddonVariants = tv({\n base: \"text-muted-foreground flex h-auto cursor-text items-center justify-center font-medium select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--kb-radius)-5px)]\",\n defaultVariants: {\n align: \"inline-start\",\n size: \"md\",\n },\n variants: {\n align: {\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"inline-end\":\n \"order-last pr-2 has-[>button]:mr-[-0.25rem] has-[>kbd]:mr-[-0.15rem]\",\n \"inline-start\":\n \"order-first pl-2 has-[>button]:ml-[-0.25rem] has-[>kbd]:ml-[-0.15rem]\",\n },\n size: {\n lg: \"gap-2 py-2 text-sm [&>svg:not([class*='size-'])]:size-4\",\n md: \"gap-2 py-1.5 text-sm [&>svg:not([class*='size-'])]:size-4\",\n sm: \"gap-1.5 py-1 text-sm [&>svg:not([class*='size-'])]:size-3.5\",\n xl: \"gap-2.5 py-2 text-base [&>svg:not([class*='size-'])]:size-5\",\n xs: \"gap-1 py-0.5 text-xs [&>svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\nconst focusInput = (e: PointerEvent<HTMLDivElement>) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return;\n }\n const control =\n e.currentTarget.parentElement?.querySelector<HTMLElement>(\n \"input, textarea\"\n );\n control?.focus();\n};\n\nconst InputGroupAddon = ({\n className,\n align = \"inline-start\",\n size,\n ...props\n}: InputGroupAddonProps) => {\n const { size: contextSize } = useContext(InputGroupContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <div\n className={cn(\n inputGroupAddonVariants({ align, size: resolvedSize }),\n className\n )}\n data-align={align}\n data-size={resolvedSize}\n data-slot=\"input-group-addon\"\n onPointerDown={focusInput}\n {...props}\n />\n );\n};\n\nexport { InputGroupAddon, inputGroupAddonVariants };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { Button } from \"../button/button\";\nimport type { InputSize } from \"../input/input\";\nimport { InputGroupContext } from \"./input-group-context\";\nexport type InputGroupButtonProps = Omit<\n ComponentProps<typeof Button>,\n \"size\" | \"type\"\n> &\n VariantProps<typeof inputGroupButtonVariants> & {\n type?: \"button\" | \"submit\" | \"reset\";\n };\n\nconst inputGroupButtonVariants = tv({\n base: \"flex items-center gap-2 text-sm shadow-none\",\n defaultVariants: {\n size: \"xs\",\n },\n variants: {\n size: {\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n \"icon-xs\":\n \"size-6 rounded-[calc(var(--kb-radius)-5px)] p-0 has-[>svg]:p-0\",\n md: \"\",\n sm: \"\",\n xs: \"h-6 gap-1 rounded-[calc(var(--kb-radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n },\n },\n});\n\nconst mapInputGroupSizeToButtonSize = (size?: InputSize) => {\n if (size === \"xl\") {\n return \"sm\";\n }\n\n return \"xs\";\n};\n\nconst InputGroupButton = ({\n className,\n type = \"button\",\n variant = \"ghost\",\n size,\n ...props\n}: InputGroupButtonProps) => {\n const { size: contextSize } = useContext(InputGroupContext);\n const resolvedSize = size ?? mapInputGroupSizeToButtonSize(contextSize);\n\n return (\n <Button\n className={cn(\n inputGroupButtonVariants({ size: resolvedSize }),\n \"cursor-clickable\",\n className\n )}\n data-size={resolvedSize}\n size={resolvedSize}\n type={type}\n variant={variant}\n {...props}\n />\n );\n};\n\nexport { InputGroupButton, inputGroupButtonVariants };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Input } from \"../input/input\";\nimport { InputGroupContext } from \"./input-group-context\";\nexport type InputGroupInputProps = ComponentProps<typeof Input>;\n\nconst InputGroupInput = ({\n className,\n size,\n ...props\n}: InputGroupInputProps) => {\n const { size: contextSize } = useContext(InputGroupContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <Input\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n className\n )}\n data-slot=\"input-group-control\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { InputGroupInput };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type InputGroupTextProps = ComponentProps<\"span\">;\n\nconst InputGroupText = ({ className, ...props }: InputGroupTextProps) => (\n <span\n className={cn(\n \"text-muted-foreground flex items-center gap-2 text-inherit [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-[1em]\",\n className\n )}\n {...props}\n />\n);\n\nexport { InputGroupText };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Textarea } from \"../textarea/textarea\";\nexport type InputGroupTextareaProps = ComponentProps<typeof Textarea>;\n\nconst InputGroupTextarea = ({\n className,\n ...props\n}: InputGroupTextareaProps) => (\n <Textarea\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n className\n )}\n data-slot=\"input-group-control\"\n {...props}\n />\n);\n\nexport { InputGroupTextarea };\n","\"use client\";\n\nimport 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 { InputGroupAddon } from \"./input-group-addon\";\nimport { InputGroupButton } from \"./input-group-button\";\nimport { InputGroupContext } from \"./input-group-context\";\nimport { InputGroupInput } from \"./input-group-input\";\nimport { InputGroupText } from \"./input-group-text\";\nimport { InputGroupTextarea } from \"./input-group-textarea\";\nexport type InputGroupProps = ComponentProps<\"div\"> & {\n size?: InputSize;\n};\n\nconst InputGroup = ({\n className,\n children,\n size: providedSize,\n ...props\n}: InputGroupProps) => {\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <div\n className={cn(\n \"group/input-group border-input has-disabled:bg-input/50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-danger has-[[data-slot][aria-invalid=true]]:ring-danger/20 dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-danger/40 relative flex w-full min-w-0 items-center border transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto data-[size=lg]:h-10 data-[size=lg]:rounded-md data-[size=md]:h-9 data-[size=md]:rounded-md data-[size=sm]:h-8 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=xl]:h-11 data-[size=xl]:rounded-md data-[size=xs]:h-6 data-[size=xs]:rounded-[min(var(--radius-md),8px)] has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5\",\n className\n )}\n data-size={size}\n data-slot=\"input-group\"\n role=\"group\"\n {...props}\n >\n <InputGroupContext.Provider value={contextValue}>\n {children}\n </InputGroupContext.Provider>\n </div>\n );\n};\n\nInputGroup.Addon = InputGroupAddon;\nInputGroup.Button = InputGroupButton;\nInputGroup.Input = InputGroupInput;\nInputGroup.Text = InputGroupText;\nInputGroup.Textarea = InputGroupTextarea;\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n InputGroupText,\n InputGroupTextarea,\n};\n\nexport type { InputGroupAddonProps } from \"./input-group-addon\";\nexport type { InputGroupButtonProps } from \"./input-group-button\";\nexport type { InputGroupInputProps } from \"./input-group-input\";\nexport type { InputGroupTextProps } from \"./input-group-text\";\nexport type { InputGroupTextareaProps } from \"./input-group-textarea\";\n"],"mappings":";;;;;;;;;AAUA,MAAM,oBAAoB,cAAsC,EAC9D,MAAM,MACP,CAAC;;;;ACDF,MAAM,0BAA0B,GAAG;CACjC,MAAM;CACN,iBAAiB;EACf,OAAO;EACP,MAAM;EACP;CACD,UAAU;EACR,OAAO;GACL,aACE;GACF,eACE;GACF,cACE;GACF,gBACE;GACH;EACD,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL;EACF;CACF,CAAC;AAEF,MAAM,cAAc,MAAoC;AACtD,KAAK,EAAE,OAAuB,QAAQ,SAAS,CAC7C;AAMF,EAHE,EAAE,cAAc,eAAe,cAC7B,kBACD,GACM,OAAO;;AAGlB,MAAM,mBAAmB,EACvB,WACA,QAAQ,gBACR,MACA,GAAG,YACuB;CAC1B,MAAM,EAAE,MAAM,gBAAgB,WAAW,kBAAkB;CAC3D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAAC,OAAD;EACE,WAAW,GACT,wBAAwB;GAAE;GAAO,MAAM;GAAc,CAAC,EACtD,UACD;EACD,cAAY;EACZ,aAAW;EACX,aAAU;EACV,eAAe;EACf,GAAI;EACJ;;;;;ACnDN,MAAM,2BAA2B,GAAG;CAClC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,WAAW;EACX,WACE;EACF,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAEF,MAAM,iCAAiC,SAAqB;AAC1D,KAAI,SAAS,KACX,QAAO;AAGT,QAAO;;AAGT,MAAM,oBAAoB,EACxB,WACA,OAAO,UACP,UAAU,SACV,MACA,GAAG,YACwB;CAC3B,MAAM,EAAE,MAAM,gBAAgB,WAAW,kBAAkB;CAC3D,MAAM,eAAe,QAAQ,8BAA8B,YAAY;AAEvE,QACE,oBAAC,QAAD;EACE,WAAW,GACT,yBAAyB,EAAE,MAAM,cAAc,CAAC,EAChD,oBACA,UACD;EACD,aAAW;EACX,MAAM;EACA;EACG;EACT,GAAI;EACJ;;;;;ACvDN,MAAM,mBAAmB,EACvB,WACA,MACA,GAAG,YACuB;CAC1B,MAAM,EAAE,MAAM,gBAAgB,WAAW,kBAAkB;CAC3D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAAC,OAAD;EACE,WAAW,GACT,oLACA,UACD;EACD,aAAU;EACV,MAAM;EACN,GAAI;EACJ;;;;;ACrBN,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,oBAAC,QAAD;CACE,WAAW,GACT,mIACA,UACD;CACD,GAAI;CACJ;;;;ACLJ,MAAM,sBAAsB,EAC1B,WACA,GAAG,YAEH,oBAAC,UAAD;CACE,WAAW,GACT,qMACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACDJ,MAAM,cAAc,EAClB,WACA,UACA,MAAM,cACN,GAAG,YACkB;CACrB,MAAM,OAAO,iBAAiB,aAAa;CAC3C,MAAM,eAAe,eAAe,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC;AAEtD,QACE,oBAAC,OAAD;EACE,WAAW,GACT,y1CACA,UACD;EACD,aAAW;EACX,aAAU;EACV,MAAK;EACL,GAAI;YAEJ,oBAAC,kBAAkB,UAAnB;GAA4B,OAAO;GAChC;GAC0B;EACzB;;AAIV,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,WAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sheet-imSHXfFH.js","names":["SheetPrimitive","SheetPrimitive","SheetPrimitive","SheetPrimitive","SheetPrimitive","SheetPrimitive","SheetPrimitive","SheetPrimitive","SheetPrimitive"],"sources":["../src/ui/sheet/sheet-backdrop.tsx","../src/ui/sheet/sheet-close.tsx","../src/ui/sheet/sheet-popup.tsx","../src/ui/sheet/sheet-portal.tsx","../src/ui/sheet/sheet-viewport.tsx","../src/ui/sheet/sheet-content.tsx","../src/ui/sheet/sheet-description.tsx","../src/ui/sheet/sheet-footer.tsx","../src/ui/sheet/sheet-header.tsx","../src/ui/sheet/sheet-overlay.tsx","../src/ui/sheet/sheet-title.tsx","../src/ui/sheet/sheet-trigger.tsx","../src/ui/sheet/sheet.tsx"],"sourcesContent":["\"use client\";\n\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\n\nexport type SheetBackdropProps = SheetPrimitive.Backdrop.Props;\n\nconst SheetBackdrop = ({ className, ...props }: SheetBackdropProps) => (\n <SheetPrimitive.Backdrop\n className={cn(\n \"z-overlay data-closed:animate-out data-closed:fade-out-0 data-open:animate-in data-open:fade-in-0 fixed inset-0 bg-black/10 duration-100 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs\",\n className\n )}\n data-slot=\"sheet-backdrop\"\n {...props}\n />\n);\n\nexport { SheetBackdrop };\n","\"use client\";\n\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\nexport type SheetCloseProps = SheetPrimitive.Close.Props;\n\nconst SheetClose = ({ className, ...props }: SheetCloseProps) => (\n <SheetPrimitive.Close\n className={cn(\"cursor-clickable\", className)}\n data-slot=\"sheet-close\"\n {...props}\n />\n);\n\nexport { SheetClose };\n","\"use client\";\n\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\n\nexport type SheetSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type SheetPopupProps = SheetPrimitive.Popup.Props & {\n side?: SheetSide;\n};\n\nconst SheetPopup = ({\n className,\n side = \"right\",\n ...props\n}: SheetPopupProps) => (\n <SheetPrimitive.Popup\n className={cn(\n \"z-overlay bg-background data-closed:animate-out data-closed:fade-out-0 data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-closed:slide-out-to-top-10 data-[side=top]:data-open:slide-in-from-top-10 fixed flex flex-col gap-4 bg-clip-padding text-sm shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm\",\n className\n )}\n data-side={side}\n data-slot=\"sheet-popup\"\n {...props}\n />\n);\n\nexport { SheetPopup };\n","\"use client\";\n\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\";\nexport type SheetPortalProps = SheetPrimitive.Portal.Props;\n\nconst SheetPortal = ({ ...props }: SheetPortalProps) => (\n <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n);\n\nexport { SheetPortal };\n","\"use client\";\n\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\n\nexport type SheetViewportProps = SheetPrimitive.Viewport.Props;\n\nconst SheetViewport = ({ className, ...props }: SheetViewportProps) => (\n <SheetPrimitive.Viewport\n className={cn(\"z-overlay fixed inset-0\", className)}\n data-slot=\"sheet-viewport\"\n {...props}\n />\n);\n\nexport { SheetViewport };\n","\"use client\";\n\nimport { Cancel01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\n\nimport { Button } from \"../button/button\";\nimport { SheetBackdrop } from \"./sheet-backdrop\";\nimport { SheetClose } from \"./sheet-close\";\nimport { SheetPopup } from \"./sheet-popup\";\nimport type { SheetPopupProps, SheetSide } from \"./sheet-popup\";\nimport { SheetPortal } from \"./sheet-portal\";\nimport { SheetViewport } from \"./sheet-viewport\";\nexport type SheetContentProps = SheetPopupProps & {\n side?: SheetSide;\n showCloseButton?: boolean;\n};\n\nconst SheetContent = ({\n className,\n children,\n side = \"right\",\n showCloseButton = true,\n ...props\n}: SheetContentProps) => (\n <SheetPortal>\n <SheetBackdrop />\n <SheetViewport>\n <SheetPopup\n className={className}\n data-slot=\"sheet-content\"\n side={side}\n {...props}\n >\n {children}\n {showCloseButton && (\n <SheetClose\n data-slot=\"sheet-close\"\n render={\n <Button\n className=\"cursor-clickable absolute top-4 right-4\"\n size=\"icon-sm\"\n variant=\"ghost\"\n />\n }\n >\n <HugeiconsIcon icon={Cancel01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Close</span>\n </SheetClose>\n )}\n </SheetPopup>\n </SheetViewport>\n </SheetPortal>\n);\n\nexport { SheetContent };\n","\"use client\";\n\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\nexport type SheetDescriptionProps = SheetPrimitive.Description.Props;\n\nconst SheetDescription = ({ className, ...props }: SheetDescriptionProps) => (\n <SheetPrimitive.Description\n className={cn(\"text-muted-foreground text-sm\", className)}\n data-slot=\"sheet-description\"\n {...props}\n />\n);\n\nexport { SheetDescription };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SheetFooterProps = ComponentProps<\"div\">;\n\nconst SheetFooter = ({ className, ...props }: SheetFooterProps) => (\n <div\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n data-slot=\"sheet-footer\"\n {...props}\n />\n);\n\nexport { SheetFooter };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type SheetHeaderProps = ComponentProps<\"div\">;\n\nconst SheetHeader = ({ className, ...props }: SheetHeaderProps) => (\n <div\n className={cn(\"flex flex-col gap-0.5 p-4\", className)}\n data-slot=\"sheet-header\"\n {...props}\n />\n);\n\nexport { SheetHeader };\n","\"use client\";\n\nimport { SheetBackdrop } from \"./sheet-backdrop\";\nimport type { SheetBackdropProps } from \"./sheet-backdrop\";\nexport type SheetOverlayProps = SheetBackdropProps;\n\nconst SheetOverlay = ({ className, ...props }: SheetOverlayProps) => (\n <SheetBackdrop className={className} data-slot=\"sheet-overlay\" {...props} />\n);\n\nexport { SheetOverlay };\n","\"use client\";\n\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\nexport type SheetTitleProps = SheetPrimitive.Title.Props;\n\nconst SheetTitle = ({ className, ...props }: SheetTitleProps) => (\n <SheetPrimitive.Title\n className={cn(\"text-foreground text-base font-medium\", className)}\n data-slot=\"sheet-title\"\n {...props}\n />\n);\n\nexport { SheetTitle };\n","\"use client\";\n\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\";\nimport { cn } from \"tailwind-variants\";\nexport type SheetTriggerProps = SheetPrimitive.Trigger.Props;\n\nconst SheetTrigger = ({ className, ...props }: SheetTriggerProps) => (\n <SheetPrimitive.Trigger\n className={cn(\"cursor-clickable\", className)}\n data-slot=\"sheet-trigger\"\n {...props}\n />\n);\n\nexport { SheetTrigger };\n","\"use client\";\n\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\";\n\nimport { SheetBackdrop } from \"./sheet-backdrop\";\nimport { SheetClose } from \"./sheet-close\";\nimport { SheetContent } from \"./sheet-content\";\nimport { SheetDescription } from \"./sheet-description\";\nimport { SheetFooter } from \"./sheet-footer\";\nimport { SheetHeader } from \"./sheet-header\";\nimport { SheetOverlay } from \"./sheet-overlay\";\nimport { SheetPopup } from \"./sheet-popup\";\nimport { SheetPortal } from \"./sheet-portal\";\nimport { SheetTitle } from \"./sheet-title\";\nimport { SheetTrigger } from \"./sheet-trigger\";\nimport { SheetViewport } from \"./sheet-viewport\";\nexport type SheetProps = SheetPrimitive.Root.Props;\n\nconst Sheet = ({ ...props }: SheetProps) => (\n <SheetPrimitive.Root data-slot=\"sheet\" {...props} />\n);\n\nSheet.Close = SheetClose;\nSheet.Content = SheetContent;\nSheet.Backdrop = SheetBackdrop;\nSheet.Description = SheetDescription;\nSheet.Footer = SheetFooter;\nSheet.Header = SheetHeader;\nSheet.Overlay = SheetOverlay;\nSheet.Portal = SheetPortal;\nSheet.Popup = SheetPopup;\nSheet.Title = SheetTitle;\nSheet.Trigger = SheetTrigger;\nSheet.Viewport = SheetViewport;\n\nexport {\n Sheet,\n SheetBackdrop,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetOverlay,\n SheetPortal,\n SheetPopup,\n SheetTitle,\n SheetTrigger,\n SheetViewport,\n};\n\nexport type { SheetBackdropProps } from \"./sheet-backdrop\";\nexport type { SheetCloseProps } from \"./sheet-close\";\nexport type { SheetContentProps } from \"./sheet-content\";\nexport type { SheetDescriptionProps } from \"./sheet-description\";\nexport type { SheetFooterProps } from \"./sheet-footer\";\nexport type { SheetHeaderProps } from \"./sheet-header\";\nexport type { SheetOverlayProps } from \"./sheet-overlay\";\nexport type { SheetPopupProps } from \"./sheet-popup\";\nexport type { SheetPortalProps } from \"./sheet-portal\";\nexport type { SheetTitleProps } from \"./sheet-title\";\nexport type { SheetTriggerProps } from \"./sheet-trigger\";\nexport type { SheetViewportProps } from \"./sheet-viewport\";\n"],"mappings":";;;;;;;;AAOA,MAAM,iBAAiB,EAAE,WAAW,GAAG,YACrC,oBAACA,OAAe,UAAhB;CACE,WAAW,GACT,gPACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACTJ,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,oBAACC,OAAe,OAAhB;CACE,WAAW,GAAG,oBAAoB,UAAU;CAC5C,aAAU;CACV,GAAI;CACJ;;;;ACDJ,MAAM,cAAc,EAClB,WACA,OAAO,SACP,GAAG,YAEH,oBAACC,OAAe,OAAhB;CACE,WAAW,GACT,+mCACA,UACD;CACD,aAAW;CACX,aAAU;CACV,GAAI;CACJ;;;;AClBJ,MAAM,eAAe,EAAE,GAAG,YACxB,oBAACC,OAAe,QAAhB;CAAuB,aAAU;CAAe,GAAI;CAAS;;;;ACC/D,MAAM,iBAAiB,EAAE,WAAW,GAAG,YACrC,oBAACC,OAAe,UAAhB;CACE,WAAW,GAAG,2BAA2B,UAAU;CACnD,aAAU;CACV,GAAI;CACJ;;;;ACKJ,MAAM,gBAAgB,EACpB,WACA,UACA,OAAO,SACP,kBAAkB,MAClB,GAAG,YAEH,qBAAC,aAAD,aACE,oBAAC,eAAD,EAAiB,GACjB,oBAAC,eAAD,YACE,qBAAC,YAAD;CACa;CACX,aAAU;CACJ;CACN,GAAI;WAJN,CAMG,UACA,mBACC,qBAAC,YAAD;EACE,aAAU;EACV,QACE,oBAAC,QAAD;GACE,WAAU;GACV,MAAK;GACL,SAAQ;GACR;YAPN,CAUE,oBAAC,eAAD;GAAe,MAAM;GAAc,aAAa;GAAK,GACrD,oBAAC,QAAD;GAAM,WAAU;aAAU;GAAY,EAC3B;IAEJ;IACC,EACJ;;;;AC7ChB,MAAM,oBAAoB,EAAE,WAAW,GAAG,YACxC,oBAACC,OAAe,aAAhB;CACE,WAAW,GAAG,iCAAiC,UAAU;CACzD,aAAU;CACV,GAAI;CACJ;;;;ACPJ,MAAM,eAAe,EAAE,WAAW,GAAG,YACnC,oBAAC,OAAD;CACE,WAAW,GAAG,mCAAmC,UAAU;CAC3D,aAAU;CACV,GAAI;CACJ;;;;ACLJ,MAAM,eAAe,EAAE,WAAW,GAAG,YACnC,oBAAC,OAAD;CACE,WAAW,GAAG,6BAA6B,UAAU;CACrD,aAAU;CACV,GAAI;CACJ;;;;ACHJ,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,oBAAC,eAAD;CAA0B;CAAW,aAAU;CAAgB,GAAI;CAAS;;;;ACD9E,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,oBAACC,OAAe,OAAhB;CACE,WAAW,GAAG,yCAAyC,UAAU;CACjE,aAAU;CACV,GAAI;CACJ;;;;ACLJ,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,oBAACC,OAAe,SAAhB;CACE,WAAW,GAAG,oBAAoB,UAAU;CAC5C,aAAU;CACV,GAAI;CACJ;;;;ACOJ,MAAM,SAAS,EAAE,GAAG,YAClB,oBAACC,OAAe,MAAhB;CAAqB,aAAU;CAAQ,GAAI;CAAS;AAGtD,MAAM,QAAQ;AACd,MAAM,UAAU;AAChB,MAAM,WAAW;AACjB,MAAM,cAAc;AACpB,MAAM,SAAS;AACf,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,UAAU;AAChB,MAAM,WAAW"}
|