@sourceful-energy/ui 0.1.25 → 0.1.27

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../components/ui/accordion.tsx","../lib/utils.ts","../components/ui/alert.tsx","../components/ui/badge.tsx","../components/ui/button.tsx","../components/ui/card.tsx","../components/ui/checkbox.tsx","../components/ui/dialog.tsx","../components/ui/dropdown-menu.tsx","../components/ui/input.tsx","../components/ui/label.tsx","../components/ui/progress.tsx","../components/ui/radio-group.tsx","../components/ui/scroll-area.tsx","../components/ui/select.tsx","../components/ui/separator.tsx","../components/ui/sheet.tsx","../components/ui/skeleton.tsx","../components/ui/slider.tsx","../components/ui/switch.tsx","../components/ui/table.tsx","../components/ui/tabs.tsx","../components/ui/textarea.tsx","../components/ui/tooltip.tsx","../components/ui/side-menu.tsx","../components/ui/top-menu.tsx","../components/ui/simple-tabs.tsx","../components/lenis-provider.tsx"],"names":["cn","inputs","twMerge","clsx","Accordion","N","AccordionItem","re","_a","ref","_b","className","props","__objRest","jsx","__spreadValues","AccordionTrigger","children","jsxs","__spreadProps","ChevronDown","AccordionContent","alertVariants","cva","Alert","ae","variant","AlertTitle","AlertDescription","badgeVariants","Badge","rounded","buttonVariants","Button","Fe","size","asChild","Slot","Card","_","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","Checkbox","Ye","K","Check","Dialog","g","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","Q","DialogContent","X","DialogHeader","DialogFooter","DialogTitle","DialogDescription","DropdownMenu","c","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuSub","DropdownMenuRadioGroup","DropdownMenuSubTrigger","L","inset","ChevronRight","DropdownMenuSubContent","DropdownMenuContent","sideOffset","DropdownMenuItem","DropdownMenuCheckboxItem","checked","DropdownMenuRadioItem","Circle","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","Input","ut","type","labelVariants","Label","bt","fe","Progress","yt","value","Y","RadioGroup","ue","z","RadioGroupItem","ScrollArea","ge","S","ScrollBar","orientation","Select","d","SelectGroup","SelectValue","SelectTrigger","G","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","SelectSeparator","Separator","kt","decorative","he","Sheet","b","SheetTrigger","SheetClose","SheetPortal","SheetOverlay","j","sheetVariants","SheetContent","side","SheetHeader","SheetFooter","SheetTitle","SheetDescription","Skeleton","Slider","Bt","H","Switch","Ut","ee","Table","E","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","Tabs","D","TabsList","ne","TabsTrigger","TabsContent","Textarea","eo","TooltipProvider","k","Tooltip","TooltipTrigger","TooltipContent","ro","SideMenuContext","I","useSideMenu","context","DefaultLink","href","SideMenu","header","collapsedHeader","sections","items","footer","controlledCollapsed","onCollapsedChange","collapsible","defaultCollapsed","activeItem","LinkComponent","internalCollapsed","setInternalCollapsed","collapsed","handleToggle","newCollapsed","ChevronLeft","item","SideMenuItemComponent","section","SideMenuSectionComponent","expanded","setExpanded","nested","isActive","itemClasses","content","Fragment","element","TopMenu","T","breadcrumbs","showMobileMenu","onMobileMenuClick","leftContent","rightContent","Menu","crumb","index","TopMenuUser","name","email","avatarUrl","avatarContent","avatarClassName","open","setOpen","menuRef","handleClickOutside","event","TopMenuUserItem","icon","onClick","TopMenuUserSection","SimpleTabsContext","w","useSimpleTabs","SimpleTabs","tabs","controlledActiveTab","defaultTab","onTabChange","tabsClassName","internalActiveTab","setInternalActiveTab","activeTab","handleTabChange","tabId","tab","SimpleTabsPanel","id","SimpleTabsRoot","SimpleTabsList","SimpleTabsTrigger","disabled","setActiveTab","SimpleTabsContent","LenisProvider","lenisRef","useRef","useEffect","lenis","Lenis","t","raf","time"],"mappings":"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","file":"index.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Accordion = AccordionPrimitive.Root;\n\nconst AccordionItem = React.forwardRef<\n React.ComponentRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n));\nAccordionItem.displayName = \"AccordionItem\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ComponentRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nconst AccordionContent = React.forwardRef<\n React.ComponentRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n success:\n \"border-sourceful-green-500/50 bg-sourceful-green-50 text-sourceful-green-900 dark:bg-sourceful-green-950/50 dark:text-sourceful-green-100 [&>svg]:text-sourceful-green-500\",\n warning:\n \"border-sourceful-yellow-500/50 bg-sourceful-yellow-50 text-sourceful-yellow-900 dark:bg-sourceful-yellow-950/50 dark:text-sourceful-yellow-100 [&>svg]:text-sourceful-yellow-500\",\n info: \"border-blue-500/50 bg-blue-50 text-blue-900 dark:bg-blue-950/50 dark:text-blue-100 [&>svg]:text-blue-500\",\n energy:\n \"border-sourceful-yellow-400/50 bg-sourceful-yellow-50 text-sourceful-gray-900 dark:bg-sourceful-yellow-950/50 dark:text-sourceful-yellow-100 [&>svg]:text-sourceful-yellow-400\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n));\nAlert.displayName = \"Alert\";\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n));\nAlertTitle.displayName = \"AlertTitle\";\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\nexport { Alert, AlertTitle, AlertDescription };\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center gap-1 border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 [&_svg]:size-3 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\n outline: \"text-foreground\",\n // Sourceful solid variants\n energy:\n \"border-transparent bg-sourceful-yellow-400 text-sourceful-gray-900 shadow hover:bg-sourceful-yellow-500\",\n success:\n \"border-transparent bg-sourceful-green-500 text-sourceful-gray-900 shadow hover:bg-sourceful-green-600\",\n warning:\n \"border-transparent bg-orange-500 text-white shadow hover:bg-orange-600\",\n info:\n \"border-transparent bg-blue-500 text-white shadow hover:bg-blue-600\",\n // Sourceful soft variants - colored text with tinted background\n \"success-soft\":\n \"border-sourceful-green-500/20 bg-sourceful-green-500/10 text-sourceful-green-600 dark:text-sourceful-green-400\",\n \"warning-soft\":\n \"border-orange-500/20 bg-orange-500/10 text-orange-600 dark:text-orange-400\",\n \"destructive-soft\":\n \"border-destructive/20 bg-destructive/10 text-destructive dark:text-red-400\",\n \"info-soft\":\n \"border-blue-500/20 bg-blue-500/10 text-blue-600 dark:text-blue-400\",\n \"energy-soft\":\n \"border-sourceful-yellow-500/20 bg-sourceful-yellow-400/10 text-sourceful-yellow-600 dark:text-sourceful-yellow-400\",\n // Outline variants - just border and text, no background\n \"success-outline\":\n \"border-sourceful-green-500/50 bg-transparent text-sourceful-green-600 dark:text-sourceful-green-400\",\n \"warning-outline\":\n \"border-orange-500/50 bg-transparent text-orange-600 dark:text-orange-400\",\n \"destructive-outline\":\n \"border-destructive/50 bg-transparent text-destructive dark:text-red-400\",\n \"info-outline\":\n \"border-blue-500/50 bg-transparent text-blue-600 dark:text-blue-400\",\n },\n rounded: {\n default: \"rounded-md\",\n full: \"rounded-full\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n rounded: \"default\",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, rounded, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant, rounded }), className)} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs\",\n lg: \"h-10 rounded-md px-8\",\n icon: \"h-9 w-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-xl border bg-card text-card-foreground shadow\",\n className\n )}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Checkbox = React.forwardRef<\n React.ComponentRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { Check, ChevronRight, Circle } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst DropdownMenu = DropdownMenuPrimitive.Root\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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 origin-[--radix-dropdown-menu-content-transform-origin]\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"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 origin-[--radix-dropdown-menu-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n))\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n))\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n )\n}\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n}\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport { cn } from \"@/lib/utils\";\n\nconst Progress = React.forwardRef<\n React.ComponentRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-4 w-full overflow-hidden rounded-full bg-secondary\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n));\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { Circle } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst RadioGroup = React.forwardRef<\n React.ComponentRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n );\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n React.ComponentRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport { cn } from \"@/lib/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ComponentRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ComponentRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\nimport { cn } from \"@/lib/utils\";\n\nconst Separator = React.forwardRef<\n React.ComponentRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(\n (\n { className, orientation = \"horizontal\", decorative = true, ...props },\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className\n )}\n {...props}\n />\n )\n);\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\n\nexport { Separator };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<\n React.ComponentRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\n \"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom:\n \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n }\n);\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<\n React.ComponentRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = \"right\", className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n));\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n);\nSheetHeader.displayName = \"SheetHeader\";\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n);\nSheetFooter.displayName = \"SheetFooter\";\n\nconst SheetTitle = React.forwardRef<\n React.ComponentRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold text-foreground\", className)}\n {...props}\n />\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ComponentRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","import { cn } from \"@/lib/utils\";\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport { cn } from \"@/lib/utils\";\n\nconst Slider = React.forwardRef<\n React.ComponentRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex w-full touch-none select-none items-center\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary\">\n <SliderPrimitive.Range className=\"absolute h-full bg-primary\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\" />\n </SliderPrimitive.Root>\n));\nSlider.displayName = SliderPrimitive.Root.displayName;\n\nexport { Slider };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport { cn } from \"@/lib/utils\";\n\nconst Switch = React.forwardRef<\n React.ComponentRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n))\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n))\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n))\nTableBody.displayName = \"TableBody\"\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = \"TableFooter\"\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n))\nTableCell.displayName = \"TableCell\"\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nTableCaption.displayName = \"TableCaption\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Tabs = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground\",\n className\n )}\n {...props}\n />\n))\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground\",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n","import * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\">\n>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground 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 origin-[--radix-tooltip-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { ChevronLeft, ChevronRight, ChevronDown } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"./tooltip\"\n\n// Types\nexport interface SideMenuItem {\n id: string\n label: string\n href?: string\n icon?: React.ReactNode\n badge?: string | number\n onClick?: () => void\n disabled?: boolean\n}\n\nexport interface SideMenuSection {\n id: string\n title: string\n icon?: React.ReactNode\n items: SideMenuItem[]\n defaultExpanded?: boolean\n}\n\nexport interface SideMenuProps {\n /** Header content (logo, title, etc.) */\n header?: React.ReactNode\n /** Header content shown when collapsed (icon, etc.) */\n collapsedHeader?: React.ReactNode\n /** Navigation sections with collapsible groups */\n sections?: SideMenuSection[]\n /** Standalone items without sections */\n items?: SideMenuItem[]\n /** Footer content */\n footer?: React.ReactNode\n /** Whether the sidebar is collapsed */\n collapsed?: boolean\n /** Callback when collapsed state changes */\n onCollapsedChange?: (collapsed: boolean) => void\n /** Whether the sidebar can be collapsed */\n collapsible?: boolean\n /** Default collapsed state */\n defaultCollapsed?: boolean\n /** Currently active item id */\n activeItem?: string\n /** Custom className */\n className?: string\n /** Custom link component (e.g., Next.js Link) */\n linkComponent?: React.ComponentType<{\n href: string\n className?: string\n children: React.ReactNode\n }>\n}\n\n// Context for sharing state\ninterface SideMenuContextValue {\n collapsed: boolean\n activeItem?: string\n LinkComponent: React.ComponentType<{\n href: string\n className?: string\n children: React.ReactNode\n }>\n}\n\nconst SideMenuContext = React.createContext<SideMenuContextValue | null>(null)\n\nfunction useSideMenu() {\n const context = React.useContext(SideMenuContext)\n if (!context) {\n throw new Error(\"SideMenu components must be used within SideMenu\")\n }\n return context\n}\n\n// Default link component\nconst DefaultLink: React.FC<{\n href: string\n className?: string\n children: React.ReactNode\n}> = ({ href, className, children }) => (\n <a href={href} className={className}>\n {children}\n </a>\n)\n\n// Main SideMenu component\nconst SideMenu = React.forwardRef<HTMLElement, SideMenuProps>(\n (\n {\n header,\n collapsedHeader,\n sections,\n items,\n footer,\n collapsed: controlledCollapsed,\n onCollapsedChange,\n collapsible = true,\n defaultCollapsed = false,\n activeItem,\n className,\n linkComponent: LinkComponent = DefaultLink,\n },\n ref\n ) => {\n const [internalCollapsed, setInternalCollapsed] =\n React.useState(defaultCollapsed)\n\n // Support both controlled and uncontrolled modes\n const collapsed = controlledCollapsed ?? internalCollapsed\n\n const handleToggle = () => {\n const newCollapsed = !collapsed\n setInternalCollapsed(newCollapsed)\n onCollapsedChange?.(newCollapsed)\n }\n\n return (\n <TooltipProvider delayDuration={0}>\n <SideMenuContext.Provider\n value={{ collapsed, activeItem, LinkComponent }}\n >\n <aside\n ref={ref}\n className={cn(\n \"flex h-full flex-col transition-[width] duration-300 ease-in-out\",\n \"bg-white dark:bg-[#141414] border-r border-sourceful-gray-200 dark:border-[#1a1a1a]\",\n collapsed ? \"w-16\" : \"w-64\",\n className\n )}\n >\n {/* Header */}\n <div\n className={cn(\n \"flex items-center border-b border-sourceful-gray-200 dark:border-[#1a1a1a] flex-shrink-0 h-12\",\n collapsed\n ? \"justify-center px-2\"\n : \"justify-between px-3\"\n )}\n >\n {collapsed ? collapsedHeader || header : header}\n\n {collapsible && (\n <button\n onClick={handleToggle}\n className={cn(\n \"rounded-md h-5 w-5 flex items-center justify-center\",\n \"text-sourceful-gray-400 dark:text-sourceful-gray-500\",\n \"hover:text-sourceful-gray-600 dark:hover:text-sourceful-gray-300 transition-colors\",\n \"bg-white dark:bg-[#141414] border border-sourceful-gray-200 dark:border-sourceful-gray-700 shadow-sm\",\n collapsed && \"absolute left-[calc(4rem-10px)] top-6 -translate-y-1/2 z-50\"\n )}\n aria-label={collapsed ? \"Expand sidebar\" : \"Collapse sidebar\"}\n >\n {collapsed ? (\n <ChevronRight className=\"h-3 w-3\" />\n ) : (\n <ChevronLeft className=\"h-3 w-3\" />\n )}\n </button>\n )}\n </div>\n\n {/* Navigation */}\n <nav className=\"flex-1 py-2 overflow-y-auto overflow-x-hidden\">\n {/* Standalone items */}\n {items && items.length > 0 && (\n <div className=\"px-2 mb-1 space-y-0.5\">\n {items.map((item) => (\n <SideMenuItemComponent key={item.id} item={item} />\n ))}\n </div>\n )}\n\n {/* Sections */}\n {sections?.map((section) => (\n <SideMenuSectionComponent key={section.id} section={section} />\n ))}\n </nav>\n\n {/* Footer */}\n {footer && (\n <div className=\"flex-shrink-0 border-t border-sourceful-gray-200 dark:border-[#1a1a1a] p-2\">\n {footer}\n </div>\n )}\n </aside>\n </SideMenuContext.Provider>\n </TooltipProvider>\n )\n }\n)\nSideMenu.displayName = \"SideMenu\"\n\n// Section component\nfunction SideMenuSectionComponent({ section }: { section: SideMenuSection }) {\n const { collapsed } = useSideMenu()\n const [expanded, setExpanded] = React.useState(\n section.defaultExpanded ?? true\n )\n\n if (collapsed) {\n // When collapsed, show items directly without section headers\n return (\n <div className=\"px-2 mb-1 space-y-0.5\">\n {section.items.map((item) => (\n <SideMenuItemComponent key={item.id} item={item} />\n ))}\n </div>\n )\n }\n\n return (\n <div className=\"px-2 mb-1\">\n <button\n onClick={() => setExpanded(!expanded)}\n className={cn(\n \"flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-sm font-medium\",\n \"text-sourceful-gray-700 dark:text-sourceful-gray-300\",\n \"hover:bg-sourceful-gray-50 dark:hover:bg-sourceful-gray-900\",\n \"hover:text-sourceful-gray-900 dark:hover:text-white transition-colors\"\n )}\n >\n {section.icon && (\n <span className=\"h-3.5 w-3.5 flex-shrink-0\">{section.icon}</span>\n )}\n <span className=\"flex-1 text-left\">{section.title}</span>\n {expanded ? (\n <ChevronDown className=\"h-3 w-3\" strokeWidth={1.5} />\n ) : (\n <ChevronRight className=\"h-3 w-3\" strokeWidth={1.5} />\n )}\n </button>\n\n {expanded && (\n <div className=\"mt-0.5 space-y-0.5 relative pl-5\">\n <div className=\"absolute left-[1.1rem] top-0 bottom-0 w-px bg-sourceful-gray-200 dark:bg-sourceful-gray-700\" />\n {section.items.map((item) => (\n <SideMenuItemComponent key={item.id} item={item} nested />\n ))}\n </div>\n )}\n </div>\n )\n}\n\n// Item component\nfunction SideMenuItemComponent({\n item,\n nested = false,\n}: {\n item: SideMenuItem\n nested?: boolean\n}) {\n const { collapsed, activeItem, LinkComponent } = useSideMenu()\n const isActive = activeItem === item.id\n\n const itemClasses = cn(\n \"flex items-center gap-2.5 rounded-md text-sm font-medium transition-colors\",\n collapsed ? \"justify-center px-2 py-2.5\" : \"px-2 py-1.5\",\n isActive\n ? nested\n ? \"bg-sourceful-gray-100 dark:bg-[#1a1a1a] text-sourceful-gray-900 dark:text-white\"\n : \"bg-sourceful-green-50 dark:bg-sourceful-green-950 text-sourceful-green-700 dark:text-sourceful-green-400\"\n : \"text-sourceful-gray-700 dark:text-sourceful-gray-300 hover:bg-sourceful-gray-50 dark:hover:bg-sourceful-gray-900 hover:text-sourceful-gray-900 dark:hover:text-white\",\n item.disabled && \"opacity-50 pointer-events-none\"\n )\n\n const content = (\n <>\n {item.icon && (\n <span\n className={cn(\"flex-shrink-0\", collapsed ? \"h-5 w-5\" : \"h-3.5 w-3.5\")}\n >\n {item.icon}\n </span>\n )}\n {!collapsed && <span>{item.label}</span>}\n {!collapsed && item.badge && (\n <span className=\"ml-auto text-xs bg-sourceful-gray-100 dark:bg-sourceful-gray-800 px-1.5 py-0.5 rounded\">\n {item.badge}\n </span>\n )}\n </>\n )\n\n const element = item.href ? (\n <LinkComponent href={item.href} className={itemClasses}>\n {content}\n </LinkComponent>\n ) : (\n <button\n onClick={item.onClick}\n disabled={item.disabled}\n className={cn(itemClasses, \"w-full\")}\n >\n {content}\n </button>\n )\n\n if (collapsed) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{element}</TooltipTrigger>\n <TooltipContent side=\"right\" sideOffset={8}>\n {item.label}\n </TooltipContent>\n </Tooltip>\n )\n }\n\n return element\n}\n\nexport { SideMenu }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Menu } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\n\n// Types\nexport interface BreadcrumbItem {\n label: string\n href?: string\n}\n\nexport interface TopMenuProps {\n /** Breadcrumb navigation items */\n breadcrumbs?: BreadcrumbItem[]\n /** Show mobile menu button */\n showMobileMenu?: boolean\n /** Mobile menu button click handler */\n onMobileMenuClick?: () => void\n /** Left side content (appears after breadcrumbs) */\n leftContent?: React.ReactNode\n /** Right side content (actions, user menu, etc.) */\n rightContent?: React.ReactNode\n /** Custom className */\n className?: string\n /** Custom link component (e.g., Next.js Link) */\n linkComponent?: React.ComponentType<{\n href: string\n className?: string\n children: React.ReactNode\n }>\n}\n\n// Default link component\nconst DefaultLink: React.FC<{\n href: string\n className?: string\n children: React.ReactNode\n}> = ({ href, className, children }) => (\n <a href={href} className={className}>\n {children}\n </a>\n)\n\nconst TopMenu = React.forwardRef<HTMLElement, TopMenuProps>(\n (\n {\n breadcrumbs = [],\n showMobileMenu = false,\n onMobileMenuClick,\n leftContent,\n rightContent,\n className,\n linkComponent: LinkComponent = DefaultLink,\n },\n ref\n ) => {\n return (\n <header\n ref={ref}\n className={cn(\n \"sticky top-0 z-30 flex h-12 items-center gap-3\",\n \"border-b border-sourceful-gray-200 dark:border-[#1a1a1a]\",\n \"bg-white dark:bg-[#141414] px-4\",\n className\n )}\n >\n {/* Mobile Menu Button */}\n {showMobileMenu && (\n <button\n onClick={onMobileMenuClick}\n className=\"lg:hidden rounded-md p-1.5 text-sourceful-gray-600 hover:bg-sourceful-gray-100 dark:text-sourceful-gray-400 dark:hover:bg-sourceful-gray-800\"\n aria-label=\"Toggle menu\"\n >\n <Menu className=\"h-4 w-4\" />\n </button>\n )}\n\n {/* Breadcrumbs */}\n {breadcrumbs.length > 0 && (\n <nav\n className=\"hidden md:flex items-center gap-1.5 text-sm\"\n aria-label=\"Breadcrumb\"\n >\n {breadcrumbs.map((crumb, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <span className=\"text-sourceful-gray-400 dark:text-sourceful-gray-500 text-xs\">\n /\n </span>\n )}\n {crumb.href ? (\n <LinkComponent\n href={crumb.href}\n className=\"text-sourceful-gray-600 dark:text-sourceful-gray-400 hover:text-sourceful-gray-900 dark:hover:text-white transition-colors text-sm\"\n >\n {crumb.label}\n </LinkComponent>\n ) : (\n <span className=\"text-sourceful-gray-900 dark:text-white font-medium text-sm\">\n {crumb.label}\n </span>\n )}\n </React.Fragment>\n ))}\n </nav>\n )}\n\n {/* Left Content */}\n {leftContent}\n\n {/* Spacer */}\n <div className=\"flex-1\" />\n\n {/* Right Content */}\n {rightContent && (\n <div className=\"flex items-center gap-1.5\">{rightContent}</div>\n )}\n </header>\n )\n }\n)\nTopMenu.displayName = \"TopMenu\"\n\n// User Menu Component\nexport interface TopMenuUserProps {\n /** User name */\n name?: string\n /** User email */\n email?: string\n /** User avatar URL */\n avatarUrl?: string\n /** Custom avatar content (icon, initials, etc.) */\n avatarContent?: React.ReactNode\n /** Avatar background color class */\n avatarClassName?: string\n /** Menu items */\n children?: React.ReactNode\n /** Custom className */\n className?: string\n}\n\nconst TopMenuUser = React.forwardRef<HTMLDivElement, TopMenuUserProps>(\n (\n {\n name,\n email,\n avatarUrl,\n avatarContent,\n avatarClassName,\n children,\n className,\n },\n ref\n ) => {\n const [open, setOpen] = React.useState(false)\n const menuRef = React.useRef<HTMLDivElement>(null)\n\n // Close menu when clicking outside\n React.useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n menuRef.current &&\n !menuRef.current.contains(event.target as Node)\n ) {\n setOpen(false)\n }\n }\n\n if (open) {\n document.addEventListener(\"mousedown\", handleClickOutside)\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside)\n }\n }, [open])\n\n return (\n <div ref={ref} className={cn(\"relative\", className)}>\n <div ref={menuRef}>\n <button\n onClick={() => setOpen(!open)}\n className=\"flex items-center gap-1.5 rounded-full p-0.5 hover:ring-2 hover:ring-sourceful-green-500 hover:ring-offset-2 dark:hover:ring-offset-[#141414] transition-all\"\n aria-label=\"Account menu\"\n >\n <div\n className={cn(\n \"h-8 w-8 rounded-full overflow-hidden flex items-center justify-center\",\n avatarClassName ||\n \"bg-gradient-to-br from-sourceful-yellow-400 to-sourceful-yellow-600\"\n )}\n >\n {avatarUrl ? (\n <img\n src={avatarUrl}\n alt={name || \"User\"}\n className=\"h-full w-full object-cover\"\n />\n ) : (\n avatarContent\n )}\n </div>\n </button>\n\n {/* Dropdown Menu */}\n {open && (\n <div className=\"absolute right-0 mt-2 w-64 rounded-lg border border-sourceful-gray-200 dark:border-[#1a1a1a] bg-white dark:bg-[#141414] shadow-lg overflow-hidden z-50\">\n {/* User Info */}\n {(name || email) && (\n <div className=\"px-4 py-3 border-b border-sourceful-gray-200 dark:border-[#1a1a1a]\">\n <div className=\"flex items-center gap-3\">\n <div\n className={cn(\n \"h-10 w-10 rounded-full overflow-hidden flex items-center justify-center\",\n avatarClassName ||\n \"bg-gradient-to-br from-sourceful-yellow-400 to-sourceful-yellow-600\"\n )}\n >\n {avatarUrl ? (\n <img\n src={avatarUrl}\n alt={name || \"User\"}\n className=\"h-full w-full object-cover\"\n />\n ) : (\n avatarContent\n )}\n </div>\n <div className=\"flex-1 min-w-0\">\n {name && (\n <p className=\"text-sm font-medium text-sourceful-gray-900 dark:text-white truncate\">\n {name}\n </p>\n )}\n {email && (\n <p className=\"text-xs text-sourceful-gray-500 dark:text-sourceful-gray-400 truncate\">\n {email}\n </p>\n )}\n </div>\n </div>\n </div>\n )}\n\n {/* Menu Items */}\n {children}\n </div>\n )}\n </div>\n </div>\n )\n }\n)\nTopMenuUser.displayName = \"TopMenuUser\"\n\n// User Menu Item\nexport interface TopMenuUserItemProps {\n /** Item icon */\n icon?: React.ReactNode\n /** Item label */\n children: React.ReactNode\n /** Click handler */\n onClick?: () => void\n /** Href for link items */\n href?: string\n /** Variant */\n variant?: \"default\" | \"danger\" | \"success\"\n /** Custom className */\n className?: string\n}\n\nconst TopMenuUserItem = React.forwardRef<\n HTMLButtonElement,\n TopMenuUserItemProps\n>(({ icon, children, onClick, href, variant = \"default\", className }, ref) => {\n const variantClasses = {\n default:\n \"text-sourceful-gray-700 dark:text-sourceful-gray-300 hover:bg-sourceful-gray-50 dark:hover:bg-[#1a1a1a]\",\n danger:\n \"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-950/20\",\n success:\n \"text-sourceful-green-600 dark:text-sourceful-green-400 hover:bg-sourceful-green-50 dark:hover:bg-sourceful-green-950/20\",\n }\n\n const Component = href ? \"a\" : \"button\"\n\n return (\n <Component\n ref={ref as React.Ref<HTMLButtonElement & HTMLAnchorElement>}\n onClick={onClick}\n href={href}\n className={cn(\n \"w-full flex items-center gap-3 px-4 py-2 text-sm transition-colors\",\n variantClasses[variant],\n className\n )}\n >\n {icon && <span className=\"h-4 w-4\">{icon}</span>}\n <span>{children}</span>\n </Component>\n )\n})\nTopMenuUserItem.displayName = \"TopMenuUserItem\"\n\n// User Menu Section (for grouping items with borders)\nconst TopMenuUserSection = React.forwardRef<\n HTMLDivElement,\n { children: React.ReactNode; className?: string }\n>(({ children, className }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"py-1 border-t border-sourceful-gray-200 dark:border-[#1a1a1a] first:border-t-0\",\n className\n )}\n >\n {children}\n </div>\n))\nTopMenuUserSection.displayName = \"TopMenuUserSection\"\n\nexport { TopMenu, TopMenuUser, TopMenuUserItem, TopMenuUserSection }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\n// Types\nexport interface SimpleTab {\n id: string\n label: string\n icon?: React.ReactNode\n disabled?: boolean\n}\n\nexport interface SimpleTabsProps {\n /** Array of tab definitions */\n tabs: SimpleTab[]\n /** Currently active tab id */\n activeTab?: string\n /** Default active tab id (for uncontrolled mode) */\n defaultTab?: string\n /** Callback when tab changes */\n onTabChange?: (tabId: string) => void\n /** Tab panel children */\n children?: React.ReactNode\n /** Custom className for the container */\n className?: string\n /** Custom className for the tabs list */\n tabsClassName?: string\n}\n\nexport interface SimpleTabsPanelProps {\n /** Tab id this panel corresponds to */\n id: string\n /** Panel content */\n children: React.ReactNode\n /** Custom className */\n className?: string\n}\n\n// Context for sharing state\ninterface SimpleTabsContextValue {\n activeTab: string\n setActiveTab: (tab: string) => void\n}\n\nconst SimpleTabsContext = React.createContext<SimpleTabsContextValue | null>(\n null\n)\n\nfunction useSimpleTabs() {\n const context = React.useContext(SimpleTabsContext)\n if (!context) {\n throw new Error(\"SimpleTabsPanel must be used within SimpleTabs\")\n }\n return context\n}\n\n// Main SimpleTabs component\nconst SimpleTabs = React.forwardRef<HTMLDivElement, SimpleTabsProps>(\n (\n {\n tabs,\n activeTab: controlledActiveTab,\n defaultTab,\n onTabChange,\n children,\n className,\n tabsClassName,\n },\n ref\n ) => {\n const [internalActiveTab, setInternalActiveTab] = React.useState(\n defaultTab || tabs[0]?.id || \"\"\n )\n\n // Support both controlled and uncontrolled modes\n const activeTab = controlledActiveTab ?? internalActiveTab\n\n const handleTabChange = (tabId: string) => {\n setInternalActiveTab(tabId)\n onTabChange?.(tabId)\n }\n\n return (\n <SimpleTabsContext.Provider\n value={{ activeTab, setActiveTab: handleTabChange }}\n >\n <div ref={ref} className={cn(\"space-y-6\", className)}>\n {/* Tab Navigation */}\n <div className=\"border-b border-sourceful-gray-200 dark:border-sourceful-gray-800\">\n <nav\n className={cn(\n \"-mb-px flex gap-1 overflow-x-auto scrollbar-hide\",\n tabsClassName\n )}\n aria-label=\"Tabs\"\n >\n {tabs.map((tab) => {\n const isActive = activeTab === tab.id\n\n return (\n <button\n key={tab.id}\n onClick={() => !tab.disabled && handleTabChange(tab.id)}\n disabled={tab.disabled}\n className={cn(\n \"relative flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors whitespace-nowrap\",\n isActive\n ? \"text-sourceful-green-600 dark:text-sourceful-green-400\"\n : \"text-sourceful-gray-500 dark:text-sourceful-gray-400 hover:text-sourceful-gray-700 dark:hover:text-sourceful-gray-300\",\n tab.disabled && \"opacity-50 cursor-not-allowed\"\n )}\n >\n {tab.icon && <span className=\"h-4 w-4\">{tab.icon}</span>}\n {tab.label}\n {isActive && (\n <span\n className=\"absolute bottom-0 left-0 right-0 h-0.5 bg-sourceful-green-500\"\n aria-hidden=\"true\"\n />\n )}\n </button>\n )\n })}\n </nav>\n </div>\n\n {/* Tab Content */}\n {children && <div>{children}</div>}\n </div>\n </SimpleTabsContext.Provider>\n )\n }\n)\nSimpleTabs.displayName = \"SimpleTabs\"\n\n// Tab Panel component\nconst SimpleTabsPanel = React.forwardRef<HTMLDivElement, SimpleTabsPanelProps>(\n ({ id, children, className }, ref) => {\n const { activeTab } = useSimpleTabs()\n\n if (activeTab !== id) return null\n\n return (\n <div\n ref={ref}\n role=\"tabpanel\"\n aria-labelledby={`tab-${id}`}\n className={className}\n >\n {children}\n </div>\n )\n }\n)\nSimpleTabsPanel.displayName = \"SimpleTabsPanel\"\n\n// Compound component for more flexible usage\nexport interface SimpleTabsRootProps {\n /** Currently active tab id */\n activeTab?: string\n /** Default active tab id (for uncontrolled mode) */\n defaultTab?: string\n /** Callback when tab changes */\n onTabChange?: (tabId: string) => void\n /** Children (SimpleTabsList and SimpleTabsPanel components) */\n children: React.ReactNode\n /** Custom className */\n className?: string\n}\n\nconst SimpleTabsRoot = React.forwardRef<HTMLDivElement, SimpleTabsRootProps>(\n (\n { activeTab: controlledActiveTab, defaultTab, onTabChange, children, className },\n ref\n ) => {\n const [internalActiveTab, setInternalActiveTab] = React.useState(\n defaultTab || \"\"\n )\n\n const activeTab = controlledActiveTab ?? internalActiveTab\n\n const handleTabChange = (tabId: string) => {\n setInternalActiveTab(tabId)\n onTabChange?.(tabId)\n }\n\n return (\n <SimpleTabsContext.Provider\n value={{ activeTab, setActiveTab: handleTabChange }}\n >\n <div ref={ref} className={cn(\"space-y-6\", className)}>\n {children}\n </div>\n </SimpleTabsContext.Provider>\n )\n }\n)\nSimpleTabsRoot.displayName = \"SimpleTabsRoot\"\n\n// Tabs List for compound component pattern\nexport interface SimpleTabsListProps {\n children: React.ReactNode\n className?: string\n}\n\nconst SimpleTabsList = React.forwardRef<HTMLDivElement, SimpleTabsListProps>(\n ({ children, className }, ref) => {\n return (\n <div\n ref={ref}\n className=\"border-b border-sourceful-gray-200 dark:border-sourceful-gray-800\"\n >\n <nav\n className={cn(\n \"-mb-px flex gap-1 overflow-x-auto scrollbar-hide\",\n className\n )}\n role=\"tablist\"\n aria-label=\"Tabs\"\n >\n {children}\n </nav>\n </div>\n )\n }\n)\nSimpleTabsList.displayName = \"SimpleTabsList\"\n\n// Tab Trigger for compound component pattern\nexport interface SimpleTabsTriggerProps {\n /** Tab id */\n value: string\n /** Tab content */\n children: React.ReactNode\n /** Tab icon */\n icon?: React.ReactNode\n /** Disabled state */\n disabled?: boolean\n /** Custom className */\n className?: string\n}\n\nconst SimpleTabsTrigger = React.forwardRef<\n HTMLButtonElement,\n SimpleTabsTriggerProps\n>(({ value, children, icon, disabled, className }, ref) => {\n const { activeTab, setActiveTab } = useSimpleTabs()\n const isActive = activeTab === value\n\n return (\n <button\n ref={ref}\n role=\"tab\"\n id={`tab-${value}`}\n aria-selected={isActive}\n aria-controls={`panel-${value}`}\n onClick={() => !disabled && setActiveTab(value)}\n disabled={disabled}\n className={cn(\n \"relative flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors whitespace-nowrap\",\n isActive\n ? \"text-sourceful-green-600 dark:text-sourceful-green-400\"\n : \"text-sourceful-gray-500 dark:text-sourceful-gray-400 hover:text-sourceful-gray-700 dark:hover:text-sourceful-gray-300\",\n disabled && \"opacity-50 cursor-not-allowed\",\n className\n )}\n >\n {icon && <span className=\"h-4 w-4\">{icon}</span>}\n {children}\n {isActive && (\n <span\n className=\"absolute bottom-0 left-0 right-0 h-0.5 bg-sourceful-green-500\"\n aria-hidden=\"true\"\n />\n )}\n </button>\n )\n})\nSimpleTabsTrigger.displayName = \"SimpleTabsTrigger\"\n\n// Tab Content for compound component pattern\nconst SimpleTabsContent = React.forwardRef<\n HTMLDivElement,\n { value: string; children: React.ReactNode; className?: string }\n>(({ value, children, className }, ref) => {\n const { activeTab } = useSimpleTabs()\n\n if (activeTab !== value) return null\n\n return (\n <div\n ref={ref}\n role=\"tabpanel\"\n id={`panel-${value}`}\n aria-labelledby={`tab-${value}`}\n className={className}\n >\n {children}\n </div>\n )\n})\nSimpleTabsContent.displayName = \"SimpleTabsContent\"\n\nexport {\n SimpleTabs,\n SimpleTabsPanel,\n SimpleTabsRoot,\n SimpleTabsList,\n SimpleTabsTrigger,\n SimpleTabsContent,\n}\n","\"use client\";\n\nimport { useEffect, useRef } from \"react\";\nimport Lenis from \"lenis\";\n\ninterface LenisProviderProps {\n children: React.ReactNode;\n}\n\nexport function LenisProvider({ children }: LenisProviderProps) {\n const lenisRef = useRef<Lenis | null>(null);\n\n useEffect(() => {\n const lenis = new Lenis({\n duration: 1.2,\n easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),\n orientation: \"vertical\",\n gestureOrientation: \"vertical\",\n smoothWheel: true,\n });\n\n lenisRef.current = lenis;\n\n function raf(time: number) {\n lenis.raf(time);\n requestAnimationFrame(raf);\n }\n\n requestAnimationFrame(raf);\n\n return () => {\n lenis.destroy();\n lenisRef.current = null;\n };\n }, []);\n\n return <>{children}</>;\n}\n"]}
1
+ {"version":3,"sources":["../lib/utils.ts","../components/ui/accordion.tsx","../components/ui/alert.tsx","../components/ui/badge.tsx","../components/ui/button.tsx","../components/ui/card.tsx","../components/ui/checkbox.tsx","../components/ui/dialog.tsx","../components/ui/dropdown-menu.tsx","../components/ui/input.tsx","../components/ui/label.tsx","../components/ui/progress.tsx","../components/ui/radio-group.tsx","../components/ui/scroll-area.tsx","../components/ui/select.tsx","../components/ui/separator.tsx","../components/ui/sheet.tsx","../components/ui/skeleton.tsx","../components/ui/slider.tsx","../components/ui/switch.tsx","../components/ui/table.tsx","../components/ui/tabs.tsx","../components/ui/textarea.tsx","../components/ui/tooltip.tsx","../components/ui/side-menu.tsx","../components/ui/top-menu.tsx","../components/ui/simple-tabs.tsx","../components/lenis-provider.tsx","../components/ui/pixel-grid/patterns.ts","../components/ui/pixel-grid/pixel-grid.tsx","../components/ui/pixel-grid/pixel-grid-showcase.tsx"],"names":["cn","inputs","twMerge","clsx","Accordion","B","AccordionItem","ye","_a","ref","_b","className","props","__objRest","jsx","__spreadValues","AccordionTrigger","children","jsxs","__spreadProps","ChevronDown","AccordionContent","alertVariants","cva","Alert","he","variant","AlertTitle","AlertDescription","badgeVariants","Badge","rounded","buttonVariants","Button","mt","size","asChild","Slot","Card","re","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","Checkbox","Rt","ce","Check","Dialog","S","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","de","DialogContent","X","DialogHeader","DialogFooter","DialogTitle","DialogDescription","DropdownMenu","m","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuSub","DropdownMenuRadioGroup","DropdownMenuSubTrigger","$","inset","ChevronRight","DropdownMenuSubContent","DropdownMenuContent","sideOffset","DropdownMenuItem","DropdownMenuCheckboxItem","checked","DropdownMenuRadioItem","Circle","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","Input","zt","type","labelVariants","Label","Vt","Le","Progress","Ut","value","me","RadioGroup","He","Z","RadioGroupItem","ScrollArea","Ae","V","ScrollBar","orientation","Select","f","SelectGroup","SelectValue","SelectTrigger","j","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","SelectSeparator","Separator","jt","decorative","Be","Sheet","N","SheetTrigger","SheetClose","SheetPortal","SheetOverlay","fe","sheetVariants","SheetContent","side","SheetHeader","SheetFooter","SheetTitle","SheetDescription","Skeleton","Slider","ni","q","Switch","di","ue","Table","J","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","Tabs","U","TabsList","Te","TabsTrigger","TabsContent","Textarea","wi","TooltipProvider","O","Tooltip","TooltipTrigger","TooltipContent","Ni","SideMenuContext","K","useSideMenu","context","DefaultLink","href","SideMenu","header","collapsedHeader","sections","items","footer","controlledCollapsed","onCollapsedChange","collapsible","defaultCollapsed","activeItem","LinkComponent","internalCollapsed","setInternalCollapsed","collapsed","handleToggle","newCollapsed","ChevronLeft","item","SideMenuItemComponent","section","SideMenuSectionComponent","expanded","setExpanded","nested","isActive","itemClasses","content","Fragment","element","TopMenu","G","breadcrumbs","showMobileMenu","onMobileMenuClick","leftContent","rightContent","Menu","crumb","index","TopMenuUser","name","email","avatarUrl","avatarContent","avatarClassName","open","setOpen","menuRef","handleClickOutside","event","TopMenuUserItem","icon","onClick","TopMenuUserSection","SimpleTabsContext","A","useSimpleTabs","SimpleTabs","tabs","controlledActiveTab","defaultTab","onTabChange","tabsClassName","internalActiveTab","setInternalActiveTab","activeTab","handleTabChange","tabId","tab","SimpleTabsPanel","id","SimpleTabsRoot","SimpleTabsList","SimpleTabsTrigger","disabled","setActiveTab","SimpleTabsContent","LenisProvider","lenisRef","useRef","useEffect","lenis","Lenis","t","raf","time","toIndex","x","y","TL","TC","TR","ML","MC","MR","BL","BC","BR","patterns","patternNames","patternCategories","speedMap","sizeMap","PixelGrid","pattern","color","speed","paused","showLabel","currentFrame","setCurrentFrame","ne","activePixels","setActivePixels","patternDef","frameDuration","interval","prev","frame","pixelSize","gap","gridSize","_","PixelGridShowcase","showCategories","categories","filteredCategories","cat","category","PixelGridColorComparison","colors","PixelGridSizeComparison","sizes"],"mappings":"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","file":"index.js","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Accordion = AccordionPrimitive.Root;\n\nconst AccordionItem = React.forwardRef<\n React.ComponentRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n));\nAccordionItem.displayName = \"AccordionItem\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ComponentRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nconst AccordionContent = React.forwardRef<\n React.ComponentRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n success:\n \"border-sourceful-green-500/50 bg-sourceful-green-50 text-sourceful-green-900 dark:bg-sourceful-green-950/50 dark:text-sourceful-green-100 [&>svg]:text-sourceful-green-500\",\n warning:\n \"border-sourceful-yellow-500/50 bg-sourceful-yellow-50 text-sourceful-yellow-900 dark:bg-sourceful-yellow-950/50 dark:text-sourceful-yellow-100 [&>svg]:text-sourceful-yellow-500\",\n info: \"border-blue-500/50 bg-blue-50 text-blue-900 dark:bg-blue-950/50 dark:text-blue-100 [&>svg]:text-blue-500\",\n energy:\n \"border-sourceful-yellow-400/50 bg-sourceful-yellow-50 text-sourceful-gray-900 dark:bg-sourceful-yellow-950/50 dark:text-sourceful-yellow-100 [&>svg]:text-sourceful-yellow-400\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n));\nAlert.displayName = \"Alert\";\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n));\nAlertTitle.displayName = \"AlertTitle\";\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\nexport { Alert, AlertTitle, AlertDescription };\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center gap-1 border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 [&_svg]:size-3 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\n outline: \"text-foreground\",\n // Sourceful solid variants\n energy:\n \"border-transparent bg-sourceful-yellow-400 text-sourceful-gray-900 shadow hover:bg-sourceful-yellow-500\",\n success:\n \"border-transparent bg-sourceful-green-500 text-sourceful-gray-900 shadow hover:bg-sourceful-green-600\",\n warning:\n \"border-transparent bg-orange-500 text-white shadow hover:bg-orange-600\",\n info:\n \"border-transparent bg-blue-500 text-white shadow hover:bg-blue-600\",\n // Sourceful soft variants - colored text with tinted background\n \"success-soft\":\n \"border-sourceful-green-500/20 bg-sourceful-green-500/10 text-sourceful-green-600 dark:text-sourceful-green-400\",\n \"warning-soft\":\n \"border-orange-500/20 bg-orange-500/10 text-orange-600 dark:text-orange-400\",\n \"destructive-soft\":\n \"border-destructive/20 bg-destructive/10 text-destructive dark:text-red-400\",\n \"info-soft\":\n \"border-blue-500/20 bg-blue-500/10 text-blue-600 dark:text-blue-400\",\n \"energy-soft\":\n \"border-sourceful-yellow-500/20 bg-sourceful-yellow-400/10 text-sourceful-yellow-600 dark:text-sourceful-yellow-400\",\n // Outline variants - just border and text, no background\n \"success-outline\":\n \"border-sourceful-green-500/50 bg-transparent text-sourceful-green-600 dark:text-sourceful-green-400\",\n \"warning-outline\":\n \"border-orange-500/50 bg-transparent text-orange-600 dark:text-orange-400\",\n \"destructive-outline\":\n \"border-destructive/50 bg-transparent text-destructive dark:text-red-400\",\n \"info-outline\":\n \"border-blue-500/50 bg-transparent text-blue-600 dark:text-blue-400\",\n },\n rounded: {\n default: \"rounded-md\",\n full: \"rounded-full\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n rounded: \"default\",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, rounded, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant, rounded }), className)} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs\",\n lg: \"h-10 rounded-md px-8\",\n icon: \"h-9 w-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-xl border bg-card text-card-foreground shadow\",\n className\n )}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Checkbox = React.forwardRef<\n React.ComponentRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { Check, ChevronRight, Circle } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst DropdownMenu = DropdownMenuPrimitive.Root\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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 origin-[--radix-dropdown-menu-content-transform-origin]\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"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 origin-[--radix-dropdown-menu-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n))\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n))\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n )\n}\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n}\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport { cn } from \"@/lib/utils\";\n\nconst Progress = React.forwardRef<\n React.ComponentRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-4 w-full overflow-hidden rounded-full bg-secondary\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n));\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { Circle } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst RadioGroup = React.forwardRef<\n React.ComponentRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n );\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n React.ComponentRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport { cn } from \"@/lib/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ComponentRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ComponentRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\nimport { cn } from \"@/lib/utils\";\n\nconst Separator = React.forwardRef<\n React.ComponentRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(\n (\n { className, orientation = \"horizontal\", decorative = true, ...props },\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className\n )}\n {...props}\n />\n )\n);\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\n\nexport { Separator };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<\n React.ComponentRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\n \"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom:\n \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n }\n);\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<\n React.ComponentRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = \"right\", className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n));\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n);\nSheetHeader.displayName = \"SheetHeader\";\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n);\nSheetFooter.displayName = \"SheetFooter\";\n\nconst SheetTitle = React.forwardRef<\n React.ComponentRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold text-foreground\", className)}\n {...props}\n />\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ComponentRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","import { cn } from \"@/lib/utils\";\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport { cn } from \"@/lib/utils\";\n\nconst Slider = React.forwardRef<\n React.ComponentRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex w-full touch-none select-none items-center\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary\">\n <SliderPrimitive.Range className=\"absolute h-full bg-primary\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\" />\n </SliderPrimitive.Root>\n));\nSlider.displayName = SliderPrimitive.Root.displayName;\n\nexport { Slider };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport { cn } from \"@/lib/utils\";\n\nconst Switch = React.forwardRef<\n React.ComponentRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n))\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n))\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n))\nTableBody.displayName = \"TableBody\"\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = \"TableFooter\"\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n))\nTableCell.displayName = \"TableCell\"\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nTableCaption.displayName = \"TableCaption\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Tabs = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground\",\n className\n )}\n {...props}\n />\n))\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground\",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n","import * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\">\n>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground 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 origin-[--radix-tooltip-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { ChevronLeft, ChevronRight, ChevronDown } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"./tooltip\"\n\n// Types\nexport interface SideMenuItem {\n id: string\n label: string\n href?: string\n icon?: React.ReactNode\n badge?: string | number\n onClick?: () => void\n disabled?: boolean\n}\n\nexport interface SideMenuSection {\n id: string\n title: string\n icon?: React.ReactNode\n items: SideMenuItem[]\n defaultExpanded?: boolean\n}\n\nexport interface SideMenuProps {\n /** Header content (logo, title, etc.) */\n header?: React.ReactNode\n /** Header content shown when collapsed (icon, etc.) */\n collapsedHeader?: React.ReactNode\n /** Navigation sections with collapsible groups */\n sections?: SideMenuSection[]\n /** Standalone items without sections */\n items?: SideMenuItem[]\n /** Footer content */\n footer?: React.ReactNode\n /** Whether the sidebar is collapsed */\n collapsed?: boolean\n /** Callback when collapsed state changes */\n onCollapsedChange?: (collapsed: boolean) => void\n /** Whether the sidebar can be collapsed */\n collapsible?: boolean\n /** Default collapsed state */\n defaultCollapsed?: boolean\n /** Currently active item id */\n activeItem?: string\n /** Custom className */\n className?: string\n /** Custom link component (e.g., Next.js Link) */\n linkComponent?: React.ComponentType<{\n href: string\n className?: string\n children: React.ReactNode\n }>\n}\n\n// Context for sharing state\ninterface SideMenuContextValue {\n collapsed: boolean\n activeItem?: string\n LinkComponent: React.ComponentType<{\n href: string\n className?: string\n children: React.ReactNode\n }>\n}\n\nconst SideMenuContext = React.createContext<SideMenuContextValue | null>(null)\n\nfunction useSideMenu() {\n const context = React.useContext(SideMenuContext)\n if (!context) {\n throw new Error(\"SideMenu components must be used within SideMenu\")\n }\n return context\n}\n\n// Default link component\nconst DefaultLink: React.FC<{\n href: string\n className?: string\n children: React.ReactNode\n}> = ({ href, className, children }) => (\n <a href={href} className={className}>\n {children}\n </a>\n)\n\n// Main SideMenu component\nconst SideMenu = React.forwardRef<HTMLElement, SideMenuProps>(\n (\n {\n header,\n collapsedHeader,\n sections,\n items,\n footer,\n collapsed: controlledCollapsed,\n onCollapsedChange,\n collapsible = true,\n defaultCollapsed = false,\n activeItem,\n className,\n linkComponent: LinkComponent = DefaultLink,\n },\n ref\n ) => {\n const [internalCollapsed, setInternalCollapsed] =\n React.useState(defaultCollapsed)\n\n // Support both controlled and uncontrolled modes\n const collapsed = controlledCollapsed ?? internalCollapsed\n\n const handleToggle = () => {\n const newCollapsed = !collapsed\n setInternalCollapsed(newCollapsed)\n onCollapsedChange?.(newCollapsed)\n }\n\n return (\n <TooltipProvider delayDuration={0}>\n <SideMenuContext.Provider\n value={{ collapsed, activeItem, LinkComponent }}\n >\n <aside\n ref={ref}\n className={cn(\n \"flex h-full flex-col transition-[width] duration-300 ease-in-out\",\n \"bg-white dark:bg-[#141414] border-r border-sourceful-gray-200 dark:border-[#1a1a1a]\",\n collapsed ? \"w-16\" : \"w-64\",\n className\n )}\n >\n {/* Header */}\n <div\n className={cn(\n \"flex items-center border-b border-sourceful-gray-200 dark:border-[#1a1a1a] flex-shrink-0 h-12\",\n collapsed\n ? \"justify-center px-2\"\n : \"justify-between px-3\"\n )}\n >\n {collapsed ? collapsedHeader || header : header}\n\n {collapsible && (\n <button\n onClick={handleToggle}\n className={cn(\n \"rounded-md h-5 w-5 flex items-center justify-center\",\n \"text-sourceful-gray-400 dark:text-sourceful-gray-500\",\n \"hover:text-sourceful-gray-600 dark:hover:text-sourceful-gray-300 transition-colors\",\n \"bg-white dark:bg-[#141414] border border-sourceful-gray-200 dark:border-sourceful-gray-700 shadow-sm\",\n collapsed && \"absolute left-[calc(4rem-10px)] top-6 -translate-y-1/2 z-50\"\n )}\n aria-label={collapsed ? \"Expand sidebar\" : \"Collapse sidebar\"}\n >\n {collapsed ? (\n <ChevronRight className=\"h-3 w-3\" />\n ) : (\n <ChevronLeft className=\"h-3 w-3\" />\n )}\n </button>\n )}\n </div>\n\n {/* Navigation */}\n <nav className=\"flex-1 py-2 overflow-y-auto overflow-x-hidden\">\n {/* Standalone items */}\n {items && items.length > 0 && (\n <div className=\"px-2 mb-1 space-y-0.5\">\n {items.map((item) => (\n <SideMenuItemComponent key={item.id} item={item} />\n ))}\n </div>\n )}\n\n {/* Sections */}\n {sections?.map((section) => (\n <SideMenuSectionComponent key={section.id} section={section} />\n ))}\n </nav>\n\n {/* Footer */}\n {footer && (\n <div className=\"flex-shrink-0 border-t border-sourceful-gray-200 dark:border-[#1a1a1a] p-2\">\n {footer}\n </div>\n )}\n </aside>\n </SideMenuContext.Provider>\n </TooltipProvider>\n )\n }\n)\nSideMenu.displayName = \"SideMenu\"\n\n// Section component\nfunction SideMenuSectionComponent({ section }: { section: SideMenuSection }) {\n const { collapsed } = useSideMenu()\n const [expanded, setExpanded] = React.useState(\n section.defaultExpanded ?? true\n )\n\n if (collapsed) {\n // When collapsed, show items directly without section headers\n return (\n <div className=\"px-2 mb-1 space-y-0.5\">\n {section.items.map((item) => (\n <SideMenuItemComponent key={item.id} item={item} />\n ))}\n </div>\n )\n }\n\n return (\n <div className=\"px-2 mb-1\">\n <button\n onClick={() => setExpanded(!expanded)}\n className={cn(\n \"flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-sm font-medium\",\n \"text-sourceful-gray-700 dark:text-sourceful-gray-300\",\n \"hover:bg-sourceful-gray-50 dark:hover:bg-sourceful-gray-900\",\n \"hover:text-sourceful-gray-900 dark:hover:text-white transition-colors\"\n )}\n >\n {section.icon && (\n <span className=\"h-3.5 w-3.5 flex-shrink-0\">{section.icon}</span>\n )}\n <span className=\"flex-1 text-left\">{section.title}</span>\n {expanded ? (\n <ChevronDown className=\"h-3 w-3\" strokeWidth={1.5} />\n ) : (\n <ChevronRight className=\"h-3 w-3\" strokeWidth={1.5} />\n )}\n </button>\n\n {expanded && (\n <div className=\"mt-0.5 space-y-0.5 relative pl-5\">\n <div className=\"absolute left-[1.1rem] top-0 bottom-0 w-px bg-sourceful-gray-200 dark:bg-sourceful-gray-700\" />\n {section.items.map((item) => (\n <SideMenuItemComponent key={item.id} item={item} nested />\n ))}\n </div>\n )}\n </div>\n )\n}\n\n// Item component\nfunction SideMenuItemComponent({\n item,\n nested = false,\n}: {\n item: SideMenuItem\n nested?: boolean\n}) {\n const { collapsed, activeItem, LinkComponent } = useSideMenu()\n const isActive = activeItem === item.id\n\n const itemClasses = cn(\n \"flex items-center gap-2.5 rounded-md text-sm font-medium transition-colors\",\n collapsed ? \"justify-center px-2 py-2.5\" : \"px-2 py-1.5\",\n isActive\n ? nested\n ? \"bg-sourceful-gray-100 dark:bg-[#1a1a1a] text-sourceful-gray-900 dark:text-white\"\n : \"bg-sourceful-green-50 dark:bg-sourceful-green-950 text-sourceful-green-700 dark:text-sourceful-green-400\"\n : \"text-sourceful-gray-700 dark:text-sourceful-gray-300 hover:bg-sourceful-gray-50 dark:hover:bg-sourceful-gray-900 hover:text-sourceful-gray-900 dark:hover:text-white\",\n item.disabled && \"opacity-50 pointer-events-none\"\n )\n\n const content = (\n <>\n {item.icon && (\n <span\n className={cn(\"flex-shrink-0\", collapsed ? \"h-5 w-5\" : \"h-3.5 w-3.5\")}\n >\n {item.icon}\n </span>\n )}\n {!collapsed && <span>{item.label}</span>}\n {!collapsed && item.badge && (\n <span className=\"ml-auto text-xs bg-sourceful-gray-100 dark:bg-sourceful-gray-800 px-1.5 py-0.5 rounded\">\n {item.badge}\n </span>\n )}\n </>\n )\n\n const element = item.href ? (\n <LinkComponent href={item.href} className={itemClasses}>\n {content}\n </LinkComponent>\n ) : (\n <button\n onClick={item.onClick}\n disabled={item.disabled}\n className={cn(itemClasses, \"w-full\")}\n >\n {content}\n </button>\n )\n\n if (collapsed) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{element}</TooltipTrigger>\n <TooltipContent side=\"right\" sideOffset={8}>\n {item.label}\n </TooltipContent>\n </Tooltip>\n )\n }\n\n return element\n}\n\nexport { SideMenu }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Menu } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\n\n// Types\nexport interface BreadcrumbItem {\n label: string\n href?: string\n}\n\nexport interface TopMenuProps {\n /** Breadcrumb navigation items */\n breadcrumbs?: BreadcrumbItem[]\n /** Show mobile menu button */\n showMobileMenu?: boolean\n /** Mobile menu button click handler */\n onMobileMenuClick?: () => void\n /** Left side content (appears after breadcrumbs) */\n leftContent?: React.ReactNode\n /** Right side content (actions, user menu, etc.) */\n rightContent?: React.ReactNode\n /** Custom className */\n className?: string\n /** Custom link component (e.g., Next.js Link) */\n linkComponent?: React.ComponentType<{\n href: string\n className?: string\n children: React.ReactNode\n }>\n}\n\n// Default link component\nconst DefaultLink: React.FC<{\n href: string\n className?: string\n children: React.ReactNode\n}> = ({ href, className, children }) => (\n <a href={href} className={className}>\n {children}\n </a>\n)\n\nconst TopMenu = React.forwardRef<HTMLElement, TopMenuProps>(\n (\n {\n breadcrumbs = [],\n showMobileMenu = false,\n onMobileMenuClick,\n leftContent,\n rightContent,\n className,\n linkComponent: LinkComponent = DefaultLink,\n },\n ref\n ) => {\n return (\n <header\n ref={ref}\n className={cn(\n \"sticky top-0 z-30 flex h-12 items-center gap-3\",\n \"border-b border-sourceful-gray-200 dark:border-[#1a1a1a]\",\n \"bg-white dark:bg-[#141414] px-4\",\n className\n )}\n >\n {/* Mobile Menu Button */}\n {showMobileMenu && (\n <button\n onClick={onMobileMenuClick}\n className=\"lg:hidden rounded-md p-1.5 text-sourceful-gray-600 hover:bg-sourceful-gray-100 dark:text-sourceful-gray-400 dark:hover:bg-sourceful-gray-800\"\n aria-label=\"Toggle menu\"\n >\n <Menu className=\"h-4 w-4\" />\n </button>\n )}\n\n {/* Breadcrumbs */}\n {breadcrumbs.length > 0 && (\n <nav\n className=\"hidden md:flex items-center gap-1.5 text-sm\"\n aria-label=\"Breadcrumb\"\n >\n {breadcrumbs.map((crumb, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <span className=\"text-sourceful-gray-400 dark:text-sourceful-gray-500 text-xs\">\n /\n </span>\n )}\n {crumb.href ? (\n <LinkComponent\n href={crumb.href}\n className=\"text-sourceful-gray-600 dark:text-sourceful-gray-400 hover:text-sourceful-gray-900 dark:hover:text-white transition-colors text-sm\"\n >\n {crumb.label}\n </LinkComponent>\n ) : (\n <span className=\"text-sourceful-gray-900 dark:text-white font-medium text-sm\">\n {crumb.label}\n </span>\n )}\n </React.Fragment>\n ))}\n </nav>\n )}\n\n {/* Left Content */}\n {leftContent}\n\n {/* Spacer */}\n <div className=\"flex-1\" />\n\n {/* Right Content */}\n {rightContent && (\n <div className=\"flex items-center gap-1.5\">{rightContent}</div>\n )}\n </header>\n )\n }\n)\nTopMenu.displayName = \"TopMenu\"\n\n// User Menu Component\nexport interface TopMenuUserProps {\n /** User name */\n name?: string\n /** User email */\n email?: string\n /** User avatar URL */\n avatarUrl?: string\n /** Custom avatar content (icon, initials, etc.) */\n avatarContent?: React.ReactNode\n /** Avatar background color class */\n avatarClassName?: string\n /** Menu items */\n children?: React.ReactNode\n /** Custom className */\n className?: string\n}\n\nconst TopMenuUser = React.forwardRef<HTMLDivElement, TopMenuUserProps>(\n (\n {\n name,\n email,\n avatarUrl,\n avatarContent,\n avatarClassName,\n children,\n className,\n },\n ref\n ) => {\n const [open, setOpen] = React.useState(false)\n const menuRef = React.useRef<HTMLDivElement>(null)\n\n // Close menu when clicking outside\n React.useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n menuRef.current &&\n !menuRef.current.contains(event.target as Node)\n ) {\n setOpen(false)\n }\n }\n\n if (open) {\n document.addEventListener(\"mousedown\", handleClickOutside)\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside)\n }\n }, [open])\n\n return (\n <div ref={ref} className={cn(\"relative\", className)}>\n <div ref={menuRef}>\n <button\n onClick={() => setOpen(!open)}\n className=\"flex items-center gap-1.5 rounded-full p-0.5 hover:ring-2 hover:ring-sourceful-green-500 hover:ring-offset-2 dark:hover:ring-offset-[#141414] transition-all\"\n aria-label=\"Account menu\"\n >\n <div\n className={cn(\n \"h-8 w-8 rounded-full overflow-hidden flex items-center justify-center\",\n avatarClassName ||\n \"bg-gradient-to-br from-sourceful-yellow-400 to-sourceful-yellow-600\"\n )}\n >\n {avatarUrl ? (\n <img\n src={avatarUrl}\n alt={name || \"User\"}\n className=\"h-full w-full object-cover\"\n />\n ) : (\n avatarContent\n )}\n </div>\n </button>\n\n {/* Dropdown Menu */}\n {open && (\n <div className=\"absolute right-0 mt-2 w-64 rounded-lg border border-sourceful-gray-200 dark:border-[#1a1a1a] bg-white dark:bg-[#141414] shadow-lg overflow-hidden z-50\">\n {/* User Info */}\n {(name || email) && (\n <div className=\"px-4 py-3 border-b border-sourceful-gray-200 dark:border-[#1a1a1a]\">\n <div className=\"flex items-center gap-3\">\n <div\n className={cn(\n \"h-10 w-10 rounded-full overflow-hidden flex items-center justify-center\",\n avatarClassName ||\n \"bg-gradient-to-br from-sourceful-yellow-400 to-sourceful-yellow-600\"\n )}\n >\n {avatarUrl ? (\n <img\n src={avatarUrl}\n alt={name || \"User\"}\n className=\"h-full w-full object-cover\"\n />\n ) : (\n avatarContent\n )}\n </div>\n <div className=\"flex-1 min-w-0\">\n {name && (\n <p className=\"text-sm font-medium text-sourceful-gray-900 dark:text-white truncate\">\n {name}\n </p>\n )}\n {email && (\n <p className=\"text-xs text-sourceful-gray-500 dark:text-sourceful-gray-400 truncate\">\n {email}\n </p>\n )}\n </div>\n </div>\n </div>\n )}\n\n {/* Menu Items */}\n {children}\n </div>\n )}\n </div>\n </div>\n )\n }\n)\nTopMenuUser.displayName = \"TopMenuUser\"\n\n// User Menu Item\nexport interface TopMenuUserItemProps {\n /** Item icon */\n icon?: React.ReactNode\n /** Item label */\n children: React.ReactNode\n /** Click handler */\n onClick?: () => void\n /** Href for link items */\n href?: string\n /** Variant */\n variant?: \"default\" | \"danger\" | \"success\"\n /** Custom className */\n className?: string\n}\n\nconst TopMenuUserItem = React.forwardRef<\n HTMLButtonElement,\n TopMenuUserItemProps\n>(({ icon, children, onClick, href, variant = \"default\", className }, ref) => {\n const variantClasses = {\n default:\n \"text-sourceful-gray-700 dark:text-sourceful-gray-300 hover:bg-sourceful-gray-50 dark:hover:bg-[#1a1a1a]\",\n danger:\n \"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-950/20\",\n success:\n \"text-sourceful-green-600 dark:text-sourceful-green-400 hover:bg-sourceful-green-50 dark:hover:bg-sourceful-green-950/20\",\n }\n\n const Component = href ? \"a\" : \"button\"\n\n return (\n <Component\n ref={ref as React.Ref<HTMLButtonElement & HTMLAnchorElement>}\n onClick={onClick}\n href={href}\n className={cn(\n \"w-full flex items-center gap-3 px-4 py-2 text-sm transition-colors\",\n variantClasses[variant],\n className\n )}\n >\n {icon && <span className=\"h-4 w-4\">{icon}</span>}\n <span>{children}</span>\n </Component>\n )\n})\nTopMenuUserItem.displayName = \"TopMenuUserItem\"\n\n// User Menu Section (for grouping items with borders)\nconst TopMenuUserSection = React.forwardRef<\n HTMLDivElement,\n { children: React.ReactNode; className?: string }\n>(({ children, className }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"py-1 border-t border-sourceful-gray-200 dark:border-[#1a1a1a] first:border-t-0\",\n className\n )}\n >\n {children}\n </div>\n))\nTopMenuUserSection.displayName = \"TopMenuUserSection\"\n\nexport { TopMenu, TopMenuUser, TopMenuUserItem, TopMenuUserSection }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\n// Types\nexport interface SimpleTab {\n id: string\n label: string\n icon?: React.ReactNode\n disabled?: boolean\n}\n\nexport interface SimpleTabsProps {\n /** Array of tab definitions */\n tabs: SimpleTab[]\n /** Currently active tab id */\n activeTab?: string\n /** Default active tab id (for uncontrolled mode) */\n defaultTab?: string\n /** Callback when tab changes */\n onTabChange?: (tabId: string) => void\n /** Tab panel children */\n children?: React.ReactNode\n /** Custom className for the container */\n className?: string\n /** Custom className for the tabs list */\n tabsClassName?: string\n}\n\nexport interface SimpleTabsPanelProps {\n /** Tab id this panel corresponds to */\n id: string\n /** Panel content */\n children: React.ReactNode\n /** Custom className */\n className?: string\n}\n\n// Context for sharing state\ninterface SimpleTabsContextValue {\n activeTab: string\n setActiveTab: (tab: string) => void\n}\n\nconst SimpleTabsContext = React.createContext<SimpleTabsContextValue | null>(\n null\n)\n\nfunction useSimpleTabs() {\n const context = React.useContext(SimpleTabsContext)\n if (!context) {\n throw new Error(\"SimpleTabsPanel must be used within SimpleTabs\")\n }\n return context\n}\n\n// Main SimpleTabs component\nconst SimpleTabs = React.forwardRef<HTMLDivElement, SimpleTabsProps>(\n (\n {\n tabs,\n activeTab: controlledActiveTab,\n defaultTab,\n onTabChange,\n children,\n className,\n tabsClassName,\n },\n ref\n ) => {\n const [internalActiveTab, setInternalActiveTab] = React.useState(\n defaultTab || tabs[0]?.id || \"\"\n )\n\n // Support both controlled and uncontrolled modes\n const activeTab = controlledActiveTab ?? internalActiveTab\n\n const handleTabChange = (tabId: string) => {\n setInternalActiveTab(tabId)\n onTabChange?.(tabId)\n }\n\n return (\n <SimpleTabsContext.Provider\n value={{ activeTab, setActiveTab: handleTabChange }}\n >\n <div ref={ref} className={cn(\"space-y-6\", className)}>\n {/* Tab Navigation */}\n <div className=\"border-b border-sourceful-gray-200 dark:border-sourceful-gray-800\">\n <nav\n className={cn(\n \"-mb-px flex gap-1 overflow-x-auto scrollbar-hide\",\n tabsClassName\n )}\n aria-label=\"Tabs\"\n >\n {tabs.map((tab) => {\n const isActive = activeTab === tab.id\n\n return (\n <button\n key={tab.id}\n onClick={() => !tab.disabled && handleTabChange(tab.id)}\n disabled={tab.disabled}\n className={cn(\n \"relative flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors whitespace-nowrap\",\n isActive\n ? \"text-sourceful-green-600 dark:text-sourceful-green-400\"\n : \"text-sourceful-gray-500 dark:text-sourceful-gray-400 hover:text-sourceful-gray-700 dark:hover:text-sourceful-gray-300\",\n tab.disabled && \"opacity-50 cursor-not-allowed\"\n )}\n >\n {tab.icon && <span className=\"h-4 w-4\">{tab.icon}</span>}\n {tab.label}\n {isActive && (\n <span\n className=\"absolute bottom-0 left-0 right-0 h-0.5 bg-sourceful-green-500\"\n aria-hidden=\"true\"\n />\n )}\n </button>\n )\n })}\n </nav>\n </div>\n\n {/* Tab Content */}\n {children && <div>{children}</div>}\n </div>\n </SimpleTabsContext.Provider>\n )\n }\n)\nSimpleTabs.displayName = \"SimpleTabs\"\n\n// Tab Panel component\nconst SimpleTabsPanel = React.forwardRef<HTMLDivElement, SimpleTabsPanelProps>(\n ({ id, children, className }, ref) => {\n const { activeTab } = useSimpleTabs()\n\n if (activeTab !== id) return null\n\n return (\n <div\n ref={ref}\n role=\"tabpanel\"\n aria-labelledby={`tab-${id}`}\n className={className}\n >\n {children}\n </div>\n )\n }\n)\nSimpleTabsPanel.displayName = \"SimpleTabsPanel\"\n\n// Compound component for more flexible usage\nexport interface SimpleTabsRootProps {\n /** Currently active tab id */\n activeTab?: string\n /** Default active tab id (for uncontrolled mode) */\n defaultTab?: string\n /** Callback when tab changes */\n onTabChange?: (tabId: string) => void\n /** Children (SimpleTabsList and SimpleTabsPanel components) */\n children: React.ReactNode\n /** Custom className */\n className?: string\n}\n\nconst SimpleTabsRoot = React.forwardRef<HTMLDivElement, SimpleTabsRootProps>(\n (\n { activeTab: controlledActiveTab, defaultTab, onTabChange, children, className },\n ref\n ) => {\n const [internalActiveTab, setInternalActiveTab] = React.useState(\n defaultTab || \"\"\n )\n\n const activeTab = controlledActiveTab ?? internalActiveTab\n\n const handleTabChange = (tabId: string) => {\n setInternalActiveTab(tabId)\n onTabChange?.(tabId)\n }\n\n return (\n <SimpleTabsContext.Provider\n value={{ activeTab, setActiveTab: handleTabChange }}\n >\n <div ref={ref} className={cn(\"space-y-6\", className)}>\n {children}\n </div>\n </SimpleTabsContext.Provider>\n )\n }\n)\nSimpleTabsRoot.displayName = \"SimpleTabsRoot\"\n\n// Tabs List for compound component pattern\nexport interface SimpleTabsListProps {\n children: React.ReactNode\n className?: string\n}\n\nconst SimpleTabsList = React.forwardRef<HTMLDivElement, SimpleTabsListProps>(\n ({ children, className }, ref) => {\n return (\n <div\n ref={ref}\n className=\"border-b border-sourceful-gray-200 dark:border-sourceful-gray-800\"\n >\n <nav\n className={cn(\n \"-mb-px flex gap-1 overflow-x-auto scrollbar-hide\",\n className\n )}\n role=\"tablist\"\n aria-label=\"Tabs\"\n >\n {children}\n </nav>\n </div>\n )\n }\n)\nSimpleTabsList.displayName = \"SimpleTabsList\"\n\n// Tab Trigger for compound component pattern\nexport interface SimpleTabsTriggerProps {\n /** Tab id */\n value: string\n /** Tab content */\n children: React.ReactNode\n /** Tab icon */\n icon?: React.ReactNode\n /** Disabled state */\n disabled?: boolean\n /** Custom className */\n className?: string\n}\n\nconst SimpleTabsTrigger = React.forwardRef<\n HTMLButtonElement,\n SimpleTabsTriggerProps\n>(({ value, children, icon, disabled, className }, ref) => {\n const { activeTab, setActiveTab } = useSimpleTabs()\n const isActive = activeTab === value\n\n return (\n <button\n ref={ref}\n role=\"tab\"\n id={`tab-${value}`}\n aria-selected={isActive}\n aria-controls={`panel-${value}`}\n onClick={() => !disabled && setActiveTab(value)}\n disabled={disabled}\n className={cn(\n \"relative flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors whitespace-nowrap\",\n isActive\n ? \"text-sourceful-green-600 dark:text-sourceful-green-400\"\n : \"text-sourceful-gray-500 dark:text-sourceful-gray-400 hover:text-sourceful-gray-700 dark:hover:text-sourceful-gray-300\",\n disabled && \"opacity-50 cursor-not-allowed\",\n className\n )}\n >\n {icon && <span className=\"h-4 w-4\">{icon}</span>}\n {children}\n {isActive && (\n <span\n className=\"absolute bottom-0 left-0 right-0 h-0.5 bg-sourceful-green-500\"\n aria-hidden=\"true\"\n />\n )}\n </button>\n )\n})\nSimpleTabsTrigger.displayName = \"SimpleTabsTrigger\"\n\n// Tab Content for compound component pattern\nconst SimpleTabsContent = React.forwardRef<\n HTMLDivElement,\n { value: string; children: React.ReactNode; className?: string }\n>(({ value, children, className }, ref) => {\n const { activeTab } = useSimpleTabs()\n\n if (activeTab !== value) return null\n\n return (\n <div\n ref={ref}\n role=\"tabpanel\"\n id={`panel-${value}`}\n aria-labelledby={`tab-${value}`}\n className={className}\n >\n {children}\n </div>\n )\n})\nSimpleTabsContent.displayName = \"SimpleTabsContent\"\n\nexport {\n SimpleTabs,\n SimpleTabsPanel,\n SimpleTabsRoot,\n SimpleTabsList,\n SimpleTabsTrigger,\n SimpleTabsContent,\n}\n","\"use client\";\n\nimport { useEffect, useRef } from \"react\";\nimport Lenis from \"lenis\";\n\ninterface LenisProviderProps {\n children: React.ReactNode;\n}\n\nexport function LenisProvider({ children }: LenisProviderProps) {\n const lenisRef = useRef<Lenis | null>(null);\n\n useEffect(() => {\n const lenis = new Lenis({\n duration: 1.2,\n easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),\n orientation: \"vertical\",\n gestureOrientation: \"vertical\",\n smoothWheel: true,\n });\n\n lenisRef.current = lenis;\n\n function raf(time: number) {\n lenis.raf(time);\n requestAnimationFrame(raf);\n }\n\n requestAnimationFrame(raf);\n\n return () => {\n lenis.destroy();\n lenisRef.current = null;\n };\n }, []);\n\n return <>{children}</>;\n}\n","/**\n * Pattern definitions for the PixelGrid component.\n *\n * Grid position reference (3x3):\n * [0,0] [1,0] [2,0] (top-left, top-center, top-right)\n * [0,1] [1,1] [2,1] (mid-left, center, mid-right)\n * [0,2] [1,2] [2,2] (bot-left, bot-center, bot-right)\n *\n * Index mapping (row-major order):\n * 0 1 2\n * 3 4 5\n * 6 7 8\n */\n\n// Convert [x, y] coordinates to index\nconst toIndex = (x: number, y: number): number => y * 3 + x;\n\n// Define pixel positions\nconst TL = toIndex(0, 0); // 0 - top-left\nconst TC = toIndex(1, 0); // 1 - top-center\nconst TR = toIndex(2, 0); // 2 - top-right\nconst ML = toIndex(0, 1); // 3 - mid-left\nconst MC = toIndex(1, 1); // 4 - center\nconst MR = toIndex(2, 1); // 5 - mid-right\nconst BL = toIndex(0, 2); // 6 - bot-left\nconst BC = toIndex(1, 2); // 7 - bot-center\nconst BR = toIndex(2, 2); // 8 - bot-right\n\nexport type PatternType =\n // Solo patterns\n | \"solo-center\"\n | \"solo-tl\"\n | \"solo-br\"\n // Line patterns - horizontal\n | \"line-h-top\"\n | \"line-h-mid\"\n | \"line-h-bot\"\n // Line patterns - vertical\n | \"line-v-left\"\n | \"line-v-mid\"\n | \"line-v-right\"\n // Line patterns - diagonal\n | \"line-diag-1\"\n | \"line-diag-2\"\n // Corner patterns\n | \"corners-sync\"\n | \"corners-only\"\n // L-shape patterns\n | \"L-tl\"\n | \"L-tr\"\n | \"L-bl\"\n | \"L-br\"\n // T-shape patterns\n | \"T-top\"\n | \"T-bot\"\n | \"T-left\"\n | \"T-right\"\n // Duo patterns\n | \"duo-h\"\n | \"duo-v\"\n | \"duo-diag\"\n // Frame patterns\n | \"frame\"\n | \"frame-sync\"\n // Plus pattern\n | \"plus-hollow\"\n // Sparse patterns\n | \"sparse-1\"\n | \"sparse-2\"\n | \"sparse-3\";\n\nexport interface PatternFrame {\n activePixels: number[];\n duration?: number; // Override default frame duration (ms)\n}\n\nexport interface PatternDefinition {\n name: string;\n description: string;\n frames: PatternFrame[];\n cycleDuration?: number; // Total cycle duration in ms (default: 1500)\n}\n\n/**\n * Pattern definitions.\n * Each pattern is an array of frames, where each frame specifies which pixels are active.\n * Animation interpolates between frames for smooth transitions.\n */\nexport const patterns: Record<PatternType, PatternDefinition> = {\n // Solo patterns - single pixel pulses\n \"solo-center\": {\n name: \"Solo Center\",\n description: \"Center pixel pulses\",\n frames: [\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n \"solo-tl\": {\n name: \"Solo Top-Left\",\n description: \"Top-left pixel pulses\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL] },\n { activePixels: [] },\n ],\n },\n \"solo-br\": {\n name: \"Solo Bottom-Right\",\n description: \"Bottom-right pixel pulses\",\n frames: [\n { activePixels: [] },\n { activePixels: [BR] },\n { activePixels: [BR] },\n { activePixels: [] },\n ],\n },\n\n // Line patterns - horizontal\n \"line-h-top\": {\n name: \"Horizontal Top\",\n description: \"Top row lights up left to right\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, TC] },\n { activePixels: [TL, TC, TR] },\n { activePixels: [TC, TR] },\n { activePixels: [TR] },\n { activePixels: [] },\n ],\n },\n \"line-h-mid\": {\n name: \"Horizontal Middle\",\n description: \"Middle row lights up left to right\",\n frames: [\n { activePixels: [] },\n { activePixels: [ML] },\n { activePixels: [ML, MC] },\n { activePixels: [ML, MC, MR] },\n { activePixels: [MC, MR] },\n { activePixels: [MR] },\n { activePixels: [] },\n ],\n },\n \"line-h-bot\": {\n name: \"Horizontal Bottom\",\n description: \"Bottom row lights up left to right\",\n frames: [\n { activePixels: [] },\n { activePixels: [BL] },\n { activePixels: [BL, BC] },\n { activePixels: [BL, BC, BR] },\n { activePixels: [BC, BR] },\n { activePixels: [BR] },\n { activePixels: [] },\n ],\n },\n\n // Line patterns - vertical\n \"line-v-left\": {\n name: \"Vertical Left\",\n description: \"Left column lights up top to bottom\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, ML] },\n { activePixels: [TL, ML, BL] },\n { activePixels: [ML, BL] },\n { activePixels: [BL] },\n { activePixels: [] },\n ],\n },\n \"line-v-mid\": {\n name: \"Vertical Middle\",\n description: \"Middle column lights up top to bottom\",\n frames: [\n { activePixels: [] },\n { activePixels: [TC] },\n { activePixels: [TC, MC] },\n { activePixels: [TC, MC, BC] },\n { activePixels: [MC, BC] },\n { activePixels: [BC] },\n { activePixels: [] },\n ],\n },\n \"line-v-right\": {\n name: \"Vertical Right\",\n description: \"Right column lights up top to bottom\",\n frames: [\n { activePixels: [] },\n { activePixels: [TR] },\n { activePixels: [TR, MR] },\n { activePixels: [TR, MR, BR] },\n { activePixels: [MR, BR] },\n { activePixels: [BR] },\n { activePixels: [] },\n ],\n },\n\n // Line patterns - diagonal\n \"line-diag-1\": {\n name: \"Diagonal TL-BR\",\n description: \"Diagonal from top-left to bottom-right\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, MC] },\n { activePixels: [TL, MC, BR] },\n { activePixels: [MC, BR] },\n { activePixels: [BR] },\n { activePixels: [] },\n ],\n },\n \"line-diag-2\": {\n name: \"Diagonal TR-BL\",\n description: \"Diagonal from top-right to bottom-left\",\n frames: [\n { activePixels: [] },\n { activePixels: [TR] },\n { activePixels: [TR, MC] },\n { activePixels: [TR, MC, BL] },\n { activePixels: [MC, BL] },\n { activePixels: [BL] },\n { activePixels: [] },\n ],\n },\n\n // Corner patterns\n \"corners-sync\": {\n name: \"Corners Sync\",\n description: \"All corners pulse together\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, TR, BL, BR] },\n { activePixels: [TL, TR, BL, BR] },\n { activePixels: [] },\n ],\n },\n \"corners-only\": {\n name: \"Corners Clockwise\",\n description: \"Corners light up clockwise\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, TR] },\n { activePixels: [TR] },\n { activePixels: [TR, BR] },\n { activePixels: [BR] },\n { activePixels: [BR, BL] },\n { activePixels: [BL] },\n { activePixels: [BL, TL] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n // L-shape patterns\n \"L-tl\": {\n name: \"L Top-Left\",\n description: \"L shape in top-left corner\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, ML] },\n { activePixels: [TL, ML, MC] },\n { activePixels: [TL, ML, MC] },\n { activePixels: [ML, MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n \"L-tr\": {\n name: \"L Top-Right\",\n description: \"L shape in top-right corner\",\n frames: [\n { activePixels: [] },\n { activePixels: [TR] },\n { activePixels: [TR, MR] },\n { activePixels: [TR, MR, MC] },\n { activePixels: [TR, MR, MC] },\n { activePixels: [MR, MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n \"L-bl\": {\n name: \"L Bottom-Left\",\n description: \"L shape in bottom-left corner\",\n frames: [\n { activePixels: [] },\n { activePixels: [BL] },\n { activePixels: [BL, ML] },\n { activePixels: [BL, ML, MC] },\n { activePixels: [BL, ML, MC] },\n { activePixels: [ML, MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n \"L-br\": {\n name: \"L Bottom-Right\",\n description: \"L shape in bottom-right corner\",\n frames: [\n { activePixels: [] },\n { activePixels: [BR] },\n { activePixels: [BR, MR] },\n { activePixels: [BR, MR, MC] },\n { activePixels: [BR, MR, MC] },\n { activePixels: [MR, MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n\n // T-shape patterns\n \"T-top\": {\n name: \"T Top\",\n description: \"T shape pointing down\",\n frames: [\n { activePixels: [] },\n { activePixels: [TC] },\n { activePixels: [TL, TC, TR] },\n { activePixels: [TL, TC, TR, MC] },\n { activePixels: [TL, TC, TR, MC] },\n { activePixels: [TC, MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n \"T-bot\": {\n name: \"T Bottom\",\n description: \"T shape pointing up\",\n frames: [\n { activePixels: [] },\n { activePixels: [BC] },\n { activePixels: [BL, BC, BR] },\n { activePixels: [BL, BC, BR, MC] },\n { activePixels: [BL, BC, BR, MC] },\n { activePixels: [BC, MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n \"T-left\": {\n name: \"T Left\",\n description: \"T shape pointing right\",\n frames: [\n { activePixels: [] },\n { activePixels: [ML] },\n { activePixels: [TL, ML, BL] },\n { activePixels: [TL, ML, BL, MC] },\n { activePixels: [TL, ML, BL, MC] },\n { activePixels: [ML, MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n \"T-right\": {\n name: \"T Right\",\n description: \"T shape pointing left\",\n frames: [\n { activePixels: [] },\n { activePixels: [MR] },\n { activePixels: [TR, MR, BR] },\n { activePixels: [TR, MR, BR, MC] },\n { activePixels: [TR, MR, BR, MC] },\n { activePixels: [MR, MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n\n // Duo patterns\n \"duo-h\": {\n name: \"Duo Horizontal\",\n description: \"Two horizontal pixels pulse\",\n frames: [\n { activePixels: [] },\n { activePixels: [ML] },\n { activePixels: [ML, MR] },\n { activePixels: [ML, MR] },\n { activePixels: [MR] },\n { activePixels: [] },\n ],\n },\n \"duo-v\": {\n name: \"Duo Vertical\",\n description: \"Two vertical pixels pulse\",\n frames: [\n { activePixels: [] },\n { activePixels: [TC] },\n { activePixels: [TC, BC] },\n { activePixels: [TC, BC] },\n { activePixels: [BC] },\n { activePixels: [] },\n ],\n },\n \"duo-diag\": {\n name: \"Duo Diagonal\",\n description: \"Diagonal pair pulses\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, BR] },\n { activePixels: [TL, BR] },\n { activePixels: [BR] },\n { activePixels: [] },\n ],\n },\n\n // Frame patterns\n frame: {\n name: \"Frame\",\n description: \"Outer pixels light up clockwise\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, TC] },\n { activePixels: [TC, TR] },\n { activePixels: [TR, MR] },\n { activePixels: [MR, BR] },\n { activePixels: [BR, BC] },\n { activePixels: [BC, BL] },\n { activePixels: [BL, ML] },\n { activePixels: [ML, TL] },\n { activePixels: [TL] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n \"frame-sync\": {\n name: \"Frame Sync\",\n description: \"All outer pixels pulse together\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, TC, TR, ML, MR, BL, BC, BR] },\n { activePixels: [TL, TC, TR, ML, MR, BL, BC, BR] },\n { activePixels: [] },\n ],\n },\n\n // Plus pattern\n \"plus-hollow\": {\n name: \"Plus\",\n description: \"Plus/cross shape lights up\",\n frames: [\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [TC, MC, BC] },\n { activePixels: [TC, ML, MC, MR, BC] },\n { activePixels: [TC, ML, MC, MR, BC] },\n { activePixels: [TC, MC, BC] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n\n // Sparse patterns\n \"sparse-1\": {\n name: \"Sparse 1\",\n description: \"Scattered pattern variation 1\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, MR] },\n { activePixels: [TL, MR, BC] },\n { activePixels: [TL, MR, BC] },\n { activePixels: [MR, BC] },\n { activePixels: [BC] },\n { activePixels: [] },\n ],\n },\n \"sparse-2\": {\n name: \"Sparse 2\",\n description: \"Scattered pattern variation 2\",\n frames: [\n { activePixels: [] },\n { activePixels: [TC] },\n { activePixels: [TC, BL] },\n { activePixels: [TC, BL, BR] },\n { activePixels: [TC, BL, BR] },\n { activePixels: [BL, BR] },\n { activePixels: [BR] },\n { activePixels: [] },\n ],\n },\n \"sparse-3\": {\n name: \"Sparse 3\",\n description: \"Scattered pattern variation 3\",\n frames: [\n { activePixels: [] },\n { activePixels: [TR] },\n { activePixels: [TR, ML] },\n { activePixels: [TR, ML, BL] },\n { activePixels: [TR, ML, BL] },\n { activePixels: [ML, BL] },\n { activePixels: [BL] },\n { activePixels: [] },\n ],\n },\n};\n\n// Export all pattern names for use in showcase\nexport const patternNames = Object.keys(patterns) as PatternType[];\n\n// Group patterns by category for organized display\nexport const patternCategories: Record<string, PatternType[]> = {\n Solo: [\"solo-center\", \"solo-tl\", \"solo-br\"],\n \"Horizontal Lines\": [\"line-h-top\", \"line-h-mid\", \"line-h-bot\"],\n \"Vertical Lines\": [\"line-v-left\", \"line-v-mid\", \"line-v-right\"],\n \"Diagonal Lines\": [\"line-diag-1\", \"line-diag-2\"],\n Corners: [\"corners-sync\", \"corners-only\"],\n \"L-Shapes\": [\"L-tl\", \"L-tr\", \"L-bl\", \"L-br\"],\n \"T-Shapes\": [\"T-top\", \"T-bot\", \"T-left\", \"T-right\"],\n Duos: [\"duo-h\", \"duo-v\", \"duo-diag\"],\n Frame: [\"frame\", \"frame-sync\"],\n Plus: [\"plus-hollow\"],\n Sparse: [\"sparse-1\", \"sparse-2\", \"sparse-3\"],\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { patterns, type PatternType } from \"./patterns\";\n\nexport type PixelGridColor = \"blue\" | \"pink\" | \"green\";\nexport type PixelGridSpeed = \"slow\" | \"normal\" | \"fast\";\nexport type PixelGridSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface PixelGridProps {\n /** The animation pattern to display */\n pattern: PatternType;\n /** Color theme - blue/cyan or pink/coral or green */\n color?: PixelGridColor;\n /** Animation speed */\n speed?: PixelGridSpeed;\n /** Grid size */\n size?: PixelGridSize;\n /** Pause the animation */\n paused?: boolean;\n /** Additional className for the container */\n className?: string;\n /** Show pattern label below the grid */\n showLabel?: boolean;\n}\n\nconst speedMap: Record<PixelGridSpeed, number> = {\n slow: 2000,\n normal: 1500,\n fast: 1000,\n};\n\nconst sizeMap: Record<PixelGridSize, { pixel: number; gap: number }> = {\n sm: { pixel: 6, gap: 2 },\n md: { pixel: 10, gap: 3 },\n lg: { pixel: 14, gap: 4 },\n};\n\nexport function PixelGrid({\n pattern,\n color = \"green\",\n speed = \"normal\",\n size = \"md\",\n paused = false,\n className,\n showLabel = false,\n}: PixelGridProps) {\n const [currentFrame, setCurrentFrame] = React.useState(0);\n const [activePixels, setActivePixels] = React.useState<Set<number>>(\n new Set()\n );\n\n const patternDef = patterns[pattern];\n const cycleDuration = patternDef.cycleDuration ?? speedMap[speed];\n const frameDuration = cycleDuration / patternDef.frames.length;\n\n // Animation loop\n React.useEffect(() => {\n if (paused) return;\n\n const interval = setInterval(() => {\n setCurrentFrame((prev) => (prev + 1) % patternDef.frames.length);\n }, frameDuration);\n\n return () => clearInterval(interval);\n }, [paused, frameDuration, patternDef.frames.length]);\n\n // Update active pixels when frame changes\n React.useEffect(() => {\n const frame = patternDef.frames[currentFrame];\n setActivePixels(new Set(frame.activePixels));\n }, [currentFrame, patternDef.frames]);\n\n const { pixel: pixelSize, gap } = sizeMap[size];\n const gridSize = pixelSize * 3 + gap * 2;\n\n return (\n <div className={cn(\"pixel-grid-wrapper\", className)}>\n <div\n className={cn(\"pixel-grid-container\", `pixel-grid-${color}`)}\n style={{\n width: gridSize,\n height: gridSize,\n gap: gap,\n [\"--pixel-size\" as string]: `${pixelSize}px`,\n }}\n role=\"img\"\n aria-label={`Animated pixel grid: ${patternDef.name}`}\n >\n {Array.from({ length: 9 }, (_, index) => (\n <div\n key={index}\n className={cn(\"pixel-grid-pixel\", {\n \"pixel-active\": activePixels.has(index),\n })}\n style={{\n width: pixelSize,\n height: pixelSize,\n }}\n />\n ))}\n </div>\n {showLabel && (\n <span className=\"pixel-grid-label font-mono\">{pattern}</span>\n )}\n </div>\n );\n}\n\nPixelGrid.displayName = \"PixelGrid\";\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { PixelGrid, type PixelGridColor, type PixelGridSize } from \"./pixel-grid\";\nimport { patternCategories, type PatternType } from \"./patterns\";\n\nexport interface PixelGridShowcaseProps {\n /** Color theme for all grids */\n color?: PixelGridColor;\n /** Size for all grids */\n size?: PixelGridSize;\n /** Show category headers */\n showCategories?: boolean;\n /** Filter to specific categories */\n categories?: string[];\n /** Additional className */\n className?: string;\n}\n\nexport function PixelGridShowcase({\n color = \"green\",\n size = \"md\",\n showCategories = true,\n categories,\n className,\n}: PixelGridShowcaseProps) {\n const filteredCategories = categories\n ? Object.entries(patternCategories).filter(([cat]) => categories.includes(cat))\n : Object.entries(patternCategories);\n\n return (\n <div className={cn(\"pixel-grid-showcase\", className)}>\n {showCategories ? (\n <div className=\"space-y-8\">\n {filteredCategories.map(([category, patterns]) => (\n <div key={category}>\n <h3 className=\"text-sm font-medium text-muted-foreground mb-4\">\n {category}\n </h3>\n <div className=\"flex flex-wrap gap-6\">\n {patterns.map((pattern) => (\n <PixelGrid\n key={pattern}\n pattern={pattern}\n color={color}\n size={size}\n showLabel\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n ) : (\n <div className=\"flex flex-wrap gap-6\">\n {filteredCategories.flatMap(([_, patterns]) =>\n patterns.map((pattern) => (\n <PixelGrid\n key={pattern}\n pattern={pattern}\n color={color}\n size={size}\n showLabel\n />\n ))\n )}\n </div>\n )}\n </div>\n );\n}\n\nPixelGridShowcase.displayName = \"PixelGridShowcase\";\n\n/**\n * A grid showing the same pattern in different colors\n */\nexport interface PixelGridColorComparisonProps {\n pattern: PatternType;\n size?: PixelGridSize;\n className?: string;\n}\n\nexport function PixelGridColorComparison({\n pattern,\n size = \"md\",\n className,\n}: PixelGridColorComparisonProps) {\n const colors: PixelGridColor[] = [\"blue\", \"pink\", \"green\"];\n\n return (\n <div className={cn(\"flex gap-6 items-center\", className)}>\n {colors.map((color) => (\n <div key={color} className=\"flex flex-col items-center gap-2\">\n <PixelGrid pattern={pattern} color={color} size={size} />\n <span className=\"text-xs text-muted-foreground font-mono\">{color}</span>\n </div>\n ))}\n </div>\n );\n}\n\nPixelGridColorComparison.displayName = \"PixelGridColorComparison\";\n\n/**\n * A grid showing the same pattern in different sizes\n */\nexport interface PixelGridSizeComparisonProps {\n pattern: PatternType;\n color?: PixelGridColor;\n className?: string;\n}\n\nexport function PixelGridSizeComparison({\n pattern,\n color = \"green\",\n className,\n}: PixelGridSizeComparisonProps) {\n const sizes: PixelGridSize[] = [\"sm\", \"md\", \"lg\"];\n\n return (\n <div className={cn(\"flex gap-6 items-end\", className)}>\n {sizes.map((size) => (\n <div key={size} className=\"flex flex-col items-center gap-2\">\n <PixelGrid pattern={pattern} color={color} size={size} />\n <span className=\"text-xs text-muted-foreground font-mono\">{size}</span>\n </div>\n ))}\n </div>\n );\n}\n\nPixelGridSizeComparison.displayName = \"PixelGridSizeComparison\";\n"]}