{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "weekendsuperhero-io/sistine",
  "homepage": "https://sistine.weekendsuperhero.io",
  "items": [
    {
      "name": "button",
      "type": "registry:component",
      "title": "Button",
      "description": "Displays a button or a component that looks like a button, with the glass material system.",
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/button.tsx",
          "type": "registry:component",
          "target": "components/ui/button.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ]
    },
    {
      "name": "card",
      "type": "registry:component",
      "title": "Card",
      "description": "Displays a card with optional glass material.",
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/card.tsx",
          "type": "registry:component",
          "target": "components/ui/card.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "input",
      "type": "registry:component",
      "title": "Input",
      "description": "Displays a form input field with optional glass material.",
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/input.tsx",
          "type": "registry:component",
          "target": "components/ui/input.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "textarea",
      "type": "registry:component",
      "title": "Textarea",
      "description": "Displays a form textarea with optional glass material.",
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/textarea.tsx",
          "type": "registry:component",
          "target": "components/ui/textarea.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "label",
      "type": "registry:component",
      "title": "Label",
      "description": "Renders an accessible label associated with controls.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/label.tsx",
          "type": "registry:component",
          "target": "components/ui/label.tsx"
        }
      ]
    },
    {
      "name": "badge",
      "type": "registry:component",
      "title": "Badge",
      "description": "Displays a badge or a component that looks like a badge, with the glass material system.",
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/badge.tsx",
          "type": "registry:component",
          "target": "components/ui/badge.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ]
    },
    {
      "name": "avatar",
      "type": "registry:component",
      "title": "Avatar",
      "description": "An image element with a fallback for representing the user.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/avatar.tsx",
          "type": "registry:component",
          "target": "components/ui/avatar.tsx"
        }
      ]
    },
    {
      "name": "dialog",
      "type": "registry:component",
      "title": "Dialog",
      "description": "A window overlaid on either the primary window or another dialog window, rendering the content underneath inert.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/button",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/dialog.tsx",
          "type": "registry:component",
          "target": "components/ui/dialog.tsx"
        }
      ]
    },
    {
      "name": "alert-dialog",
      "type": "registry:component",
      "title": "Alert Dialog",
      "description": "A modal dialog that interrupts the user with important content and expects a response.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/button",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/alert-dialog.tsx",
          "type": "registry:component",
          "target": "components/ui/alert-dialog.tsx"
        }
      ]
    },
    {
      "name": "separator",
      "type": "registry:component",
      "title": "Separator",
      "description": "Visually or semantically separates content with optional glass material.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/separator.tsx",
          "type": "registry:component",
          "target": "components/ui/separator.tsx"
        }
      ]
    },
    {
      "name": "switch",
      "type": "registry:component",
      "title": "Switch",
      "description": "A control that allows the user to toggle between checked and not checked with optional glass material.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/switch.tsx",
          "type": "registry:component",
          "target": "components/ui/switch.tsx"
        }
      ]
    },
    {
      "name": "checkbox",
      "type": "registry:component",
      "title": "Checkbox",
      "description": "A control that allows the user to toggle between checked and not checked with optional glass material.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/checkbox.tsx",
          "type": "registry:component",
          "target": "components/ui/checkbox.tsx"
        }
      ]
    },
    {
      "name": "tabs",
      "type": "registry:component",
      "title": "Tabs",
      "description": "A set of layered sections of content—known as tab panels—that are displayed one at a time with optional glass material.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/tabs.tsx",
          "type": "registry:component",
          "target": "components/ui/tabs.tsx"
        }
      ]
    },
    {
      "name": "tooltip",
      "type": "registry:component",
      "title": "Tooltip",
      "description": "A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it with optional glass material.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "lib/snap-popper.ts",
          "type": "registry:lib",
          "target": "lib/snap-popper.ts"
        },
        {
          "path": "components/ui/tooltip.tsx",
          "type": "registry:component",
          "target": "components/ui/tooltip.tsx"
        }
      ]
    },
    {
      "name": "popover",
      "type": "registry:component",
      "title": "Popover",
      "description": "Displays rich content in a portal, triggered by a button with optional glass material.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "lib/snap-popper.ts",
          "type": "registry:lib",
          "target": "lib/snap-popper.ts"
        },
        {
          "path": "components/ui/popover.tsx",
          "type": "registry:component",
          "target": "components/ui/popover.tsx"
        }
      ]
    },
    {
      "name": "dropdown-menu",
      "type": "registry:component",
      "title": "Dropdown Menu",
      "description": "Displays a menu to the user — such as a set of actions or functions — triggered by a button with optional glass material.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "lib/snap-popper.ts",
          "type": "registry:lib",
          "target": "lib/snap-popper.ts"
        },
        {
          "path": "components/ui/dropdown-menu.tsx",
          "type": "registry:component",
          "target": "components/ui/dropdown-menu.tsx"
        }
      ]
    },
    {
      "name": "select",
      "type": "registry:component",
      "title": "Select",
      "description": "Displays a list of options for the user to pick from—triggered by a button with optional glass material.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "lib/snap-popper.ts",
          "type": "registry:lib",
          "target": "lib/snap-popper.ts"
        },
        {
          "path": "components/ui/select.tsx",
          "type": "registry:component",
          "target": "components/ui/select.tsx"
        }
      ]
    },
    {
      "name": "radio-group",
      "type": "registry:component",
      "title": "Radio Group",
      "description": "A set of checkable buttons—known as radio buttons—where no more than one of the buttons can be checked at a time with optional glass material.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/radio-group.tsx",
          "type": "registry:component",
          "target": "components/ui/radio-group.tsx"
        }
      ]
    },
    {
      "name": "skeleton",
      "type": "registry:component",
      "title": "Skeleton",
      "description": "Use to show a placeholder while content is loading with optional glass material.",
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/skeleton.tsx",
          "type": "registry:component",
          "target": "components/ui/skeleton.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "alert",
      "type": "registry:component",
      "title": "Alert",
      "description": "Displays a callout for user attention with optional glass material.",
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/alert.tsx",
          "type": "registry:component",
          "target": "components/ui/alert.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "accordion",
      "type": "registry:component",
      "title": "Accordion",
      "description": "A vertically stacked set of interactive headings that each reveal a section of content.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/accordion.tsx",
          "type": "registry:component",
          "target": "components/ui/accordion.tsx"
        }
      ]
    },
    {
      "name": "breadcrumb",
      "type": "registry:component",
      "title": "Breadcrumb",
      "description": "Displays the path to the current resource using a hierarchy of links.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/breadcrumb.tsx",
          "type": "registry:component",
          "target": "components/ui/breadcrumb.tsx"
        }
      ]
    },
    {
      "name": "calendar",
      "type": "registry:component",
      "title": "Calendar",
      "description": "A date field component that allows users to enter and edit date.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "react-day-picker",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/button",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/calendar.tsx",
          "type": "registry:component",
          "target": "components/ui/calendar.tsx"
        }
      ]
    },
    {
      "name": "chart",
      "type": "registry:component",
      "title": "Chart",
      "description": "Chart components built with Recharts with optional glass material.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "recharts",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/chart.tsx",
          "type": "registry:component",
          "target": "components/ui/chart.tsx"
        }
      ]
    },
    {
      "name": "collapsible",
      "type": "registry:component",
      "title": "Collapsible",
      "description": "An interactive component which expands/collapses a panel.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/collapsible.tsx",
          "type": "registry:component",
          "target": "components/ui/collapsible.tsx"
        }
      ]
    },
    {
      "name": "command",
      "type": "registry:component",
      "title": "Command",
      "description": "Fast, composable, unstyled command menu for React.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "cmdk",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/dialog",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/command.tsx",
          "type": "registry:component",
          "target": "components/ui/command.tsx"
        }
      ]
    },
    {
      "name": "cropper",
      "type": "registry:component",
      "title": "Cropper",
      "description": "An image cropper component with optional glass material.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "react-easy-crop",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/button",
        "@sistine/dialog",
        "@sistine/slider",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/cropper.tsx",
          "type": "registry:component",
          "target": "components/ui/cropper.tsx"
        }
      ]
    },
    {
      "name": "drawer",
      "type": "registry:component",
      "title": "Drawer",
      "description": "A drawer component for mobile with optional glass material.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge",
        "vaul"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/drawer.tsx",
          "type": "registry:component",
          "target": "components/ui/drawer.tsx"
        }
      ]
    },
    {
      "name": "hover-card",
      "type": "registry:component",
      "title": "Hover Card",
      "description": "For sighted users to preview content available behind a link.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "lib/snap-popper.ts",
          "type": "registry:lib",
          "target": "lib/snap-popper.ts"
        },
        {
          "path": "components/ui/hover-card.tsx",
          "type": "registry:component",
          "target": "components/ui/hover-card.tsx"
        }
      ]
    },
    {
      "name": "input-otp",
      "type": "registry:component",
      "title": "Input OTP",
      "description": "Accessible one-time password component with copy paste functionality.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "input-otp",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/input-otp.tsx",
          "type": "registry:component",
          "target": "components/ui/input-otp.tsx"
        }
      ]
    },
    {
      "name": "navigation-menu",
      "type": "registry:component",
      "title": "Navigation Menu",
      "description": "A collection of links for navigating websites.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/navigation-menu.tsx",
          "type": "registry:component",
          "target": "components/ui/navigation-menu.tsx"
        }
      ]
    },
    {
      "name": "pagination",
      "type": "registry:component",
      "title": "Pagination",
      "description": "Pagination with page navigation with optional glass material.",
      "registryDependencies": [
        "@sistine/button",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/pagination.tsx",
          "type": "registry:component",
          "target": "components/ui/pagination.tsx"
        }
      ],
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "scroll-area",
      "type": "registry:component",
      "title": "Scroll Area",
      "description": "Augments native scroll functionality for custom, cross-browser styling.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/scroll-area.tsx",
          "type": "registry:component",
          "target": "components/ui/scroll-area.tsx"
        }
      ]
    },
    {
      "name": "sheet",
      "type": "registry:component",
      "title": "Sheet",
      "description": "Extends the Dialog component to display content that complements the main content of the screen.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/sheet.tsx",
          "type": "registry:component",
          "target": "components/ui/sheet.tsx"
        }
      ]
    },
    {
      "name": "sidebar",
      "type": "registry:component",
      "title": "Sidebar",
      "description": "A sidebar component with optional glass material.",
      "registryDependencies": [
        "@sistine/button",
        "@sistine/input",
        "@sistine/separator",
        "@sistine/sheet",
        "@sistine/skeleton",
        "@sistine/theme",
        "@sistine/tooltip",
        "@sistine/use-mobile"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/sidebar.tsx",
          "type": "registry:component",
          "target": "components/ui/sidebar.tsx"
        }
      ],
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ]
    },
    {
      "name": "slider",
      "type": "registry:component",
      "title": "Slider",
      "description": "An input where the user selects a value from within a given range.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/slider.tsx",
          "type": "registry:component",
          "target": "components/ui/slider.tsx"
        }
      ]
    },
    {
      "name": "sonner",
      "type": "registry:component",
      "title": "Sonner",
      "description": "An opinionated toast component for React.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "sonner",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/sonner.tsx",
          "type": "registry:component",
          "target": "components/ui/sonner.tsx"
        }
      ]
    },
    {
      "name": "table",
      "type": "registry:component",
      "title": "Table",
      "description": "A responsive table, with the glass material system and optional striped (alternating-brightness) or bordered rows.",
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/table.tsx",
          "type": "registry:component",
          "target": "components/ui/table.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "toggle",
      "type": "registry:component",
      "title": "Toggle",
      "description": "A two-state button that can be either on or off.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/toggle.tsx",
          "type": "registry:component",
          "target": "components/ui/toggle.tsx"
        }
      ]
    },
    {
      "name": "toggle-group",
      "type": "registry:component",
      "title": "Toggle Group",
      "description": "A set of two-state buttons that can be toggled on or off.",
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/toggle-group.tsx",
          "type": "registry:component",
          "target": "components/ui/toggle-group.tsx"
        }
      ]
    },
    {
      "name": "mode-toggle",
      "type": "registry:component",
      "title": "Mode Toggle",
      "description": "A theme switcher component with optional glass material. Requires a next-themes ThemeProvider (uses useTheme) — wrap your app or swap in your own theme store.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "next-themes",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/button",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/mode-toggle.tsx",
          "type": "registry:component",
          "target": "components/ui/mode-toggle.tsx"
        }
      ]
    },
    {
      "name": "spinner",
      "type": "registry:component",
      "title": "Spinner",
      "description": "A loading spinner component, with the glass material system.",
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/spinner.tsx",
          "type": "registry:component",
          "target": "components/ui/spinner.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "button-group",
      "type": "registry:component",
      "title": "Button Group",
      "description": "A group of buttons, with the glass material system.",
      "registryDependencies": [
        "@sistine/separator",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/button-group.tsx",
          "type": "registry:component",
          "target": "components/ui/button-group.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ]
    },
    {
      "name": "input-group",
      "type": "registry:component",
      "title": "Input Group",
      "description": "A group of inputs, with the glass material system.",
      "registryDependencies": [
        "@sistine/button",
        "@sistine/input",
        "@sistine/textarea",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/input-group.tsx",
          "type": "registry:component",
          "target": "components/ui/input-group.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "empty-state",
      "type": "registry:component",
      "title": "Empty State",
      "description": "An empty state component, with the glass material system.",
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/empty-state.tsx",
          "type": "registry:component",
          "target": "components/ui/empty-state.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "menu-bar",
      "type": "registry:component",
      "title": "Menu Bar",
      "description": "A menu bar component, with the glass material system.",
      "registryDependencies": [
        "@sistine/button",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/menu-bar.tsx",
          "type": "registry:component",
          "target": "components/ui/menu-bar.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "date-picker-input",
      "type": "registry:component",
      "title": "Date Picker Input",
      "description": "A date picker input component, with the glass material system.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "date-fns",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/button",
        "@sistine/calendar",
        "@sistine/input",
        "@sistine/popover",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/date-picker-input.tsx",
          "type": "registry:component",
          "target": "components/ui/date-picker-input.tsx"
        }
      ]
    },
    {
      "name": "context-menu",
      "type": "registry:component",
      "title": "Context Menu",
      "description": "A context menu component, with the glass material system.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "radix-ui",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "lib/snap-popper.ts",
          "type": "registry:lib",
          "target": "lib/snap-popper.ts"
        },
        {
          "path": "components/ui/context-menu.tsx",
          "type": "registry:component",
          "target": "components/ui/context-menu.tsx"
        }
      ]
    },
    {
      "name": "carousel",
      "type": "registry:component",
      "title": "Carousel",
      "description": "An items-driven carousel, with the glass material system — pass slides as children (no compound CarouselContent/Item/Next/Previous/API parts).",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/button",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        },
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        },
        {
          "path": "components/ui/carousel.tsx",
          "type": "registry:component",
          "target": "components/ui/carousel.tsx"
        }
      ]
    },
    {
      "name": "resizable",
      "type": "registry:component",
      "title": "Resizable",
      "description": "Resizable panel groups and handles with a glassy grip, built on react-resizable-panels.",
      "dependencies": [
        "@phosphor-icons/react",
        "class-variance-authority",
        "clsx",
        "react-resizable-panels@^4.12.1",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "components/ui/resizable.tsx",
          "type": "registry:component",
          "target": "components/ui/resizable.tsx"
        }
      ]
    },
    {
      "name": "dashboard",
      "type": "registry:block",
      "title": "Dashboard",
      "description": "Complete dashboard layout with stats, charts, and navigation.",
      "registryDependencies": [
        "@sistine/badge",
        "@sistine/card",
        "@sistine/chart",
        "@sistine/table"
      ],
      "files": [
        {
          "path": "components/blocks/dashboard.tsx",
          "type": "registry:component",
          "target": "components/blocks/dashboard.tsx"
        }
      ],
      "dependencies": [
        "@phosphor-icons/react",
        "recharts"
      ]
    },
    {
      "name": "authentication",
      "type": "registry:block",
      "title": "Authentication",
      "description": "Login form with glassmorphism effects.",
      "registryDependencies": [
        "@sistine/button",
        "@sistine/card",
        "@sistine/checkbox",
        "@sistine/input",
        "@sistine/label",
        "@sistine/separator"
      ],
      "files": [
        {
          "path": "components/blocks/authentication.tsx",
          "type": "registry:component",
          "target": "components/blocks/authentication.tsx"
        }
      ],
      "dependencies": []
    },
    {
      "name": "signup",
      "type": "registry:block",
      "title": "Sign Up",
      "description": "Registration form with validation.",
      "registryDependencies": [
        "@sistine/button",
        "@sistine/card",
        "@sistine/checkbox",
        "@sistine/input",
        "@sistine/label",
        "@sistine/separator"
      ],
      "files": [
        {
          "path": "components/blocks/signup.tsx",
          "type": "registry:component",
          "target": "components/blocks/signup.tsx"
        }
      ],
      "dependencies": []
    },
    {
      "name": "forgot-password",
      "type": "registry:block",
      "title": "Forgot Password",
      "description": "Password reset form.",
      "registryDependencies": [
        "@sistine/button",
        "@sistine/card",
        "@sistine/input",
        "@sistine/label"
      ],
      "files": [
        {
          "path": "components/blocks/forgot-password.tsx",
          "type": "registry:component",
          "target": "components/blocks/forgot-password.tsx"
        }
      ],
      "dependencies": [
        "@phosphor-icons/react"
      ]
    },
    {
      "name": "calendar-block",
      "type": "registry:block",
      "title": "Calendar",
      "description": "Calendar view with events and scheduling.",
      "registryDependencies": [
        "@sistine/badge",
        "@sistine/button",
        "@sistine/calendar",
        "@sistine/card",
        "@sistine/scroll-area"
      ],
      "files": [
        {
          "path": "components/blocks/calendar.tsx",
          "type": "registry:component",
          "target": "components/blocks/calendar.tsx"
        }
      ],
      "dependencies": [
        "@phosphor-icons/react"
      ]
    },
    {
      "name": "chart-block",
      "type": "registry:block",
      "title": "Chart",
      "description": "Beautiful charts with bar, line, and area visualizations.",
      "registryDependencies": [
        "@sistine/card",
        "@sistine/chart",
        "@sistine/tabs"
      ],
      "files": [
        {
          "path": "components/blocks/chart.tsx",
          "type": "registry:component",
          "target": "components/blocks/chart.tsx"
        }
      ],
      "dependencies": [
        "recharts"
      ]
    },
    {
      "name": "data-table",
      "type": "registry:block",
      "title": "Data Table",
      "description": "Sortable, filterable table with pagination on the glass Table.",
      "registryDependencies": [
        "@sistine/badge",
        "@sistine/button",
        "@sistine/input",
        "@sistine/table"
      ],
      "files": [
        {
          "path": "components/blocks/data-table.tsx",
          "type": "registry:component",
          "target": "components/blocks/data-table.tsx"
        }
      ],
      "dependencies": [
        "@phosphor-icons/react",
        "@tanstack/react-table"
      ]
    },
    {
      "name": "theme",
      "type": "registry:theme",
      "title": "Glass Theme",
      "description": "The Sistine glass design system: OKLCH color tokens, glass surface variables (frosted, crystal), the runtime tint system, and animations. Adopt the look without pulling components.",
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/theme/globals.css",
          "type": "registry:style",
          "target": "app/globals.css"
        }
      ],
      "dependencies": [
        "tw-animate-css"
      ]
    },
    {
      "name": "use-mobile",
      "type": "registry:hook",
      "title": "use-mobile",
      "description": "React hook that tracks whether the viewport is below the mobile breakpoint (768px).",
      "registryDependencies": [],
      "files": [
        {
          "path": "hooks/use-mobile.ts",
          "type": "registry:hook",
          "target": "hooks/use-mobile.ts"
        }
      ],
      "dependencies": []
    },
    {
      "name": "oklch-utils",
      "type": "registry:lib",
      "title": "OKLCH Utils",
      "description": "Zero-dependency helpers for parsing, formatting, and manipulating OKLCH colors (hue wrapping, chroma clamping, ramps).",
      "registryDependencies": [],
      "files": [
        {
          "path": "lib/oklch-utils.ts",
          "type": "registry:lib",
          "target": "lib/oklch-utils.ts"
        }
      ],
      "dependencies": []
    },
    {
      "name": "gradient-utils",
      "type": "registry:lib",
      "title": "Gradient Utils",
      "description": "Generate random, aesthetically balanced gradients in the OKLCH color space and render them to CSS.",
      "registryDependencies": [],
      "files": [
        {
          "path": "lib/gradient-utils.ts",
          "type": "registry:lib",
          "target": "lib/gradient-utils.ts"
        }
      ],
      "dependencies": []
    },
    {
      "name": "theme-generator",
      "type": "registry:lib",
      "title": "Theme Generator",
      "description": "Generate light/dark theme CSS (including glass-effect variables) from a set of base colors.",
      "registryDependencies": [],
      "files": [
        {
          "path": "lib/theme-generator.ts",
          "type": "registry:lib",
          "target": "lib/theme-generator.ts"
        }
      ],
      "dependencies": []
    },
    {
      "name": "readable-text",
      "type": "registry:component",
      "title": "Readable Text",
      "description": "APCA contrast guard: renders text in an accent color while it stays readable on the current glass surface, and swaps to a readable foreground otherwise. Reactive to the live glass tint and light/dark.",
      "registryDependencies": [
        "@sistine/oklch-utils",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "components/readable-text.tsx",
          "type": "registry:component",
          "target": "components/readable-text.tsx"
        }
      ],
      "dependencies": []
    },
    {
      "name": "auto-foreground",
      "type": "registry:component",
      "title": "Auto Foreground",
      "description": "Sets --foreground / --muted-foreground from an OKLCH ramp so text contrast tracks light/dark automatically. Configure declaratively via props (palette, start, ramp) or a persisted config; re-applies on theme change.",
      "registryDependencies": [
        "@sistine/oklch-utils",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "components/auto-foreground.tsx",
          "type": "registry:component",
          "target": "components/auto-foreground.tsx"
        }
      ],
      "dependencies": []
    },
    {
      "name": "material",
      "type": "registry:lib",
      "title": "Material System",
      "description": "The Sistine material system: the Material type, glassMaterial() (material + axis props to data-material/classes), and glassVars() (typed per-element CSS-variable knobs).",
      "registryDependencies": [],
      "files": [
        {
          "path": "lib/material.ts",
          "type": "registry:lib",
          "target": "lib/material.ts"
        }
      ],
      "dependencies": []
    },
    {
      "name": "hover-effects",
      "type": "registry:lib",
      "title": "Hover Effects",
      "description": "Shared CVA hover-effect variants (glow, shimmer, ripple, lift, scale) for any component.",
      "registryDependencies": [],
      "files": [
        {
          "path": "lib/hover-effects.ts",
          "type": "registry:lib",
          "target": "lib/hover-effects.ts"
        }
      ],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "canvas-background-utils",
      "type": "registry:lib",
      "title": "Canvas Background Utils",
      "description": "Ramp-driven canvas background engine: createCanvas({ color, style, ramp, steps, angle, speed }) renders gradient / lava / circle styles from the OKLCH ramps.",
      "registryDependencies": [
        "@sistine/oklch-utils"
      ],
      "files": [
        {
          "path": "lib/canvas-background-utils.ts",
          "type": "registry:lib",
          "target": "lib/canvas-background-utils.ts"
        }
      ],
      "dependencies": []
    },
    {
      "name": "canvas-background",
      "type": "registry:component",
      "title": "Canvas Background",
      "description": "Full-screen animated canvas background that recolors with the live glass tint — gradient, lava, or circle styles driven by the OKLCH ramps.",
      "registryDependencies": [
        "@sistine/canvas-background-utils",
        "@sistine/oklch-utils",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "components/canvas-background.tsx",
          "type": "registry:component",
          "target": "components/canvas-background.tsx"
        }
      ],
      "dependencies": []
    },
    {
      "name": "gradient-background",
      "type": "registry:component",
      "title": "Gradient Background",
      "description": "A ramp-driven gradient wallpaper that recolors with the live glass tint, and lays a fresco preset (sistine/muse/aurora/gloaming) multi-hue palette across the gradient. Pure CSS, crisp at any DPI.",
      "registryDependencies": [
        "@sistine/canvas-background-utils",
        "@sistine/oklch-utils",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "components/gradient-background.tsx",
          "type": "registry:component",
          "target": "components/gradient-background.tsx"
        }
      ],
      "dependencies": []
    },
    {
      "name": "background-controller",
      "type": "registry:block",
      "title": "Background Controller",
      "description": "Site-wide animated background system — a provider + segmented switcher driving CSS gradient, JS canvas, and pure-CSS pattern backdrops (dots, grid, mesh, starfield, synthwave/moonrise/clouds/dune horizons with a placeable sun or moon, dancing aurora borealis, Pac-Man chase, and more) that recolor with the live glass tint and accent. Exposes density, speed, accent, and a themed \"none\" base-color.",
      "registryDependencies": [
        "@sistine/canvas-background-utils",
        "@sistine/oklch-utils",
        "@sistine/theme"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "components/pattern-background.tsx",
          "type": "registry:component",
          "target": "components/pattern-background.tsx"
        },
        {
          "path": "components/canvas-background.tsx",
          "type": "registry:component",
          "target": "components/canvas-background.tsx"
        },
        {
          "path": "components/gradient-background.tsx",
          "type": "registry:component",
          "target": "components/gradient-background.tsx"
        },
        {
          "path": "components/background-provider.tsx",
          "type": "registry:component",
          "target": "components/background-provider.tsx"
        },
        {
          "path": "components/background-switcher.tsx",
          "type": "registry:component",
          "target": "components/background-switcher.tsx"
        }
      ],
      "dependencies": [
        "@phosphor-icons/react",
        "clsx",
        "tailwind-merge"
      ]
    },
    {
      "name": "gradient-text",
      "type": "registry:component",
      "title": "Gradient Text",
      "description": "Fills text with a gradient via background-clip. Defaults to the theme's --gradient-text (follows the live glass tint) and falls back to a fixed brand gradient standalone.",
      "registryDependencies": [],
      "files": [
        {
          "path": "components/gradient-text.tsx",
          "type": "registry:component",
          "target": "components/gradient-text.tsx"
        }
      ],
      "dependencies": []
    }
  ]
}
