{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "weekendsuperhero-io/sistine", "homepage": "https://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": "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": "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": "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": "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": "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": "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/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 horizons, 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": [] } ] }