{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "espresso", "homepage": "https://espresso-base-ui.vercel.app", "items": [ { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "espresso-font", "type": "registry:font", "title": "Inter", "description": "Inter variable font used by Espresso UI.", "font": { "family": "Inter, sans-serif", "provider": "google", "import": "Inter", "variable": "--font-sans", "subsets": [ "latin" ], "dependency": "@fontsource-variable/inter" } }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "espresso-theme", "type": "registry:style", "title": "Espresso Theme", "description": "Espresso UI design tokens and color system.", "devDependencies": [ "shadcn" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-font.json", "https://espresso-base-ui.vercel.app/r/button.json" ], "files": [ { "path": "registry/espresso/espresso-theme/globals.css", "type": "registry:file", "target": "~/app/globals.css" } ], "dependencies": [ "tw-animate-css", "shadcn" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "button", "type": "registry:ui", "title": "Button", "description": "A button component with variants, sizes, and icon support.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/button/button.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "button-group", "type": "registry:ui", "title": "Button Group", "description": "Groups buttons together with shared layout and sizing.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/separator.json" ], "files": [ { "path": "registry/espresso/button-group/button-group.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "alert", "type": "registry:ui", "title": "Alert", "description": "Alert component with variants, types, and action slots.", "dependencies": [ "class-variance-authority" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json" ], "files": [ { "path": "registry/espresso/alert/alert.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "avatar", "type": "registry:ui", "title": "Avatar", "description": "Avatar component with sizes, variants, badges, and groups.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "files": [ { "path": "registry/espresso/avatar/avatar.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "badge", "type": "registry:ui", "title": "Badge", "description": "Badge component with variants and sizes.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "files": [ { "path": "registry/espresso/badge/badge.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "breadcrumb", "type": "registry:ui", "title": "Breadcrumb", "description": "Breadcrumb navigation with sizes and custom separators.", "dependencies": [ "@base-ui/react", "lucide-react" ], "files": [ { "path": "registry/espresso/breadcrumb/breadcrumb.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "calendar", "type": "registry:ui", "title": "Calendar", "description": "Calendar component built on React Day Picker.", "dependencies": [ "react-day-picker", "lucide-react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json" ], "files": [ { "path": "registry/espresso/calendar/calendar.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "checkbox", "type": "registry:ui", "title": "Checkbox", "description": "Checkbox with size variants and indeterminate state.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "files": [ { "path": "registry/espresso/checkbox/checkbox.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "dialog", "type": "registry:ui", "title": "Dialog", "description": "Modal dialog with size variants and close button.", "dependencies": [ "@base-ui/react", "class-variance-authority", "lucide-react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json" ], "files": [ { "path": "registry/espresso/dialog/dialog.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "drawer", "type": "registry:ui", "title": "Drawer", "description": "Swipeable drawer with snap points, built on Base UI.", "dependencies": [ "@base-ui/react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/drawer/drawer.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "dropdown-menu", "type": "registry:ui", "title": "Dropdown Menu", "description": "Dropdown menu with items, checkboxes, radios, and submenus.", "dependencies": [ "@base-ui/react", "lucide-react" ], "files": [ { "path": "registry/espresso/dropdown-menu/dropdown-menu.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "field", "type": "registry:ui", "title": "Field", "description": "Form field with label, description, error, and layout variants.", "dependencies": [ "class-variance-authority" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/label.json", "https://espresso-base-ui.vercel.app/r/separator.json" ], "files": [ { "path": "registry/espresso/field/field.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "header", "type": "registry:ui", "title": "Header", "description": "Page header with left, center, and right control slots.", "files": [ { "path": "registry/espresso/header/header.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "sub-header", "type": "registry:ui", "title": "Sub Header", "description": "A secondary toolbar row with left and right slots for filters, titles and view controls.", "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/sub-header/sub-header.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "input", "type": "registry:ui", "title": "Input", "description": "Input with outline/subtle variants and size options.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "files": [ { "path": "registry/espresso/input/input.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "input-group", "type": "registry:ui", "title": "Input Group", "description": "Input group with addons, icons, and buttons.", "dependencies": [ "class-variance-authority" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json", "https://espresso-base-ui.vercel.app/r/input.json", "https://espresso-base-ui.vercel.app/r/textarea.json" ], "files": [ { "path": "registry/espresso/input-group/input-group.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "item", "type": "registry:ui", "title": "Item", "description": "List item with media, content, actions, and layout slots.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/separator.json" ], "files": [ { "path": "registry/espresso/item/item.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "kbd", "type": "registry:ui", "title": "Kbd", "description": "Keyboard key indicator.", "files": [ { "path": "registry/espresso/kbd/kbd.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "label", "type": "registry:ui", "title": "Label", "description": "Accessible label component.", "dependencies": [ "@base-ui/react" ], "files": [ { "path": "registry/espresso/label/label.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "notification", "type": "registry:ui", "title": "Notification", "description": "Toast notification with variants and action types.", "dependencies": [ "class-variance-authority" ], "files": [ { "path": "registry/espresso/notification/notification.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json", "https://espresso-base-ui.vercel.app/r/toast.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "popover", "type": "registry:ui", "title": "Popover", "description": "Popover with positioning and header/title/description.", "dependencies": [ "@base-ui/react" ], "files": [ { "path": "registry/espresso/popover/popover.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "progress", "type": "registry:ui", "title": "Progress", "description": "Progress bar with sizes, edge styles, and segmented type.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "files": [ { "path": "registry/espresso/progress/progress.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "radio-group", "type": "registry:ui", "title": "Radio Group", "description": "Radio group with size variants.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "files": [ { "path": "registry/espresso/radio-group/radio-group.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "rating", "type": "registry:ui", "title": "Rating", "description": "Star rating component with keyboard navigation.", "dependencies": [ "lucide-react" ], "files": [ { "path": "registry/espresso/rating/rating.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "select", "type": "registry:ui", "title": "Select", "description": "Select with variants, sizes, groups, scroll arrows, and auto-icon items.", "dependencies": [ "@base-ui/react", "class-variance-authority", "lucide-react" ], "files": [ { "path": "registry/espresso/select/select.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "separator", "type": "registry:ui", "title": "Separator", "description": "Horizontal/vertical separator with optional slot content.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "files": [ { "path": "registry/espresso/separator/separator.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "sheet", "type": "registry:ui", "title": "Sheet", "description": "Slide-out sheet/drawer panel.", "dependencies": [ "@base-ui/react", "lucide-react" ], "files": [ { "path": "registry/espresso/sheet/sheet.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "skeleton", "type": "registry:ui", "title": "Skeleton", "description": "Loading placeholder skeleton.", "files": [ { "path": "registry/espresso/skeleton/skeleton.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "slider", "type": "registry:ui", "title": "Slider", "description": "Slider with size variants and range support.", "dependencies": [ "@base-ui/react" ], "files": [ { "path": "registry/espresso/slider/slider.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "sonner", "type": "registry:ui", "title": "Sonner", "description": "Toast notifications via Sonner.", "dependencies": [ "sonner", "next-themes", "lucide-react" ], "files": [ { "path": "registry/espresso/sonner/sonner.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "toast", "type": "registry:ui", "title": "Toast", "description": "Toast notifications built on Base UI with success, info, warning, error, and loading types.", "dependencies": [ "@base-ui/react", "lucide-react" ], "files": [ { "path": "registry/espresso/toast/toast.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "spinner", "type": "registry:ui", "title": "Spinner", "description": "Loading spinner with size variants and optional track.", "dependencies": [ "class-variance-authority" ], "files": [ { "path": "registry/espresso/spinner/spinner.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "switch", "type": "registry:ui", "title": "Switch", "description": "Toggle switch with size variants.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "files": [ { "path": "registry/espresso/switch/switch.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "table", "type": "registry:ui", "title": "Table", "description": "Table with header, body, footer, and row hover effects.", "files": [ { "path": "registry/espresso/table/table.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "tabs", "type": "registry:ui", "title": "Tabs", "description": "Tabs with sliding indicator, variants, and sizes.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "files": [ { "path": "registry/espresso/tabs/tabs.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "tag", "type": "registry:ui", "title": "Tag", "description": "Tag component with variants, sizes, and close icon.", "dependencies": [ "class-variance-authority" ], "files": [ { "path": "registry/espresso/tag/tag.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "textarea", "type": "registry:ui", "title": "Textarea", "description": "Textarea with outline/subtle/ghost variants and sizes.", "dependencies": [ "class-variance-authority" ], "files": [ { "path": "registry/espresso/textarea/textarea.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "tooltip", "type": "registry:ui", "title": "Tooltip", "description": "Tooltip with arrow and positioning.", "dependencies": [ "@base-ui/react" ], "files": [ { "path": "registry/espresso/tooltip/tooltip.tsx", "type": "registry:ui" } ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "card", "type": "registry:ui", "title": "Card", "description": "A card container component with sm, md, lg, and xl size variants.", "dependencies": [ "class-variance-authority" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/card/card.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "chart", "type": "registry:ui", "title": "Chart", "description": "Chart components (container, tooltip, legend) built on Recharts.", "dependencies": [ "recharts" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/chart/chart.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "collapsible", "type": "registry:ui", "title": "Collapsible", "description": "A collapsible content section with trigger.", "dependencies": [ "@base-ui/react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/collapsible/collapsible.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "scroll-area", "type": "registry:ui", "title": "Scroll Area", "description": "A scroll area component with custom scrollbar.", "dependencies": [ "@base-ui/react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/scroll-area/scroll-area.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "sidebar", "type": "registry:ui", "title": "Sidebar", "description": "A sidebar layout component with collapsible, rail, and menu support.", "dependencies": [ "@base-ui/react", "class-variance-authority", "lucide-react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json", "https://espresso-base-ui.vercel.app/r/separator.json", "https://espresso-base-ui.vercel.app/r/sheet.json", "https://espresso-base-ui.vercel.app/r/tooltip.json", "https://espresso-base-ui.vercel.app/r/input.json", "https://espresso-base-ui.vercel.app/r/skeleton.json" ], "files": [ { "path": "registry/espresso/sidebar/sidebar.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "sub-header", "type": "registry:ui", "title": "Sub Header", "description": "A sub-header bar with left and right content slots.", "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/sub-header/sub-header.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "empty", "type": "registry:ui", "title": "Empty", "description": "Empty state component for lists, tables, and other content areas.", "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/empty/empty.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "combobox", "type": "registry:ui", "title": "Combobox", "description": "Autocomplete input with single/multi-select, chips, and grouping.", "dependencies": [ "@base-ui/react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/input-group.json", "https://espresso-base-ui.vercel.app/r/button.json" ], "files": [ { "path": "registry/espresso/combobox/combobox.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "command", "type": "registry:ui", "title": "Command", "description": "Command palette with inline and dialog modes powered by cmdk.", "dependencies": [ "cmdk" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/dialog.json", "https://espresso-base-ui.vercel.app/r/input-group.json" ], "files": [ { "path": "registry/espresso/command/command.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "input-otp", "type": "registry:ui", "title": "Input OTP", "description": "One-time-password input with slots and separators.", "dependencies": [ "input-otp" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/input-otp/input-otp.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "mobile-shell", "type": "registry:ui", "title": "Mobile Shell", "description": "Mobile app frame with pinned header, scrolling content, and bottom tab bar.", "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/mobile-shell/mobile-shell.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "message", "type": "registry:ui", "title": "Message", "description": "Chat message row layout with avatar, content, and footer parts.", "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/message/message.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "bubble", "type": "registry:ui", "title": "Bubble", "description": "Chat bubble surface used inside Message content.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/bubble/bubble.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "attachment", "type": "registry:ui", "title": "Attachment", "description": "File chip for uploads, previews, and link cards with upload states.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json" ], "files": [ { "path": "registry/espresso/attachment/attachment.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "color-swatch", "type": "registry:ui", "title": "Color Swatch", "description": "Circular chip previewing a CSS color, with transparency checkerboard and selected state.", "dependencies": [ "class-variance-authority", "lucide-react", "radix-ui" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/color-swatch/color-swatch.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "message-scroller", "type": "registry:ui", "title": "Message Scroller", "description": "Auto-scrolling chat viewport that pins to the latest message.", "dependencies": [ "@shadcn/react", "lucide-react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json" ], "files": [ { "path": "registry/espresso/message-scroller/message-scroller.tsx", "type": "registry:ui" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "file-upload", "type": "registry:ui", "title": "File Upload", "description": "Headless file picker with drag-and-drop, validation, and upload progress.", "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/file-upload/file-upload.tsx", "type": "registry:ui" }, { "path": "registry/espresso/hooks/use-as-ref.ts", "type": "registry:hook", "target": "hooks/use-as-ref.ts" }, { "path": "registry/espresso/hooks/use-lazy-ref.ts", "type": "registry:hook", "target": "hooks/use-lazy-ref.ts" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "color-picker", "type": "registry:ui", "title": "Color Picker", "description": "Popover color picker with saturation area, hue and alpha sliders, and an eye dropper.", "dependencies": [ "class-variance-authority", "lucide-react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json", "https://espresso-base-ui.vercel.app/r/input.json" ], "files": [ { "path": "registry/espresso/color-picker/color-picker.tsx", "type": "registry:ui" }, { "path": "registry/espresso/visually-hidden-input/visually-hidden-input.tsx", "type": "registry:component", "target": "components/visually-hidden-input.tsx" }, { "path": "registry/espresso/hooks/use-as-ref.ts", "type": "registry:hook", "target": "hooks/use-as-ref.ts" }, { "path": "registry/espresso/hooks/use-lazy-ref.ts", "type": "registry:hook", "target": "hooks/use-lazy-ref.ts" }, { "path": "registry/espresso/hooks/use-isomorphic-layout-effect.ts", "type": "registry:hook", "target": "hooks/use-isomorphic-layout-effect.ts" }, { "path": "registry/espresso/lib/compose-refs.ts", "type": "registry:lib", "target": "lib/compose-refs.ts" } ] }, { "name": "accordion", "type": "registry:ui", "title": "Accordion", "description": "Vertically stacked disclosure sections built on Base UI.", "dependencies": [ "@base-ui/react", "lucide-react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/accordion/accordion.tsx", "type": "registry:ui" } ] }, { "name": "questionnaire", "type": "registry:ui", "title": "Questionnaire", "description": "Multi-step form flow with choices, shortcuts and validation, built on @shadcn/react.", "dependencies": [ "@shadcn/react", "lucide-react" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json", "https://espresso-base-ui.vercel.app/r/button.json" ], "files": [ { "path": "registry/espresso/questionnaire/questionnaire.tsx", "type": "registry:ui" } ] }, { "name": "sortable", "type": "registry:ui", "title": "Sortable", "description": "Drag-and-drop reordering for lists, grids and nested groups, built on dnd-kit with Base UI composition.", "dependencies": [ "@base-ui/react", "@dnd-kit/core", "@dnd-kit/sortable", "@dnd-kit/utilities" ], "registryDependencies": [ "https://espresso-base-ui.vercel.app/r/espresso-theme.json" ], "files": [ { "path": "registry/espresso/sortable/sortable.tsx", "type": "registry:ui" } ] } ] }