@sourceful-energy/ui 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../components/ui/accordion.tsx","../lib/utils.ts","../components/ui/alert.tsx","../components/ui/badge.tsx","../components/ui/button.tsx","../components/ui/card.tsx","../components/ui/checkbox.tsx","../components/ui/dialog.tsx","../components/ui/dropdown-menu.tsx","../components/ui/input.tsx","../components/ui/label.tsx","../components/ui/progress.tsx","../components/ui/radio-group.tsx","../components/ui/scroll-area.tsx","../components/ui/select.tsx","../components/ui/separator.tsx","../components/ui/sheet.tsx","../components/ui/skeleton.tsx","../components/ui/slider.tsx","../components/ui/switch.tsx","../components/ui/table.tsx","../components/ui/tabs.tsx","../components/ui/textarea.tsx","../components/ui/tooltip.tsx","../components/ui/side-menu.tsx","../components/ui/top-menu.tsx","../components/ui/simple-tabs.tsx","../components/lenis-provider.tsx","../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"]}
|
|
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","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","li","breadcrumbs","showMobileMenu","onMobileMenuClick","leftContent","rightContent","Menu","crumb","index","TopMenuUser","name","email","avatarUrl","avatarContent","avatarClassName","open","setOpen","menuRef","handleClickOutside","event","TopMenuUserItem","icon","onClick","TopMenuUserSection","SimpleTabsContext","ri","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","cycleDuration","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 const cycleDuration = patternDef ? (patternDef.cycleDuration ?? speedMap[speed]) : speedMap[speed];\n const frameDuration = patternDef ? cycleDuration / patternDef.frames.length : cycleDuration;\n const pixelCount = dimension * dimension;\n\n // Animation loop\n React.useEffect(() => {\n if (!animated || paused || !patternDef) 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]);\n\n // Update active pixels when frame changes or for static display\n React.useEffect(() => {\n if (!patternDef) return;\n\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]);\n\n // Fallback if pattern doesn't exist for this dimension\n if (!patternDef) {\n return null;\n }\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"]}
|