{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "checkbox", "type": "registry:block", "title": "Checkbox", "description": "A native checkbox for crisp choices and settings rows.", "author": "Wensity ", "dependencies": [ "@base-ui/react", "clsx", "tailwind-merge" ], "registryDependencies": [], "files": [ { "path": "registry/wensity/lib/utils.ts", "type": "registry:lib", "target": "@lib/utils.ts", "content": "import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n" }, { "path": "registry/wensity/checkbox.tsx", "type": "registry:component", "target": "@components/wensity/checkbox.tsx", "content": "\"use client\";\n\nimport * as React from \"react\";\nimport { Checkbox as BaseCheckbox } from \"@base-ui/react/checkbox\";\nimport { cn } from \"@/lib/utils\";\n\nconst wensityCardSurfaceClass = cn(\n \"relative isolate overflow-hidden rounded-[var(--primitive-radius-surface)]\",\n \"border border-[var(--border)] bg-[var(--primitive-surface-elevated)]\",\n \"[box-shadow:var(--primitive-shadow-raised)]\",\n);\n\nconst wensityCardInteractiveClass =\n \"transition-[border-color,box-shadow] duration-200 ease-[var(--primitive-ease,cubic-bezier(0.22,1,0.36,1))] motion-reduce:transition-none hover:border-[color-mix(in_srgb,var(--foreground)_14%,transparent)]\";\n\n/**\n * CSS rules for Checkbox mark animation slots. Re-keyed to Base UI\n * `data-checked` / `data-unchecked` / `data-indeterminate` attributes.\n *\n * Exported so the parent app can paste this into `apps/main-site/src/lib/primitive-tokens.ts`\n * (the runtime `