{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "ui/topia", "homepage": "https://uitopia.vercel.app", "items": [ { "name": "ui", "type": "registry:ui", "registryDependencies": [ "@uitopia/accordion", "@uitopia/alert", "@uitopia/alert-dialog", "@uitopia/autocomplete", "@uitopia/avatar", "@uitopia/badge", "@uitopia/breadcrumb", "@uitopia/button", "@uitopia/card", "@uitopia/checkbox", "@uitopia/checkbox-group", "@uitopia/collapsible", "@uitopia/combobox", "@uitopia/dialog", "@uitopia/empty", "@uitopia/field", "@uitopia/fieldset", "@uitopia/form", "@uitopia/frame", "@uitopia/group", "@uitopia/input", "@uitopia/label", "@uitopia/menu", "@uitopia/meter", "@uitopia/number-field", "@uitopia/pagination", "@uitopia/popover", "@uitopia/preview-card", "@uitopia/progress", "@uitopia/radio-group", "@uitopia/scroll-area", "@uitopia/select", "@uitopia/separator", "@uitopia/sheet", "@uitopia/skeleton", "@uitopia/slider", "@uitopia/switch", "@uitopia/table", "@uitopia/tabs", "@uitopia/textarea", "@uitopia/toast", "@uitopia/toggle", "@uitopia/toggle-group", "@uitopia/toolbar", "@uitopia/tooltip" ] }, { "name": "accordion", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/accordion.tsx", "type": "registry:ui" } ] }, { "name": "accordion-demo", "description": "Basic accordion", "type": "registry:example", "registryDependencies": ["@uitopia/accordion"], "files": [ { "path": "registry/components/accordion-demo.tsx", "type": "registry:example" } ], "categories": ["accordion"] }, { "name": "accordion-controlled", "description": "Controlled accordion", "type": "registry:example", "registryDependencies": ["@uitopia/accordion", "@uitopia/button"], "files": [ { "path": "registry/components/accordion-controlled.tsx", "type": "registry:example" } ], "categories": ["accordion"] }, { "name": "accordion-demo", "description": "Basic accordion", "type": "registry:example", "registryDependencies": ["@uitopia/accordion"], "files": [ { "path": "registry/components/accordion-demo.tsx", "type": "registry:example" } ], "categories": ["accordion"] }, { "name": "accordion-multiple", "description": "Accordion allowing multiple panels open", "type": "registry:example", "registryDependencies": ["@uitopia/accordion"], "files": [ { "path": "registry/components/accordion-multiple.tsx", "type": "registry:example" } ], "categories": ["accordion"] }, { "name": "accordion-single", "description": "Accordion with one panel open", "type": "registry:example", "registryDependencies": ["@uitopia/accordion"], "files": [ { "path": "registry/components/accordion-single.tsx", "type": "registry:example" } ], "categories": ["accordion"] }, { "name": "alert", "type": "registry:ui", "files": [ { "path": "registry/ui/alert.tsx", "type": "registry:ui" } ], "cssVars": { "light": { "destructive-foreground": "oklch(0.505 0.213 27.518)", "info": "oklch(0.623 0.214 259.815)", "info-foreground": "oklch(0.488 0.243 264.376)", "success": "oklch(0.696 0.17 162.48)", "success-foreground": "oklch(0.508 0.118 165.612)", "warning": "oklch(0.769 0.188 70.08)", "warning-foreground": "oklch(0.555 0.163 48.998)" }, "dark": { "destructive-foreground": "oklch(0.704 0.191 22.216)", "info": "oklch(0.623 0.214 259.815)", "info-foreground": "oklch(0.707 0.165 254.624)", "success": "oklch(0.696 0.17 162.48)", "success-foreground": "oklch(0.765 0.177 163.223)", "warning": "oklch(0.769 0.188 70.08)", "warning-foreground": "oklch(0.828 0.189 84.429)" } } }, { "name": "alert-demo", "description": "Basic alert", "type": "registry:example", "registryDependencies": ["@uitopia/alert"], "files": [ { "path": "registry/components/alert-demo.tsx", "type": "registry:example" } ], "categories": ["alert"] }, { "name": "alert-with-icon", "description": "Alert with icon", "type": "registry:example", "registryDependencies": ["@uitopia/alert"], "files": [ { "path": "registry/components/alert-with-icon.tsx", "type": "registry:example" } ], "categories": ["alert"] }, { "name": "alert-with-icon-action", "description": "Alert with icon and action buttons", "type": "registry:example", "registryDependencies": ["@uitopia/alert", "@uitopia/button"], "files": [ { "path": "registry/components/alert-with-icon-action.tsx", "type": "registry:example" } ], "categories": ["alert"] }, { "name": "alert-info", "description": "Info alert", "type": "registry:example", "registryDependencies": ["@uitopia/alert"], "files": [ { "path": "registry/components/alert-info.tsx", "type": "registry:example" } ], "categories": ["alert", "info"] }, { "name": "alert-success", "description": "Success alert", "type": "registry:example", "registryDependencies": ["@uitopia/alert"], "files": [ { "path": "registry/components/alert-success.tsx", "type": "registry:example" } ], "categories": ["alert", "success"] }, { "name": "alert-warning", "description": "Warning alert", "type": "registry:example", "registryDependencies": ["@uitopia/alert"], "files": [ { "path": "registry/components/alert-warning.tsx", "type": "registry:example" } ], "categories": ["alert", "warning"] }, { "name": "alert-error", "description": "Error alert", "type": "registry:example", "registryDependencies": ["@uitopia/alert"], "files": [ { "path": "registry/components/alert-error.tsx", "type": "registry:example" } ], "categories": ["alert", "error"] }, { "name": "alert-dialog", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/alert-dialog.tsx", "type": "registry:ui" } ] }, { "name": "alert-dialog-demo", "description": "Alert dialog", "type": "registry:example", "registryDependencies": ["@uitopia/alert-dialog", "@uitopia/button"], "files": [ { "path": "registry/components/alert-dialog-demo.tsx", "type": "registry:example" } ], "categories": ["dialog"] }, { "name": "autocomplete", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "registryDependencies": ["@uitopia/input", "@uitopia/scroll-area"], "files": [ { "path": "registry/ui/autocomplete.tsx", "type": "registry:ui" } ] }, { "name": "autocomplete-demo", "description": "Basic autocomplete", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-demo.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input"] }, { "name": "autocomplete-disabled", "description": "Disabled autocomplete", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-disabled.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input", "disabled"] }, { "name": "autocomplete-sm", "description": "Small autocomplete", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-sm.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input"] }, { "name": "autocomplete-lg", "description": "Large autocomplete", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-lg.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input"] }, { "name": "autocomplete-with-label", "description": "Autocomplete with label", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete", "@uitopia/label"], "files": [ { "path": "registry/components/autocomplete-with-label.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input"] }, { "name": "autocomplete-inline", "description": "Autocomplete autofilling the input with the highlighted item", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-inline.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input"] }, { "name": "autocomplete-autohighlight", "description": "Autocomplete auto highlighting the first option", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-autohighlight.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input"] }, { "name": "autocomplete-with-clear", "description": "Autocomplete with clear button", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-with-clear.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input"] }, { "name": "autocomplete-with-trigger-clear", "description": "Autocomplete with trigger and clear buttons", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-with-trigger-clear.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input"] }, { "name": "autocomplete-grouped", "description": "Autocomplete with grouped items", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-grouped.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input"] }, { "name": "autocomplete-limit", "description": "Autocomplete with limited number of results", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-limit.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input"] }, { "name": "autocomplete-async", "description": "Autocomplete with async items loading", "type": "registry:example", "registryDependencies": ["@uitopia/autocomplete"], "files": [ { "path": "registry/components/autocomplete-async.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input", "async"] }, { "name": "autocomplete-form", "description": "Autocomplete form", "type": "registry:example", "registryDependencies": [ "@uitopia/autocomplete", "@uitopia/form", "@uitopia/field" ], "files": [ { "path": "registry/components/autocomplete-form.tsx", "type": "registry:example" } ], "categories": ["autocomplete", "input", "form"] }, { "name": "avatar", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/avatar.tsx", "type": "registry:ui" } ] }, { "name": "avatar-demo", "description": "Avatar with image and fallback", "type": "registry:example", "registryDependencies": ["@uitopia/avatar"], "files": [ { "path": "registry/components/avatar-demo.tsx", "type": "registry:example" } ], "categories": ["avatar"] }, { "name": "avatar-fallback", "description": "Fallback-only avatar", "type": "registry:example", "registryDependencies": ["@uitopia/avatar"], "files": [ { "path": "registry/components/avatar-fallback.tsx", "type": "registry:example" } ], "categories": ["avatar"] }, { "name": "avatar-group", "description": "Overlapping avatar group", "type": "registry:example", "registryDependencies": ["@uitopia/avatar"], "files": [ { "path": "registry/components/avatar-group.tsx", "type": "registry:example" } ], "categories": ["avatar", "avatar group"] }, { "name": "avatar-radius", "description": "Avatars with different radii", "type": "registry:example", "registryDependencies": ["@uitopia/avatar"], "files": [ { "path": "registry/components/avatar-radius.tsx", "type": "registry:example" } ], "categories": ["avatar"] }, { "name": "avatar-size", "description": "Avatars with different sizes", "type": "registry:example", "registryDependencies": ["@uitopia/avatar"], "files": [ { "path": "registry/components/avatar-size.tsx", "type": "registry:example" } ], "categories": ["avatar"] }, { "name": "badge", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/badge.tsx", "type": "registry:ui" } ], "cssVars": { "light": { "destructive-foreground": "oklch(0.505 0.213 27.518)", "info": "oklch(0.623 0.214 259.815)", "info-foreground": "oklch(0.488 0.243 264.376)", "success": "oklch(0.696 0.17 162.48)", "success-foreground": "oklch(0.508 0.118 165.612)", "warning": "oklch(0.769 0.188 70.08)", "warning-foreground": "oklch(0.555 0.163 48.998)" }, "dark": { "destructive-foreground": "oklch(0.704 0.191 22.216)", "info": "oklch(0.623 0.214 259.815)", "info-foreground": "oklch(0.707 0.165 254.624)", "success": "oklch(0.696 0.17 162.48)", "success-foreground": "oklch(0.765 0.177 163.223)", "warning": "oklch(0.769 0.188 70.08)", "warning-foreground": "oklch(0.828 0.189 84.429)" } } }, { "name": "badge-demo", "description": "Basic badge", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-demo.tsx", "type": "registry:example" } ], "categories": ["badge"] }, { "name": "badge-outline", "description": "Outline badge", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-outline.tsx", "type": "registry:example" } ], "categories": ["badge"] }, { "name": "badge-secondary", "description": "Secondary badge", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-secondary.tsx", "type": "registry:example" } ], "categories": ["badge"] }, { "name": "badge-destructive", "description": "Destructive badge", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-destructive.tsx", "type": "registry:example" } ], "categories": ["badge", "destructive", "error"] }, { "name": "badge-info", "description": "Info badge", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-info.tsx", "type": "registry:example" } ], "categories": ["badge", "info"] }, { "name": "badge-success", "description": "Success badge", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-success.tsx", "type": "registry:example" } ], "categories": ["badge", "success"] }, { "name": "badge-warning", "description": "Warning badge", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-warning.tsx", "type": "registry:example" } ], "categories": ["badge", "warning"] }, { "name": "badge-error", "description": "Error badge", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-error.tsx", "type": "registry:example" } ], "categories": ["badge", "error"] }, { "name": "badge-sm", "description": "Small badge", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-sm.tsx", "type": "registry:example" } ], "categories": ["badge"] }, { "name": "badge-lg", "description": "Large badge", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-lg.tsx", "type": "registry:example" } ], "categories": ["badge"] }, { "name": "badge-with-icon", "description": "Badge with icon", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-with-icon.tsx", "type": "registry:example" } ], "categories": ["badge"] }, { "name": "badge-with-link", "description": "Badge with link", "type": "registry:example", "registryDependencies": ["@uitopia/badge"], "files": [ { "path": "registry/components/badge-with-link.tsx", "type": "registry:example" } ], "categories": ["badge"] }, { "name": "breadcrumb", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/breadcrumb.tsx", "type": "registry:ui" } ] }, { "name": "breadcrumb-demo", "description": "Breadcrumb with menu example", "type": "registry:example", "registryDependencies": ["@uitopia/breadcrumb", "@uitopia/menu"], "files": [ { "path": "registry/components/breadcrumb-demo.tsx", "type": "registry:example" } ], "categories": ["breadcrumb", "menu"] }, { "name": "breadcrumb-custom-separator", "description": "Breadcrumb with custom separator", "type": "registry:example", "registryDependencies": ["@uitopia/breadcrumb"], "files": [ { "path": "registry/components/breadcrumb-custom-separator.tsx", "type": "registry:example" } ], "categories": ["breadcrumb"] }, { "name": "button", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/button.tsx", "type": "registry:ui" } ], "cssVars": { "light": { "destructive-foreground": "oklch(0.505 0.213 27.518)" }, "dark": { "destructive-foreground": "oklch(0.704 0.191 22.216)" } } }, { "name": "button-demo", "description": "Default button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-demo.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-secondary", "description": "Secondary button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-secondary.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-destructive", "description": "Destructive button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-destructive.tsx", "type": "registry:example" } ], "categories": ["button", "delete", "destructive"] }, { "name": "button-destructive-outline", "description": "Destructive outline button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-destructive-outline.tsx", "type": "registry:example" } ], "categories": ["button", "delete"] }, { "name": "button-outline", "description": "Outline button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-outline.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-ghost", "description": "Ghost button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-ghost.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-link", "description": "Link button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-link.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-xs", "description": "Extra-small button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-xs.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-sm", "description": "Small button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-sm.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-lg", "description": "Large button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-lg.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-xl", "description": "Extra-large button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-xl.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-disabled", "description": "Disabled button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-disabled.tsx", "type": "registry:example" } ], "categories": ["button", "disabled"] }, { "name": "button-icon", "description": "Icon button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-icon.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-icon-sm", "description": "Small icon button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-icon-sm.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-icon-lg", "description": "Large icon button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-icon-lg.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-with-icon", "description": "Button with icon", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-with-icon.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-with-link", "description": "Link rendered as button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-with-link.tsx", "type": "registry:example" } ], "categories": ["button"] }, { "name": "button-loading", "description": "Loading button", "type": "registry:example", "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/components/button-loading.tsx", "type": "registry:example" } ], "categories": ["button", "loading"] }, { "name": "card", "type": "registry:ui", "dependencies": [], "files": [ { "path": "registry/ui/card.tsx", "type": "registry:ui" } ] }, { "name": "card-demo", "description": "Card example with form", "type": "registry:example", "registryDependencies": [ "@uitopia/card", "@uitopia/button", "@uitopia/select", "@uitopia/form", "@uitopia/field" ], "files": [ { "path": "registry/components/card-demo.tsx", "type": "registry:example" } ], "categories": ["card", "button", "input", "select", "form", "field"] }, { "name": "checkbox", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/checkbox.tsx", "type": "registry:ui" } ] }, { "name": "checkbox-demo", "description": "Basic checkbox", "type": "registry:example", "registryDependencies": ["@uitopia/checkbox", "@uitopia/label"], "files": [ { "path": "registry/components/checkbox-demo.tsx", "type": "registry:example" } ], "categories": ["checkbox", "label"] }, { "name": "checkbox-disabled", "description": "Disabled checkbox", "type": "registry:example", "registryDependencies": ["@uitopia/checkbox", "@uitopia/label"], "files": [ { "path": "registry/components/checkbox-disabled.tsx", "type": "registry:example" } ], "categories": ["checkbox", "disabled", "label"] }, { "name": "checkbox-form", "description": "Checkbox in a form", "type": "registry:example", "registryDependencies": [ "@uitopia/checkbox", "@uitopia/field", "@uitopia/form", "@uitopia/button" ], "files": [ { "path": "registry/components/checkbox-form.tsx", "type": "registry:example" } ], "categories": ["checkbox", "form", "button", "label"] }, { "name": "checkbox-card", "description": "Card-style checkbox", "type": "registry:example", "registryDependencies": ["@uitopia/checkbox", "@uitopia/label"], "files": [ { "path": "registry/components/checkbox-card.tsx", "type": "registry:example" } ], "categories": ["checkbox", "card", "label"] }, { "name": "checkbox-group", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/checkbox-group.tsx", "type": "registry:ui" } ] }, { "name": "checkbox-group-demo", "description": "Checkbox group", "type": "registry:example", "registryDependencies": [ "@uitopia/checkbox-group", "@uitopia/checkbox", "@uitopia/label" ], "files": [ { "path": "registry/components/checkbox-group-demo.tsx", "type": "registry:example" } ], "categories": ["checkbox group", "checkbox"] }, { "name": "checkbox-group-disabled", "description": "Checkbox group with disabled item", "type": "registry:example", "registryDependencies": [ "@uitopia/checkbox-group", "@uitopia/checkbox", "@uitopia/label" ], "files": [ { "path": "registry/components/checkbox-group-disabled.tsx", "type": "registry:example" } ], "categories": ["checkbox group", "checkbox", "disabled"] }, { "name": "checkbox-group-form", "description": "Checkbox group in a form", "type": "registry:example", "registryDependencies": [ "@uitopia/checkbox-group", "@uitopia/checkbox", "@uitopia/button", "@uitopia/field", "@uitopia/fieldset", "@uitopia/form" ], "files": [ { "path": "registry/components/checkbox-group-form.tsx", "type": "registry:example" } ], "categories": [ "checkbox group", "checkbox", "form", "button", "field", "fieldset" ] }, { "name": "checkbox-group-nested-parent", "description": "Checkbox group parent with nested children controls", "type": "registry:example", "registryDependencies": [ "@uitopia/checkbox-group", "@uitopia/checkbox", "@uitopia/label" ], "files": [ { "path": "registry/components/checkbox-group-nested-parent.tsx", "type": "registry:example" } ], "categories": ["checkbox group", "checkbox", "label"] }, { "name": "checkbox-group-parent", "description": "Checkbox group select/deselect all checkboxes", "type": "registry:example", "registryDependencies": [ "@uitopia/checkbox-group", "@uitopia/checkbox", "@uitopia/label" ], "files": [ { "path": "registry/components/checkbox-group-parent.tsx", "type": "registry:example" } ], "categories": ["checkbox group", "checkbox", "label"] }, { "name": "checkbox-with-description", "description": "Checkbox with helper text", "type": "registry:example", "registryDependencies": ["@uitopia/checkbox", "@uitopia/label"], "files": [ { "path": "registry/components/checkbox-with-description.tsx", "type": "registry:example" } ], "categories": ["checkbox", "label", "helper", "hint"] }, { "name": "collapsible", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/collapsible.tsx", "type": "registry:ui" } ] }, { "name": "collapsible-demo", "description": "Basic collapsible", "type": "registry:example", "registryDependencies": ["@uitopia/collapsible"], "files": [ { "path": "registry/components/collapsible-demo.tsx", "type": "registry:example" } ], "categories": ["collapsible"] }, { "name": "combobox", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "registryDependencies": ["@uitopia/input", "@uitopia/scroll-area"], "files": [ { "path": "registry/ui/combobox.tsx", "type": "registry:ui" } ] }, { "name": "combobox-demo", "description": "Basic combobox", "type": "registry:example", "registryDependencies": ["@uitopia/combobox"], "files": [ { "path": "registry/components/combobox-demo.tsx", "type": "registry:example" } ], "categories": ["combobox", "input"] }, { "name": "combobox-disabled", "description": "Disabled combobox", "type": "registry:example", "registryDependencies": ["@uitopia/combobox"], "files": [ { "path": "registry/components/combobox-disabled.tsx", "type": "registry:example" } ], "categories": ["combobox", "input", "disabled"] }, { "name": "combobox-sm", "description": "Small combobox", "type": "registry:example", "registryDependencies": ["@uitopia/combobox"], "files": [ { "path": "registry/components/combobox-sm.tsx", "type": "registry:example" } ], "categories": ["combobox", "input"] }, { "name": "combobox-lg", "description": "Large combobox", "type": "registry:example", "registryDependencies": ["@uitopia/combobox"], "files": [ { "path": "registry/components/combobox-lg.tsx", "type": "registry:example" } ], "categories": ["combobox", "input"] }, { "name": "combobox-with-label", "description": "Combobox with label", "type": "registry:example", "registryDependencies": ["@uitopia/combobox", "@uitopia/label"], "files": [ { "path": "registry/components/combobox-with-label.tsx", "type": "registry:example" } ], "categories": ["combobox", "input"] }, { "name": "combobox-autohighlight", "description": "Combobox auto highlighting the first option", "type": "registry:example", "registryDependencies": ["@uitopia/combobox"], "files": [ { "path": "registry/components/combobox-autohighlight.tsx", "type": "registry:example" } ], "categories": ["combobox", "input"] }, { "name": "combobox-grouped", "description": "Combobox with grouped items", "type": "registry:example", "registryDependencies": ["@uitopia/combobox"], "files": [ { "path": "registry/components/combobox-grouped.tsx", "type": "registry:example" } ], "categories": ["combobox", "input"] }, { "name": "combobox-with-clear", "description": "Combobox with clear button", "type": "registry:example", "registryDependencies": ["@uitopia/combobox"], "files": [ { "path": "registry/components/combobox-with-clear.tsx", "type": "registry:example" } ], "categories": ["combobox", "input"] }, { "name": "combobox-multiple", "description": "Combobox with multiple selection", "type": "registry:example", "registryDependencies": ["@uitopia/combobox"], "files": [ { "path": "registry/components/combobox-multiple.tsx", "type": "registry:example" } ], "categories": ["combobox", "input"] }, { "name": "combobox-with-inner-input", "description": "Combobox with popup", "type": "registry:example", "registryDependencies": ["@uitopia/combobox", "@uitopia/button"], "files": [ { "path": "registry/components/combobox-with-inner-input.tsx", "type": "registry:example" } ], "categories": ["combobox", "input"] }, { "name": "combobox-form", "description": "Combobox form", "type": "registry:example", "registryDependencies": [ "@uitopia/combobox", "@uitopia/button", "@uitopia/form", "@uitopia/field" ], "files": [ { "path": "registry/components/combobox-form.tsx", "type": "registry:example" } ], "categories": ["combobox", "input", "form"] }, { "name": "combobox-multiple-form", "description": "Combobox multiple selection form", "type": "registry:example", "registryDependencies": [ "@uitopia/combobox", "@uitopia/button", "@uitopia/form", "@uitopia/field" ], "files": [ { "path": "registry/components/combobox-multiple-form.tsx", "type": "registry:example" } ], "categories": ["combobox", "input", "form", "multiple"] }, { "name": "dialog", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/dialog.tsx", "type": "registry:ui" } ] }, { "name": "dialog-demo", "description": "Basic dialog", "type": "registry:example", "registryDependencies": [ "@uitopia/dialog", "@uitopia/button", "@uitopia/form", "@uitopia/field" ], "files": [ { "path": "registry/components/dialog-demo.tsx", "type": "registry:example" } ], "categories": ["dialog", "form", "field", "button"] }, { "name": "dialog-close-confirmation", "description": "Prompt before closing with unsaved changes", "type": "registry:example", "registryDependencies": [ "@uitopia/alert-dialog", "@uitopia/dialog", "@uitopia/button", "@uitopia/form", "@uitopia/field", "@uitopia/textarea" ], "files": [ { "path": "registry/components/dialog-close-confirmation.tsx", "type": "registry:example" } ], "categories": [ "dialog", "alert dialog", "form", "field", "button", "textarea" ] }, { "name": "dialog-from-menu", "description": "Open dialog from a menu item", "type": "registry:example", "registryDependencies": [ "@uitopia/dialog", "@uitopia/menu", "@uitopia/button" ], "files": [ { "path": "registry/components/dialog-from-menu.tsx", "type": "registry:example" } ], "categories": ["dialog", "menu", "button"] }, { "name": "dialog-nested", "description": "Dialog with a nested dialog", "type": "registry:example", "registryDependencies": [ "@uitopia/dialog", "@uitopia/button", "@uitopia/field" ], "files": [ { "path": "registry/components/dialog-nested.tsx", "type": "registry:example" } ], "categories": ["dialog", "field", "button"] }, { "name": "empty", "type": "registry:ui", "files": [ { "path": "registry/ui/empty.tsx", "type": "registry:ui" } ] }, { "name": "empty-demo", "description": "Basic empty state with icon", "type": "registry:example", "registryDependencies": ["@uitopia/empty", "@uitopia/button"], "files": [ { "path": "registry/components/empty-demo.tsx", "type": "registry:example" } ], "categories": ["empty"] }, { "name": "field", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/field.tsx", "type": "registry:ui" } ], "cssVars": { "light": { "destructive-foreground": "oklch(0.505 0.213 27.518)" }, "dark": { "destructive-foreground": "oklch(0.704 0.191 22.216)" } } }, { "name": "field-demo", "description": "Field with description", "type": "registry:example", "registryDependencies": ["@uitopia/field"], "files": [ { "path": "registry/components/field-demo.tsx", "type": "registry:example" } ], "categories": ["field", "label", "helper", "hint"] }, { "name": "field-checkbox", "description": "Field with checkbox", "type": "registry:example", "registryDependencies": ["@uitopia/field", "@uitopia/checkbox"], "files": [ { "path": "registry/components/field-checkbox.tsx", "type": "registry:example" } ], "categories": ["field", "label", "checkbox"] }, { "name": "field-checkbox-group", "description": "Field with checkbox group", "type": "registry:example", "registryDependencies": [ "@uitopia/field", "@uitopia/checkbox-group", "@uitopia/checkbox", "@uitopia/fieldset" ], "files": [ { "path": "registry/components/field-checkbox-group.tsx", "type": "registry:example" } ], "categories": ["field", "checkbox group", "checkbox", "fieldset", "label"] }, { "name": "field-complete-form", "description": "Complete form built with field", "type": "registry:example", "registryDependencies": [ "@uitopia/field", "@uitopia/select", "@uitopia/checkbox", "@uitopia/form", "@uitopia/button" ], "files": [ { "path": "registry/components/field-complete-form.tsx", "type": "registry:example" } ], "categories": [ "field", "label", "form", "select", "checkbox", "button", "helper", "hint" ] }, { "name": "field-disabled", "description": "Field in disabled state", "type": "registry:example", "registryDependencies": ["@uitopia/field"], "files": [ { "path": "registry/components/field-disabled.tsx", "type": "registry:example" } ], "categories": ["field", "label", "disabled", "helper", "hint"] }, { "name": "field-error", "description": "Field showing validation error", "type": "registry:example", "registryDependencies": ["@uitopia/field"], "files": [ { "path": "registry/components/field-error.tsx", "type": "registry:example" } ], "categories": ["field", "label", "error"] }, { "name": "field-autocomplete", "description": "Field with autocomplete", "type": "registry:example", "registryDependencies": ["@uitopia/field", "@uitopia/autocomplete"], "files": [ { "path": "registry/components/field-autocomplete.tsx", "type": "registry:example" } ], "categories": ["field", "input", "autocomplete", "label"] }, { "name": "field-combobox", "description": "Field with combobox", "type": "registry:example", "registryDependencies": ["@uitopia/field", "@uitopia/combobox"], "files": [ { "path": "registry/components/field-combobox.tsx", "type": "registry:example" } ], "categories": ["field", "input", "combobox", "label"] }, { "name": "field-combobox-multiple", "description": "Field with multiple selection combobox", "type": "registry:example", "registryDependencies": ["@uitopia/field", "@uitopia/combobox"], "files": [ { "path": "registry/components/field-combobox-multiple.tsx", "type": "registry:example" } ], "categories": ["field", "input", "combobox", "label", "multiple"] }, { "name": "field-number-field", "description": "Field with number field", "type": "registry:example", "registryDependencies": ["@uitopia/field", "@uitopia/number-field"], "files": [ { "path": "registry/components/field-number-field.tsx", "type": "registry:example" } ], "categories": ["field", "input", "label", "number", "helper", "hint"] }, { "name": "field-radio", "description": "Field with radio group", "type": "registry:example", "registryDependencies": [ "@uitopia/field", "@uitopia/radio-group", "@uitopia/fieldset" ], "files": [ { "path": "registry/components/field-radio.tsx", "type": "registry:example" } ], "categories": ["field", "radio", "label", "fieldset", "helper", "hint"] }, { "name": "field-required", "description": "Field with required indicator", "type": "registry:example", "registryDependencies": ["@uitopia/field"], "files": [ { "path": "registry/components/field-required.tsx", "type": "registry:example" } ], "categories": ["field", "label", "required"] }, { "name": "field-select", "description": "Field with select", "type": "registry:example", "registryDependencies": ["@uitopia/field", "@uitopia/select"], "files": [ { "path": "registry/components/field-select.tsx", "type": "registry:example" } ], "categories": ["field", "select", "label", "helper", "hint"] }, { "name": "field-slider", "description": "Field with slider", "type": "registry:example", "registryDependencies": ["@uitopia/field", "@uitopia/slider"], "files": [ { "path": "registry/components/field-slider.tsx", "type": "registry:example" } ], "categories": ["field", "slider", "label", "helper", "hint"] }, { "name": "field-switch", "description": "Field with toggle switch", "type": "registry:example", "registryDependencies": ["@uitopia/field", "@uitopia/switch"], "files": [ { "path": "registry/components/field-switch.tsx", "type": "registry:example" } ], "categories": ["field", "switch", "label"] }, { "name": "field-textarea", "description": "Field with textarea", "type": "registry:example", "registryDependencies": ["@uitopia/field", "@uitopia/textarea"], "files": [ { "path": "registry/components/field-textarea.tsx", "type": "registry:example" } ], "categories": ["field", "textarea", "label", "helper", "hint"] }, { "name": "field-validity", "description": "Show field validity state", "type": "registry:example", "registryDependencies": ["@uitopia/field"], "files": [ { "path": "registry/components/field-validity.tsx", "type": "registry:example" } ], "categories": ["field"] }, { "name": "fieldset", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/fieldset.tsx", "type": "registry:ui" } ] }, { "name": "fieldset-demo", "description": "Fieldset with legend and labeled fields", "type": "registry:example", "registryDependencies": ["@uitopia/fieldset", "@uitopia/field"], "files": [ { "path": "registry/components/fieldset-demo.tsx", "type": "registry:example" } ], "categories": ["fieldset", "field", "label", "input", "helper"] }, { "name": "form", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/form.tsx", "type": "registry:ui" } ] }, { "name": "form-demo", "description": "Input in a form", "type": "registry:example", "registryDependencies": [ "@uitopia/form", "@uitopia/field", "@uitopia/button" ], "files": [ { "path": "registry/components/form-demo.tsx", "type": "registry:example" } ], "categories": ["form", "field", "button", "input"] }, { "name": "form-zod", "description": "Form with zod validation", "type": "registry:example", "registryDependencies": [ "@uitopia/form", "@uitopia/field", "@uitopia/button" ], "dependencies": ["zod"], "files": [ { "path": "registry/components/form-zod.tsx", "type": "registry:example" } ], "categories": ["form", "field", "button", "validation", "label", "zod"] }, { "name": "frame", "type": "registry:ui", "files": [ { "path": "registry/ui/frame.tsx", "type": "registry:ui" } ] }, { "name": "frame-demo", "description": "Frame example", "type": "registry:example", "registryDependencies": ["@uitopia/frame"], "files": [ { "path": "registry/components/frame-demo.tsx", "type": "registry:example" } ], "categories": ["frame"] }, { "name": "group", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "registryDependencies": ["@uitopia/separator"], "files": [ { "path": "registry/ui/group.tsx", "type": "registry:ui" } ] }, { "name": "group-demo", "description": "Group example", "type": "registry:example", "registryDependencies": ["@uitopia/group", "@uitopia/button"], "files": [ { "path": "registry/components/group-demo.tsx", "type": "registry:example" } ], "categories": ["group"] }, { "name": "group-with-input", "description": "Group with input", "type": "registry:example", "registryDependencies": [ "@uitopia/group", "@uitopia/button", "@uitopia/input" ], "files": [ { "path": "registry/components/group-with-input.tsx", "type": "registry:example" } ], "categories": ["group"] }, { "name": "input", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/input.tsx", "type": "registry:ui" } ] }, { "name": "input-demo", "description": "Basic input component without label", "type": "registry:example", "registryDependencies": ["@uitopia/input"], "files": [ { "path": "registry/components/input-demo.tsx", "type": "registry:example" } ], "categories": ["input"] }, { "name": "input-sm", "description": "Small input", "type": "registry:example", "registryDependencies": ["@uitopia/input"], "files": [ { "path": "registry/components/input-sm.tsx", "type": "registry:example" } ], "categories": ["input"] }, { "name": "input-lg", "description": "Large input", "type": "registry:example", "registryDependencies": ["@uitopia/input"], "files": [ { "path": "registry/components/input-lg.tsx", "type": "registry:example" } ], "categories": ["input"] }, { "name": "input-disabled", "description": "Input with disabled state", "type": "registry:example", "registryDependencies": ["@uitopia/input"], "files": [ { "path": "registry/components/input-disabled.tsx", "type": "registry:example" } ], "categories": ["input", "disabled"] }, { "name": "input-file", "description": "Input type set to file", "type": "registry:example", "registryDependencies": ["@uitopia/input"], "files": [ { "path": "registry/components/input-file.tsx", "type": "registry:example" } ], "categories": ["input", "file"] }, { "name": "input-with-label", "description": "Input with label", "type": "registry:example", "registryDependencies": ["@uitopia/input", "@uitopia/label"], "files": [ { "path": "registry/components/input-with-label.tsx", "type": "registry:example" } ], "categories": ["input", "label"] }, { "name": "input-with-button", "description": "Input with button", "type": "registry:example", "registryDependencies": ["@uitopia/input", "@uitopia/button"], "files": [ { "path": "registry/components/input-with-button.tsx", "type": "registry:example" } ], "categories": ["input", "button"] }, { "name": "label", "type": "registry:ui", "files": [ { "path": "registry/ui/label.tsx", "type": "registry:ui" } ] }, { "name": "menu", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/menu.tsx", "type": "registry:ui" } ], "cssVars": { "light": { "destructive-foreground": "oklch(0.505 0.213 27.518)" }, "dark": { "destructive-foreground": "oklch(0.704 0.191 22.216)" } } }, { "name": "menu-demo", "description": "Basic menu", "type": "registry:example", "registryDependencies": ["@uitopia/menu", "@uitopia/button"], "files": [ { "path": "registry/components/menu-demo.tsx", "type": "registry:example" } ], "categories": ["menu"] }, { "name": "menu-checkbox", "description": "Menu with checkbox items", "type": "registry:example", "registryDependencies": ["@uitopia/menu", "@uitopia/button"], "files": [ { "path": "registry/components/menu-checkbox.tsx", "type": "registry:example" } ], "categories": ["menu", "checkbox"] }, { "name": "menu-close-on-click", "description": "Close menu when items are clicked", "type": "registry:example", "registryDependencies": ["@uitopia/menu", "@uitopia/button"], "files": [ { "path": "registry/components/menu-close-on-click.tsx", "type": "registry:example" } ], "categories": ["menu"] }, { "name": "menu-group-labels", "description": "Menu items grouped with labels", "type": "registry:example", "registryDependencies": ["@uitopia/menu", "@uitopia/button"], "files": [ { "path": "registry/components/menu-group-labels.tsx", "type": "registry:example" } ], "categories": ["menu", "label"] }, { "name": "menu-hover", "description": "Open the menu on hover", "type": "registry:example", "registryDependencies": ["@uitopia/menu", "@uitopia/button"], "files": [ { "path": "registry/components/menu-hover.tsx", "type": "registry:example" } ], "categories": ["menu"] }, { "name": "menu-link", "description": "Menu items as links", "type": "registry:example", "registryDependencies": ["@uitopia/menu", "@uitopia/button"], "files": [ { "path": "registry/components/menu-link.tsx", "type": "registry:example" } ], "categories": ["menu", "link"] }, { "name": "menu-nested", "description": "Menu with submenu", "type": "registry:example", "registryDependencies": ["@uitopia/menu", "@uitopia/button"], "files": [ { "path": "registry/components/menu-nested.tsx", "type": "registry:example" } ], "categories": ["menu"] }, { "name": "menu-radio-group", "description": "Menu with radio options", "type": "registry:example", "registryDependencies": ["@uitopia/menu", "@uitopia/button"], "files": [ { "path": "registry/components/menu-radio-group.tsx", "type": "registry:example" } ], "categories": ["menu", "radio"] }, { "name": "meter", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/meter.tsx", "type": "registry:ui" } ] }, { "name": "meter-demo", "description": "Basic meter", "type": "registry:example", "registryDependencies": ["@uitopia/meter"], "files": [ { "path": "registry/components/meter-demo.tsx", "type": "registry:example" } ], "categories": ["meter"] }, { "name": "meter-simple", "description": "Meter without label and value", "type": "registry:example", "registryDependencies": ["@uitopia/meter"], "files": [ { "path": "registry/components/meter-simple.tsx", "type": "registry:example" } ], "categories": ["meter"] }, { "name": "meter-with-formatted-value", "description": "Meter with a custom formatted value", "type": "registry:example", "registryDependencies": ["@uitopia/meter"], "files": [ { "path": "registry/components/meter-with-formatted-value.tsx", "type": "registry:example" } ], "categories": ["meter"] }, { "name": "meter-with-range", "description": "Meter with min and max values", "type": "registry:example", "registryDependencies": ["@uitopia/meter"], "files": [ { "path": "registry/components/meter-with-range.tsx", "type": "registry:example" } ], "categories": ["meter"] }, { "name": "number-field", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/number-field.tsx", "type": "registry:ui" } ] }, { "name": "number-field-demo", "description": "A number field", "type": "registry:example", "registryDependencies": ["@uitopia/number-field"], "files": [ { "path": "registry/components/number-field-demo.tsx", "type": "registry:example" } ], "categories": ["number field"] }, { "name": "number-field-sm", "description": "Small number field", "type": "registry:example", "registryDependencies": ["@uitopia/number-field"], "files": [ { "path": "registry/components/number-field-sm.tsx", "type": "registry:example" } ], "categories": ["number field"] }, { "name": "number-field-lg", "description": "Large number field", "type": "registry:example", "registryDependencies": ["@uitopia/number-field"], "files": [ { "path": "registry/components/number-field-lg.tsx", "type": "registry:example" } ], "categories": ["number field"] }, { "name": "number-field-disabled", "description": "A disabled number field", "type": "registry:example", "registryDependencies": ["@uitopia/number-field"], "files": [ { "path": "registry/components/number-field-disabled.tsx", "type": "registry:example" } ], "categories": ["number field", "disabled", "label"] }, { "name": "number-field-form", "description": "A number in a form", "type": "registry:example", "registryDependencies": [ "@uitopia/number-field", "@uitopia/field", "@uitopia/form", "@uitopia/button" ], "files": [ { "path": "registry/components/number-field-form.tsx", "type": "registry:example" } ], "categories": ["number field", "field", "form", "button"] }, { "name": "number-field-with-formatted-value", "description": "A number field with formatted value", "type": "registry:example", "registryDependencies": ["@uitopia/number-field"], "files": [ { "path": "registry/components/number-field-with-formatted-value.tsx", "type": "registry:example" } ], "categories": ["number field"] }, { "name": "number-field-with-label", "description": "A number field with an external label", "type": "registry:example", "registryDependencies": ["@uitopia/number-field", "@uitopia/label"], "dependencies": ["@radix-ui/react-label"], "files": [ { "path": "registry/components/number-field-with-label.tsx", "type": "registry:example" } ], "categories": ["number field", "label"] }, { "name": "number-field-with-range", "description": "A number field with min/max constraints", "type": "registry:example", "registryDependencies": ["@uitopia/number-field"], "files": [ { "path": "registry/components/number-field-with-range.tsx", "type": "registry:example" } ], "categories": ["number field", "range"] }, { "name": "number-field-with-scrub", "description": "A number field with a scrub area", "type": "registry:example", "registryDependencies": ["@uitopia/number-field"], "files": [ { "path": "registry/components/number-field-with-scrub.tsx", "type": "registry:example" } ], "categories": ["number field"] }, { "name": "number-field-with-step", "description": "A number field with step", "type": "registry:example", "registryDependencies": ["@uitopia/number-field"], "files": [ { "path": "registry/components/number-field-with-step.tsx", "type": "registry:example" } ], "categories": ["number field"] }, { "name": "pagination", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "registryDependencies": ["@uitopia/button"], "files": [ { "path": "registry/ui/pagination.tsx", "type": "registry:ui" } ] }, { "name": "pagination-demo", "description": "Pagination example", "type": "registry:example", "registryDependencies": ["@uitopia/pagination"], "files": [ { "path": "registry/components/pagination-demo.tsx", "type": "registry:example" } ], "categories": ["pagination"] }, { "name": "popover", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/popover.tsx", "type": "registry:ui" } ] }, { "name": "popover-demo", "description": "Popover with a form", "type": "registry:example", "registryDependencies": [ "@uitopia/popover", "@uitopia/button", "@uitopia/textarea", "@uitopia/form", "@uitopia/field" ], "files": [ { "path": "registry/components/popover-demo.tsx", "type": "registry:example" } ], "categories": ["popover", "button", "textarea", "form", "field"] }, { "name": "popover-with-close", "description": "Popover with close button", "type": "registry:example", "registryDependencies": ["@uitopia/popover", "@uitopia/button"], "files": [ { "path": "registry/components/popover-with-close.tsx", "type": "registry:example" } ], "categories": ["popover", "button"] }, { "name": "preview-card", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/preview-card.tsx", "type": "registry:ui" } ] }, { "name": "preview-card-demo", "description": "Preview card example", "type": "registry:example", "registryDependencies": ["@uitopia/preview-card", "@uitopia/button"], "files": [ { "path": "registry/components/preview-card-demo.tsx", "type": "registry:example" } ], "categories": ["preview card", "button"] }, { "name": "progress", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/progress.tsx", "type": "registry:ui" } ] }, { "name": "progress-demo", "description": "Animated progress bar", "type": "registry:example", "registryDependencies": ["@uitopia/progress"], "files": [ { "path": "registry/components/progress-demo.tsx", "type": "registry:example" } ], "categories": ["progress"] }, { "name": "progress-with-formatted-value", "description": "Progress with a custom formatted value", "type": "registry:example", "registryDependencies": ["@uitopia/progress"], "files": [ { "path": "registry/components/progress-with-formatted-value.tsx", "type": "registry:example" } ], "categories": ["progress"] }, { "name": "progress-with-label-value", "description": "Progress with label and value", "type": "registry:example", "registryDependencies": ["@uitopia/progress"], "files": [ { "path": "registry/components/progress-with-label-value.tsx", "type": "registry:example" } ], "categories": ["progress", "label"] }, { "name": "radio-group", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/radio-group.tsx", "type": "registry:ui" } ] }, { "name": "radio-group-demo", "description": "Basic radio group", "type": "registry:example", "registryDependencies": ["@uitopia/radio-group", "@uitopia/label"], "files": [ { "path": "registry/components/radio-group-demo.tsx", "type": "registry:example" } ], "categories": ["radio", "label"] }, { "name": "radio-group-card", "description": "Card-style radio options", "type": "registry:example", "registryDependencies": ["@uitopia/radio-group", "@uitopia/label"], "files": [ { "path": "registry/components/radio-group-card.tsx", "type": "registry:example" } ], "categories": ["radio", "label"] }, { "name": "radio-group-disabled", "description": "Radio group with one option disabled", "type": "registry:example", "registryDependencies": ["@uitopia/radio-group", "@uitopia/label"], "files": [ { "path": "registry/components/radio-group-disabled.tsx", "type": "registry:example" } ], "categories": ["radio", "label"] }, { "name": "radio-group-form", "description": "Radio group in a form", "type": "registry:example", "registryDependencies": [ "@uitopia/radio-group", "@uitopia/field", "@uitopia/fieldset", "@uitopia/form", "@uitopia/button" ], "files": [ { "path": "registry/components/radio-group-form.tsx", "type": "registry:example" } ], "categories": ["radio", "field", "fieldset", "form", "button"] }, { "name": "radio-group-with-description", "description": "Radio options with helper text", "type": "registry:example", "registryDependencies": ["@uitopia/radio-group", "@uitopia/label"], "files": [ { "path": "registry/components/radio-group-with-description.tsx", "type": "registry:example" } ], "categories": ["radio", "label", "helper", "hint"] }, { "name": "scroll-area", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/scroll-area.tsx", "type": "registry:ui" } ] }, { "name": "scroll-area-demo", "description": "Scroll area - vertical", "type": "registry:example", "registryDependencies": ["@uitopia/scroll-area"], "files": [ { "path": "registry/components/scroll-area-demo.tsx", "type": "registry:example" } ], "categories": ["scroll area"] }, { "name": "scroll-area-horizontal", "description": "Scroll area - horizontal", "type": "registry:example", "registryDependencies": ["@uitopia/scroll-area"], "files": [ { "path": "registry/components/scroll-area-horizontal.tsx", "type": "registry:example" } ], "categories": ["scroll area"] }, { "name": "scroll-area-both", "description": "Scroll area - both horizontal and vertical", "type": "registry:example", "registryDependencies": ["@uitopia/scroll-area"], "files": [ { "path": "registry/components/scroll-area-both.tsx", "type": "registry:example" } ], "categories": ["scroll area"] }, { "name": "select", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/select.tsx", "type": "registry:ui" } ] }, { "name": "select-demo", "description": "A basic select", "type": "registry:example", "registryDependencies": ["@uitopia/select"], "files": [ { "path": "registry/components/select-demo.tsx", "type": "registry:example" } ], "categories": ["select"] }, { "name": "select-sm", "description": "A select with small size", "type": "registry:example", "registryDependencies": ["@uitopia/select"], "files": [ { "path": "registry/components/select-sm.tsx", "type": "registry:example" } ], "categories": ["select"] }, { "name": "select-lg", "description": "A select with large size", "type": "registry:example", "registryDependencies": ["@uitopia/select"], "files": [ { "path": "registry/components/select-lg.tsx", "type": "registry:example" } ], "categories": ["select"] }, { "name": "select-disabled", "description": "A disabled select", "type": "registry:example", "registryDependencies": ["@uitopia/select"], "files": [ { "path": "registry/components/select-disabled.tsx", "type": "registry:example" } ], "categories": ["select", "disabled"] }, { "name": "select-without-alignment", "description": "Select popup not aligned to trigger", "type": "registry:example", "registryDependencies": ["@uitopia/select"], "files": [ { "path": "registry/components/select-without-alignment.tsx", "type": "registry:example" } ], "categories": ["select"] }, { "name": "select-with-groups", "description": "Select items grouped with labels", "type": "registry:example", "registryDependencies": ["@uitopia/select"], "files": [ { "path": "registry/components/select-with-groups.tsx", "type": "registry:example" } ], "categories": ["select"] }, { "name": "select-multiple", "description": "Multiple selection with formatted value", "type": "registry:example", "registryDependencies": ["@uitopia/select"], "files": [ { "path": "registry/components/select-multiple.tsx", "type": "registry:example" } ], "categories": ["select"] }, { "name": "select-form", "description": "Select in a form", "type": "registry:example", "registryDependencies": [ "@uitopia/button", "@uitopia/select", "@uitopia/form", "@uitopia/field" ], "files": [ { "path": "registry/components/select-form.tsx", "type": "registry:example" } ], "categories": ["select", "form", "field", "helper", "hint"] }, { "name": "separator", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/separator.tsx", "type": "registry:ui" } ] }, { "name": "separator-demo", "description": "Separator with horizontal and vertical orientations", "type": "registry:example", "registryDependencies": ["@uitopia/separator"], "files": [ { "path": "registry/components/separator-demo.tsx", "type": "registry:example" } ], "categories": ["separator"] }, { "name": "sheet", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "registryDependencies": ["@uitopia/dialog"], "files": [ { "path": "registry/ui/sheet.tsx", "type": "registry:ui" } ] }, { "name": "sheet-demo", "description": "Basic sheet", "type": "registry:example", "registryDependencies": [ "@uitopia/sheet", "@uitopia/button", "@uitopia/form", "@uitopia/field" ], "files": [ { "path": "registry/components/sheet-demo.tsx", "type": "registry:example" } ], "categories": ["sheet", "dialog"] }, { "name": "sheet-position", "description": "Sheet position", "type": "registry:example", "registryDependencies": ["@uitopia/sheet", "@uitopia/button"], "files": [ { "path": "registry/components/sheet-position.tsx", "type": "registry:example" } ], "categories": ["sheet"] }, { "name": "skeleton", "type": "registry:ui", "files": [ { "path": "registry/ui/skeleton.tsx", "type": "registry:ui" } ], "cssVars": { "theme": { "--animate-skeleton": "skeleton 2s -1s infinite linear" } }, "css": { "@keyframes skeleton": { "to": { "background-position": "-200% 0" } } } }, { "name": "skeleton-demo", "description": "Skeleton demo", "type": "registry:example", "registryDependencies": [ "@uitopia/avatar", "@uitopia/button", "@uitopia/skeleton" ], "files": [ { "path": "registry/components/skeleton-demo.tsx", "type": "registry:example" } ], "categories": ["skeleton"] }, { "name": "skeleton-only", "description": "Skeleton only", "type": "registry:example", "registryDependencies": ["@uitopia/skeleton"], "files": [ { "path": "registry/components/skeleton-only.tsx", "type": "registry:example" } ], "categories": ["skeleton"] }, { "name": "slider", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/slider.tsx", "type": "registry:ui" } ] }, { "name": "slider-demo", "description": "Basic slider", "type": "registry:example", "registryDependencies": ["@uitopia/slider"], "files": [ { "path": "registry/components/slider-demo.tsx", "type": "registry:example" } ], "categories": ["slider"] }, { "name": "slider-with-label-value", "description": "Slider with label and value", "type": "registry:example", "registryDependencies": ["@uitopia/slider", "@uitopia/label"], "files": [ { "path": "registry/components/slider-with-label-value.tsx", "type": "registry:example" } ], "categories": ["slider", "label"] }, { "name": "slider-range", "description": "Two-thumb range slider", "type": "registry:example", "registryDependencies": ["@uitopia/slider"], "files": [ { "path": "registry/components/slider-range.tsx", "type": "registry:example" } ], "categories": ["slider", "range slider"] }, { "name": "slider-vertical", "description": "Vertical slider", "type": "registry:example", "registryDependencies": ["@uitopia/slider"], "files": [ { "path": "registry/components/slider-vertical.tsx", "type": "registry:example" } ], "categories": ["slider", "vertical slider"] }, { "name": "slider-form", "description": "Slider in a form", "type": "registry:example", "registryDependencies": [ "@uitopia/slider", "@uitopia/form", "@uitopia/field", "@uitopia/button" ], "files": [ { "path": "registry/components/slider-form.tsx", "type": "registry:example" } ], "categories": ["slider", "form", "field", "button", "helper", "hint"] }, { "name": "switch", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/switch.tsx", "type": "registry:ui" } ] }, { "name": "switch-demo", "description": "Basic switch", "type": "registry:example", "registryDependencies": ["@uitopia/switch", "@uitopia/label"], "files": [ { "path": "registry/components/switch-demo.tsx", "type": "registry:example" } ], "categories": ["switch", "label"] }, { "name": "switch-disabled", "description": "Disabled switch", "type": "registry:example", "registryDependencies": ["@uitopia/switch", "@uitopia/label"], "files": [ { "path": "registry/components/switch-disabled.tsx", "type": "registry:example" } ], "categories": ["switch", "label", "disabled"] }, { "name": "switch-with-description", "description": "Switch with description", "type": "registry:example", "registryDependencies": ["@uitopia/switch", "@uitopia/label"], "files": [ { "path": "registry/components/switch-with-description.tsx", "type": "registry:example" } ], "categories": ["switch", "label", "helper", "hint"] }, { "name": "switch-card", "description": "Card-style switch", "type": "registry:example", "registryDependencies": ["@uitopia/switch", "@uitopia/label"], "files": [ { "path": "registry/components/switch-card.tsx", "type": "registry:example" } ], "categories": ["switch", "label", "card"] }, { "name": "switch-form", "description": "Switch in a form", "type": "registry:example", "registryDependencies": [ "@uitopia/switch", "@uitopia/field", "@uitopia/form", "@uitopia/button" ], "files": [ { "path": "registry/components/switch-form.tsx", "type": "registry:example" } ], "categories": ["switch", "form", "field", "button"] }, { "name": "table", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/table.tsx", "type": "registry:ui" } ] }, { "name": "table-demo", "description": "Basic table", "type": "registry:example", "registryDependencies": ["@uitopia/table", "@uitopia/badge"], "files": [ { "path": "registry/components/table-demo.tsx", "type": "registry:example" } ], "categories": ["table", "badge"] }, { "name": "table-framed", "description": "Framed table", "type": "registry:example", "registryDependencies": [ "@uitopia/table", "@uitopia/badge", "@uitopia/frame" ], "files": [ { "path": "registry/components/table-framed.tsx", "type": "registry:example" } ], "categories": ["table", "badge", "frame"] }, { "name": "tabs", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/tabs.tsx", "type": "registry:ui" } ] }, { "name": "tabs-demo", "description": "Tabs with default indicator", "type": "registry:example", "registryDependencies": ["@uitopia/tabs"], "files": [ { "path": "registry/components/tabs-demo.tsx", "type": "registry:example" } ], "categories": ["tabs"] }, { "name": "tabs-underline", "description": "Tabs with underline indicator", "type": "registry:example", "registryDependencies": ["@uitopia/tabs"], "files": [ { "path": "registry/components/tabs-underline.tsx", "type": "registry:example" } ], "categories": ["tabs"] }, { "name": "tabs-vertical", "description": "Tabs with vertical layout", "type": "registry:example", "registryDependencies": ["@uitopia/tabs"], "files": [ { "path": "registry/components/tabs-vertical.tsx", "type": "registry:example" } ], "categories": ["tabs", "vertical tabs"] }, { "name": "tabs-underline-vertical", "description": "Underline tabs with vertical layout", "type": "registry:example", "registryDependencies": ["@uitopia/tabs"], "files": [ { "path": "registry/components/tabs-underline-vertical.tsx", "type": "registry:example" } ], "categories": ["tabs", "vertical tabs"] }, { "name": "textarea", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/textarea.tsx", "type": "registry:ui" } ] }, { "name": "textarea-demo", "description": "Basic textarea", "type": "registry:example", "registryDependencies": ["@uitopia/textarea"], "files": [ { "path": "registry/components/textarea-demo.tsx", "type": "registry:example" } ], "categories": ["textarea"] }, { "name": "textarea-sm", "description": "Small textarea", "type": "registry:example", "registryDependencies": ["@uitopia/textarea"], "files": [ { "path": "registry/components/textarea-sm.tsx", "type": "registry:example" } ], "categories": ["textarea"] }, { "name": "textarea-lg", "description": "Large textarea", "type": "registry:example", "registryDependencies": ["@uitopia/textarea"], "files": [ { "path": "registry/components/textarea-lg.tsx", "type": "registry:example" } ], "categories": ["textarea"] }, { "name": "textarea-disabled", "description": "Disabled textarea", "type": "registry:example", "registryDependencies": ["@uitopia/textarea"], "files": [ { "path": "registry/components/textarea-disabled.tsx", "type": "registry:example" } ], "categories": ["textarea", "disabled"] }, { "name": "textarea-with-label", "description": "Textarea labelled with Field", "type": "registry:example", "registryDependencies": ["@uitopia/textarea", "@uitopia/label"], "files": [ { "path": "registry/components/textarea-with-label.tsx", "type": "registry:example" } ], "categories": ["textarea", "field", "label"] }, { "name": "textarea-form", "description": "Textarea in a form", "type": "registry:example", "registryDependencies": [ "@uitopia/textarea", "@uitopia/form", "@uitopia/field", "@uitopia/button" ], "files": [ { "path": "registry/components/textarea-form.tsx", "type": "registry:example" } ], "categories": ["textarea", "form", "field", "button"] }, { "name": "toast", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "registryDependencies": ["@/button"], "files": [ { "path": "registry/ui/toast.tsx", "type": "registry:ui" } ] }, { "name": "toast-demo", "description": "Status toast", "type": "registry:example", "registryDependencies": ["@/toast"], "files": [ { "path": "registry/components/toast-demo.tsx", "type": "registry:example" } ], "categories": ["toast", "button"] }, { "name": "toast-loading", "description": "Loading toast", "type": "registry:example", "registryDependencies": ["@/toast"], "files": [ { "path": "registry/components/toast-loading.tsx", "type": "registry:example" } ], "categories": ["toast", "button", "loading"] }, { "name": "toast-promise", "description": "Drive toasts from promise states", "type": "registry:example", "registryDependencies": ["@/toast"], "files": [ { "path": "registry/components/toast-promise.tsx", "type": "registry:example" } ], "categories": ["toast", "button"] }, { "name": "toast-with-action", "description": "Toast with an action button", "type": "registry:example", "registryDependencies": ["@/toast"], "files": [ { "path": "registry/components/toast-with-action.tsx", "type": "registry:example" } ], "categories": ["toast", "button"] }, { "name": "toast-with-status", "description": "Success toast", "type": "registry:example", "registryDependencies": ["@/toast"], "files": [ { "path": "registry/components/toast-with-status.tsx", "type": "registry:example" } ], "categories": ["toast", "button"] }, { "name": "toast-heights", "description": "Toast with varying heights", "type": "registry:example", "registryDependencies": ["@/toast"], "files": [ { "path": "registry/components/toast-heights.tsx", "type": "registry:example" } ], "categories": ["toast"] }, { "name": "toggle", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/toggle.tsx", "type": "registry:ui" } ] }, { "name": "toggle-group", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "registryDependencies": ["@/separator", "@/toggle"], "files": [ { "path": "registry/ui/toggle-group.tsx", "type": "registry:ui" } ] }, { "name": "toggle-demo", "description": "Basic toggle", "type": "registry:example", "registryDependencies": ["@/toggle"], "files": [ { "path": "registry/components/toggle-demo.tsx", "type": "registry:example" } ], "categories": ["toggle"] }, { "name": "toggle-disabled", "description": "Disabled toggle", "type": "registry:example", "registryDependencies": ["@/toggle"], "files": [ { "path": "registry/components/toggle-disabled.tsx", "type": "registry:example" } ], "categories": ["toggle", "disabled"] }, { "name": "toggle-group-demo", "description": "Toggle group", "type": "registry:example", "registryDependencies": ["@/toggle-group"], "files": [ { "path": "registry/components/toggle-group-demo.tsx", "type": "registry:example" } ], "categories": ["toggle group", "toggle"] }, { "name": "toggle-group-sm", "description": "Toggle group with small toggles", "type": "registry:example", "registryDependencies": ["@/toggle-group"], "files": [ { "path": "registry/components/toggle-group-sm.tsx", "type": "registry:example" } ], "categories": ["toggle group", "toggle"] }, { "name": "toggle-group-lg", "description": "Toggle group with large toggles", "type": "registry:example", "registryDependencies": ["@/toggle-group"], "files": [ { "path": "registry/components/toggle-group-lg.tsx", "type": "registry:example" } ], "categories": ["toggle group", "toggle"] }, { "name": "toggle-group-outline", "description": "Toggle group with outline toggles", "type": "registry:example", "registryDependencies": ["@/toggle-group"], "files": [ { "path": "registry/components/toggle-group-outline.tsx", "type": "registry:example" } ], "categories": ["toggle group", "toggle"] }, { "name": "toggle-group-outline-with-separator", "description": "Toggle group with outline toggles and separator", "type": "registry:example", "registryDependencies": ["@/toggle-group"], "files": [ { "path": "registry/components/toggle-group-outline-with-separator.tsx", "type": "registry:example" } ], "categories": ["toggle group", "toggle"] }, { "name": "toggle-group-disabled", "description": "Disabled toggle group", "type": "registry:example", "registryDependencies": ["@/toggle-group"], "files": [ { "path": "registry/components/toggle-group-disabled.tsx", "type": "registry:example" } ], "categories": ["toggle group", "toggle", "disabled"] }, { "name": "toggle-group-multiple", "description": "Toggle group with multiple selection", "type": "registry:example", "registryDependencies": ["@/toggle-group"], "files": [ { "path": "registry/components/toggle-group-multiple.tsx", "type": "registry:example" } ], "categories": ["toggle group", "toggle"] }, { "name": "toggle-group-with-disabled-item", "description": "Toggle group with disabled item", "type": "registry:example", "registryDependencies": ["@/toggle-group"], "files": [ { "path": "registry/components/toggle-group-with-disabled-item.tsx", "type": "registry:example" } ], "categories": ["toggle group", "toggle", "disabled"] }, { "name": "toggle-icon-group", "description": "Multiple toggles", "type": "registry:example", "registryDependencies": ["@/toggle"], "files": [ { "path": "registry/components/toggle-icon-group.tsx", "type": "registry:example" } ], "categories": ["toggle"] }, { "name": "toggle-lg", "description": "Large toggle", "type": "registry:example", "registryDependencies": ["@/toggle"], "files": [ { "path": "registry/components/toggle-lg.tsx", "type": "registry:example" } ], "categories": ["toggle"] }, { "name": "toggle-outline", "description": "Outline toggle", "type": "registry:example", "registryDependencies": ["@/toggle"], "files": [ { "path": "registry/components/toggle-outline.tsx", "type": "registry:example" } ], "categories": ["toggle"] }, { "name": "toggle-sm", "description": "Small toggle", "type": "registry:example", "registryDependencies": ["@/toggle"], "files": [ { "path": "registry/components/toggle-sm.tsx", "type": "registry:example" } ], "categories": ["toggle"] }, { "name": "toggle-with-icon", "description": "Toggle with icon", "type": "registry:example", "registryDependencies": ["@/toggle"], "files": [ { "path": "registry/components/toggle-with-icon.tsx", "type": "registry:example" } ], "categories": ["toggle"] }, { "name": "toolbar", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/toolbar.tsx", "type": "registry:ui" } ] }, { "name": "toolbar-demo", "description": "Toolbar", "type": "registry:example", "registryDependencies": [ "@/button", "@/select", "@/toggle-group", "@/toolbar", "@/tooltip" ], "files": [ { "path": "registry/components/toolbar-demo.tsx", "type": "registry:example" } ], "categories": ["toolbar", "button", "select", "toggle", "tooltip"] }, { "name": "tooltip", "type": "registry:ui", "dependencies": ["@base-ui-components/react"], "files": [ { "path": "registry/ui/tooltip.tsx", "type": "registry:ui" } ] }, { "name": "tooltip-demo", "description": "Basic tooltip", "type": "registry:example", "registryDependencies": ["@/tooltip", "@/button"], "files": [ { "path": "registry/components/tooltip-demo.tsx", "type": "registry:example" } ], "categories": ["tooltip", "button"] }, { "name": "tooltip-grouped", "description": "Toggle group with grouped tooltips", "type": "registry:example", "registryDependencies": ["@/tooltip", "@/toggle-group"], "files": [ { "path": "registry/components/tooltip-grouped.tsx", "type": "registry:example" } ], "categories": ["tooltip", "toggle group", "toggle"] }, { "name": "sidebar", "type": "registry:ui", "dependencies": [ "@radix-ui/react-slot", "class-variance-authority", "lucide-react" ], "registryDependencies": [ "button", "separator", "sheet", "tooltip", "input", "use-mobile", "skeleton" ], "files": [ { "path": "registry/ui/sidebar.tsx", "target": "components/ui/sidebar.tsx", "type": "registry:ui" } ], "tailwind": { "config": { "theme": { "extend": { "colors": { "sidebar": { "DEFAULT": "hsl(var(--sidebar-background))", "foreground": "hsl(var(--sidebar-foreground))", "primary": "hsl(var(--sidebar-primary))", "primary-foreground": "hsl(var(--sidebar-primary-foreground))", "accent": "hsl(var(--sidebar-accent))", "accent-foreground": "hsl(var(--sidebar-accent-foreground))", "border": "hsl(var(--sidebar-border))", "ring": "hsl(var(--sidebar-ring))" } } } } } }, "cssVars": { "light": { "sidebar-background": "0 0% 98%", "sidebar-foreground": "240 5.3% 26.1%", "sidebar-primary": "240 5.9% 10%", "sidebar-primary-foreground": "0 0% 98%", "sidebar-accent": "240 4.8% 95.9%", "sidebar-accent-foreground": "240 5.9% 10%", "sidebar-border": "220 13% 91%", "sidebar-ring": "217.2 91.2% 59.8%" }, "dark": { "sidebar-background": "240 5.9% 10%", "sidebar-foreground": "240 4.8% 95.9%", "sidebar-primary": "224.3 76.3% 48%", "sidebar-primary-foreground": "0 0% 100%", "sidebar-accent": "240 3.7% 15.9%", "sidebar-accent-foreground": "240 4.8% 95.9%", "sidebar-border": "240 3.7% 15.9%", "sidebar-ring": "217.2 91.2% 59.8%" } } }, { "name": "tooltip", "type": "registry:ui", "dependencies": ["@radix-ui/react-tooltip"], "files": [ { "path": "registry/ui/tooltip.tsx", "target": "components/ui/tooltip.tsx", "type": "registry:ui" } ] }, { "name": "button-color", "type": "registry:component", "title": "Button color", "description": "custom shadcn/ui button.", "dependencies": [ "@radix-ui/react-slot", "class-variance-authority", "clsx", "react", "tailwind-merge" ], "registryDependencies": [ "https://uitopia.vercel.app/r/button.json", "https://uitopia.vercel.app/r/stack.json" ], "files": [ { "type": "registry:component", "target": "components/button-color.tsx", "path": "registry/components/button-color.tsx" } ] }, { "name": "button-outline", "type": "registry:component", "title": "Button Outline", "description": "custom shadcn/ui button.", "dependencies": [ "@radix-ui/react-slot", "class-variance-authority", "clsx", "react", "tailwind-merge" ], "registryDependencies": [ "https://uitopia.vercel.app/r/button.json", "https://uitopia.vercel.app/r/stack.json" ], "files": [ { "type": "registry:component", "target": "components/button-outline.tsx", "path": "registry/components/button-outline.tsx" } ] }, { "name": "button-primary", "type": "registry:component", "title": "Button Primary", "description": "custom shadcn/ui button.", "dependencies": [ "@radix-ui/react-slot", "class-variance-authority", "clsx", "react", "tailwind-merge" ], "registryDependencies": [ "https://uitopia.vercel.app/r/button.json", "https://uitopia.vercel.app/r/stack.json" ], "files": [ { "type": "registry:component", "target": "components/button-primary.tsx", "path": "registry/components/button-primary.tsx" } ] }, { "name": "button-destructive", "type": "registry:component", "title": "Button Destructive", "description": "custom shadcn/ui button.", "dependencies": [ "@radix-ui/react-slot", "class-variance-authority", "clsx", "react", "tailwind-merge" ], "registryDependencies": [ "https://uitopia.vercel.app/r/button.json", "https://uitopia.vercel.app/r/stack.json" ], "files": [ { "type": "registry:component", "target": "components/button-destructive.tsx", "path": "registry/components/button-destructive.tsx" } ] }, { "name": "stack", "type": "registry:ui", "dependencies": ["clsx", "tailwind-merge"], "files": [ { "type": "registry:ui", "target": "components/ui/stack.tsx", "path": "registry/ui/stack.tsx" } ] }, { "name": "icons", "type": "registry:component", "dependencies": ["lucide-react"], "files": [ { "type": "registry:component", "target": "components/icons.tsx", "path": "registry/components/icons.tsx" } ] }, { "name": "use-debounce", "type": "registry:hook", "files": [ { "path": "registry/hooks/use-debounce.ts", "type": "registry:hook" } ] }, { "name": "use-mobile", "type": "registry:hook", "files": [ { "path": "registry/hooks/use-mobile.ts", "type": "registry:hook" } ] }, { "name": "utils", "type": "registry:lib", "dependencies": ["clsx", "tailwind-merge"], "files": [ { "path": "registry/lib/utils.ts", "target": "lib/utils.ts", "type": "registry:lib" } ] }, { "name": "action-search-input-demo", "type": "registry:component", "title": "Action Search Input", "description": "Search input that show command menu when focused.", "dependencies": ["lucide-react", "motion", "react", "usehooks-ts"], "registryDependencies": [ "https://uitopia.vercel.app/r/input.json", "https://uitopia.vercel.app/r/use-debounce.json" ], "files": [ { "type": "registry:component", "target": "components/action-search-input-demo.tsx", "path": "registry/components/action-search-input-demo.tsx" } ], "categories": ["motion", "react", "tailwindcss"] }, { "name": "family-wallets-demo", "type": "registry:component", "title": "Family Wallets", "description": "An interactive interaction from Family wallets interface featuring smooth layout transitions and animations. Each wallet card can expand to show additional details and controls while collapsing others into a compact view.", "dependencies": ["lucide-react", "motion", "react", "usehooks-ts"], "registryDependencies": ["https://uitopia.vercel.app/r/icons.json"], "files": [ { "type": "registry:component", "target": "components/family-wallets-demo.tsx", "path": "registry/components/family-wallets-demo.tsx" } ], "categories": ["motion", "react", "tailwindcss"] }, { "name": "cd-demo", "type": "registry:component", "title": "Disc", "description": "CD demo component.", "dependencies": ["@number-flow/react", "motion", "react"], "files": [ { "type": "registry:component", "target": "components/cd-demo.tsx", "path": "registry/components/cd-demo.tsx" } ] }, { "name": "clip-path-demo", "type": "registry:component", "title": "Clip Path", "description": "Clip path component.", "dependencies": ["motion", "react"], "files": [ { "type": "registry:component", "target": "components/clip-path-demo.tsx", "path": "registry/components/clip-path-demo.tsx" } ] }, { "name": "expandable-tabs-demo", "type": "registry:component", "title": "Expandable Tabs", "description": "Expandable tabs component.", "dependencies": ["motion", "react", "usehooks-ts"], "files": [ { "type": "registry:component", "target": "components/expandable-tabs-demo.tsx", "path": "registry/components/expandable-tabs-demo.tsx" } ] }, { "name": "inline-dropdown-demo", "type": "registry:component", "title": "Inline Dropdown", "description": "Inline dropdown component.", "dependencies": ["motion", "react", "react-icons"], "files": [ { "type": "registry:component", "target": "components/inline-dropdown-demo.tsx", "path": "registry/components/inline-dropdown-demo.tsx" } ] }, { "name": "transaction-btn-demo", "type": "registry:component", "title": "Transaction", "description": "Transaction button component.", "dependencies": ["motion", "react", "usehooks-ts"], "files": [ { "type": "registry:component", "target": "components/transaction-btn-demo.tsx", "path": "registry/components/transaction-btn-demo.tsx" } ] }, { "name": "paper-fold-demo", "type": "registry:component", "title": "Paper Fold", "description": "A paper folding animation.", "dependencies": ["@remixicon/react", "clsx", "tailwind-merge"], "registryDependencies": ["https://uitopia.vercel.app/r/utils.json"], "files": [ { "type": "registry:component", "target": "components/paper-fold-demo.tsx", "path": "registry/components/paper-fold-demo.tsx" } ], "categories": ["react", "tailwindcss"] }, { "name": "text-loop", "type": "registry:component", "title": "Text Loop", "description": "text loop base", "dependencies": ["motion", "react"], "files": [ { "type": "registry:ui", "target": "components/ui/text-loop.tsx", "path": "registry/ui/text-loop.tsx" } ], "categories": ["motion", "react", "tailwindcss"] }, { "name": "text-loop-demo", "type": "registry:component", "title": "Text Loop", "description": "Text animation that transitions between multiple items, creating an engaging looping effect", "dependencies": ["motion", "react"], "registryDependencies": ["https://uitopia.vercel.app/r/text-loop.json"], "files": [ { "type": "registry:component", "target": "components/text-loop-demo.tsx", "path": "registry/components/text-loop-demo.tsx" } ], "categories": ["motion", "react", "tailwindcss"] }, { "name": "css-box-demo", "type": "registry:component", "title": "CSS Box", "description": "CSS box component.", "dependencies": ["motion", "react"], "files": [ { "type": "registry:component", "target": "components/css-box-demo.tsx", "path": "registry/components/css-box-demo.tsx" } ], "categories": ["motion", "react", "tailwindcss"] }, { "name": "text-type", "type": "registry:component", "title": "Text Type", "description": "text type base", "dependencies": ["motion", "react"], "files": [ { "type": "registry:component", "target": "components/ui/text-type.tsx", "path": "registry/ui/text-type.tsx" } ], "categories": ["motion", "react", "tailwindcss"] }, { "name": "text-type-demo", "type": "registry:component", "title": "Typewriter", "description": "text type", "dependencies": ["motion", "react"], "registryDependencies": ["https://uitopia.vercel.app/r/text-type.json"], "files": [ { "type": "registry:component", "target": "components/text-type-demo.tsx", "path": "registry/components/text-type-demo.tsx" } ], "categories": ["motion", "react", "tailwindcss"] }, { "name": "login-03", "type": "registry:block", "title": "Login 03", "description": "A simple login form.", "registryDependencies": [ "https://uitopia.vercel.app/r/button.json", "https://uitopia.vercel.app/r/card.json", "https://uitopia.vercel.app/r/input.json", "https://uitopia.vercel.app/r/label.json" ], "meta": { "iframeHeight": "auto" }, "files": [ { "type": "registry:page", "path": "registry/blocks/login-03/page.tsx", "target": "app/login-03/page.tsx" }, { "path": "registry/blocks/login-03/components/login-form.tsx", "type": "registry:component" } ], "categories": ["authentication"] }, { "name": "login-04", "type": "registry:block", "title": "Login 04", "description": "Simple Login with Social Buttons.", "registryDependencies": [ "https://uitopia.vercel.app/r/button.json", "https://uitopia.vercel.app/r/input.json", "https://uitopia.vercel.app/r/label.json", "https://uitopia.vercel.app/r/separator.json" ], "meta": { "iframeHeight": "auto" }, "files": [ { "type": "registry:page", "path": "registry/blocks/login-04/page.tsx", "target": "app/login-04/page.tsx" }, { "path": "registry/blocks/login-04/components/login-form.tsx", "type": "registry:component" } ], "categories": ["authentication"] }, { "name": "login-05", "type": "registry:block", "title": "Login 05", "description": "Full Page Login with Icons.", "registryDependencies": [ "https://uitopia.vercel.app/r/button.json", "https://uitopia.vercel.app/r/checkbox.json", "https://uitopia.vercel.app/r/input.json", "https://uitopia.vercel.app/r/label.json", "https://uitopia.vercel.app/r/separator.json" ], "meta": { "iframeHeight": "auto" }, "files": [ { "type": "registry:page", "path": "registry/blocks/login-05/page.tsx", "target": "app/login-05/page.tsx" }, { "path": "registry/blocks/login-05/components/login-form.tsx", "type": "registry:component" } ], "categories": ["authentication"] } ] }