{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "checkbox",
  "title": "Checkbox",
  "description": "A small drop of glass that fills with the accent, and a checkbox group.",
  "dependencies": [
    "@base-ui/react@^1.8.0"
  ],
  "registryDependencies": [
    "https://liquikit.dev/r/core.json",
    "https://liquikit.dev/r/glass.json",
    "https://liquikit.dev/r/press.json"
  ],
  "files": [
    {
      "path": "src/checkbox.tsx",
      "content": "\"use client\";\n\nimport { Checkbox as BaseCheckbox } from \"@base-ui/react/checkbox\";\nimport { CheckboxGroup as BaseCheckboxGroup } from \"@base-ui/react/checkbox-group\";\nimport type { ReactNode } from \"react\";\nimport { GlassPane, type GlassRefraction } from \"./glass\";\nimport { usePressGlass } from \"./press\";\nimport { cx, type GlassOptions } from \"./types\";\nimport \"./liquikit.css\";\n\nexport type CheckboxProps = Omit<\n\tBaseCheckbox.Root.Props,\n\t\"className\" | \"render\" | \"children\"\n> &\n\tGlassOptions & {\n\t\trefraction?: GlassRefraction;\n\t\tclassName?: string;\n\t\tchildren?: ReactNode;\n\t};\n\nexport function Checkbox({\n\tchildren,\n\ttheme,\n\tlens,\n\tliquid,\n\trefraction,\n\tclassName,\n\tdisabled,\n\tonPointerDown,\n\tonPointerEnter,\n\tonPointerLeave,\n\tonKeyDown,\n\tonKeyUp,\n\tonBlur,\n\t...rootProps\n}: CheckboxProps) {\n\tconst { press, pressHandlers } = usePressGlass(disabled, {\n\t\tonPointerDown,\n\t\tonPointerEnter,\n\t\tonPointerLeave,\n\t\tonKeyDown,\n\t\tonKeyUp,\n\t\tonBlur,\n\t});\n\n\tconst box = (\n\t\t<BaseCheckbox.Root\n\t\t\t{...rootProps}\n\t\t\t{...pressHandlers}\n\t\t\tdisabled={disabled}\n\t\t\tclassName=\"glass-ui-check\"\n\t\t\trender={(props, state) => {\n\t\t\t\tconst on = state.checked || state.indeterminate;\n\t\t\t\treturn (\n\t\t\t\t\t<span {...props}>\n\t\t\t\t\t\t<GlassPane\n\t\t\t\t\t\t\tradius={7}\n\t\t\t\t\t\t\ttint={on ? \"var(--glass-accent)\" : undefined}\n\t\t\t\t\t\t\ttintOpacity={on ? 1 : undefined}\n\t\t\t\t\t\t\tpress={press}\n\t\t\t\t\t\t\ttheme={theme}\n\t\t\t\t\t\t\tlens={lens}\n\t\t\t\t\t\t\tliquid={liquid}\n\t\t\t\t\t\t\trefraction={refraction}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"glass-ui-check__box\">{props.children}</span>\n\t\t\t\t\t\t</GlassPane>\n\t\t\t\t\t</span>\n\t\t\t\t);\n\t\t\t}}\n\t\t>\n\t\t\t<BaseCheckbox.Indicator keepMounted className=\"glass-ui-check__mark\">\n\t\t\t\t<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n\t\t\t\t\t<path className=\"glass-ui-check__tick\" d=\"M3.5 8.5l3 3 6-7\" />\n\t\t\t\t\t<path className=\"glass-ui-check__dash\" d=\"M4 8h8\" />\n\t\t\t\t</svg>\n\t\t\t</BaseCheckbox.Indicator>\n\t\t</BaseCheckbox.Root>\n\t);\n\n\tif (!children) return <span className={cx(className)}>{box}</span>;\n\treturn (\n\t\t// biome-ignore lint/a11y/noLabelWithoutControl: the checkbox inside is the control\n\t\t<label\n\t\t\tclassName={cx(\"glass-ui-choice\", className)}\n\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t>\n\t\t\t{box}\n\t\t\t<span className=\"glass-ui-choice__label\">{children}</span>\n\t\t</label>\n\t);\n}\n\nexport type CheckboxGroupProps = Omit<BaseCheckboxGroup.Props, \"className\"> & {\n\tclassName?: string;\n};\n\nexport function CheckboxGroup({\n\tclassName,\n\t...groupProps\n}: CheckboxGroupProps) {\n\treturn (\n\t\t<BaseCheckboxGroup\n\t\t\t{...groupProps}\n\t\t\tclassName={cx(\"glass-ui-choices\", className)}\n\t\t/>\n\t);\n}\n",
      "type": "registry:ui",
      "target": "@components/liquikit/checkbox.tsx"
    }
  ],
  "type": "registry:ui"
}