{"$schema":"https://ui.shadcn.com/schema/registry.json","name":"caliper","homepage":"https://caliperui.site","items":[{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"styles","type":"registry:style","title":"Caliper UI tokens and base styles","description":"Colour, radius, motion and density tokens, the Tailwind adapter and a small base stylesheet. Every part needs them; import them once in your global CSS. Each part brings its own stylesheet.","files":[{"path":"styles/tokens.css","type":"registry:file","target":"styles/caliper/tokens.css"},{"path":"styles/tailwind.css","type":"registry:file","target":"styles/caliper/tailwind.css"},{"path":"styles/base.css","type":"registry:file","target":"styles/caliper/base.css"}],"docs":"Import once in app/globals.css, after Tailwind (paths are relative to that file):\n@import \"../styles/caliper/tokens.css\";\n@import \"../styles/caliper/tailwind.css\";\n@import \"../styles/caliper/base.css\";\nEach part imports its own stylesheet."},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"about-template","type":"registry:ui","title":"About template","description":"Who is behind the product, in the order buyers and candidates check: the belief, how you got here, the numbers, how you work, the people and the next step.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/about-template.tsx","type":"registry:ui","target":"components/ui/about-template.tsx"},{"path":"ui/avatar.tsx","type":"registry:ui","target":"components/ui/avatar.tsx"},{"path":"ui/block-concept.tsx","type":"registry:ui","target":"components/ui/block-concept.tsx"},{"path":"ui/block-nav.tsx","type":"registry:ui","target":"components/ui/block-nav.tsx"},{"path":"ui/cta-block.tsx","type":"registry:ui","target":"components/ui/cta-block.tsx"},{"path":"ui/footer-block.tsx","type":"registry:ui","target":"components/ui/footer-block.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stage-scope.tsx","type":"registry:ui","target":"components/ui/stage-scope.tsx"},{"path":"ui/team-block.tsx","type":"registry:ui","target":"components/ui/team-block.tsx"},{"path":"ui/template-page.tsx","type":"registry:ui","target":"components/ui/template-page.tsx"},{"path":"ui/shared/block-figure.css","type":"registry:file","target":"components/ui/shared/block-figure.css"},{"path":"ui/shared/article-prose.css","type":"registry:file","target":"components/ui/shared/article-prose.css"},{"path":"ui/about-template.css","type":"registry:file","target":"components/ui/about-template.css"},{"path":"ui/avatar.css","type":"registry:file","target":"components/ui/avatar.css"},{"path":"ui/block-concept.css","type":"registry:file","target":"components/ui/block-concept.css"},{"path":"ui/shared/site-header.css","type":"registry:file","target":"components/ui/shared/site-header.css"},{"path":"ui/block-nav.css","type":"registry:file","target":"components/ui/block-nav.css"},{"path":"ui/cta-block.css","type":"registry:file","target":"components/ui/cta-block.css"},{"path":"ui/footer-block.css","type":"registry:file","target":"components/ui/footer-block.css"},{"path":"ui/shared/skip-link.css","type":"registry:file","target":"components/ui/shared/skip-link.css"},{"path":"ui/template-page.css","type":"registry:file","target":"components/ui/template-page.css"}],"categories":["free-pages"],"meta":{"tier":"free","license":"MIT","family":"reading-proof","docs":"/docs/components/about-template"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"accordion","type":"registry:ui","title":"Accordion","description":"A stack of headings that each reveal their content, one open at a time.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/accordion.tsx","type":"registry:ui","target":"components/ui/accordion.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/accordion-panel.css","type":"registry:file","target":"components/ui/shared/accordion-panel.css"},{"path":"ui/accordion.css","type":"registry:file","target":"components/ui/accordion.css"}],"categories":["overlays"],"meta":{"tier":"free","license":"MIT","family":"disclosure","docs":"/docs/components/accordion"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"alert","type":"registry:ui","title":"Alert","description":"An inline message that keeps context and recovery beside the work.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/alert.tsx","type":"registry:ui","target":"components/ui/alert.tsx"},{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/feedback.tsx","type":"registry:ui","target":"components/ui/feedback.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/alert.css","type":"registry:file","target":"components/ui/shared/alert.css"},{"path":"ui/alert.css","type":"registry:file","target":"components/ui/alert.css"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/feedback.css","type":"registry:file","target":"components/ui/feedback.css"}],"categories":["feedback"],"meta":{"tier":"free","license":"MIT","family":"feedback","docs":"/docs/components/alert"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"alert-dialog","type":"registry:ui","title":"Alert dialog","description":"The Dialog surface for a decision that cannot be undone: no close button, no outside dismiss, focus starting on the safe choice.","dependencies":["@radix-ui/react-dialog","@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/alert-dialog.tsx","type":"registry:ui","target":"components/ui/alert-dialog.tsx"},{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/dialog.tsx","type":"registry:ui","target":"components/ui/dialog.tsx"},{"path":"ui/direction.tsx","type":"registry:ui","target":"components/ui/direction.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/dialog-overlay.css","type":"registry:file","target":"components/ui/shared/dialog-overlay.css"},{"path":"ui/dialog.css","type":"registry:file","target":"components/ui/dialog.css"},{"path":"ui/direction.css","type":"registry:file","target":"components/ui/direction.css"}],"categories":["overlays"],"meta":{"tier":"free","license":"MIT","family":"overlays-and-tabs","docs":"/docs/components/alert-dialog"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"animated-counter","type":"registry:ui","title":"Animated counter","description":"A number that counts to its value, with prefix, suffix and locale.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/animated-counter.tsx","type":"registry:ui","target":"components/ui/animated-counter.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/lib/motion-tokens.ts","type":"registry:ui","target":"components/ui/lib/motion-tokens.ts"},{"path":"ui/animated-counter.css","type":"registry:file","target":"components/ui/animated-counter.css"}],"categories":["charts"],"meta":{"tier":"free","license":"MIT","family":"core-charts","docs":"/docs/components/animated-counter"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"aspect-ratio","type":"registry:ui","title":"Aspect ratio","description":"A box that keeps a fixed ratio so images and video never shift the layout.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/aspect-ratio.tsx","type":"registry:ui","target":"components/ui/aspect-ratio.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/aspect-ratio.css","type":"registry:file","target":"components/ui/aspect-ratio.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"identity-navigation","docs":"/docs/components/aspect-ratio"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"auth-page","type":"registry:ui","title":"Auth page","description":"A centred sign-in or sign-up page with a brand header and legal links.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/auth-page.tsx","type":"registry:ui","target":"components/ui/auth-page.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"}],"categories":["free-account"],"meta":{"tier":"free","license":"MIT","family":"account-entry","docs":"/docs/components/auth-page"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"avatar","type":"registry:ui","title":"Avatar","description":"A person's photo, falling back to initials when there is no image.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/avatar.tsx","type":"registry:ui","target":"components/ui/avatar.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/avatar.css","type":"registry:file","target":"components/ui/avatar.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"identity-navigation","docs":"/docs/components/avatar"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"avatar-group","type":"registry:ui","title":"Avatar group","description":"A compact stack of avatars with an overflow count and presence.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/avatar.tsx","type":"registry:ui","target":"components/ui/avatar.tsx"},{"path":"ui/avatar-group.tsx","type":"registry:ui","target":"components/ui/avatar-group.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/avatar.css","type":"registry:file","target":"components/ui/avatar.css"},{"path":"ui/avatar-group.css","type":"registry:file","target":"components/ui/avatar-group.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"identity-navigation","docs":"/docs/components/avatar-group"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"badge","type":"registry:ui","title":"Badge","description":"A small label for status, category or count.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/badge.tsx","type":"registry:ui","target":"components/ui/badge.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"}],"categories":["feedback"],"meta":{"tier":"free","license":"MIT","family":"status","docs":"/docs/components/badge"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"bar-chart","type":"registry:ui","title":"Bar chart","description":"A compact bar series with an accessible label.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/bar-chart.tsx","type":"registry:ui","target":"components/ui/bar-chart.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/bar-chart.css","type":"registry:file","target":"components/ui/shared/bar-chart.css"},{"path":"ui/bar-chart.css","type":"registry:file","target":"components/ui/bar-chart.css"}],"categories":["data"],"meta":{"tier":"free","license":"MIT","family":"blocks","docs":"/docs/components/bar-chart"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"blog-grid","type":"registry:ui","title":"Blog grid","description":"A grid of article cards with date, tag and summary.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/avatar.tsx","type":"registry:ui","target":"components/ui/avatar.tsx"},{"path":"ui/badge.tsx","type":"registry:ui","target":"components/ui/badge.tsx"},{"path":"ui/blog-grid.tsx","type":"registry:ui","target":"components/ui/blog-grid.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/avatar.css","type":"registry:file","target":"components/ui/avatar.css"},{"path":"ui/shared/table-skeleton.css","type":"registry:file","target":"components/ui/shared/table-skeleton.css"},{"path":"ui/shared/prompt-suggestion.css","type":"registry:file","target":"components/ui/shared/prompt-suggestion.css"},{"path":"ui/blog-grid.css","type":"registry:file","target":"components/ui/blog-grid.css"}],"categories":["free-marketing"],"meta":{"tier":"free","license":"MIT","family":"reading-proof","docs":"/docs/components/blog-grid"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"blog-post-template","type":"registry:ui","title":"Blog post template","description":"One article at a reading measure: a progress line under the header, an outline that marks where you are, linkable headings, the author and three related posts.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/avatar.tsx","type":"registry:ui","target":"components/ui/avatar.tsx"},{"path":"ui/block-concept.tsx","type":"registry:ui","target":"components/ui/block-concept.tsx"},{"path":"ui/block-nav.tsx","type":"registry:ui","target":"components/ui/block-nav.tsx"},{"path":"ui/blog-post-template.tsx","type":"registry:ui","target":"components/ui/blog-post-template.tsx"},{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/copy-button.tsx","type":"registry:ui","target":"components/ui/copy-button.tsx"},{"path":"ui/footer-block.tsx","type":"registry:ui","target":"components/ui/footer-block.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stage-scope.tsx","type":"registry:ui","target":"components/ui/stage-scope.tsx"},{"path":"ui/template-page.tsx","type":"registry:ui","target":"components/ui/template-page.tsx"},{"path":"ui/avatar.css","type":"registry:file","target":"components/ui/avatar.css"},{"path":"ui/block-concept.css","type":"registry:file","target":"components/ui/block-concept.css"},{"path":"ui/shared/site-header.css","type":"registry:file","target":"components/ui/shared/site-header.css"},{"path":"ui/block-nav.css","type":"registry:file","target":"components/ui/block-nav.css"},{"path":"ui/shared/article-prose.css","type":"registry:file","target":"components/ui/shared/article-prose.css"},{"path":"ui/blog-post-template.css","type":"registry:file","target":"components/ui/blog-post-template.css"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/action-label.css","type":"registry:file","target":"components/ui/shared/action-label.css"},{"path":"ui/copy-button.css","type":"registry:file","target":"components/ui/copy-button.css"},{"path":"ui/footer-block.css","type":"registry:file","target":"components/ui/footer-block.css"},{"path":"ui/shared/skip-link.css","type":"registry:file","target":"components/ui/shared/skip-link.css"},{"path":"ui/template-page.css","type":"registry:file","target":"components/ui/template-page.css"}],"categories":["free-pages"],"meta":{"tier":"free","license":"MIT","family":"reading-proof","docs":"/docs/components/blog-post-template"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"boop","type":"registry:ui","title":"Boop","description":"Gives an icon a small springy nudge when the control around it is hovered or focused, then lets it settle back on its own even if the pointer stays: a bell rings, a cog turns, an arrow leans forward.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/boop.tsx","type":"registry:ui","target":"components/ui/boop.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/boop.css","type":"registry:file","target":"components/ui/boop.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"surfaces","docs":"/docs/components/boop"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"breadcrumb","type":"registry:ui","title":"Breadcrumb","description":"The path to the current page, with each parent linked.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/breadcrumb.tsx","type":"registry:ui","target":"components/ui/breadcrumb.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/breadcrumb.css","type":"registry:file","target":"components/ui/breadcrumb.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"identity-navigation","docs":"/docs/components/breadcrumb"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"button","type":"registry:ui","title":"Button","description":"A familiar action with immediate focus, a tactile press, and optional pending or label feedback that stays on the button itself.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"button","docs":"/docs/components/button"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"button-group","type":"registry:ui","title":"Button group","description":"A toolbar of related tools in one raised shell; toggled tools sink into it.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button-group.tsx","type":"registry:ui","target":"components/ui/button-group.tsx"},{"path":"ui/glide-highlight.tsx","type":"registry:ui","target":"components/ui/glide-highlight.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/button-group.css","type":"registry:file","target":"components/ui/button-group.css"},{"path":"ui/glide-highlight.css","type":"registry:file","target":"components/ui/glide-highlight.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"actions","docs":"/docs/components/button-group"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"calendar","type":"registry:ui","title":"Calendar","description":"A month grid for choosing a day or a range, usable on its own or inside a picker.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/calendar.tsx","type":"registry:ui","target":"components/ui/calendar.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/rolling-value.tsx","type":"registry:ui","target":"components/ui/rolling-value.tsx"},{"path":"ui/shared/calendar-day.css","type":"registry:file","target":"components/ui/shared/calendar-day.css"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/calendar.css","type":"registry:file","target":"components/ui/calendar.css"},{"path":"ui/rolling-value.css","type":"registry:file","target":"components/ui/rolling-value.css"}],"categories":["dates-colour"],"meta":{"tier":"free","license":"MIT","family":"dates","docs":"/docs/components/calendar"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"calendar-app","type":"registry:ui","title":"Calendar app","description":"A full calendar: day, week, month and agenda, a month picker and calendar toggles, a now line, and events you create by dragging, move by dragging or with Alt and the arrows, and edit in place.","dependencies":["@radix-ui/react-dialog","@radix-ui/react-popover","@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/calendar.tsx","type":"registry:ui","target":"components/ui/calendar.tsx"},{"path":"ui/calendar-app.tsx","type":"registry:ui","target":"components/ui/calendar-app.tsx"},{"path":"ui/checkbox.tsx","type":"registry:ui","target":"components/ui/checkbox.tsx"},{"path":"ui/date-picker.tsx","type":"registry:ui","target":"components/ui/date-picker.tsx"},{"path":"ui/dialog.tsx","type":"registry:ui","target":"components/ui/dialog.tsx"},{"path":"ui/field.tsx","type":"registry:ui","target":"components/ui/field.tsx"},{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/calendar-time.ts","type":"registry:ui","target":"components/ui/lib/calendar-time.ts"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/lib/slide.ts","type":"registry:ui","target":"components/ui/lib/slide.ts"},{"path":"ui/popover.tsx","type":"registry:ui","target":"components/ui/popover.tsx"},{"path":"ui/rolling-value.tsx","type":"registry:ui","target":"components/ui/rolling-value.tsx"},{"path":"ui/segmented-control.tsx","type":"registry:ui","target":"components/ui/segmented-control.tsx"},{"path":"ui/select-menu.tsx","type":"registry:ui","target":"components/ui/select-menu.tsx"},{"path":"ui/switch.tsx","type":"registry:ui","target":"components/ui/switch.tsx"},{"path":"ui/textarea.tsx","type":"registry:ui","target":"components/ui/textarea.tsx"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/calendar-day.css","type":"registry:file","target":"components/ui/shared/calendar-day.css"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/calendar.css","type":"registry:file","target":"components/ui/calendar.css"},{"path":"ui/shared/styles-4.css","type":"registry:file","target":"components/ui/shared/styles-4.css"},{"path":"ui/calendar-app.css","type":"registry:file","target":"components/ui/calendar-app.css"},{"path":"ui/checkbox.css","type":"registry:file","target":"components/ui/checkbox.css"},{"path":"ui/shared/date-menu.css","type":"registry:file","target":"components/ui/shared/date-menu.css"},{"path":"ui/shared/dialog-overlay.css","type":"registry:file","target":"components/ui/shared/dialog-overlay.css"},{"path":"ui/dialog.css","type":"registry:file","target":"components/ui/dialog.css"},{"path":"ui/shared/field-message.css","type":"registry:file","target":"components/ui/shared/field-message.css"},{"path":"ui/field.css","type":"registry:file","target":"components/ui/field.css"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"},{"path":"ui/shared/popover-content.css","type":"registry:file","target":"components/ui/shared/popover-content.css"},{"path":"ui/popover.css","type":"registry:file","target":"components/ui/popover.css"},{"path":"ui/rolling-value.css","type":"registry:file","target":"components/ui/rolling-value.css"},{"path":"ui/shared/segmented-plate.css","type":"registry:file","target":"components/ui/shared/segmented-plate.css"},{"path":"ui/shared/select.css","type":"registry:file","target":"components/ui/shared/select.css"},{"path":"ui/select-menu.css","type":"registry:file","target":"components/ui/select-menu.css"},{"path":"ui/switch.css","type":"registry:file","target":"components/ui/switch.css"},{"path":"ui/textarea.css","type":"registry:file","target":"components/ui/textarea.css"}],"categories":["free-pro-screens"],"meta":{"tier":"free","license":"MIT","family":"calendar-media","docs":"/docs/components/calendar-app"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"call-to-action","type":"registry:ui","title":"Call to action","description":"A closing band with one clear action.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/call-to-action.tsx","type":"registry:ui","target":"components/ui/call-to-action.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/call-to-action.css","type":"registry:file","target":"components/ui/call-to-action.css"}],"categories":["free-marketing"],"meta":{"tier":"free","license":"MIT","family":"reading-proof","docs":"/docs/components/call-to-action"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"card","type":"registry:ui","title":"Card","description":"A titled container with media, status, meta and optional expandable details.","dependencies":["@radix-ui/react-dialog","@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/card.tsx","type":"registry:ui","target":"components/ui/card.tsx"},{"path":"ui/dialog.tsx","type":"registry:ui","target":"components/ui/dialog.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/card.css","type":"registry:file","target":"components/ui/card.css"},{"path":"ui/shared/dialog-overlay.css","type":"registry:file","target":"components/ui/shared/dialog-overlay.css"},{"path":"ui/dialog.css","type":"registry:file","target":"components/ui/dialog.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"identity-navigation","docs":"/docs/components/card"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"changelog-template","type":"registry:ui","title":"Changelog template","description":"What shipped, newest first: dates that stay in view, linkable versions, tag filters with a count and a product view per release.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/avatar.tsx","type":"registry:ui","target":"components/ui/avatar.tsx"},{"path":"ui/badge.tsx","type":"registry:ui","target":"components/ui/badge.tsx"},{"path":"ui/block-concept.tsx","type":"registry:ui","target":"components/ui/block-concept.tsx"},{"path":"ui/block-nav.tsx","type":"registry:ui","target":"components/ui/block-nav.tsx"},{"path":"ui/changelog-template.tsx","type":"registry:ui","target":"components/ui/changelog-template.tsx"},{"path":"ui/footer-block.tsx","type":"registry:ui","target":"components/ui/footer-block.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stage-scope.tsx","type":"registry:ui","target":"components/ui/stage-scope.tsx"},{"path":"ui/avatar.css","type":"registry:file","target":"components/ui/avatar.css"},{"path":"ui/block-concept.css","type":"registry:file","target":"components/ui/block-concept.css"},{"path":"ui/shared/site-header.css","type":"registry:file","target":"components/ui/shared/site-header.css"},{"path":"ui/block-nav.css","type":"registry:file","target":"components/ui/block-nav.css"},{"path":"ui/shared/skip-link.css","type":"registry:file","target":"components/ui/shared/skip-link.css"},{"path":"ui/changelog-template.css","type":"registry:file","target":"components/ui/changelog-template.css"},{"path":"ui/footer-block.css","type":"registry:file","target":"components/ui/footer-block.css"}],"categories":["free-pages"],"meta":{"tier":"free","license":"MIT","family":"pages-set","docs":"/docs/components/changelog-template"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"checkbox","type":"registry:ui","title":"Checkbox","description":"A native checkbox with a clear checked, unchecked and indeterminate state.","dependencies":[],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/checkbox.tsx","type":"registry:ui","target":"components/ui/checkbox.tsx"},{"path":"ui/checkbox.css","type":"registry:file","target":"components/ui/checkbox.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"inputs","docs":"/docs/components/checkbox"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"chip-group","type":"registry:ui","title":"Chip group","description":"A set of toggleable chips for single or multiple choices.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/chip-group.tsx","type":"registry:ui","target":"components/ui/chip-group.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"choices","docs":"/docs/components/chip-group"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"clip-reveal","type":"registry:ui","title":"Clip reveal","description":"Uncovers an image or section with a wipe as it scrolls into view, the content settling from a slight zoom behind the edge. From any side or as an iris from the middle, once or every time.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/clip-reveal.tsx","type":"registry:ui","target":"components/ui/clip-reveal.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/clip-reveal.css","type":"registry:file","target":"components/ui/clip-reveal.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"media","docs":"/docs/components/clip-reveal"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"collapsible","type":"registry:ui","title":"Collapsible","description":"A single disclosure for optional detail.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/collapsible.tsx","type":"registry:ui","target":"components/ui/collapsible.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/accordion-panel.css","type":"registry:file","target":"components/ui/shared/accordion-panel.css"}],"categories":["overlays"],"meta":{"tier":"free","license":"MIT","family":"disclosure","docs":"/docs/components/collapsible"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"combobox","type":"registry:ui","title":"Combobox","description":"A searchable select with grouped options and keywords.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/combobox.tsx","type":"registry:ui","target":"components/ui/combobox.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/combobox.css","type":"registry:file","target":"components/ui/combobox.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"combobox","docs":"/docs/components/combobox"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"command-palette","type":"registry:ui","title":"Command palette","description":"A searchable list of destinations and actions opened from the keyboard.","dependencies":["@radix-ui/react-dialog","@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/command-palette.tsx","type":"registry:ui","target":"components/ui/command-palette.tsx"},{"path":"ui/dialog.tsx","type":"registry:ui","target":"components/ui/dialog.tsx"},{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/command-palette.css","type":"registry:file","target":"components/ui/command-palette.css"},{"path":"ui/shared/dialog-overlay.css","type":"registry:file","target":"components/ui/shared/dialog-overlay.css"},{"path":"ui/dialog.css","type":"registry:file","target":"components/ui/dialog.css"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"}],"categories":["overlays"],"meta":{"tier":"free","license":"MIT","family":"command-palette","docs":"/docs/components/command-palette"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"contact-section","type":"registry:ui","title":"Contact section","description":"A contact form beside the ways to reach a team.","dependencies":["@radix-ui/react-popover","@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/alert.tsx","type":"registry:ui","target":"components/ui/alert.tsx"},{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/contact-section.tsx","type":"registry:ui","target":"components/ui/contact-section.tsx"},{"path":"ui/feedback.tsx","type":"registry:ui","target":"components/ui/feedback.tsx"},{"path":"ui/field.tsx","type":"registry:ui","target":"components/ui/field.tsx"},{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/select-menu.tsx","type":"registry:ui","target":"components/ui/select-menu.tsx"},{"path":"ui/textarea.tsx","type":"registry:ui","target":"components/ui/textarea.tsx"},{"path":"ui/shared/alert.css","type":"registry:file","target":"components/ui/shared/alert.css"},{"path":"ui/alert.css","type":"registry:file","target":"components/ui/alert.css"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/feedback.css","type":"registry:file","target":"components/ui/feedback.css"},{"path":"ui/shared/field-message.css","type":"registry:file","target":"components/ui/shared/field-message.css"},{"path":"ui/field.css","type":"registry:file","target":"components/ui/field.css"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"},{"path":"ui/shared/select.css","type":"registry:file","target":"components/ui/shared/select.css"},{"path":"ui/select-menu.css","type":"registry:file","target":"components/ui/select-menu.css"},{"path":"ui/textarea.css","type":"registry:file","target":"components/ui/textarea.css"}],"categories":["free-marketing"],"meta":{"tier":"free","license":"MIT","family":"marketing","docs":"/docs/components/contact-section"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"contact-template","type":"registry:ui","title":"Contact template","description":"A contact page that routes the message first: pick the topic and it says who answers and how soon. The form keeps what you typed if sending fails and confirms where the reply will go.","dependencies":["@radix-ui/react-popover","@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/alert.tsx","type":"registry:ui","target":"components/ui/alert.tsx"},{"path":"ui/block-concept.tsx","type":"registry:ui","target":"components/ui/block-concept.tsx"},{"path":"ui/block-nav.tsx","type":"registry:ui","target":"components/ui/block-nav.tsx"},{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/contact-template.tsx","type":"registry:ui","target":"components/ui/contact-template.tsx"},{"path":"ui/faq-block.tsx","type":"registry:ui","target":"components/ui/faq-block.tsx"},{"path":"ui/feedback.tsx","type":"registry:ui","target":"components/ui/feedback.tsx"},{"path":"ui/field.tsx","type":"registry:ui","target":"components/ui/field.tsx"},{"path":"ui/footer-block.tsx","type":"registry:ui","target":"components/ui/footer-block.tsx"},{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/select-menu.tsx","type":"registry:ui","target":"components/ui/select-menu.tsx"},{"path":"ui/stage-scope.tsx","type":"registry:ui","target":"components/ui/stage-scope.tsx"},{"path":"ui/template-page.tsx","type":"registry:ui","target":"components/ui/template-page.tsx"},{"path":"ui/textarea.tsx","type":"registry:ui","target":"components/ui/textarea.tsx"},{"path":"ui/shared/alert.css","type":"registry:file","target":"components/ui/shared/alert.css"},{"path":"ui/alert.css","type":"registry:file","target":"components/ui/alert.css"},{"path":"ui/block-concept.css","type":"registry:file","target":"components/ui/block-concept.css"},{"path":"ui/shared/site-header.css","type":"registry:file","target":"components/ui/shared/site-header.css"},{"path":"ui/block-nav.css","type":"registry:file","target":"components/ui/block-nav.css"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/contact-template.css","type":"registry:file","target":"components/ui/contact-template.css"},{"path":"ui/faq-block.css","type":"registry:file","target":"components/ui/faq-block.css"},{"path":"ui/feedback.css","type":"registry:file","target":"components/ui/feedback.css"},{"path":"ui/shared/field-message.css","type":"registry:file","target":"components/ui/shared/field-message.css"},{"path":"ui/field.css","type":"registry:file","target":"components/ui/field.css"},{"path":"ui/footer-block.css","type":"registry:file","target":"components/ui/footer-block.css"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"},{"path":"ui/shared/select.css","type":"registry:file","target":"components/ui/shared/select.css"},{"path":"ui/select-menu.css","type":"registry:file","target":"components/ui/select-menu.css"},{"path":"ui/shared/skip-link.css","type":"registry:file","target":"components/ui/shared/skip-link.css"},{"path":"ui/template-page.css","type":"registry:file","target":"components/ui/template-page.css"},{"path":"ui/textarea.css","type":"registry:file","target":"components/ui/textarea.css"}],"categories":["free-pages"],"meta":{"tier":"free","license":"MIT","family":"reading-proof","docs":"/docs/components/contact-template"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"context-menu","type":"registry:ui","title":"Context menu","description":"A menu opened with a right-click or long press on a piece of content.","dependencies":["@radix-ui/react-context-menu","clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/context-menu.tsx","type":"registry:ui","target":"components/ui/context-menu.tsx"},{"path":"ui/glide-highlight.tsx","type":"registry:ui","target":"components/ui/glide-highlight.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/dropdown-content.css","type":"registry:file","target":"components/ui/shared/dropdown-content.css"},{"path":"ui/glide-highlight.css","type":"registry:file","target":"components/ui/glide-highlight.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"actions","docs":"/docs/components/context-menu"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"copy-button","type":"registry:ui","title":"Copy button","description":"Copies a value and confirms what was copied, with a fallback when the clipboard is blocked.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/copy-button.tsx","type":"registry:ui","target":"components/ui/copy-button.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/action-label.css","type":"registry:file","target":"components/ui/shared/action-label.css"},{"path":"ui/copy-button.css","type":"registry:file","target":"components/ui/copy-button.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"actions","docs":"/docs/components/copy-button"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"cta-block","type":"registry:ui","title":"CTA block","description":"The closing call to action: the promise again, one specific next step and a reassurance line.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/block-concept.tsx","type":"registry:ui","target":"components/ui/block-concept.tsx"},{"path":"ui/cta-block.tsx","type":"registry:ui","target":"components/ui/cta-block.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stage-scope.tsx","type":"registry:ui","target":"components/ui/stage-scope.tsx"},{"path":"ui/block-concept.css","type":"registry:file","target":"components/ui/block-concept.css"},{"path":"ui/cta-block.css","type":"registry:file","target":"components/ui/cta-block.css"}],"categories":["free-marketing"],"meta":{"tier":"free","license":"MIT","family":"marketing","docs":"/docs/components/cta-block"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"cycling-placeholder","type":"registry:ui","title":"Cycling placeholder","description":"A text field whose placeholder rolls through examples of what to type, so an empty search box teaches what it can find. The roll pauses while the field has focus and the examples disappear once anything is typed.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/cycling-placeholder.tsx","type":"registry:ui","target":"components/ui/cycling-placeholder.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/cycling-placeholder.css","type":"registry:file","target":"components/ui/cycling-placeholder.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"text-motion","docs":"/docs/components/cycling-placeholder"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"data-table","type":"registry:ui","title":"Data table","description":"Accessible table markup with consistent cell styling and a scrollable region.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/data-table.tsx","type":"registry:ui","target":"components/ui/data-table.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/bulk-bar.css","type":"registry:file","target":"components/ui/shared/bulk-bar.css"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/data-table.css","type":"registry:file","target":"components/ui/data-table.css"}],"categories":["data"],"meta":{"tier":"free","license":"MIT","family":"records","docs":"/docs/components/data-table"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"date-picker","type":"registry:ui","title":"Date picker","description":"A date field that opens a calendar, with min, max and today shortcuts.","dependencies":["@radix-ui/react-popover","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/calendar.tsx","type":"registry:ui","target":"components/ui/calendar.tsx"},{"path":"ui/date-picker.tsx","type":"registry:ui","target":"components/ui/date-picker.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/rolling-value.tsx","type":"registry:ui","target":"components/ui/rolling-value.tsx"},{"path":"ui/shared/calendar-day.css","type":"registry:file","target":"components/ui/shared/calendar-day.css"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/calendar.css","type":"registry:file","target":"components/ui/calendar.css"},{"path":"ui/shared/date-menu.css","type":"registry:file","target":"components/ui/shared/date-menu.css"},{"path":"ui/rolling-value.css","type":"registry:file","target":"components/ui/rolling-value.css"}],"categories":["dates-colour"],"meta":{"tier":"free","license":"MIT","family":"dates","docs":"/docs/components/date-picker"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"date-range-picker","type":"registry:ui","title":"Date range picker","description":"Choose a start and end date with preset ranges.","dependencies":["@radix-ui/react-popover","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/calendar.tsx","type":"registry:ui","target":"components/ui/calendar.tsx"},{"path":"ui/date-range-picker.tsx","type":"registry:ui","target":"components/ui/date-range-picker.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/rolling-value.tsx","type":"registry:ui","target":"components/ui/rolling-value.tsx"},{"path":"ui/shared/calendar-day.css","type":"registry:file","target":"components/ui/shared/calendar-day.css"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/calendar.css","type":"registry:file","target":"components/ui/calendar.css"},{"path":"ui/shared/date-menu.css","type":"registry:file","target":"components/ui/shared/date-menu.css"},{"path":"ui/rolling-value.css","type":"registry:file","target":"components/ui/rolling-value.css"}],"categories":["dates-colour"],"meta":{"tier":"free","license":"MIT","family":"date-range","docs":"/docs/components/date-range-picker"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"description-list","type":"registry:ui","title":"Description list","description":"A record's details as label and value pairs, side by side when there is room, with copy and edit where the value sits.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/copy-button.tsx","type":"registry:ui","target":"components/ui/copy-button.tsx"},{"path":"ui/description-list.tsx","type":"registry:ui","target":"components/ui/description-list.tsx"},{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/action-label.css","type":"registry:file","target":"components/ui/shared/action-label.css"},{"path":"ui/copy-button.css","type":"registry:file","target":"components/ui/copy-button.css"},{"path":"ui/description-list.css","type":"registry:file","target":"components/ui/description-list.css"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"}],"categories":["data"],"meta":{"tier":"free","license":"MIT","family":"records","docs":"/docs/components/description-list"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"dialog","type":"registry:ui","title":"Dialog","description":"A modal window that asks for a decision or a short form, with focus kept inside.","dependencies":["@radix-ui/react-dialog","@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/dialog.tsx","type":"registry:ui","target":"components/ui/dialog.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/dialog-overlay.css","type":"registry:file","target":"components/ui/shared/dialog-overlay.css"},{"path":"ui/dialog.css","type":"registry:file","target":"components/ui/dialog.css"}],"categories":["overlays"],"meta":{"tier":"free","license":"MIT","family":"overlays-and-tabs","docs":"/docs/components/dialog"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"diff-text","type":"registry:ui","title":"Diff text","description":"Shows a change to a piece of text where it stands: removed words are struck through and close up, added words grow in with a passing tint, and then it settles. With `keep`, the marks stay for review.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/diff-text.tsx","type":"registry:ui","target":"components/ui/diff-text.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/lib/diff-lines.ts","type":"registry:ui","target":"components/ui/lib/diff-lines.ts"},{"path":"ui/diff-text.css","type":"registry:file","target":"components/ui/diff-text.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"text-motion","docs":"/docs/components/diff-text"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"direction","type":"registry:ui","title":"Direction","description":"Sets reading direction for everything inside it. Spacing, borders, affixes and the selected edge follow on their own; icons that point somewhere flip when marked.","dependencies":[],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/direction.tsx","type":"registry:ui","target":"components/ui/direction.tsx"},{"path":"ui/direction.css","type":"registry:file","target":"components/ui/direction.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"theme","docs":"/docs/components/direction"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"donut-chart","type":"registry:ui","title":"Donut chart","description":"Parts of a whole as a ring, with the total in the centre.","dependencies":["clsx","d3-shape","tailwind-merge"],"devDependencies":["@types/d3-shape@^3.2.0"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/animated-counter.tsx","type":"registry:ui","target":"components/ui/animated-counter.tsx"},{"path":"ui/chart-parts.tsx","type":"registry:ui","target":"components/ui/chart-parts.tsx"},{"path":"ui/donut-chart.tsx","type":"registry:ui","target":"components/ui/donut-chart.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/lib/motion-tokens.ts","type":"registry:ui","target":"components/ui/lib/motion-tokens.ts"},{"path":"ui/animated-counter.css","type":"registry:file","target":"components/ui/animated-counter.css"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/chart-parts.css","type":"registry:file","target":"components/ui/chart-parts.css"},{"path":"ui/shared/styles.css","type":"registry:file","target":"components/ui/shared/styles.css"},{"path":"ui/donut-chart.css","type":"registry:file","target":"components/ui/donut-chart.css"}],"categories":["charts"],"meta":{"tier":"free","license":"MIT","family":"core-charts","docs":"/docs/components/donut-chart"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"drawer","type":"registry:ui","title":"Drawer","description":"A panel that slides in from the left or right for editing alongside the page.","dependencies":["@radix-ui/react-dialog","@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/dialog.tsx","type":"registry:ui","target":"components/ui/dialog.tsx"},{"path":"ui/drawer.tsx","type":"registry:ui","target":"components/ui/drawer.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/dialog-overlay.css","type":"registry:file","target":"components/ui/shared/dialog-overlay.css"},{"path":"ui/dialog.css","type":"registry:file","target":"components/ui/dialog.css"}],"categories":["overlays"],"meta":{"tier":"free","license":"MIT","family":"overlays-and-tabs","docs":"/docs/components/drawer"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"dropdown-menu","type":"registry:ui","title":"Dropdown menu","description":"A menu of actions anchored to a trigger, with groups, shortcuts and separators.","dependencies":["@radix-ui/react-dropdown-menu","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/dropdown-menu.tsx","type":"registry:ui","target":"components/ui/dropdown-menu.tsx"},{"path":"ui/glide-highlight.tsx","type":"registry:ui","target":"components/ui/glide-highlight.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/dropdown-content.css","type":"registry:file","target":"components/ui/shared/dropdown-content.css"},{"path":"ui/dropdown-menu.css","type":"registry:file","target":"components/ui/dropdown-menu.css"},{"path":"ui/glide-highlight.css","type":"registry:file","target":"components/ui/glide-highlight.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"actions","docs":"/docs/components/dropdown-menu"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"empty-state","type":"registry:ui","title":"Empty state","description":"A message with an icon and a next step for when there is nothing to show.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/empty-state.tsx","type":"registry:ui","target":"components/ui/empty-state.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"}],"categories":["feedback"],"meta":{"tier":"free","license":"MIT","family":"feedback","docs":"/docs/components/empty-state"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"equalizer-bars","type":"registry:ui","title":"Equalizer bars","description":"The small bouncing bars that mark what is playing in a list of tracks. Each bar keeps its own tempo so they never line up, and pausing settles them low and still.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/equalizer-bars.tsx","type":"registry:ui","target":"components/ui/equalizer-bars.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/equalizer-bars.css","type":"registry:file","target":"components/ui/equalizer-bars.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"changing-values","docs":"/docs/components/equalizer-bars"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"error-template","type":"registry:ui","title":"Error template","description":"The pages people land on when something goes wrong, each with the way out that fits: search, ask for access, retry with a reference, wait out maintenance, reconnect or get a new link.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/block-concept.tsx","type":"registry:ui","target":"components/ui/block-concept.tsx"},{"path":"ui/block-nav.tsx","type":"registry:ui","target":"components/ui/block-nav.tsx"},{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/copy-button.tsx","type":"registry:ui","target":"components/ui/copy-button.tsx"},{"path":"ui/error-template.tsx","type":"registry:ui","target":"components/ui/error-template.tsx"},{"path":"ui/field.tsx","type":"registry:ui","target":"components/ui/field.tsx"},{"path":"ui/footer-block.tsx","type":"registry:ui","target":"components/ui/footer-block.tsx"},{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stage-scope.tsx","type":"registry:ui","target":"components/ui/stage-scope.tsx"},{"path":"ui/template-page.tsx","type":"registry:ui","target":"components/ui/template-page.tsx"},{"path":"ui/textarea.tsx","type":"registry:ui","target":"components/ui/textarea.tsx"},{"path":"ui/block-concept.css","type":"registry:file","target":"components/ui/block-concept.css"},{"path":"ui/shared/site-header.css","type":"registry:file","target":"components/ui/shared/site-header.css"},{"path":"ui/block-nav.css","type":"registry:file","target":"components/ui/block-nav.css"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/action-label.css","type":"registry:file","target":"components/ui/shared/action-label.css"},{"path":"ui/copy-button.css","type":"registry:file","target":"components/ui/copy-button.css"},{"path":"ui/error-template.css","type":"registry:file","target":"components/ui/error-template.css"},{"path":"ui/shared/field-message.css","type":"registry:file","target":"components/ui/shared/field-message.css"},{"path":"ui/field.css","type":"registry:file","target":"components/ui/field.css"},{"path":"ui/footer-block.css","type":"registry:file","target":"components/ui/footer-block.css"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"},{"path":"ui/shared/skip-link.css","type":"registry:file","target":"components/ui/shared/skip-link.css"},{"path":"ui/template-page.css","type":"registry:file","target":"components/ui/template-page.css"},{"path":"ui/textarea.css","type":"registry:file","target":"components/ui/textarea.css"}],"categories":["free-pages"],"meta":{"tier":"free","license":"MIT","family":"reading-proof","docs":"/docs/components/error-template"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"event-rail","type":"registry:ui","title":"Event rail","description":"Dated events on a rail you drag sideways. The event in the middle is full size, its neighbours shrink and dim with distance, ticks run beneath the cards and each new year's numeral drifts slowly behind them.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/event-rail.tsx","type":"registry:ui","target":"components/ui/event-rail.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/event-rail.css","type":"registry:file","target":"components/ui/event-rail.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"browse","docs":"/docs/components/event-rail"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"faq-block","type":"registry:ui","title":"FAQ block","description":"Searchable questions with one answer open at a time, each linking to the exact doc, and a way to ask when nothing matches.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/block-concept.tsx","type":"registry:ui","target":"components/ui/block-concept.tsx"},{"path":"ui/faq-block.tsx","type":"registry:ui","target":"components/ui/faq-block.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stage-scope.tsx","type":"registry:ui","target":"components/ui/stage-scope.tsx"},{"path":"ui/block-concept.css","type":"registry:file","target":"components/ui/block-concept.css"},{"path":"ui/faq-block.css","type":"registry:file","target":"components/ui/faq-block.css"}],"categories":["free-marketing"],"meta":{"tier":"free","license":"MIT","family":"marketing","docs":"/docs/components/faq-block"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"field","type":"registry:ui","title":"Field","description":"Wraps a control with its label, hint, error and optional action, wired for assistive tech.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/field.tsx","type":"registry:ui","target":"components/ui/field.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/field-message.css","type":"registry:file","target":"components/ui/shared/field-message.css"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/field.css","type":"registry:file","target":"components/ui/field.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"inputs","docs":"/docs/components/field"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"footer-block","type":"registry:ui","title":"Footer block","description":"The page's last word: link columns, a newsletter that confirms in place, the legal line, status and the name as a full-width wordmark.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/block-concept.tsx","type":"registry:ui","target":"components/ui/block-concept.tsx"},{"path":"ui/footer-block.tsx","type":"registry:ui","target":"components/ui/footer-block.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stage-scope.tsx","type":"registry:ui","target":"components/ui/stage-scope.tsx"},{"path":"ui/block-concept.css","type":"registry:file","target":"components/ui/block-concept.css"},{"path":"ui/footer-block.css","type":"registry:file","target":"components/ui/footer-block.css"}],"categories":["free-marketing"],"meta":{"tier":"free","license":"MIT","family":"marketing","docs":"/docs/components/footer-block"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"hold-to-confirm","type":"registry:ui","title":"Hold to confirm","description":"Hold to confirm, part of the Actions family.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/hold-to-confirm.tsx","type":"registry:ui","target":"components/ui/hold-to-confirm.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/action-label.css","type":"registry:file","target":"components/ui/shared/action-label.css"},{"path":"ui/hold-to-confirm.css","type":"registry:file","target":"components/ui/hold-to-confirm.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"actions","docs":"/docs/components/hold-to-confirm"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"hover-card","type":"registry:ui","title":"Hover card","description":"A preview card that appears when hovering or focusing a link or name.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/avatar.tsx","type":"registry:ui","target":"components/ui/avatar.tsx"},{"path":"ui/hover-card.tsx","type":"registry:ui","target":"components/ui/hover-card.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/avatar.css","type":"registry:file","target":"components/ui/avatar.css"},{"path":"ui/shared/hover-card.css","type":"registry:file","target":"components/ui/shared/hover-card.css"}],"categories":["overlays"],"meta":{"tier":"free","license":"MIT","family":"sheet","docs":"/docs/components/hover-card"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"input","type":"registry:ui","title":"Input","description":"A recessed text field with optional leading and trailing affixes; it never jumps when validation appears.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"inputs","docs":"/docs/components/input"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"kbd","type":"registry:ui","title":"Kbd","description":"Keys as small raised caps: one shortcut per kbd, ⌘ on a Mac and Ctrl elsewhere, with spoken names for symbols.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/kbd.tsx","type":"registry:ui","target":"components/ui/kbd.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/kbd.css","type":"registry:file","target":"components/ui/kbd.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"actions","docs":"/docs/components/kbd"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"key-echo","type":"registry:ui","title":"Key echo","description":"Shows the keys you press as caps that pop up, stack and fade, for screen recordings, tutorials and live demos. Pressing the same combination again counts it instead of adding another.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/kbd.tsx","type":"registry:ui","target":"components/ui/kbd.tsx"},{"path":"ui/key-echo.tsx","type":"registry:ui","target":"components/ui/key-echo.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/kbd.css","type":"registry:file","target":"components/ui/kbd.css"},{"path":"ui/key-echo.css","type":"registry:file","target":"components/ui/key-echo.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"surfaces","docs":"/docs/components/key-echo"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"label","type":"registry:ui","title":"Label","description":"The visible name for a field, tied to it so a click focuses the control.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"inputs","docs":"/docs/components/label"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"legal-template","type":"registry:ui","title":"Legal template","description":"A policy people can read: the short version first, numbered sections with an outline that follows you, linkable clauses, a change history and a print layout.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/block-concept.tsx","type":"registry:ui","target":"components/ui/block-concept.tsx"},{"path":"ui/block-nav.tsx","type":"registry:ui","target":"components/ui/block-nav.tsx"},{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/footer-block.tsx","type":"registry:ui","target":"components/ui/footer-block.tsx"},{"path":"ui/legal-template.tsx","type":"registry:ui","target":"components/ui/legal-template.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stage-scope.tsx","type":"registry:ui","target":"components/ui/stage-scope.tsx"},{"path":"ui/template-page.tsx","type":"registry:ui","target":"components/ui/template-page.tsx"},{"path":"ui/block-concept.css","type":"registry:file","target":"components/ui/block-concept.css"},{"path":"ui/shared/site-header.css","type":"registry:file","target":"components/ui/shared/site-header.css"},{"path":"ui/block-nav.css","type":"registry:file","target":"components/ui/block-nav.css"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/footer-block.css","type":"registry:file","target":"components/ui/footer-block.css"},{"path":"ui/shared/article-prose.css","type":"registry:file","target":"components/ui/shared/article-prose.css"},{"path":"ui/legal-template.css","type":"registry:file","target":"components/ui/legal-template.css"},{"path":"ui/shared/skip-link.css","type":"registry:file","target":"components/ui/shared/skip-link.css"},{"path":"ui/template-page.css","type":"registry:file","target":"components/ui/template-page.css"}],"categories":["free-pages"],"meta":{"tier":"free","license":"MIT","family":"reading-proof","docs":"/docs/components/legal-template"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"line-chart","type":"registry:ui","title":"Line chart","description":"One or more series over time, with hover readout and an optional band.","dependencies":["clsx","d3-shape","tailwind-merge"],"devDependencies":["@types/d3-shape@^3.2.0"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/chart-parts.tsx","type":"registry:ui","target":"components/ui/chart-parts.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/line-chart.tsx","type":"registry:ui","target":"components/ui/line-chart.tsx"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/chart-parts.css","type":"registry:file","target":"components/ui/chart-parts.css"},{"path":"ui/shared/chart-crosshair.css","type":"registry:file","target":"components/ui/shared/chart-crosshair.css"},{"path":"ui/line-chart.css","type":"registry:file","target":"components/ui/line-chart.css"}],"categories":["charts"],"meta":{"tier":"free","license":"MIT","family":"core-charts","docs":"/docs/components/line-chart"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"loader","type":"registry:ui","title":"Loader","description":"A small indeterminate indicator in four shapes.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/loader.tsx","type":"registry:ui","target":"components/ui/loader.tsx"},{"path":"ui/loader.css","type":"registry:file","target":"components/ui/loader.css"}],"categories":["feedback"],"meta":{"tier":"free","license":"MIT","family":"feedback","docs":"/docs/components/loader"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"marquee-select","type":"registry:ui","title":"Marquee select","description":"Select many items by dragging a rubber band over them, the way a desktop does. Chosen items lift with a tick, Shift keeps what was already chosen, and a count springs up with a way to clear.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/marquee-select.tsx","type":"registry:ui","target":"components/ui/marquee-select.tsx"},{"path":"ui/marquee-select.css","type":"registry:file","target":"components/ui/marquee-select.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"browse","docs":"/docs/components/marquee-select"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"metric","type":"registry:ui","title":"Metric","description":"A number with its context, change and a small trend line.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/metric.tsx","type":"registry:ui","target":"components/ui/metric.tsx"},{"path":"ui/sparkline.tsx","type":"registry:ui","target":"components/ui/sparkline.tsx"},{"path":"ui/sparkline.css","type":"registry:file","target":"components/ui/sparkline.css"}],"categories":["data"],"meta":{"tier":"free","license":"MIT","family":"blocks","docs":"/docs/components/metric"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"mood-slider","type":"registry:ui","title":"Mood slider","description":"A satisfaction rating as a face that changes with the slider: the mouth bends from a frown to a smile, the eyes soften and the colour warms from red through amber to green, with the word for each step beneath.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/mood-slider.tsx","type":"registry:ui","target":"components/ui/mood-slider.tsx"},{"path":"ui/mood-slider.css","type":"registry:file","target":"components/ui/mood-slider.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"changing-values","docs":"/docs/components/mood-slider"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"navigation-menu","type":"registry:ui","title":"Navigation menu","description":"A site header whose items open frosted panels of links. Hover waits for intent, the panel resizes from one item to the next, and every link is reachable by keyboard.","dependencies":["@radix-ui/react-navigation-menu","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/glide-highlight.tsx","type":"registry:ui","target":"components/ui/glide-highlight.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/navigation-menu.tsx","type":"registry:ui","target":"components/ui/navigation-menu.tsx"},{"path":"ui/glide-highlight.css","type":"registry:file","target":"components/ui/glide-highlight.css"},{"path":"ui/navigation-menu.css","type":"registry:file","target":"components/ui/navigation-menu.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"identity-navigation","docs":"/docs/components/navigation-menu"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"newsletter-signup","type":"registry:ui","title":"Newsletter signup","description":"An email field with consent and success states.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/field.tsx","type":"registry:ui","target":"components/ui/field.tsx"},{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/newsletter-signup.tsx","type":"registry:ui","target":"components/ui/newsletter-signup.tsx"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/field-message.css","type":"registry:file","target":"components/ui/shared/field-message.css"},{"path":"ui/field.css","type":"registry:file","target":"components/ui/field.css"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"}],"categories":["free-marketing"],"meta":{"tier":"free","license":"MIT","family":"reading-proof","docs":"/docs/components/newsletter-signup"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"not-found-page","type":"registry:ui","title":"Not found page","description":"A friendly 404 with suggestions and search.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/not-found-page.tsx","type":"registry:ui","target":"components/ui/not-found-page.tsx"},{"path":"ui/search.tsx","type":"registry:ui","target":"components/ui/search.tsx"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"},{"path":"ui/not-found-page.css","type":"registry:file","target":"components/ui/not-found-page.css"}],"categories":["free-utility"],"meta":{"tier":"free","license":"MIT","family":"specialty","docs":"/docs/components/not-found-page"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"number-field","type":"registry:ui","title":"Number field","description":"A numeric field with steppers, limits, a suffix and optional drag-to-scrub.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/lib/hold-step.ts","type":"registry:ui","target":"components/ui/lib/hold-step.ts"},{"path":"ui/number-field.tsx","type":"registry:ui","target":"components/ui/number-field.tsx"},{"path":"ui/rolling-value.tsx","type":"registry:ui","target":"components/ui/rolling-value.tsx"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/number-field.css","type":"registry:file","target":"components/ui/number-field.css"},{"path":"ui/rolling-value.css","type":"registry:file","target":"components/ui/rolling-value.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"inputs","docs":"/docs/components/number-field"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"otp-input","type":"registry:ui","title":"OTP input","description":"A segmented field for one-time codes with paste support and status.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/glide-highlight.tsx","type":"registry:ui","target":"components/ui/glide-highlight.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/otp-input.tsx","type":"registry:ui","target":"components/ui/otp-input.tsx"},{"path":"ui/glide-highlight.css","type":"registry:file","target":"components/ui/glide-highlight.css"},{"path":"ui/otp-input.css","type":"registry:file","target":"components/ui/otp-input.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"otp","docs":"/docs/components/otp-input"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"page-header","type":"registry:ui","title":"Page header","description":"A title with description, breadcrumbs and actions.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/breadcrumb.tsx","type":"registry:ui","target":"components/ui/breadcrumb.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/page-header.tsx","type":"registry:ui","target":"components/ui/page-header.tsx"},{"path":"ui/breadcrumb.css","type":"registry:file","target":"components/ui/breadcrumb.css"}],"categories":["free-marketing"],"meta":{"tier":"free","license":"MIT","family":"page-chrome","docs":"/docs/components/page-header"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"pagination","type":"registry:ui","title":"Pagination","description":"Page links with previous and next, sized for touch.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/pagination.tsx","type":"registry:ui","target":"components/ui/pagination.tsx"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"identity-navigation","docs":"/docs/components/pagination"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"password-field","type":"registry:ui","title":"Password field","description":"A password input with a show and hide control.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/password-field.tsx","type":"registry:ui","target":"components/ui/password-field.tsx"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/password-field.css","type":"registry:file","target":"components/ui/password-field.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"inputs","docs":"/docs/components/password-field"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"popover","type":"registry:ui","title":"Popover","description":"A small panel anchored to a trigger for quick settings or details.","dependencies":["@radix-ui/react-popover","clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/popover.tsx","type":"registry:ui","target":"components/ui/popover.tsx"},{"path":"ui/shared/popover-content.css","type":"registry:file","target":"components/ui/shared/popover-content.css"},{"path":"ui/popover.css","type":"registry:file","target":"components/ui/popover.css"}],"categories":["overlays"],"meta":{"tier":"free","license":"MIT","family":"overlays-and-tabs","docs":"/docs/components/popover"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"progress","type":"registry:ui","title":"Progress","description":"A measured bar for work with a known size, such as an upload.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/lib/motion-tokens.ts","type":"registry:ui","target":"components/ui/lib/motion-tokens.ts"},{"path":"ui/progress.tsx","type":"registry:ui","target":"components/ui/progress.tsx"},{"path":"ui/shared/progress-fill.css","type":"registry:file","target":"components/ui/shared/progress-fill.css"},{"path":"ui/progress.css","type":"registry:file","target":"components/ui/progress.css"}],"categories":["feedback"],"meta":{"tier":"free","license":"MIT","family":"feedback","docs":"/docs/components/progress"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"prose","type":"registry:ui","title":"Prose","description":"Spacing, a readable measure and quiet links for long-form markup you do not control, such as a Markdown render, release notes or a legal page.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/prose.tsx","type":"registry:ui","target":"components/ui/prose.tsx"},{"path":"ui/prose.css","type":"registry:file","target":"components/ui/prose.css"}],"categories":["data"],"meta":{"tier":"free","license":"MIT","family":"records","docs":"/docs/components/prose"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"push-button","type":"registry:ui","title":"Push button","description":"A chunky button with visible depth: the face sits on its own edge, lifts a pixel on hover, travels down onto the edge when pressed and springs back when let go. For playful flows such as onboarding, lessons and rewards.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/push-button.tsx","type":"registry:ui","target":"components/ui/push-button.tsx"},{"path":"ui/push-button.css","type":"registry:file","target":"components/ui/push-button.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"surfaces","docs":"/docs/components/push-button"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"radio","type":"registry:ui","title":"Radio","description":"A native radio for choosing exactly one option from a short group.","dependencies":[],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/radio.tsx","type":"registry:ui","target":"components/ui/radio.tsx"},{"path":"ui/radio.css","type":"registry:file","target":"components/ui/radio.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"inputs","docs":"/docs/components/radio"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"rating","type":"registry:ui","title":"Rating","description":"Stars that are a native radio group: arrows change the value, a pointer previews, half steps when you need them, and a read-only average that says how many ratings it comes from.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/rating.tsx","type":"registry:ui","target":"components/ui/rating.tsx"},{"path":"ui/shared/styles-5.css","type":"registry:file","target":"components/ui/shared/styles-5.css"},{"path":"ui/rating.css","type":"registry:file","target":"components/ui/rating.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"choices","docs":"/docs/components/rating"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"ripple","type":"registry:ui","title":"Ripple","description":"Ink that spreads from where a surface is pressed. Drop it inside anything pressable; it listens to its parent. A held press keeps the ink until release, and Enter or Space start it from the centre.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/ripple.tsx","type":"registry:ui","target":"components/ui/ripple.tsx"},{"path":"ui/ripple.css","type":"registry:file","target":"components/ui/ripple.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"surfaces","docs":"/docs/components/ripple"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"ruler-slider","type":"registry:ui","title":"Ruler slider","description":"A tape of ticks that slides under a fixed needle. Drag it and let go: it keeps the speed you gave it, slows, and clicks into the nearest step while the number above rolls to the new value. For picking a measurement where the scale itself helps.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/animated-counter.tsx","type":"registry:ui","target":"components/ui/animated-counter.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/lib/motion-tokens.ts","type":"registry:ui","target":"components/ui/lib/motion-tokens.ts"},{"path":"ui/ruler-slider.tsx","type":"registry:ui","target":"components/ui/ruler-slider.tsx"},{"path":"ui/animated-counter.css","type":"registry:file","target":"components/ui/animated-counter.css"},{"path":"ui/shared/styles-5.css","type":"registry:file","target":"components/ui/shared/styles-5.css"},{"path":"ui/ruler-slider.css","type":"registry:file","target":"components/ui/ruler-slider.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"changing-values","docs":"/docs/components/ruler-slider"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"scroll-area","type":"registry:ui","title":"Scroll area","description":"A labelled, keyboard-focusable scroll region with a quiet scrollbar.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/scroll-area.tsx","type":"registry:ui","target":"components/ui/scroll-area.tsx"},{"path":"ui/scroll-area.css","type":"registry:file","target":"components/ui/scroll-area.css"}],"categories":["overlays"],"meta":{"tier":"free","license":"MIT","family":"disclosure","docs":"/docs/components/scroll-area"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"scroll-top-ring","type":"registry:ui","title":"Scroll top ring","description":"A back-to-top button whose ring fills as you read. It springs in once you have scrolled past the threshold, stays in the corner of whatever scrolls, and returns you to the top with focus at the start of the content.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/lib/scroll-view.ts","type":"registry:ui","target":"components/ui/lib/scroll-view.ts"},{"path":"ui/scroll-top-ring.tsx","type":"registry:ui","target":"components/ui/scroll-top-ring.tsx"},{"path":"ui/scroll-top-ring.css","type":"registry:file","target":"components/ui/scroll-top-ring.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"browse","docs":"/docs/components/scroll-top-ring"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"search","type":"registry:ui","title":"Search","description":"A search field with a clear button and the right keyboard on phones.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/search.tsx","type":"registry:ui","target":"components/ui/search.tsx"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"identity-navigation","docs":"/docs/components/search"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"segmented-control","type":"registry:ui","title":"Segmented control","description":"Segmented control, part of the Blocks family.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/segmented-control.tsx","type":"registry:ui","target":"components/ui/segmented-control.tsx"},{"path":"ui/shared/segmented-plate.css","type":"registry:file","target":"components/ui/shared/segmented-plate.css"}],"categories":["data"],"meta":{"tier":"free","license":"MIT","family":"blocks","docs":"/docs/components/segmented-control"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"select","type":"registry:ui","title":"Select","description":"A styled native select for choosing one option from a short list.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/select.tsx","type":"registry:ui","target":"components/ui/select.tsx"},{"path":"ui/shared/select.css","type":"registry:file","target":"components/ui/shared/select.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"inputs","docs":"/docs/components/select"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"select-menu","type":"registry:ui","title":"Select menu","description":"A select whose list opens with the chosen option over the trigger; the platform picker on touch.","dependencies":["@radix-ui/react-popover","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/select-menu.tsx","type":"registry:ui","target":"components/ui/select-menu.tsx"},{"path":"ui/shared/select.css","type":"registry:file","target":"components/ui/shared/select.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/select-menu.css","type":"registry:file","target":"components/ui/select-menu.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"inputs","docs":"/docs/components/select-menu"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"separator","type":"registry:ui","title":"Separator","description":"A 1px divider in the toolbar's own hairline, with a labelled form for “or continue with email”. Decoration unless you say otherwise.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/separator.tsx","type":"registry:ui","target":"components/ui/separator.tsx"},{"path":"ui/separator.css","type":"registry:file","target":"components/ui/separator.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"actions","docs":"/docs/components/separator"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"shuffle-grid","type":"registry:ui","title":"Shuffle grid","description":"A grid you filter with a row of chips. Items that stay glide to their new places, items that leave shrink away from where they stood and items that arrive grow in, so a filter reads as a rearrangement rather than a swap.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/shuffle-grid.tsx","type":"registry:ui","target":"components/ui/shuffle-grid.tsx"},{"path":"ui/shuffle-grid.css","type":"registry:file","target":"components/ui/shuffle-grid.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"browse","docs":"/docs/components/shuffle-grid"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"sidebar","type":"registry:ui","title":"Sidebar","description":"A collapsible navigation rail for an app's main sections.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/sidebar.tsx","type":"registry:ui","target":"components/ui/sidebar.tsx"},{"path":"ui/sidebar.css","type":"registry:file","target":"components/ui/sidebar.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"sidebar","docs":"/docs/components/sidebar"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"sign-in-form","type":"registry:ui","title":"Sign in form","description":"An email and password form with provider buttons and clear errors.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/alert.tsx","type":"registry:ui","target":"components/ui/alert.tsx"},{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/checkbox.tsx","type":"registry:ui","target":"components/ui/checkbox.tsx"},{"path":"ui/feedback.tsx","type":"registry:ui","target":"components/ui/feedback.tsx"},{"path":"ui/field.tsx","type":"registry:ui","target":"components/ui/field.tsx"},{"path":"ui/input.tsx","type":"registry:ui","target":"components/ui/input.tsx"},{"path":"ui/label.tsx","type":"registry:ui","target":"components/ui/label.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/password-field.tsx","type":"registry:ui","target":"components/ui/password-field.tsx"},{"path":"ui/sign-in-form.tsx","type":"registry:ui","target":"components/ui/sign-in-form.tsx"},{"path":"ui/shared/alert.css","type":"registry:file","target":"components/ui/shared/alert.css"},{"path":"ui/alert.css","type":"registry:file","target":"components/ui/alert.css"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/checkbox.css","type":"registry:file","target":"components/ui/checkbox.css"},{"path":"ui/feedback.css","type":"registry:file","target":"components/ui/feedback.css"},{"path":"ui/shared/field-message.css","type":"registry:file","target":"components/ui/shared/field-message.css"},{"path":"ui/field.css","type":"registry:file","target":"components/ui/field.css"},{"path":"ui/shared/input.css","type":"registry:file","target":"components/ui/shared/input.css"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/shared/input-group.css","type":"registry:file","target":"components/ui/shared/input-group.css"},{"path":"ui/input.css","type":"registry:file","target":"components/ui/input.css"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/password-field.css","type":"registry:file","target":"components/ui/password-field.css"}],"categories":["free-account"],"meta":{"tier":"free","license":"MIT","family":"account-entry","docs":"/docs/components/sign-in-form"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"signal-strength","type":"registry:ui","title":"Signal strength","description":"Four bars for the quality of a connection. The bars rise and fall one after another as the level changes and take a colour for how good it is; while searching a light sweeps across them, and offline they grey out under a slash.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/signal-strength.tsx","type":"registry:ui","target":"components/ui/signal-strength.tsx"},{"path":"ui/signal-strength.css","type":"registry:file","target":"components/ui/signal-strength.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"changing-values","docs":"/docs/components/signal-strength"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"site-footer","type":"registry:ui","title":"Site footer","description":"Link columns, social links and legal text.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/site-footer.tsx","type":"registry:ui","target":"components/ui/site-footer.tsx"},{"path":"ui/site-footer.css","type":"registry:file","target":"components/ui/site-footer.css"}],"categories":["free-marketing"],"meta":{"tier":"free","license":"MIT","family":"page-chrome","docs":"/docs/components/site-footer"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"skeleton","type":"registry:ui","title":"Skeleton","description":"A placeholder with the shape of the content it stands in for.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/skeleton.tsx","type":"registry:ui","target":"components/ui/skeleton.tsx"},{"path":"ui/skeleton.css","type":"registry:file","target":"components/ui/skeleton.css"}],"categories":["feedback"],"meta":{"tier":"free","license":"MIT","family":"feedback","docs":"/docs/components/skeleton"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"skeleton-morph","type":"registry:ui","title":"Skeleton morph","description":"Loading placeholders that turn into the real content one block at a time instead of being swapped out. The placeholders are the content's own boxes, so nothing moves when the data arrives.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/skeleton-morph.tsx","type":"registry:ui","target":"components/ui/skeleton-morph.tsx"},{"path":"ui/skeleton-morph.css","type":"registry:file","target":"components/ui/skeleton-morph.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"surfaces","docs":"/docs/components/skeleton-morph"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"slider","type":"registry:ui","title":"Slider","description":"A native range input styled to match, with accessible value text.","dependencies":[],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/slider.tsx","type":"registry:ui","target":"components/ui/slider.tsx"},{"path":"ui/slider.css","type":"registry:file","target":"components/ui/slider.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"slider-refresh","docs":"/docs/components/slider"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"sparkle-text","type":"registry:ui","title":"Sparkle text","description":"Text with small four-point stars that bloom, turn and fade around it at uneven moments, for the one word that should feel special: a reward, a new plan, a finished setup.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/sparkle-text.tsx","type":"registry:ui","target":"components/ui/sparkle-text.tsx"},{"path":"ui/sparkle-text.css","type":"registry:file","target":"components/ui/sparkle-text.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"text-motion","docs":"/docs/components/sparkle-text"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"sparkline","type":"registry:ui","title":"Sparkline","description":"A tiny trend line with no axes, for use inside text and tables.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/sparkline.tsx","type":"registry:ui","target":"components/ui/sparkline.tsx"},{"path":"ui/sparkline.css","type":"registry:file","target":"components/ui/sparkline.css"}],"categories":["data"],"meta":{"tier":"free","license":"MIT","family":"blocks","docs":"/docs/components/sparkline"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"split-bar","type":"registry:ui","title":"Split bar","description":"One bar that is the whole, split into shares in the chart colours. Rest on a share, or focus its legend row, and it widens to show its figures while the others make room; switch shares off and the rest fill the bar again.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/split-bar.tsx","type":"registry:ui","target":"components/ui/split-bar.tsx"},{"path":"ui/split-bar.css","type":"registry:file","target":"components/ui/split-bar.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"changing-values","docs":"/docs/components/split-bar"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"split-button","type":"registry:ui","title":"Split button","description":"A primary action joined to its alternatives; the chosen option becomes the label.","dependencies":["@radix-ui/react-dropdown-menu","@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/dropdown-menu.tsx","type":"registry:ui","target":"components/ui/dropdown-menu.tsx"},{"path":"ui/glide-highlight.tsx","type":"registry:ui","target":"components/ui/glide-highlight.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/split-button.tsx","type":"registry:ui","target":"components/ui/split-button.tsx"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/dropdown-content.css","type":"registry:file","target":"components/ui/shared/dropdown-content.css"},{"path":"ui/dropdown-menu.css","type":"registry:file","target":"components/ui/dropdown-menu.css"},{"path":"ui/glide-highlight.css","type":"registry:file","target":"components/ui/glide-highlight.css"},{"path":"ui/split-button.css","type":"registry:file","target":"components/ui/split-button.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"actions","docs":"/docs/components/split-button"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"stat-card","type":"registry:ui","title":"Stat card","description":"A bordered figure with a label, description and change.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stat-card.tsx","type":"registry:ui","target":"components/ui/stat-card.tsx"}],"categories":["data"],"meta":{"tier":"free","license":"MIT","family":"blocks","docs":"/docs/components/stat-card"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"status-icon","type":"registry:ui","title":"Status icon","description":"The small status glyph beside a task: a dashed ring for backlog, an open ring for todo, a ring filling like a pie while in progress and in review, a filled disc with a tick when done and a crossed disc when cancelled. Every state is built from the same four shapes, so a change animates from one to the next.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/status-icon.tsx","type":"registry:ui","target":"components/ui/status-icon.tsx"},{"path":"ui/status-icon.css","type":"registry:file","target":"components/ui/status-icon.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"changing-values","docs":"/docs/components/status-icon"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"stepper","type":"registry:ui","title":"Stepper","description":"Shows where someone is in a multi-step flow and lets them go back.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stepper.tsx","type":"registry:ui","target":"components/ui/stepper.tsx"},{"path":"ui/shared/chip-option.css","type":"registry:file","target":"components/ui/shared/chip-option.css"},{"path":"ui/stepper.css","type":"registry:file","target":"components/ui/stepper.css"}],"categories":["feedback"],"meta":{"tier":"free","license":"MIT","family":"status","docs":"/docs/components/stepper"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"swatch-picker","type":"registry:ui","title":"Swatch picker","description":"A row of colour swatches with one selection ring that glides to the chosen colour, wrapping rows included. The chosen swatch steps in to make room for the ring.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/swatch-picker.tsx","type":"registry:ui","target":"components/ui/swatch-picker.tsx"},{"path":"ui/swatch-picker.css","type":"registry:file","target":"components/ui/swatch-picker.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"surfaces","docs":"/docs/components/swatch-picker"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"switch","type":"registry:ui","title":"Switch","description":"Switch, part of the Inputs family.","dependencies":[],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/switch.tsx","type":"registry:ui","target":"components/ui/switch.tsx"},{"path":"ui/switch.css","type":"registry:file","target":"components/ui/switch.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"inputs","docs":"/docs/components/switch"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"tabs","type":"registry:ui","title":"Tabs","description":"Switch between related views of the same content without leaving the page.","dependencies":["@radix-ui/react-slot","@radix-ui/react-tabs","clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/tabs.tsx","type":"registry:ui","target":"components/ui/tabs.tsx"},{"path":"ui/tabs.css","type":"registry:file","target":"components/ui/tabs.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"animated-tabs","docs":"/docs/components/tabs"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"tag-overflow","type":"registry:ui","title":"Tag overflow","description":"A row of tags that shows the first few and folds the rest into a \"+N\" count. Choosing the count opens the rest one after another in place, and \"Show less\" folds them back.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/badge.tsx","type":"registry:ui","target":"components/ui/badge.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/tag-overflow.tsx","type":"registry:ui","target":"components/ui/tag-overflow.tsx"},{"path":"ui/tag-overflow.css","type":"registry:file","target":"components/ui/tag-overflow.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"surfaces","docs":"/docs/components/tag-overflow"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"team-block","type":"registry:ui","title":"Team block","description":"People introduced by what they own and how to reach them, with their photo or, when there is none, their initials.","dependencies":["clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/avatar.tsx","type":"registry:ui","target":"components/ui/avatar.tsx"},{"path":"ui/block-concept.tsx","type":"registry:ui","target":"components/ui/block-concept.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/stage-scope.tsx","type":"registry:ui","target":"components/ui/stage-scope.tsx"},{"path":"ui/team-block.tsx","type":"registry:ui","target":"components/ui/team-block.tsx"},{"path":"ui/avatar.css","type":"registry:file","target":"components/ui/avatar.css"},{"path":"ui/block-concept.css","type":"registry:file","target":"components/ui/block-concept.css"}],"categories":["free-marketing"],"meta":{"tier":"free","license":"MIT","family":"marketing","docs":"/docs/components/team-block"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"textarea","type":"registry:ui","title":"Textarea","description":"A recessed multi-line field that grows with the draft from 3 to 8 lines.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/textarea.tsx","type":"registry:ui","target":"components/ui/textarea.tsx"},{"path":"ui/shared/input-2.css","type":"registry:file","target":"components/ui/shared/input-2.css"},{"path":"ui/textarea.css","type":"registry:file","target":"components/ui/textarea.css"}],"categories":["inputs"],"meta":{"tier":"free","license":"MIT","family":"assistant","docs":"/docs/components/textarea"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"theme-switch","type":"registry:ui","title":"Theme switch","description":"A light and dark toggle that changes at once or reveals the new theme with a circle, seam or wipe.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/theme-switch.tsx","type":"registry:ui","target":"components/ui/theme-switch.tsx"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/theme-switch.css","type":"registry:file","target":"components/ui/theme-switch.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"theme","docs":"/docs/components/theme-switch"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"toast","type":"registry:ui","title":"Toast","description":"A short, dismissible message that confirms an action, with an optional undo.","dependencies":["@radix-ui/react-slot","@radix-ui/react-toast","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/feedback.tsx","type":"registry:ui","target":"components/ui/feedback.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/toast.tsx","type":"registry:ui","target":"components/ui/toast.tsx"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/feedback.css","type":"registry:file","target":"components/ui/feedback.css"},{"path":"ui/shared/alert.css","type":"registry:file","target":"components/ui/shared/alert.css"},{"path":"ui/toast.css","type":"registry:file","target":"components/ui/toast.css"}],"categories":["feedback"],"meta":{"tier":"free","license":"MIT","family":"feedback","docs":"/docs/components/toast"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"toc-progress","type":"registry:ui","title":"Toc progress","description":"A table of contents that reads along with you: a thin rail bends through the nested headings and fills as the page scrolls, a marker rides it to the current section, and the reading time left counts down.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/lib/scroll-view.ts","type":"registry:ui","target":"components/ui/lib/scroll-view.ts"},{"path":"ui/toc-progress.tsx","type":"registry:ui","target":"components/ui/toc-progress.tsx"},{"path":"ui/toc-progress.css","type":"registry:file","target":"components/ui/toc-progress.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"browse","docs":"/docs/components/toc-progress"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"toggle","type":"registry:ui","title":"Toggle and toggle group","description":"A button that stays pressed, alone or in a raised group that holds one choice or many and moves with the arrow keys as a single tab stop.","dependencies":["@radix-ui/react-slot","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/button-group.tsx","type":"registry:ui","target":"components/ui/button-group.tsx"},{"path":"ui/glide-highlight.tsx","type":"registry:ui","target":"components/ui/glide-highlight.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/toggle.tsx","type":"registry:ui","target":"components/ui/toggle.tsx"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/button-group.css","type":"registry:file","target":"components/ui/button-group.css"},{"path":"ui/glide-highlight.css","type":"registry:file","target":"components/ui/glide-highlight.css"},{"path":"ui/toggle.css","type":"registry:file","target":"components/ui/toggle.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"actions","docs":"/docs/components/toggle"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"toolbar","type":"registry:ui","title":"Toolbar","description":"Tools with one tab stop: arrows move between them, toggles sit recessed, and when the row runs out of width the last tools fold into a More menu with their state.","dependencies":["@radix-ui/react-dropdown-menu","@radix-ui/react-slot","@radix-ui/react-tooltip","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/button.tsx","type":"registry:ui","target":"components/ui/button.tsx"},{"path":"ui/dropdown-menu.tsx","type":"registry:ui","target":"components/ui/dropdown-menu.tsx"},{"path":"ui/glide-highlight.tsx","type":"registry:ui","target":"components/ui/glide-highlight.tsx"},{"path":"ui/kbd.tsx","type":"registry:ui","target":"components/ui/kbd.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/toolbar.tsx","type":"registry:ui","target":"components/ui/toolbar.tsx"},{"path":"ui/tooltip.tsx","type":"registry:ui","target":"components/ui/tooltip.tsx"},{"path":"ui/shared/loading-indicator.css","type":"registry:file","target":"components/ui/shared/loading-indicator.css"},{"path":"ui/button.css","type":"registry:file","target":"components/ui/button.css"},{"path":"ui/shared/dropdown-content.css","type":"registry:file","target":"components/ui/shared/dropdown-content.css"},{"path":"ui/dropdown-menu.css","type":"registry:file","target":"components/ui/dropdown-menu.css"},{"path":"ui/glide-highlight.css","type":"registry:file","target":"components/ui/glide-highlight.css"},{"path":"ui/kbd.css","type":"registry:file","target":"components/ui/kbd.css"},{"path":"ui/toolbar.css","type":"registry:file","target":"components/ui/toolbar.css"},{"path":"ui/tooltip.css","type":"registry:file","target":"components/ui/tooltip.css"}],"categories":["actions"],"meta":{"tier":"free","license":"MIT","family":"actions","docs":"/docs/components/toolbar"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"tooltip","type":"registry:ui","title":"Tooltip","description":"A short hint that appears on hover or focus, never the only way to learn something.","dependencies":["@radix-ui/react-tooltip","clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/tooltip.tsx","type":"registry:ui","target":"components/ui/tooltip.tsx"},{"path":"ui/tooltip.css","type":"registry:file","target":"components/ui/tooltip.css"}],"categories":["overlays"],"meta":{"tier":"free","license":"MIT","family":"overlays-and-tabs","docs":"/docs/components/tooltip"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"unit-field","type":"registry:ui","title":"Unit field","description":"A number field with its unit beside it. Switching the unit converts the amount and the figure counts across to the new value rather than jumping, so it is clear the quantity is the same.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/segmented-control.tsx","type":"registry:ui","target":"components/ui/segmented-control.tsx"},{"path":"ui/unit-field.tsx","type":"registry:ui","target":"components/ui/unit-field.tsx"},{"path":"ui/shared/segmented-plate.css","type":"registry:file","target":"components/ui/shared/segmented-plate.css"},{"path":"ui/unit-field.css","type":"registry:file","target":"components/ui/unit-field.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"changing-values","docs":"/docs/components/unit-field"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"user-menu","type":"registry:ui","title":"User menu","description":"A dropdown for the signed-in person's identity and account actions.","dependencies":["@radix-ui/react-dropdown-menu","clsx","lucide-react","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/dropdown-menu.tsx","type":"registry:ui","target":"components/ui/dropdown-menu.tsx"},{"path":"ui/glide-highlight.tsx","type":"registry:ui","target":"components/ui/glide-highlight.tsx"},{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/user-menu.tsx","type":"registry:ui","target":"components/ui/user-menu.tsx"},{"path":"ui/shared/dropdown-content.css","type":"registry:file","target":"components/ui/shared/dropdown-content.css"},{"path":"ui/dropdown-menu.css","type":"registry:file","target":"components/ui/dropdown-menu.css"},{"path":"ui/glide-highlight.css","type":"registry:file","target":"components/ui/glide-highlight.css"}],"categories":["navigation"],"meta":{"tier":"free","license":"MIT","family":"identity-navigation","docs":"/docs/components/user-menu"}},{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"wavy-progress","type":"registry:ui","title":"Wavy progress","description":"Progress drawn as a travelling wave: the done part ripples while work is happening, the rest is a flat track that ends in a stop mark, and the wave lies flat once the work is finished. As a bar or a ring, with an indeterminate sweep when the amount is unknown.","dependencies":["clsx","tailwind-merge"],"registryDependencies":["https://caliperui.site/r/styles.json"],"files":[{"path":"ui/lib/cn.ts","type":"registry:ui","target":"components/ui/lib/cn.ts"},{"path":"ui/wavy-progress.tsx","type":"registry:ui","target":"components/ui/wavy-progress.tsx"},{"path":"ui/wavy-progress.css","type":"registry:file","target":"components/ui/wavy-progress.css"}],"categories":["motion"],"meta":{"tier":"free","license":"MIT","family":"changing-values","docs":"/docs/components/wavy-progress"}}]}