Create UI 1.5
AI chat components, Pro blocks, data components, and a neutral theme.
Create UI 1.5 is the biggest update since 1.0. It adds a full family of AI chat components, a new catalog of 73 Pro blocks, and the data components you need for dashboards: Table, Calendar, Date Picker, and Tree View. Toast gained a real queue, menus learned submenus and search, and a new neutral theme joins the palette. Here is what changed since 1.0.
New components
1.5 adds 24 components: 22 to Pro and 2 to the free registry.
Free (2).
- Featured Icon puts an icon in a colored box, with
primary,neutral,danger,success,warning,info, andawayvariants,solid,soft,neutral, andoutlineappearances, and six sizes from2xstoxl. The Pro version adds astylishtype with a gradient fill and ring. It is also whatModalIconrenders now. - Placeholder Logo draws fictional brand logos for mockups and templates: 11 brands (Orbit, Spark, Nexus, Prism, Wellspring, Oasis, Vertex, Sentinel, Atlas, Bloom, and Create UI) as a
lockup,mark, or roundbadge, inbrandcolor orneutralmonochrome, with asolidorgradientfill. It follows dark mode on its own, and the Create UI logo takes your primary color.
Pro (22). By area:
- AI: Chat Message, Chat Message Actions, Chat Conversation, Chat List View, Chat Loader, Chat Attachment, Chat Source, Chat Tool, Chain of Thought, Prompt Input (with the Prompt Input Queue and Prompt Input Tokens add-ons), Prompt Suggestion, Markdown, and Text Shimmer
- Data: Table, Tree View, Filter Bar, and Sparkline
- Dates: Calendar and Date Picker
- Visual: Mesh Gradient
AI components
A new AI Components group in the docs covers everything you need to build a chat interface. Each piece works on its own, so you can use one or all of them.
- Prompt Input is the chat composer. It comes in
stacked,compact, andinlinelayouts, grows with its text, and turns its send button into a stop button while a response streams. The Queue add-on lists follow-up prompts you can reorder by dragging or with the arrow keys. The Tokens add-on brings inline@mentionsand/commands. - Chat Message renders one turn from the assistant or the user, with avatar, bubble, content, and media slots. Chat Message Actions adds the usual row below it: copy, thumbs up and down, regenerate, and an overflow menu.
- Chat Conversation is the scrolling log. It follows new content as it streams, stops following when the reader scrolls up, and offers a button to jump back down.
- Markdown renders model output with Create UI typography. While streaming it fades new words in, shows a caret, and repairs unclosed syntax, and code blocks come with a copy button.
- Chat Tool shows a single tool call as a collapsible card, with arguments, result, errors, and an approve or reject step. Its
statefollows the AI SDK tool lifecycle. - Chain of Thought is a collapsible reasoning timeline with
pending,active,complete, anderrorsteps, including nested ones. - Chat Source adds inline citation pills with a hover preview, plus a collapsible list of every source.
- Chat Attachment shows image and video thumbnails or file cards, with upload and error states, and a picker that also takes drops and pasted images.
- Chat Loader has dots, pulse, and spinner indicators, plus a message-shaped skeleton.
- Chat List View lists chat threads with a selected row, a preview, and per-row actions. It needs no client state, so it works as a Server Component.
- Prompt Suggestion shows starter prompts for an empty chat, as pills or cards.
- Text Shimmer sweeps a highlight across text for "thinking" states, and settles into plain text when
activeisfalse.
Data and dates
- Table is a real
<table>built on React Aria. It supports row selection, sorting, resizable columns, columns pinned to either edge, a sticky header, and drag-and-drop row reordering. It also covers empty, loading, load-more, and infinite-scroll states, a totals footer, and pagination, and auseTableSelectionhook comes with it. - Tree View is a hierarchical list with full keyboard navigation and typeahead. It has cascading checkbox selection, drag-and-drop, and
none,line, orelbowconnector guides. - Filter Bar is the toolbar that sits above a table or list, in
segmented,tabs,search, andselectedvariants. Theselectedvariant is a tinted bulk-action bar. Its size cascades to every control inside it. - Sparkline is a small line or bar trend chart. It colors itself by direction and fades at both edges.
- Calendar supports single, multiple, and range selection, a month and year picker, a presets rail, and a footer with actions. It comes in
lgandmdsizes androunded,pill, andsquareshapes. - Date Picker opens a Calendar from a trigger that looks and sizes like an Input, presets included.
Introducing Blocks
Blocks are complete, ready-made screens and sections built from Create UI components. 1.5 opens the catalog with 73 Pro blocks in 7 categories.
- Authentication (12): sign up, sign in, phone sign in, OTP, forgot password, new password with a strength meter, check your email, verification failed, SSO, two-factor, magic link, and account locked.
- Authentication Plain (12): the same 12 flows as full-screen layouts without a card.
- Menus (24): file and folder menus, sort, member and assignee pickers, status, tags, account, workspace switcher, column visibility, AI model picker, bulk actions, share and permissions, and loading, error, and empty states.
- Overlay (15): confirmation, destructive with type to confirm, create, success, error, feedback, warning, share, session timeout, cookie consent, what's new, filters, rename, and cart.
- Header Navigation (5): from a marketing top bar with a mobile drawer to floating compact and pill headers.
- Sidebar Navigation (3): CRM, crypto, and HR app sidebars, two of them collapsible to an icon rail.
- Sections (2): page headers with actions or a search field.
Browse them at /blocks. Every block has a live preview you can switch between mobile, tablet, and desktop, resize by dragging, and view in light or dark. With a seat, you can read each block's source in a code viewer with a file tree, then install it in one command. Sub-components and dependencies come along.
New in existing components
- Toast has a real queue now. Mount
<Toaster />once, then calltoast()from anywhere, or use theuseToast()hook. Toasts stack in any corner and expand on hover, and hovering or focusing the stack pauses their timers. Set a per-toastduration, or passnullto keep a toast open until it is dismissed. - Dropdown Menu gained nested submenus with
Dropdown.Suband a pinned search field withDropdown.Search.DropdownPopovercan filter its items throughfilter,query, andonQueryChange. Long menus scroll inside a Scroll Area now. - Context Menu gained submenus through
ContextMenu.Sub, and adefaultOpenprop. Right-clicking while the menu is open moves it to the cursor. - Combobox opens its list when you click the input, and the list matches the width of the whole field.
- Phone Input detects the country when you paste an international number, stops input at the country's maximum length, and keeps the caret in place while it reformats. Its details report
isPossibleandisValid, and a newcountryLabelprop labels the country select. - Stepper stacks vertically on mobile by default. Pass
responsive={false}to opt out. - Separator supports
direction="vertical"in the free version. - Avatar Group takes a
ringprop ofwhiteorblackfor the rings between overlapping avatars. - Textarea uses the same overlay scrollbar as Scroll Area, which takes a new
viewportClassNameprop. - Social Login Button takes children to replace its "Continue with" label.
- Pro Navbar has a new mobile menu: a drawer from the right with a backdrop, scroll lock, and focus trap. It adds collapsible
NavbarMenuGroupsections, plus labels, separators, a sticky footer, and item descriptions. - Pro Alert Banner has a new
autolayout that stacks on mobile and switches to a row frommdup. - Pro Input Stepper animates its value digit by digit.
- Pro Pagination shows a three-page window on mobile, and its page-jump input only accepts digits.
- Pro Sidebar scrolls its content with edge fades.
- Pro Popover:
PopoverClosetakes children for a custom close control.
Before you upgrade
A few changes need a look if you are coming from 1.0.
Renamed sizes
- Pro Modal sizes are now
md,lg, andcover. The oldsmismdand the oldmdislg. The default is stillmd, but it now means the smaller 430px modal, so a modal on the default grows smaller.ModalIconfollows the Featured Icon size scale, and themodalIconVariantsexport was removed. - Pro Command sizes are now
mdandlg, and the default moved tolg. A default palette looks the same, but an explicitsize="md"now renders the smaller one. - Input OTP sizes are now
lg,sm, andxs. The oldsmisxs,mdwas removed, andlgandsmscale down below thelgbreakpoint.
New defaults. If you relied on a default, set the value explicitly.
- The default size moved to
smfor Stepper, Switch, Switch Group, Radio, Radio Group, Checkbox Group, Breadcrumb, and Pro Alert Banner. It moved toxsfor Dropdown Menu and Text Link. - Close Button now defaults to the
softappearance and thepillshape. - Pro Alert Banner defaults to the new
autolayout, and Pro Rating to thefadeanimation.
API and markup
usePhoneInput:onValueChangereceives a value object now, not a digit string:{ value, country, dialCode, nationalNumber, isPossible, isValid }.- Pro Navbar:
NavbarMenuis a modal drawer now and hides frommdup. For the old card under the bar, passanchor="bar". - Textarea always renders inside a
data-slot="textarea-wrapper"element, and Label isw-fitinstead ofw-full. Check any custom CSS that targets them. - Free Input Stepper no longer animates its digits. The animated version lives in the Pro Input Stepper.
CLI, MCP, and the agent skill
init --theme neutralsets up the new neutral primary theme.init -t next-monorepoinstalls the full token layer now, and respects--theme,--neutral, and--font-variant. With npm, yarn, or bun it stops early and tells you to use pnpm.initno longer writes self-referencing font variables that could breaknext/font, and it removes the default@themetokens and body font that create-next-app adds.addinstalls blocks with the same seat that unlocks Pro components.- MCP: example search ranks results by name and returns fewer off-topic hits, and returned code uses your project's import paths (
@/components/ui,@/hooks,@/lib). - Agent skill: covers every new component, knows the neutral theme, and has new guidance on picking valid icon names, Server and Client Component boundaries, and accessible menus.
Theming
- Neutral theme. A new
neutralprimary theme maps the primary scale onto your selected neutral scale, for a monochrome interface. - Headings.
heading-h5is 18, 20, and 24px across mobile, tablet, and desktop (it was 16, 18, and 24px), andheading-h6is 16, 18, and 20px (it was 16, 16, and 20px). Re-runinitor re-addindexto pick them up.
Docs and site
- Asset library. A new searchable catalog at
/assetsfor everything in@create-ui/assets: flags, banks, brands, payments, app store badges, social marks, and the full icon set, with install commands for every package manager. - New to Code. A step-by-step guide from opening a terminal to adding your first component, with an optional build-with-AI path.
- Foundation pages rebuilt. Colors, Typography, Spacing, Rounded, and Shadows have per-breakpoint token tables, light and dark splits, and click-to-copy tokens.
- Better previews. Component previews resize by dragging, report their height more reliably, and use the same preview frame as the blocks catalog.
Fixes and polish
Accessibility
- Chip activates with Enter and Space, is focusable only when clickable, and its remove button can be reached by keyboard.
- Radio Group passes
disabledandinvaliddown to every radio. - Pro Input Tag puts its
idandaria-labelon the real input, so<label htmlFor>works. - Pro Info Tooltip triggers have an accessible label.
- Scroll Area and Input OTP use outline focus styles.
Invalid states. Switch, Checkbox, Radio, and Text Link show an error color when invalid.
Visual
- Select aligns its selected label with the placeholder.
- Select, Combobox, and Dropdown Menu separators are unified.
- Disabled dropdown items dim their description.
- Segmented Control keeps its indicator in place inside zooming modals and popovers.
- Pro Modal clips its bottom corners and keeps content inside its padding.
- Inline Alert titles truncate, and Breadcrumb items no longer wrap.
- Textarea keeps its focus border in Safari.
- Accordion dropped a hard minimum width.
The full library
The free registry now spans 50 components, with 35 Pro-only components and 73 Pro blocks on top.
Free (50): Accordion, App Store Badge, Aspect Ratio, Avatar, Badge, Breadcrumb, Button, Button Group, Checkbox, Checkbox Group, Chip, Close Button, Combobox, Context Menu, Country Flag, Credit Card Input, Date Input, Dropdown Menu, Dropzone, Featured Icon, Field, Inline Alert, Input, Input Group, Input OTP, Input Stepper, Label, Pagination, Phone Input, Placeholder Logo, Progress, Radio, Radio Group, Scroll Area, Segmented Control, Select, Separator, Slider, Social Login Button, Spinner, Status Badge, Stepper, Switch, Switch Group, Tab Menu, Tabs, Text Link, Textarea, Toast, Tooltip.
Pro (35): Alert Banner, Calendar, Chain of Thought, Chat Attachment, Chat Conversation, Chat List View, Chat Loader, Chat Message, Chat Message Actions, Chat Source, Chat Tool, Command, Date Picker, FAB Button, File Format, File Upload, Filter Bar, Info Tooltip, Input Tag, Markdown, Mesh Gradient, Modal, Navbar, Password Strength, Popover, Prompt Input, Prompt Input Queue, Prompt Input Tokens, Prompt Suggestion, Rating, Sidebar, Sparkline, Table, Text Shimmer, Tree View.
Of these, Featured Icon, Input Stepper, Pagination, Separator, Slider, Tab Menu, and Tabs ship a free base plus a richer Pro version.
More components, blocks, and themes follow from here, and everything you add stays source you own.