{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "hairline",
  "type": "registry:ui",
  "title": "Hairline",
  "description": "Six isometric line figures that answer the pointer, with their palette mapped to your theme's tokens.",
  "dependencies": [
    "@lucasmarkes/hairline"
  ],
  "files": [
    {
      "path": "components/ui/hairline.tsx",
      "type": "registry:ui",
      "content": "\"use client\";\n\nimport type { ComponentProps, CSSProperties } from \"react\";\nimport * as Hairline from \"@lucasmarkes/hairline/react\";\n\n/**\n * hairline, wearing your theme. The six figures from @lucasmarkes/hairline,\n * with their palette mapped to shadcn's tokens, so they follow light, dark and\n * whatever you have made of them. A `style` you pass wins over the mapping.\n *\n * Docs: https://hairline.lucasmarkes.com\n */\nconst tokens = {\n  \"--hairline-plate\": \"var(--background)\",\n  \"--hairline-hi\": \"var(--foreground)\",\n  \"--hairline-edge\": \"var(--muted-foreground)\",\n  \"--hairline-mid\": \"color-mix(in oklab, var(--muted-foreground) 55%, var(--background))\",\n  \"--hairline-lo\": \"var(--border)\",\n} as CSSProperties;\n\nexport function Riffle({ style, ...props }: ComponentProps<typeof Hairline.Riffle>) {\n  return <Hairline.Riffle style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Terrain({ style, ...props }: ComponentProps<typeof Hairline.Terrain>) {\n  return <Hairline.Terrain style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Exploded({ style, ...props }: ComponentProps<typeof Hairline.Exploded>) {\n  return <Hairline.Exploded style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Phosphor({ style, ...props }: ComponentProps<typeof Hairline.Phosphor>) {\n  return <Hairline.Phosphor style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Slow({ style, ...props }: ComponentProps<typeof Hairline.Slow>) {\n  return <Hairline.Slow style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Turntable({ style, ...props }: ComponentProps<typeof Hairline.Turntable>) {\n  return <Hairline.Turntable style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Keyboard({ style, ...props }: ComponentProps<typeof Hairline.Keyboard>) {\n  return <Hairline.Keyboard style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Elevator({ style, ...props }: ComponentProps<typeof Hairline.Elevator>) {\n  return <Hairline.Elevator style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Phone({ style, ...props }: ComponentProps<typeof Hairline.Phone>) {\n  return <Hairline.Phone style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Laptop({ style, ...props }: ComponentProps<typeof Hairline.Laptop>) {\n  return <Hairline.Laptop style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Terminal({ style, ...props }: ComponentProps<typeof Hairline.Terminal>) {\n  return <Hairline.Terminal style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Cabinet({ style, ...props }: ComponentProps<typeof Hairline.Cabinet>) {\n  return <Hairline.Cabinet style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Branches({ style, ...props }: ComponentProps<typeof Hairline.Branches>) {\n  return <Hairline.Branches style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Vault({ style, ...props }: ComponentProps<typeof Hairline.Vault>) {\n  return <Hairline.Vault style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Lockers({ style, ...props }: ComponentProps<typeof Hairline.Lockers>) {\n  return <Hairline.Lockers style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Padlock({ style, ...props }: ComponentProps<typeof Hairline.Padlock>) {\n  return <Hairline.Padlock style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Patch({ style, ...props }: ComponentProps<typeof Hairline.Patch>) {\n  return <Hairline.Patch style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Dish({ style, ...props }: ComponentProps<typeof Hairline.Dish>) {\n  return <Hairline.Dish style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Router({ style, ...props }: ComponentProps<typeof Hairline.Router>) {\n  return <Hairline.Router style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Hub({ style, ...props }: ComponentProps<typeof Hairline.Hub>) {\n  return <Hairline.Hub style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Relay({ style, ...props }: ComponentProps<typeof Hairline.Relay>) {\n  return <Hairline.Relay style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Settle({ style, ...props }: ComponentProps<typeof Hairline.Settle>) {\n  return <Hairline.Settle style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Format({ style, ...props }: ComponentProps<typeof Hairline.Format>) {\n  return <Hairline.Format style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Rebuild({ style, ...props }: ComponentProps<typeof Hairline.Rebuild>) {\n  return <Hairline.Rebuild style={{ ...tokens, ...style }} {...props} />;\n}\n\nexport function Stack({ style, ...props }: ComponentProps<typeof Hairline.Stack>) {\n  return <Hairline.Stack style={{ ...tokens, ...style }} {...props} />;\n}\n"
    }
  ],
  "docs": "Docs: https://hairline.lucasmarkes.com"
}
