@akira-io/ui 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blocks.js +12 -11
- package/dist/blocks.js.map +1 -1
- package/dist/{chunk-2HLBBU3O.js → chunk-2V6HUWST.js} +6 -5
- package/dist/chunk-2V6HUWST.js.map +1 -0
- package/dist/{chunk-UTSTTTH5.js → chunk-3Z2VGVPI.js} +4 -4
- package/dist/chunk-3Z2VGVPI.js.map +1 -0
- package/dist/{chunk-3HKIYFWI.js → chunk-B3L6PRLX.js} +6 -6
- package/dist/{chunk-3HKIYFWI.js.map → chunk-B3L6PRLX.js.map} +1 -1
- package/dist/{chunk-DW42Z75X.js → chunk-I6VVCFZ2.js} +12 -12
- package/dist/chunk-I6VVCFZ2.js.map +1 -0
- package/dist/{chunk-MCMBS2SB.js → chunk-IDNOI4OK.js} +3 -3
- package/dist/{chunk-MCMBS2SB.js.map → chunk-IDNOI4OK.js.map} +1 -1
- package/dist/{chunk-I5UZAJB4.js → chunk-KHOA4TEI.js} +33 -7
- package/dist/chunk-KHOA4TEI.js.map +1 -0
- package/dist/{chunk-O5DZTX7D.js → chunk-N2KIFFI7.js} +3 -3
- package/dist/{chunk-O5DZTX7D.js.map → chunk-N2KIFFI7.js.map} +1 -1
- package/dist/{chunk-SH5QZCOW.js → chunk-SZUXATOF.js} +6 -6
- package/dist/{chunk-SH5QZCOW.js.map → chunk-SZUXATOF.js.map} +1 -1
- package/dist/{chunk-SBLZ6T3D.js → chunk-YBXRJSR3.js} +3 -3
- package/dist/{chunk-SBLZ6T3D.js.map → chunk-YBXRJSR3.js.map} +1 -1
- package/dist/code.js +2 -2
- package/dist/editor.js +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.js +18 -18
- package/dist/index.js.map +1 -1
- package/dist/inertia.js +4 -4
- package/dist/shells.js +6 -6
- package/package.json +1 -1
- package/theme.css +9 -3
- package/themes/nosferry.css +2 -2
- package/dist/chunk-2HLBBU3O.js.map +0 -1
- package/dist/chunk-DW42Z75X.js.map +0 -1
- package/dist/chunk-I5UZAJB4.js.map +0 -1
- package/dist/chunk-UTSTTTH5.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { elevatedSurface,
|
|
1
|
+
import { elevatedSurface, flatSurface, cn, recessedSurface } from './chunk-KHOA4TEI.js';
|
|
2
2
|
import { cva } from 'class-variance-authority';
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
@@ -7,9 +7,10 @@ var cardVariants = cva(
|
|
|
7
7
|
{
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
10
|
-
default: "bg-card
|
|
10
|
+
default: "bg-card",
|
|
11
11
|
subtle: "border-border/60 bg-card/40",
|
|
12
|
-
solid: "bg-card"
|
|
12
|
+
solid: "bg-card",
|
|
13
|
+
outlined: `bg-card border border-border ${flatSurface}`
|
|
13
14
|
},
|
|
14
15
|
interactive: {
|
|
15
16
|
true: "transition-colors duration-200 hover:border-foreground/20",
|
|
@@ -122,5 +123,5 @@ function CardFooter({
|
|
|
122
123
|
}
|
|
123
124
|
|
|
124
125
|
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, cardVariants };
|
|
125
|
-
//# sourceMappingURL=chunk-
|
|
126
|
-
//# sourceMappingURL=chunk-
|
|
126
|
+
//# sourceMappingURL=chunk-2V6HUWST.js.map
|
|
127
|
+
//# sourceMappingURL=chunk-2V6HUWST.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/card.tsx"],"names":[],"mappings":"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","file":"chunk-2V6HUWST.js","sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport {\n elevatedSurface,\n flatSurface,\n recessedSurface,\n type FlatSurfaceProps,\n} from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nconst cardVariants = cva(\n `relative flex flex-col gap-6 overflow-hidden text-card-foreground ${elevatedSurface}`,\n {\n variants: {\n variant: {\n default: 'bg-card',\n subtle: 'border-border/60 bg-card/40',\n solid: 'bg-card',\n outlined: `bg-card border border-border ${flatSurface}`,\n },\n interactive: {\n true: 'transition-colors duration-200 hover:border-foreground/20',\n false: '',\n },\n padding: { none: 'py-0', sm: 'py-4', md: 'py-6', lg: 'py-8' },\n },\n defaultVariants: {\n variant: 'default',\n interactive: false,\n padding: 'md',\n },\n },\n);\n\ntype CardProps = React.ComponentProps<'div'> &\n VariantProps<typeof cardVariants> &\n FlatSurfaceProps;\n\nfunction Card({\n className,\n variant,\n interactive,\n padding,\n inset = false,\n flat = false,\n slotName = 'card',\n ...props\n}: CardProps & SlotNameProps) {\n return (\n <div\n data-inset={inset || undefined}\n data-flat={flat || undefined}\n className={cn(\n cardVariants({ variant, interactive, padding }),\n flat && flatSurface,\n inset && recessedSurface,\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CardHeader({\n className,\n slotName = 'card-header',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('gap-1.5 px-6 flex flex-col', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CardTitle({\n className,\n slotName = 'card-title',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('font-semibold leading-none', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CardDescription({\n className,\n slotName = 'card-description',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CardContent({\n className,\n slotName = 'card-content',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('px-6', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CardFooter({\n className,\n slotName = 'card-footer',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('px-6 flex items-center', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n cardVariants,\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn, fieldSurface, fieldFocus } from './chunk-
|
|
1
|
+
import { cn, fieldSurface, fieldFocus } from './chunk-KHOA4TEI.js';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
4
4
|
|
|
@@ -13,7 +13,7 @@ function Input({
|
|
|
13
13
|
{
|
|
14
14
|
type,
|
|
15
15
|
className: cn(
|
|
16
|
-
`h-11 min-w-0 px-4
|
|
16
|
+
`h-11 min-w-0 px-4 font-medium flex w-full transition-all placeholder:text-muted-foreground focus:bg-muted disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 ${fieldSurface} ${fieldFocus}`,
|
|
17
17
|
className
|
|
18
18
|
),
|
|
19
19
|
...props,
|
|
@@ -44,5 +44,5 @@ function Separator({
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
export { Input, Separator };
|
|
47
|
-
//# sourceMappingURL=chunk-
|
|
48
|
-
//# sourceMappingURL=chunk-
|
|
47
|
+
//# sourceMappingURL=chunk-3Z2VGVPI.js.map
|
|
48
|
+
//# sourceMappingURL=chunk-3Z2VGVPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/input.tsx","../src/components/ui/separator.tsx"],"names":["jsx"],"mappings":";;;;AAMA,SAAS,KAAA,CAAM;AAAA,EACX,SAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA,GAAW,OAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAkD;AAC9C,EAAA,uBACI,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACG,IAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACP,CAAA,4NAAA,EAA+N,YAAY,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA;AAAA,QACzP;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;ACjBA,SAAS,SAAA,CAAU;AAAA,EACf,SAAA;AAAA,EACA,WAAA,GAAc,YAAA;AAAA,EACd,UAAA,GAAa,IAAA;AAAA,EACb,QAAA,GAAW,gBAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAyE;AACrE,EAAA,uBACIA,GAAAA;AAAA,IAAoB,kBAAA,CAAA,IAAA;AAAA,IAAnB;AAAA,MACG,UAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACP,gKAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER","file":"chunk-3Z2VGVPI.js","sourcesContent":["import * as React from 'react';\n\nimport { fieldFocus, fieldSurface } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Input({\n className,\n type,\n slotName = 'input',\n ...props\n}: React.ComponentProps<'input'> & SlotNameProps) {\n return (\n <input\n type={type}\n className={cn(\n `h-11 min-w-0 px-4 font-medium flex w-full transition-all placeholder:text-muted-foreground focus:bg-muted disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 ${fieldSurface} ${fieldFocus}`,\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport { Input };\n","import * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n slotName = 'separator-root',\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root> & SlotNameProps) {\n return (\n <SeparatorPrimitive.Root\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport { Separator };\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Input, Separator } from './chunk-
|
|
2
|
-
import { cn, menuSurface, focusRing, floatingSurface, Button } from './chunk-
|
|
1
|
+
import { Input, Separator } from './chunk-3Z2VGVPI.js';
|
|
2
|
+
import { cn, menuSurface, focusRing, floatingSurface, Button } from './chunk-KHOA4TEI.js';
|
|
3
3
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
4
4
|
import { CheckIcon, CircleIcon, ChevronRightIcon, ChevronRight, MoreHorizontal, XIcon, PanelLeftIcon } from 'lucide-react';
|
|
5
5
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -803,7 +803,7 @@ function Sidebar({
|
|
|
803
803
|
{
|
|
804
804
|
"data-sidebar": "sidebar",
|
|
805
805
|
"data-mobile": "true",
|
|
806
|
-
className: "p-0 w-(--sidebar-width) bg-sidebar text-sidebar-foreground [&>button]:hidden",
|
|
806
|
+
className: "p-0 w-(--sidebar-width) rounded-none bg-sidebar text-sidebar-foreground [&>button]:hidden",
|
|
807
807
|
style: {
|
|
808
808
|
"--sidebar-width": SIDEBAR_WIDTH_MOBILE
|
|
809
809
|
},
|
|
@@ -978,7 +978,7 @@ function SidebarFooter({
|
|
|
978
978
|
{
|
|
979
979
|
"data-sidebar": "footer",
|
|
980
980
|
className: cn(
|
|
981
|
-
"gap-2 p-2 group-data-[collapsible=icon]:px-0 flex flex-col",
|
|
981
|
+
"gap-2 p-2 group-data-[collapsible=icon]:px-0 flex flex-col pb-[max(0.5rem,env(safe-area-inset-bottom))]",
|
|
982
982
|
className
|
|
983
983
|
),
|
|
984
984
|
...props,
|
|
@@ -1352,5 +1352,5 @@ function SidebarMenuSubButton({
|
|
|
1352
1352
|
}
|
|
1353
1353
|
|
|
1354
1354
|
export { Avatar, AvatarFallback, AvatarImage, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Icon, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, useIsMobile, useSidebar };
|
|
1355
|
-
//# sourceMappingURL=chunk-
|
|
1356
|
-
//# sourceMappingURL=chunk-
|
|
1355
|
+
//# sourceMappingURL=chunk-B3L6PRLX.js.map
|
|
1356
|
+
//# sourceMappingURL=chunk-B3L6PRLX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/dropdown-menu.tsx","../src/components/ui/avatar.tsx","../src/components/ui/breadcrumb.tsx","../src/components/ui/collapsible.tsx","../src/components/ui/icon.tsx","../src/components/ui/sheet.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/tooltip.tsx","../src/hooks/use-mobile.tsx","../src/components/ui/sidebar.tsx"],"names":["jsx","jsxs","CollapsibleTrigger","CollapsibleContent","React","open","Slot"],"mappings":"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","file":"chunk-3HKIYFWI.js","sourcesContent":["import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { menuSurface } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction DropdownMenu({\n modal = false,\n slotName = 'dropdown-menu',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root> & SlotNameProps) {\n return (\n <DropdownMenuPrimitive.Root\n modal={modal}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction DropdownMenuPortal({\n slotName = 'dropdown-menu-portal',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal> & SlotNameProps) {\n return <DropdownMenuPrimitive.Portal {...props} data-slot={slotName} />;\n}\n\nfunction DropdownMenuTrigger({\n slotName = 'dropdown-menu-trigger',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger> & SlotNameProps) {\n return <DropdownMenuPrimitive.Trigger {...props} data-slot={slotName} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n slotName = 'dropdown-menu-content',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content> & SlotNameProps) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n sideOffset={sideOffset}\n className={cn(\n `${menuSurface} data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 p-1.5 z-50 min-w-[8rem] overflow-hidden`,\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n slotName = 'dropdown-menu-group',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group> & SlotNameProps) {\n return <DropdownMenuPrimitive.Group {...props} data-slot={slotName} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n slotName = 'dropdown-menu-item',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n} & SlotNameProps) {\n return (\n <DropdownMenuPrimitive.Item\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"font-medium gap-2 rounded-xl px-2 py-2 text-sm data-[inset]:pl-8 [&_svg:not([class*='size-'])]:size-5 focus:font-semibold relative flex cursor-default items-center outline-hidden transition-all select-none focus:bg-primary/10 focus:text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:!text-destructive\",\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n slotName = 'dropdown-menu-checkbox-item',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> &\n SlotNameProps) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n className={cn(\n \"gap-2 py-1.5 pr-2 pl-8 text-sm [&_svg:not([class*='size-'])]:size-4 rounded-xl relative flex cursor-default items-center outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n checked={checked}\n {...props}\n data-slot={slotName}\n >\n <span className=\"left-2 size-3.5 pointer-events-none absolute flex items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n slotName = 'dropdown-menu-radio-group',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup> &\n SlotNameProps) {\n return <DropdownMenuPrimitive.RadioGroup {...props} data-slot={slotName} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n slotName = 'dropdown-menu-radio-item',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> &\n SlotNameProps) {\n return (\n <DropdownMenuPrimitive.RadioItem\n className={cn(\n \"gap-2 py-1.5 pr-2 pl-8 text-sm [&_svg:not([class*='size-'])]:size-4 rounded-xl relative flex cursor-default items-center outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n <span className=\"left-2 size-3.5 pointer-events-none absolute flex items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n slotName = 'dropdown-menu-label',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n} & SlotNameProps) {\n return (\n <DropdownMenuPrimitive.Label\n data-inset={inset}\n className={cn(\n 'px-2 py-2 text-xs font-medium tracking-wider data-[inset]:pl-8 text-muted-foreground uppercase',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n slotName = 'dropdown-menu-separator',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator> &\n SlotNameProps) {\n return (\n <DropdownMenuPrimitive.Separator\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n slotName = 'dropdown-menu-shortcut',\n ...props\n}: React.ComponentProps<'span'> & SlotNameProps) {\n return (\n <span\n className={cn(\n 'text-xs tracking-widest ml-auto text-muted-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction DropdownMenuSub({\n slotName = 'dropdown-menu-sub',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub> & SlotNameProps) {\n return <DropdownMenuPrimitive.Sub {...props} data-slot={slotName} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n slotName = 'dropdown-menu-sub-trigger',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n} & SlotNameProps) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-inset={inset}\n className={cn(\n 'font-medium rounded-xl px-2 py-2 text-sm data-[inset]:pl-8 focus:font-semibold data-[state=open]:font-semibold flex cursor-default items-center outline-hidden transition-all select-none focus:bg-primary/10 focus:text-primary data-[state=open]:bg-primary/10 data-[state=open]:text-primary',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n <ChevronRightIcon className=\"size-4 ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n slotName = 'dropdown-menu-sub-content',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent> &\n SlotNameProps) {\n return (\n <DropdownMenuPrimitive.SubContent\n className={cn(\n `${menuSurface} data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 p-1.5 z-50 min-w-[8rem] overflow-hidden`,\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n","import * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Avatar({\n className,\n slotName = 'avatar',\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & SlotNameProps) {\n return (\n <AvatarPrimitive.Root\n className={cn(\n 'size-8 relative flex shrink-0 overflow-hidden rounded-full',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction AvatarImage({\n className,\n slotName = 'avatar-image',\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image> & SlotNameProps) {\n return (\n <AvatarPrimitive.Image\n className={cn('aspect-square size-full', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n slotName = 'avatar-fallback',\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback> & SlotNameProps) {\n return (\n <AvatarPrimitive.Fallback\n className={cn(\n 'flex size-full items-center justify-center rounded-full bg-muted',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport { Avatar, AvatarFallback, AvatarImage };\n","import { Slot } from '@radix-ui/react-slot';\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Breadcrumb({\n slotName = 'breadcrumb',\n ...props\n}: React.ComponentProps<'nav'> & SlotNameProps) {\n return <nav aria-label=\"breadcrumb\" {...props} data-slot={slotName} />;\n}\n\nfunction BreadcrumbList({\n className,\n slotName = 'breadcrumb-list',\n ...props\n}: React.ComponentProps<'ol'> & SlotNameProps) {\n return (\n <ol\n className={cn(\n 'gap-1.5 text-sm sm:gap-2.5 flex flex-wrap items-center break-words text-muted-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction BreadcrumbItem({\n className,\n slotName = 'breadcrumb-item',\n ...props\n}: React.ComponentProps<'li'> & SlotNameProps) {\n return (\n <li\n className={cn('gap-1.5 inline-flex items-center', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n slotName = 'breadcrumb-link',\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n} & SlotNameProps) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n className={cn('transition-colors hover:text-foreground', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction BreadcrumbPage({\n className,\n slotName = 'breadcrumb-page',\n ...props\n}: React.ComponentProps<'span'> & SlotNameProps) {\n return (\n <span\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('font-semibold text-foreground', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n slotName = 'breadcrumb-separator',\n ...props\n}: React.ComponentProps<'li'> & SlotNameProps) {\n return (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n data-slot={slotName}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n slotName = 'breadcrumb-ellipsis',\n ...props\n}: React.ComponentProps<'span'> & SlotNameProps) {\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\n 'size-9 rounded-xl flex items-center justify-center',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n};\n","import type { SlotNameProps } from '@/types';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nfunction Collapsible({\n slotName = 'collapsible',\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root> & SlotNameProps) {\n return <CollapsiblePrimitive.Root {...props} data-slot={slotName} />;\n}\n\nfunction CollapsibleTrigger({\n slotName = 'collapsible-trigger',\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger> &\n SlotNameProps) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CollapsibleContent({\n slotName = 'collapsible-content',\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent> &\n SlotNameProps) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n","import type { IconComponent } from '@/types';\n\ninterface IconProps {\n iconNode?: IconComponent | null;\n className?: string;\n}\n\nexport function Icon({ iconNode: IconComponent, className }: IconProps) {\n if (!IconComponent) {\n return null;\n }\n\n return <IconComponent className={className} />;\n}\n","import * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { floatingSurface, focusRing } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Sheet({\n preserveScroll = false,\n onOpenChange: onOpenChangeProp,\n slotName = 'sheet',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Root> & {\n preserveScroll?: boolean;\n} & SlotNameProps) {\n const scrollPosition = React.useRef(0);\n\n const onOpenChange = (open: boolean) => {\n if (preserveScroll) {\n if (open) {\n scrollPosition.current = window.scrollY;\n } else {\n setTimeout(() => {\n window.scrollTo(0, scrollPosition.current);\n }, 0);\n }\n }\n\n onOpenChangeProp?.(open);\n };\n\n return (\n <SheetPrimitive.Root\n {...props}\n onOpenChange={onOpenChange}\n data-slot={slotName}\n />\n );\n}\n\nfunction SheetTrigger({\n slotName = 'sheet-trigger',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger> & SlotNameProps) {\n return <SheetPrimitive.Trigger {...props} data-slot={slotName} />;\n}\n\nfunction SheetClose({\n slotName = 'sheet-close',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close> & SlotNameProps) {\n return <SheetPrimitive.Close {...props} data-slot={slotName} />;\n}\n\nfunction SheetPortal({\n slotName = 'sheet-portal',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal> & SlotNameProps) {\n return <SheetPrimitive.Portal {...props} data-slot={slotName} />;\n}\n\nfunction SheetOverlay({\n className,\n slotName = 'sheet-overlay',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay> & SlotNameProps) {\n return (\n <SheetPrimitive.Overlay\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 inset-0 bg-black/60 backdrop-blur-sm fixed z-50',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n slotName = 'sheet-content',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left';\n} & SlotNameProps) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n className={cn(\n `${floatingSurface} data-[state=open]:animate-in data-[state=closed]:animate-out gap-4 ease-in-out fixed z-50 flex flex-col transition data-[state=closed]:duration-300 data-[state=open]:duration-500`,\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 sm:max-w-sm rounded-l-3xl h-full w-3/4 border-l border-border',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 sm:max-w-sm rounded-r-3xl h-full w-3/4 border-r border-border',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 rounded-b-3xl h-auto border-b border-border',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 rounded-t-3xl h-auto border-t border-border',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n <SheetPrimitive.Close\n className={cn(\n 'top-4 right-4 size-9 shadow-xs absolute flex items-center justify-center rounded-full border border-border bg-muted text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:pointer-events-none',\n focusRing,\n )}\n >\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({\n className,\n slotName = 'sheet-header',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('gap-1.5 p-4 flex flex-col', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SheetFooter({\n className,\n slotName = 'sheet-footer',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('gap-2 p-4 mt-auto flex flex-col', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SheetTitle({\n className,\n slotName = 'sheet-title',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title> & SlotNameProps) {\n return (\n <SheetPrimitive.Title\n className={cn('font-semibold text-foreground', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n slotName = 'sheet-description',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description> & SlotNameProps) {\n return (\n <SheetPrimitive.Description\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n};\n","import { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Skeleton({\n className,\n slotName = 'skeleton',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('animate-pulse rounded-xl bg-muted', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport { Skeleton };\n","import * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction TooltipProvider({\n delayDuration = 0,\n slotName = 'tooltip-provider',\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider> & SlotNameProps) {\n return (\n <TooltipPrimitive.Provider\n delayDuration={delayDuration}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction Tooltip({\n slotName = 'tooltip',\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root> & SlotNameProps) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root {...props} data-slot={slotName} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({\n slotName = 'tooltip-trigger',\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger> & SlotNameProps) {\n return <TooltipPrimitive.Trigger {...props} data-slot={slotName} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 4,\n children,\n slotName = 'tooltip-content',\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content> & SlotNameProps) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n sideOffset={sideOffset}\n className={cn(\n 'animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 max-w-sm px-3 py-1.5 text-xs shadow-2xl rounded-xl z-50 bg-primary text-primary-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"size-2.5 z-50 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-primary fill-primary\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","import { useEffect, useState } from 'react';\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = useState<boolean>();\n\n useEffect(() => {\n const mql = window.matchMedia(\n `(max-width: ${MOBILE_BREAKPOINT - 1}px)`,\n );\n\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n };\n\n mql.addEventListener('change', onChange);\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n\n return () => mql.removeEventListener('change', onChange);\n }, []);\n\n return !!isMobile;\n}\n","import { Slot } from '@radix-ui/react-slot';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { PanelLeftIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Separator } from '@/components/ui/separator';\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from '@/components/ui/sheet';\nimport { Skeleton } from '@/components/ui/skeleton';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/ui/tooltip';\nimport { useIsMobile } from '@/hooks/use-mobile';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContext = {\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\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n slotName = 'sidebar-wrapper',\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n} & SlotNameProps) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.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] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: 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 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 = React.useCallback(() => {\n return isMobile\n ? setOpenMobile((open) => !open)\n : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.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 = React.useMemo<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n ],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n slotName = 'sidebar',\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n} & SlotNameProps) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn(\n 'flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet\n open={openMobile}\n onOpenChange={setOpenMobile}\n {...props}\n preserveScroll\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>\n Displays the mobile sidebar.\n </SheetDescription>\n </SheetHeader>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n className=\"p-0 w-(--sidebar-width) bg-sidebar text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n slotName={slotName}\n >\n <div className=\"flex h-full w-full flex-col\">\n {children}\n </div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer md:block hidden text-sidebar-foreground\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot={slotName}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n 'relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]: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 />\n <div\n className={cn(\n 'inset-y-0 md:flex fixed z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]: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 {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:rounded-2xl flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n slotName = 'sidebar-trigger',\n ...props\n}: React.ComponentProps<typeof Button> & SlotNameProps) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('h-7 w-7', className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n slotName={slotName}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({\n className,\n slotName = 'sidebar-rail',\n ...props\n}: React.ComponentProps<'button'> & SlotNameProps) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'inset-y-0 w-4 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:inset-y-0 sm:flex absolute z-20 hidden -translate-x-1/2 transition-all ease-linear after:absolute after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border',\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 'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarInset({\n className,\n slotName = 'sidebar-inset',\n ...props\n}: React.ComponentProps<'main'> & SlotNameProps) {\n return (\n <main\n className={cn(\n 'relative flex min-h-svh max-w-full flex-1 flex-col bg-background',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] 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-0',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n slotName = 'sidebar-input',\n ...props\n}: React.ComponentProps<typeof Input> & SlotNameProps) {\n return (\n <Input\n data-sidebar=\"input\"\n className={cn('h-11 w-full bg-background shadow-none', className)}\n {...props}\n slotName={slotName}\n />\n );\n}\n\nfunction SidebarHeader({\n className,\n slotName = 'sidebar-header',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"header\"\n className={cn(\n 'gap-2 p-2 group-data-[collapsible=icon]:px-0 flex flex-col',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarFooter({\n className,\n slotName = 'sidebar-footer',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"footer\"\n className={cn(\n 'gap-2 p-2 group-data-[collapsible=icon]:px-0 flex flex-col',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n slotName = 'sidebar-separator',\n ...props\n}: React.ComponentProps<typeof Separator> & SlotNameProps) {\n return (\n <Separator\n data-sidebar=\"separator\"\n className={cn('mx-2 w-auto bg-sidebar-border', className)}\n {...props}\n slotName={slotName}\n />\n );\n}\n\nfunction SidebarContent({\n className,\n slotName = 'sidebar-content',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"content\"\n className={cn(\n 'min-h-0 gap-2 flex flex-1 flex-col overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarGroup({\n className,\n slotName = 'sidebar-group',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"group\"\n className={cn(\n 'min-w-0 p-2 group-data-[collapsible=icon]:px-0 relative flex w-full flex-col',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n slotName = 'sidebar-group-label',\n ...props\n}: React.ComponentProps<'div'> & { asChild?: boolean } & SlotNameProps) {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n data-sidebar=\"group-label\"\n className={cn(\n 'h-8 rounded-xl px-2 text-xs font-medium tracking-wider [&>svg]:size-4 flex shrink-0 items-center text-sidebar-foreground/70 uppercase ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring focus-visible:outline-solid [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:pointer-events-none group-data-[collapsible=icon]:opacity-0 group-data-[collapsible=icon]:select-none',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n slotName = 'sidebar-group-action',\n ...props\n}: React.ComponentProps<'button'> & { asChild?: boolean } & SlotNameProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-sidebar=\"group-action\"\n className={cn(\n 'top-3.5 right-3 w-5 p-0 [&>svg]:size-4 rounded-xl absolute flex aspect-square items-center justify-center text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring focus-visible:outline-solid [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:-inset-2 md:after:hidden after:absolute',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n slotName = 'sidebar-group-content',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"group-content\"\n className={cn('text-sm w-full', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenu({\n className,\n slotName = 'sidebar-menu',\n ...props\n}: React.ComponentProps<'ul'> & SlotNameProps) {\n return (\n <ul\n data-sidebar=\"menu\"\n className={cn(\n 'min-w-0 gap-1 flex w-full flex-col group-data-[collapsible=icon]:items-center',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenuItem({\n className,\n slotName = 'sidebar-menu-item',\n ...props\n}: React.ComponentProps<'li'> & SlotNameProps) {\n return (\n <li\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-3 overflow-hidden rounded-xl p-2.5 text-left text-sm font-medium outline-hidden ring-sidebar-ring transition-all hover:bg-accent hover:text-accent-foreground focus-visible:outline-solid focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring active:scale-[0.98] disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-primary/10 data-[active=true]:font-semibold data-[active=true]:text-primary group-data-[collapsible=icon]:size-10! group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:gap-0 group-data-[collapsible=icon]:p-2.5! [&>span:last-child]:truncate group-data-[collapsible=icon]:[&>span:last-child]:hidden [&>svg]:size-5 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default:\n 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-11 text-sm',\n sm: 'h-9 text-sm',\n lg: 'h-14 text-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n slotName = 'sidebar-menu-button',\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants> &\n SlotNameProps) {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n sidebarMenuButtonVariants({ variant, size }),\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n slotName = 'sidebar-menu-action',\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n} & SlotNameProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-sidebar=\"menu-action\"\n className={cn(\n 'top-1.5 right-1 w-5 p-0 [&>svg]:size-4 rounded-xl absolute flex aspect-square items-center justify-center text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring focus-visible:outline-solid [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:-inset-2 md:after:hidden after:absolute',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'md:opacity-0 group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground data-[state=open]:opacity-100',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n slotName = 'sidebar-menu-badge',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"menu-badge\"\n className={cn(\n 'right-1 h-5 min-w-5 px-1 text-xs font-medium rounded-xl pointer-events-none absolute flex items-center justify-center text-sidebar-foreground tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n slotName = 'sidebar-menu-skeleton',\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n} & SlotNameProps) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-sidebar=\"menu-skeleton\"\n className={cn(\n 'h-8 gap-2 px-2 rounded-xl flex items-center',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-xl\"\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': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({\n className,\n slotName = 'sidebar-menu-sub',\n ...props\n}: React.ComponentProps<'ul'> & SlotNameProps) {\n return (\n <ul\n data-sidebar=\"menu-sub\"\n className={cn(\n 'mx-3.5 min-w-0 gap-1 px-2.5 py-0.5 flex translate-x-px flex-col border-l border-sidebar-border',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n slotName = 'sidebar-menu-sub-item',\n ...props\n}: React.ComponentProps<'li'> & SlotNameProps) {\n return (\n <li\n data-sidebar=\"menu-sub-item\"\n className={cn('group/menu-sub-item relative', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n slotName = 'sidebar-menu-sub-button',\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n} & SlotNameProps) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'h-9 min-w-0 gap-2 px-2 text-sm font-medium [&>svg]:size-4 rounded-xl flex -translate-x-px items-center overflow-hidden text-sidebar-foreground ring-sidebar-ring outline-hidden hover:bg-accent hover:text-accent-foreground focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring focus-visible:outline-solid active:bg-accent disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0 [&>svg]:text-current',\n 'data-[active=true]:font-semibold data-[active=true]:bg-primary/10 data-[active=true]:text-primary',\n size === 'sm' && 'h-9 text-sm',\n size === 'md' && 'h-9 text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\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"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/dropdown-menu.tsx","../src/components/ui/avatar.tsx","../src/components/ui/breadcrumb.tsx","../src/components/ui/collapsible.tsx","../src/components/ui/icon.tsx","../src/components/ui/sheet.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/tooltip.tsx","../src/hooks/use-mobile.tsx","../src/components/ui/sidebar.tsx"],"names":["jsx","jsxs","CollapsibleTrigger","CollapsibleContent","React","open","Slot"],"mappings":"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","file":"chunk-B3L6PRLX.js","sourcesContent":["import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { menuSurface } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction DropdownMenu({\n modal = false,\n slotName = 'dropdown-menu',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root> & SlotNameProps) {\n return (\n <DropdownMenuPrimitive.Root\n modal={modal}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction DropdownMenuPortal({\n slotName = 'dropdown-menu-portal',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal> & SlotNameProps) {\n return <DropdownMenuPrimitive.Portal {...props} data-slot={slotName} />;\n}\n\nfunction DropdownMenuTrigger({\n slotName = 'dropdown-menu-trigger',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger> & SlotNameProps) {\n return <DropdownMenuPrimitive.Trigger {...props} data-slot={slotName} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n slotName = 'dropdown-menu-content',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content> & SlotNameProps) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n sideOffset={sideOffset}\n className={cn(\n `${menuSurface} data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 p-1.5 z-50 min-w-[8rem] overflow-hidden`,\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n slotName = 'dropdown-menu-group',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group> & SlotNameProps) {\n return <DropdownMenuPrimitive.Group {...props} data-slot={slotName} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n slotName = 'dropdown-menu-item',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n} & SlotNameProps) {\n return (\n <DropdownMenuPrimitive.Item\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"font-medium gap-2 rounded-xl px-2 py-2 text-sm data-[inset]:pl-8 [&_svg:not([class*='size-'])]:size-5 focus:font-semibold relative flex cursor-default items-center outline-hidden transition-all select-none focus:bg-primary/10 focus:text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:!text-destructive\",\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n slotName = 'dropdown-menu-checkbox-item',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> &\n SlotNameProps) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n className={cn(\n \"gap-2 py-1.5 pr-2 pl-8 text-sm [&_svg:not([class*='size-'])]:size-4 rounded-xl relative flex cursor-default items-center outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n checked={checked}\n {...props}\n data-slot={slotName}\n >\n <span className=\"left-2 size-3.5 pointer-events-none absolute flex items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n slotName = 'dropdown-menu-radio-group',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup> &\n SlotNameProps) {\n return <DropdownMenuPrimitive.RadioGroup {...props} data-slot={slotName} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n slotName = 'dropdown-menu-radio-item',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> &\n SlotNameProps) {\n return (\n <DropdownMenuPrimitive.RadioItem\n className={cn(\n \"gap-2 py-1.5 pr-2 pl-8 text-sm [&_svg:not([class*='size-'])]:size-4 rounded-xl relative flex cursor-default items-center outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n <span className=\"left-2 size-3.5 pointer-events-none absolute flex items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n slotName = 'dropdown-menu-label',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n} & SlotNameProps) {\n return (\n <DropdownMenuPrimitive.Label\n data-inset={inset}\n className={cn(\n 'px-2 py-2 text-xs font-medium tracking-wider data-[inset]:pl-8 text-muted-foreground uppercase',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n slotName = 'dropdown-menu-separator',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator> &\n SlotNameProps) {\n return (\n <DropdownMenuPrimitive.Separator\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n slotName = 'dropdown-menu-shortcut',\n ...props\n}: React.ComponentProps<'span'> & SlotNameProps) {\n return (\n <span\n className={cn(\n 'text-xs tracking-widest ml-auto text-muted-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction DropdownMenuSub({\n slotName = 'dropdown-menu-sub',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub> & SlotNameProps) {\n return <DropdownMenuPrimitive.Sub {...props} data-slot={slotName} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n slotName = 'dropdown-menu-sub-trigger',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n} & SlotNameProps) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-inset={inset}\n className={cn(\n 'font-medium rounded-xl px-2 py-2 text-sm data-[inset]:pl-8 focus:font-semibold data-[state=open]:font-semibold flex cursor-default items-center outline-hidden transition-all select-none focus:bg-primary/10 focus:text-primary data-[state=open]:bg-primary/10 data-[state=open]:text-primary',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n <ChevronRightIcon className=\"size-4 ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n slotName = 'dropdown-menu-sub-content',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent> &\n SlotNameProps) {\n return (\n <DropdownMenuPrimitive.SubContent\n className={cn(\n `${menuSurface} data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 p-1.5 z-50 min-w-[8rem] overflow-hidden`,\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n","import * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Avatar({\n className,\n slotName = 'avatar',\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & SlotNameProps) {\n return (\n <AvatarPrimitive.Root\n className={cn(\n 'size-8 relative flex shrink-0 overflow-hidden rounded-full',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction AvatarImage({\n className,\n slotName = 'avatar-image',\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image> & SlotNameProps) {\n return (\n <AvatarPrimitive.Image\n className={cn('aspect-square size-full', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n slotName = 'avatar-fallback',\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback> & SlotNameProps) {\n return (\n <AvatarPrimitive.Fallback\n className={cn(\n 'flex size-full items-center justify-center rounded-full bg-muted',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport { Avatar, AvatarFallback, AvatarImage };\n","import { Slot } from '@radix-ui/react-slot';\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Breadcrumb({\n slotName = 'breadcrumb',\n ...props\n}: React.ComponentProps<'nav'> & SlotNameProps) {\n return <nav aria-label=\"breadcrumb\" {...props} data-slot={slotName} />;\n}\n\nfunction BreadcrumbList({\n className,\n slotName = 'breadcrumb-list',\n ...props\n}: React.ComponentProps<'ol'> & SlotNameProps) {\n return (\n <ol\n className={cn(\n 'gap-1.5 text-sm sm:gap-2.5 flex flex-wrap items-center break-words text-muted-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction BreadcrumbItem({\n className,\n slotName = 'breadcrumb-item',\n ...props\n}: React.ComponentProps<'li'> & SlotNameProps) {\n return (\n <li\n className={cn('gap-1.5 inline-flex items-center', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n slotName = 'breadcrumb-link',\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n} & SlotNameProps) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n className={cn('transition-colors hover:text-foreground', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction BreadcrumbPage({\n className,\n slotName = 'breadcrumb-page',\n ...props\n}: React.ComponentProps<'span'> & SlotNameProps) {\n return (\n <span\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('font-semibold text-foreground', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n slotName = 'breadcrumb-separator',\n ...props\n}: React.ComponentProps<'li'> & SlotNameProps) {\n return (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n data-slot={slotName}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n slotName = 'breadcrumb-ellipsis',\n ...props\n}: React.ComponentProps<'span'> & SlotNameProps) {\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\n 'size-9 rounded-xl flex items-center justify-center',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n};\n","import type { SlotNameProps } from '@/types';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nfunction Collapsible({\n slotName = 'collapsible',\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root> & SlotNameProps) {\n return <CollapsiblePrimitive.Root {...props} data-slot={slotName} />;\n}\n\nfunction CollapsibleTrigger({\n slotName = 'collapsible-trigger',\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger> &\n SlotNameProps) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CollapsibleContent({\n slotName = 'collapsible-content',\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent> &\n SlotNameProps) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n","import type { IconComponent } from '@/types';\n\ninterface IconProps {\n iconNode?: IconComponent | null;\n className?: string;\n}\n\nexport function Icon({ iconNode: IconComponent, className }: IconProps) {\n if (!IconComponent) {\n return null;\n }\n\n return <IconComponent className={className} />;\n}\n","import * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { floatingSurface, focusRing } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Sheet({\n preserveScroll = false,\n onOpenChange: onOpenChangeProp,\n slotName = 'sheet',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Root> & {\n preserveScroll?: boolean;\n} & SlotNameProps) {\n const scrollPosition = React.useRef(0);\n\n const onOpenChange = (open: boolean) => {\n if (preserveScroll) {\n if (open) {\n scrollPosition.current = window.scrollY;\n } else {\n setTimeout(() => {\n window.scrollTo(0, scrollPosition.current);\n }, 0);\n }\n }\n\n onOpenChangeProp?.(open);\n };\n\n return (\n <SheetPrimitive.Root\n {...props}\n onOpenChange={onOpenChange}\n data-slot={slotName}\n />\n );\n}\n\nfunction SheetTrigger({\n slotName = 'sheet-trigger',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger> & SlotNameProps) {\n return <SheetPrimitive.Trigger {...props} data-slot={slotName} />;\n}\n\nfunction SheetClose({\n slotName = 'sheet-close',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close> & SlotNameProps) {\n return <SheetPrimitive.Close {...props} data-slot={slotName} />;\n}\n\nfunction SheetPortal({\n slotName = 'sheet-portal',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal> & SlotNameProps) {\n return <SheetPrimitive.Portal {...props} data-slot={slotName} />;\n}\n\nfunction SheetOverlay({\n className,\n slotName = 'sheet-overlay',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay> & SlotNameProps) {\n return (\n <SheetPrimitive.Overlay\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 inset-0 bg-black/60 backdrop-blur-sm fixed z-50',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n slotName = 'sheet-content',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left';\n} & SlotNameProps) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n className={cn(\n `${floatingSurface} data-[state=open]:animate-in data-[state=closed]:animate-out gap-4 ease-in-out fixed z-50 flex flex-col transition data-[state=closed]:duration-300 data-[state=open]:duration-500`,\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 sm:max-w-sm rounded-l-3xl h-full w-3/4 border-l border-border',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 sm:max-w-sm rounded-r-3xl h-full w-3/4 border-r border-border',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 rounded-b-3xl h-auto border-b border-border',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 rounded-t-3xl h-auto border-t border-border',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n <SheetPrimitive.Close\n className={cn(\n 'top-4 right-4 size-9 shadow-xs absolute flex items-center justify-center rounded-full border border-border bg-muted text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:pointer-events-none',\n focusRing,\n )}\n >\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({\n className,\n slotName = 'sheet-header',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('gap-1.5 p-4 flex flex-col', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SheetFooter({\n className,\n slotName = 'sheet-footer',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('gap-2 p-4 mt-auto flex flex-col', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SheetTitle({\n className,\n slotName = 'sheet-title',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title> & SlotNameProps) {\n return (\n <SheetPrimitive.Title\n className={cn('font-semibold text-foreground', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n slotName = 'sheet-description',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description> & SlotNameProps) {\n return (\n <SheetPrimitive.Description\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n};\n","import { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Skeleton({\n className,\n slotName = 'skeleton',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('animate-pulse rounded-xl bg-muted', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport { Skeleton };\n","import * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction TooltipProvider({\n delayDuration = 0,\n slotName = 'tooltip-provider',\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider> & SlotNameProps) {\n return (\n <TooltipPrimitive.Provider\n delayDuration={delayDuration}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction Tooltip({\n slotName = 'tooltip',\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root> & SlotNameProps) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root {...props} data-slot={slotName} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({\n slotName = 'tooltip-trigger',\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger> & SlotNameProps) {\n return <TooltipPrimitive.Trigger {...props} data-slot={slotName} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 4,\n children,\n slotName = 'tooltip-content',\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content> & SlotNameProps) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n sideOffset={sideOffset}\n className={cn(\n 'animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 max-w-sm px-3 py-1.5 text-xs shadow-2xl rounded-xl z-50 bg-primary text-primary-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"size-2.5 z-50 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-primary fill-primary\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","import { useEffect, useState } from 'react';\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = useState<boolean>();\n\n useEffect(() => {\n const mql = window.matchMedia(\n `(max-width: ${MOBILE_BREAKPOINT - 1}px)`,\n );\n\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n };\n\n mql.addEventListener('change', onChange);\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n\n return () => mql.removeEventListener('change', onChange);\n }, []);\n\n return !!isMobile;\n}\n","import { Slot } from '@radix-ui/react-slot';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { PanelLeftIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Separator } from '@/components/ui/separator';\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from '@/components/ui/sheet';\nimport { Skeleton } from '@/components/ui/skeleton';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/ui/tooltip';\nimport { useIsMobile } from '@/hooks/use-mobile';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContext = {\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\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n slotName = 'sidebar-wrapper',\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n} & SlotNameProps) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.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] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: 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 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 = React.useCallback(() => {\n return isMobile\n ? setOpenMobile((open) => !open)\n : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.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 = React.useMemo<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n ],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n slotName = 'sidebar',\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n} & SlotNameProps) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn(\n 'flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet\n open={openMobile}\n onOpenChange={setOpenMobile}\n {...props}\n preserveScroll\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>\n Displays the mobile sidebar.\n </SheetDescription>\n </SheetHeader>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n className=\"p-0 w-(--sidebar-width) rounded-none bg-sidebar text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n slotName={slotName}\n >\n <div className=\"flex h-full w-full flex-col\">\n {children}\n </div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer md:block hidden text-sidebar-foreground\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot={slotName}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n 'relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]: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 />\n <div\n className={cn(\n 'inset-y-0 md:flex fixed z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]: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 {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:rounded-2xl flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n slotName = 'sidebar-trigger',\n ...props\n}: React.ComponentProps<typeof Button> & SlotNameProps) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('h-7 w-7', className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n slotName={slotName}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({\n className,\n slotName = 'sidebar-rail',\n ...props\n}: React.ComponentProps<'button'> & SlotNameProps) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'inset-y-0 w-4 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:inset-y-0 sm:flex absolute z-20 hidden -translate-x-1/2 transition-all ease-linear after:absolute after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border',\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 'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarInset({\n className,\n slotName = 'sidebar-inset',\n ...props\n}: React.ComponentProps<'main'> & SlotNameProps) {\n return (\n <main\n className={cn(\n 'relative flex min-h-svh max-w-full flex-1 flex-col bg-background',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] 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-0',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n slotName = 'sidebar-input',\n ...props\n}: React.ComponentProps<typeof Input> & SlotNameProps) {\n return (\n <Input\n data-sidebar=\"input\"\n className={cn('h-11 w-full bg-background shadow-none', className)}\n {...props}\n slotName={slotName}\n />\n );\n}\n\nfunction SidebarHeader({\n className,\n slotName = 'sidebar-header',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"header\"\n className={cn(\n 'gap-2 p-2 group-data-[collapsible=icon]:px-0 flex flex-col',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarFooter({\n className,\n slotName = 'sidebar-footer',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"footer\"\n className={cn(\n 'gap-2 p-2 group-data-[collapsible=icon]:px-0 flex flex-col pb-[max(0.5rem,env(safe-area-inset-bottom))]',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n slotName = 'sidebar-separator',\n ...props\n}: React.ComponentProps<typeof Separator> & SlotNameProps) {\n return (\n <Separator\n data-sidebar=\"separator\"\n className={cn('mx-2 w-auto bg-sidebar-border', className)}\n {...props}\n slotName={slotName}\n />\n );\n}\n\nfunction SidebarContent({\n className,\n slotName = 'sidebar-content',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"content\"\n className={cn(\n 'min-h-0 gap-2 flex flex-1 flex-col overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarGroup({\n className,\n slotName = 'sidebar-group',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"group\"\n className={cn(\n 'min-w-0 p-2 group-data-[collapsible=icon]:px-0 relative flex w-full flex-col',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n slotName = 'sidebar-group-label',\n ...props\n}: React.ComponentProps<'div'> & { asChild?: boolean } & SlotNameProps) {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n data-sidebar=\"group-label\"\n className={cn(\n 'h-8 rounded-xl px-2 text-xs font-medium tracking-wider [&>svg]:size-4 flex shrink-0 items-center text-sidebar-foreground/70 uppercase ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring focus-visible:outline-solid [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:pointer-events-none group-data-[collapsible=icon]:opacity-0 group-data-[collapsible=icon]:select-none',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n slotName = 'sidebar-group-action',\n ...props\n}: React.ComponentProps<'button'> & { asChild?: boolean } & SlotNameProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-sidebar=\"group-action\"\n className={cn(\n 'top-3.5 right-3 w-5 p-0 [&>svg]:size-4 rounded-xl absolute flex aspect-square items-center justify-center text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring focus-visible:outline-solid [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:-inset-2 md:after:hidden after:absolute',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n slotName = 'sidebar-group-content',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"group-content\"\n className={cn('text-sm w-full', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenu({\n className,\n slotName = 'sidebar-menu',\n ...props\n}: React.ComponentProps<'ul'> & SlotNameProps) {\n return (\n <ul\n data-sidebar=\"menu\"\n className={cn(\n 'min-w-0 gap-1 flex w-full flex-col group-data-[collapsible=icon]:items-center',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenuItem({\n className,\n slotName = 'sidebar-menu-item',\n ...props\n}: React.ComponentProps<'li'> & SlotNameProps) {\n return (\n <li\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-3 overflow-hidden rounded-xl p-2.5 text-left text-sm font-medium outline-hidden ring-sidebar-ring transition-all hover:bg-accent hover:text-accent-foreground focus-visible:outline-solid focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring active:scale-[0.98] disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-primary/10 data-[active=true]:font-semibold data-[active=true]:text-primary group-data-[collapsible=icon]:size-10! group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:gap-0 group-data-[collapsible=icon]:p-2.5! [&>span:last-child]:truncate group-data-[collapsible=icon]:[&>span:last-child]:hidden [&>svg]:size-5 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default:\n 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-11 text-sm',\n sm: 'h-9 text-sm',\n lg: 'h-14 text-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n slotName = 'sidebar-menu-button',\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants> &\n SlotNameProps) {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n sidebarMenuButtonVariants({ variant, size }),\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n slotName = 'sidebar-menu-action',\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n} & SlotNameProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-sidebar=\"menu-action\"\n className={cn(\n 'top-1.5 right-1 w-5 p-0 [&>svg]:size-4 rounded-xl absolute flex aspect-square items-center justify-center text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring focus-visible:outline-solid [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:-inset-2 md:after:hidden after:absolute',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'md:opacity-0 group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground data-[state=open]:opacity-100',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n slotName = 'sidebar-menu-badge',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n data-sidebar=\"menu-badge\"\n className={cn(\n 'right-1 h-5 min-w-5 px-1 text-xs font-medium rounded-xl pointer-events-none absolute flex items-center justify-center text-sidebar-foreground tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n slotName = 'sidebar-menu-skeleton',\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n} & SlotNameProps) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-sidebar=\"menu-skeleton\"\n className={cn(\n 'h-8 gap-2 px-2 rounded-xl flex items-center',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-xl\"\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': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({\n className,\n slotName = 'sidebar-menu-sub',\n ...props\n}: React.ComponentProps<'ul'> & SlotNameProps) {\n return (\n <ul\n data-sidebar=\"menu-sub\"\n className={cn(\n 'mx-3.5 min-w-0 gap-1 px-2.5 py-0.5 flex translate-x-px flex-col border-l border-sidebar-border',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n slotName = 'sidebar-menu-sub-item',\n ...props\n}: React.ComponentProps<'li'> & SlotNameProps) {\n return (\n <li\n data-sidebar=\"menu-sub-item\"\n className={cn('group/menu-sub-item relative', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n slotName = 'sidebar-menu-sub-button',\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n} & SlotNameProps) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'h-9 min-w-0 gap-2 px-2 text-sm font-medium [&>svg]:size-4 rounded-xl flex -translate-x-px items-center overflow-hidden text-sidebar-foreground ring-sidebar-ring outline-hidden hover:bg-accent hover:text-accent-foreground focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring focus-visible:outline-solid active:bg-accent disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0 [&>svg]:text-current',\n 'data-[active=true]:font-semibold data-[active=true]:bg-primary/10 data-[active=true]:text-primary',\n size === 'sm' && 'h-9 text-sm',\n size === 'md' && 'h-9 text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\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"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Label, DialogFooter } from './chunk-
|
|
1
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Label, DialogFooter } from './chunk-N2KIFFI7.js';
|
|
2
2
|
import { useUiLabels } from './chunk-QNF4LJVT.js';
|
|
3
|
-
import { Input } from './chunk-
|
|
4
|
-
import { elevatedSurface, cn, panelSurface, glassControl, controlFill, focusRing, nestedSurfaceReset, fieldSurface, fieldFocus, Button, buttonVariants, modalSurface, menuSurface } from './chunk-
|
|
3
|
+
import { Input } from './chunk-3Z2VGVPI.js';
|
|
4
|
+
import { elevatedSurface, cn, panelSurface, glassControl, controlFill, focusRing, nestedSurfaceReset, fieldSurface, fieldFocus, Button, buttonVariants, modalSurface, menuSurface } from './chunk-KHOA4TEI.js';
|
|
5
5
|
import { Minus, AlertCircle, ChevronRight, ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, SearchIcon, SearchXIcon, CheckIcon, ChevronUpIcon, ArrowLeftIcon, XIcon } from 'lucide-react';
|
|
6
6
|
import * as React6 from 'react';
|
|
7
7
|
import { useId, useState, useEffect } from 'react';
|
|
@@ -136,7 +136,7 @@ var alertVariants = cva(
|
|
|
136
136
|
{
|
|
137
137
|
variants: {
|
|
138
138
|
variant: {
|
|
139
|
-
default: "bg-card
|
|
139
|
+
default: "bg-card text-card-foreground",
|
|
140
140
|
destructive: "border-destructive/30 bg-destructive/10 text-destructive [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/80",
|
|
141
141
|
warning: "ring-warning/20 bg-warning/10 text-warning *:data-[slot=alert-description]:text-warning/80",
|
|
142
142
|
info: "ring-info/20 bg-info/10 text-info *:data-[slot=alert-description]:text-info/80"
|
|
@@ -477,7 +477,7 @@ function CommandInput({
|
|
|
477
477
|
Command$1.Input,
|
|
478
478
|
{
|
|
479
479
|
className: cn(
|
|
480
|
-
"h-11 text-sm font-medium flex w-full bg-transparent outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
480
|
+
"h-11 text-base sm:text-sm font-medium flex w-full bg-transparent outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
481
481
|
className
|
|
482
482
|
),
|
|
483
483
|
...props,
|
|
@@ -646,7 +646,7 @@ function SelectTrigger({
|
|
|
646
646
|
SelectPrimitive.Trigger,
|
|
647
647
|
{
|
|
648
648
|
className: cn(
|
|
649
|
-
`${fieldSurface} h-11 px-4
|
|
649
|
+
`${fieldSurface} h-11 px-4 font-medium *:data-[slot=select-value]:gap-2 [&_svg:not([class*='size-'])]:size-4 flex w-full items-center justify-between transition-[color,box-shadow] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>span]:line-clamp-1 ${fieldFocus}`,
|
|
650
650
|
className
|
|
651
651
|
),
|
|
652
652
|
...props,
|
|
@@ -916,7 +916,7 @@ function FloatingSheetStack({
|
|
|
916
916
|
},
|
|
917
917
|
onOpenAutoFocus: (event) => event.preventDefault(),
|
|
918
918
|
onCloseAutoFocus: (event) => event.preventDefault(),
|
|
919
|
-
className: "inset-
|
|
919
|
+
className: "inset-2 sm:inset-y-4 sm:right-4 sm:left-auto sm:w-[calc(100vw-2rem)] sm:max-w-lg sm:p-0 fixed z-50 p-[env(safe-area-inset-top)_env(safe-area-inset-right)_env(safe-area-inset-bottom)_env(safe-area-inset-left)] outline-none",
|
|
920
920
|
"data-slot": slotName,
|
|
921
921
|
children: [
|
|
922
922
|
/* @__PURE__ */ jsx(DialogPrimitive.Title, { className: "sr-only", children: top?.title }),
|
|
@@ -1152,7 +1152,7 @@ var InputOTPSlot = React6.forwardRef(({ index, className, slotName = "input-otp-
|
|
|
1152
1152
|
className: cn(
|
|
1153
1153
|
glassControl,
|
|
1154
1154
|
controlFill,
|
|
1155
|
-
"size-11 text-sm font-medium first:rounded-l-2xl last:rounded-r-2xl relative flex items-center justify-center rounded-none transition-all",
|
|
1155
|
+
"size-11 text-base sm:text-sm font-medium first:rounded-l-2xl last:rounded-r-2xl relative flex items-center justify-center rounded-none transition-all",
|
|
1156
1156
|
isActive && "z-10 ring-[3px] ring-ring/50",
|
|
1157
1157
|
className
|
|
1158
1158
|
),
|
|
@@ -1210,7 +1210,7 @@ var TabsTrigger = React6.forwardRef(({ className, slotName = "tabs-trigger", ...
|
|
|
1210
1210
|
{
|
|
1211
1211
|
ref,
|
|
1212
1212
|
className: cn(
|
|
1213
|
-
`px-4 text-sm font-medium data-[state=active]:shadow-sm h-8 rounded-xl data-[state=active]:font-semibold inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-
|
|
1213
|
+
`px-4 text-sm font-medium data-[state=active]:shadow-sm h-8 rounded-xl data-[state=active]:font-semibold inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-tab-active data-[state=active]:text-foreground ${focusRing}`,
|
|
1214
1214
|
className
|
|
1215
1215
|
),
|
|
1216
1216
|
...props,
|
|
@@ -1239,7 +1239,7 @@ var Textarea = React6.forwardRef(({ className, slotName = "textarea", ...props }
|
|
|
1239
1239
|
{
|
|
1240
1240
|
className: cn(
|
|
1241
1241
|
fieldSurface,
|
|
1242
|
-
"px-4 py-3
|
|
1242
|
+
"px-4 py-3 font-medium min-h-24 flex w-full resize-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
1243
1243
|
fieldFocus,
|
|
1244
1244
|
"aria-invalid:border-destructive aria-invalid:ring-destructive/20",
|
|
1245
1245
|
className
|
|
@@ -1253,5 +1253,5 @@ var Textarea = React6.forwardRef(({ className, slotName = "textarea", ...props }
|
|
|
1253
1253
|
Textarea.displayName = "Textarea";
|
|
1254
1254
|
|
|
1255
1255
|
export { Alert, AlertDescription, AlertTitle, Calendar, CalendarDayButton, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, FieldContext, FieldError, FloatingSheet, FloatingSheetBody, FloatingSheetFooter, FloatingSheetStack, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, alertDefaultLabels, confirmDialogDefaultLabels, floatingSheetDefaultLabels, useField };
|
|
1256
|
-
//# sourceMappingURL=chunk-
|
|
1257
|
-
//# sourceMappingURL=chunk-
|
|
1256
|
+
//# sourceMappingURL=chunk-I6VVCFZ2.js.map
|
|
1257
|
+
//# sourceMappingURL=chunk-I6VVCFZ2.js.map
|