AppCreator
neon-ui/app-creatorFreeComponent
The describe-an-app bar: auto-growing prompt, free/paid plan segment, and a create action with an in-flight state.
Install it
npx shadcn@latest add https://ui.neon.com/r/app-creator.jsonSource
1"use client";23import type { ComponentProps, KeyboardEvent } from "react";4import { useCallback, useEffect, useRef, useState } from "react";56import type { AppPlan } from "@/components/status-badge/status-badge";7import { Button } from "@/components/ui/button";8import { cn } from "@/lib/utils";910export type AppCreatorProps = Omit<ComponentProps<"div">, "onSubmit"> & {11 /** Called with the prompt and plan when the user creates. */12 onCreate: (prompt: string, plan: AppPlan) => void;13 /** Show the in-flight state and lock the controls. */14 isCreating?: boolean;15 placeholder?: string;16 /**17 * Example prompts cycled through the placeholder with a typewriter18 * rhythm while the field is empty. Overrides `placeholder`.19 */20 placeholderPrompts?: string[];21 /** Uncontrolled initial plan. */22 defaultPlan?: AppPlan;23 /** Label for the create action. */24 actionLabel?: string;25 disabled?: boolean;26};2728/* ─────────────────────────────────────────────────────────29 * The "describe an app" bar: one bordered surface whose30 * border warms neutrally while you type (color belongs to31 * the CTA and caret, never the frame). The prompt is an32 * auto-growing textarea; the foot holds a quiet free/paid33 * segment on the left and the create action on the right.34 * Enter creates (a quiet "press ⏎" hint appears once the35 * prompt is satisfied), Shift+Enter breaks a line. While36 * creating, everything locks and the CTA shimmers — the37 * prompt stays visible so the wait has context.38 * ───────────────────────────────────────────────────────── */39const PLANS: AppPlan[] = ["free", "paid"];4041/* ─────────────────────────────────────────────────────────42 * PLACEHOLDER STORYBOARD — "the pitch"43 *44 * While the field is empty, example prompts type themselves45 * out character by character, hold, then erase — the bar46 * keeps pitching ideas until you have your own. Typing a47 * single character stops the show instantly. Static first48 * prompt under reduced motion.49// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from neon-ui
All 77 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| ActivityFeedactivity-feed | neon-ui | Components | Free | 2 deps | |
| AgentChatagent-chat | neon-ui | Components | Free | 6 deps | |
| AnimatedWashanimated-wash | neon-ui | Components | Free | no deps · 2 files | |
| ApiKeyListapi-key-list | neon-ui | Components | Free | 2 deps | |
| AppCardapp-card | neon-ui | Components | Free | 2 deps | |
| AuthFormauth-form | neon-ui | Components | Free | no deps | |
| AutoscaleChartautoscale-chart | neon-ui | Components | Free | 1 dep | |
| Badgebadge | neon-ui | Components | Free | 2 deps |
