{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "launchmvpfast", "homepage": "https://launchmvpfast.com", "items": [ { "name": "use-is-mac", "type": "registry:hook", "title": "useIsMac", "description": "A custom hook to detect if the user is on a Mac", "files": [ { "path": "registry/default/hooks/use-is-mac.ts", "type": "registry:hook" } ] }, { "name": "prompt-input-01", "type": "registry:component", "title": "Prompt Input 01", "description": "A first component for inputting ai prompts", "registryDependencies": [ "button", "dropdown-menu", "tooltip", "toggle", "utils" ], "dependencies": ["react-textarea-autosize", "lucide-react"], "files": [ { "path": "registry/default/components/input/prompt-input-01.tsx", "type": "registry:component", "target": "components/prompt-input-01.tsx" } ] }, { "name": "prompt-input-02", "type": "registry:component", "title": "Prompt Input 02", "description": "A second component for inputting ai prompts", "dependencies": ["react-textarea-autosize", "lucide-react"], "registryDependencies": [ "button", "dropdown-menu", "tooltip", "toggle", "select", "utils" ], "files": [ { "path": "registry/default/components/input/prompt-input-02.tsx", "type": "registry:component", "target": "components/prompt-input-02.tsx" } ] }, { "name": "otp-with-no-spaces", "type": "registry:component", "title": "OTP with No Spaces", "description": "A component for inputting OTP codes without spaces", "registryDependencies": ["input-otp", "label"], "files": [ { "path": "registry/default/components/input/otp-with-no-spaces.tsx", "type": "registry:component", "target": "components/otp-with-no-spaces.tsx" } ] }, { "name": "otp-with-spaces", "type": "registry:component", "title": "OTP with Spaces", "description": "A component for inputting OTP codes with spaces", "registryDependencies": ["input-otp", "label"], "files": [ { "path": "registry/default/components/input/otp-with-spaces.tsx", "type": "registry:component", "target": "components/otp-with-spaces.tsx" } ] }, { "name": "otp-with-seperator", "type": "registry:component", "title": "OTP with Seperator", "description": "A component for inputting OTP codes with a custom separator", "registryDependencies": ["input-otp", "label"], "files": [ { "path": "registry/default/components/input/otp-with-seperator.tsx", "type": "registry:component", "target": "components/otp-with-seperator.tsx" } ] }, { "name": "otp-with-numbers-only", "type": "registry:component", "title": "OTP with Numbers Only", "description": "A component for inputting OTP codes with numbers only", "registryDependencies": ["input-otp", "label"], "files": [ { "path": "registry/default/components/input/otp-with-numbers-only.tsx", "type": "registry:component", "target": "components/otp-with-numbers-only.tsx" } ] }, { "name": "input-with-animated-label", "type": "registry:component", "title": "Input with Animated Label", "description": "A component for inputting text with an animated label", "registryDependencies": ["input", "label"], "files": [ { "path": "registry/default/components/input/input-with-animated-label.tsx", "type": "registry:component", "target": "components/input-with-animated-label.tsx" } ] }, { "name": "input-with-animated-inset-label", "type": "registry:component", "title": "Input with Animated Inset Label", "description": "A component for inputting text with an animated inset label", "registryDependencies": ["utils", "label"], "files": [ { "path": "registry/default/components/input/input-with-animated-inset-label.tsx", "type": "registry:component", "target": "components/input-with-animated-inset-label.tsx" } ] }, { "name": "phone-number-input", "type": "registry:component", "title": "Phone Number Input", "description": "A component for inputting phone numbers", "dependencies": ["react-phone-number-input", "lucide-react"], "registryDependencies": ["select", "input", "label", "utils"], "files": [ { "path": "registry/default/components/input/phone-number-input.tsx", "type": "registry:component", "target": "components/phone-number-input.tsx" } ] }, { "name": "input-with-right-button", "type": "registry:component", "title": "Input with Right Button", "description": "A component for inputting text with a button on the right", "dependencies": ["lucide-react"], "registryDependencies": ["input", "button", "label"], "files": [ { "path": "registry/default/components/input/input-with-right-button.tsx", "type": "registry:component", "target": "components/input-with-right-button.tsx" } ] }, { "name": "input-with-left-select", "type": "registry:component", "title": "Input with Left Select", "description": "A component for inputting text with a select on the left", "registryDependencies": ["select", "input", "label"], "files": [ { "path": "registry/default/components/input/input-with-left-select.tsx", "type": "registry:component", "target": "components/input-with-left-select.tsx" } ] }, { "name": "input-with-right-select", "type": "registry:component", "title": "Input with Right Select", "description": "A component for inputting text with a select on the right", "registryDependencies": ["select", "input", "label"], "files": [ { "path": "registry/default/components/input/input-with-right-select.tsx", "type": "registry:component", "target": "components/input-with-right-select.tsx" } ] }, { "name": "password-input", "type": "registry:component", "title": "Password Input", "description": "A component for inputting passwords", "dependencies": ["lucide-react"], "registryDependencies": ["input", "button", "label"], "files": [ { "path": "registry/default/components/input/password-input.tsx", "type": "registry:component", "target": "components/password-input.tsx" } ] }, { "name": "copy-input", "type": "registry:component", "title": "Copy Input", "description": "A component for inputting text with a copy button", "dependencies": ["lucide-react"], "registryDependencies": ["input", "button", "label"], "files": [ { "path": "registry/default/components/input/copy-input.tsx", "type": "registry:component", "target": "components/copy-input.tsx" } ] }, { "name": "search-input", "type": "registry:component", "title": "Search Input", "description": "A component for inputting search queries", "dependencies": ["lucide-react"], "registryDependencies": ["input", "button", "label"], "files": [ { "path": "registry/default/components/input/search-input.tsx", "type": "registry:component", "target": "components/search-input.tsx" } ] }, { "name": "input-with-prefix", "type": "registry:component", "title": "Input with Prefix", "description": "A component for inputting text with a prefix", "registryDependencies": ["input", "label"], "files": [ { "path": "registry/default/components/input/input-with-prefix.tsx", "type": "registry:component", "target": "components/input-with-prefix.tsx" } ] }, { "name": "input-with-suffix", "type": "registry:component", "title": "Input with Suffix", "description": "A component for inputting text with a suffix", "registryDependencies": ["input", "label"], "files": [ { "path": "registry/default/components/input/input-with-suffix.tsx", "type": "registry:component", "target": "components/input-with-suffix.tsx" } ] }, { "name": "input-with-left-right-buttons", "type": "registry:component", "title": "Input with Left and Right Buttons", "description": "A component for inputting text with buttons on both sides", "dependencies": ["lucide-react"], "registryDependencies": ["input", "button", "label"], "files": [ { "path": "registry/default/components/input/input-with-left-right-buttons.tsx", "type": "registry:component", "target": "components/input-with-left-right-buttons.tsx" } ] }, { "name": "input-with-email-spell-checker", "type": "registry:component", "title": "Input with Email Spell Checker", "description": "A component for inputting email addresses with spell checking", "dependencies": [ "lucide-react", "@zootools/email-spell-checker", "use-debounce" ], "registryDependencies": ["input", "label"], "files": [ { "path": "registry/default/components/input/input-with-email-spell-checker.tsx", "type": "registry:component", "target": "components/input-with-email-spell-checker.tsx" } ] }, { "name": "user-profile-dropdown", "type": "registry:component", "title": "User Profile Dropdown", "description": "A dropdown menu for user profile actions", "registryDependencies": [ "dropdown-menu", "avatar", "badge", "select", "utils" ], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/components/dropdown-menu/user-profile-dropdown.tsx", "type": "registry:component", "target": "components/user-profile-dropdown.tsx" } ] }, { "name": "action-dropdown", "type": "registry:component", "title": "Action Dropdown", "description": "A dropdown menu for various actions", "registryDependencies": ["dropdown-menu", "button", "utils"], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/components/dropdown-menu/action-dropdown.tsx", "type": "registry:component", "target": "components/action-dropdown.tsx" } ] }, { "name": "button-dropdown", "type": "registry:component", "title": "Button Dropdown", "description": "A dropdown menu for buttons", "registryDependencies": ["dropdown-menu", "button"], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/components/dropdown-menu/button-dropdown.tsx", "type": "registry:component", "target": "components/button-dropdown.tsx" } ] }, { "name": "tag-dropdown", "type": "registry:component", "title": "Tag Dropdown", "description": "A dropdown menu for tags", "registryDependencies": [ "dropdown-menu", "input", "form", "utils", "button" ], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/components/dropdown-menu/tag-dropdown.tsx", "type": "registry:component", "target": "components/tag-dropdown.tsx" } ] }, { "name": "multiple-tags-dropdown", "type": "registry:component", "title": "Multiple Tags Dropdown", "description": "A dropdown menu for selecting multiple tags", "registryDependencies": [ "dropdown-menu", "input", "form", "utils", "button", "badge" ], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/components/dropdown-menu/multiple-tags-dropdown.tsx", "type": "registry:component", "target": "components/multiple-tags-dropdown.tsx" } ] }, { "name": "rich-dropdown", "type": "registry:component", "title": "Rich Dropdown", "description": "A dropdown menu with rich content", "registryDependencies": [ "dropdown-menu", "button", "select", "switch", "utils", "label" ], "dependencies": ["lucide-react", "next-themes"], "files": [ { "path": "registry/default/components/dropdown-menu/rich-dropdown.tsx", "type": "registry:component", "target": "components/rich-dropdown.tsx" } ] }, { "name": "action-with-loading-dropdown", "type": "registry:component", "title": "Action with Loading Dropdown", "description": "A dropdown menu for actions with loading state", "registryDependencies": ["dropdown-menu", "button"], "dependencies": ["lucide-react", "@tanstack/react-query"], "files": [ { "path": "registry/default/components/dropdown-menu/action-with-loading-dropdown.tsx", "type": "registry:component", "target": "components/action-with-loading-dropdown.tsx" } ] }, { "name": "center-with-image-hero", "type": "registry:block", "title": "Center with image hero", "description": "A centered layout with an image and content", "registryDependencies": ["utils", "button"], "dependencies": ["next-themes", "motion"], "files": [ { "path": "registry/default/blocks/hero-sections/center-with-image-hero.tsx", "type": "registry:component", "target": "components/hero.tsx" }, { "path": "registry/default/ui/particles.tsx", "type": "registry:ui", "target": "components/ui/particles.tsx" } ], "css": { "@keyframes rainbow": { "0%": { "background-position": "0%" }, "100%": { "background-position": "200%" } } }, "cssVars": { "theme": { "animate-rainbow": "rainbow var(--speed, 2s) infinite linear" }, "dark": { "--color-1": "oklch(66.2% 0.225 25.9)", "--color-2": "oklch(60.4% 0.26 302)", "--color-3": "oklch(69.6% 0.165 251)", "--color-4": "oklch(80.2% 0.134 225)", "--color-5": "oklch(90.7% 0.231 133)" }, "light": { "--color-1": "oklch(66.2% 0.225 25.9)", "--color-2": "oklch(60.4% 0.26 302)", "--color-3": "oklch(69.6% 0.165 251)", "--color-4": "oklch(80.2% 0.134 225)", "--color-5": "oklch(90.7% 0.231 133)" } } }, { "name": "ai-builder-hero", "type": "registry:block", "title": "AI Builder Hero", "description": "A hero section designed for AI builder applications", "registryDependencies": [ "utils", "https://launchmvpfast.com/r/prompt-input-02.json" ], "dependencies": ["motion"], "files": [ { "path": "registry/default/blocks/hero-sections/ai-builder-hero.tsx", "type": "registry:component", "target": "components/hero.tsx" } ], "css": { ".container-line-wrapper": { "margin-left": "auto", "margin-right": "auto", "width": "100%", "max-width": "800px" }, "@media (min-width: 800px)": { ".container-line-wrapper": { "border-top": "none", "border-bottom": "none", "border-left": "1px solid var(--border)", "border-right": "1px solid var(--border)" } } } }, { "name": "simple-hero-with-content-bottom", "type": "registry:block", "title": "Simple Hero with Content Bottom", "description": "A simple hero section with content at the bottom", "registryDependencies": ["utils", "button"], "dependencies": ["motion"], "files": [ { "path": "registry/default/blocks/hero-sections/simple-hero-with-content-bottom.tsx", "type": "registry:component", "target": "components/hero.tsx" } ] }, { "name": "center-signin-card-with-email-only", "type": "registry:block", "title": "Center Signin Card with Email Only", "description": "A centered sign-in card with email input only", "registryDependencies": ["form", "button", "input", "card"], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/blocks/signin-signup/center-signin-card-with-email-only.tsx", "type": "registry:block", "target": "components/auth/signin.tsx" } ] }, { "name": "center-signin-card", "type": "registry:block", "title": "Center Signin Card", "description": "A centered sign-in card with email and password inputs", "registryDependencies": ["form", "button", "input", "card"], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/blocks/signin-signup/center-signin-card.tsx", "type": "registry:block", "target": "components/auth/signin.tsx" } ] }, { "name": "center-signup-card", "type": "registry:block", "title": "Center Signup Card", "description": "A centered sign-up card with email and password inputs", "registryDependencies": ["form", "button", "input", "card"], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/blocks/signin-signup/center-signup-card.tsx", "type": "registry:block", "target": "components/auth/signup.tsx" } ] }, { "name": "simple-signin", "type": "registry:block", "title": "Simple Signin", "description": "A simple sign-in form with email and password inputs", "registryDependencies": ["form", "button", "input"], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/blocks/signin-signup/simple-signin.tsx", "type": "registry:block", "target": "components/auth/signin.tsx" } ] }, { "name": "simple-signup", "type": "registry:block", "title": "Simple Signup", "description": "A simple sign-up form with email and password inputs", "registryDependencies": ["form", "button", "input"], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/blocks/signin-signup/simple-signup.tsx", "type": "registry:block", "target": "components/auth/signup.tsx" } ] }, { "name": "navbar-01", "type": "registry:block", "registryDependencies": [ "utils", "navigation-menu", "button", "popover" ], "files": [ { "path": "registry/default/blocks/navbar/navbar-01.tsx", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }, { "name": "navbar-02", "type": "registry:block", "registryDependencies": [ "utils", "navigation-menu", "button", "popover" ], "files": [ { "path": "registry/default/blocks/navbar/navbar-02.tsx", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }, { "name": "navbar-03", "type": "registry:block", "registryDependencies": [ "utils", "navigation-menu", "button", "https://launchmvpfast.com/r/use-is-mac.json", "separator", "popover" ], "dependencies": ["next-themes"], "files": [ { "path": "registry/default/blocks/navbar/navbar-03.tsx", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/search.tsx", "type": "registry:component", "target": "components/search.tsx" }, { "path": "registry/default/blocks/navbar/mode-switcher.tsx", "type": "registry:component", "target": "components/mode-switcher.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }, { "name": "navbar-04", "type": "registry:block", "registryDependencies": [ "utils", "navigation-menu", "button", "popover" ], "files": [ { "path": "registry/default/blocks/navbar/navbar-04.tsx", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }, { "name": "navbar-05", "type": "registry:block", "registryDependencies": [ "utils", "navigation-menu", "button", "popover", "command", "https://launchmvpfast.com/r/user-profile-dropdown.json", "separator", "https://launchmvpfast.com/r/use-is-mac.json" ], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/blocks/navbar/navbar-05.tsx", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/team-switcher.tsx", "type": "registry:component", "target": "components/team-switcher.tsx" }, { "path": "registry/default/blocks/navbar/search.tsx", "type": "registry:component", "target": "components/search.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }, { "name": "navbar-06", "type": "registry:block", "registryDependencies": [ "utils", "navigation-menu", "button", "popover" ], "files": [ { "path": "registry/default/blocks/navbar/navbar-06.tsx", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }, { "name": "navbar-07", "type": "registry:block", "registryDependencies": [ "utils", "navigation-menu", "button", "https://launchmvpfast.com/r/use-is-mac.json", "separator", "popover" ], "dependencies": ["next-themes"], "files": [ { "path": "registry/default/blocks/navbar/navbar-07.tsx", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/search.tsx", "type": "registry:component", "target": "components/search.tsx" }, { "path": "registry/default/blocks/navbar/mode-switcher.tsx", "type": "registry:component", "target": "components/mode-switcher.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }, { "name": "navbar-08", "type": "registry:block", "registryDependencies": [ "utils", "button", "https://launchmvpfast.com/r/use-is-mac.json", "separator", "label", "switch", "popover" ], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/blocks/navbar/navbar-08.tsx", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/search.tsx", "type": "registry:component", "target": "components/search.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }, { "name": "navbar-09", "type": "registry:block", "registryDependencies": [ "utils", "navigation-menu", "button", "separator", "select", "popover" ], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/blocks/navbar/navbar-09.tsx", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }, { "name": "navbar-10", "type": "registry:block", "registryDependencies": [ "utils", "navigation-menu", "button", "https://launchmvpfast.com/r/user-profile-dropdown.json", "separator", "select", "popover" ], "dependencies": ["lucide-react"], "files": [ { "path": "registry/default/blocks/navbar/navbar-10.tsx", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] } ] }