{ "name": "diceui/base", "homepage": "https://diceui.com", "items": [ { "name": "action-bar", "type": "registry:ui", "files": [ { "path": "ui/action-bar.tsx", "type": "registry:ui" } ], "registryDependencies": [ "button", "direction", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect" ], "dependencies": [ "@base-ui/react" ] }, { "name": "angle-slider", "type": "registry:ui", "files": [ { "path": "ui/angle-slider.tsx", "type": "registry:ui" }, { "path": "components/visually-hidden-input.tsx", "type": "registry:component" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "direction", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "avatar-group", "type": "registry:ui", "files": [ { "path": "ui/avatar-group.tsx", "type": "registry:ui" } ], "dependencies": [ "@base-ui/react" ] }, { "name": "badge-overflow", "type": "registry:ui", "files": [ { "path": "ui/badge-overflow.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "dependencies": [ "@base-ui/react" ] }, { "name": "banner", "type": "registry:ui", "files": [ { "path": "ui/banner.tsx", "type": "registry:ui" } ], "registryDependencies": [ "button", "@diceui/use-as-ref", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "circular-progress", "type": "registry:ui", "files": [ { "path": "ui/circular-progress.tsx", "type": "registry:ui" } ], "dependencies": [ "@base-ui/react" ], "cssVars": { "theme": { "--animate-spin-around": "spin-around 0.8s linear infinite" } }, "css": { "@keyframes spin-around": { "0%": { "transform": "rotate(-90deg)" }, "100%": { "transform": "rotate(270deg)" } } } }, { "name": "color-picker", "type": "registry:ui", "files": [ { "path": "ui/color-picker.tsx", "type": "registry:ui" }, { "path": "components/visually-hidden-input.tsx", "type": "registry:component" } ], "registryDependencies": [ "button", "input", "popover", "select", "direction", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref", "@diceui/compose-refs" ], "dependencies": [ "@base-ui/react" ] }, { "name": "color-swatch", "type": "registry:ui", "files": [ { "path": "ui/color-swatch.tsx", "type": "registry:ui" } ], "dependencies": [ "@base-ui/react" ] }, { "name": "compare-slider", "type": "registry:ui", "files": [ { "path": "ui/compare-slider.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "cropper", "type": "registry:ui", "files": [ { "path": "ui/cropper.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "editable", "type": "registry:ui", "files": [ { "path": "ui/editable.tsx", "type": "registry:ui" }, { "path": "components/visually-hidden-input.tsx", "type": "registry:component" } ], "registryDependencies": [ "direction", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "file-upload", "type": "registry:ui", "files": [ { "path": "ui/file-upload.tsx", "type": "registry:ui" } ], "registryDependencies": [ "direction", "@diceui/use-as-ref", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "fps", "type": "registry:ui", "files": [ { "path": "ui/fps.tsx", "type": "registry:ui" } ] }, { "name": "gauge", "type": "registry:ui", "files": [ { "path": "ui/gauge.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "dependencies": [ "@base-ui/react" ] }, { "name": "key-value", "type": "registry:ui", "files": [ { "path": "ui/key-value.tsx", "type": "registry:ui" }, { "path": "components/visually-hidden-input.tsx", "type": "registry:component" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "button", "input", "textarea", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "marquee", "type": "registry:ui", "files": [ { "path": "ui/marquee.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "direction" ], "dependencies": [ "@base-ui/react" ], "cssVars": { "theme": { "--animate-marquee-left": "marquee-left var(--marquee-duration) linear var(--marquee-loop-count)", "--animate-marquee-right": "marquee-right var(--marquee-duration) linear var(--marquee-loop-count)", "--animate-marquee-left-rtl": "marquee-left-rtl var(--marquee-duration) linear var(--marquee-loop-count)", "--animate-marquee-right-rtl": "marquee-right-rtl var(--marquee-duration) linear var(--marquee-loop-count)", "--animate-marquee-up": "marquee-up var(--marquee-duration) linear var(--marquee-loop-count)", "--animate-marquee-down": "marquee-down var(--marquee-duration) linear var(--marquee-loop-count)" } }, "css": { "@keyframes marquee-left": { "0%": { "transform": "translateX(0%)" }, "100%": { "transform": "translateX(calc(-100% - var(--marquee-gap)))" } }, "@keyframes marquee-right": { "0%": { "transform": "translateX(calc(-100% - var(--marquee-gap)))" }, "100%": { "transform": "translateX(0%)" } }, "@keyframes marquee-up": { "0%": { "transform": "translateY(0%)" }, "100%": { "transform": "translateY(calc(-100% - var(--marquee-gap)))" } }, "@keyframes marquee-down": { "0%": { "transform": "translateY(calc(-100% - var(--marquee-gap)))" }, "100%": { "transform": "translateY(calc(-100% - var(--marquee-gap)))" } }, "@keyframes marquee-left-rtl": { "0%": { "transform": "translateX(0%)" }, "100%": { "transform": "translateX(calc(100% + var(--marquee-gap)))" } }, "@keyframes marquee-right-rtl": { "0%": { "transform": "translateX(calc(100% + var(--marquee-gap)))" }, "100%": { "transform": "translateX(0%)" } } } }, { "name": "mask-input", "type": "registry:ui", "files": [ { "path": "ui/mask-input.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "dependencies": [ "@base-ui/react" ] }, { "name": "masonry", "type": "registry:ui", "files": [ { "path": "ui/masonry.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "@diceui/use-isomorphic-layout-effect" ], "dependencies": [ "@base-ui/react" ] }, { "name": "media-player", "type": "registry:ui", "files": [ { "path": "ui/media-player.tsx", "type": "registry:ui" } ], "registryDependencies": [ "badge", "button", "dropdown-menu", "tooltip", "direction", "@diceui/compose-refs", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react", "media-chrome" ] }, { "name": "phone-input", "type": "registry:ui", "files": [ { "path": "ui/phone-input.tsx", "type": "registry:ui" }, { "path": "components/visually-hidden-input.tsx", "type": "registry:component" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "popover", "command", "input", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react", "cmdk" ] }, { "name": "qr-code", "type": "registry:ui", "files": [ { "path": "ui/qr-code.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react", "qrcode" ], "devDependencies": [ "@types/qrcode" ] }, { "name": "rating", "type": "registry:ui", "files": [ { "path": "ui/rating.tsx", "type": "registry:ui" }, { "path": "components/visually-hidden-input.tsx", "type": "registry:component" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "direction", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "relative-time-card", "type": "registry:ui", "files": [ { "path": "ui/relative-time-card.tsx", "type": "registry:ui" } ], "registryDependencies": [ "hover-card" ], "dependencies": [ "@base-ui/react" ] }, { "name": "responsive-dialog", "type": "registry:ui", "files": [ { "path": "ui/responsive-dialog.tsx", "type": "registry:ui" } ], "registryDependencies": [ "dialog", "drawer", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref", "@diceui/use-mobile" ], "dependencies": [ "vaul" ] }, { "name": "scroll-spy", "type": "registry:ui", "files": [ { "path": "ui/scroll-spy.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "direction", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "scroller", "type": "registry:ui", "files": [ { "path": "ui/scroller.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "dependencies": [ "@base-ui/react" ] }, { "name": "segmented-input", "type": "registry:ui", "files": [ { "path": "ui/segmented-input.tsx", "type": "registry:ui" } ], "registryDependencies": [ "input", "direction" ], "dependencies": [ "@base-ui/react" ] }, { "name": "selection-toolbar", "type": "registry:ui", "files": [ { "path": "ui/selection-toolbar.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "button", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react", "@floating-ui/react-dom" ] }, { "name": "speed-dial", "type": "registry:ui", "files": [ { "path": "ui/speed-dial.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "button", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "stack", "type": "registry:ui", "files": [ { "path": "ui/stack.tsx", "type": "registry:ui" } ], "dependencies": [ "@base-ui/react" ] }, { "name": "stat", "type": "registry:ui", "files": [ { "path": "ui/stat.tsx", "type": "registry:ui" } ], "registryDependencies": [ "separator" ] }, { "name": "status", "type": "registry:ui", "files": [ { "path": "ui/status.tsx", "type": "registry:ui" } ], "dependencies": [ "@base-ui/react" ] }, { "name": "stepper", "type": "registry:ui", "files": [ { "path": "ui/stepper.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "direction", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "swap", "type": "registry:ui", "files": [ { "path": "ui/swap.tsx", "type": "registry:ui" } ], "registryDependencies": [ "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "timeline", "type": "registry:ui", "files": [ { "path": "ui/timeline.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "direction", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ] }, { "name": "time-picker", "type": "registry:ui", "files": [ { "path": "ui/time-picker.tsx", "type": "registry:ui" }, { "path": "components/visually-hidden-input.tsx", "type": "registry:component" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "popover", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react" ], "css": { "@utility scrollbar-none": { "scrollbar-width": "none", "&::-webkit-scrollbar": { "display": "none" } } } }, { "name": "tour", "type": "registry:ui", "files": [ { "path": "ui/tour.tsx", "type": "registry:ui" }, { "path": "lib/compose-refs.ts", "type": "registry:lib" } ], "registryDependencies": [ "button", "direction", "@diceui/use-as-ref", "@diceui/use-isomorphic-layout-effect", "@diceui/use-lazy-ref" ], "dependencies": [ "@base-ui/react", "@floating-ui/react-dom" ] }, { "name": "action-bar-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "action-bar", "checkbox" ], "files": [ { "path": "examples/action-bar-demo.tsx", "type": "registry:example" } ] }, { "name": "action-bar-position-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "action-bar", "label", "select", "switch" ], "files": [ { "path": "examples/action-bar-position-demo.tsx", "type": "registry:example" } ] }, { "name": "angle-slider-demo", "type": "registry:example", "registryDependencies": [ "angle-slider" ], "files": [ { "path": "examples/angle-slider-demo.tsx", "type": "registry:example" } ] }, { "name": "angle-slider-controlled-demo", "type": "registry:example", "dependencies": [ "motion", "lucide-react" ], "registryDependencies": [ "angle-slider", "button" ], "files": [ { "path": "examples/angle-slider-controlled-demo.tsx", "type": "registry:example" } ] }, { "name": "angle-slider-range-demo", "type": "registry:example", "registryDependencies": [ "angle-slider" ], "files": [ { "path": "examples/angle-slider-range-demo.tsx", "type": "registry:example" } ] }, { "name": "angle-slider-themes-demo", "type": "registry:example", "registryDependencies": [ "angle-slider" ], "files": [ { "path": "examples/angle-slider-themes-demo.tsx", "type": "registry:example" } ] }, { "name": "angle-slider-form-demo", "type": "registry:example", "dependencies": [ "@hookform/resolvers", "react-hook-form", "zod", "sonner" ], "registryDependencies": [ "angle-slider", "button", "form" ], "files": [ { "path": "examples/angle-slider-form-demo.tsx", "type": "registry:example" } ] }, { "name": "compare-slider-demo", "type": "registry:example", "registryDependencies": [ "compare-slider" ], "files": [ { "path": "examples/compare-slider-demo.tsx", "type": "registry:example" } ] }, { "name": "compare-slider-controlled-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "compare-slider", "button", "label", "slider" ], "files": [ { "path": "examples/compare-slider-controlled-demo.tsx", "type": "registry:example" } ] }, { "name": "compare-slider-customization-demo", "type": "registry:example", "registryDependencies": [ "compare-slider" ], "files": [ { "path": "examples/compare-slider-customization-demo.tsx", "type": "registry:example" } ] }, { "name": "compare-slider-vertical-demo", "type": "registry:example", "registryDependencies": [ "compare-slider" ], "files": [ { "path": "examples/compare-slider-vertical-demo.tsx", "type": "registry:example" } ] }, { "name": "cropper-demo", "type": "registry:example", "registryDependencies": [ "cropper" ], "files": [ { "path": "examples/cropper-demo.tsx", "type": "registry:example" } ] }, { "name": "cropper-controlled-demo", "type": "registry:example", "registryDependencies": [ "cropper", "button", "label", "slider" ], "files": [ { "path": "examples/cropper-controlled-demo.tsx", "type": "registry:example" } ] }, { "name": "cropper-file-upload-demo", "type": "registry:example", "dependencies": [ "@hookform/resolvers", "react-hook-form", "zod" ], "registryDependencies": [ "cropper", "button", "dialog", "label", "slider" ], "files": [ { "path": "examples/cropper-file-upload-demo.tsx", "type": "registry:example" } ] }, { "name": "cropper-shapes-demo", "type": "registry:example", "registryDependencies": [ "cropper", "label", "select", "switch" ], "files": [ { "path": "examples/cropper-shapes-demo.tsx", "type": "registry:example" } ] }, { "name": "cropper-video-demo", "type": "registry:example", "registryDependencies": [ "cropper", "button", "label", "select" ], "files": [ { "path": "examples/cropper-video-demo.tsx", "type": "registry:example" } ] }, { "name": "file-upload-demo", "type": "registry:example", "dependencies": [ "lucide-react", "sonner" ], "registryDependencies": [ "button", "file-upload" ], "files": [ { "path": "examples/file-upload-demo.tsx", "type": "registry:example" } ] }, { "name": "file-upload-chat-input-demo", "type": "registry:example", "dependencies": [ "lucide-react", "sonner", "uploadthing", "@uploadthing/react" ], "registryDependencies": [ "button", "file-upload", "textarea" ], "files": [ { "path": "examples/file-upload-chat-input-demo.tsx", "type": "registry:example" } ] }, { "name": "file-upload-circular-progress-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "button", "file-upload" ], "files": [ { "path": "examples/file-upload-circular-progress-demo.tsx", "type": "registry:example" } ] }, { "name": "file-upload-direct-upload-demo", "type": "registry:example", "dependencies": [ "lucide-react", "sonner" ], "registryDependencies": [ "button", "file-upload" ], "files": [ { "path": "examples/file-upload-direct-upload-demo.tsx", "type": "registry:example" } ] }, { "name": "file-upload-fill-progress-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "button", "file-upload" ], "files": [ { "path": "examples/file-upload-fill-progress-demo.tsx", "type": "registry:example" } ] }, { "name": "file-upload-form-demo", "type": "registry:example", "dependencies": [ "lucide-react", "@hookform/resolvers/zod", "zod" ], "registryDependencies": [ "button", "file-upload", "form" ], "files": [ { "path": "examples/file-upload-form-demo.tsx", "type": "registry:example" } ] }, { "name": "file-upload-uploadthing-demo", "type": "registry:example", "dependencies": [ "lucide-react", "uploadthing", "@uploadthing/react" ], "registryDependencies": [ "button", "file-upload" ], "files": [ { "path": "examples/file-upload-uploadthing-demo.tsx", "type": "registry:example" } ] }, { "name": "file-upload-validation-demo", "type": "registry:example", "dependencies": [ "lucide-react", "sonner" ], "registryDependencies": [ "button", "file-upload" ], "files": [ { "path": "examples/file-upload-validation-demo.tsx", "type": "registry:example" } ] }, { "name": "avatar-group-demo", "type": "registry:example", "registryDependencies": [ "avatar", "avatar-group" ], "files": [ { "path": "examples/avatar-group-demo.tsx", "type": "registry:example" } ] }, { "name": "avatar-group-truncation-demo", "type": "registry:example", "registryDependencies": [ "avatar", "avatar-group" ], "files": [ { "path": "examples/avatar-group-truncation-demo.tsx", "type": "registry:example" } ] }, { "name": "avatar-group-rtl-demo", "type": "registry:example", "registryDependencies": [ "avatar", "avatar-group" ], "files": [ { "path": "examples/avatar-group-rtl-demo.tsx", "type": "registry:example" } ] }, { "name": "avatar-group-icons-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "avatar-group" ], "files": [ { "path": "examples/avatar-group-icons-demo.tsx", "type": "registry:example" } ] }, { "name": "avatar-group-custom-overflow-demo", "type": "registry:example", "registryDependencies": [ "avatar", "avatar-group" ], "files": [ { "path": "examples/avatar-group-custom-overflow-demo.tsx", "type": "registry:example" } ] }, { "name": "badge-overflow-demo", "type": "registry:example", "registryDependencies": [ "badge", "badge-overflow" ], "files": [ { "path": "examples/badge-overflow-demo.tsx", "type": "registry:example" } ] }, { "name": "badge-overflow-multiline-demo", "type": "registry:example", "registryDependencies": [ "badge", "badge-overflow" ], "files": [ { "path": "examples/badge-overflow-multiline-demo.tsx", "type": "registry:example" } ] }, { "name": "badge-overflow-interactive-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "badge", "badge-overflow", "button", "input" ], "files": [ { "path": "examples/badge-overflow-interactive-demo.tsx", "type": "registry:example" } ] }, { "name": "banner-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "banner", "button" ], "files": [ { "path": "examples/banner-demo.tsx", "type": "registry:example" } ] }, { "name": "banner-stacked-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "banner", "button" ], "files": [ { "path": "examples/banner-stacked-demo.tsx", "type": "registry:example" } ] }, { "name": "circular-progress-demo", "type": "registry:example", "registryDependencies": [ "circular-progress" ], "files": [ { "path": "examples/circular-progress-demo.tsx", "type": "registry:example" } ] }, { "name": "circular-progress-interactive-demo", "type": "registry:example", "registryDependencies": [ "button", "circular-progress" ], "files": [ { "path": "examples/circular-progress-interactive-demo.tsx", "type": "registry:example" } ] }, { "name": "circular-progress-colors-demo", "type": "registry:example", "dependencies": [ "motion" ], "registryDependencies": [ "circular-progress" ], "files": [ { "path": "examples/circular-progress-colors-demo.tsx", "type": "registry:example" } ] }, { "name": "color-swatch-demo", "type": "registry:example", "registryDependencies": [ "color-swatch" ], "files": [ { "path": "examples/color-swatch-demo.tsx", "type": "registry:example" } ] }, { "name": "color-swatch-sizes-demo", "type": "registry:example", "registryDependencies": [ "color-swatch" ], "files": [ { "path": "examples/color-swatch-sizes-demo.tsx", "type": "registry:example" } ] }, { "name": "color-swatch-transparency-demo", "type": "registry:example", "registryDependencies": [ "color-swatch" ], "files": [ { "path": "examples/color-swatch-transparency-demo.tsx", "type": "registry:example" } ] }, { "name": "color-picker-demo", "type": "registry:example", "registryDependencies": [ "color-picker" ], "files": [ { "path": "examples/color-picker-demo.tsx", "type": "registry:example" } ] }, { "name": "color-picker-inline-demo", "type": "registry:example", "registryDependencies": [ "color-picker" ], "files": [ { "path": "examples/color-picker-inline-demo.tsx", "type": "registry:example" } ] }, { "name": "color-picker-controlled-demo", "type": "registry:example", "registryDependencies": [ "color-picker", "button" ], "files": [ { "path": "examples/color-picker-controlled-demo.tsx", "type": "registry:example" } ] }, { "name": "color-picker-form-demo", "type": "registry:example", "dependencies": [ "@hookform/resolvers", "react-hook-form", "zod", "sonner" ], "registryDependencies": [ "color-picker", "button", "form" ], "files": [ { "path": "examples/color-picker-form-demo.tsx", "type": "registry:example" } ] }, { "name": "editable-demo", "type": "registry:example", "registryDependencies": [ "editable" ], "files": [ { "path": "examples/editable-demo.tsx", "type": "registry:example" } ] }, { "name": "editable-double-click-demo", "type": "registry:example", "registryDependencies": [ "editable" ], "files": [ { "path": "examples/editable-double-click-demo.tsx", "type": "registry:example" } ] }, { "name": "editable-autosize-demo", "type": "registry:example", "registryDependencies": [ "editable" ], "files": [ { "path": "examples/editable-autosize-demo.tsx", "type": "registry:example" } ] }, { "name": "editable-todo-list-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "editable", "checkbox" ], "files": [ { "path": "examples/editable-todo-list-demo.tsx", "type": "registry:example" } ] }, { "name": "editable-form-demo", "type": "registry:example", "dependencies": [ "react-hook-form", "@hookform/resolvers", "zod", "sonner" ], "registryDependencies": [ "editable", "form" ], "files": [ { "path": "examples/editable-form-demo.tsx", "type": "registry:example" } ] }, { "name": "fps-demo", "type": "registry:example", "registryDependencies": [ "fps" ], "files": [ { "path": "examples/fps-demo.tsx", "type": "registry:example" } ] }, { "name": "fps-strategy-demo", "type": "registry:example", "registryDependencies": [ "fps" ], "files": [ { "path": "examples/fps-strategy-demo.tsx", "type": "registry:example" } ] }, { "name": "gauge-demo", "type": "registry:example", "registryDependencies": [ "gauge" ], "files": [ { "path": "examples/gauge-demo.tsx", "type": "registry:example" } ] }, { "name": "gauge-sizes-demo", "type": "registry:example", "registryDependencies": [ "gauge" ], "files": [ { "path": "examples/gauge-sizes-demo.tsx", "type": "registry:example" } ] }, { "name": "gauge-colors-demo", "type": "registry:example", "registryDependencies": [ "gauge" ], "files": [ { "path": "examples/gauge-colors-demo.tsx", "type": "registry:example" } ] }, { "name": "gauge-variants-demo", "type": "registry:example", "registryDependencies": [ "gauge" ], "files": [ { "path": "examples/gauge-variants-demo.tsx", "type": "registry:example" } ] }, { "name": "key-value-demo", "type": "registry:example", "registryDependencies": [ "key-value" ], "files": [ { "path": "examples/key-value-demo.tsx", "type": "registry:example" } ] }, { "name": "key-value-paste-demo", "type": "registry:example", "registryDependencies": [ "key-value" ], "files": [ { "path": "examples/key-value-paste-demo.tsx", "type": "registry:example" } ] }, { "name": "key-value-validation-demo", "type": "registry:example", "registryDependencies": [ "key-value" ], "files": [ { "path": "examples/key-value-validation-demo.tsx", "type": "registry:example" } ] }, { "name": "key-value-form-demo", "type": "registry:example", "dependencies": [ "@hookform/resolvers/zod", "react-hook-form", "zod" ], "registryDependencies": [ "key-value", "button", "form", "input" ], "files": [ { "path": "examples/key-value-form-demo.tsx", "type": "registry:example" } ] }, { "name": "scroller-demo", "type": "registry:example", "registryDependencies": [ "scroller" ], "files": [ { "path": "examples/scroller-demo.tsx", "type": "registry:example" } ] }, { "name": "scroller-hidden-demo", "type": "registry:example", "registryDependencies": [ "scroller" ], "files": [ { "path": "examples/scroller-hidden-demo.tsx", "type": "registry:example" } ] }, { "name": "scroller-horizontal-demo", "type": "registry:example", "registryDependencies": [ "scroller" ], "files": [ { "path": "examples/scroller-horizontal-demo.tsx", "type": "registry:example" } ] }, { "name": "scroller-navigation-demo", "type": "registry:example", "registryDependencies": [ "scroller" ], "files": [ { "path": "examples/scroller-navigation-demo.tsx", "type": "registry:example" } ] }, { "name": "scroll-spy-demo", "type": "registry:example", "registryDependencies": [ "scroll-spy" ], "files": [ { "path": "examples/scroll-spy-demo.tsx", "type": "registry:example" } ] }, { "name": "scroll-spy-controlled-demo", "type": "registry:example", "registryDependencies": [ "scroll-spy", "button" ], "files": [ { "path": "examples/scroll-spy-controlled-demo.tsx", "type": "registry:example" } ] }, { "name": "scroll-spy-vertical-demo", "type": "registry:example", "registryDependencies": [ "scroll-spy" ], "files": [ { "path": "examples/scroll-spy-vertical-demo.tsx", "type": "registry:example" } ] }, { "name": "segmented-input-demo", "type": "registry:example", "registryDependencies": [ "segmented-input" ], "files": [ { "path": "examples/segmented-input-demo.tsx", "type": "registry:example" } ] }, { "name": "segmented-input-form-demo", "type": "registry:example", "registryDependencies": [ "button", "segmented-input" ], "files": [ { "path": "examples/segmented-input-form-demo.tsx", "type": "registry:example" } ] }, { "name": "segmented-input-rgb-demo", "type": "registry:example", "registryDependencies": [ "segmented-input" ], "files": [ { "path": "examples/segmented-input-rgb-demo.tsx", "type": "registry:example" } ] }, { "name": "segmented-input-vertical-demo", "type": "registry:example", "registryDependencies": [ "segmented-input" ], "files": [ { "path": "examples/segmented-input-vertical-demo.tsx", "type": "registry:example" } ] }, { "name": "stack-demo", "type": "registry:example", "registryDependencies": [ "stack" ], "files": [ { "path": "examples/stack-demo.tsx", "type": "registry:example" } ] }, { "name": "stack-no-expand-demo", "type": "registry:example", "registryDependencies": [ "stack" ], "files": [ { "path": "examples/stack-no-expand-demo.tsx", "type": "registry:example" } ] }, { "name": "stack-side-demo", "type": "registry:example", "registryDependencies": [ "stack" ], "files": [ { "path": "examples/stack-side-demo.tsx", "type": "registry:example" } ] }, { "name": "stepper-demo", "type": "registry:example", "registryDependencies": [ "stepper" ], "files": [ { "path": "examples/stepper-demo.tsx", "type": "registry:example" } ] }, { "name": "stepper-form-demo", "type": "registry:example", "dependencies": [ "zod", "react-hook-form", "@hookform/resolvers" ], "registryDependencies": [ "stepper", "button", "form", "input", "textarea" ], "files": [ { "path": "examples/stepper-form-demo.tsx", "type": "registry:example" } ] }, { "name": "stepper-validation-demo", "type": "registry:example", "dependencies": [ "zod", "react-hook-form", "@hookform/resolvers" ], "registryDependencies": [ "stepper", "button", "form", "input", "textarea" ], "files": [ { "path": "examples/stepper-validation-demo.tsx", "type": "registry:example" } ] }, { "name": "stepper-vertical-demo", "type": "registry:example", "registryDependencies": [ "stepper" ], "files": [ { "path": "examples/stepper-vertical-demo.tsx", "type": "registry:example" } ] }, { "name": "stat-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "stat", "dropdown-menu" ], "files": [ { "path": "examples/stat-demo.tsx", "type": "registry:example" } ] }, { "name": "stat-variants-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "stat" ], "files": [ { "path": "examples/stat-variants-demo.tsx", "type": "registry:example" } ] }, { "name": "stat-layout-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "stat" ], "files": [ { "path": "examples/stat-layout-demo.tsx", "type": "registry:example" } ] }, { "name": "status-demo", "type": "registry:example", "registryDependencies": [ "status" ], "files": [ { "path": "examples/status-demo.tsx", "type": "registry:example" } ] }, { "name": "status-variants-demo", "type": "registry:example", "registryDependencies": [ "status" ], "files": [ { "path": "examples/status-variants-demo.tsx", "type": "registry:example" } ] }, { "name": "status-text-only-demo", "type": "registry:example", "registryDependencies": [ "status" ], "files": [ { "path": "examples/status-text-only-demo.tsx", "type": "registry:example" } ] }, { "name": "status-list-demo", "type": "registry:example", "registryDependencies": [ "status" ], "files": [ { "path": "examples/status-list-demo.tsx", "type": "registry:example" } ] }, { "name": "swap-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "swap" ], "files": [ { "path": "examples/swap-demo.tsx", "type": "registry:example" } ] }, { "name": "swap-animations-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "swap" ], "files": [ { "path": "examples/swap-animations-demo.tsx", "type": "registry:example" } ] }, { "name": "qr-code-demo", "type": "registry:example", "registryDependencies": [ "qr-code" ], "files": [ { "path": "examples/qr-code-demo.tsx", "type": "registry:example" } ] }, { "name": "qr-code-customization-demo", "type": "registry:example", "registryDependencies": [ "qr-code" ], "files": [ { "path": "examples/qr-code-customization-demo.tsx", "type": "registry:example" } ] }, { "name": "qr-code-overlay-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "qr-code" ], "files": [ { "path": "examples/qr-code-overlay-demo.tsx", "type": "registry:example" } ] }, { "name": "qr-code-formats-demo", "type": "registry:example", "registryDependencies": [ "button", "qr-code" ], "files": [ { "path": "examples/qr-code-formats-demo.tsx", "type": "registry:example" } ] }, { "name": "relative-time-card-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "button", "relative-time-card" ], "files": [ { "path": "examples/relative-time-card-demo.tsx", "type": "registry:example" } ] }, { "name": "relative-time-card-basic-demo", "type": "registry:example", "registryDependencies": [ "relative-time-card" ], "files": [ { "path": "examples/relative-time-card-basic-demo.tsx", "type": "registry:example" } ] }, { "name": "relative-time-card-variants-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "button", "relative-time-card" ], "files": [ { "path": "examples/relative-time-card-variants-demo.tsx", "type": "registry:example" } ] }, { "name": "relative-time-card-timezones-demo", "type": "registry:example", "registryDependencies": [ "relative-time-card" ], "files": [ { "path": "examples/relative-time-card-timezones-demo.tsx", "type": "registry:example" } ] }, { "name": "rating-demo", "type": "registry:example", "registryDependencies": [ "rating" ], "files": [ { "path": "examples/rating-demo.tsx", "type": "registry:example" } ] }, { "name": "rating-themes-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "rating" ], "files": [ { "path": "examples/rating-themes-demo.tsx", "type": "registry:example" } ] }, { "name": "rating-controlled-demo", "type": "registry:example", "registryDependencies": [ "rating", "button" ], "files": [ { "path": "examples/rating-controlled-demo.tsx", "type": "registry:example" } ] }, { "name": "rating-form-demo", "type": "registry:example", "dependencies": [ "@hookform/resolvers/zod", "react-hook-form", "zod", "sonner" ], "registryDependencies": [ "rating", "button", "form" ], "files": [ { "path": "examples/rating-form-demo.tsx", "type": "registry:example" } ] }, { "name": "responsive-dialog-demo", "type": "registry:example", "registryDependencies": [ "button", "input", "label", "responsive-dialog" ], "files": [ { "path": "examples/responsive-dialog-demo.tsx", "type": "registry:example" } ] }, { "name": "responsive-dialog-confirm-demo", "type": "registry:example", "dependencies": [ "lucide-react" ], "registryDependencies": [ "button", "responsive-dialog" ], "files": [ { "path": "examples/responsive-dialog-confirm-demo.tsx", "type": "registry:example" } ] }, { "name": "mask-input-demo", "type": "registry:example", "registryDependencies": [ "mask-input" ], "files": [ { "path": "examples/mask-input-demo.tsx", "type": "registry:example" } ] }, { "name": "mask-input-custom-pattern-demo", "type": "registry:example", "registryDependencies": [ "label", "mask-input" ], "files": [ { "path": "examples/mask-input-custom-pattern-demo.tsx", "type": "registry:example" } ] }, { "name": "mask-input-validation-modes-demo", "type": "registry:example", "registryDependencies": [ "badge", "card", "label", "mask-input" ], "files": [ { "path": "examples/mask-input-validation-modes-demo.tsx", "type": "registry:example" } ] }, { "name": "mask-input-card-information-demo", "type": "registry:example", "registryDependencies": [ "card", "label", "mask-input" ], "files": [ { "path": "examples/mask-input-card-information-demo.tsx", "type": "registry:example" } ] }, { "name": "mask-input-form-demo", "type": "registry:example", "dependencies": [ "@hookform/resolvers/zod", "react-hook-form", "zod" ], "registryDependencies": [ "button", "form", "mask-input" ], "files": [ { "path": "examples/mask-input-form-demo.tsx", "type": "registry:example" } ] }, { "name": "media-player-demo", "type": "registry:example", "registryDependencies": [ "media-player" ], "files": [ { "path": "examples/media-player-demo.tsx", "type": "registry:example" } ] }, { "name": "media-player-audio-demo", "type": "registry:example", "registryDependencies": [ "media-player" ], "files": [ { "path": "examples/media-player-audio-demo.tsx", "type": "registry:example" } ] }, { "name": "media-player-error-demo", "type": "registry:example", "registryDependencies": [ "media-player" ], "files": [ { "path": "examples/media-player-error-demo.tsx", "type": "registry:example" } ] }, { "name": "media-player-hls-demo", "type": "registry:example", "dependencies": [ "hls.js" ], "registryDependencies": [ "media-player" ], "files": [ { "path": "examples/media-player-hls-demo.tsx", "type": "registry:example" } ] }, { "name": "media-player-playlist-demo", "type": "registry:example", "registryDependencies": [ "media-player", "button", "scroll-area" ], "files": [ { "path": "examples/media-player-playlist-demo.tsx", "type": "registry:example" } ] }, { "name": "media-player-settings-demo", "type": "registry:example", "dependencies": [ "hls.js" ], "registryDependencies": [ "media-player" ], "files": [ { "path": "examples/media-player-settings-demo.tsx", "type": "registry:example" } ] }, { "name": "masonry-demo", "type": "registry:example", "registryDependencies": [ "masonry", "skeleton" ], "files": [ { "path": "examples/masonry-demo.tsx", "type": "registry:example" } ] }, { "name": "masonry-linear-demo", "type": "registry:example", "registryDependencies": [ "masonry", "skeleton" ], "files": [ { "path": "examples/masonry-linear-demo.tsx", "type": "registry:example" } ] }, { "name": "masonry-ssr-demo", "type": "registry:example", "registryDependencies": [ "masonry", "skeleton" ], "files": [ { "path": "examples/masonry-ssr-demo.tsx", "type": "registry:example" } ] }, { "name": "phone-input-demo", "type": "registry:example", "registryDependencies": [ "phone-input" ], "files": [ { "path": "examples/phone-input-demo.tsx", "type": "registry:example" } ] }, { "name": "phone-input-form-demo", "type": "registry:example", "dependencies": [ "@hookform/resolvers", "react-hook-form", "zod", "sonner" ], "registryDependencies": [ "phone-input", "button", "form" ], "files": [ { "path": "examples/phone-input-form-demo.tsx", "type": "registry:example" } ] }, { "name": "phone-input-custom-countries-demo", "type": "registry:example", "registryDependencies": [ "phone-input" ], "files": [ { "path": "examples/phone-input-custom-countries-demo.tsx", "type": "registry:example" } ] }, { "name": "marquee-demo", "type": "registry:example", "registryDependencies": [ "marquee" ], "files": [ { "path": "examples/marquee-demo.tsx", "type": "registry:example" } ] }, { "name": "marquee-logo-demo", "type": "registry:example", "registryDependencies": [ "marquee" ], "files": [ { "path": "examples/marquee-logo-demo.tsx", "type": "registry:example" } ] }, { "name": "marquee-rtl-demo", "type": "registry:example", "registryDependencies": [ "marquee" ], "files": [ { "path": "examples/marquee-rtl-demo.tsx", "type": "registry:example" } ] }, { "name": "marquee-vertical-demo", "type": "registry:example", "registryDependencies": [ "marquee" ], "files": [ { "path": "examples/marquee-vertical-demo.tsx", "type": "registry:example" } ] }, { "name": "timeline-demo", "type": "registry:example", "registryDependencies": [ "timeline" ], "files": [ { "path": "examples/timeline-demo.tsx", "type": "registry:example" } ] }, { "name": "timeline-alternate-demo", "type": "registry:example", "registryDependencies": [ "timeline" ], "files": [ { "path": "examples/timeline-alternate-demo.tsx", "type": "registry:example" } ] }, { "name": "timeline-custom-dot-demo", "type": "registry:example", "registryDependencies": [ "timeline" ], "files": [ { "path": "examples/timeline-custom-dot-demo.tsx", "type": "registry:example" } ] }, { "name": "timeline-horizontal-demo", "type": "registry:example", "registryDependencies": [ "timeline" ], "files": [ { "path": "examples/timeline-horizontal-demo.tsx", "type": "registry:example" } ] }, { "name": "timeline-horizontal-alternate-demo", "type": "registry:example", "registryDependencies": [ "timeline" ], "files": [ { "path": "examples/timeline-horizontal-alternate-demo.tsx", "type": "registry:example" } ] }, { "name": "timeline-rtl-demo", "type": "registry:example", "registryDependencies": [ "timeline" ], "files": [ { "path": "examples/timeline-rtl-demo.tsx", "type": "registry:example" } ] }, { "name": "time-picker-demo", "type": "registry:example", "registryDependencies": [ "time-picker", "label" ], "files": [ { "path": "examples/time-picker-demo.tsx", "type": "registry:example" } ] }, { "name": "time-picker-controlled-demo", "type": "registry:example", "dependencies": [ "react" ], "registryDependencies": [ "time-picker", "label" ], "files": [ { "path": "examples/time-picker-controlled-demo.tsx", "type": "registry:example" } ] }, { "name": "time-picker-form-demo", "type": "registry:example", "dependencies": [ "zod", "react-hook-form", "@hookform/resolvers" ], "registryDependencies": [ "time-picker", "button", "form" ], "files": [ { "path": "examples/time-picker-form-demo.tsx", "type": "registry:example" } ] }, { "name": "time-picker-input-group-click-action-demo", "type": "registry:example", "registryDependencies": [ "time-picker", "label" ], "files": [ { "path": "examples/time-picker-input-group-click-action-demo.tsx", "type": "registry:example" } ] }, { "name": "time-picker-open-on-focus-demo", "type": "registry:example", "registryDependencies": [ "time-picker", "label" ], "files": [ { "path": "examples/time-picker-open-on-focus-demo.tsx", "type": "registry:example" } ] }, { "name": "time-picker-placeholder-demo", "type": "registry:example", "registryDependencies": [ "time-picker", "label" ], "files": [ { "path": "examples/time-picker-placeholder-demo.tsx", "type": "registry:example" } ] }, { "name": "time-picker-seconds-demo", "type": "registry:example", "registryDependencies": [ "time-picker", "label" ], "files": [ { "path": "examples/time-picker-seconds-demo.tsx", "type": "registry:example" } ] }, { "name": "time-picker-step-demo", "type": "registry:example", "registryDependencies": [ "time-picker", "label" ], "files": [ { "path": "examples/time-picker-step-demo.tsx", "type": "registry:example" } ] }, { "name": "selection-toolbar-demo", "type": "registry:example", "registryDependencies": [ "selection-toolbar" ], "dependencies": [ "lucide-react" ], "files": [ { "path": "examples/selection-toolbar-demo.tsx", "type": "registry:example" } ] }, { "name": "selection-toolbar-info-demo", "type": "registry:example", "registryDependencies": [ "selection-toolbar" ], "dependencies": [ "lucide-react" ], "files": [ { "path": "examples/selection-toolbar-info-demo.tsx", "type": "registry:example" } ] }, { "name": "speed-dial-demo", "type": "registry:example", "registryDependencies": [ "speed-dial" ], "dependencies": [ "lucide-react" ], "files": [ { "path": "examples/speed-dial-demo.tsx", "type": "registry:example" } ] }, { "name": "speed-dial-controlled-demo", "type": "registry:example", "registryDependencies": [ "speed-dial" ], "dependencies": [ "lucide-react" ], "files": [ { "path": "examples/speed-dial-controlled-demo.tsx", "type": "registry:example" } ] }, { "name": "speed-dial-hover-demo", "type": "registry:example", "registryDependencies": [ "speed-dial" ], "dependencies": [ "lucide-react" ], "files": [ { "path": "examples/speed-dial-hover-demo.tsx", "type": "registry:example" } ] }, { "name": "speed-dial-labels-demo", "type": "registry:example", "registryDependencies": [ "speed-dial" ], "dependencies": [ "lucide-react" ], "files": [ { "path": "examples/speed-dial-labels-demo.tsx", "type": "registry:example" } ] }, { "name": "speed-dial-side-demo", "type": "registry:example", "registryDependencies": [ "speed-dial" ], "dependencies": [ "lucide-react" ], "files": [ { "path": "examples/speed-dial-side-demo.tsx", "type": "registry:example" } ] }, { "name": "tour-demo", "type": "registry:example", "registryDependencies": [ "tour" ], "dependencies": [ "lucide-react" ], "files": [ { "path": "examples/tour-demo.tsx", "type": "registry:example" } ] }, { "name": "tour-controlled-demo", "type": "registry:example", "registryDependencies": [ "tour" ], "dependencies": [ "lucide-react" ], "files": [ { "path": "examples/tour-controlled-demo.tsx", "type": "registry:example" } ] }, { "name": "utils", "type": "registry:lib", "dependencies": [ "clsx", "tailwind-merge" ], "files": [ { "path": "lib/utils.ts", "type": "registry:lib" } ] }, { "name": "compose-refs", "type": "registry:lib", "files": [ { "path": "lib/compose-refs.ts", "type": "registry:lib" } ] }, { "name": "client-only", "type": "registry:component", "files": [ { "path": "components/client-only.tsx", "type": "registry:component" } ] }, { "name": "direction-provider", "type": "registry:component", "files": [ { "path": "components/direction-provider.tsx", "type": "registry:component" } ], "dependencies": [ "@base-ui/react" ] }, { "name": "portal", "type": "registry:component", "files": [ { "path": "components/portal.tsx", "type": "registry:component" } ] }, { "name": "presence", "type": "registry:component", "files": [ { "path": "components/presence.tsx", "type": "registry:component" } ], "dependencies": [ "@base-ui/react" ] }, { "name": "visually-hidden-input", "type": "registry:component", "files": [ { "path": "components/visually-hidden-input.tsx", "type": "registry:component" } ] }, { "name": "use-as-ref", "type": "registry:hook", "registryDependencies": [ "@diceui/use-isomorphic-layout-effect" ], "files": [ { "path": "hooks/use-as-ref.ts", "type": "registry:hook" } ] }, { "name": "use-isomorphic-layout-effect", "type": "registry:hook", "files": [ { "path": "hooks/use-isomorphic-layout-effect.ts", "type": "registry:hook" } ] }, { "name": "use-lazy-ref", "type": "registry:hook", "files": [ { "path": "hooks/use-lazy-ref.ts", "type": "registry:hook" } ] }, { "name": "use-mobile", "type": "registry:hook", "files": [ { "path": "hooks/use-mobile.ts", "type": "registry:hook" } ] } ] }