{"$schema":"https://ui.shadcn.com/schema/registry.json","name":"aidimension-ui","homepage":"https://aidimension-ui.dev","items":[{"name":"button","type":"registry:ui","title":"Button","description":"6 variants × 4 sizes, asChild via Radix Slot.","dependencies":["@radix-ui/react-slot","class-variance-authority"],"files":[{"path":"@/components/ui/button","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/button","install":"pnpm dlx aidimension-ui add button"}},{"name":"card","type":"registry:ui","title":"Card","description":"Header, title, description, content, footer, action.","dependencies":[],"files":[{"path":"@/components/ui/card","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/card","install":"pnpm dlx aidimension-ui add card"}},{"name":"input","type":"registry:ui","title":"Input","description":"forwardRef, focus ring, file: styling, aria-invalid.","dependencies":[],"files":[{"path":"@/components/ui/input","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/input","install":"pnpm dlx aidimension-ui add input"}},{"name":"label","type":"registry:ui","title":"Label","description":"Radix Label wrapper for accessible form labels.","dependencies":["@radix-ui/react-label"],"files":[{"path":"@/components/ui/label","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/label","install":"pnpm dlx aidimension-ui add label"}},{"name":"badge","type":"registry:ui","title":"Badge","description":"6 variants incl. success and warning.","dependencies":["class-variance-authority"],"files":[{"path":"@/components/ui/badge","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/badge","install":"pnpm dlx aidimension-ui add badge"}},{"name":"avatar","type":"registry:ui","title":"Avatar","description":"Radix Avatar with image and fallback initials.","dependencies":["@radix-ui/react-avatar"],"files":[{"path":"@/components/ui/avatar","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/avatar","install":"pnpm dlx aidimension-ui add avatar"}},{"name":"separator","type":"registry:ui","title":"Separator","description":"Horizontal and vertical Radix separator.","dependencies":["@radix-ui/react-separator"],"files":[{"path":"@/components/ui/separator","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/separator","install":"pnpm dlx aidimension-ui add separator"}},{"name":"textarea","type":"registry:ui","title":"Textarea","description":"forwardRef, matches Input styling.","dependencies":[],"files":[{"path":"@/components/ui/textarea","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/textarea","install":"pnpm dlx aidimension-ui add textarea"}},{"name":"dialog","type":"registry:ui","title":"Dialog","description":"Animated modal with header, content, footer.","dependencies":["@radix-ui/react-dialog"],"files":[{"path":"@/components/ui/dialog","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/dialog","install":"pnpm dlx aidimension-ui add dialog"}},{"name":"dropdown-menu","type":"registry:ui","title":"Dropdown menu","description":"Sections, items, checkbox/radio, sub-menus.","dependencies":["@radix-ui/react-dropdown-menu"],"files":[{"path":"@/components/ui/dropdown-menu","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/dropdown-menu","install":"pnpm dlx aidimension-ui add dropdown-menu"}},{"name":"tabs","type":"registry:ui","title":"Tabs","description":"Radix tabs with built-in keyboard navigation.","dependencies":["@radix-ui/react-tabs"],"files":[{"path":"@/components/ui/tabs","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/tabs","install":"pnpm dlx aidimension-ui add tabs"}},{"name":"tooltip","type":"registry:ui","title":"Tooltip","description":"Hover tooltip with provider, content, arrow.","dependencies":["@radix-ui/react-tooltip"],"files":[{"path":"@/components/ui/tooltip","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/tooltip","install":"pnpm dlx aidimension-ui add tooltip"}},{"name":"select","type":"registry:ui","title":"Select","description":"Full Radix Select with viewport and scroll buttons.","dependencies":["@radix-ui/react-select"],"files":[{"path":"@/components/ui/select","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/select","install":"pnpm dlx aidimension-ui add select"}},{"name":"switch","type":"registry:ui","title":"Switch","description":"Toggle switch with smooth animation.","dependencies":["@radix-ui/react-switch"],"files":[{"path":"@/components/ui/switch","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/switch","install":"pnpm dlx aidimension-ui add switch"}},{"name":"slider","type":"registry:ui","title":"Slider","description":"Single-value slider with Radix internals.","dependencies":["@radix-ui/react-slider"],"files":[{"path":"@/components/ui/slider","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/slider","install":"pnpm dlx aidimension-ui add slider"}},{"name":"popover","type":"registry:ui","title":"Popover","description":"Positioned panel with anchor support.","dependencies":["@radix-ui/react-popover"],"files":[{"path":"@/components/ui/popover","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/popover","install":"pnpm dlx aidimension-ui add popover"}},{"name":"combobox","type":"registry:ui","title":"Combobox","description":"Searchable select with keyboard nav and filtering.","dependencies":["@radix-ui/react-slot"],"files":[{"path":"@/components/ui/combobox","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/combobox","install":"pnpm dlx aidimension-ui add combobox"}},{"name":"date-picker","type":"registry:ui","title":"Date Picker","description":"Input + popover calendar with clear button.","dependencies":[],"files":[{"path":"@/components/ui/date-picker","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/date-picker","install":"pnpm dlx aidimension-ui add date-picker"}},{"name":"calendar","type":"registry:ui","title":"Calendar","description":"Month-grid date picker with prev/next navigation.","dependencies":[],"files":[{"path":"@/components/ui/calendar","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/calendar","install":"pnpm dlx aidimension-ui add calendar"}},{"name":"pagination","type":"registry:ui","title":"Pagination","description":"Page numbers + prev/next with sibling window + ellipses.","dependencies":[],"files":[{"path":"@/components/ui/pagination","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/pagination","install":"pnpm dlx aidimension-ui add pagination"}},{"name":"breadcrumb","type":"registry:ui","title":"Breadcrumb","description":"Hierarchical path with chevron or slash separators.","dependencies":[],"files":[{"path":"@/components/ui/breadcrumb","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/breadcrumb","install":"pnpm dlx aidimension-ui add breadcrumb"}},{"name":"steps","type":"registry:ui","title":"Steps","description":"Stepper / progress indicator (horizontal or vertical).","dependencies":[],"files":[{"path":"@/components/ui/steps","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/steps","install":"pnpm dlx aidimension-ui add steps"}},{"name":"avatar-group","type":"registry:ui","title":"Avatar Group","description":"Stacked row of avatars with overflow counter.","dependencies":[],"files":[{"path":"@/components/ui/avatar-group","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/avatar-group","install":"pnpm dlx aidimension-ui add avatar-group"}},{"name":"kbd","type":"registry:ui","title":"Kbd","description":"Keyboard shortcut chip.","dependencies":[],"files":[{"path":"@/components/ui/kbd","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/kbd","install":"pnpm dlx aidimension-ui add kbd"}},{"name":"skeleton","type":"registry:ui","title":"Skeleton","description":"Loading placeholder with pulse animation.","dependencies":[],"files":[{"path":"@/components/ui/skeleton","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/skeleton","install":"pnpm dlx aidimension-ui add skeleton"}},{"name":"empty-state","type":"registry:ui","title":"Empty State","description":"Centered placeholder for empty data / no results.","dependencies":[],"files":[{"path":"@/components/ui/empty-state","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/empty-state","install":"pnpm dlx aidimension-ui add empty-state"}},{"name":"toast","type":"registry:ui","title":"Toast","description":"Auto-dismissing notifications (success/error/info).","dependencies":[],"files":[{"path":"@/components/ui/toast","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/toast","install":"pnpm dlx aidimension-ui add toast"}},{"name":"resizable","type":"registry:ui","title":"Resizable","description":"Two-pane split with mouse and keyboard resize.","dependencies":[],"files":[{"path":"@/components/ui/resizable","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/resizable","install":"pnpm dlx aidimension-ui add resizable"}},{"name":"collapsible","type":"registry:ui","title":"Collapsible","description":"Show/hide panel using native details element.","dependencies":[],"files":[{"path":"@/components/ui/collapsible","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/collapsible","install":"pnpm dlx aidimension-ui add collapsible"}},{"name":"hover-card","type":"registry:ui","title":"Hover Card","description":"Hover-revealed popover with configurable delays.","dependencies":[],"files":[{"path":"@/components/ui/hover-card","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/hover-card","install":"pnpm dlx aidimension-ui add hover-card"}},{"name":"data-table","type":"registry:ui","title":"Data Table","description":"Sortable table with custom cells and row keys.","dependencies":[],"files":[{"path":"@/components/ui/data-table","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/data-table","install":"pnpm dlx aidimension-ui add data-table"}},{"name":"tag-input","type":"registry:ui","title":"Tag Input","description":"Chip-style multi-input with suggestions.","dependencies":[],"files":[{"path":"@/components/ui/tag-input","type":"registry:ui"}],"meta":{"importPath":"@/components/ui/tag-input","install":"pnpm dlx aidimension-ui add tag-input"}},{"name":"message","type":"registry:ui","title":"Message","description":"Chat bubble with role + avatar + content + actions.","dependencies":[],"files":[{"path":"@/components/ai/message","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/message","install":"pnpm dlx aidimension-ui add message"}},{"name":"conversation","type":"registry:ui","title":"Conversation","description":"Auto-scrolling chat thread with empty state.","dependencies":[],"files":[{"path":"@/components/ai/conversation","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/conversation","install":"pnpm dlx aidimension-ui add conversation"}},{"name":"prompt-input","type":"registry:ui","title":"Prompt Input","description":"Auto-grow textarea with tool slots and submit.","dependencies":[],"files":[{"path":"@/components/ai/prompt-input","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/prompt-input","install":"pnpm dlx aidimension-ui add prompt-input"}},{"name":"reasoning","type":"registry:ui","title":"Reasoning","description":"Collapsible chain-of-thought trace.","dependencies":[],"files":[{"path":"@/components/ai/reasoning","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/reasoning","install":"pnpm dlx aidimension-ui add reasoning"}},{"name":"tool","type":"registry:ui","title":"Tool","description":"Tool-call display with collapsible output.","dependencies":[],"files":[{"path":"@/components/ai/tool","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/tool","install":"pnpm dlx aidimension-ui add tool"}},{"name":"sources","type":"registry:ui","title":"Sources","description":"Citation list with title, description, link.","dependencies":[],"files":[{"path":"@/components/ai/sources","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/sources","install":"pnpm dlx aidimension-ui add sources"}},{"name":"agent-card","type":"registry:ui","title":"Agent Card","description":"Status-coded agent tile (idle/running/done/error).","dependencies":[],"files":[{"path":"@/components/ai/agent-card","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/agent-card","install":"pnpm dlx aidimension-ui add agent-card"}},{"name":"code-block","type":"registry:ui","title":"Code Block","description":"Lightweight TS/JS/Python syntax highlighting.","dependencies":[],"files":[{"path":"@/components/ai/code-block","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/code-block","install":"pnpm dlx aidimension-ui add code-block"}},{"name":"artifact","type":"registry:ui","title":"Artifact","description":"Preview panel with header and close button.","dependencies":[],"files":[{"path":"@/components/ai/artifact","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/artifact","install":"pnpm dlx aidimension-ui add artifact"}},{"name":"loader","type":"registry:ui","title":"Loader","description":"Dots, spinner, and bars loaders.","dependencies":[],"files":[{"path":"@/components/ai/loader","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/loader","install":"pnpm dlx aidimension-ui add loader"}},{"name":"hero","type":"registry:block","title":"Hero","description":"Big headline, tagline, two CTAs, badge row.","dependencies":[],"files":[{"path":"@/components/blocks/hero","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/hero","install":"pnpm dlx aidimension-ui add hero"}},{"name":"feature-grid","type":"registry:block","title":"Feature Grid","description":"3×2 grid of icon + title + description tiles.","dependencies":[],"files":[{"path":"@/components/blocks/feature-grid","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/feature-grid","install":"pnpm dlx aidimension-ui add feature-grid"}},{"name":"bento","type":"registry:block","title":"Bento Grid","description":"Mixed-size bento grid for showcasing features.","dependencies":[],"files":[{"path":"@/components/blocks/bento","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/bento","install":"pnpm dlx aidimension-ui add bento"}},{"name":"pricing","type":"registry:block","title":"Pricing","description":"3-tier pricing table with a highlighted middle tier.","dependencies":[],"files":[{"path":"@/components/blocks/pricing","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/pricing","install":"pnpm dlx aidimension-ui add pricing"}},{"name":"stats","type":"registry:block","title":"Stats","description":"4-column animated stats strip.","dependencies":[],"files":[{"path":"@/components/blocks/stats","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/stats","install":"pnpm dlx aidimension-ui add stats"}},{"name":"testimonials","type":"registry:block","title":"Testimonials","description":"3-column customer quote grid with avatar.","dependencies":[],"files":[{"path":"@/components/blocks/testimonials","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/testimonials","install":"pnpm dlx aidimension-ui add testimonials"}},{"name":"logo-cloud","type":"registry:block","title":"Logo Cloud","description":"Strip of partner / customer logos.","dependencies":[],"files":[{"path":"@/components/blocks/logo-cloud","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/logo-cloud","install":"pnpm dlx aidimension-ui add logo-cloud"}},{"name":"cta","type":"registry:block","title":"Call to action","description":"Bottom-of-page CTA section with two buttons.","dependencies":[],"files":[{"path":"@/components/blocks/cta","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/cta","install":"pnpm dlx aidimension-ui add cta"}},{"name":"marquee","type":"registry:block","title":"Marquee","description":"Infinite horizontally scrolling strip with pause-on-hover.","dependencies":[],"files":[{"path":"@/components/blocks/marquee","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/marquee","install":"pnpm dlx aidimension-ui add marquee"}},{"name":"dock","type":"registry:block","title":"Dock","description":"macOS-style floating dock with magnify-on-hover.","dependencies":[],"files":[{"path":"@/components/blocks/dock","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/dock","install":"pnpm dlx aidimension-ui add dock"}},{"name":"timeline","type":"registry:block","title":"Timeline","description":"Vertical event list with connecting line and icons.","dependencies":[],"files":[{"path":"@/components/blocks/timeline","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/timeline","install":"pnpm dlx aidimension-ui add timeline"}},{"name":"faq","type":"registry:block","title":"FAQ","description":"Accordion list using native <details> elements.","dependencies":[],"files":[{"path":"@/components/blocks/faq","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/faq","install":"pnpm dlx aidimension-ui add faq"}},{"name":"comparison","type":"registry:block","title":"Comparison table","description":"Feature-vs-product table with boolean or string cells.","dependencies":[],"files":[{"path":"@/components/blocks/comparison","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/comparison","install":"pnpm dlx aidimension-ui add comparison"}},{"name":"animated-tabs","type":"registry:block","title":"Animated tabs","description":"Tab strip with sliding CSS indicator.","dependencies":[],"files":[{"path":"@/components/blocks/animated-tabs","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/animated-tabs","install":"pnpm dlx aidimension-ui add animated-tabs"}},{"name":"spotlight","type":"registry:block","title":"Spotlight card","description":"Card that follows the cursor with a soft radial highlight.","dependencies":[],"files":[{"path":"@/components/blocks/spotlight","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/spotlight","install":"pnpm dlx aidimension-ui add spotlight"}},{"name":"gradient-text","type":"registry:block","title":"Gradient text","description":"Text with a gradient fill, optionally animated.","dependencies":[],"files":[{"path":"@/components/blocks/gradient-text","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/gradient-text","install":"pnpm dlx aidimension-ui add gradient-text"}},{"name":"fade-in","type":"registry:block","title":"FadeIn","description":"Fade + slide-in on mount with direction/delay/distance.","dependencies":[],"files":[{"path":"@/components/motion/fade-in","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/fade-in","install":"pnpm dlx aidimension-ui add fade-in"}},{"name":"scroll-reveal","type":"registry:block","title":"ScrollReveal","description":"Fade + slide-in when scrolled into view via IntersectionObserver.","dependencies":[],"files":[{"path":"@/components/motion/scroll-reveal","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/scroll-reveal","install":"pnpm dlx aidimension-ui add scroll-reveal"}},{"name":"count-up","type":"registry:block","title":"CountUp","description":"Animates a number from 0 to value with ease-out cubic.","dependencies":[],"files":[{"path":"@/components/motion/count-up","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/count-up","install":"pnpm dlx aidimension-ui add count-up"}},{"name":"typewriter","type":"registry:block","title":"Typewriter","description":"Types out text character by character, optional phrase cycling.","dependencies":[],"files":[{"path":"@/components/motion/typewriter","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/typewriter","install":"pnpm dlx aidimension-ui add typewriter"}},{"name":"shimmer","type":"registry:block","title":"Shimmer","description":"Loading skeleton with animated gradient sweep.","dependencies":[],"files":[{"path":"@/components/motion/shimmer","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/shimmer","install":"pnpm dlx aidimension-ui add shimmer"}},{"name":"pulse","type":"registry:block","title":"Pulse","description":"Glowing radial pulse behind its children. Good for CTAs.","dependencies":[],"files":[{"path":"@/components/motion/pulse","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/pulse","install":"pnpm dlx aidimension-ui add pulse"}},{"name":"glow-card","type":"registry:block","title":"GlowCard","description":"Card that follows the cursor with a soft radial glow.","dependencies":[],"files":[{"path":"@/components/motion/glow-card","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/glow-card","install":"pnpm dlx aidimension-ui add glow-card"}},{"name":"tilt-3d","type":"registry:block","title":"Tilt3D","description":"3D tilt on hover following the cursor with perspective.","dependencies":[],"files":[{"path":"@/components/motion/tilt-3d","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/tilt-3d","install":"pnpm dlx aidimension-ui add tilt-3d"}},{"name":"magnetic","type":"registry:block","title":"Magnetic","description":"Pulls content toward the cursor like a magnet.","dependencies":[],"files":[{"path":"@/components/motion/magnetic","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/magnetic","install":"pnpm dlx aidimension-ui add magnetic"}},{"name":"gradient-border","type":"registry:block","title":"GradientBorder","description":"Animated conic gradient ring around children.","dependencies":[],"files":[{"path":"@/components/motion/gradient-border","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/gradient-border","install":"pnpm dlx aidimension-ui add gradient-border"}},{"name":"mcp-server","type":"registry:block","title":"MCP server","description":"Model Context Protocol server for icon search in Claude/Cursor/Continue.","dependencies":[],"files":[{"path":"@aidimension-ui/mcp","type":"registry:ui"}],"meta":{"importPath":"@aidimension-ui/mcp","install":"pnpm add -g @aidimension-ui/mcp"}},{"name":"use-debounce","type":"registry:block","title":"useDebounce","description":"Debounce a fast-changing value to a stable one.","dependencies":[],"files":[{"path":"@/hooks/use-debounce","type":"registry:ui"}],"meta":{"importPath":"@/hooks/use-debounce","install":"pnpm dlx aidimension-ui add use-debounce"}},{"name":"use-local-storage","type":"registry:block","title":"useLocalStorage","description":"Persistent state in localStorage with SSR safety.","dependencies":[],"files":[{"path":"@/hooks/use-local-storage","type":"registry:ui"}],"meta":{"importPath":"@/hooks/use-local-storage","install":"pnpm dlx aidimension-ui add use-local-storage"}},{"name":"use-media-query","type":"registry:block","title":"useMediaQuery","description":"Reactive CSS media query match status.","dependencies":[],"files":[{"path":"@/hooks/use-media-query","type":"registry:ui"}],"meta":{"importPath":"@/hooks/use-media-query","install":"pnpm dlx aidimension-ui add use-media-query"}},{"name":"use-click-outside","type":"registry:block","title":"useClickOutside","description":"Detect pointer events outside a ref (close popovers).","dependencies":[],"files":[{"path":"@/hooks/use-click-outside","type":"registry:ui"}],"meta":{"importPath":"@/hooks/use-click-outside","install":"pnpm dlx aidimension-ui add use-click-outside"}},{"name":"use-intersection","type":"registry:block","title":"useIntersection","description":"IntersectionObserver as a hook, with freeze-once-visible.","dependencies":[],"files":[{"path":"@/hooks/use-intersection","type":"registry:ui"}],"meta":{"importPath":"@/hooks/use-intersection","install":"pnpm dlx aidimension-ui add use-intersection"}},{"name":"use-copy-to-clipboard","type":"registry:block","title":"useCopyToClipboard","description":"navigator.clipboard wrapper with copied state and reset.","dependencies":[],"files":[{"path":"@/hooks/use-copy-to-clipboard","type":"registry:ui"}],"meta":{"importPath":"@/hooks/use-copy-to-clipboard","install":"pnpm dlx aidimension-ui add use-copy-to-clipboard"}},{"name":"use-is-client","type":"registry:block","title":"useIsClient","description":"Returns true after the component mounts (SSR guard).","dependencies":[],"files":[{"path":"@/hooks/use-is-client","type":"registry:ui"}],"meta":{"importPath":"@/hooks/use-is-client","install":"pnpm dlx aidimension-ui add use-is-client"}},{"name":"streaming-text","type":"registry:ui","title":"StreamingText","description":"Incremental text rendering with a blinking cursor.","dependencies":[],"files":[{"path":"@/components/ai/streaming-text","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/streaming-text","install":"pnpm dlx aidimension-ui add streaming-text"}},{"name":"token-counter","type":"registry:ui","title":"TokenCounter","description":"Live token usage display with a progress bar.","dependencies":[],"files":[{"path":"@/components/ai/token-counter","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/token-counter","install":"pnpm dlx aidimension-ui add token-counter"}},{"name":"model-selector","type":"registry:ui","title":"ModelSelector","description":"Grid of selectable model cards with vendor + cost tiers.","dependencies":[],"files":[{"path":"@/components/ai/model-selector","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/model-selector","install":"pnpm dlx aidimension-ui add model-selector"}},{"name":"citation","type":"registry:ui","title":"Citation","description":"Inline citation marker that expands on hover.","dependencies":[],"files":[{"path":"@/components/ai/citation","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/citation","install":"pnpm dlx aidimension-ui add citation"}},{"name":"confetti","type":"registry:block","title":"Confetti","description":"One-shot confetti burst, with reduced-motion opt-out.","dependencies":[],"files":[{"path":"@/components/blocks/confetti","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/confetti","install":"pnpm dlx aidimension-ui add confetti"}},{"name":"scroll-progress","type":"registry:block","title":"ScrollProgress","description":"Reading-progress bar that fills as the user scrolls.","dependencies":[],"files":[{"path":"@/components/blocks/scroll-progress","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/scroll-progress","install":"pnpm dlx aidimension-ui add scroll-progress"}},{"name":"parallax","type":"registry:block","title":"Parallax","description":"Subtle scroll-driven parallax transform.","dependencies":[],"files":[{"path":"@/components/blocks/parallax","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/parallax","install":"pnpm dlx aidimension-ui add parallax"}},{"name":"animated-number","type":"registry:block","title":"AnimatedNumber","description":"Counter that eases to its value on mount or on view.","dependencies":[],"files":[{"path":"@/components/blocks/animated-number","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/animated-number","install":"pnpm dlx aidimension-ui add animated-number"}},{"name":"sparkline","type":"registry:block","title":"Sparkline","description":"Tiny line chart with optional fill — fits inside cards.","dependencies":[],"files":[{"path":"@/components/charts/sparkline","type":"registry:ui"}],"meta":{"importPath":"@/components/charts/sparkline","install":"pnpm dlx aidimension-ui add sparkline"}},{"name":"bar","type":"registry:block","title":"Bar","description":"Vertical bar chart with labels and values.","dependencies":[],"files":[{"path":"@/components/charts/bar","type":"registry:ui"}],"meta":{"importPath":"@/components/charts/bar","install":"pnpm dlx aidimension-ui add bar"}},{"name":"donut","type":"registry:block","title":"Donut","description":"Donut chart with a center label and legend.","dependencies":[],"files":[{"path":"@/components/charts/donut","type":"registry:ui"}],"meta":{"importPath":"@/components/charts/donut","install":"pnpm dlx aidimension-ui add donut"}},{"name":"mobile-drawer","type":"registry:ui","title":"MobileDrawer","description":"Slide-in side drawer for mobile nav (left/right/bottom).","dependencies":[],"files":[{"path":"@/components/mobile/mobile-drawer","type":"registry:ui"}],"meta":{"importPath":"@/components/mobile/mobile-drawer","install":"pnpm dlx aidimension-ui add mobile-drawer"}},{"name":"bottom-sheet","type":"registry:ui","title":"BottomSheet","description":"Bottom-anchored sheet that drags to dismiss.","dependencies":[],"files":[{"path":"@/components/mobile/bottom-sheet","type":"registry:ui"}],"meta":{"importPath":"@/components/mobile/bottom-sheet","install":"pnpm dlx aidimension-ui add bottom-sheet"}},{"name":"swipeable","type":"registry:ui","title":"Swipeable","description":"Swipe-to-dismiss / swipe-to-action list item.","dependencies":[],"files":[{"path":"@/components/mobile/swipeable","type":"registry:ui"}],"meta":{"importPath":"@/components/mobile/swipeable","install":"pnpm dlx aidimension-ui add swipeable"}},{"name":"responsive-tabs","type":"registry:ui","title":"ResponsiveTabs","description":"Tabs that become a select on small viewports.","dependencies":[],"files":[{"path":"@/components/mobile/responsive-tabs","type":"registry:ui"}],"meta":{"importPath":"@/components/mobile/responsive-tabs","install":"pnpm dlx aidimension-ui add responsive-tabs"}},{"name":"touch-target","type":"registry:ui","title":"TouchTarget","description":"Wraps any element to ensure 44×44 px touch target.","dependencies":[],"files":[{"path":"@/components/mobile/touch-target","type":"registry:ui"}],"meta":{"importPath":"@/components/mobile/touch-target","install":"pnpm dlx aidimension-ui add touch-target"}},{"name":"json-ld","type":"registry:ui","title":"JsonLd","description":"Drop-in Google Rich Results JSON-LD script tag.","dependencies":[],"files":[{"path":"@/components/seo/json-ld","type":"registry:ui"}],"meta":{"importPath":"@/components/seo/json-ld","install":"pnpm dlx aidimension-ui add json-ld"}},{"name":"docs-template","type":"registry:block","title":"Docs Template","description":"3-column docs page: nav, content, TOC.","dependencies":[],"files":[{"path":"@/components/templates/docs","type":"registry:ui"}],"meta":{"importPath":"@/components/templates/docs","install":"pnpm dlx aidimension-ui add docs-template"}},{"name":"auth-template","type":"registry:block","title":"Auth Template","description":"Sign-in / sign-up card with social buttons.","dependencies":[],"files":[{"path":"@/components/templates/auth","type":"registry:ui"}],"meta":{"importPath":"@/components/templates/auth","install":"pnpm dlx aidimension-ui add auth-template"}},{"name":"status-template","type":"registry:block","title":"Status Template","description":"Public status page: components + incident timeline.","dependencies":[],"files":[{"path":"@/components/templates/status","type":"registry:ui"}],"meta":{"importPath":"@/components/templates/status","install":"pnpm dlx aidimension-ui add status-template"}},{"name":"parallax-mouse","type":"registry:block","title":"ParallaxMouse","description":"Damped mouse-parallax wrapper.","dependencies":[],"files":[{"path":"@/components/motion/parallax-mouse","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/parallax-mouse","install":"pnpm dlx aidimension-ui add parallax-mouse"}},{"name":"mask-reveal","type":"registry:block","title":"MaskReveal","description":"Clip-path mask reveal on viewport enter.","dependencies":[],"files":[{"path":"@/components/motion/mask-reveal","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/mask-reveal","install":"pnpm dlx aidimension-ui add mask-reveal"}},{"name":"stagger-children","type":"registry:block","title":"StaggerChildren","description":"Stagger entrance for a list of children.","dependencies":[],"files":[{"path":"@/components/motion/stagger-children","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/stagger-children","install":"pnpm dlx aidimension-ui add stagger-children"}},{"name":"number-flip","type":"registry:block","title":"NumberFlip","description":"Animated number counter for value changes.","dependencies":[],"files":[{"path":"@/components/motion/number-flip","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/number-flip","install":"pnpm dlx aidimension-ui add number-flip"}},{"name":"voice-input","type":"registry:ui","title":"VoiceInput","description":"Web Speech API mic button with transcript callback.","dependencies":[],"files":[{"path":"@/components/ai/voice-input","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/voice-input","install":"pnpm dlx aidimension-ui add voice-input"}},{"name":"multimodal-input","type":"registry:ui","title":"MultimodalInput","description":"Chat input with image attachments and previews.","dependencies":[],"files":[{"path":"@/components/ai/multimodal-input","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/multimodal-input","install":"pnpm dlx aidimension-ui add multimodal-input"}},{"name":"conversation-branch","type":"registry:ui","title":"ConversationBranch","description":"Tree of conversation branches with switch and fork.","dependencies":[],"files":[{"path":"@/components/ai/conversation-branch","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/conversation-branch","install":"pnpm dlx aidimension-ui add conversation-branch"}},{"name":"agent-trace","type":"registry:ui","title":"AgentTrace","description":"Recursive tree of agent execution steps with timing.","dependencies":[],"files":[{"path":"@/components/ai/agent-trace","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/agent-trace","install":"pnpm dlx aidimension-ui add agent-trace"}},{"name":"webhook-card","type":"registry:ui","title":"WebhookCard","description":"Display a webhook config, status, and recent payload.","dependencies":[],"files":[{"path":"@/components/ai/webhook-card","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/webhook-card","install":"pnpm dlx aidimension-ui add webhook-card"}},{"name":"system-prompt","type":"registry:ui","title":"SystemPrompt","description":"Tinted card to display the model's system prompt.","dependencies":[],"files":[{"path":"@/components/ai/system-prompt","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/system-prompt","install":"pnpm dlx aidimension-ui add system-prompt"}},{"name":"memory-viewer","type":"registry:ui","title":"MemoryViewer","description":"Long-term memory inspector for agents.","dependencies":[],"files":[{"path":"@/components/ai/memory-viewer","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/memory-viewer","install":"pnpm dlx aidimension-ui add memory-viewer"}},{"name":"prompt-template","type":"registry:ui","title":"PromptTemplate","description":"Searchable library of saved prompt templates with vars.","dependencies":[],"files":[{"path":"@/components/ai/prompt-template","type":"registry:ui"}],"meta":{"importPath":"@/components/ai/prompt-template","install":"pnpm dlx aidimension-ui add prompt-template"}},{"name":"aurora","type":"registry:block","title":"Aurora","description":"Radial gradient mesh background that slowly drifts.","dependencies":[],"files":[{"path":"@/components/motion/aurora","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/aurora","install":"pnpm dlx aidimension-ui add aurora"}},{"name":"grid-pattern","type":"registry:block","title":"GridPattern","description":"Repeating SVG grid with edge-mask fade.","dependencies":[],"files":[{"path":"@/components/motion/grid-pattern","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/grid-pattern","install":"pnpm dlx aidimension-ui add grid-pattern"}},{"name":"dot-pattern","type":"registry:block","title":"DotPattern","description":"Repeating dot field background.","dependencies":[],"files":[{"path":"@/components/motion/dot-pattern","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/dot-pattern","install":"pnpm dlx aidimension-ui add dot-pattern"}},{"name":"noise","type":"registry:block","title":"Noise","description":"SVG turbulence film-grain overlay.","dependencies":[],"files":[{"path":"@/components/motion/noise","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/noise","install":"pnpm dlx aidimension-ui add noise"}},{"name":"beam","type":"registry:block","title":"Beam","description":"Border beam that sweeps around the perimeter.","dependencies":[],"files":[{"path":"@/components/motion/beam","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/beam","install":"pnpm dlx aidimension-ui add beam"}},{"name":"meteors","type":"registry:block","title":"Meteors","description":"N falling-meteors background.","dependencies":[],"files":[{"path":"@/components/motion/meteors","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/meteors","install":"pnpm dlx aidimension-ui add meteors"}},{"name":"ripple","type":"registry:block","title":"Ripple","description":"Click ripple wrapper for any element.","dependencies":[],"files":[{"path":"@/components/motion/ripple","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/ripple","install":"pnpm dlx aidimension-ui add ripple"}},{"name":"animated-gradient","type":"registry:block","title":"AnimatedGradient","description":"Continuously-panning gradient background.","dependencies":[],"files":[{"path":"@/components/motion/animated-gradient","type":"registry:ui"}],"meta":{"importPath":"@/components/motion/animated-gradient","install":"pnpm dlx aidimension-ui add animated-gradient"}},{"name":"pro-header","type":"registry:block","title":"Pro Header","description":"Marketing header with mega-menu + mobile drawer.","dependencies":[],"files":[{"path":"@/components/blocks/pro-header","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/pro-header","install":"pnpm dlx aidimension-ui add pro-header"}},{"name":"pro-hero","type":"registry:block","title":"Pro Hero","description":"Hero with aurora background + typewriter + mockup slot.","dependencies":[],"files":[{"path":"@/components/blocks/pro-hero","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/pro-hero","install":"pnpm dlx aidimension-ui add pro-hero"}},{"name":"pro-pricing","type":"registry:block","title":"Pro Pricing","description":"3-tier pricing with monthly/yearly toggle.","dependencies":[],"files":[{"path":"@/components/blocks/pro-pricing","type":"registry:ui"}],"meta":{"importPath":"@/components/blocks/pro-pricing","install":"pnpm dlx aidimension-ui add pro-pricing"}},{"name":"app-chat-pdf","type":"registry:block","title":"Chat with PDF","description":"Full app template: upload PDF + chat with it.","dependencies":[],"files":[{"path":"@/components/app-templates/chat-with-pdf","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/chat-with-pdf","install":"pnpm dlx aidimension-ui add app-chat-pdf"}},{"name":"app-chat-youtube","type":"registry:block","title":"Chat with YouTube","description":"Paste a YouTube URL, chat about the video.","dependencies":[],"files":[{"path":"@/components/app-templates/chat-with-youtube","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/chat-with-youtube","install":"pnpm dlx aidimension-ui add app-chat-youtube"}},{"name":"app-deepseek-chat","type":"registry:block","title":"DeepSeek Chat","description":"DeepSeek-style chat with model picker + history.","dependencies":[],"files":[{"path":"@/components/app-templates/deepseek-chat","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/deepseek-chat","install":"pnpm dlx aidimension-ui add app-deepseek-chat"}},{"name":"app-gemini-chat","type":"registry:block","title":"Gemini Chat","description":"Gemini-style branded chat.","dependencies":[],"files":[{"path":"@/components/app-templates/gemini-chat","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/gemini-chat","install":"pnpm dlx aidimension-ui add app-gemini-chat"}},{"name":"app-image-generation","type":"registry:block","title":"AI Image Generation","description":"Text-to-image playground.","dependencies":[],"files":[{"path":"@/components/app-templates/image-generation","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/image-generation","install":"pnpm dlx aidimension-ui add app-image-generation"}},{"name":"app-image-enhancer","type":"registry:block","title":"Image Enhancer","description":"Upscale + denoise photos.","dependencies":[],"files":[{"path":"@/components/app-templates/image-enhancer","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/image-enhancer","install":"pnpm dlx aidimension-ui add app-image-enhancer"}},{"name":"app-ghibli-image","type":"registry:block","title":"Ghibli Image Generator","description":"Style-transfer playground.","dependencies":[],"files":[{"path":"@/components/app-templates/ghibli-image-generator","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/ghibli-image-generator","install":"pnpm dlx aidimension-ui add app-ghibli-image"}},{"name":"app-headshot","type":"registry:block","title":"Headshot Generator","description":"Selfie → professional headshot.","dependencies":[],"files":[{"path":"@/components/app-templates/headshot-generator","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/headshot-generator","install":"pnpm dlx aidimension-ui add app-headshot"}},{"name":"app-interior-design","type":"registry:block","title":"Interior Design Generator","description":"Re-design your room in 4 styles.","dependencies":[],"files":[{"path":"@/components/app-templates/interior-design-generator","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/interior-design-generator","install":"pnpm dlx aidimension-ui add app-interior-design"}},{"name":"app-content-writer","type":"registry:block","title":"Content Writer AI","description":"Generate blog posts, emails, tweets.","dependencies":[],"files":[{"path":"@/components/app-templates/content-writer","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/content-writer","install":"pnpm dlx aidimension-ui add app-content-writer"}},{"name":"app-codeforge","type":"registry:block","title":"Codeforge","description":"AI build pipeline from prompt to production.","dependencies":[],"files":[{"path":"@/components/app-templates/codeforge-app","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/codeforge-app","install":"pnpm dlx aidimension-ui add app-codeforge"}},{"name":"app-changelog","type":"registry:block","title":"Changelog","description":"Reverse-chronological release notes.","dependencies":[],"files":[{"path":"@/components/app-templates/changelog-app","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/changelog-app","install":"pnpm dlx aidimension-ui add app-changelog"}},{"name":"app-saas-landing","type":"registry:block","title":"SaaS Landing","description":"Premium SaaS marketing page.","dependencies":[],"files":[{"path":"@/components/app-templates/saas-landing-app","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/saas-landing-app","install":"pnpm dlx aidimension-ui add app-saas-landing"}},{"name":"app-agent-roster","type":"registry:block","title":"Agent Roster","description":"Multi-agent AI team showcase.","dependencies":[],"files":[{"path":"@/components/app-templates/agent-app","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/agent-app","install":"pnpm dlx aidimension-ui add app-agent-roster"}},{"name":"app-blog","type":"registry:block","title":"Blog","description":"Editorial blog with featured + grid.","dependencies":[],"files":[{"path":"@/components/app-templates/blog-app","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/blog-app","install":"pnpm dlx aidimension-ui add app-blog"}},{"name":"app-portfolio","type":"registry:block","title":"Portfolio","description":"Personal portfolio with project grid.","dependencies":[],"files":[{"path":"@/components/app-templates/portfolio-app","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/portfolio-app","install":"pnpm dlx aidimension-ui add app-portfolio"}},{"name":"app-mobile-marketing","type":"registry:block","title":"Mobile App Marketing","description":"Phone-mockup marketing page.","dependencies":[],"files":[{"path":"@/components/app-templates/mobile-app","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/mobile-app","install":"pnpm dlx aidimension-ui add app-mobile-marketing"}},{"name":"app-startup","type":"registry:block","title":"Startup Landing","description":"Dillionverma-style startup landing.","dependencies":[],"files":[{"path":"@/components/app-templates/startup-app","type":"registry:ui"}],"meta":{"importPath":"@/components/app-templates/startup-app","install":"pnpm dlx aidimension-ui add app-startup"}},{"name":"aidimension-ui-cli","type":"registry:block","title":"aidimension-ui CLI","description":"init / add / list / info / mcp commands — zero runtime deps.","dependencies":[],"files":[{"path":"aidimension-ui","type":"registry:ui"}],"meta":{"importPath":"aidimension-ui","install":"npx aidimension-ui <command>"}},{"name":"agency-template","type":"registry:block","title":"Agency template","description":"Studio landing: hero with team grid, services, case studies, process timeline, values, contact form.","dependencies":[],"files":[{"path":"@aidimension-templates/agency","type":"registry:ui"}],"meta":{"importPath":"@aidimension-templates/agency","install":"pnpm dlx aidimension-ui add agency-template"}},{"name":"ecommerce-template","type":"registry:block","title":"Ecommerce template","description":"Product landing with sticky cart drawer, category filter, product grid, gallery modal, reviews, FAQ, footer.","dependencies":[],"files":[{"path":"@aidimension-templates/ecommerce","type":"registry:ui"}],"meta":{"importPath":"@aidimension-templates/ecommerce","install":"pnpm dlx aidimension-ui add ecommerce-template"}},{"name":"startup-template","type":"registry:block","title":"Startup template","description":"YC-style launch: hero with mockup, backers strip, bento features, tweet marquee, testimonials, waitlist signup, FAQ.","dependencies":[],"files":[{"path":"@aidimension-templates/startup","type":"registry:ui"}],"meta":{"importPath":"@aidimension-templates/startup","install":"pnpm dlx aidimension-ui add startup-template"}},{"name":"job-board-template","type":"registry:block","title":"Job board template","description":"Careers / hiring page: values, perks grid, role list with filters, featured role detail, 5-step hiring process, application form, FAQ.","dependencies":[],"files":[{"path":"@aidimension-templates/job-board","type":"registry:ui"}],"meta":{"importPath":"@aidimension-templates/job-board","install":"pnpm dlx aidimension-ui add job-board-template"}}]}