{"$schema":"https://ui.shadcn.com/schema/registry.json","name":"Aavya Brand Portal Registry","homepage":"https://localhost:3000","items":[{"name":"theme","type":"registry:theme","title":"Aavya Theme","description":"Aavya light/dark design tokens and global styling.","version":"1.0.0","status":"ga","files":[{"path":"src/app/globals.css","type":"registry:style","target":"app/globals.css"}]},{"name":"blank-app","type":"registry:block","title":"Blank App","description":"Minimal blank app scaffold with Aavya theme baseline.","version":"0.1.0","status":"beta","files":[{"path":"src/registry/blocks/blank-app/page.tsx","type":"registry:page","target":"app/page.tsx"}]},{"name":"profile-dropdown","type":"registry:component","title":"Profile Dropdown","description":"Avatar button with profile, settings, and sign-out menu. Manages its own Supabase auth state.","version":"0.1.0","status":"alpha","registryDependencies":["avatar","button","dropdown-menu"],"files":[{"path":"src/components/blocks/profile-dropdown.tsx","type":"registry:component"}]},{"name":"notifications-dropdown","type":"registry:component","title":"Notifications Dropdown","description":"Bell icon with unread badge and notification list dropdown.","version":"0.1.0","status":"alpha","registryDependencies":["badge","button","dropdown-menu"],"files":[{"path":"src/components/blocks/notifications-dropdown.tsx","type":"registry:component"}]},{"name":"language-dropdown","type":"registry:component","title":"Language Dropdown","description":"Globe icon dropdown for selecting the active language.","version":"0.1.0","status":"alpha","registryDependencies":["button","dropdown-menu"],"files":[{"path":"src/components/blocks/language-dropdown.tsx","type":"registry:component"}]},{"name":"aavya-header","type":"registry:component","title":"Header","description":"Top navigation with brand mark, app sections, and account menus.","version":"0.2.0","status":"beta","registryDependencies":["button","dropdown-menu","avatar"],"files":[{"path":"src/components/layout/header.tsx","type":"registry:component"}]},{"name":"aavya-header-center","type":"registry:component","title":"Header — Centered Nav","description":"Three-column header with logo left, NavigationMenu centered, and actions right. This defaults to a full logo mark without text beside it. Used in the brand homepage.","version":"0.1.0","status":"beta","registryDependencies":["button","dropdown-menu","navigation-menu","avatar"],"files":[{"path":"src/components/layout/header-center.tsx","type":"registry:component"}]},{"name":"aavya-breadcrumbs","type":"registry:component","title":"Aavya Breadcrumbs","description":"Route-aware breadcrumb navigation for App Router pages.","version":"0.2.0","status":"beta","files":[{"path":"src/components/layout/breadcrumbs.tsx","type":"registry:component"},{"path":"src/components/ui/breadcrumb.tsx","type":"registry:component"}]},{"name":"aavya-theme-toggle","type":"registry:component","title":"Aavya Theme Toggle","description":"Persisted light/dark toggle backed by HTML class state.","version":"0.1.0","status":"beta","files":[{"path":"src/components/layout/theme-toggle.tsx","type":"registry:component"}]},{"name":"aavya-ai-image-studio","type":"registry:component","title":"Aavya AI Image Studio","description":"Compact prompt + upload surface for n8n-powered asset generation.","version":"0.3.0","status":"beta","registryDependencies":["button","input","select"],"files":[{"path":"src/components/layout/compact-ai-image-studio.tsx","type":"registry:component"}]},{"name":"aavya-header-nav-breadcrumb","type":"registry:component","title":"Header — Nav + Breadcrumb","description":"Two-row header: NavigationMenu flyouts on row 1, breadcrumb + date-range toggle on row 2.","version":"0.1.0","status":"alpha","registryDependencies":["navigation-menu","dropdown-menu","breadcrumb","toggle-group","avatar","button","badge"],"files":[{"path":"src/components/layout/header-nav-breadcrumb.tsx","type":"registry:component"}]},{"name":"aavya-pill-select","type":"registry:component","title":"Pill Select","description":"Rounded select control used in the AI image studio toolbar.","version":"0.2.0","status":"beta","registryDependencies":["select"],"files":[{"path":"src/components/ui/pill-select.tsx","type":"registry:component"}]},{"name":"ui-sonner","type":"registry:component","title":"Sonner","description":"Theme-aware toast notifications powered by sonner.","version":"1.0.0","status":"ga","registryDependencies":["sonner","next-themes"],"files":[{"path":"src/components/ui/sonner.tsx","type":"registry:component"}]},{"name":"ui-accordion","type":"registry:component","title":"Accordion","description":"Expandable disclosure primitive for grouped content.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/accordion.tsx","type":"registry:component"}]},{"name":"ui-alert","type":"registry:component","title":"Alert","description":"Status and messaging primitive with semantic variants.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/alert.tsx","type":"registry:component"}]},{"name":"ui-alert-dialog","type":"registry:component","title":"Alert Dialog","description":"Destructive-action confirmation dialog primitive.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/alert-dialog.tsx","type":"registry:component"}]},{"name":"ui-aspect-ratio","type":"registry:component","title":"Aspect Ratio","description":"Intrinsic ratio wrapper primitive for media and embeds.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/aspect-ratio.tsx","type":"registry:component"}]},{"name":"ui-avatar","type":"registry:component","title":"Avatar","description":"User avatar primitive with fallback initials support.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/avatar.tsx","type":"registry:component"}]},{"name":"ui-breadcrumb","type":"registry:component","title":"Breadcrumb","description":"Accessible breadcrumb primitive for route hierarchy navigation.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/breadcrumb.tsx","type":"registry:component"}]},{"name":"ui-badge","type":"registry:component","title":"Badge","description":"Small status label primitive with semantic variants.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/badge.tsx","type":"registry:component"}]},{"name":"ui-button","type":"registry:component","title":"Button","description":"Action primitive with size and style variants.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/button.tsx","type":"registry:component"}]},{"name":"ui-button-group","type":"registry:component","title":"Button Group","description":"Grouped button layout primitive for segmented actions.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/button-group.tsx","type":"registry:component"}]},{"name":"ui-card","type":"registry:component","title":"Card","description":"Content container primitive with header/content/footer slots.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/card.tsx","type":"registry:component"}]},{"name":"ui-dialog","type":"registry:component","title":"Dialog","description":"Modal primitive for focused tasks and confirmation flows.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/dialog.tsx","type":"registry:component"}]},{"name":"ui-dropdown-menu","type":"registry:component","title":"Dropdown Menu","description":"Contextual action menu primitive with keyboard support.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/dropdown-menu.tsx","type":"registry:component"}]},{"name":"ui-checkbox","type":"registry:component","title":"Checkbox","description":"Binary input primitive for multi-select and consent controls.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/checkbox.tsx","type":"registry:component"}]},{"name":"ui-form","type":"registry:component","title":"Form","description":"React Hook Form helpers for typed fields, labels, and validation messaging.","version":"1.0.0","status":"ga","registryDependencies":["react-hook-form"],"files":[{"path":"src/components/ui/form.tsx","type":"registry:component"}]},{"name":"ui-context-menu","type":"registry:component","title":"Context Menu","description":"Right-click action menu primitive with nested and selectable items.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/context-menu.tsx","type":"registry:component"}]},{"name":"ui-collapsible","type":"registry:component","title":"Collapsible","description":"Expand/collapse primitive for progressively disclosed content.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/collapsible.tsx","type":"registry:component"}]},{"name":"ui-hover-card","type":"registry:component","title":"Hover Card","description":"Preview card primitive shown on hover and focus.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/hover-card.tsx","type":"registry:component"}]},{"name":"ui-input","type":"registry:component","title":"Input","description":"Text input primitive for forms and command surfaces.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/input.tsx","type":"registry:component"}]},{"name":"ui-input-group","type":"registry:component","title":"Input Group","description":"Input wrapper primitive with inline and block addons.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/input-group.tsx","type":"registry:component"}]},{"name":"ui-kbd","type":"registry:component","title":"Kbd","description":"Keyboard keycap primitive for shortcut hints.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/kbd.tsx","type":"registry:component"}]},{"name":"ui-menubar","type":"registry:component","title":"Menubar","description":"Desktop-style command menu bar primitive.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/menubar.tsx","type":"registry:component"}]},{"name":"ui-navigation-menu","type":"registry:component","title":"Navigation Menu","description":"Top-level navigation primitive with trigger/content panels.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/navigation-menu.tsx","type":"registry:component"}]},{"name":"ui-label","type":"registry:component","title":"Label","description":"Accessible form label primitive.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/label.tsx","type":"registry:component"}]},{"name":"ui-radio-group","type":"registry:component","title":"Radio Group","description":"Single-choice selection primitive for grouped options.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/radio-group.tsx","type":"registry:component"}]},{"name":"ui-separator","type":"registry:component","title":"Separator","description":"Horizontal and vertical divider primitive.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/separator.tsx","type":"registry:component"}]},{"name":"ui-sheet","type":"registry:component","title":"Sheet","description":"Slide-over panel primitive for side drawers and contextual editing.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/sheet.tsx","type":"registry:component"}]},{"name":"ui-skeleton","type":"registry:component","title":"Skeleton","description":"Loading placeholder primitive for async content states.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/skeleton.tsx","type":"registry:component"}]},{"name":"ui-select","type":"registry:component","title":"Select","description":"Single-choice selector primitive built on Radix Select.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/select.tsx","type":"registry:component"}]},{"name":"ui-popover","type":"registry:component","title":"Popover","description":"Floating content surface anchored to a trigger element.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/popover.tsx","type":"registry:component"}]},{"name":"ui-progress","type":"registry:component","title":"Progress","description":"Linear progress indicator primitive for async status.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/progress.tsx","type":"registry:component"}]},{"name":"ui-pagination","type":"registry:component","title":"Pagination","description":"Page navigation primitive with previous/next and ellipsis states.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/pagination.tsx","type":"registry:component"}]},{"name":"ui-scroll-area","type":"registry:component","title":"Scroll Area","description":"Custom scroll container primitive with styled scrollbars.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/scroll-area.tsx","type":"registry:component"}]},{"name":"ui-slider","type":"registry:component","title":"Slider","description":"Range selection primitive with one or multiple thumbs.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/slider.tsx","type":"registry:component"}]},{"name":"ui-switch","type":"registry:component","title":"Switch","description":"Binary toggle primitive for settings and feature flags.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/switch.tsx","type":"registry:component"}]},{"name":"ui-toggle","type":"registry:component","title":"Toggle","description":"Pressable on/off button primitive.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/toggle.tsx","type":"registry:component"}]},{"name":"ui-toggle-group","type":"registry:component","title":"Toggle Group","description":"Single or multiple selection group built from toggle items.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/toggle-group.tsx","type":"registry:component"}]},{"name":"ui-table","type":"registry:component","title":"Table","description":"Responsive table primitive with semantic row and cell slots.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/table.tsx","type":"registry:component"}]},{"name":"ui-tooltip","type":"registry:component","title":"Tooltip","description":"Contextual helper text that appears on hover or focus.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/tooltip.tsx","type":"registry:component"}]},{"name":"ui-textarea","type":"registry:component","title":"Textarea","description":"Multi-line text input primitive for notes and long-form content.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/textarea.tsx","type":"registry:component"}]},{"name":"ui-bounce-button","type":"registry:component","title":"Bounce Button","description":"Animated button primitive with bounce motion feedback.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/bounce-button.tsx","type":"registry:component"}]},{"name":"ui-calendar","type":"registry:component","title":"Calendar","description":"Date picker calendar primitive based on DayPicker.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/calendar.tsx","type":"registry:component"}]},{"name":"ui-carousel","type":"registry:component","title":"Carousel","description":"Embla-powered carousel primitive with controls.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/carousel.tsx","type":"registry:component"}]},{"name":"ui-chart","type":"registry:component","title":"Chart","description":"Chart container and helpers for Recharts visualizations.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/chart.tsx","type":"registry:component"}]},{"name":"ui-command","type":"registry:component","title":"Command","description":"Command palette primitives built on cmdk.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/command.tsx","type":"registry:component"}]},{"name":"ui-drawer","type":"registry:component","title":"Drawer","description":"Bottom sheet and drawer primitives powered by Vaul.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/drawer.tsx","type":"registry:component"}]},{"name":"ui-empty","type":"registry:component","title":"Empty","description":"Empty-state primitive with title, body, and actions.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/empty.tsx","type":"registry:component"}]},{"name":"ui-featured-icon","type":"registry:component","title":"Featured Icon","description":"Prominent icon badge primitive with style variants.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/featured-icon.tsx","type":"registry:component"}]},{"name":"ui-field","type":"registry:component","title":"Field","description":"Form field composition helpers for labels and controls.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/field.tsx","type":"registry:component"}]},{"name":"ui-global-tooltip","type":"registry:component","title":"Global Tooltip","description":"Viewport-aware tooltip system with shared motion layer.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/global-tooltip.tsx","type":"registry:component"}]},{"name":"ui-input-otp","type":"registry:component","title":"Input OTP","description":"One-time-code input primitive with slot rendering.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/input-otp.tsx","type":"registry:component"}]},{"name":"ui-item","type":"registry:component","title":"Item","description":"List item primitive with media, content, and actions.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/item.tsx","type":"registry:component"}]},{"name":"ui-magnetic-button","type":"registry:component","title":"Magnetic Button","description":"Animated button primitive with magnetic cursor pull.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/magnetic-button.tsx","type":"registry:component"}]},{"name":"ui-motion-checkbox","type":"registry:component","title":"Motion Checkbox","description":"Checkbox primitive with motion-enhanced state transitions.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/motion-checkbox.tsx","type":"registry:component"}]},{"name":"ui-motion-highlight","type":"registry:component","title":"Motion Highlight","description":"Animated highlight primitive for active item emphasis.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/motion-highlight.tsx","type":"registry:component"}]},{"name":"ui-motion-radio-group","type":"registry:component","title":"Motion Radio Group","description":"Radio group primitive with animated selection indicators.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/motion-radio-group.tsx","type":"registry:component"}]},{"name":"ui-motion-switch","type":"registry:component","title":"Motion Switch","description":"Switch primitive with spring-based animated thumb.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/motion-switch.tsx","type":"registry:component"}]},{"name":"ui-motion-tabs","type":"registry:component","title":"Motion Tabs","description":"Tabs primitive with animated active-state transitions.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/motion-tabs.tsx","type":"registry:component"}]},{"name":"ui-motion-tooltip","type":"registry:component","title":"Motion Tooltip","description":"Tooltip primitive with motion-driven enter and exit behavior.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/motion-tooltip.tsx","type":"registry:component"}]},{"name":"ui-multi-select","type":"registry:component","title":"Multi Select","description":"Tag-based multi-select primitive built on command patterns.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/multi-select.tsx","type":"registry:component"}]},{"name":"ui-rainbow-button","type":"registry:component","title":"Rainbow Button","description":"Gradient-accented button primitive with animated color treatment.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/rainbow-button.tsx","type":"registry:component"}]},{"name":"ui-rating","type":"registry:component","title":"Rating","description":"Star rating input and display primitive.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/rating.tsx","type":"registry:component"}]},{"name":"ui-resizable","type":"registry:component","title":"Resizable","description":"Resizable panel layout primitives with drag handles.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/resizable.tsx","type":"registry:component"}]},{"name":"ui-ripple-button","type":"registry:component","title":"Ripple Button","description":"Button primitive with ripple click interaction.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/ripple-button.tsx","type":"registry:component"}]},{"name":"ui-select-native","type":"registry:component","title":"Select Native","description":"Styled native select element primitive.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/select-native.tsx","type":"registry:component"}]},{"name":"ui-shimmer-button","type":"registry:component","title":"Shimmer Button","description":"Button primitive with shimmer animation effect.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/shimmer-button.tsx","type":"registry:component"}]},{"name":"ui-sidebar","type":"registry:component","title":"Sidebar","description":"Responsive sidebar layout and navigation primitives.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/sidebar.tsx","type":"registry:component"}]},{"name":"ui-spinner","type":"registry:component","title":"Spinner","description":"Loading spinner primitive for async states.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/spinner.tsx","type":"registry:component"}]},{"name":"ui-toast","type":"registry:component","title":"Toast","description":"Application toast provider and hook for transient notifications.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/toast.tsx","type":"registry:component"}]},{"name":"ui-tabs","type":"registry:component","title":"Tabs","description":"Tabbed interface primitive for segmented content.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/tabs.tsx","type":"registry:component"}]},{"name":"ui-logo","type":"registry:component","title":"Logo","description":"Aavya brand mark and wordmark with default, inverted, and white variants.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/logo.tsx","type":"registry:component"}]}]}