{"$schema":"https://ui.shadcn.com/schema/registry.json","name":"kobra","homepage":"https://kobra.systems","items":[{"name":"accordion","type":"registry:ui","title":"Accordion","description":"Vertically stacked disclosure sections."},{"name":"advertisement","type":"registry:ui","title":"Advertisement","description":"A sponsor slot that turns through its ads on a line that fills."},{"name":"ai-editor","type":"registry:ui","title":"AI Editor","description":"A document an agent edits alongside you."},{"name":"alert","type":"registry:ui","title":"Alert","description":"A callout for important contextual information."},{"name":"aspect-ratio","type":"registry:ui","title":"Aspect Ratio","description":"Keeps content within a fixed ratio."},{"name":"avatar","type":"registry:ui","title":"Avatar","description":"An image or fallback representing a person."},{"name":"badge","type":"registry:ui","title":"Badge","description":"A compact status or category label."},{"name":"breadcrumb","type":"registry:ui","title":"Breadcrumb","description":"A hierarchical navigation trail."},{"name":"button","type":"registry:ui","title":"Button","description":"A control that triggers an action."},{"name":"calendar","type":"registry:ui","title":"Calendar","description":"A date selection calendar."},{"name":"card","type":"registry:ui","title":"Card","description":"A surface grouping related content."},{"name":"halftone-dots","type":"registry:ui","title":"Halftone Dots","description":"An image rebuilt as a field of dots that morph between pictures."},{"name":"logo-carousel","type":"registry:ui","title":"Logo Carousel","description":"A wall of logos, shown a few at a time."},{"name":"carousel","type":"registry:ui","title":"Carousel","description":"A horizontally navigable content collection, built on Embla."},{"name":"chart","type":"registry:ui","title":"Chart","description":"Composable data visualizations, from Evil Charts."},{"name":"checkbox","type":"registry:ui","title":"Checkbox","description":"A binary or indeterminate selection control."},{"name":"collapsible","type":"registry:ui","title":"Collapsible","description":"An expandable content region."},{"name":"color-palette","type":"registry:ui","title":"Color Palette","description":"A wheel of nineteen swatches, hue around and saturation inward."},{"name":"color-picker","type":"registry:ui","title":"Color Picker","description":"A gradient and solid picker, with draggable stops and a hex field."},{"name":"combobox","type":"registry:ui","title":"Combobox","description":"A searchable option picker."},{"name":"multi-select","type":"registry:ui","title":"Multi Select","description":"Several values picked from one list, as chips."},{"name":"command-menu","type":"registry:ui","title":"Command Menu","description":"A fast, nested command menu powered by kmenu."},{"name":"context-menu","type":"registry:ui","title":"Context Menu","description":"Actions opened from a secondary click."},{"name":"dialog","type":"registry:ui","title":"Dialog","description":"A modal window over the current page, and the alert dialog that confirms."},{"name":"drawer","type":"registry:ui","title":"Drawer","description":"A panel that slides from an edge, built on Vaul."},{"name":"dropdown-menu","type":"registry:ui","title":"Dropdown Menu","description":"A menu opened from a trigger."},{"name":"empty","type":"registry:ui","title":"Empty","description":"An empty-state layout with guidance."},{"name":"form","type":"registry:ui","title":"Form","description":"Validated form composition."},{"name":"hover-card","type":"registry:ui","title":"Hover Card","description":"Rich content revealed on hover."},{"name":"lightbox","type":"registry:ui","title":"Lightbox","description":"Photos in justified rows that open with a ripple zoom."},{"name":"input","type":"registry:ui","title":"Input","description":"A text input with its label, description and attached controls."},{"name":"input-otp","type":"registry:ui","title":"Input OTP","description":"A segmented one-time-code input, built on input-otp."},{"name":"input-dissolve","type":"registry:ui","title":"Input Dissolve","description":"A field that carries its value away once it is spent."},{"name":"item","type":"registry:ui","title":"Item","description":"A flexible row for lists and settings."},{"name":"menubar","type":"registry:ui","title":"Menubar","description":"A persistent horizontal application menu."},{"name":"navigation-menu","type":"registry:ui","title":"Navigation Menu","description":"A collection of navigation links."},{"name":"pagination","type":"registry:ui","title":"Pagination","description":"Controls for moving through pages."},{"name":"popover","type":"registry:ui","title":"Popover","description":"Floating content anchored to a trigger."},{"name":"progress","type":"registry:ui","title":"Progress","description":"The completion state of a task."},{"name":"qr-code","type":"registry:ui","title":"QR Code","description":"A scannable code in dots that ripples each time what it encodes changes."},{"name":"radio-group","type":"registry:ui","title":"Radio Group","description":"A single choice from several options."},{"name":"resizable","type":"registry:ui","title":"Resizable","description":"Panels separated by a draggable handle."},{"name":"scroll-area","type":"registry:ui","title":"Scroll Area","description":"A custom cross-browser scroll container."},{"name":"select","type":"registry:ui","title":"Select","description":"An option picker, as a styled menu or the native control."},{"name":"separator","type":"registry:ui","title":"Separator","description":"A visual divider between content."},{"name":"sheet","type":"registry:ui","title":"Sheet","description":"A dialog that enters from an edge."},{"name":"sidebar","type":"registry:ui","title":"Sidebar","description":"A composable application sidebar."},{"name":"skeleton","type":"registry:ui","title":"Skeleton","description":"A placeholder shown while content loads."},{"name":"slider","type":"registry:ui","title":"Slider","description":"A value selected along a range, with a liquid handle from Gooey."},{"name":"sound","type":"registry:ui","title":"Sound","description":"The cue every control answers a press with, built on Web Kits Audio."},{"name":"toast","type":"registry:ui","title":"Toast","description":"Stacked status notifications with progress and actions."},{"name":"spinner","type":"registry:ui","title":"Spinner","description":"An indeterminate loading indicator."},{"name":"switch","type":"registry:ui","title":"Switch","description":"A control for toggling a setting."},{"name":"table","type":"registry:ui","title":"Table","description":"Rows and columns of structured data."},{"name":"crm-table","type":"registry:ui","title":"CRM Table","description":"Accounts with owners, pipeline and win odds, in resizable columns."},{"name":"grouped-table","type":"registry:ui","title":"Grouped Table","description":"Issues grouped by status, in a table whose columns glide into each row as you narrow it."},{"name":"tabs","type":"registry:ui","title":"Tabs","description":"Layered content selected by tab."},{"name":"textarea","type":"registry:ui","title":"Textarea","description":"A multiline text input."},{"name":"toggle-group","type":"registry:ui","title":"Toggle Group","description":"A two-state control, alone or conjoined into a bar."},{"name":"filter-chips","type":"registry:ui","title":"Filter Chips","description":"Filter chips that join into one track as neighbors are chosen, after Spotify’s library."},{"name":"tooltip","type":"registry:ui","title":"Tooltip","description":"A concise label shown on hover or focus."},{"name":"kbd","type":"registry:ui","title":"Kbd","description":"Keyboard input and shortcut hints."},{"name":"direction","type":"registry:ui","title":"Direction","description":"Turns every component right to left, for Arabic and other RTL scripts."},{"name":"attachment","type":"registry:ui","title":"Attachment","description":"A compact file attachment presentation."},{"name":"magnetic-dropzone","type":"registry:ui","title":"Magnetic Dropzone","description":"A drop target that leans toward the file you are carrying."},{"name":"conversation","type":"registry:ui","title":"Conversation","description":"Messages from both sides of a chat."},{"name":"marker","type":"registry:ui","title":"Marker","description":"A labeled point or status marker."},{"name":"message","type":"registry:ui","title":"Message","description":"A structured conversation message."},{"name":"message-scroller","type":"registry:ui","title":"Message Scroller","description":"Conversation scrolling with edge controls."},{"name":"video","type":"registry:ui","title":"Video","description":"A video player built on Loomix, with liquid glass controls."},{"name":"reasoning-steps","type":"registry:ui","title":"Reasoning Steps","description":"A model working before it answers."},{"name":"file-diff","type":"registry:ui","title":"File Diff","description":"Changes an agent proposes to a file."},{"name":"image-generation","type":"registry:ui","title":"Image Generation","description":"A canvas forming while an image is generated."},{"name":"streaming-text","type":"registry:ui","title":"Streaming Text","description":"A reply arriving a token at a time."},{"name":"inline-citations","type":"registry:ui","title":"Inline Citations","description":"Sources cited inside a reply."},{"name":"code-block","type":"registry:ui","title":"Code Block","description":"Syntax-highlighted code with actions."},{"name":"task-list","type":"registry:ui","title":"Task List","description":"A task list an agent works through."},{"name":"chat-input","type":"registry:ui","title":"Chat Input","description":"A composer for prompting an agent, built on Voice Glow and ElevenLabs UI."},{"name":"plan-card","type":"registry:ui","title":"Plan Card","description":"A plan an agent is asking to run."},{"name":"question-card","type":"registry:ui","title":"Question Card","description":"A question an agent needs answered before it continues."},{"name":"hijri","type":"registry:lib","title":"Hijri","description":"The Umm al-Qura months for the calendar, from the browser’s own tables."},{"name":"hijri-civil","type":"registry:lib","title":"Hijri civil","description":"The arithmetic Hijri months for the calendar, a fixed 30-year cycle rather than a published table."},{"name":"persian","type":"registry:lib","title":"Persian","description":"The solar Hijri months Iran and Afghanistan keep, from the browser’s own tables."},{"name":"buddhist","type":"registry:lib","title":"Buddhist","description":"Thailand’s Buddhist era for the calendar: the Gregorian months, the years counted 543 ahead."},{"name":"minguo","type":"registry:lib","title":"Minguo","description":"Taiwan’s Minguo years for the calendar: the Gregorian months, the years counted from 1912."},{"name":"japanese","type":"registry:lib","title":"Japanese","description":"Japan’s imperial eras for the calendar: the Gregorian months, the years counted by era."}]}