@sourceful-energy/ui 0.1.31 → 0.2.0

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.
@@ -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","../components/design-system-provider.tsx","../components/ui/pixel-grid/patterns.ts","../components/ui/pixel-grid/patterns-4x4.ts","../components/ui/pixel-grid/patterns-6x6.ts","../components/ui/pixel-grid/pixel-grid.tsx","../components/ui/pixel-grid/pixel-grid-showcase.tsx"],"names":["cn","inputs","twMerge","clsx","Accordion","AccordionItem","Ye","_a","ref","_b","className","props","__objRest","jsx","__spreadValues","AccordionTrigger","children","jsxs","__spreadProps","ChevronDown","AccordionContent","alertVariants","cva","Alert","Ze","variant","AlertTitle","AlertDescription","badgeVariants","Badge","rounded","buttonVariants","Button","$t","size","asChild","Slot","Card","ke","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","Checkbox","jt","Check","Dialog","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","ze","DialogContent","X","DialogHeader","DialogFooter","DialogTitle","DialogDescription","DropdownMenu","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuSub","DropdownMenuRadioGroup","DropdownMenuSubTrigger","xe","inset","ChevronRight","DropdownMenuSubContent","DropdownMenuContent","sideOffset","DropdownMenuItem","DropdownMenuCheckboxItem","checked","DropdownMenuRadioItem","Circle","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","Input","xi","type","labelVariants","Label","gi","Progress","hi","value","RadioGroup","ct","RadioGroupItem","ScrollArea","dt","ScrollBar","orientation","Select","SelectGroup","SelectValue","SelectTrigger","Se","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","SelectSeparator","Separator","Hi","decorative","Sheet","SheetTrigger","SheetClose","SheetPortal","SheetOverlay","We","sheetVariants","SheetContent","side","SheetHeader","SheetFooter","SheetTitle","SheetDescription","Skeleton","Slider","Vi","Switch","Ui","Table","be","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","Tabs","TabsList","je","TabsTrigger","TabsContent","Textarea","io","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","ao","SideMenuContext","ye","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","ne","breadcrumbs","showMobileMenu","onMobileMenuClick","leftContent","rightContent","Menu","crumb","index","TopMenuUser","name","email","avatarUrl","avatarContent","avatarClassName","open","setOpen","menuRef","handleClickOutside","event","TopMenuUserItem","icon","onClick","TopMenuUserSection","SimpleTabsContext","ae","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","DesignSystemContext","useDesignSystemTheme","ctx","useFontMode","useColorMode","useSpacingMode","useFocusMode","useAccessibility","useDesignSystem","DesignSystemProvider","defaultTheme","defaultFontMode","defaultColorMode","defaultSpacingMode","defaultFocusMode","storageKey","disableStorage","theme","setTheme","fontMode","setFontMode","colorMode","setColorMode","spacingMode","setSpacingMode","focusMode","setFocusMode","mounted","setMounted","stored","prefs","e","toIndex","x","y","TL","TC","TR","ML","MC","MR","BL","BC","BR","patterns","patternNames","patternCategories","T1","T2","L1","C1","C2","R1","L2","C3","C4","R2","B1","B2","row","_","col","outerFrame","innerFrame","center2x2","speedMap","sizeMap","getPatterns","dimension","PixelGrid","pattern","color","speed","animated","paused","showLabel","currentFrame","setCurrentFrame","Ge","activePixels","setActivePixels","patternDef","frameDuration","pixelCount","interval","prev","frame","fullFrame","max","pixelSize","gap","gridSize","getPatternCategories","PixelGridShowcase","showCategories","categories","filteredCategories","cat","category","PixelGridColorComparison","colors","PixelGridSizeComparison","sizes"],"mappings":"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","file":"index.mjs","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-red-700 bg-destructive/10 text-destructive dark:border-red-500 dark:bg-red-950 dark:text-red-200 [&>svg]:text-destructive dark:[&>svg]:text-red-400\",\n success:\n \"border-green-700 bg-sourceful-green-50 text-sourceful-green-900 dark:border-green-500 dark:bg-green-950 dark:text-green-200 [&>svg]:text-sourceful-green-600 dark:[&>svg]:text-green-400\",\n warning:\n \"border-yellow-600 bg-sourceful-yellow-50 text-sourceful-yellow-900 dark:border-yellow-500 dark:bg-yellow-950 dark:text-yellow-200 [&>svg]:text-yellow-600 dark:[&>svg]:text-yellow-400\",\n info: \"border-blue-700 bg-blue-50 text-blue-900 dark:border-blue-500 dark:bg-blue-950 dark:text-blue-200 [&>svg]:text-blue-600 dark:[&>svg]:text-blue-400\",\n energy:\n \"border-yellow-600 bg-sourceful-yellow-50 text-sourceful-gray-900 dark:border-yellow-400 dark:bg-yellow-950 dark:text-yellow-200 [&>svg]:text-yellow-600 dark:[&>svg]:text-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 - use semantic colors for accessibility\n energy:\n \"border-transparent bg-energy text-energy-foreground shadow hover:bg-energy/80\",\n success:\n \"border-transparent bg-success text-success-foreground shadow hover:bg-success/80\",\n warning:\n \"border-transparent bg-warning text-warning-foreground shadow hover:bg-warning/80\",\n info:\n \"border-transparent bg-info text-info-foreground shadow hover:bg-info/80\",\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","\"use client\";\n\nimport * as React from \"react\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport type Theme = \"base\" | \"elevated\" | (string & {});\nexport type FontMode = \"default\" | \"dyslexic\";\nexport type ColorMode =\n | \"default\"\n | \"deuteranopia\"\n | \"protanopia\"\n | \"tritanopia\"\n | \"achromatopsia\";\nexport type SpacingMode = \"default\" | \"comfortable\";\nexport type FocusMode = \"default\" | \"enhanced\";\n\ninterface DesignSystemContextValue {\n // Theme (developer choice)\n theme: Theme;\n setTheme: (theme: Theme) => void;\n // Accessibility modes (user choice)\n fontMode: FontMode;\n setFontMode: (mode: FontMode) => void;\n colorMode: ColorMode;\n setColorMode: (mode: ColorMode) => void;\n spacingMode: SpacingMode;\n setSpacingMode: (mode: SpacingMode) => void;\n focusMode: FocusMode;\n setFocusMode: (mode: FocusMode) => void;\n}\n\n// =============================================================================\n// CONTEXT\n// =============================================================================\n\nconst DesignSystemContext =\n React.createContext<DesignSystemContextValue | null>(null);\n\n// =============================================================================\n// HOOKS\n// =============================================================================\n\n/**\n * Hook to access and control the visual theme (base, elevated, etc.)\n * Theme is typically set by the developer at app initialization.\n */\nexport function useDesignSystemTheme() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\n \"useDesignSystemTheme must be used within DesignSystemProvider\"\n );\n }\n return { theme: ctx.theme, setTheme: ctx.setTheme };\n}\n\n/**\n * Hook to access and control dyslexic font mode.\n */\nexport function useFontMode() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useFontMode must be used within DesignSystemProvider\");\n }\n return { fontMode: ctx.fontMode, setFontMode: ctx.setFontMode };\n}\n\n/**\n * Hook to access and control color blind mode.\n */\nexport function useColorMode() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useColorMode must be used within DesignSystemProvider\");\n }\n return { colorMode: ctx.colorMode, setColorMode: ctx.setColorMode };\n}\n\n/**\n * Hook to access and control text spacing mode (WCAG 1.4.12).\n */\nexport function useSpacingMode() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useSpacingMode must be used within DesignSystemProvider\");\n }\n return { spacingMode: ctx.spacingMode, setSpacingMode: ctx.setSpacingMode };\n}\n\n/**\n * Hook to access and control enhanced focus mode (WCAG 2.4.7).\n */\nexport function useFocusMode() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useFocusMode must be used within DesignSystemProvider\");\n }\n return { focusMode: ctx.focusMode, setFocusMode: ctx.setFocusMode };\n}\n\n/**\n * Hook to access all accessibility settings at once.\n * Useful for building accessibility settings panels.\n */\nexport function useAccessibility() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useAccessibility must be used within DesignSystemProvider\");\n }\n return {\n fontMode: ctx.fontMode,\n setFontMode: ctx.setFontMode,\n colorMode: ctx.colorMode,\n setColorMode: ctx.setColorMode,\n spacingMode: ctx.spacingMode,\n setSpacingMode: ctx.setSpacingMode,\n focusMode: ctx.focusMode,\n setFocusMode: ctx.setFocusMode,\n };\n}\n\n/**\n * Hook to access the full design system context.\n */\nexport function useDesignSystem() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useDesignSystem must be used within DesignSystemProvider\");\n }\n return ctx;\n}\n\n// =============================================================================\n// PROVIDER\n// =============================================================================\n\nexport interface DesignSystemProviderProps {\n children: React.ReactNode;\n /**\n * Visual theme for the application.\n * Typically set by the developer at app initialization.\n * @default \"base\"\n */\n defaultTheme?: Theme;\n /**\n * Default font mode for accessibility.\n * @default \"default\"\n */\n defaultFontMode?: FontMode;\n /**\n * Default color mode for color blind users.\n * @default \"default\"\n */\n defaultColorMode?: ColorMode;\n /**\n * Default text spacing mode for readability.\n * @default \"default\"\n */\n defaultSpacingMode?: SpacingMode;\n /**\n * Default focus indicator mode for keyboard navigation.\n * @default \"default\"\n */\n defaultFocusMode?: FocusMode;\n /**\n * localStorage key for persisting user accessibility preferences.\n * Theme is NOT persisted (it's app config, not user preference).\n * @default \"sourceful-a11y\"\n */\n storageKey?: string;\n /**\n * Disable localStorage persistence (useful for testing).\n * @default false\n */\n disableStorage?: boolean;\n}\n\nexport function DesignSystemProvider({\n children,\n defaultTheme = \"base\",\n defaultFontMode = \"default\",\n defaultColorMode = \"default\",\n defaultSpacingMode = \"default\",\n defaultFocusMode = \"default\",\n storageKey = \"sourceful-a11y\",\n disableStorage = false,\n}: DesignSystemProviderProps) {\n // State\n const [theme, setTheme] = React.useState<Theme>(defaultTheme);\n const [fontMode, setFontMode] = React.useState<FontMode>(defaultFontMode);\n const [colorMode, setColorMode] = React.useState<ColorMode>(defaultColorMode);\n const [spacingMode, setSpacingMode] =\n React.useState<SpacingMode>(defaultSpacingMode);\n const [focusMode, setFocusMode] = React.useState<FocusMode>(defaultFocusMode);\n const [mounted, setMounted] = React.useState(false);\n\n // Load accessibility preferences from localStorage on mount\n React.useEffect(() => {\n setMounted(true);\n if (disableStorage || typeof window === \"undefined\") return;\n\n try {\n const stored = localStorage.getItem(storageKey);\n if (stored) {\n const prefs = JSON.parse(stored);\n if (prefs.fontMode) setFontMode(prefs.fontMode);\n if (prefs.colorMode) setColorMode(prefs.colorMode);\n if (prefs.spacingMode) setSpacingMode(prefs.spacingMode);\n if (prefs.focusMode) setFocusMode(prefs.focusMode);\n }\n } catch (e) {\n console.warn(\"Failed to load accessibility preferences:\", e);\n }\n }, [storageKey, disableStorage]);\n\n // Apply theme attribute\n React.useEffect(() => {\n if (!mounted) return;\n document.documentElement.setAttribute(\"data-theme\", theme);\n }, [theme, mounted]);\n\n // Apply font mode attribute\n React.useEffect(() => {\n if (!mounted) return;\n if (fontMode === \"default\") {\n document.documentElement.removeAttribute(\"data-font-mode\");\n } else {\n document.documentElement.setAttribute(\"data-font-mode\", fontMode);\n }\n }, [fontMode, mounted]);\n\n // Apply color mode attribute\n React.useEffect(() => {\n if (!mounted) return;\n if (colorMode === \"default\") {\n document.documentElement.removeAttribute(\"data-color-mode\");\n } else {\n document.documentElement.setAttribute(\"data-color-mode\", colorMode);\n }\n }, [colorMode, mounted]);\n\n // Apply spacing mode attribute\n React.useEffect(() => {\n if (!mounted) return;\n if (spacingMode === \"default\") {\n document.documentElement.removeAttribute(\"data-spacing\");\n } else {\n document.documentElement.setAttribute(\"data-spacing\", spacingMode);\n }\n }, [spacingMode, mounted]);\n\n // Apply focus mode attribute\n React.useEffect(() => {\n if (!mounted) return;\n if (focusMode === \"default\") {\n document.documentElement.removeAttribute(\"data-focus-mode\");\n } else {\n document.documentElement.setAttribute(\"data-focus-mode\", focusMode);\n }\n }, [focusMode, mounted]);\n\n // Persist accessibility preferences (NOT theme - that's app config)\n React.useEffect(() => {\n if (!mounted || disableStorage || typeof window === \"undefined\") return;\n\n try {\n localStorage.setItem(\n storageKey,\n JSON.stringify({ fontMode, colorMode, spacingMode, focusMode })\n );\n } catch (e) {\n console.warn(\"Failed to save accessibility preferences:\", e);\n }\n }, [fontMode, colorMode, spacingMode, focusMode, storageKey, mounted, disableStorage]);\n\n // Memoize context value to prevent unnecessary re-renders\n const value = React.useMemo(\n () => ({\n theme,\n setTheme,\n fontMode,\n setFontMode,\n colorMode,\n setColorMode,\n spacingMode,\n setSpacingMode,\n focusMode,\n setFocusMode,\n }),\n [theme, fontMode, colorMode, spacingMode, focusMode]\n );\n\n return (\n <DesignSystemContext.Provider value={value}>\n {children}\n </DesignSystemContext.Provider>\n );\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","/**\n * Pattern definitions for the 4x4 PixelGrid component.\n *\n * Grid position reference (4x4):\n * 0 1 2 3 (row 0)\n * 4 5 6 7 (row 1)\n * 8 9 10 11 (row 2)\n * 12 13 14 15 (row 3)\n */\n\n// Convert [x, y] coordinates to index\nconst toIndex = (x: number, y: number): number => y * 4 + x;\n\n// Define pixel positions\nconst TL = toIndex(0, 0); // 0\nconst T1 = toIndex(1, 0); // 1\nconst T2 = toIndex(2, 0); // 2\nconst TR = toIndex(3, 0); // 3\nconst L1 = toIndex(0, 1); // 4\nconst C1 = toIndex(1, 1); // 5\nconst C2 = toIndex(2, 1); // 6\nconst R1 = toIndex(3, 1); // 7\nconst L2 = toIndex(0, 2); // 8\nconst C3 = toIndex(1, 2); // 9\nconst C4 = toIndex(2, 2); // 10\nconst R2 = toIndex(3, 2); // 11\nconst BL = toIndex(0, 3); // 12\nconst B1 = toIndex(1, 3); // 13\nconst B2 = toIndex(2, 3); // 14\nconst BR = toIndex(3, 3); // 15\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 // Frame patterns\n | \"frame\"\n | \"frame-sync\"\n // Plus pattern\n | \"plus-hollow\"\n // Square patterns (4x4 specific)\n | \"square-inner\"\n | \"square-outer\"\n // Cross patterns\n | \"cross-full\"\n | \"cross-spin\";\n\nexport interface PatternFrame {\n activePixels: number[];\n duration?: number;\n}\n\nexport interface PatternDefinition {\n name: string;\n description: string;\n frames: PatternFrame[];\n cycleDuration?: number;\n}\n\nexport const patterns: Record<PatternType, PatternDefinition> = {\n // Solo patterns\n \"solo-center\": {\n name: \"Solo Center\",\n description: \"Center pixels pulse\",\n frames: [\n { activePixels: [] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [C1, C2, C3, C4] },\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, T1] },\n { activePixels: [TL, T1, T2] },\n { activePixels: [TL, T1, T2, TR] },\n { activePixels: [T1, T2, TR] },\n { activePixels: [T2, TR] },\n { activePixels: [TR] },\n { activePixels: [] },\n ],\n },\n \"line-h-mid\": {\n name: \"Horizontal Middle\",\n description: \"Middle rows light up left to right\",\n frames: [\n { activePixels: [] },\n { activePixels: [L1, L2] },\n { activePixels: [L1, L2, C1, C3] },\n { activePixels: [L1, L2, C1, C3, C2, C4] },\n { activePixels: [L1, L2, C1, C3, C2, C4, R1, R2] },\n { activePixels: [C1, C3, C2, C4, R1, R2] },\n { activePixels: [C2, C4, R1, R2] },\n { activePixels: [R1, R2] },\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, B1] },\n { activePixels: [BL, B1, B2] },\n { activePixels: [BL, B1, B2, BR] },\n { activePixels: [B1, B2, BR] },\n { activePixels: [B2, 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, L1] },\n { activePixels: [TL, L1, L2] },\n { activePixels: [TL, L1, L2, BL] },\n { activePixels: [L1, L2, BL] },\n { activePixels: [L2, BL] },\n { activePixels: [BL] },\n { activePixels: [] },\n ],\n },\n \"line-v-mid\": {\n name: \"Vertical Middle\",\n description: \"Middle columns light up top to bottom\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, T2] },\n { activePixels: [T1, T2, C1, C2] },\n { activePixels: [T1, T2, C1, C2, C3, C4] },\n { activePixels: [T1, T2, C1, C2, C3, C4, B1, B2] },\n { activePixels: [C1, C2, C3, C4, B1, B2] },\n { activePixels: [C3, C4, B1, B2] },\n { activePixels: [B1, B2] },\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, R1] },\n { activePixels: [TR, R1, R2] },\n { activePixels: [TR, R1, R2, BR] },\n { activePixels: [R1, R2, BR] },\n { activePixels: [R2, BR] },\n { activePixels: [BR] },\n { activePixels: [] },\n ],\n },\n\n // Diagonal patterns\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, C1] },\n { activePixels: [TL, C1, C4] },\n { activePixels: [TL, C1, C4, BR] },\n { activePixels: [C1, C4, BR] },\n { activePixels: [C4, 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, C2] },\n { activePixels: [TR, C2, C3] },\n { activePixels: [TR, C2, C3, BL] },\n { activePixels: [C2, C3, BL] },\n { activePixels: [C3, 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 // Frame patterns\n frame: {\n name: \"Frame\",\n description: \"Outer pixels light up clockwise\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, T1] },\n { activePixels: [T1, T2] },\n { activePixels: [T2, TR] },\n { activePixels: [TR, R1] },\n { activePixels: [R1, R2] },\n { activePixels: [R2, BR] },\n { activePixels: [BR, B2] },\n { activePixels: [B2, B1] },\n { activePixels: [B1, BL] },\n { activePixels: [BL, L2] },\n { activePixels: [L2, L1] },\n { activePixels: [L1, TL] },\n { activePixels: [TL] },\n { activePixels: [] },\n ],\n cycleDuration: 2500,\n },\n \"frame-sync\": {\n name: \"Frame Sync\",\n description: \"All outer pixels pulse together\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, T1, T2, TR, L1, R1, L2, R2, BL, B1, B2, BR] },\n { activePixels: [TL, T1, T2, TR, L1, R1, L2, R2, BL, B1, B2, 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: [C1, C2, C3, C4] },\n { activePixels: [T1, T2, C1, C2, C3, C4, B1, B2] },\n { activePixels: [T1, T2, L1, L2, C1, C2, C3, C4, R1, R2, B1, B2] },\n { activePixels: [T1, T2, L1, L2, C1, C2, C3, C4, R1, R2, B1, B2] },\n { activePixels: [T1, T2, C1, C2, C3, C4, B1, B2] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [] },\n ],\n },\n\n // Square patterns (4x4 specific)\n \"square-inner\": {\n name: \"Inner Square\",\n description: \"Inner 2x2 square pulses\",\n frames: [\n { activePixels: [] },\n { activePixels: [C1] },\n { activePixels: [C1, C2] },\n { activePixels: [C1, C2, C4] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [C2, C3, C4] },\n { activePixels: [C3, C4] },\n { activePixels: [C4] },\n { activePixels: [] },\n ],\n },\n \"square-outer\": {\n name: \"Outer Square\",\n description: \"Outer frame expands from center\",\n frames: [\n { activePixels: [] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [T1, T2, L1, C1, C2, R1, L2, C3, C4, R2, B1, B2] },\n { activePixels: [TL, T1, T2, TR, L1, R1, L2, R2, BL, B1, B2, BR] },\n { activePixels: [TL, T1, T2, TR, L1, R1, L2, R2, BL, B1, B2, BR] },\n { activePixels: [T1, T2, L1, C1, C2, R1, L2, C3, C4, R2, B1, B2] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [] },\n ],\n },\n\n // Cross patterns\n \"cross-full\": {\n name: \"Cross Full\",\n description: \"Full cross pattern\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, T2, C1, C2, C3, C4, B1, B2, L1, L2, R1, R2] },\n { activePixels: [T1, T2, C1, C2, C3, C4, B1, B2, L1, L2, R1, R2] },\n { activePixels: [] },\n ],\n },\n \"cross-spin\": {\n name: \"Cross Spin\",\n description: \"Cross pattern rotates\",\n frames: [\n { activePixels: [T1, T2, B1, B2] },\n { activePixels: [T1, T2, B1, B2, TR, BR] },\n { activePixels: [L1, L2, R1, R2] },\n { activePixels: [L1, L2, R1, R2, TL, BL] },\n { activePixels: [T1, T2, B1, B2] },\n ],\n cycleDuration: 2000,\n },\n};\n\nexport const patternNames = Object.keys(patterns) as PatternType[];\n\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 Frame: [\"frame\", \"frame-sync\"],\n Plus: [\"plus-hollow\"],\n Squares: [\"square-inner\", \"square-outer\"],\n Cross: [\"cross-full\", \"cross-spin\"],\n};\n","/**\n * Pattern definitions for the 6x6 PixelGrid component.\n *\n * Grid position reference (6x6):\n * 0 1 2 3 4 5 (row 0)\n * 6 7 8 9 10 11 (row 1)\n * 12 13 14 15 16 17 (row 2)\n * 18 19 20 21 22 23 (row 3)\n * 24 25 26 27 28 29 (row 4)\n * 30 31 32 33 34 35 (row 5)\n */\n\n// Convert [x, y] coordinates to index\nconst toIndex = (x: number, y: number): number => y * 6 + x;\n\n// Define corner positions\nconst TL = toIndex(0, 0); // 0\nconst TR = toIndex(5, 0); // 5\nconst BL = toIndex(0, 5); // 30\nconst BR = toIndex(5, 5); // 35\n\n// Row helpers\nconst row = (y: number) => Array.from({ length: 6 }, (_, x) => toIndex(x, y));\nconst col = (x: number) => Array.from({ length: 6 }, (_, y) => toIndex(x, y));\n\n// Get outer frame pixels\nconst outerFrame = [\n ...row(0), // top row\n ...row(5), // bottom row\n ...col(0).slice(1, 5), // left column (excluding corners)\n ...col(5).slice(1, 5), // right column (excluding corners)\n];\n\n// Get inner frame (1 pixel in)\nconst innerFrame = [\n toIndex(1, 1), toIndex(2, 1), toIndex(3, 1), toIndex(4, 1),\n toIndex(1, 4), toIndex(2, 4), toIndex(3, 4), toIndex(4, 4),\n toIndex(1, 2), toIndex(1, 3),\n toIndex(4, 2), toIndex(4, 3),\n];\n\n// Center 2x2\nconst center2x2 = [toIndex(2, 2), toIndex(3, 2), toIndex(2, 3), toIndex(3, 3)];\n\n// Center 4x4\nconst center4x4 = [\n toIndex(1, 1), toIndex(2, 1), toIndex(3, 1), toIndex(4, 1),\n toIndex(1, 2), toIndex(2, 2), toIndex(3, 2), toIndex(4, 2),\n toIndex(1, 3), toIndex(2, 3), toIndex(3, 3), toIndex(4, 3),\n toIndex(1, 4), toIndex(2, 4), toIndex(3, 4), toIndex(4, 4),\n];\n\nexport type PatternType =\n // Solo patterns\n | \"solo-center\"\n | \"solo-tl\"\n | \"solo-br\"\n // Line patterns\n | \"line-h-top\"\n | \"line-h-mid\"\n | \"line-h-bot\"\n | \"line-v-left\"\n | \"line-v-mid\"\n | \"line-v-right\"\n | \"line-diag-1\"\n | \"line-diag-2\"\n // Corner patterns\n | \"corners-sync\"\n | \"corners-only\"\n // Frame patterns\n | \"frame\"\n | \"frame-sync\"\n // Plus pattern\n | \"plus-hollow\"\n // 6x6 specific patterns\n | \"ripple\"\n | \"spiral\"\n | \"checkerboard\"\n | \"diamond\"\n | \"wave\";\n\nexport interface PatternFrame {\n activePixels: number[];\n duration?: number;\n}\n\nexport interface PatternDefinition {\n name: string;\n description: string;\n frames: PatternFrame[];\n cycleDuration?: number;\n}\n\nexport const patterns: Record<PatternType, PatternDefinition> = {\n // Solo patterns\n \"solo-center\": {\n name: \"Solo Center\",\n description: \"Center 2x2 pixels pulse\",\n frames: [\n { activePixels: [] },\n { activePixels: center2x2 },\n { activePixels: center2x2 },\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 // Horizontal lines\n \"line-h-top\": {\n name: \"Horizontal Top\",\n description: \"Top row lights up left to right\",\n frames: [\n { activePixels: [] },\n { activePixels: [0] },\n { activePixels: [0, 1] },\n { activePixels: [0, 1, 2] },\n { activePixels: [0, 1, 2, 3] },\n { activePixels: [0, 1, 2, 3, 4] },\n { activePixels: [0, 1, 2, 3, 4, 5] },\n { activePixels: [1, 2, 3, 4, 5] },\n { activePixels: [2, 3, 4, 5] },\n { activePixels: [3, 4, 5] },\n { activePixels: [4, 5] },\n { activePixels: [5] },\n { activePixels: [] },\n ],\n },\n \"line-h-mid\": {\n name: \"Horizontal Middle\",\n description: \"Middle rows light up\",\n frames: [\n { activePixels: [] },\n { activePixels: [12, 18] },\n { activePixels: [12, 13, 18, 19] },\n { activePixels: [12, 13, 14, 18, 19, 20] },\n { activePixels: [12, 13, 14, 15, 18, 19, 20, 21] },\n { activePixels: [12, 13, 14, 15, 16, 18, 19, 20, 21, 22] },\n { activePixels: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] },\n { activePixels: [13, 14, 15, 16, 17, 19, 20, 21, 22, 23] },\n { activePixels: [14, 15, 16, 17, 20, 21, 22, 23] },\n { activePixels: [15, 16, 17, 21, 22, 23] },\n { activePixels: [16, 17, 22, 23] },\n { activePixels: [17, 23] },\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: [30] },\n { activePixels: [30, 31] },\n { activePixels: [30, 31, 32] },\n { activePixels: [30, 31, 32, 33] },\n { activePixels: [30, 31, 32, 33, 34] },\n { activePixels: [30, 31, 32, 33, 34, 35] },\n { activePixels: [31, 32, 33, 34, 35] },\n { activePixels: [32, 33, 34, 35] },\n { activePixels: [33, 34, 35] },\n { activePixels: [34, 35] },\n { activePixels: [35] },\n { activePixels: [] },\n ],\n },\n\n // Vertical lines\n \"line-v-left\": {\n name: \"Vertical Left\",\n description: \"Left column lights up\",\n frames: [\n { activePixels: [] },\n { activePixels: [0] },\n { activePixels: [0, 6] },\n { activePixels: [0, 6, 12] },\n { activePixels: [0, 6, 12, 18] },\n { activePixels: [0, 6, 12, 18, 24] },\n { activePixels: [0, 6, 12, 18, 24, 30] },\n { activePixels: [6, 12, 18, 24, 30] },\n { activePixels: [12, 18, 24, 30] },\n { activePixels: [18, 24, 30] },\n { activePixels: [24, 30] },\n { activePixels: [30] },\n { activePixels: [] },\n ],\n },\n \"line-v-mid\": {\n name: \"Vertical Middle\",\n description: \"Middle columns light up\",\n frames: [\n { activePixels: [] },\n { activePixels: [2, 3] },\n { activePixels: [2, 3, 8, 9] },\n { activePixels: [2, 3, 8, 9, 14, 15] },\n { activePixels: [2, 3, 8, 9, 14, 15, 20, 21] },\n { activePixels: [2, 3, 8, 9, 14, 15, 20, 21, 26, 27] },\n { activePixels: [2, 3, 8, 9, 14, 15, 20, 21, 26, 27, 32, 33] },\n { activePixels: [8, 9, 14, 15, 20, 21, 26, 27, 32, 33] },\n { activePixels: [14, 15, 20, 21, 26, 27, 32, 33] },\n { activePixels: [20, 21, 26, 27, 32, 33] },\n { activePixels: [26, 27, 32, 33] },\n { activePixels: [32, 33] },\n { activePixels: [] },\n ],\n },\n \"line-v-right\": {\n name: \"Vertical Right\",\n description: \"Right column lights up\",\n frames: [\n { activePixels: [] },\n { activePixels: [5] },\n { activePixels: [5, 11] },\n { activePixels: [5, 11, 17] },\n { activePixels: [5, 11, 17, 23] },\n { activePixels: [5, 11, 17, 23, 29] },\n { activePixels: [5, 11, 17, 23, 29, 35] },\n { activePixels: [11, 17, 23, 29, 35] },\n { activePixels: [17, 23, 29, 35] },\n { activePixels: [23, 29, 35] },\n { activePixels: [29, 35] },\n { activePixels: [35] },\n { activePixels: [] },\n ],\n },\n\n // Diagonal lines\n \"line-diag-1\": {\n name: \"Diagonal TL-BR\",\n description: \"Diagonal from top-left to bottom-right\",\n frames: [\n { activePixels: [] },\n { activePixels: [0] },\n { activePixels: [0, 7] },\n { activePixels: [0, 7, 14] },\n { activePixels: [0, 7, 14, 21] },\n { activePixels: [0, 7, 14, 21, 28] },\n { activePixels: [0, 7, 14, 21, 28, 35] },\n { activePixels: [7, 14, 21, 28, 35] },\n { activePixels: [14, 21, 28, 35] },\n { activePixels: [21, 28, 35] },\n { activePixels: [28, 35] },\n { activePixels: [35] },\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: [5] },\n { activePixels: [5, 10] },\n { activePixels: [5, 10, 15] },\n { activePixels: [5, 10, 15, 20] },\n { activePixels: [5, 10, 15, 20, 25] },\n { activePixels: [5, 10, 15, 20, 25, 30] },\n { activePixels: [10, 15, 20, 25, 30] },\n { activePixels: [15, 20, 25, 30] },\n { activePixels: [20, 25, 30] },\n { activePixels: [25, 30] },\n { activePixels: [30] },\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 // Frame patterns\n frame: {\n name: \"Frame\",\n description: \"Outer pixels light up clockwise\",\n frames: [\n { activePixels: [] },\n { activePixels: [0] },\n { activePixels: [0, 1] },\n { activePixels: [1, 2] },\n { activePixels: [2, 3] },\n { activePixels: [3, 4] },\n { activePixels: [4, 5] },\n { activePixels: [5, 11] },\n { activePixels: [11, 17] },\n { activePixels: [17, 23] },\n { activePixels: [23, 29] },\n { activePixels: [29, 35] },\n { activePixels: [35, 34] },\n { activePixels: [34, 33] },\n { activePixels: [33, 32] },\n { activePixels: [32, 31] },\n { activePixels: [31, 30] },\n { activePixels: [30, 24] },\n { activePixels: [24, 18] },\n { activePixels: [18, 12] },\n { activePixels: [12, 6] },\n { activePixels: [6, 0] },\n { activePixels: [] },\n ],\n cycleDuration: 3000,\n },\n \"frame-sync\": {\n name: \"Frame Sync\",\n description: \"All outer pixels pulse together\",\n frames: [\n { activePixels: [] },\n { activePixels: outerFrame },\n { activePixels: outerFrame },\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: center2x2 },\n { activePixels: [...center2x2, 8, 9, 26, 27, 13, 16, 19, 22] },\n { activePixels: [...center2x2, 2, 3, 8, 9, 26, 27, 32, 33, 12, 17, 13, 16, 19, 22, 18, 23] },\n { activePixels: [...center2x2, 2, 3, 8, 9, 26, 27, 32, 33, 12, 17, 13, 16, 19, 22, 18, 23] },\n { activePixels: [...center2x2, 8, 9, 26, 27, 13, 16, 19, 22] },\n { activePixels: center2x2 },\n { activePixels: [] },\n ],\n },\n\n // 6x6 specific patterns\n ripple: {\n name: \"Ripple\",\n description: \"Expanding ripple from center\",\n frames: [\n { activePixels: [] },\n { activePixels: center2x2 },\n { activePixels: innerFrame },\n { activePixels: outerFrame },\n { activePixels: outerFrame },\n { activePixels: innerFrame },\n { activePixels: center2x2 },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n spiral: {\n name: \"Spiral\",\n description: \"Spiral from outside to center\",\n frames: [\n { activePixels: [] },\n { activePixels: [0] },\n { activePixels: [0, 1, 2, 3, 4, 5] },\n { activePixels: [0, 1, 2, 3, 4, 5, 11, 17, 23, 29, 35] },\n { activePixels: [0, 1, 2, 3, 4, 5, 11, 17, 23, 29, 35, 34, 33, 32, 31, 30] },\n { activePixels: [0, 1, 2, 3, 4, 5, 11, 17, 23, 29, 35, 34, 33, 32, 31, 30, 24, 18, 12, 6] },\n { activePixels: [7, 8, 9, 10, 16, 22, 28, 27, 26, 25, 19, 13] },\n { activePixels: [14, 15, 21, 20] },\n { activePixels: [14, 15, 21, 20] },\n { activePixels: [] },\n ],\n cycleDuration: 3000,\n },\n\n checkerboard: {\n name: \"Checkerboard\",\n description: \"Alternating checkerboard pattern\",\n frames: [\n { activePixels: [] },\n { activePixels: [0, 2, 4, 7, 9, 11, 12, 14, 16, 19, 21, 23, 24, 26, 28, 31, 33, 35] },\n { activePixels: [0, 2, 4, 7, 9, 11, 12, 14, 16, 19, 21, 23, 24, 26, 28, 31, 33, 35] },\n { activePixels: [1, 3, 5, 6, 8, 10, 13, 15, 17, 18, 20, 22, 25, 27, 29, 30, 32, 34] },\n { activePixels: [1, 3, 5, 6, 8, 10, 13, 15, 17, 18, 20, 22, 25, 27, 29, 30, 32, 34] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n diamond: {\n name: \"Diamond\",\n description: \"Diamond shape expands\",\n frames: [\n { activePixels: [] },\n { activePixels: center2x2 },\n { activePixels: [8, 9, 13, 16, 19, 22, 26, 27] },\n { activePixels: [2, 3, 7, 10, 12, 17, 18, 23, 25, 28, 32, 33] },\n { activePixels: [2, 3, 7, 10, 12, 17, 18, 23, 25, 28, 32, 33] },\n { activePixels: [8, 9, 13, 16, 19, 22, 26, 27] },\n { activePixels: center2x2 },\n { activePixels: [] },\n ],\n },\n\n wave: {\n name: \"Wave\",\n description: \"Wave moving across grid\",\n frames: [\n { activePixels: [0, 6, 12, 18, 24, 30] },\n { activePixels: [0, 1, 6, 7, 12, 13, 18, 19, 24, 25, 30, 31] },\n { activePixels: [1, 2, 7, 8, 13, 14, 19, 20, 25, 26, 31, 32] },\n { activePixels: [2, 3, 8, 9, 14, 15, 20, 21, 26, 27, 32, 33] },\n { activePixels: [3, 4, 9, 10, 15, 16, 21, 22, 27, 28, 33, 34] },\n { activePixels: [4, 5, 10, 11, 16, 17, 22, 23, 28, 29, 34, 35] },\n { activePixels: [5, 11, 17, 23, 29, 35] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n};\n\nexport const patternNames = Object.keys(patterns) as PatternType[];\n\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 Frame: [\"frame\", \"frame-sync\"],\n Plus: [\"plus-hollow\"],\n \"6x6 Special\": [\"ripple\", \"spiral\", \"checkerboard\", \"diamond\", \"wave\"],\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { patterns as patterns3x3, type PatternType as PatternType3x3 } from \"./patterns\";\nimport { patterns as patterns4x4, type PatternType as PatternType4x4 } from \"./patterns-4x4\";\nimport { patterns as patterns6x6, type PatternType as PatternType6x6 } from \"./patterns-6x6\";\n\nexport type PixelGridColor = \"blue\" | \"pink\" | \"green\";\nexport type PixelGridSpeed = \"slow\" | \"normal\" | \"fast\";\nexport type PixelGridSize = \"sm\" | \"md\" | \"lg\";\nexport type PixelGridDimension = 3 | 4 | 6;\n\n// Re-export pattern types for external use\nexport type { PatternType3x3, PatternType4x4, PatternType6x6 };\nexport type PatternType = PatternType3x3 | PatternType4x4 | PatternType6x6;\n\nexport interface PixelGridProps {\n /** The animation pattern to display */\n pattern: PatternType;\n /** Grid dimension - 3x3, 4x4, or 6x6 */\n dimension?: PixelGridDimension;\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 /** Whether to animate (false = static display) */\n animated?: boolean;\n /** Pause the animation (only applies when animated=true) */\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\n// Get patterns based on dimension\nfunction getPatterns(dimension: PixelGridDimension) {\n switch (dimension) {\n case 4:\n return patterns4x4;\n case 6:\n return patterns6x6;\n default:\n return patterns3x3;\n }\n}\n\nexport function PixelGrid({\n pattern,\n dimension = 3,\n color = \"green\",\n speed = \"normal\",\n size = \"md\",\n animated = true,\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 patternsForDimension = getPatterns(dimension);\n const patternDef = patternsForDimension[pattern as keyof typeof patternsForDimension];\n\n // Fallback if pattern doesn't exist for this dimension\n if (!patternDef) {\n console.warn(`Pattern \"${pattern}\" not found for ${dimension}x${dimension} grid`);\n return null;\n }\n\n const cycleDuration = patternDef.cycleDuration ?? speedMap[speed];\n const frameDuration = cycleDuration / patternDef.frames.length;\n const pixelCount = dimension * dimension;\n\n // Animation loop\n React.useEffect(() => {\n if (!animated || paused) return;\n\n const interval = setInterval(() => {\n setCurrentFrame((prev) => (prev + 1) % patternDef.frames.length);\n }, frameDuration);\n\n return () => clearInterval(interval);\n }, [animated, paused, frameDuration, patternDef.frames.length]);\n\n // Update active pixels when frame changes or for static display\n React.useEffect(() => {\n if (animated) {\n const frame = patternDef.frames[currentFrame];\n setActivePixels(new Set(frame.activePixels));\n } else {\n // Static: show the \"full\" frame (frame with most active pixels)\n const fullFrame = patternDef.frames.reduce((max, frame) =>\n frame.activePixels.length > max.activePixels.length ? frame : max\n );\n setActivePixels(new Set(fullFrame.activePixels));\n }\n }, [animated, currentFrame, patternDef.frames]);\n\n const { pixel: pixelSize, gap } = sizeMap[size];\n const gridSize = pixelSize * dimension + gap * (dimension - 1);\n\n return (\n <div className={cn(\"pixel-grid-wrapper\", className)}>\n <div\n className={cn(\"pixel-grid-container\", `pixel-grid-${color}`, `pixel-grid-${dimension}x${dimension}`)}\n style={{\n width: gridSize,\n height: gridSize,\n gap: gap,\n gridTemplateColumns: `repeat(${dimension}, 1fr)`,\n [\"--pixel-size\" as string]: `${pixelSize}px`,\n }}\n role=\"img\"\n aria-label={`${animated ? \"Animated\" : \"Static\"} pixel grid: ${patternDef.name}`}\n >\n {Array.from({ length: pixelCount }, (_, 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, type PixelGridDimension } from \"./pixel-grid\";\nimport { patternCategories as patternCategories3x3, type PatternType as PatternType3x3 } from \"./patterns\";\nimport { patternCategories as patternCategories4x4, type PatternType as PatternType4x4 } from \"./patterns-4x4\";\nimport { patternCategories as patternCategories6x6, type PatternType as PatternType6x6 } from \"./patterns-6x6\";\n\ntype PatternType = PatternType3x3 | PatternType4x4 | PatternType6x6;\n\n// Get pattern categories based on dimension\nfunction getPatternCategories(dimension: PixelGridDimension): Record<string, string[]> {\n switch (dimension) {\n case 4:\n return patternCategories4x4 as Record<string, string[]>;\n case 6:\n return patternCategories6x6 as Record<string, string[]>;\n default:\n return patternCategories3x3 as Record<string, string[]>;\n }\n}\n\nexport interface PixelGridShowcaseProps {\n /** Grid dimension - 3x3, 4x4, or 6x6 */\n dimension?: PixelGridDimension;\n /** Color theme for all grids */\n color?: PixelGridColor;\n /** Size for all grids */\n size?: PixelGridSize;\n /** Whether to animate (false = static display) */\n animated?: boolean;\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 dimension = 3,\n color = \"green\",\n size = \"md\",\n animated = true,\n showCategories = true,\n categories,\n className,\n}: PixelGridShowcaseProps) {\n const patternCategories = getPatternCategories(dimension);\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 as PatternType}\n dimension={dimension}\n color={color}\n size={size}\n animated={animated}\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 as PatternType}\n dimension={dimension}\n color={color}\n size={size}\n animated={animated}\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 dimension?: PixelGridDimension;\n size?: PixelGridSize;\n animated?: boolean;\n className?: string;\n}\n\nexport function PixelGridColorComparison({\n pattern,\n dimension = 3,\n size = \"md\",\n animated = true,\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} dimension={dimension} color={color} size={size} animated={animated} />\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 dimension?: PixelGridDimension;\n color?: PixelGridColor;\n animated?: boolean;\n className?: string;\n}\n\nexport function PixelGridSizeComparison({\n pattern,\n dimension = 3,\n color = \"green\",\n animated = true,\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} dimension={dimension} color={color} size={size} animated={animated} />\n <span className=\"text-xs text-muted-foreground font-mono\">{size}</span>\n </div>\n ))}\n </div>\n );\n}\n\nPixelGridSizeComparison.displayName = \"PixelGridSizeComparison\";\n\n/**\n * A grid showing the same pattern in different dimensions\n */\nexport interface PixelGridDimensionComparisonProps {\n /** Common pattern name that exists in all dimensions (e.g., \"solo-center\", \"corners-sync\") */\n pattern: \"solo-center\" | \"solo-tl\" | \"solo-br\" | \"corners-sync\" | \"corners-only\" | \"frame\" | \"frame-sync\" | \"plus-hollow\";\n color?: PixelGridColor;\n size?: PixelGridSize;\n animated?: boolean;\n className?: string;\n}\n\nexport function PixelGridDimensionComparison({\n pattern,\n color = \"green\",\n size = \"md\",\n animated = true,\n className,\n}: PixelGridDimensionComparisonProps) {\n const dimensions: PixelGridDimension[] = [3, 4, 6];\n\n return (\n <div className={cn(\"flex gap-6 items-end\", className)}>\n {dimensions.map((dimension) => (\n <div key={dimension} className=\"flex flex-col items-center gap-2\">\n <PixelGrid pattern={pattern} dimension={dimension} color={color} size={size} animated={animated} />\n <span className=\"text-xs text-muted-foreground font-mono\">{dimension}x{dimension}</span>\n </div>\n ))}\n </div>\n );\n}\n\nPixelGridDimensionComparison.displayName = \"PixelGridDimensionComparison\";\n"]}
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","../components/design-system-provider.tsx","../components/ui/pixel-grid/patterns.ts","../components/ui/pixel-grid/patterns-4x4.ts","../components/ui/pixel-grid/patterns-5x5.ts","../components/ui/pixel-grid/patterns-6x6.ts","../components/ui/pixel-grid/patterns-zap.ts","../components/ui/pixel-grid/pixel-grid.tsx","../components/ui/pixel-grid/pixel-grid-showcase.tsx"],"names":["cn","inputs","twMerge","clsx","Accordion","AccordionItem","Qi","_a","ref","_b","className","props","__objRest","jsx","__spreadValues","AccordionTrigger","children","jsxs","__spreadProps","ChevronDown","AccordionContent","alertVariants","cva","Alert","ji","variant","AlertTitle","AlertDescription","badgeVariants","Badge","rounded","buttonVariants","Button","_t","size","asChild","Slot","Card","Mi","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","Checkbox","ia","Check","Dialog","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","Ii","DialogContent","X","DialogHeader","DialogFooter","DialogTitle","DialogDescription","DropdownMenu","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuSub","DropdownMenuRadioGroup","DropdownMenuSubTrigger","fi","inset","ChevronRight","DropdownMenuSubContent","DropdownMenuContent","sideOffset","DropdownMenuItem","DropdownMenuCheckboxItem","checked","DropdownMenuRadioItem","Circle","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","Input","ga","type","labelVariants","Label","ya","Progress","wa","value","RadioGroup","ct","RadioGroupItem","ScrollArea","pt","ScrollBar","orientation","Select","SelectGroup","SelectValue","SelectTrigger","Si","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","SelectSeparator","Separator","Ha","decorative","Sheet","Ge","SheetTrigger","SheetClose","SheetPortal","SheetOverlay","Wi","sheetVariants","SheetContent","side","SheetHeader","SheetFooter","SheetTitle","SheetDescription","Skeleton","Slider","Oa","Switch","$a","Table","bi","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","Tabs","TabsList","Ki","TabsTrigger","TabsContent","Textarea","oo","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","lo","SideMenuContext","yi","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","si","breadcrumbs","showMobileMenu","onMobileMenuClick","leftContent","rightContent","Menu","crumb","index","TopMenuUser","name","email","avatarUrl","avatarContent","avatarClassName","open","setOpen","menuRef","handleClickOutside","event","TopMenuUserItem","icon","onClick","TopMenuUserSection","SimpleTabsContext","oi","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","DesignSystemContext","useDesignSystemTheme","ctx","useFontMode","useColorMode","useSpacingMode","useFocusMode","useAccessibility","useDesignSystem","DesignSystemProvider","defaultTheme","defaultFontMode","defaultColorMode","defaultSpacingMode","defaultFocusMode","storageKey","disableStorage","theme","setTheme","fontMode","setFontMode","colorMode","setColorMode","spacingMode","setSpacingMode","focusMode","setFocusMode","mounted","setMounted","stored","prefs","e","toIndex","x","y","TL","TC","TR","ML","MC","MR","BL","BC","BR","patterns","patternNames","patternCategories","T1","T2","L1","C1","C2","R1","L2","C3","C4","R2","B1","B2","T3","R11","R12","R13","M1","M3","L3","R31","R32","R33","R3","B3","row","_","col","outerFrame","innerFrame","center2x2","ALL","FRAME","zapPatterns","speedMap","sizeMap","getPatterns","dimension","PixelGrid","pattern","color","speed","animated","paused","showLabel","currentFrame","setCurrentFrame","Ei","activePixels","setActivePixels","patternDef","frameDuration","pixelCount","interval","prev","frame","fullFrame","max","pixelSize","gap","gridSize","getPatternCategories","PixelGridShowcase","showCategories","categories","filteredCategories","cat","category","PixelGridColorComparison","colors","PixelGridSizeComparison","sizes"],"mappings":"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","file":"index.mjs","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-red-700 bg-destructive/10 text-destructive dark:border-red-500 dark:bg-red-950 dark:text-red-200 [&>svg]:text-destructive dark:[&>svg]:text-red-400\",\n success:\n \"border-green-700 bg-sourceful-green-50 text-sourceful-green-900 dark:border-green-500 dark:bg-green-950 dark:text-green-200 [&>svg]:text-sourceful-green-600 dark:[&>svg]:text-green-400\",\n warning:\n \"border-yellow-600 bg-sourceful-yellow-50 text-sourceful-yellow-900 dark:border-yellow-500 dark:bg-yellow-950 dark:text-yellow-200 [&>svg]:text-yellow-600 dark:[&>svg]:text-yellow-400\",\n info: \"border-blue-700 bg-blue-50 text-blue-900 dark:border-blue-500 dark:bg-blue-950 dark:text-blue-200 [&>svg]:text-blue-600 dark:[&>svg]:text-blue-400\",\n energy:\n \"border-yellow-600 bg-sourceful-yellow-50 text-sourceful-gray-900 dark:border-yellow-400 dark:bg-yellow-950 dark:text-yellow-200 [&>svg]:text-yellow-600 dark:[&>svg]:text-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 - use semantic colors for accessibility\n energy:\n \"border-transparent bg-energy text-energy-foreground shadow hover:bg-energy/80\",\n success:\n \"border-transparent bg-success text-success-foreground shadow hover:bg-success/80\",\n warning:\n \"border-transparent bg-warning text-warning-foreground shadow hover:bg-warning/80\",\n info:\n \"border-transparent bg-info text-info-foreground shadow hover:bg-info/80\",\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","\"use client\";\n\nimport * as React from \"react\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport type Theme = \"base\" | \"elevated\" | (string & {});\nexport type FontMode = \"default\" | \"dyslexic\";\nexport type ColorMode =\n | \"default\"\n | \"deuteranopia\"\n | \"protanopia\"\n | \"tritanopia\"\n | \"achromatopsia\";\nexport type SpacingMode = \"default\" | \"comfortable\";\nexport type FocusMode = \"default\" | \"enhanced\";\n\ninterface DesignSystemContextValue {\n // Theme (developer choice)\n theme: Theme;\n setTheme: (theme: Theme) => void;\n // Accessibility modes (user choice)\n fontMode: FontMode;\n setFontMode: (mode: FontMode) => void;\n colorMode: ColorMode;\n setColorMode: (mode: ColorMode) => void;\n spacingMode: SpacingMode;\n setSpacingMode: (mode: SpacingMode) => void;\n focusMode: FocusMode;\n setFocusMode: (mode: FocusMode) => void;\n}\n\n// =============================================================================\n// CONTEXT\n// =============================================================================\n\nconst DesignSystemContext =\n React.createContext<DesignSystemContextValue | null>(null);\n\n// =============================================================================\n// HOOKS\n// =============================================================================\n\n/**\n * Hook to access and control the visual theme (base, elevated, etc.)\n * Theme is typically set by the developer at app initialization.\n */\nexport function useDesignSystemTheme() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\n \"useDesignSystemTheme must be used within DesignSystemProvider\"\n );\n }\n return { theme: ctx.theme, setTheme: ctx.setTheme };\n}\n\n/**\n * Hook to access and control dyslexic font mode.\n */\nexport function useFontMode() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useFontMode must be used within DesignSystemProvider\");\n }\n return { fontMode: ctx.fontMode, setFontMode: ctx.setFontMode };\n}\n\n/**\n * Hook to access and control color blind mode.\n */\nexport function useColorMode() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useColorMode must be used within DesignSystemProvider\");\n }\n return { colorMode: ctx.colorMode, setColorMode: ctx.setColorMode };\n}\n\n/**\n * Hook to access and control text spacing mode (WCAG 1.4.12).\n */\nexport function useSpacingMode() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useSpacingMode must be used within DesignSystemProvider\");\n }\n return { spacingMode: ctx.spacingMode, setSpacingMode: ctx.setSpacingMode };\n}\n\n/**\n * Hook to access and control enhanced focus mode (WCAG 2.4.7).\n */\nexport function useFocusMode() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useFocusMode must be used within DesignSystemProvider\");\n }\n return { focusMode: ctx.focusMode, setFocusMode: ctx.setFocusMode };\n}\n\n/**\n * Hook to access all accessibility settings at once.\n * Useful for building accessibility settings panels.\n */\nexport function useAccessibility() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useAccessibility must be used within DesignSystemProvider\");\n }\n return {\n fontMode: ctx.fontMode,\n setFontMode: ctx.setFontMode,\n colorMode: ctx.colorMode,\n setColorMode: ctx.setColorMode,\n spacingMode: ctx.spacingMode,\n setSpacingMode: ctx.setSpacingMode,\n focusMode: ctx.focusMode,\n setFocusMode: ctx.setFocusMode,\n };\n}\n\n/**\n * Hook to access the full design system context.\n */\nexport function useDesignSystem() {\n const ctx = React.useContext(DesignSystemContext);\n if (!ctx) {\n throw new Error(\"useDesignSystem must be used within DesignSystemProvider\");\n }\n return ctx;\n}\n\n// =============================================================================\n// PROVIDER\n// =============================================================================\n\nexport interface DesignSystemProviderProps {\n children: React.ReactNode;\n /**\n * Visual theme for the application.\n * Typically set by the developer at app initialization.\n * @default \"base\"\n */\n defaultTheme?: Theme;\n /**\n * Default font mode for accessibility.\n * @default \"default\"\n */\n defaultFontMode?: FontMode;\n /**\n * Default color mode for color blind users.\n * @default \"default\"\n */\n defaultColorMode?: ColorMode;\n /**\n * Default text spacing mode for readability.\n * @default \"default\"\n */\n defaultSpacingMode?: SpacingMode;\n /**\n * Default focus indicator mode for keyboard navigation.\n * @default \"default\"\n */\n defaultFocusMode?: FocusMode;\n /**\n * localStorage key for persisting user accessibility preferences.\n * Theme is NOT persisted (it's app config, not user preference).\n * @default \"sourceful-a11y\"\n */\n storageKey?: string;\n /**\n * Disable localStorage persistence (useful for testing).\n * @default false\n */\n disableStorage?: boolean;\n}\n\nexport function DesignSystemProvider({\n children,\n defaultTheme = \"base\",\n defaultFontMode = \"default\",\n defaultColorMode = \"default\",\n defaultSpacingMode = \"default\",\n defaultFocusMode = \"default\",\n storageKey = \"sourceful-a11y\",\n disableStorage = false,\n}: DesignSystemProviderProps) {\n // State\n const [theme, setTheme] = React.useState<Theme>(defaultTheme);\n const [fontMode, setFontMode] = React.useState<FontMode>(defaultFontMode);\n const [colorMode, setColorMode] = React.useState<ColorMode>(defaultColorMode);\n const [spacingMode, setSpacingMode] =\n React.useState<SpacingMode>(defaultSpacingMode);\n const [focusMode, setFocusMode] = React.useState<FocusMode>(defaultFocusMode);\n const [mounted, setMounted] = React.useState(false);\n\n // Load accessibility preferences from localStorage on mount\n React.useEffect(() => {\n setMounted(true);\n if (disableStorage || typeof window === \"undefined\") return;\n\n try {\n const stored = localStorage.getItem(storageKey);\n if (stored) {\n const prefs = JSON.parse(stored);\n if (prefs.fontMode) setFontMode(prefs.fontMode);\n if (prefs.colorMode) setColorMode(prefs.colorMode);\n if (prefs.spacingMode) setSpacingMode(prefs.spacingMode);\n if (prefs.focusMode) setFocusMode(prefs.focusMode);\n }\n } catch (e) {\n console.warn(\"Failed to load accessibility preferences:\", e);\n }\n }, [storageKey, disableStorage]);\n\n // Apply theme attribute\n React.useEffect(() => {\n if (!mounted) return;\n document.documentElement.setAttribute(\"data-theme\", theme);\n }, [theme, mounted]);\n\n // Apply font mode attribute\n React.useEffect(() => {\n if (!mounted) return;\n if (fontMode === \"default\") {\n document.documentElement.removeAttribute(\"data-font-mode\");\n } else {\n document.documentElement.setAttribute(\"data-font-mode\", fontMode);\n }\n }, [fontMode, mounted]);\n\n // Apply color mode attribute\n React.useEffect(() => {\n if (!mounted) return;\n if (colorMode === \"default\") {\n document.documentElement.removeAttribute(\"data-color-mode\");\n } else {\n document.documentElement.setAttribute(\"data-color-mode\", colorMode);\n }\n }, [colorMode, mounted]);\n\n // Apply spacing mode attribute\n React.useEffect(() => {\n if (!mounted) return;\n if (spacingMode === \"default\") {\n document.documentElement.removeAttribute(\"data-spacing\");\n } else {\n document.documentElement.setAttribute(\"data-spacing\", spacingMode);\n }\n }, [spacingMode, mounted]);\n\n // Apply focus mode attribute\n React.useEffect(() => {\n if (!mounted) return;\n if (focusMode === \"default\") {\n document.documentElement.removeAttribute(\"data-focus-mode\");\n } else {\n document.documentElement.setAttribute(\"data-focus-mode\", focusMode);\n }\n }, [focusMode, mounted]);\n\n // Persist accessibility preferences (NOT theme - that's app config)\n React.useEffect(() => {\n if (!mounted || disableStorage || typeof window === \"undefined\") return;\n\n try {\n localStorage.setItem(\n storageKey,\n JSON.stringify({ fontMode, colorMode, spacingMode, focusMode })\n );\n } catch (e) {\n console.warn(\"Failed to save accessibility preferences:\", e);\n }\n }, [fontMode, colorMode, spacingMode, focusMode, storageKey, mounted, disableStorage]);\n\n // Memoize context value to prevent unnecessary re-renders\n const value = React.useMemo(\n () => ({\n theme,\n setTheme,\n fontMode,\n setFontMode,\n colorMode,\n setColorMode,\n spacingMode,\n setSpacingMode,\n focusMode,\n setFocusMode,\n }),\n [theme, fontMode, colorMode, spacingMode, focusMode]\n );\n\n return (\n <DesignSystemContext.Provider value={value}>\n {children}\n </DesignSystemContext.Provider>\n );\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","/**\n * Pattern definitions for the 4x4 PixelGrid component.\n *\n * Grid position reference (4x4):\n * 0 1 2 3 (row 0)\n * 4 5 6 7 (row 1)\n * 8 9 10 11 (row 2)\n * 12 13 14 15 (row 3)\n */\n\n// Convert [x, y] coordinates to index\nconst toIndex = (x: number, y: number): number => y * 4 + x;\n\n// Define pixel positions\nconst TL = toIndex(0, 0); // 0\nconst T1 = toIndex(1, 0); // 1\nconst T2 = toIndex(2, 0); // 2\nconst TR = toIndex(3, 0); // 3\nconst L1 = toIndex(0, 1); // 4\nconst C1 = toIndex(1, 1); // 5\nconst C2 = toIndex(2, 1); // 6\nconst R1 = toIndex(3, 1); // 7\nconst L2 = toIndex(0, 2); // 8\nconst C3 = toIndex(1, 2); // 9\nconst C4 = toIndex(2, 2); // 10\nconst R2 = toIndex(3, 2); // 11\nconst BL = toIndex(0, 3); // 12\nconst B1 = toIndex(1, 3); // 13\nconst B2 = toIndex(2, 3); // 14\nconst BR = toIndex(3, 3); // 15\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 // Frame patterns\n | \"frame\"\n | \"frame-sync\"\n // Plus pattern\n | \"plus-hollow\"\n // Square patterns (4x4 specific)\n | \"square-inner\"\n | \"square-outer\"\n // Cross patterns\n | \"cross-full\"\n | \"cross-spin\";\n\nexport interface PatternFrame {\n activePixels: number[];\n duration?: number;\n}\n\nexport interface PatternDefinition {\n name: string;\n description: string;\n frames: PatternFrame[];\n cycleDuration?: number;\n}\n\nexport const patterns: Record<PatternType, PatternDefinition> = {\n // Solo patterns\n \"solo-center\": {\n name: \"Solo Center\",\n description: \"Center pixels pulse\",\n frames: [\n { activePixels: [] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [C1, C2, C3, C4] },\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, T1] },\n { activePixels: [TL, T1, T2] },\n { activePixels: [TL, T1, T2, TR] },\n { activePixels: [T1, T2, TR] },\n { activePixels: [T2, TR] },\n { activePixels: [TR] },\n { activePixels: [] },\n ],\n },\n \"line-h-mid\": {\n name: \"Horizontal Middle\",\n description: \"Middle rows light up left to right\",\n frames: [\n { activePixels: [] },\n { activePixels: [L1, L2] },\n { activePixels: [L1, L2, C1, C3] },\n { activePixels: [L1, L2, C1, C3, C2, C4] },\n { activePixels: [L1, L2, C1, C3, C2, C4, R1, R2] },\n { activePixels: [C1, C3, C2, C4, R1, R2] },\n { activePixels: [C2, C4, R1, R2] },\n { activePixels: [R1, R2] },\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, B1] },\n { activePixels: [BL, B1, B2] },\n { activePixels: [BL, B1, B2, BR] },\n { activePixels: [B1, B2, BR] },\n { activePixels: [B2, 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, L1] },\n { activePixels: [TL, L1, L2] },\n { activePixels: [TL, L1, L2, BL] },\n { activePixels: [L1, L2, BL] },\n { activePixels: [L2, BL] },\n { activePixels: [BL] },\n { activePixels: [] },\n ],\n },\n \"line-v-mid\": {\n name: \"Vertical Middle\",\n description: \"Middle columns light up top to bottom\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, T2] },\n { activePixels: [T1, T2, C1, C2] },\n { activePixels: [T1, T2, C1, C2, C3, C4] },\n { activePixels: [T1, T2, C1, C2, C3, C4, B1, B2] },\n { activePixels: [C1, C2, C3, C4, B1, B2] },\n { activePixels: [C3, C4, B1, B2] },\n { activePixels: [B1, B2] },\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, R1] },\n { activePixels: [TR, R1, R2] },\n { activePixels: [TR, R1, R2, BR] },\n { activePixels: [R1, R2, BR] },\n { activePixels: [R2, BR] },\n { activePixels: [BR] },\n { activePixels: [] },\n ],\n },\n\n // Diagonal patterns\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, C1] },\n { activePixels: [TL, C1, C4] },\n { activePixels: [TL, C1, C4, BR] },\n { activePixels: [C1, C4, BR] },\n { activePixels: [C4, 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, C2] },\n { activePixels: [TR, C2, C3] },\n { activePixels: [TR, C2, C3, BL] },\n { activePixels: [C2, C3, BL] },\n { activePixels: [C3, 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 // Frame patterns\n frame: {\n name: \"Frame\",\n description: \"Outer pixels light up clockwise\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, T1] },\n { activePixels: [T1, T2] },\n { activePixels: [T2, TR] },\n { activePixels: [TR, R1] },\n { activePixels: [R1, R2] },\n { activePixels: [R2, BR] },\n { activePixels: [BR, B2] },\n { activePixels: [B2, B1] },\n { activePixels: [B1, BL] },\n { activePixels: [BL, L2] },\n { activePixels: [L2, L1] },\n { activePixels: [L1, TL] },\n { activePixels: [TL] },\n { activePixels: [] },\n ],\n cycleDuration: 2500,\n },\n \"frame-sync\": {\n name: \"Frame Sync\",\n description: \"All outer pixels pulse together\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, T1, T2, TR, L1, R1, L2, R2, BL, B1, B2, BR] },\n { activePixels: [TL, T1, T2, TR, L1, R1, L2, R2, BL, B1, B2, 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: [C1, C2, C3, C4] },\n { activePixels: [T1, T2, C1, C2, C3, C4, B1, B2] },\n { activePixels: [T1, T2, L1, L2, C1, C2, C3, C4, R1, R2, B1, B2] },\n { activePixels: [T1, T2, L1, L2, C1, C2, C3, C4, R1, R2, B1, B2] },\n { activePixels: [T1, T2, C1, C2, C3, C4, B1, B2] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [] },\n ],\n },\n\n // Square patterns (4x4 specific)\n \"square-inner\": {\n name: \"Inner Square\",\n description: \"Inner 2x2 square pulses\",\n frames: [\n { activePixels: [] },\n { activePixels: [C1] },\n { activePixels: [C1, C2] },\n { activePixels: [C1, C2, C4] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [C2, C3, C4] },\n { activePixels: [C3, C4] },\n { activePixels: [C4] },\n { activePixels: [] },\n ],\n },\n \"square-outer\": {\n name: \"Outer Square\",\n description: \"Outer frame expands from center\",\n frames: [\n { activePixels: [] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [T1, T2, L1, C1, C2, R1, L2, C3, C4, R2, B1, B2] },\n { activePixels: [TL, T1, T2, TR, L1, R1, L2, R2, BL, B1, B2, BR] },\n { activePixels: [TL, T1, T2, TR, L1, R1, L2, R2, BL, B1, B2, BR] },\n { activePixels: [T1, T2, L1, C1, C2, R1, L2, C3, C4, R2, B1, B2] },\n { activePixels: [C1, C2, C3, C4] },\n { activePixels: [] },\n ],\n },\n\n // Cross patterns\n \"cross-full\": {\n name: \"Cross Full\",\n description: \"Full cross pattern\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, T2, C1, C2, C3, C4, B1, B2, L1, L2, R1, R2] },\n { activePixels: [T1, T2, C1, C2, C3, C4, B1, B2, L1, L2, R1, R2] },\n { activePixels: [] },\n ],\n },\n \"cross-spin\": {\n name: \"Cross Spin\",\n description: \"Cross pattern rotates\",\n frames: [\n { activePixels: [T1, T2, B1, B2] },\n { activePixels: [T1, T2, B1, B2, TR, BR] },\n { activePixels: [L1, L2, R1, R2] },\n { activePixels: [L1, L2, R1, R2, TL, BL] },\n { activePixels: [T1, T2, B1, B2] },\n ],\n cycleDuration: 2000,\n },\n};\n\nexport const patternNames = Object.keys(patterns) as PatternType[];\n\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 Frame: [\"frame\", \"frame-sync\"],\n Plus: [\"plus-hollow\"],\n Squares: [\"square-inner\", \"square-outer\"],\n Cross: [\"cross-full\", \"cross-spin\"],\n};\n","/**\n * Pattern definitions for the 5x5 PixelGrid component.\n *\n * Grid position reference (5x5):\n * 0 1 2 3 4 (row 0)\n * 5 6 7 8 9 (row 1)\n * 10 11 12 13 14 (row 2)\n * 15 16 17 18 19 (row 3)\n * 20 21 22 23 24 (row 4)\n */\n\n// Convert [x, y] coordinates to index\nconst toIndex = (x: number, y: number): number => y * 5 + x;\n\n// Define pixel positions - corners\nconst TL = toIndex(0, 0); // 0\nconst TR = toIndex(4, 0); // 4\nconst BL = toIndex(0, 4); // 20\nconst BR = toIndex(4, 4); // 24\n\n// Top row\nconst T1 = toIndex(1, 0); // 1\nconst TC = toIndex(2, 0); // 2 - top center\nconst T3 = toIndex(3, 0); // 3\n\n// Row 1\nconst L1 = toIndex(0, 1); // 5\nconst R11 = toIndex(1, 1); // 6\nconst R12 = toIndex(2, 1); // 7\nconst R13 = toIndex(3, 1); // 8\nconst R1 = toIndex(4, 1); // 9\n\n// Middle row (row 2)\nconst ML = toIndex(0, 2); // 10\nconst M1 = toIndex(1, 2); // 11\nconst MC = toIndex(2, 2); // 12 - true center\nconst M3 = toIndex(3, 2); // 13\nconst MR = toIndex(4, 2); // 14\n\n// Row 3\nconst L3 = toIndex(0, 3); // 15\nconst R31 = toIndex(1, 3); // 16\nconst R32 = toIndex(2, 3); // 17\nconst R33 = toIndex(3, 3); // 18\nconst R3 = toIndex(4, 3); // 19\n\n// Bottom row\nconst B1 = toIndex(1, 4); // 21\nconst BC = toIndex(2, 4); // 22 - bottom center\nconst B3 = toIndex(3, 4); // 23\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 // Frame patterns\n | \"frame\"\n | \"frame-sync\"\n // Plus pattern\n | \"plus-hollow\"\n // 5x5 specific patterns\n | \"diamond\"\n | \"diamond-fill\"\n | \"spiral\"\n | \"x-pattern\"\n | \"ring-inner\"\n | \"ring-outer\"\n | \"checkerboard\";\n\nexport interface PatternFrame {\n activePixels: number[];\n duration?: number;\n}\n\nexport interface PatternDefinition {\n name: string;\n description: string;\n frames: PatternFrame[];\n cycleDuration?: number;\n}\n\nexport const patterns: Record<PatternType, PatternDefinition> = {\n // Solo patterns\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, T1] },\n { activePixels: [TL, T1, TC] },\n { activePixels: [TL, T1, TC, T3] },\n { activePixels: [TL, T1, TC, T3, TR] },\n { activePixels: [T1, TC, T3, TR] },\n { activePixels: [TC, T3, TR] },\n { activePixels: [T3, 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, M1] },\n { activePixels: [ML, M1, MC] },\n { activePixels: [ML, M1, MC, M3] },\n { activePixels: [ML, M1, MC, M3, MR] },\n { activePixels: [M1, MC, M3, MR] },\n { activePixels: [MC, M3, MR] },\n { activePixels: [M3, 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, B1] },\n { activePixels: [BL, B1, BC] },\n { activePixels: [BL, B1, BC, B3] },\n { activePixels: [BL, B1, BC, B3, BR] },\n { activePixels: [B1, BC, B3, BR] },\n { activePixels: [BC, B3, BR] },\n { activePixels: [B3, 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, L1] },\n { activePixels: [TL, L1, ML] },\n { activePixels: [TL, L1, ML, L3] },\n { activePixels: [TL, L1, ML, L3, BL] },\n { activePixels: [L1, ML, L3, BL] },\n { activePixels: [ML, L3, BL] },\n { activePixels: [L3, 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, R12] },\n { activePixels: [TC, R12, MC] },\n { activePixels: [TC, R12, MC, R32] },\n { activePixels: [TC, R12, MC, R32, BC] },\n { activePixels: [R12, MC, R32, BC] },\n { activePixels: [MC, R32, BC] },\n { activePixels: [R32, 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, R1] },\n { activePixels: [TR, R1, MR] },\n { activePixels: [TR, R1, MR, R3] },\n { activePixels: [TR, R1, MR, R3, BR] },\n { activePixels: [R1, MR, R3, BR] },\n { activePixels: [MR, R3, BR] },\n { activePixels: [R3, BR] },\n { activePixels: [BR] },\n { activePixels: [] },\n ],\n },\n\n // Diagonal patterns\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, R11] },\n { activePixels: [TL, R11, MC] },\n { activePixels: [TL, R11, MC, R33] },\n { activePixels: [TL, R11, MC, R33, BR] },\n { activePixels: [R11, MC, R33, BR] },\n { activePixels: [MC, R33, BR] },\n { activePixels: [R33, 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, R13] },\n { activePixels: [TR, R13, MC] },\n { activePixels: [TR, R13, MC, R31] },\n { activePixels: [TR, R13, MC, R31, BL] },\n { activePixels: [R13, MC, R31, BL] },\n { activePixels: [MC, R31, BL] },\n { activePixels: [R31, 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 // Frame patterns\n frame: {\n name: \"Frame\",\n description: \"Outer pixels light up clockwise\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, T1] },\n { activePixels: [T1, TC] },\n { activePixels: [TC, T3] },\n { activePixels: [T3, TR] },\n { activePixels: [TR, R1] },\n { activePixels: [R1, MR] },\n { activePixels: [MR, R3] },\n { activePixels: [R3, BR] },\n { activePixels: [BR, B3] },\n { activePixels: [B3, BC] },\n { activePixels: [BC, B1] },\n { activePixels: [B1, BL] },\n { activePixels: [BL, L3] },\n { activePixels: [L3, ML] },\n { activePixels: [ML, L1] },\n { activePixels: [L1, TL] },\n { activePixels: [TL] },\n { activePixels: [] },\n ],\n cycleDuration: 3000,\n },\n \"frame-sync\": {\n name: \"Frame Sync\",\n description: \"All outer pixels pulse together\",\n frames: [\n { activePixels: [] },\n {\n activePixels: [\n TL, T1, TC, T3, TR,\n L1, R1,\n ML, MR,\n L3, R3,\n BL, B1, BC, B3, BR,\n ],\n },\n {\n activePixels: [\n TL, T1, TC, T3, TR,\n L1, R1,\n ML, MR,\n L3, R3,\n BL, B1, BC, B3, BR,\n ],\n },\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: [R12, MC, R32] },\n { activePixels: [TC, R12, MC, R32, BC] },\n { activePixels: [TC, R12, M1, MC, M3, R32, BC] },\n { activePixels: [TC, R12, ML, M1, MC, M3, MR, R32, BC] },\n { activePixels: [TC, R12, ML, M1, MC, M3, MR, R32, BC] },\n { activePixels: [TC, R12, M1, MC, M3, R32, BC] },\n { activePixels: [R12, MC, R32] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n\n // 5x5 specific patterns\n diamond: {\n name: \"Diamond\",\n description: \"Diamond shape expands from center\",\n frames: [\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [R12, M1, MC, M3, R32] },\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R31, R32, R33, BC] },\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R31, R32, R33, BC] },\n { activePixels: [R12, M1, MC, M3, R32] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n \"diamond-fill\": {\n name: \"Diamond Fill\",\n description: \"Filled diamond pulses\",\n frames: [\n { activePixels: [] },\n {\n activePixels: [\n TC,\n R11, R12, R13,\n ML, M1, MC, M3, MR,\n R31, R32, R33,\n BC,\n ],\n },\n {\n activePixels: [\n TC,\n R11, R12, R13,\n ML, M1, MC, M3, MR,\n R31, R32, R33,\n BC,\n ],\n },\n { activePixels: [] },\n ],\n },\n spiral: {\n name: \"Spiral\",\n description: \"Spiral pattern from outside to center\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, T1, TC, T3, TR] },\n { activePixels: [TL, T1, TC, T3, TR, R1, MR, R3, BR] },\n { activePixels: [TL, T1, TC, T3, TR, R1, MR, R3, BR, B3, BC, B1, BL] },\n { activePixels: [TL, T1, TC, T3, TR, R1, MR, R3, BR, B3, BC, B1, BL, L3, ML, L1] },\n { activePixels: [TL, T1, TC, T3, TR, R1, MR, R3, BR, B3, BC, B1, BL, L3, ML, L1, R11, R12, R13] },\n { activePixels: [TL, T1, TC, T3, TR, R1, MR, R3, BR, B3, BC, B1, BL, L3, ML, L1, R11, R12, R13, R33, R32, R31] },\n { activePixels: [TL, T1, TC, T3, TR, R1, MR, R3, BR, B3, BC, B1, BL, L3, ML, L1, R11, R12, R13, R33, R32, R31, M1, MC, M3] },\n { activePixels: [TL, T1, TC, T3, TR, R1, MR, R3, BR, B3, BC, B1, BL, L3, ML, L1, R11, R12, R13, R33, R32, R31, M1, MC, M3] },\n { activePixels: [] },\n ],\n cycleDuration: 3000,\n },\n \"x-pattern\": {\n name: \"X Pattern\",\n description: \"X shape lights up\",\n frames: [\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [R11, MC, R33, R13, R31] },\n { activePixels: [TL, R11, MC, R33, BR, TR, R13, R31, BL] },\n { activePixels: [TL, R11, MC, R33, BR, TR, R13, R31, BL] },\n { activePixels: [R11, MC, R33, R13, R31] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n \"ring-inner\": {\n name: \"Inner Ring\",\n description: \"Inner ring of pixels pulses\",\n frames: [\n { activePixels: [] },\n { activePixels: [R11, R12, R13, R31, R32, R33, M1, M3] },\n { activePixels: [R11, R12, R13, R31, R32, R33, M1, M3] },\n { activePixels: [] },\n ],\n },\n \"ring-outer\": {\n name: \"Rings\",\n description: \"Alternating rings expand\",\n frames: [\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [R11, R12, R13, M1, M3, R31, R32, R33] },\n {\n activePixels: [\n TL, T1, TC, T3, TR,\n L1, R1,\n ML, MR,\n L3, R3,\n BL, B1, BC, B3, BR,\n ],\n },\n {\n activePixels: [\n TL, T1, TC, T3, TR,\n L1, R1,\n ML, MR,\n L3, R3,\n BL, B1, BC, B3, BR,\n ],\n },\n { activePixels: [R11, R12, R13, M1, M3, R31, R32, R33] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n },\n checkerboard: {\n name: \"Checkerboard\",\n description: \"Alternating checkerboard pattern\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, TC, TR, R11, R13, ML, MC, MR, R31, R33, BL, BC, BR] },\n { activePixels: [TL, TC, TR, R11, R13, ML, MC, MR, R31, R33, BL, BC, BR] },\n { activePixels: [] },\n { activePixels: [T1, T3, L1, R12, R1, M1, M3, L3, R32, R3, B1, B3] },\n { activePixels: [T1, T3, L1, R12, R1, M1, M3, L3, R32, R3, B1, B3] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n};\n\nexport const patternNames = Object.keys(patterns) as PatternType[];\n\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 Frame: [\"frame\", \"frame-sync\"],\n Plus: [\"plus-hollow\"],\n Diamond: [\"diamond\", \"diamond-fill\"],\n Rings: [\"ring-inner\", \"ring-outer\"],\n Shapes: [\"x-pattern\", \"spiral\", \"checkerboard\"],\n};\n","/**\n * Pattern definitions for the 6x6 PixelGrid component.\n *\n * Grid position reference (6x6):\n * 0 1 2 3 4 5 (row 0)\n * 6 7 8 9 10 11 (row 1)\n * 12 13 14 15 16 17 (row 2)\n * 18 19 20 21 22 23 (row 3)\n * 24 25 26 27 28 29 (row 4)\n * 30 31 32 33 34 35 (row 5)\n */\n\n// Convert [x, y] coordinates to index\nconst toIndex = (x: number, y: number): number => y * 6 + x;\n\n// Define corner positions\nconst TL = toIndex(0, 0); // 0\nconst TR = toIndex(5, 0); // 5\nconst BL = toIndex(0, 5); // 30\nconst BR = toIndex(5, 5); // 35\n\n// Row helpers\nconst row = (y: number) => Array.from({ length: 6 }, (_, x) => toIndex(x, y));\nconst col = (x: number) => Array.from({ length: 6 }, (_, y) => toIndex(x, y));\n\n// Get outer frame pixels\nconst outerFrame = [\n ...row(0), // top row\n ...row(5), // bottom row\n ...col(0).slice(1, 5), // left column (excluding corners)\n ...col(5).slice(1, 5), // right column (excluding corners)\n];\n\n// Get inner frame (1 pixel in)\nconst innerFrame = [\n toIndex(1, 1), toIndex(2, 1), toIndex(3, 1), toIndex(4, 1),\n toIndex(1, 4), toIndex(2, 4), toIndex(3, 4), toIndex(4, 4),\n toIndex(1, 2), toIndex(1, 3),\n toIndex(4, 2), toIndex(4, 3),\n];\n\n// Center 2x2\nconst center2x2 = [toIndex(2, 2), toIndex(3, 2), toIndex(2, 3), toIndex(3, 3)];\n\n// Center 4x4\nconst center4x4 = [\n toIndex(1, 1), toIndex(2, 1), toIndex(3, 1), toIndex(4, 1),\n toIndex(1, 2), toIndex(2, 2), toIndex(3, 2), toIndex(4, 2),\n toIndex(1, 3), toIndex(2, 3), toIndex(3, 3), toIndex(4, 3),\n toIndex(1, 4), toIndex(2, 4), toIndex(3, 4), toIndex(4, 4),\n];\n\nexport type PatternType =\n // Solo patterns\n | \"solo-center\"\n | \"solo-tl\"\n | \"solo-br\"\n // Line patterns\n | \"line-h-top\"\n | \"line-h-mid\"\n | \"line-h-bot\"\n | \"line-v-left\"\n | \"line-v-mid\"\n | \"line-v-right\"\n | \"line-diag-1\"\n | \"line-diag-2\"\n // Corner patterns\n | \"corners-sync\"\n | \"corners-only\"\n // Frame patterns\n | \"frame\"\n | \"frame-sync\"\n // Plus pattern\n | \"plus-hollow\"\n // 6x6 specific patterns\n | \"ripple\"\n | \"spiral\"\n | \"checkerboard\"\n | \"diamond\"\n | \"wave\";\n\nexport interface PatternFrame {\n activePixels: number[];\n duration?: number;\n}\n\nexport interface PatternDefinition {\n name: string;\n description: string;\n frames: PatternFrame[];\n cycleDuration?: number;\n}\n\nexport const patterns: Record<PatternType, PatternDefinition> = {\n // Solo patterns\n \"solo-center\": {\n name: \"Solo Center\",\n description: \"Center 2x2 pixels pulse\",\n frames: [\n { activePixels: [] },\n { activePixels: center2x2 },\n { activePixels: center2x2 },\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 // Horizontal lines\n \"line-h-top\": {\n name: \"Horizontal Top\",\n description: \"Top row lights up left to right\",\n frames: [\n { activePixels: [] },\n { activePixels: [0] },\n { activePixels: [0, 1] },\n { activePixels: [0, 1, 2] },\n { activePixels: [0, 1, 2, 3] },\n { activePixels: [0, 1, 2, 3, 4] },\n { activePixels: [0, 1, 2, 3, 4, 5] },\n { activePixels: [1, 2, 3, 4, 5] },\n { activePixels: [2, 3, 4, 5] },\n { activePixels: [3, 4, 5] },\n { activePixels: [4, 5] },\n { activePixels: [5] },\n { activePixels: [] },\n ],\n },\n \"line-h-mid\": {\n name: \"Horizontal Middle\",\n description: \"Middle rows light up\",\n frames: [\n { activePixels: [] },\n { activePixels: [12, 18] },\n { activePixels: [12, 13, 18, 19] },\n { activePixels: [12, 13, 14, 18, 19, 20] },\n { activePixels: [12, 13, 14, 15, 18, 19, 20, 21] },\n { activePixels: [12, 13, 14, 15, 16, 18, 19, 20, 21, 22] },\n { activePixels: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] },\n { activePixels: [13, 14, 15, 16, 17, 19, 20, 21, 22, 23] },\n { activePixels: [14, 15, 16, 17, 20, 21, 22, 23] },\n { activePixels: [15, 16, 17, 21, 22, 23] },\n { activePixels: [16, 17, 22, 23] },\n { activePixels: [17, 23] },\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: [30] },\n { activePixels: [30, 31] },\n { activePixels: [30, 31, 32] },\n { activePixels: [30, 31, 32, 33] },\n { activePixels: [30, 31, 32, 33, 34] },\n { activePixels: [30, 31, 32, 33, 34, 35] },\n { activePixels: [31, 32, 33, 34, 35] },\n { activePixels: [32, 33, 34, 35] },\n { activePixels: [33, 34, 35] },\n { activePixels: [34, 35] },\n { activePixels: [35] },\n { activePixels: [] },\n ],\n },\n\n // Vertical lines\n \"line-v-left\": {\n name: \"Vertical Left\",\n description: \"Left column lights up\",\n frames: [\n { activePixels: [] },\n { activePixels: [0] },\n { activePixels: [0, 6] },\n { activePixels: [0, 6, 12] },\n { activePixels: [0, 6, 12, 18] },\n { activePixels: [0, 6, 12, 18, 24] },\n { activePixels: [0, 6, 12, 18, 24, 30] },\n { activePixels: [6, 12, 18, 24, 30] },\n { activePixels: [12, 18, 24, 30] },\n { activePixels: [18, 24, 30] },\n { activePixels: [24, 30] },\n { activePixels: [30] },\n { activePixels: [] },\n ],\n },\n \"line-v-mid\": {\n name: \"Vertical Middle\",\n description: \"Middle columns light up\",\n frames: [\n { activePixels: [] },\n { activePixels: [2, 3] },\n { activePixels: [2, 3, 8, 9] },\n { activePixels: [2, 3, 8, 9, 14, 15] },\n { activePixels: [2, 3, 8, 9, 14, 15, 20, 21] },\n { activePixels: [2, 3, 8, 9, 14, 15, 20, 21, 26, 27] },\n { activePixels: [2, 3, 8, 9, 14, 15, 20, 21, 26, 27, 32, 33] },\n { activePixels: [8, 9, 14, 15, 20, 21, 26, 27, 32, 33] },\n { activePixels: [14, 15, 20, 21, 26, 27, 32, 33] },\n { activePixels: [20, 21, 26, 27, 32, 33] },\n { activePixels: [26, 27, 32, 33] },\n { activePixels: [32, 33] },\n { activePixels: [] },\n ],\n },\n \"line-v-right\": {\n name: \"Vertical Right\",\n description: \"Right column lights up\",\n frames: [\n { activePixels: [] },\n { activePixels: [5] },\n { activePixels: [5, 11] },\n { activePixels: [5, 11, 17] },\n { activePixels: [5, 11, 17, 23] },\n { activePixels: [5, 11, 17, 23, 29] },\n { activePixels: [5, 11, 17, 23, 29, 35] },\n { activePixels: [11, 17, 23, 29, 35] },\n { activePixels: [17, 23, 29, 35] },\n { activePixels: [23, 29, 35] },\n { activePixels: [29, 35] },\n { activePixels: [35] },\n { activePixels: [] },\n ],\n },\n\n // Diagonal lines\n \"line-diag-1\": {\n name: \"Diagonal TL-BR\",\n description: \"Diagonal from top-left to bottom-right\",\n frames: [\n { activePixels: [] },\n { activePixels: [0] },\n { activePixels: [0, 7] },\n { activePixels: [0, 7, 14] },\n { activePixels: [0, 7, 14, 21] },\n { activePixels: [0, 7, 14, 21, 28] },\n { activePixels: [0, 7, 14, 21, 28, 35] },\n { activePixels: [7, 14, 21, 28, 35] },\n { activePixels: [14, 21, 28, 35] },\n { activePixels: [21, 28, 35] },\n { activePixels: [28, 35] },\n { activePixels: [35] },\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: [5] },\n { activePixels: [5, 10] },\n { activePixels: [5, 10, 15] },\n { activePixels: [5, 10, 15, 20] },\n { activePixels: [5, 10, 15, 20, 25] },\n { activePixels: [5, 10, 15, 20, 25, 30] },\n { activePixels: [10, 15, 20, 25, 30] },\n { activePixels: [15, 20, 25, 30] },\n { activePixels: [20, 25, 30] },\n { activePixels: [25, 30] },\n { activePixels: [30] },\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 // Frame patterns\n frame: {\n name: \"Frame\",\n description: \"Outer pixels light up clockwise\",\n frames: [\n { activePixels: [] },\n { activePixels: [0] },\n { activePixels: [0, 1] },\n { activePixels: [1, 2] },\n { activePixels: [2, 3] },\n { activePixels: [3, 4] },\n { activePixels: [4, 5] },\n { activePixels: [5, 11] },\n { activePixels: [11, 17] },\n { activePixels: [17, 23] },\n { activePixels: [23, 29] },\n { activePixels: [29, 35] },\n { activePixels: [35, 34] },\n { activePixels: [34, 33] },\n { activePixels: [33, 32] },\n { activePixels: [32, 31] },\n { activePixels: [31, 30] },\n { activePixels: [30, 24] },\n { activePixels: [24, 18] },\n { activePixels: [18, 12] },\n { activePixels: [12, 6] },\n { activePixels: [6, 0] },\n { activePixels: [] },\n ],\n cycleDuration: 3000,\n },\n \"frame-sync\": {\n name: \"Frame Sync\",\n description: \"All outer pixels pulse together\",\n frames: [\n { activePixels: [] },\n { activePixels: outerFrame },\n { activePixels: outerFrame },\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: center2x2 },\n { activePixels: [...center2x2, 8, 9, 26, 27, 13, 16, 19, 22] },\n { activePixels: [...center2x2, 2, 3, 8, 9, 26, 27, 32, 33, 12, 17, 13, 16, 19, 22, 18, 23] },\n { activePixels: [...center2x2, 2, 3, 8, 9, 26, 27, 32, 33, 12, 17, 13, 16, 19, 22, 18, 23] },\n { activePixels: [...center2x2, 8, 9, 26, 27, 13, 16, 19, 22] },\n { activePixels: center2x2 },\n { activePixels: [] },\n ],\n },\n\n // 6x6 specific patterns\n ripple: {\n name: \"Ripple\",\n description: \"Expanding ripple from center\",\n frames: [\n { activePixels: [] },\n { activePixels: center2x2 },\n { activePixels: innerFrame },\n { activePixels: outerFrame },\n { activePixels: outerFrame },\n { activePixels: innerFrame },\n { activePixels: center2x2 },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n spiral: {\n name: \"Spiral\",\n description: \"Spiral from outside to center\",\n frames: [\n { activePixels: [] },\n { activePixels: [0] },\n { activePixels: [0, 1, 2, 3, 4, 5] },\n { activePixels: [0, 1, 2, 3, 4, 5, 11, 17, 23, 29, 35] },\n { activePixels: [0, 1, 2, 3, 4, 5, 11, 17, 23, 29, 35, 34, 33, 32, 31, 30] },\n { activePixels: [0, 1, 2, 3, 4, 5, 11, 17, 23, 29, 35, 34, 33, 32, 31, 30, 24, 18, 12, 6] },\n { activePixels: [7, 8, 9, 10, 16, 22, 28, 27, 26, 25, 19, 13] },\n { activePixels: [14, 15, 21, 20] },\n { activePixels: [14, 15, 21, 20] },\n { activePixels: [] },\n ],\n cycleDuration: 3000,\n },\n\n checkerboard: {\n name: \"Checkerboard\",\n description: \"Alternating checkerboard pattern\",\n frames: [\n { activePixels: [] },\n { activePixels: [0, 2, 4, 7, 9, 11, 12, 14, 16, 19, 21, 23, 24, 26, 28, 31, 33, 35] },\n { activePixels: [0, 2, 4, 7, 9, 11, 12, 14, 16, 19, 21, 23, 24, 26, 28, 31, 33, 35] },\n { activePixels: [1, 3, 5, 6, 8, 10, 13, 15, 17, 18, 20, 22, 25, 27, 29, 30, 32, 34] },\n { activePixels: [1, 3, 5, 6, 8, 10, 13, 15, 17, 18, 20, 22, 25, 27, 29, 30, 32, 34] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n diamond: {\n name: \"Diamond\",\n description: \"Diamond shape expands\",\n frames: [\n { activePixels: [] },\n { activePixels: center2x2 },\n { activePixels: [8, 9, 13, 16, 19, 22, 26, 27] },\n { activePixels: [2, 3, 7, 10, 12, 17, 18, 23, 25, 28, 32, 33] },\n { activePixels: [2, 3, 7, 10, 12, 17, 18, 23, 25, 28, 32, 33] },\n { activePixels: [8, 9, 13, 16, 19, 22, 26, 27] },\n { activePixels: center2x2 },\n { activePixels: [] },\n ],\n },\n\n wave: {\n name: \"Wave\",\n description: \"Wave moving across grid\",\n frames: [\n { activePixels: [0, 6, 12, 18, 24, 30] },\n { activePixels: [0, 1, 6, 7, 12, 13, 18, 19, 24, 25, 30, 31] },\n { activePixels: [1, 2, 7, 8, 13, 14, 19, 20, 25, 26, 31, 32] },\n { activePixels: [2, 3, 8, 9, 14, 15, 20, 21, 26, 27, 32, 33] },\n { activePixels: [3, 4, 9, 10, 15, 16, 21, 22, 27, 28, 33, 34] },\n { activePixels: [4, 5, 10, 11, 16, 17, 22, 23, 28, 29, 34, 35] },\n { activePixels: [5, 11, 17, 23, 29, 35] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n};\n\nexport const patternNames = Object.keys(patterns) as PatternType[];\n\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 Frame: [\"frame\", \"frame-sync\"],\n Plus: [\"plus-hollow\"],\n \"6x6 Special\": [\"ripple\", \"spiral\", \"checkerboard\", \"diamond\", \"wave\"],\n};\n","/**\n * Zap LED Animation Patterns for M5Stack Atom Matrix (5x5 grid)\n *\n * Hardware: M5Stack Atom Matrix\n * - 5x5 WS2812C RGB LED matrix (25 individually addressable LEDs)\n * - ESP32-PICO-D4 @ 240MHz\n * - Recommended brightness: 20 (FastLED scale)\n * - Ultra-compact: 24x24x13.8mm\n *\n * Grid position reference (5x5):\n * 0 1 2 3 4 (row 0)\n * 5 6 7 8 9 (row 1)\n * 10 11 12 13 14 (row 2)\n * 15 16 17 18 19 (row 3)\n * 20 21 22 23 24 (row 4)\n */\n\nimport type { PatternDefinition, PatternFrame } from \"./patterns\";\n\n// Convert [x, y] coordinates to index\nconst toIndex = (x: number, y: number): number => y * 5 + x;\n\n// Define pixel positions - corners\nconst TL = toIndex(0, 0); // 0\nconst TR = toIndex(4, 0); // 4\nconst BL = toIndex(0, 4); // 20\nconst BR = toIndex(4, 4); // 24\n\n// Top row\nconst T1 = toIndex(1, 0); // 1\nconst TC = toIndex(2, 0); // 2 - top center\nconst T3 = toIndex(3, 0); // 3\n\n// Row 1\nconst L1 = toIndex(0, 1); // 5\nconst R11 = toIndex(1, 1); // 6\nconst R12 = toIndex(2, 1); // 7\nconst R13 = toIndex(3, 1); // 8\nconst R1 = toIndex(4, 1); // 9\n\n// Middle row (row 2)\nconst ML = toIndex(0, 2); // 10\nconst M1 = toIndex(1, 2); // 11\nconst MC = toIndex(2, 2); // 12 - true center\nconst M3 = toIndex(3, 2); // 13\nconst MR = toIndex(4, 2); // 14\n\n// Row 3\nconst L3 = toIndex(0, 3); // 15\nconst R31 = toIndex(1, 3); // 16\nconst R32 = toIndex(2, 3); // 17\nconst R33 = toIndex(3, 3); // 18\nconst R3 = toIndex(4, 3); // 19\n\n// Bottom row\nconst B1 = toIndex(1, 4); // 21\nconst BC = toIndex(2, 4); // 22 - bottom center\nconst B3 = toIndex(3, 4); // 23\n\n// All pixels for convenience\nconst ALL = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24];\nconst FRAME = [TL, T1, TC, T3, TR, L1, R1, ML, MR, L3, R3, BL, B1, BC, B3, BR];\n\n// Zap pattern types\nexport type ZapPatternType =\n // 1. Startup & Identity (3)\n | \"zap-boot\"\n | \"zap-ready\"\n | \"zap-logo\"\n // 2. Connection States (4)\n | \"zap-pairing\"\n | \"zap-connecting\"\n | \"zap-connected\"\n | \"zap-no-network\"\n // 3. Operational States (3)\n | \"zap-active\"\n | \"zap-standby\"\n | \"zap-offline\"\n // 4. Data States (3)\n | \"zap-data-tx\"\n | \"zap-syncing\"\n | \"zap-no-data\"\n // 5. Energy Flow States (6)\n | \"zap-importing\"\n | \"zap-exporting\"\n | \"zap-charging\"\n | \"zap-discharging\"\n | \"zap-peak-alert\"\n | \"zap-grid-event\"\n // 6. Control Mode States (3)\n | \"zap-local\"\n | \"zap-remote\"\n | \"zap-scheduled\"\n // 7. Error States (3)\n | \"zap-error\"\n | \"zap-warning\"\n | \"zap-updating\"\n // 8. V2X/EV Specific (4)\n | \"zap-ev-connected\"\n | \"zap-ev-charging\"\n | \"zap-v2x-active\"\n | \"zap-ev-complete\"\n // 9. P1 Meter Specific (3)\n | \"zap-meter-reading\"\n | \"zap-meter-connected\"\n | \"zap-phase-balance\"\n // 10. SoC Display (5)\n | \"zap-soc-0\"\n | \"zap-soc-25\"\n | \"zap-soc-50\"\n | \"zap-soc-75\"\n | \"zap-soc-100\"\n // 11. Fun & Decorative\n | \"zap-smiley\"\n | \"zap-smiley-wink\"\n | \"zap-heart\"\n | \"zap-heart-beat\"\n | \"zap-star\"\n | \"zap-star-spin\"\n | \"zap-fireworks\"\n | \"zap-confetti\"\n | \"zap-flower\"\n | \"zap-sun\"\n | \"zap-moon\"\n | \"zap-cloud\"\n | \"zap-rain\"\n | \"zap-snow\"\n | \"zap-waves\"\n | \"zap-fire\"\n | \"zap-tree\"\n | \"zap-house\"\n | \"zap-car\"\n | \"zap-rocket\"\n | \"zap-ghost\"\n | \"zap-skull\"\n | \"zap-cat\"\n | \"zap-fish\"\n | \"zap-music\"\n // 12. Emojis\n | \"zap-checkmark\"\n | \"zap-cross\"\n | \"zap-question\"\n | \"zap-exclaim\"\n | \"zap-arrow-up\"\n | \"zap-arrow-down\"\n | \"zap-arrow-left\"\n | \"zap-arrow-right\"\n | \"zap-play\"\n | \"zap-pause\"\n | \"zap-stop\"\n | \"zap-power\"\n | \"zap-wifi-bars\"\n | \"zap-signal\"\n | \"zap-hourglass\"\n | \"zap-clock\"\n | \"zap-bell\"\n | \"zap-mail\"\n // 13. Games & Fun\n | \"zap-pacman\"\n | \"zap-space-invader\"\n | \"zap-tetris\"\n | \"zap-dice\"\n | \"zap-crown\"\n | \"zap-trophy\";\n\nexport const zapPatterns: Record<ZapPatternType, PatternDefinition> = {\n // ============================================================\n // 1. STARTUP & IDENTITY (3 animations)\n // ============================================================\n\n \"zap-boot\": {\n name: \"Boot/Power On\",\n description: \"Spiral expanding from center - indicates device powering up\",\n frames: [\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [MC, R12, M1, M3, R32] },\n { activePixels: [R12, M1, M3, R32, R11, R13, R31, R33] },\n { activePixels: [R11, R12, R13, M1, M3, R31, R32, R33, TC, ML, MR, BC] },\n { activePixels: [TC, ML, MR, BC, TL, T1, T3, TR, L1, R1, L3, R3, BL, B1, B3, BR] },\n { activePixels: ALL },\n { activePixels: ALL },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n cycleDuration: 2500,\n },\n\n \"zap-ready\": {\n name: \"Ready/Hello\",\n description: \"Diamond pulse - indicates device is ready for operation\",\n frames: [\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [MC, R12, M1, M3, R32] },\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R31, R32, R33, BC] },\n { activePixels: [TC, R11, R12, R13, ML, M1, MC, M3, MR, R31, R32, R33, BC] },\n { activePixels: [TC, R11, R12, R13, ML, M1, MC, M3, MR, R31, R32, R33, BC] },\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R31, R32, R33, BC] },\n { activePixels: [MC, R12, M1, M3, R32] },\n { activePixels: [MC] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-logo\": {\n name: \"Lightning Bolt\",\n description: \"Custom lightning bolt shape - Zap brand identity\",\n frames: [\n { activePixels: [] },\n { activePixels: [T3] },\n { activePixels: [T3, R13] },\n { activePixels: [T3, R13, R12, M1] },\n { activePixels: [T3, R13, R12, M1, MC, M3] },\n { activePixels: [T3, R13, R12, M1, MC, M3, R32, R31] },\n { activePixels: [T3, R13, R12, M1, MC, M3, R32, R31, B1] },\n // Hold the lightning bolt shape\n { activePixels: [T3, R13, R12, M1, MC, M3, R32, R31, B1] },\n { activePixels: [T3, R13, R12, M1, MC, M3, R32, R31, B1] },\n { activePixels: [T3, R13, R12, M1, MC, M3, R32, R31, B1] },\n // Flash\n { activePixels: ALL },\n { activePixels: [T3, R13, R12, M1, MC, M3, R32, R31, B1] },\n { activePixels: [] },\n ],\n cycleDuration: 2500,\n },\n\n // ============================================================\n // 2. CONNECTION STATES (4 animations)\n // ============================================================\n\n \"zap-pairing\": {\n name: \"Pairing/WiFi Setup\",\n description: \"Checkerboard alternating - indicates pairing mode active\",\n frames: [\n { activePixels: [TL, TC, TR, R11, R13, ML, MC, MR, R31, R33, BL, BC, BR] },\n { activePixels: [TL, TC, TR, R11, R13, ML, MC, MR, R31, R33, BL, BC, BR] },\n { activePixels: [] },\n { activePixels: [T1, T3, L1, R12, R1, M1, M3, L3, R32, R3, B1, B3] },\n { activePixels: [T1, T3, L1, R12, R1, M1, M3, L3, R32, R3, B1, B3] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-connecting\": {\n name: \"Connecting\",\n description: \"Expanding rings from center - indicates connection attempt\",\n frames: [\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [MC] },\n { activePixels: [R11, R12, R13, M1, M3, R31, R32, R33] },\n { activePixels: [R11, R12, R13, M1, M3, R31, R32, R33] },\n { activePixels: FRAME },\n { activePixels: FRAME },\n { activePixels: [] },\n ],\n cycleDuration: 1800,\n },\n\n \"zap-connected\": {\n name: \"Connected\",\n description: \"Quick pulse then steady center - indicates successful connection\",\n frames: [\n { activePixels: ALL },\n { activePixels: ALL },\n { activePixels: [MC] },\n { activePixels: [MC] },\n { activePixels: [MC] },\n { activePixels: [MC] },\n { activePixels: [MC] },\n { activePixels: [MC] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-no-network\": {\n name: \"No Network\",\n description: \"Frame blink warning (orange->red suggested) - indicates network loss\",\n frames: [\n { activePixels: FRAME },\n { activePixels: FRAME },\n { activePixels: [] },\n { activePixels: FRAME },\n { activePixels: FRAME },\n { activePixels: [] },\n { activePixels: [] },\n { activePixels: [] },\n ],\n cycleDuration: 1200,\n },\n\n // ============================================================\n // 3. OPERATIONAL STATES (3 animations)\n // ============================================================\n\n \"zap-active\": {\n name: \"Active\",\n description: \"Gentle center heartbeat - indicates active operation\",\n frames: [\n { activePixels: [MC] },\n { activePixels: [MC, R12, M1, M3, R32] },\n { activePixels: [MC, R12, M1, M3, R32] },\n { activePixels: [MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [MC] },\n ],\n cycleDuration: 2500,\n },\n\n \"zap-standby\": {\n name: \"Standby/Idle\",\n description: \"Slow corners pulse - indicates standby mode\",\n frames: [\n { activePixels: [] },\n { activePixels: [] },\n { activePixels: [TL, TR, BL, BR] },\n { activePixels: [TL, TR, BL, BR] },\n { activePixels: [TL, TR, BL, BR] },\n { activePixels: [] },\n { activePixels: [] },\n { activePixels: [] },\n ],\n cycleDuration: 3000,\n },\n\n \"zap-offline\": {\n name: \"Offline\",\n description: \"Single pixel breathing (gray suggested) - indicates offline mode\",\n frames: [\n { activePixels: [] },\n { activePixels: [] },\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [MC] },\n { activePixels: [MC] },\n { activePixels: [] },\n { activePixels: [] },\n ],\n cycleDuration: 4000,\n },\n\n // ============================================================\n // 4. DATA STATES (3 animations)\n // ============================================================\n\n \"zap-data-tx\": {\n name: \"Data Transferring\",\n description: \"Spiral flow - indicates data transmission\",\n frames: [\n { activePixels: [TL] },\n { activePixels: [T1, TC] },\n { activePixels: [T3, TR] },\n { activePixels: [R1, MR] },\n { activePixels: [R3, BR] },\n { activePixels: [B3, BC] },\n { activePixels: [B1, BL] },\n { activePixels: [L3, ML] },\n { activePixels: [L1, TL] },\n ],\n cycleDuration: 1200,\n },\n\n \"zap-syncing\": {\n name: \"Syncing\",\n description: \"Frame rotation - indicates sync in progress\",\n frames: [\n { activePixels: [TL, T1] },\n { activePixels: [TC, T3] },\n { activePixels: [TR, R1] },\n { activePixels: [MR, R3] },\n { activePixels: [BR, B3] },\n { activePixels: [BC, B1] },\n { activePixels: [BL, L3] },\n { activePixels: [ML, L1] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-no-data\": {\n name: \"No Data\",\n description: \"X pattern pulse (yellow suggested) - indicates no data received\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, TR, MC, BL, BR] },\n { activePixels: [TL, R11, TR, R13, MC, R31, BL, R33, BR] },\n { activePixels: [TL, R11, TR, R13, MC, R31, BL, R33, BR] },\n { activePixels: [TL, TR, MC, BL, BR] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n\n // ============================================================\n // 5. ENERGY FLOW STATES (6 animations)\n // ============================================================\n\n \"zap-importing\": {\n name: \"Grid Import\",\n description: \"Lines flowing inward (yellow suggested) - indicates power import from grid\",\n frames: [\n { activePixels: [TL, T1, TC, T3, TR] },\n { activePixels: [L1, R11, R12, R13, R1] },\n { activePixels: [ML, M1, MC, M3, MR] },\n { activePixels: [L3, R31, R32, R33, R3] },\n { activePixels: [BL, B1, BC, B3, BR] },\n { activePixels: [L3, R31, R32, R33, R3] },\n { activePixels: [ML, M1, MC, M3, MR] },\n { activePixels: [L1, R11, R12, R13, R1] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-exporting\": {\n name: \"Grid Export\",\n description: \"Lines flowing outward (green) - indicates power export to grid\",\n frames: [\n { activePixels: [ML, M1, MC, M3, MR] },\n { activePixels: [L1, R11, R12, R13, R1] },\n { activePixels: [TL, T1, TC, T3, TR] },\n { activePixels: [L1, R11, R12, R13, R1] },\n { activePixels: [ML, M1, MC, M3, MR] },\n { activePixels: [L3, R31, R32, R33, R3] },\n { activePixels: [BL, B1, BC, B3, BR] },\n { activePixels: [L3, R31, R32, R33, R3] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-charging\": {\n name: \"Battery Charging\",\n description: \"Fill from bottom up (blue->green) - indicates battery charging\",\n frames: [\n { activePixels: [] },\n { activePixels: [BL, B1, BC, B3, BR] },\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3] },\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3, ML, M1, MC, M3, MR] },\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3, ML, M1, MC, M3, MR, L1, R11, R12, R13, R1] },\n { activePixels: ALL },\n { activePixels: ALL },\n { activePixels: [] },\n ],\n cycleDuration: 2500,\n },\n\n \"zap-discharging\": {\n name: \"Battery Discharging\",\n description: \"Drain from top (green->yellow) - indicates battery discharging\",\n frames: [\n { activePixels: ALL },\n { activePixels: [L1, R11, R12, R13, R1, ML, M1, MC, M3, MR, L3, R31, R32, R33, R3, BL, B1, BC, B3, BR] },\n { activePixels: [ML, M1, MC, M3, MR, L3, R31, R32, R33, R3, BL, B1, BC, B3, BR] },\n { activePixels: [L3, R31, R32, R33, R3, BL, B1, BC, B3, BR] },\n { activePixels: [BL, B1, BC, B3, BR] },\n { activePixels: [] },\n { activePixels: ALL },\n { activePixels: ALL },\n ],\n cycleDuration: 2500,\n },\n\n \"zap-peak-alert\": {\n name: \"Peak Approaching\",\n description: \"Fast frame pulse (orange) - indicates peak pricing/demand approaching\",\n frames: [\n { activePixels: FRAME },\n { activePixels: [] },\n { activePixels: FRAME },\n { activePixels: [] },\n { activePixels: FRAME },\n { activePixels: FRAME },\n ],\n cycleDuration: 800,\n },\n\n \"zap-grid-event\": {\n name: \"Grid Event Active\",\n description: \"Rapid corners sync (bright green) - indicates grid event participation\",\n frames: [\n { activePixels: [TL, TR, BL, BR] },\n { activePixels: ALL },\n { activePixels: [TL, TR, BL, BR] },\n { activePixels: ALL },\n ],\n cycleDuration: 600,\n },\n\n // ============================================================\n // 6. CONTROL MODE STATES (3 animations)\n // ============================================================\n\n \"zap-local\": {\n name: \"Local Control\",\n description: \"L shape indicator (green) - indicates local control mode\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL] },\n { activePixels: [TL, L1] },\n { activePixels: [TL, L1, ML] },\n { activePixels: [TL, L1, ML, L3] },\n { activePixels: [TL, L1, ML, L3, BL, B1, BC] },\n { activePixels: [TL, L1, ML, L3, BL, B1, BC] },\n { activePixels: [TL, L1, ML, L3, BL, B1, BC] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-remote\": {\n name: \"Remote Control\",\n description: \"Cloud-like pattern (blue) - indicates remote/cloud control mode\",\n frames: [\n { activePixels: [] },\n { activePixels: [R11, R12, R13] },\n { activePixels: [T1, TC, T3, R11, R12, R13, M1, M3] },\n { activePixels: [T1, TC, T3, R11, R12, R13, M1, MC, M3] },\n { activePixels: [T1, TC, T3, R11, R12, R13, M1, MC, M3] },\n { activePixels: [T1, TC, T3, R11, R12, R13, M1, M3] },\n { activePixels: [R11, R12, R13] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-scheduled\": {\n name: \"Scheduled Mode\",\n description: \"Clock rotation (purple suggested) - indicates scheduled/timer mode\",\n frames: [\n { activePixels: [TC, MC] },\n { activePixels: [R13, MC] },\n { activePixels: [MR, MC] },\n { activePixels: [R33, MC] },\n { activePixels: [BC, MC] },\n { activePixels: [R31, MC] },\n { activePixels: [ML, MC] },\n { activePixels: [R11, MC] },\n ],\n cycleDuration: 2000,\n },\n\n // ============================================================\n // 7. ERROR STATES (3 animations)\n // ============================================================\n\n \"zap-error\": {\n name: \"Error\",\n description: \"X pattern (red) - indicates error state\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, TR, MC, BL, BR] },\n { activePixels: [TL, R11, TR, R13, MC, R31, BL, R33, BR] },\n { activePixels: [TL, R11, TR, R13, MC, R31, BL, R33, BR] },\n { activePixels: [TL, R11, TR, R13, MC, R31, BL, R33, BR] },\n { activePixels: [] },\n { activePixels: [TL, R11, TR, R13, MC, R31, BL, R33, BR] },\n { activePixels: [] },\n ],\n cycleDuration: 1200,\n },\n\n \"zap-warning\": {\n name: \"Warning\",\n description: \"Triangle blink (orange) - indicates warning state\",\n frames: [\n { activePixels: [] },\n { activePixels: [TC] },\n { activePixels: [TC, R11, R13] },\n { activePixels: [TC, R11, R13, ML, MR] },\n { activePixels: [TC, R11, R13, ML, MR, BL, B1, BC, B3, BR] },\n { activePixels: [TC, R11, R13, ML, MR, BL, B1, BC, B3, BR] },\n { activePixels: [] },\n { activePixels: [TC, R11, R13, ML, MR, BL, B1, BC, B3, BR] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-updating\": {\n name: \"Firmware Update\",\n description: \"Progress bar fill (blue) - indicates firmware update in progress\",\n frames: [\n { activePixels: [ML] },\n { activePixels: [ML, M1] },\n { activePixels: [ML, M1, MC] },\n { activePixels: [ML, M1, MC, M3] },\n { activePixels: [ML, M1, MC, M3, MR] },\n { activePixels: [ML, M1, MC, M3, MR] },\n { activePixels: [ML, M1, MC, M3, MR] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n\n // ============================================================\n // 8. V2X/EV SPECIFIC (4 animations)\n // ============================================================\n\n \"zap-ev-connected\": {\n name: \"Vehicle Connected\",\n description: \"Plug icon pattern (blue) - indicates EV connected\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, T3] },\n { activePixels: [T1, R11, R13, T3] },\n { activePixels: [T1, R11, R12, R13, T3] },\n { activePixels: [T1, R11, R12, R13, T3, MC] },\n { activePixels: [T1, R11, R12, R13, T3, MC, R32] },\n { activePixels: [T1, R11, R12, R13, T3, MC, R32, BC] },\n { activePixels: [T1, R11, R12, R13, T3, MC, R32, BC] },\n { activePixels: [T1, R11, R12, R13, T3, MC, R32, BC] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-ev-charging\": {\n name: \"EV Charging\",\n description: \"Upward flow (blue->green) - indicates EV is charging\",\n frames: [\n { activePixels: [BC] },\n { activePixels: [R32] },\n { activePixels: [MC] },\n { activePixels: [R12] },\n { activePixels: [TC] },\n { activePixels: [] },\n ],\n cycleDuration: 800,\n },\n\n \"zap-v2x-active\": {\n name: \"V2X Bidirectional\",\n description: \"Alternating flow (green+blue) - indicates V2X bidirectional mode\",\n frames: [\n { activePixels: [TC, R12] },\n { activePixels: [MC] },\n { activePixels: [R32, BC] },\n { activePixels: [MC] },\n ],\n cycleDuration: 600,\n },\n\n \"zap-ev-complete\": {\n name: \"Charge Complete\",\n description: \"Checkmark/success (green) - indicates charging complete\",\n frames: [\n { activePixels: [] },\n { activePixels: [R31] },\n { activePixels: [R31, BL] },\n { activePixels: [R31, BL, MC] },\n { activePixels: [R31, BL, MC, R13] },\n { activePixels: [R31, BL, MC, R13, TR] },\n // Hold checkmark\n { activePixels: [R31, BL, MC, R13, TR] },\n { activePixels: [R31, BL, MC, R13, TR] },\n { activePixels: [R31, BL, MC, R13, TR] },\n { activePixels: [R31, BL, MC, R13, TR] },\n { activePixels: [] },\n ],\n cycleDuration: 2500,\n },\n\n // ============================================================\n // 9. P1 METER SPECIFIC (3 animations)\n // ============================================================\n\n \"zap-meter-reading\": {\n name: \"Meter Reading\",\n description: \"Horizontal scan (cyan) - indicates meter reading in progress\",\n frames: [\n { activePixels: [TL, L1, ML, L3, BL] },\n { activePixels: [T1, R11, M1, R31, B1] },\n { activePixels: [TC, R12, MC, R32, BC] },\n { activePixels: [T3, R13, M3, R33, B3] },\n { activePixels: [TR, R1, MR, R3, BR] },\n { activePixels: [T3, R13, M3, R33, B3] },\n { activePixels: [TC, R12, MC, R32, BC] },\n { activePixels: [T1, R11, M1, R31, B1] },\n ],\n cycleDuration: 1200,\n },\n\n \"zap-meter-connected\": {\n name: \"P1 Connected\",\n description: \"P indicator (green) - indicates P1 meter connected\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, L1, R11, R12, ML, M1, L3, BL] },\n { activePixels: [T1, L1, R11, R12, ML, M1, L3, BL] },\n { activePixels: [T1, L1, R11, R12, ML, M1, L3, BL] },\n { activePixels: [T1, L1, R11, R12, ML, M1, L3, BL] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-phase-balance\": {\n name: \"Phase Indicator\",\n description: \"3 vertical columns (RGB suggested) - indicates 3-phase balance\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, R11, M1, R31, B1] },\n { activePixels: [T1, R11, M1, R31, B1, TC, R12, MC, R32, BC] },\n { activePixels: [T1, R11, M1, R31, B1, TC, R12, MC, R32, BC, T3, R13, M3, R33, B3] },\n { activePixels: [T1, R11, M1, R31, B1, TC, R12, MC, R32, BC, T3, R13, M3, R33, B3] },\n { activePixels: [T1, R11, M1, R31, B1, TC, R12, MC, R32, BC, T3, R13, M3, R33, B3] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n // ============================================================\n // 10. SOC DISPLAY (5 static states with pulse)\n // ============================================================\n\n \"zap-soc-0\": {\n name: \"SoC 0-20%\",\n description: \"1 row lit (red) - indicates critical battery level\",\n frames: [\n { activePixels: [] },\n { activePixels: [BL, B1, BC, B3, BR] },\n { activePixels: [BL, B1, BC, B3, BR] },\n { activePixels: [] },\n { activePixels: [BL, B1, BC, B3, BR] },\n { activePixels: [BL, B1, BC, B3, BR] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-soc-25\": {\n name: \"SoC 20-40%\",\n description: \"2 rows lit (orange) - indicates low battery level\",\n frames: [\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3] },\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3] },\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-soc-50\": {\n name: \"SoC 40-60%\",\n description: \"3 rows lit (yellow) - indicates medium battery level\",\n frames: [\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3, ML, M1, MC, M3, MR] },\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3, ML, M1, MC, M3, MR] },\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3, ML, M1, MC, M3, MR] },\n { activePixels: [] },\n ],\n cycleDuration: 3000,\n },\n\n \"zap-soc-75\": {\n name: \"SoC 60-80%\",\n description: \"4 rows lit (light green) - indicates good battery level\",\n frames: [\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3, ML, M1, MC, M3, MR, L1, R11, R12, R13, R1] },\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3, ML, M1, MC, M3, MR, L1, R11, R12, R13, R1] },\n { activePixels: [BL, B1, BC, B3, BR, L3, R31, R32, R33, R3, ML, M1, MC, M3, MR, L1, R11, R12, R13, R1] },\n { activePixels: [] },\n ],\n cycleDuration: 4000,\n },\n\n \"zap-soc-100\": {\n name: \"SoC 80-100%\",\n description: \"5 rows lit (green) - indicates full battery\",\n frames: [\n { activePixels: ALL },\n { activePixels: ALL },\n { activePixels: ALL },\n { activePixels: ALL },\n ],\n cycleDuration: 5000,\n },\n\n // ============================================================\n // 11. FUN & DECORATIVE\n // ============================================================\n\n \"zap-smiley\": {\n name: \"Smiley Face\",\n description: \"Happy face - for success or celebration\",\n frames: [\n { activePixels: [] },\n // Eyes and smile\n { activePixels: [R11, R13, L3, R31, R32, R33, R3] },\n { activePixels: [R11, R13, L3, R31, R32, R33, R3] },\n { activePixels: [R11, R13, L3, R31, R32, R33, R3] },\n { activePixels: [R11, R13, L3, R31, R32, R33, R3] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-smiley-wink\": {\n name: \"Winking Smiley\",\n description: \"Playful winking face animation\",\n frames: [\n { activePixels: [R11, R13, L3, R31, R32, R33, R3] },\n { activePixels: [R11, R13, L3, R31, R32, R33, R3] },\n { activePixels: [M1, R13, L3, R31, R32, R33, R3] }, // wink left eye\n { activePixels: [M1, R13, L3, R31, R32, R33, R3] },\n { activePixels: [R11, R13, L3, R31, R32, R33, R3] },\n { activePixels: [R11, R13, L3, R31, R32, R33, R3] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-heart\": {\n name: \"Heart\",\n description: \"Heart shape - for love and favorites\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, T3, L1, R11, R12, R13, R1, ML, M1, MC, M3, MR, R31, R32, R33, BC] },\n { activePixels: [T1, T3, L1, R11, R12, R13, R1, ML, M1, MC, M3, MR, R31, R32, R33, BC] },\n { activePixels: [T1, T3, L1, R11, R12, R13, R1, ML, M1, MC, M3, MR, R31, R32, R33, BC] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-heart-beat\": {\n name: \"Heart Beat\",\n description: \"Pulsing heart - for health or love\",\n frames: [\n { activePixels: [R12, M1, MC, M3, R32] }, // small heart\n { activePixels: [T1, T3, L1, R11, R12, R13, R1, ML, M1, MC, M3, MR, R31, R32, R33, BC] }, // big\n { activePixels: [T1, T3, L1, R11, R12, R13, R1, ML, M1, MC, M3, MR, R31, R32, R33, BC] },\n { activePixels: [R12, M1, MC, M3, R32] }, // small\n { activePixels: [R12, M1, MC, M3, R32] },\n { activePixels: [T1, T3, L1, R11, R12, R13, R1, ML, M1, MC, M3, MR, R31, R32, R33, BC] },\n ],\n cycleDuration: 1200,\n },\n\n \"zap-star\": {\n name: \"Star\",\n description: \"Star shape - for ratings and favorites\",\n frames: [\n { activePixels: [] },\n { activePixels: [TC, R11, R12, R13, ML, M1, MC, M3, MR, R31, R33, BL, BR] },\n { activePixels: [TC, R11, R12, R13, ML, M1, MC, M3, MR, R31, R33, BL, BR] },\n { activePixels: [TC, R11, R12, R13, ML, M1, MC, M3, MR, R31, R33, BL, BR] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-star-spin\": {\n name: \"Spinning Star\",\n description: \"Rotating star animation\",\n frames: [\n { activePixels: [TC, MC, BC] },\n { activePixels: [R13, MC, R31] },\n { activePixels: [ML, MC, MR] },\n { activePixels: [R11, MC, R33] },\n { activePixels: [TC, MC, BC] },\n ],\n cycleDuration: 800,\n },\n\n \"zap-fireworks\": {\n name: \"Fireworks\",\n description: \"Explosive celebration animation\",\n frames: [\n { activePixels: [BC] },\n { activePixels: [MC] },\n { activePixels: [TC, R12] },\n { activePixels: [TL, TC, TR, R11, R13] },\n { activePixels: [TL, T1, TC, T3, TR, L1, R11, R12, R13, R1] },\n { activePixels: [TL, TR, L1, R1, ML, MR] },\n { activePixels: [TL, TR, BL, BR] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-confetti\": {\n name: \"Confetti\",\n description: \"Random celebration sparkles\",\n frames: [\n { activePixels: [TL, R13, M1, R3, BC] },\n { activePixels: [T1, R11, MR, R31, B3] },\n { activePixels: [TC, L1, MC, R33, BL] },\n { activePixels: [T3, R1, M3, L3, B1] },\n { activePixels: [TR, R12, ML, R32, BR] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-flower\": {\n name: \"Flower\",\n description: \"Blooming flower animation\",\n frames: [\n { activePixels: [] },\n { activePixels: [MC] },\n { activePixels: [MC, R12, M1, M3, R32] },\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R31, R32, R33, BC] },\n { activePixels: [TC, R11, R12, R13, ML, M1, MC, M3, MR, R31, R32, R33, BC] },\n { activePixels: [TC, R11, R12, R13, ML, M1, MC, M3, MR, R31, R32, R33, BC] },\n { activePixels: [MC, R12, M1, M3, R32] },\n { activePixels: [] },\n ],\n cycleDuration: 2500,\n },\n\n \"zap-sun\": {\n name: \"Sun\",\n description: \"Radiating sun - for solar energy\",\n frames: [\n { activePixels: [R11, R12, R13, M1, MC, M3, R31, R32, R33] }, // core\n { activePixels: [TC, R11, R12, R13, ML, M1, MC, M3, MR, R31, R32, R33, BC] }, // + rays\n { activePixels: [TL, TC, TR, R11, R12, R13, ML, M1, MC, M3, MR, R31, R32, R33, BL, BC, BR] },\n { activePixels: [TC, R11, R12, R13, ML, M1, MC, M3, MR, R31, R32, R33, BC] },\n { activePixels: [R11, R12, R13, M1, MC, M3, R31, R32, R33] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-moon\": {\n name: \"Moon\",\n description: \"Crescent moon - for night mode\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, TC, T3, L1, R13, R1, ML, MR, L3, R3, B1, BC, B3] }, // full moon outline\n { activePixels: [T1, TC, L1, ML, L3, B1, BC] }, // crescent\n { activePixels: [T1, TC, L1, ML, L3, B1, BC] },\n { activePixels: [T1, TC, T3, L1, R13, R1, ML, MR, L3, R3, B1, BC, B3] },\n { activePixels: [] },\n ],\n cycleDuration: 3000,\n },\n\n \"zap-cloud\": {\n name: \"Cloud\",\n description: \"Fluffy cloud shape\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, TC, T3, L1, R11, R12, R13, R1, ML, M1, MC, M3, MR] },\n { activePixels: [T1, TC, T3, L1, R11, R12, R13, R1, ML, M1, MC, M3, MR] },\n { activePixels: [T1, TC, T3, L1, R11, R12, R13, R1, ML, M1, MC, M3, MR] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-rain\": {\n name: \"Rain\",\n description: \"Falling raindrops animation\",\n frames: [\n { activePixels: [T1, T3, R11, R13] },\n { activePixels: [R11, R13, M1, M3] },\n { activePixels: [M1, M3, R31, R33] },\n { activePixels: [R31, R33, B1, B3] },\n { activePixels: [B1, B3, TC, R12] },\n { activePixels: [TC, R12, R11, R13] },\n ],\n cycleDuration: 900,\n },\n\n \"zap-snow\": {\n name: \"Snow\",\n description: \"Falling snowflakes\",\n frames: [\n { activePixels: [TL, TC, TR] },\n { activePixels: [L1, R12, R1] },\n { activePixels: [TL, ML, MC, MR, TR] },\n { activePixels: [L3, R32, R3] },\n { activePixels: [BL, BC, BR] },\n { activePixels: [R31, R33] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-waves\": {\n name: \"Waves\",\n description: \"Ocean wave animation\",\n frames: [\n { activePixels: [TL, TC, TR, R11, R13] },\n { activePixels: [T1, T3, L1, R12, R1, R11, R13] },\n { activePixels: [TL, TC, TR, R11, R12, R13] },\n { activePixels: [T1, T3, L1, R1, R11, R13] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-fire\": {\n name: \"Fire\",\n description: \"Flickering flames\",\n frames: [\n { activePixels: [MC, R31, R32, R33, BL, B1, BC, B3, BR] },\n { activePixels: [R12, M1, MC, M3, R31, R32, R33, B1, BC, B3] },\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R32, BC] },\n { activePixels: [R12, MC, R32, R31, R33, B1, BC, B3] },\n { activePixels: [M1, MC, M3, R31, R32, R33, BL, B1, BC, B3, BR] },\n ],\n cycleDuration: 600,\n },\n\n \"zap-tree\": {\n name: \"Tree\",\n description: \"Simple tree shape - for nature/eco\",\n frames: [\n { activePixels: [] },\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R32, BC] }, // tree\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R32, BC] },\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R32, BC] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-house\": {\n name: \"House\",\n description: \"Home icon - for home automation\",\n frames: [\n { activePixels: [] },\n { activePixels: [TC, R11, R13, ML, M1, MC, M3, MR, L3, R31, R33, R3, BL, B1, B3, BR] },\n { activePixels: [TC, R11, R13, ML, M1, MC, M3, MR, L3, R31, R33, R3, BL, B1, B3, BR] },\n { activePixels: [TC, R11, R13, ML, M1, MC, M3, MR, L3, R31, R33, R3, BL, B1, B3, BR] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-car\": {\n name: \"Car\",\n description: \"Simple car shape - side view\",\n frames: [\n { activePixels: [R11, R12, R13, ML, M1, MC, M3, MR, R31, R33] }, // car body + wheels\n { activePixels: [R11, R12, R13, ML, M1, MC, M3, MR, R31, R33] },\n // wheels spin effect\n { activePixels: [R11, R12, R13, ML, M1, MC, M3, MR, L3, R3] },\n { activePixels: [R11, R12, R13, ML, M1, MC, M3, MR, L3, R3] },\n ],\n cycleDuration: 800,\n },\n\n \"zap-rocket\": {\n name: \"Rocket\",\n description: \"Rocket launch animation\",\n frames: [\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, L3, R32, R3, BC] }, // rocket\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, L3, R32, R3, B1, BC, B3] }, // + flame\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, L3, R32, R3, BL, B1, BC, B3, BR] }, // bigger flame\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, L3, R32, R3, B1, BC, B3] },\n ],\n cycleDuration: 600,\n },\n\n \"zap-ghost\": {\n name: \"Ghost\",\n description: \"Spooky ghost animation\",\n frames: [\n { activePixels: [T1, TC, T3, L1, R11, R13, R1, ML, M1, MC, M3, MR, L3, R31, R33, R3, BL, BC, BR] },\n { activePixels: [T1, TC, T3, L1, R11, R13, R1, ML, M1, MC, M3, MR, L3, R31, R33, R3, B1, B3] },\n { activePixels: [T1, TC, T3, L1, R11, R13, R1, ML, M1, MC, M3, MR, L3, R31, R33, R3, BL, BC, BR] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-skull\": {\n name: \"Skull\",\n description: \"Skull icon - for danger/death\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, TC, T3, L1, R11, R13, R1, ML, MC, MR, R31, R32, R33] },\n { activePixels: [T1, TC, T3, L1, R11, R13, R1, ML, MC, MR, R31, R32, R33] },\n { activePixels: [] },\n { activePixels: [T1, TC, T3, L1, R11, R13, R1, ML, MC, MR, R31, R32, R33] },\n { activePixels: [] },\n ],\n cycleDuration: 1200,\n },\n\n \"zap-cat\": {\n name: \"Cat\",\n description: \"Cat face with animated ears\",\n frames: [\n { activePixels: [TL, TR, R11, R13, ML, MC, MR, R31, R33] }, // ears up\n { activePixels: [TL, TR, R11, R13, ML, MC, MR, R31, R33] },\n { activePixels: [L1, R1, R11, R13, ML, MC, MR, R31, R33] }, // ears down\n { activePixels: [TL, TR, R11, R13, ML, MC, MR, R31, R33] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-fish\": {\n name: \"Fish\",\n description: \"Swimming fish animation\",\n frames: [\n { activePixels: [R11, M1, MC, M3, MR, R3, R32] },\n { activePixels: [R11, R12, M1, MC, M3, R33, R32] },\n { activePixels: [L1, R12, ML, M1, MC, M3, R32] },\n { activePixels: [R11, R12, M1, MC, M3, R33, R32] },\n ],\n cycleDuration: 800,\n },\n\n \"zap-music\": {\n name: \"Music Note\",\n description: \"Musical note animation\",\n frames: [\n { activePixels: [] },\n { activePixels: [T3, TR, R13, R1, MR, R3, R33, B3] },\n { activePixels: [T3, TR, R13, R1, MR, R3, R33, B3] },\n { activePixels: [T3, TR, R13, R1, MR, R3, R33, B3] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n\n // ============================================================\n // 12. EMOJIS & SYMBOLS\n // ============================================================\n\n \"zap-checkmark\": {\n name: \"Checkmark\",\n description: \"Success/done indicator\",\n frames: [\n { activePixels: [] },\n { activePixels: [R31] },\n { activePixels: [R31, BL] },\n { activePixels: [R31, BL, MC] },\n { activePixels: [R31, BL, MC, R13] },\n { activePixels: [R31, BL, MC, R13, TR] },\n { activePixels: [R31, BL, MC, R13, TR] },\n { activePixels: [R31, BL, MC, R13, TR] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-cross\": {\n name: \"Cross/X\",\n description: \"Cancel/error indicator\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, TR, MC, BL, BR] },\n { activePixels: [TL, R11, TR, R13, MC, R31, BL, R33, BR] },\n { activePixels: [TL, R11, TR, R13, MC, R31, BL, R33, BR] },\n { activePixels: [] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-question\": {\n name: \"Question Mark\",\n description: \"Help/unknown indicator\",\n frames: [\n { activePixels: [] },\n { activePixels: [T1, TC, T3, R1, R13, MC, BC] },\n { activePixels: [T1, TC, T3, R1, R13, MC, BC] },\n { activePixels: [T1, TC, T3, R1, R13, MC] }, // blink dot\n { activePixels: [T1, TC, T3, R1, R13, MC, BC] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-exclaim\": {\n name: \"Exclamation Mark\",\n description: \"Alert/important indicator\",\n frames: [\n { activePixels: [] },\n { activePixels: [TC, R12, MC, BC] },\n { activePixels: [TC, R12, MC, BC] },\n { activePixels: [TC, R12, MC] }, // blink dot\n { activePixels: [TC, R12, MC, BC] },\n { activePixels: [] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-arrow-up\": {\n name: \"Arrow Up\",\n description: \"Upward direction indicator\",\n frames: [\n { activePixels: [TC, R11, R12, R13, MC, R32, BC] },\n { activePixels: [TC, R11, R12, R13, MC, R32, BC] },\n { activePixels: [] },\n { activePixels: [TC, R11, R12, R13, MC, R32, BC] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-arrow-down\": {\n name: \"Arrow Down\",\n description: \"Downward direction indicator\",\n frames: [\n { activePixels: [TC, R12, MC, R31, R32, R33, BC] },\n { activePixels: [TC, R12, MC, R31, R32, R33, BC] },\n { activePixels: [] },\n { activePixels: [TC, R12, MC, R31, R32, R33, BC] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-arrow-left\": {\n name: \"Arrow Left\",\n description: \"Leftward direction indicator\",\n frames: [\n { activePixels: [R12, ML, M1, MC, M3, R32] },\n { activePixels: [R12, ML, M1, MC, M3, R32] },\n { activePixels: [] },\n { activePixels: [R12, ML, M1, MC, M3, R32] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-arrow-right\": {\n name: \"Arrow Right\",\n description: \"Rightward direction indicator\",\n frames: [\n { activePixels: [R12, M1, MC, M3, MR, R32] },\n { activePixels: [R12, M1, MC, M3, MR, R32] },\n { activePixels: [] },\n { activePixels: [R12, M1, MC, M3, MR, R32] },\n ],\n cycleDuration: 1000,\n },\n\n \"zap-play\": {\n name: \"Play\",\n description: \"Media play button\",\n frames: [\n { activePixels: [] },\n { activePixels: [R11, M1, MC, R31, R32] },\n { activePixels: [R11, R12, M1, MC, M3, R31, R32, R33] },\n { activePixels: [R11, R12, R13, M1, MC, M3, MR, R31, R32, R33] },\n { activePixels: [R11, R12, R13, M1, MC, M3, MR, R31, R32, R33] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-pause\": {\n name: \"Pause\",\n description: \"Media pause button\",\n frames: [\n { activePixels: [] },\n { activePixels: [R11, R13, M1, M3, R31, R33] },\n { activePixels: [R11, R13, M1, M3, R31, R33] },\n { activePixels: [R11, R13, M1, M3, R31, R33] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-stop\": {\n name: \"Stop\",\n description: \"Media stop button\",\n frames: [\n { activePixels: [] },\n { activePixels: [R11, R12, R13, M1, MC, M3, R31, R32, R33] },\n { activePixels: [R11, R12, R13, M1, MC, M3, R31, R32, R33] },\n { activePixels: [R11, R12, R13, M1, MC, M3, R31, R32, R33] },\n { activePixels: [] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-power\": {\n name: \"Power\",\n description: \"Power button symbol\",\n frames: [\n { activePixels: [] },\n { activePixels: [TC, R12, L1, R1, ML, MC, MR, L3, R3, B1, BC, B3] },\n { activePixels: [TC, R12, L1, R1, ML, MC, MR, L3, R3, B1, BC, B3] },\n { activePixels: [TC, R12, L1, R1, ML, MC, MR, L3, R3, B1, BC, B3] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-wifi-bars\": {\n name: \"WiFi Bars\",\n description: \"WiFi signal strength animation\",\n frames: [\n { activePixels: [BC] },\n { activePixels: [BC, R31, R32, R33] },\n { activePixels: [BC, R31, R32, R33, M1, MC, M3] },\n { activePixels: [BC, R31, R32, R33, M1, MC, M3, R11, R12, R13] },\n { activePixels: [BC, R31, R32, R33, M1, MC, M3, R11, R12, R13, TC] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-signal\": {\n name: \"Signal Bars\",\n description: \"Cellular signal strength\",\n frames: [\n { activePixels: [BL] },\n { activePixels: [BL, L3, B1] },\n { activePixels: [BL, L3, B1, ML, R31, BC] },\n { activePixels: [BL, L3, B1, ML, R31, BC, L1, R32, B3] },\n { activePixels: [BL, L3, B1, ML, R31, BC, L1, R32, B3, TL, R33, BR] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-hourglass\": {\n name: \"Hourglass\",\n description: \"Loading/waiting animation\",\n frames: [\n { activePixels: [TL, T1, TC, T3, TR, R11, R13, MC, R31, R33, BL, B1, BC, B3, BR] },\n { activePixels: [TL, T1, TC, T3, TR, MC, R31, R33, BL, B1, BC, B3, BR] },\n { activePixels: [TL, T1, TC, T3, TR, R31, R32, R33, BL, B1, BC, B3, BR] },\n { activePixels: [TL, T1, TC, T3, TR, R11, R13, MC, R31, R33, BL, B1, BC, B3, BR] },\n ],\n cycleDuration: 1200,\n },\n\n \"zap-clock\": {\n name: \"Clock\",\n description: \"Time/clock face animation\",\n frames: [\n { activePixels: [T1, TC, T3, L1, MC, R1, ML, MR, L3, R3, B1, BC, B3, R12] }, // 12 o'clock\n { activePixels: [T1, TC, T3, L1, MC, R1, ML, MR, L3, R3, B1, BC, B3, R13] }, // 3\n { activePixels: [T1, TC, T3, L1, MC, R1, ML, MR, L3, R3, B1, BC, B3, R32] }, // 6\n { activePixels: [T1, TC, T3, L1, MC, R1, ML, MR, L3, R3, B1, BC, B3, R31] }, // 9\n ],\n cycleDuration: 2000,\n },\n\n \"zap-bell\": {\n name: \"Bell\",\n description: \"Notification bell animation\",\n frames: [\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R31, R32, R33, BC] },\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R31, R32, R33, B1] }, // swing left\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R31, R32, R33, BC] },\n { activePixels: [TC, R11, R12, R13, M1, MC, M3, R31, R32, R33, B3] }, // swing right\n ],\n cycleDuration: 800,\n },\n\n \"zap-mail\": {\n name: \"Mail/Envelope\",\n description: \"Message/email indicator\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, TC, TR, L1, R11, R13, R1, ML, M1, M3, MR, L3, R31, R32, R33, R3] },\n { activePixels: [TL, TC, TR, L1, R11, R13, R1, ML, M1, M3, MR, L3, R31, R32, R33, R3] },\n { activePixels: [TL, TC, TR, L1, R11, R13, R1, ML, M1, M3, MR, L3, R31, R32, R33, R3] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n // ============================================================\n // 13. GAMES & FUN\n // ============================================================\n\n \"zap-pacman\": {\n name: \"Pac-Man\",\n description: \"Classic arcade chomping animation\",\n frames: [\n { activePixels: [T1, TC, T3, L1, R11, R12, R13, ML, M1, MC, L3, R31, R32, R33, B1, BC, B3] }, // open\n { activePixels: [T1, TC, T3, L1, R11, R12, R13, R1, ML, M1, MC, M3, MR, L3, R31, R32, R33, R3, B1, BC, B3] }, // closed\n ],\n cycleDuration: 500,\n },\n\n \"zap-space-invader\": {\n name: \"Space Invader\",\n description: \"Classic arcade alien animation\",\n frames: [\n { activePixels: [T1, T3, R11, R12, R13, TL, TC, TR, ML, M1, MC, M3, MR, R31, R33] }, // arms up\n { activePixels: [T1, T3, R11, R12, R13, TL, TC, TR, ML, M1, MC, M3, MR, L3, R3] }, // arms down\n ],\n cycleDuration: 800,\n },\n\n \"zap-tetris\": {\n name: \"Tetris\",\n description: \"Falling tetris blocks\",\n frames: [\n { activePixels: [T1, TC, T3, TR] }, // T piece at top\n { activePixels: [R11, R12, R13, R1] },\n { activePixels: [M1, MC, M3, MR] },\n { activePixels: [R31, R32, R33, R3] },\n { activePixels: [B1, BC, B3, BR, R31, R32, R33, R3] }, // landed\n { activePixels: [B1, BC, B3, BR, R31, R32, R33, R3] },\n ],\n cycleDuration: 1500,\n },\n\n \"zap-dice\": {\n name: \"Dice\",\n description: \"Rolling dice animation\",\n frames: [\n { activePixels: [MC] }, // 1\n { activePixels: [R11, R33] }, // 2\n { activePixels: [R11, MC, R33] }, // 3\n { activePixels: [R11, R13, R31, R33] }, // 4\n { activePixels: [R11, R13, MC, R31, R33] }, // 5\n { activePixels: [R11, R13, M1, M3, R31, R33] }, // 6\n ],\n cycleDuration: 1800,\n },\n\n \"zap-crown\": {\n name: \"Crown\",\n description: \"Royal crown icon\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, TC, TR, R11, R12, R13, ML, M1, MC, M3, MR] },\n { activePixels: [TL, TC, TR, R11, R12, R13, ML, M1, MC, M3, MR] },\n { activePixels: [TL, TC, TR, R11, R12, R13, ML, M1, MC, M3, MR] },\n { activePixels: [] },\n ],\n cycleDuration: 2000,\n },\n\n \"zap-trophy\": {\n name: \"Trophy\",\n description: \"Winner trophy icon\",\n frames: [\n { activePixels: [] },\n { activePixels: [TL, T1, TC, T3, TR, L1, R11, R12, R13, R1, R11, R13, R31, R32, R33, BC] },\n { activePixels: [TL, T1, TC, T3, TR, L1, R11, R12, R13, R1, R11, R13, R31, R32, R33, BC] },\n // sparkle\n { activePixels: [TL, T1, TC, T3, TR, L1, R11, R12, R13, R1, R11, R13, R31, R32, R33, BC, ML, MR, BL, BR] },\n { activePixels: [TL, T1, TC, T3, TR, L1, R11, R12, R13, R1, R11, R13, R31, R32, R33, BC] },\n ],\n cycleDuration: 2000,\n },\n};\n\n// Export pattern names for use in showcase\nexport const zapPatternNames = Object.keys(zapPatterns) as ZapPatternType[];\n\n// Group patterns by category for organized display\nexport const zapPatternCategories: Record<string, ZapPatternType[]> = {\n \"Startup & Identity\": [\"zap-boot\", \"zap-ready\", \"zap-logo\"],\n \"Connection\": [\"zap-pairing\", \"zap-connecting\", \"zap-connected\", \"zap-no-network\"],\n \"Operational\": [\"zap-active\", \"zap-standby\", \"zap-offline\"],\n \"Data\": [\"zap-data-tx\", \"zap-syncing\", \"zap-no-data\"],\n \"Energy Flow\": [\"zap-importing\", \"zap-exporting\", \"zap-charging\", \"zap-discharging\", \"zap-peak-alert\", \"zap-grid-event\"],\n \"Control Mode\": [\"zap-local\", \"zap-remote\", \"zap-scheduled\"],\n \"Error\": [\"zap-error\", \"zap-warning\", \"zap-updating\"],\n \"V2X/EV\": [\"zap-ev-connected\", \"zap-ev-charging\", \"zap-v2x-active\", \"zap-ev-complete\"],\n \"P1 Meter\": [\"zap-meter-reading\", \"zap-meter-connected\", \"zap-phase-balance\"],\n \"Battery SoC\": [\"zap-soc-0\", \"zap-soc-25\", \"zap-soc-50\", \"zap-soc-75\", \"zap-soc-100\"],\n \"Fun & Decorative\": [\n \"zap-smiley\", \"zap-smiley-wink\", \"zap-heart\", \"zap-heart-beat\",\n \"zap-star\", \"zap-star-spin\", \"zap-fireworks\", \"zap-confetti\",\n \"zap-flower\", \"zap-sun\", \"zap-moon\", \"zap-cloud\", \"zap-rain\", \"zap-snow\",\n \"zap-waves\", \"zap-fire\", \"zap-tree\", \"zap-house\", \"zap-car\",\n \"zap-rocket\", \"zap-ghost\", \"zap-skull\", \"zap-cat\", \"zap-fish\", \"zap-music\"\n ],\n \"Emojis & Symbols\": [\n \"zap-checkmark\", \"zap-cross\",\n \"zap-question\", \"zap-exclaim\", \"zap-arrow-up\", \"zap-arrow-down\",\n \"zap-arrow-left\", \"zap-arrow-right\", \"zap-play\", \"zap-pause\", \"zap-stop\",\n \"zap-power\", \"zap-wifi-bars\", \"zap-signal\", \"zap-hourglass\", \"zap-clock\",\n \"zap-bell\", \"zap-mail\"\n ],\n \"Games & Fun\": [\"zap-pacman\", \"zap-space-invader\", \"zap-tetris\", \"zap-dice\", \"zap-crown\", \"zap-trophy\"],\n};\n\n// Color recommendations for each pattern\nexport const zapPatternColors: Record<ZapPatternType, string> = {\n // Startup & Identity - Green (brand)\n \"zap-boot\": \"green\",\n \"zap-ready\": \"green\",\n \"zap-logo\": \"green\",\n // Connection - Blue\n \"zap-pairing\": \"blue\",\n \"zap-connecting\": \"blue\",\n \"zap-connected\": \"green\",\n \"zap-no-network\": \"pink\", // orange/red\n // Operational\n \"zap-active\": \"green\",\n \"zap-standby\": \"green\",\n \"zap-offline\": \"blue\", // gray\n // Data\n \"zap-data-tx\": \"blue\",\n \"zap-syncing\": \"blue\",\n \"zap-no-data\": \"pink\", // yellow\n // Energy Flow\n \"zap-importing\": \"pink\", // yellow\n \"zap-exporting\": \"green\",\n \"zap-charging\": \"blue\",\n \"zap-discharging\": \"green\",\n \"zap-peak-alert\": \"pink\", // orange\n \"zap-grid-event\": \"green\",\n // Control Mode\n \"zap-local\": \"green\",\n \"zap-remote\": \"blue\",\n \"zap-scheduled\": \"blue\", // purple\n // Error\n \"zap-error\": \"pink\", // red\n \"zap-warning\": \"pink\", // orange\n \"zap-updating\": \"blue\",\n // V2X/EV\n \"zap-ev-connected\": \"blue\",\n \"zap-ev-charging\": \"blue\",\n \"zap-v2x-active\": \"green\",\n \"zap-ev-complete\": \"green\",\n // P1 Meter\n \"zap-meter-reading\": \"blue\", // cyan\n \"zap-meter-connected\": \"green\",\n \"zap-phase-balance\": \"blue\", // multi\n // SoC\n \"zap-soc-0\": \"pink\", // red\n \"zap-soc-25\": \"pink\", // orange\n \"zap-soc-50\": \"pink\", // yellow\n \"zap-soc-75\": \"green\",\n \"zap-soc-100\": \"green\",\n // Fun & Decorative\n \"zap-smiley\": \"green\",\n \"zap-smiley-wink\": \"green\",\n \"zap-heart\": \"pink\",\n \"zap-heart-beat\": \"pink\",\n \"zap-star\": \"pink\", // yellow/gold\n \"zap-star-spin\": \"pink\",\n \"zap-fireworks\": \"pink\", // multi\n \"zap-confetti\": \"blue\", // multi\n \"zap-flower\": \"pink\",\n \"zap-sun\": \"pink\", // yellow\n \"zap-moon\": \"blue\",\n \"zap-cloud\": \"blue\",\n \"zap-rain\": \"blue\",\n \"zap-snow\": \"blue\",\n \"zap-waves\": \"blue\",\n \"zap-fire\": \"pink\", // orange/red\n \"zap-tree\": \"green\",\n \"zap-house\": \"green\",\n \"zap-car\": \"blue\",\n \"zap-rocket\": \"pink\", // orange\n \"zap-ghost\": \"blue\",\n \"zap-skull\": \"pink\",\n \"zap-cat\": \"pink\", // orange\n \"zap-fish\": \"blue\",\n \"zap-music\": \"blue\",\n // Emojis & Symbols\n \"zap-checkmark\": \"green\",\n \"zap-cross\": \"pink\",\n \"zap-question\": \"blue\",\n \"zap-exclaim\": \"pink\",\n \"zap-arrow-up\": \"green\",\n \"zap-arrow-down\": \"green\",\n \"zap-arrow-left\": \"green\",\n \"zap-arrow-right\": \"green\",\n \"zap-play\": \"green\",\n \"zap-pause\": \"blue\",\n \"zap-stop\": \"pink\",\n \"zap-power\": \"green\",\n \"zap-wifi-bars\": \"blue\",\n \"zap-signal\": \"green\",\n \"zap-hourglass\": \"blue\",\n \"zap-clock\": \"blue\",\n \"zap-bell\": \"pink\", // yellow\n \"zap-mail\": \"blue\",\n // Games & Fun\n \"zap-pacman\": \"pink\", // yellow\n \"zap-space-invader\": \"green\",\n \"zap-tetris\": \"blue\",\n \"zap-dice\": \"blue\",\n \"zap-crown\": \"pink\", // gold\n \"zap-trophy\": \"pink\", // gold\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { patterns as patterns3x3, type PatternType as PatternType3x3 } from \"./patterns\";\nimport { patterns as patterns4x4, type PatternType as PatternType4x4 } from \"./patterns-4x4\";\nimport { patterns as patterns5x5, type PatternType as PatternType5x5 } from \"./patterns-5x5\";\nimport { patterns as patterns6x6, type PatternType as PatternType6x6 } from \"./patterns-6x6\";\nimport { zapPatterns, type ZapPatternType } from \"./patterns-zap\";\n\nexport type PixelGridColor = \"blue\" | \"pink\" | \"green\";\nexport type PixelGridSpeed = \"slow\" | \"normal\" | \"fast\";\nexport type PixelGridSize = \"sm\" | \"md\" | \"lg\";\nexport type PixelGridDimension = 3 | 4 | 5 | 6;\n\n// Re-export pattern types for external use\nexport type { PatternType3x3, PatternType4x4, PatternType5x5, PatternType6x6 };\nexport type { ZapPatternType };\nexport type PatternType = PatternType3x3 | PatternType4x4 | PatternType5x5 | PatternType6x6 | ZapPatternType;\n\nexport interface PixelGridProps {\n /** The animation pattern to display */\n pattern: PatternType;\n /** Grid dimension - 3x3, 4x4, or 6x6 */\n dimension?: PixelGridDimension;\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 /** Whether to animate (false = static display) */\n animated?: boolean;\n /** Pause the animation (only applies when animated=true) */\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\n// Get patterns based on dimension\nfunction getPatterns(dimension: PixelGridDimension) {\n switch (dimension) {\n case 4:\n return patterns4x4;\n case 5:\n // Merge standard 5x5 patterns with Zap patterns\n return { ...patterns5x5, ...zapPatterns };\n case 6:\n return patterns6x6;\n default:\n return patterns3x3;\n }\n}\n\nexport function PixelGrid({\n pattern,\n dimension = 3,\n color = \"green\",\n speed = \"normal\",\n size = \"md\",\n animated = true,\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 patternsForDimension = getPatterns(dimension);\n const patternDef = patternsForDimension[pattern as keyof typeof patternsForDimension];\n\n // Fallback if pattern doesn't exist for this dimension\n if (!patternDef) {\n console.warn(`Pattern \"${pattern}\" not found for ${dimension}x${dimension} grid`);\n return null;\n }\n\n const cycleDuration = patternDef.cycleDuration ?? speedMap[speed];\n const frameDuration = cycleDuration / patternDef.frames.length;\n const pixelCount = dimension * dimension;\n\n // Animation loop\n React.useEffect(() => {\n if (!animated || paused) return;\n\n const interval = setInterval(() => {\n setCurrentFrame((prev) => (prev + 1) % patternDef.frames.length);\n }, frameDuration);\n\n return () => clearInterval(interval);\n }, [animated, paused, frameDuration, patternDef.frames.length]);\n\n // Update active pixels when frame changes or for static display\n React.useEffect(() => {\n if (animated) {\n const frame = patternDef.frames[currentFrame];\n setActivePixels(new Set(frame.activePixels));\n } else {\n // Static: show the \"full\" frame (frame with most active pixels)\n const fullFrame = patternDef.frames.reduce((max, frame) =>\n frame.activePixels.length > max.activePixels.length ? frame : max\n );\n setActivePixels(new Set(fullFrame.activePixels));\n }\n }, [animated, currentFrame, patternDef.frames]);\n\n const { pixel: pixelSize, gap } = sizeMap[size];\n const gridSize = pixelSize * dimension + gap * (dimension - 1);\n\n return (\n <div className={cn(\"pixel-grid-wrapper\", className)}>\n <div\n className={cn(\"pixel-grid-container\", `pixel-grid-${color}`, `pixel-grid-${dimension}x${dimension}`)}\n style={{\n width: gridSize,\n height: gridSize,\n gap: gap,\n gridTemplateColumns: `repeat(${dimension}, 1fr)`,\n [\"--pixel-size\" as string]: `${pixelSize}px`,\n }}\n role=\"img\"\n aria-label={`${animated ? \"Animated\" : \"Static\"} pixel grid: ${patternDef.name}`}\n >\n {Array.from({ length: pixelCount }, (_, 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, type PixelGridDimension } from \"./pixel-grid\";\nimport { patternCategories as patternCategories3x3, type PatternType as PatternType3x3 } from \"./patterns\";\nimport { patternCategories as patternCategories4x4, type PatternType as PatternType4x4 } from \"./patterns-4x4\";\nimport { patternCategories as patternCategories5x5, type PatternType as PatternType5x5 } from \"./patterns-5x5\";\nimport { patternCategories as patternCategories6x6, type PatternType as PatternType6x6 } from \"./patterns-6x6\";\n\ntype PatternType = PatternType3x3 | PatternType4x4 | PatternType5x5 | PatternType6x6;\n\n// Get pattern categories based on dimension\nfunction getPatternCategories(dimension: PixelGridDimension): Record<string, string[]> {\n switch (dimension) {\n case 4:\n return patternCategories4x4 as Record<string, string[]>;\n case 5:\n return patternCategories5x5 as Record<string, string[]>;\n case 6:\n return patternCategories6x6 as Record<string, string[]>;\n default:\n return patternCategories3x3 as Record<string, string[]>;\n }\n}\n\nexport interface PixelGridShowcaseProps {\n /** Grid dimension - 3x3, 4x4, or 6x6 */\n dimension?: PixelGridDimension;\n /** Color theme for all grids */\n color?: PixelGridColor;\n /** Size for all grids */\n size?: PixelGridSize;\n /** Whether to animate (false = static display) */\n animated?: boolean;\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 dimension = 3,\n color = \"green\",\n size = \"md\",\n animated = true,\n showCategories = true,\n categories,\n className,\n}: PixelGridShowcaseProps) {\n const patternCategories = getPatternCategories(dimension);\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 as PatternType}\n dimension={dimension}\n color={color}\n size={size}\n animated={animated}\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 as PatternType}\n dimension={dimension}\n color={color}\n size={size}\n animated={animated}\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 dimension?: PixelGridDimension;\n size?: PixelGridSize;\n animated?: boolean;\n className?: string;\n}\n\nexport function PixelGridColorComparison({\n pattern,\n dimension = 3,\n size = \"md\",\n animated = true,\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} dimension={dimension} color={color} size={size} animated={animated} />\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 dimension?: PixelGridDimension;\n color?: PixelGridColor;\n animated?: boolean;\n className?: string;\n}\n\nexport function PixelGridSizeComparison({\n pattern,\n dimension = 3,\n color = \"green\",\n animated = true,\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} dimension={dimension} color={color} size={size} animated={animated} />\n <span className=\"text-xs text-muted-foreground font-mono\">{size}</span>\n </div>\n ))}\n </div>\n );\n}\n\nPixelGridSizeComparison.displayName = \"PixelGridSizeComparison\";\n\n/**\n * A grid showing the same pattern in different dimensions\n */\nexport interface PixelGridDimensionComparisonProps {\n /** Common pattern name that exists in all dimensions (e.g., \"solo-center\", \"corners-sync\") */\n pattern: \"solo-center\" | \"solo-tl\" | \"solo-br\" | \"corners-sync\" | \"corners-only\" | \"frame\" | \"frame-sync\" | \"plus-hollow\";\n color?: PixelGridColor;\n size?: PixelGridSize;\n animated?: boolean;\n className?: string;\n}\n\nexport function PixelGridDimensionComparison({\n pattern,\n color = \"green\",\n size = \"md\",\n animated = true,\n className,\n}: PixelGridDimensionComparisonProps) {\n const dimensions: PixelGridDimension[] = [3, 4, 5, 6];\n\n return (\n <div className={cn(\"flex gap-6 items-end\", className)}>\n {dimensions.map((dimension) => (\n <div key={dimension} className=\"flex flex-col items-center gap-2\">\n <PixelGrid pattern={pattern} dimension={dimension} color={color} size={size} animated={animated} />\n <span className=\"text-xs text-muted-foreground font-mono\">{dimension}x{dimension}</span>\n </div>\n ))}\n </div>\n );\n}\n\nPixelGridDimensionComparison.displayName = \"PixelGridDimensionComparison\";\n"]}