{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "timer", "title": "Timer", "description": "A timer component that can record elapsed time or countdown from a target time", "dependencies": ["@ark-ui/react", "clsx", "tailwind-merge"], "files": [ { "path": "src/registry/thornberry/components/timer.tsx", "content": "import { Timer } from \"@ark-ui/react\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport type { ComponentProps } from \"react\";\n\nconst TimerRoot = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst TimerArea = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst TimerItem = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst TimerSeparator = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst TimerControl = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst TimerActionTrigger = ({\n className,\n ...rest\n}: ComponentProps) => (\n svg]:px-3 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...rest}\n />\n);\n\nexport {\n TimerRoot as Timer,\n TimerArea,\n TimerItem,\n TimerSeparator,\n TimerControl,\n TimerActionTrigger,\n};\n", "type": "registry:ui" }, { "path": "src/lib/utils.ts", "content": "import { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport type { ClassValue } from \"clsx\";\n\nexport const cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs));\n};\n", "type": "registry:lib", "target": "" } ], "type": "registry:ui" }