Release notes
Every Hirael release, newest first, with the components and blocks it added and the fixes it shipped.
Updated October 13, 2026
7.5.0
Auth blocks, previews at real size
New:
- Login 04. Email first, password second, inside one wide card. A chip shows the email so you can switch accounts, and a hidden username field lets password managers fill the right one.
- Login 05. GitHub, Google and Apple stacked, then email and passkey. Email sends a magic link.
Improved:
- Auth blocks use your
CardandAlert, with a plain background, a sans heading and no entrance animation. - Login 01 puts the forgot-password link beside the password label, adds a
passkey option and shows failed attempts in an
Alert. - Login 02 swaps the grid background and glow for a world map in your theme's colors, and its form leads with Google and GitHub.
- Sign Up 01 leads with providers, shows a password hint under the strength meter and replaces the terms checkbox with a line of text.
- Forgot Password 01, OTP Verify 01 and Two-Factor Setup 01 share the same layout, with sentence-case copy and no uppercase labels.
- Templates follow your theme. Agency Landing, USD Halo, Nexacore, Portfolio and Mindloop drop hard-coded grays and brand colors for your tokens, so they work in dark mode.
- Magnetic Button takes
variantandsize, so a link rendered through it can look like any of your buttons.
On the site:
- Every block page lists its category. A row under the title links to each block in the same category, with the current one marked and a link back to the grid.
- Previews render at real size. Mobile, tablet and desktop load at 380, 768 and 1280 pixels and scale down to fit, with a zoom menu beside the RTL and theme toggles.
7.4.0
Filter builder, AI parts and 18 more
New, for scheduling:
- Date Time Picker. A calendar beside hour and minute columns in one field, with a 12-hour clock option and minute steps.
- Time Slot Picker for booking a meeting time.
New, for data:
- Filter Builder. A Linear-style filter bar with option, multi-select, text,
number and date filters, plus
applyFiltersfor client-side lists. - Virtual List, Description List and Comment Thread.
New category, AI: Reasoning, Tool Call with an approval step, Sources with citation previews, and Model Selector.
Also new: Theme Toggle, Language Switcher, Masked Input, PDF Viewer, Upload Queue, File Card, a mobile Bottom Navigation, Swipe Actions and Pull to Refresh, and three hooks: useMediaQuery, useDebounce and useCopyToClipboard.
Changed:
- Spinner and Combobox are no longer Hirael items, because shadcn/ui ships both. Blocks and components that use them now install your own copy from shadcn instead of overwriting it.
- Kbd is now Kbd Button: only the pressable keycap, beside shadcn's own Kbd and KbdGroup. Blocks that show shortcuts use shadcn's Kbd directly.
- Diff Viewer is removed. Copies you already installed keep working.
- Floating Toolbar and Floating Action Button move focus with Home and
End as well as the arrow keys. A pressed toolbar button is now styled through
aria-pressed, so restyle it witharia-pressed:instead ofdata-active. - useControllableState keeps the same setter between renders even when
onChangeis an inline function.
Added
7.3.0
Fields that match your inputs
New:
- Nested App Sidebar. An app sidebar that swaps to a whole new list when you open a project or settings, instead of expanding a dropdown. The list slides in, a row at the top slides back, and it takes on your theme.
- Hooks & utilities. The helpers the components are built on now have
their own pages and install on their own:
useControllableState,useReducedMotion,composeRefsandformatBytes. Hooks land in yourhooksfolder and helpers inlib.
Improved:
- Pickers and selects look like your inputs. Date, date range, time,
month, year and color pickers, Lazy Select and the Command Palette trigger
are now your shadcn
Button. Tag Input, Duration Input, Multi Select and Number Range sit onInputGroup. Corners, shadow, focus ring and the invalid state come from your theme. - Focus rings are back on Currency Input, Phone Input and Autocomplete.
- Every label can be translated. Rich Text Editor and Data Table take a
labelsprop, and the other components take a prop per string. - Avatar Stack is built on shadcn Avatar, so a broken image falls back to the initials.
- Announcement Bar's
primarytone uses your primary color. - Date Range Picker fits on a phone screen.
- Spinners, keyboard keys and Magnetic Button's default look now come from your shadcn components, in blocks as well as components.
- Activity Feed avatars are shadcn Avatars, so a broken image falls back to the initials.
- App shells in right-to-left layouts. The sidebar in the Sidebar Admin, Workspace Sidebar and Documents app shells now sits on the right instead of covering the page.
Removed:
- Resizable Panels. It only re-exported shadcn Resizable; install
resizabledirectly. - Stat Card. Use Metric Card, which covers the label, value and trend.
Updated
- Date Picker
- Date Range Picker
- Time Picker
- Month Picker
- Year Picker
- Color Picker
- Lazy Select
- Multi Select
- Tag Input
- Duration Input
- Number Range
- Command Palette
- Currency Input
- Phone Input
- Autocomplete
- Rich Text Editor
- Data Table
- Avatar Stack
- Announcement Bar
- Image Compare
- Spotlight Card
- Cursor Glow
- Magnetic Button
- Confirm
- File Dropzone
- Media Input
- Password Input
- Activity Feed
- Footer 03
- Footer 06
7.2.0
Five integrations sections and a status grid
The integrations category grows from three sections to eight. Each one comes in both the Radix and Base UI versions.
- Integrations 4: a centered hub with six linked tiles, and small pulses that travel in and out along each line.
- Integrations 5: three tools feeding a central hub and three receiving from it, joined by curved paths. Good for explaining two-way sync.
- Integrations 6: a row of tiles hung on a shallow arc over a faded grid. Each tile lifts when you hover it.
- Integrations 7: copy and a button beside a grid of nine tiles. One tile is featured and moves on by itself. Hover or focus the grid to pause it, or click a tile to pick it.
- Integrations 8: the quiet option. A short heading, one row of icons and a link to the full list.
The pulses and the cycling tile stop for visitors who prefer reduced motion.
Also new: Status 2, a grid of service health cards. Each card has a status dot, a response-time sparkline, and uptime and response figures side by side.
7.1.0
Seven new kinds of blocks and seven new components
New kinds:
- Surveys. An NPS card whose follow-up question changes with the score, a
four-step feedback form with a review step, a cancellation survey that offers
a discount or a pause depending on the reason, and a one-question-per-screen
flow with letter-key answers and a branch that skips a question. All four are
built on shadcn's Questionnaire, so they need a current shadcn style (the
older
new-york-v4style doesn't have it). - Search. Faceted docs search whose counts react to the other filters, a search field with recent searches and full keyboard control, a results page with type tabs and a "Did you mean" correction, and a help center search.
- Page headers. A detail header with copy link, archive and undoable delete, a tabbed header that keeps the tab in the URL, an invoice list header whose toolbar searches, filters, sorts and switches to a grid, and an analytics header whose date range swaps every metric.
- Empty states. A first run that creates your first project, a no-results state that suggests close matches, a failed load that retries, and a members panel you invite people from.
- Charts. Revenue bars you can stack or group, traffic areas with a shared crosshair, a channel donut linked to its ranked list, and a conversion funnel that shows where people drop off. Each one writes a one-line summary from its own numbers.
- Chat. A two-pane messenger, a support widget with quick replies, a team channel with reactions and reply threads, and a shared inbox with snooze, internal notes and saved replies.
- Bento grids. Four grids where every tile works: a deploy log that streams, a kanban you can move, a funnel that follows the segment you pick, and an audit trail you can pause.
New components:
- Number Field. Step buttons, arrow keys, hold to repeat, and currency, percent or unit formatting. It submits the raw number.
- Segmented Control. One choice with a sliding thumb, keyboard support that mirrors in RTL, and a full-width mode.
- Autocomplete. Free text with suggestions from a list or an async search, with optional inline completion.
- Checkbox Group. Select all with a mixed state, nested groups, limits and a search that narrows the list.
- Gauge, Meter and Text Shimmer. A radial reading with threshold bands, a usage bar with segments, and a moving highlight for loading labels.
Also new:
- Framed 404 Page. A 404 framed by side rails, with a photo, a way home and a band of popular pages.
Changed:
- Every block has a real name. "Survey 3" is now "Cancellation Survey" and "Chart 1" is "Revenue Bar Chart", in the sidebar, on each page and in search. Install names stay the same.
- Search finds more. Common words like price, 404, 2FA, donut, typeahead or inbox now lead to the right items.
- Faster pages. Previews load when they scroll into view, fonts from other pages are no longer fetched, hero images load first, build files are cached for a year, and headlines no longer fade in from nothing.
- Sans figures in more places. Date pickers, avatars, deltas, counts and prices moved off the monospace font. Real code and commands keep it.
Fixed:
- Copy Button, Stepper and Rating demos scrolled sideways on phones.
- Auth blocks asked the site for a page that doesn't exist.
- Segmented Control's thumb stretched while it moved between options of different widths.
Added
- Survey 01
- Survey 02
- Survey 03
- Survey 04
- Search 01
- Search 02
- Search 03
- Search 04
- Page Header 01
- Page Header 02
- Page Header 03
- Page Header 04
- Empty State 01
- Empty State 02
- Empty State 03
- Empty State 04
- Chart 01
- Chart 02
- Chart 03
- Chart 04
- Chat 01
- Chat 02
- Chat 03
- Chat 04
- Bento 01
- Bento 02
- Bento 03
- Bento 04
- Not Found 02
- Number Field
- Segmented Control
- Autocomplete
- Checkbox Group
- Gauge
- Meter
- Text Shimmer
7.0.0
Every item follows your theme
Hirael items now take on the design system of the project they land in. If you've customized your shadcn theme or primitives, installed items match it with no class cleanup.
Breaking:
- Kbd now renders a
<kbd>, like shadcn's. The pressable 3D keycap isKbdButton.KbdDisplaystill works but is deprecated. - useCountdown returns
nulluntil the component mounts, so server and browser render the same thing. - Header 2 exports the header as
Header02. The default export is a preview wrapper. - Callout no longer adds its own outer margin.
Your theme, everywhere:
- Blocks and templates no longer use Hirael's own accent colors. Highlights,
glows and live markers use your
primarycolor, so they follow your theme and the Customizer. - Blocks that relied on this site's
containerclass now center and pad themselves, so they no longer run edge to edge after install. - Status colors (success, warning, info) now ship with every item that uses them.
Improved:
- Your own handlers and refs are respected. Passing
onClick,onKeyDown,onPointerDownor arefto a part now runs alongside the built-in behavior instead of replacing it, across about 30 components. Callevent.preventDefault()to skip the built-in behavior. - Typing in Arabic, Chinese or Japanese no longer commits a tag, mention or inline edit mid-word.
- Dates and numbers render the same on the server and in the browser, with
localedefaulting toen-US. Pickers takelocale,weekStartsOn(any day, including Saturday) anddisabledDateon the root. - Date Range Picker won't select a range across disabled days, closes when
the range is complete, and supports
month/onMonthChange. - Kanban reports a keyboard move once, when you drop the card. Escape cancels without reporting anything.
- Sortable no longer starts a drag from buttons or inputs inside an item.
- Rich Text Editor no longer fires a change when you set its value. The
callback is now
onValueChange. - Copy Button falls back when clipboard access is blocked and reports
failures with
onCopyError. - QR Code draws dark modules on a light background, so it scans in dark mode too.
- JSON Viewer handles circular values. Diff Viewer uses a much faster diff for large files.
- Phone Input drops the national leading zero in E.164 output and shares the Country Select list.
- Command Palette ignores its shortcut while you type in a field.
- Magnetic Button, Tilt Card, Spotlight Card and Cursor Glow ignore touch drags.
- Callout gains
CalloutTitleandCalloutDescription, and every tone set now readsneutral / info / success / warning / destructive. Older names still work. - Labels like "Clear", "Copied" and "Loading…" can be changed through props, for any language.
Blocks:
- Settings 1 and 2, Members, AI Chat and Subscription Plans confirm destructive actions and validate their forms.
- VM Table and Pod Table use the Table primitive, with a sticky header and sorting.
- App Shell 2 has a mobile menu. Env Editor keeps a revealed secret on its own row after a delete.
- Dashboard 4 calculates its peak-hours share from the data.
- Status 1 is far quicker to move through by keyboard, and Stats 1 shows real numbers before the page loads.
- Code snippets in blocks use the regular font with tabular numbers.
Updated
- Activity Feed
- Agency Landing
- AI Chat 01
- AKOR
- API Keys
- App Shell 01
- App Shell 02
- App Shell 03
- App Shell 04
- App Shell 05
- Asme
- Audit Log
- Aurael
- Billing Card
- Blog 01
- Blog 02
- Careers 01
- Careers 02
- Changelog 01
- Changelog 02
- Cluster Map
- Coming Soon 01
- Coming Soon 02
- Comparison 01
- Comparison 02
- Comparison 03
- Comparison 04
- Contact 01
- Contact 02
- Contact 03
- Contact 04
- Cookie Consent
- Creative Studio
- CTA 01
- CTA 02
- CTA 03
- CTA 04
- CTA 05
- CTA 06
- CTA 07
- Dashboard 01
- Dashboard 02
- Dashboard 03
- Dashboard 04
- Dashboard 05
- Dashboard 06
- Data Table
- Deployment History
- Ecommerce 01
- Ecommerce 02
- Ecommerce 03
- Ecommerce 04
- Env Variables Editor
- Error 01
- FAQ 01
- FAQ 02
- FAQ 03
- FAQ 04
- FAQ 05
- FAQ 06
- FAQ 07
- Feature 01
- Feature 02
- Feature 03
- Feature 04
- Feature 05
- Feature 06
- Feature 07
- Feature 08
- Feature 09
- Feature 10
- Feature 11
- Footer 01
- Footer 02
- Footer 03
- Footer 04
- Footer 05
- Footer 06
- Forgot Password 01
- Header 01
- Header 02
- Header 03
- Hero 01
- Hero 02
- Hero 03
- Hero 04
- Hero 05
- Hero 06
- Hero 07
- Hero 08
- Hero 09
- Hero 10
- Image Gallery 01
- Image Gallery 02
- Inspector Panel
- Integrations 01
- Integrations 02
- Integrations 03
- Kubernetes Pod Table
- KPI Grid
- Log Viewer
- Login 01
- Login 02
- Login 03
- Logo Cloud 01
- Logo Cloud 02
- Logo Cloud 03
- Logo Cloud 04
- Maintenance 01
- Maintenance 02
- Members 01
- Message Thread
- Mindloop
- Network Topology
- Newsletter 01
- Newsletter 02
- NexaCore
- Not Found 01
- Notifications
- Novael
- Onboarding 01
- OTP Verify 01
- Portfolio
- Pricing 01
- Pricing 02
- Pricing 03
- Pricing 04
- Pricing 05
- Prism
- Process 01
- Process 02
- Prompt Input
- Quick Actions
- Resource Status
- Rivr
- Server Card
- Settings 01
- Settings 02
- Sign Up 01
- Stats 01
- Stats 02
- Stats 03
- Status 01
- Storage Browser
- Subscription Plans
- Team 01
- Team 02
- Team 03
- Tenant Switcher
- Terminal
- Testimonial 01
- Testimonial 02
- Testimonial 03
- Testimonial 04
- Testimonial 05
- Two-Factor Setup 01
- Usage Dashboard
- USD Halo
- Velorah
- VM Table
6.9.0
Video Player and Relative Time
New:
- Video Player. The same parts as Audio Player, for video: play, a seek bar with a buffered tint, time readouts, volume and full screen. Click the video or press Space to play, F for full screen, M to mute. Controls fade out while it plays and come back when you move the pointer.
- Relative Time. A live "3 minutes ago" label on a real
<time>element, formatted for any locale. Fresh times tick every second and older ones refresh less often, all from one shared timer.
Improved:
- Blur Reveal, Scroll Reveal and Text Reveal no longer ship hidden HTML. Content already on screen shows right away, and content below the fold reveals as you reach it. All instances on a page share one observer.
- Header 2. The mobile menu now drops in under the bar instead of stretching it, so opening it doesn't shift the page.
- ASME. The hero video fades in and out more smoothly.
6.8.1
Primitives match shadcn/ui exactly
No new items this time. The primitives underneath everything got resynced with shadcn/ui, so what a block expects and what your project already has are the same thing.
Changed:
ui/*is shadcn/ui, verbatim. The Radix tree now matches the CLI'snew-york-v4files and the Base UI tree matchesbase-vega, apart from right-to-left support: logical spacing, mirrored chevrons, and a carousel that follows the document direction. Hirael's own direction plumbing inside dialogs, sheets, popovers and tooltips is gone;diron<html>is enough.SheetBodywas a Hirael addition and is removed with it.- Blocks no longer restyle components. Colour, type and spacing overrides on shadcn and Hirael components inside blocks and templates moved to variants, wrappers or plain elements, so a block looks the same whether it renders against Hirael's copy of a primitive or yours.
- Multi-select and lazy-select triggers.
MultiSelectTriggeris a single box that is also the popover trigger, so the list matches its full width and chips can carry their remove buttons; it takesdivprops plusdisabled. Both it andLazySelectTriggerdrop thechildrenrender-prop form. If you passed one, render your own trigger withPopoverTriggerinstead.
Fixed:
- Sidebar and sheet on small screens. The sidebar's mobile breakpoint and drawer follow shadcn's again, so app shells behave like the docs describe.
Updated
6.8.0
Two new templates, Prism and AKOR
New:
- Prism. A dark, liquid-glass landing page for an AI web design agency. The hero plays a looping video under a headline that blurs in word by word, with a partners row pinned to its foot. Below it: a how-it-works statement over video, two alternating feature rows with looping media, a four-card benefits grid, a stats band on a desaturated loop, three testimonials, and a video call to action that carries the footer. Barlow and Instrument Serif on a pure-black palette.
- AKOR. A landing page for an intelligent-security firm. A fixed uppercase navbar sits over a full-screen video hero whose copy is anchored to the bottom corner, then the page inverts to a near-white services band with a numbered 2x2 card grid, drops back to black for an about split with a looping video beside the mission, and closes on a simple footer. Sora on a charcoal palette with a vivid green primary.
Both ship in the Radix UI and Base UI trees, and both use CSS-only entrances so nothing waits on hydration.
6.7.0
Sixteen new sections for the thinnest kinds
New:
- Header 3. A marketing header with Product, Solutions and Resources mega menus. Each flyout pairs a two-column link list with a featured entry, and on small screens the same groups fold into a side sheet.
- Process 2. Four install steps. Picking one fills the connector up to it and swaps in a short checklist, and the section ends on a command you can copy.
- Stats 3. A growth story beside four metrics measured against their targets, with a Quarter / Year toggle.
- Blog 2. A post index as dated rows rather than cards, filtered by category, with a thumbnail that shows up on hover.
- Changelog 2. A public roadmap in Now, Next and Later columns. Items take upvotes and sort by votes or date.
- Newsletter 2. A waitlist that returns your place in line, an invite link to copy and the rewards referrals unlock.
- E-commerce 3. A product page with a gallery, colour swatches and a size grid that disables sizes sold out in the chosen colour. Quantity is capped at what is in stock.
- Team 3. A distributed team directory showing each person's local time and whether they are inside working hours, sortable by time zone.
- Careers 2. A single job posting with the hiring stages spelled out and a sticky apply form that takes a CV and checks what you entered.
- Image Gallery 2. A photo grid you can switch to rows, with captions on hover and a lightbox that opens at the photo you picked.
- Logo Cloud 4. Customer wordmarks as tabs. Each one opens the result that customer got, and the row moves on by itself until you choose one.
- Pricing 5. A usage calculator. Drag the sliders and the estimate, line items and volume tier update as you go, monthly or yearly.
- Comparison 4. A plan matrix that highlights the column you point at and can hide every row where the plans are the same.
- Testimonial 5. Customer stories that lead with a number, in a carousel with a counter and a segmented progress bar.
- E-commerce 4. A category page with filters that really filter: counts react to each other, chips remove a filter, and on phones it all moves into a sheet.
- Contact 4. A support form that shows the current reply time and suggests help articles as you type the subject.
Changed:
- Feature 11 moves. The tab indicator slides, the active summary opens smoothly, and each preview panel eases in row by row.
- Sections use the sans face. Numbers, dates and initials across the blocks moved from the monospace font to tabular sans figures. Real code and terminal output keep monospace.
- Every section enters. Blocks that appeared all at once now rise in on a short stagger, and filters, tabs and success states ease between states instead of snapping. All of it stops under reduced motion.
- Controls that did nothing now work. Sign-in forms validate and show errors, Add to cart updates a cart count, Checkout confirms an order, Connect toggles an integration, billing toggles swap prices, install commands and email addresses copy, notifications mark as read, tables filter by status, and the AI chat history opens past conversations.
- Near-duplicates tell themselves apart. Pricing 1 and 2, Feature 2 and 3, Process 1, FAQ 7 and App Shell 4 and 5 now each cover a different case.
- Heavy decoration is lighter. Spinning rings, pulsing glows and per-card canvases gave way to static accents, and decorative dots, boxed icon tiles and real brand names came out of the copy.
Fixed:
- Pricing 3 showed "20% off" for a 17% saving.
- Changelog 1 could show dates a day early west of UTC.
- OTP Verify 1 and Two-Factor Setup 1 code inputs overflowed on phones.
- Contact 3 ran the words of its heading together.
- Pricing 4 and Testimonial 3 highlights never showed.
- Logo Cloud 1 left empty grid cells filled in, and its numbers disagreed.
- Feature 1 and Hero 9 promised more items than they listed.
- Footer 3 and Footer 4 computed the year while rendering.
6.6.0
A new logo, drawn once
Changed:
- A new mark and wordmark. The H mark is a solid glyph rather than the old
outlined arch, and the wordmark is set beside it as a single lockup.
Logogives you the full lockup,LogoMarkthe bare H, andLogoTilethe H on a raised square, so headers, sidebars and app shells pick the one that fits without redrawing anything. - One source for the shapes. The paths live in
lib/logo-paths.ts, which both the React components and the icon routes import. The favicon, the Apple touch icon, the PWA icon and the social image render through Satori instead of the DOM, so they used to carry their own copy of the artwork and drift from it. Now there is one copy to change. - Icons are simpler. The app icons lost the inner gloss, hairline border and drop shadow, and the corner radius is tighter. At 32 pixels the extra layers read as mud; the mark alone stays legible.
- The footer wordmark is the logo. The oversized name behind the footer used to be serif text with a gradient clipped to it. It is the actual wordmark now, filled with the same gradient, so it matches the mark above it at every width.
- Brand placeholders in blocks follow. Every footer, header, app shell,
auth screen and the agency template carried a stand-in mark of their own.
They all use the new H, and the sample addresses scattered through members,
settings and the shells moved to
hirael.com.
6.5.0
Two feature blocks, and a rebuilt first one
New:
- Feature 10. A mixed-cell bento for a product overview. One lattice holds a quote with attribution, two metric tiles, a latest-drop card with its own action, and a three-job list. Each cell carries a different kind of content rather than repeating the same tile six times.
- Feature 11. A feature switcher. Three capabilities sit in a vertical tab list and the panel beside them previews whichever one you pick, from assigned conversations to saved replies and snooze times. Arrow keys move between the tabs, so it works without a mouse.
Changed:
- Feature 1 is rebuilt. One bordered card of stacked stripes: a centered intro, two alternating rows pairing copy with a media panel you swap for a screenshot, then three primitive cards closing on a pair of calls to action.
Fixed:
- Right-to-left previews mirror properly. Framed previews built on tabs, menus or anything else that tracks its own reading direction stayed left-to-right when you flipped the RTL toggle. They now follow the page.
Added
Updated
6.4.0
A new layout, and cn support
No new items this time. The site around them got rebuilt, and the catalog is ready for shadcn's new class-merging package.
Changed:
- A new docs layout. A slim header holds the Customizer, the theme toggle and GitHub, and tabs for each part of the site stay pinned below it as you scroll. On a phone, the sidebar opens from the menu button.
- The home page shows the catalog first. Three columns hold the latest templates, blocks and components, each with a preview and a link to the rest.
- Outfit is the default font. Inter is still in the Customizer's Font picker if you prefer it.
- Category pages say what's in them. Each component category now names the controls it holds, so Inputs lists multi-select, combobox, phone, currency, address and the rest instead of a vague summary.
Works with cn:
- shadcn's new
cnpackage replacesclsxandtailwind-mergewith one faster function. Hirael items importcnfrom your ownlib/utils, so afternpx shadcn@latest migrate cneverything you have installed keeps working with no edits. This site runs on it too.
Fixed:
- The header fits small phones. The logo and header buttons shrink a step on narrow screens instead of crowding the menu button.
Updated
- Activity Feed
- Agency Landing
- AI Chat 01
- API Keys
- App Shell 01
- App Shell 02
- App Shell 03
- App Shell 04
- App Shell 05
- Asme
- Audit Log
- Aurael
- Billing Card
- Blog 01
- Careers 01
- Changelog 01
- Cluster Map
- Coming Soon 01
- Coming Soon 02
- Comparison 01
- Comparison 02
- Comparison 03
- Contact 01
- Contact 02
- Contact 03
- Cookie Consent
- Creative Studio
- CTA 01
- CTA 02
- CTA 03
- CTA 04
- CTA 05
- CTA 06
- CTA 07
- Dashboard 01
- Dashboard 02
- Dashboard 03
- Dashboard 04
- Dashboard 05
- Dashboard 06
- Data Table
- Deployment History
- Ecommerce 01
- Ecommerce 02
- Env Variables Editor
- Error 01
- FAQ 01
- FAQ 02
- FAQ 03
- FAQ 04
- FAQ 05
- FAQ 06
- FAQ 07
- Feature 01
- Feature 02
- Feature 03
- Feature 04
- Feature 05
- Feature 06
- Feature 07
- Feature 08
- Feature 09
- Footer 01
- Footer 02
- Footer 03
- Footer 04
- Footer 05
- Footer 06
- Forgot Password 01
- Header 01
- Header 02
- Hero 01
- Hero 02
- Hero 03
- Hero 04
- Hero 05
- Hero 06
- Hero 07
- Hero 08
- Hero 09
- Hero 10
- Image Gallery 01
- Inspector Panel
- Integrations 01
- Integrations 02
- Integrations 03
- Kubernetes Pod Table
- KPI Grid
- Log Viewer
- Login 01
- Login 02
- Login 03
- Logo Cloud 01
- Logo Cloud 02
- Logo Cloud 03
- Maintenance 01
- Maintenance 02
- Members 01
- Message Thread
- Mindloop
- Network Topology
- Newsletter 01
- NexaCore
- Not Found 01
- Notifications
- Novael
- Onboarding 01
- OTP Verify 01
- Portfolio
- Pricing 01
- Pricing 02
- Pricing 03
- Pricing 04
- Process 01
- Prompt Input
- Quick Actions
- Resource Status
- Rivr
- Server Card
- Settings 01
- Settings 02
- Sign Up 01
- Stats 01
- Stats 02
- Status 01
- Storage Browser
- Subscription Plans
- Team 01
- Team 02
- Tenant Switcher
- Terminal
- Testimonial 01
- Testimonial 02
- Testimonial 03
- Testimonial 04
- Two-Factor Setup 01
- Usage Dashboard
- USD Halo
- Velorah
- VM Table
6.3.0
Three components, seven sections
The biggest batch since the Base UI split: three new components, seven new sections, and a quiet pass over how the whole catalog handles state.
New components:
- Address Input: a postal address that follows the country you pick. Choose the United States and you get City, State and ZIP code. Choose Germany and the postcode moves in front of the city and the region field disappears entirely. Twelve countries are described out of the box, and you can add your own.
- Duration Input: hours and minutes as separate segments you can type through, with digits that carry into the next segment on their own. Arrows step, Shift and arrows step by ten, and the value stays a plain number of seconds.
- Command Palette: the search dialog the
commandprimitive stops short of. A platform shortcut, nested pages you can back out of with Backspace, remembered recents, and a shortcut hint on each row.
New sections, filling out the thinnest categories:
- Logo clouds: Logo Cloud 2, two marquee rows running opposite ways, and Logo Cloud 3, a quiet single row over a pull quote.
- Stats: Stats 2, four tiles each with their own sparkline.
- Comparison: Comparison 2, a three-column feature matrix with one column highlighted, and Comparison 3, before and after side by side.
- Integrations: Integrations 2, a filterable connector grid, and Integrations 3, a ruled connector list beside a sticky intro.
Fixed, across the catalog:
- No more stale frames. A handful of components used to correct themselves one frame late: the audio player kept the previous track's progress for an instant, the lightbox opened a new image at the last one's pan offset, the mention field showed the previous highlight for a beat. They now settle before they paint.
- Refs behave. Components that keep an internal ref no longer look like they are reading it while rendering, which is what React's own lint has been warning about. Copy any of them into a project with those rules on and the file is quiet.
- Lazy Select stops rebuilding its label cache. Labels are folded in by
content rather than by array identity, so passing a freshly built
optionsarray on every render no longer matters.
6.2.0
Docs your agent can read
No new components this time. Instead, everything already in the catalog got easier to read, both for you and for whatever you have reading the docs on your behalf.
New:
- Copy page. A button on every component, block and template page that copies the whole page as Markdown: install command, usage, every demo, the full source and the API table. Paste it into an agent and it has the same picture you do.
- The same page at a URL. That Markdown lives at
/r/<name>.mdnext to the payload the CLI installs from, so you can hand over a link instead of a paste. Base UI items are at/r/base/<name>.md. Imports in the source are rewritten to the paths the CLI actually installs to, so what you read is what you get. - Related items at the bottom of each detail page, and a Shipped line saying which release an item arrived in. Anything from the last week wears a New badge.
- Recently added on the home page, so the newest items are the first thing you see.
Changed:
- Links preview. Paste a component, block or template URL into Slack, Discord or anywhere else and you get that item's own preview image and description, not the same site-wide card every time.
- Search results carry structure, so a component page shows up as a component rather than an untitled page.
Fixed:
- Refs reach the element you expect. Components that keep an internal ref used to quietly drop the one you passed. They now compose the two, so measuring, focusing or scrolling a component from your own code works the way it does with a plain element.
6.0.0
Two bases, a Customizer, and 20 new sections
The registry now speaks to both of the bases people build on. Pick yours once and every preview, source tab and install command follows.
Site:
- Base UI: every component, block and template ships in two trees, Radix UI
at
/r/<name>.jsonand Base UI at/r/base/<name>.json. Same API, same markup, primitives swapped underneath. - Customizer: the theme sheet is now a Customizer. Pick the base and icon library your project uses to get the matching setup, then re-skin every preview with a base color, theme, chart color, font and radius, site-wide or previews only. It replaces the theme playground page.
- Dawn gold: the primary color is a warm gold now, luminous in dark and amber in light, so buttons, rings and the first chart series stand out instead of reading as plain black and white.
- Placeholder images and videos are served from hirael.com instead of third-party hosts, so previews and installed items stop depending on links that can expire.
A family of sections that share one look: a pill badge, a word-by-word headline, cards on a soft glow, and motion that stays out of the way and respects reduced-motion. Drop several on one page and they read as a set.
- Footer 4: light-ray beams behind a brand, contact, location and subscribe layout with a rotating placeholder in the email field.
- Header 2: floating pill nav that shrinks and blurs after you scroll, with a sliding hover highlight and an animated mobile menu.
- Contact 3: a glow panel whose gradient grows as it scrolls in, with email and call actions side by side.
- FAQ 6: multi-open accordion where each question is its own card that rises into view.
- Feature 4, 5, 6: icon service cards on pulsing glows, a two-column values grid on a dotted glow canvas, and a two-card about section on a grid pattern.
- Team 2: a metric strip, a profile card, and three marquee rows of competencies.
- Testimonial 4: quote cards with an orbiting glow ring.
- Coming Soon 2 and Maintenance 2: full-viewport pages with a sparkles horizon and a sparkles backdrop.
A second set for a developer-tool landing page, drawn on hairline rails and crosshair marks:
- Hero 9: a full-viewport card that zooms out as you scroll, with an inline nav, a sparkle backdrop and a carved stat corner.
- Feature 7, 8, 9: orb-icon problem cards, a pointer-spotlight feature grid, and a step-catalog bento with crosshair frames.
- Pricing 4: three tiers with a glowing featured plan and quota checklists.
- FAQ 7: a split layout with a single-open accordion.
- CTA 7: a closing panel inside a scroll-reactive rim glow.
- Footer 5: an inset card footer with three link columns.
- Status 1: a service status page with a 90-day uptime grid, day-by-day tooltips and an incident timeline.
New components:
- Sparkles: a canvas particle field with drift and twinkle. No dependency, pauses offscreen, renders one still frame under reduced-motion.
- Icon Stack: overlapping icon tiles that fan out on hover, for showing a toolchain or an integration set in a single row.
Two new templates, and the first that ship bilingual. Both open in whatever direction the surrounding page reads, then follow an in-page switcher, with Cairo leading for Arabic so right-to-left copy is set in its own typeface:
- Aurael: a landing page for a home-solar brand, built around a day and night control in the hero. Picking a scene cross-fades the photograph and swaps the palette for the whole page, so both are real themes rather than a filter. Below it, hairline-ruled bands with a sticky meta rail carry how it works, cases, about, careers, resources and customers.
- Novael: a landing page for a technology services firm. A fixed scroll-spy navbar over a headline that runs onto a photographic band, an overlapping intro card and count-up stats, a marquee of past employers, a teal service slab, a project grid whose captions expand on hover, and a contact section that doubles as the footer.
Fixes:
- Login 3: the floating background paths start staggered and loop cleanly now, instead of drifting offscreen together and blanking the panel.
- The Hirael mark reads monochrome everywhere it appears in a block. The tiles behind it in App Shell 1, 4 and 5 and in Hero 9 were tinted with the accent color; they are black on white or white on black now.
The catalog is at 75 components, 119 blocks and 11 templates.
Added
Updated
- Activity Feed
- Agency Landing
- AI Chat 01
- API Keys
- App Shell 01
- App Shell 02
- App Shell 03
- App Shell 04
- App Shell 05
- Asme
- Audit Log
- Billing Card
- Blog 01
- Careers 01
- Changelog 01
- Cluster Map
- Coming Soon 01
- Comparison 01
- Contact 01
- Contact 02
- Cookie Consent
- Creative Studio
- CTA 01
- CTA 02
- CTA 03
- CTA 04
- CTA 05
- CTA 06
- Dashboard 01
- Dashboard 02
- Dashboard 03
- Dashboard 04
- Dashboard 05
- Dashboard 06
- Data Table
- Deployment History
- Ecommerce 01
- Ecommerce 02
- Env Variables Editor
- Error 01
- FAQ 01
- FAQ 02
- FAQ 03
- FAQ 04
- FAQ 05
- Feature 01
- Feature 02
- Feature 03
- Footer 01
- Footer 02
- Footer 03
- Forgot Password 01
- Header 01
- Hero 01
- Hero 02
- Hero 03
- Hero 04
- Hero 05
- Hero 06
- Hero 07
- Hero 08
- Image Gallery 01
- Inspector Panel
- Integrations 01
- Kubernetes Pod Table
- KPI Grid
- Log Viewer
- Login 01
- Login 02
- Login 03
- Logo Cloud 01
- Maintenance 01
- Members 01
- Message Thread
- Mindloop
- Network Topology
- Newsletter 01
- NexaCore
- Not Found 01
- Notifications
- Onboarding 01
- OTP Verify 01
- Portfolio
- Pricing 01
- Pricing 02
- Pricing 03
- Process 01
- Prompt Input
- Quick Actions
- Resource Status
- Rivr
- Server Card
- Settings 01
- Settings 02
- Sign Up 01
- Stats 01
- Storage Browser
- Subscription Plans
- Team 01
- Tenant Switcher
- Terminal
- Testimonial 01
- Testimonial 02
- Testimonial 03
- Two-Factor Setup 01
- Usage Dashboard
- USD Halo
- Velorah
- VM Table
5.0.0
The app side, AI chat, and the shadcn rebuild
The biggest release so far. Marketing pages were well covered; the screens behind the login weren't, and much of the source you copied in was styled by hand where shadcn/ui already had the primitive. Both are fixed. The catalog now ships 70+ components and 95+ blocks.
New components
- Kanban: columns of cards you can drag across, with pointer and keyboard moves, a drop placeholder, empty-column hints, live announcements, and no dnd-kit.
- Sparkline: tiny inline SVG line, area, and bar charts with an optional
curve, last-point dot, reference line, and hover tooltip. Tints with
currentColor, no chart library. - JSON Viewer: collapsible tree with typed value colors, item counts on closed nodes, long-string truncation, expand or collapse all, copy, and arrow-key navigation.
- Diff Viewer: unified or split line diffs computed in-component with an LCS algorithm, +N / -N stats, and expandable context gaps. No dependencies.
- Cron Editor: visual field builder and raw expression kept in sync, with presets, per-field modes, a plain-English preview, and the next three run times.
- Country Select: searchable flag picker with pinned countries, optional dial codes, and single or multiple selection. Search by name or ISO code.
- Credit Card Input: number, expiry, and CVC with brand detection, Luhn and expiry validation, per-brand formatting, and auto-advance between fields.
- Emoji Picker: 560+ emoji in eight categories, keyword search, recents, skin tones, and a keyboard grid. Self-contained, no dependencies.
- Avatar Upload: pick, drop, crop, and zoom a profile image with a circle or square mask, initials fallback, and size or type limits.
New blocks
Four new block categories: AI, Team, Stats, and Changelog.
- SaaS: Settings 1 (sticky section nav, label/control rows, dirty-aware Save/Cancel, danger zone confirm), Settings 2 (password strength meter, 2FA toggle, active sessions, notification switches with Pause all), Members 1 (live search, inline roles, pending invites with resend/revoke, invite dialog with email tags), and Onboarding 1 (a four-step setup wizard on the stepper with gated Continue).
- Auth: Two-Factor Setup 1, a three-step scan, verify, and recovery-codes flow built on the QR code and OTP input.
- AI: Prompt Input (auto-growing composer with attachments, model picker, and Stop), Message Thread (streaming bubbles, tool calls, reasoning, sources, and a streaming cursor), and AI Chat 1 (history sidebar, model badge, streaming thread, pinned composer).
- Status Pages (renamed from Not Found): Coming Soon 1 (countdown and notify form), Maintenance 1 (window, progress, and update log), and Error 1 (500 with collapsible technical details), alongside the existing 404 block.
- Team: Team 1, a bordered member grid with initials placeholders, roles, bios, and a hiring footer.
- Stats: Stats 1, a metrics band with count-up numbers, optional deltas, and a two-column header on large screens.
- Changelog: Changelog 1, a release-notes page with a sticky date rail, version badges, New / Improved / Fixed tags, and a tag filter.
- Cloud: Env Editor, a variables table with masked secrets,
per-environment chips,
.envimport, key validation, and unsaved-change tracking. - Widgets: Cookie Consent, a banner with per-category switches that remembers the choice in localStorage.
Browse blocks in place
Block category pages no longer stop at thumbnails. Every block in a category renders live at full size, stacked, each with its viewport and RTL controls, a one-line install command with a package-manager picker, and links to the source. A sticky chip row tracks where you are, so an eleven-block category is one click to any block.
Rebuilt on shadcn/ui
This is why the major version bump. The source that lands in your repo changed shape in ways you'll notice when you read or edit it:
- shadcn primitives across the catalog. Hand-rolled buttons, badges, labels,
textareas, and search boxes across components, blocks, and templates are now
Button,Badge,Label,Textarea,InputGroup, andToggleGroupwhere shadcn/ui already had the primitive. Template kits (agency-landing, rivr, usd-halo, nexacore) keep their look but their button primitives wrapButton. The CLI installs the extra dependencies for you; expectbutton,badge,field,input-group, ortoggle-groupto be added to yourcomponents/uiwhen you add or update an item. - Forms on
Field. Form-heavy blocks and demos (auth, contact, newsletter, settings, members, onboarding, cookie consent, and the examples) useFieldGroup,Field,FieldLabel,FieldDescription, andFieldError, withdata-invalidandaria-describedbywired. Errors and helper text look and behave the same in every block. - One source style. Components are named arrow-function exports, props are
<Name>Propsinterfaces, variants areclass-variance-authority, and prop types that used to override native attributes by accident (title,name,id,onError,onCopy) now say so withOmit. Compound parts,data-slotattributes, and prop names are unchanged, so existing usage keeps working. - Copy Button is now a real
Button:size="sm"for labelled,icon-xsandicon-smfor icon-only,variantpasses through.
Fixes
- Emoji Picker no longer resizes as you hover different emoji names.
- Page-scale blocks (AI Chat, Settings, Members, Onboarding, status pages) fill the viewport instead of collapsing in the preview.
Added
Updated
- Activity Feed
- Agency Landing
- API Keys
- App Shell 01
- App Shell 02
- App Shell 03
- App Shell 04
- App Shell 05
- Asme
- Audit Log
- Billing Card
- Blog 01
- Careers 01
- Cluster Map
- Comparison 01
- Contact 01
- Contact 02
- Creative Studio
- CTA 01
- CTA 02
- CTA 03
- CTA 04
- CTA 05
- CTA 06
- Dashboard 01
- Dashboard 02
- Dashboard 03
- Dashboard 04
- Dashboard 05
- Dashboard 06
- Data Table
- Deployment History
- Ecommerce 01
- Ecommerce 02
- FAQ 01
- FAQ 02
- FAQ 03
- FAQ 04
- FAQ 05
- Feature 01
- Feature 02
- Feature 03
- Footer 01
- Footer 02
- Footer 03
- Forgot Password 01
- Header 01
- Hero 01
- Hero 02
- Hero 03
- Hero 04
- Hero 05
- Hero 06
- Hero 07
- Hero 08
- Image Gallery 01
- Inspector Panel
- Integrations 01
- Kubernetes Pod Table
- KPI Grid
- Log Viewer
- Login 01
- Login 02
- Login 03
- Logo Cloud 01
- Mindloop
- Network Topology
- Newsletter 01
- NexaCore
- Not Found 01
- Notifications
- OTP Verify 01
- Portfolio
- Pricing 01
- Pricing 02
- Pricing 03
- Process 01
- Quick Actions
- Resource Status
- Rivr
- Server Card
- Sign Up 01
- Storage Browser
- Subscription Plans
- Tenant Switcher
- Terminal
- Testimonial 01
- Testimonial 02
- Testimonial 03
- Usage Dashboard
- USD Halo
- Velorah
- VM Table
4.1.0
Browse and try everything in place
This release is about the site itself. No new components, but every page you use to find one got easier.
Highlights:
- Live previews everywhere: the home page, the component index, and each category page now render the real component, not a description card. Try a combobox or a date range picker before you install it.
- Usage on every detail page: a ready-to-paste import statement that matches where the file lands in your repo, right under the install command. Long component source starts collapsed; expand it when you need it.
- Source and feedback links: each component, block, and template links to its source on GitHub and to a pre-filled issue.
- Sidebar that follows you: block pages list block categories, template pages list templates, and the changelog lists releases. The item you are on is always highlighted and scrolled into view.
- Blocks in three groups: Marketing, Site pages, and Product & app, so 25 categories read as a map instead of a wall.
- Search on phones, and search that matches what a component does, not only its name. Try "upload" or "dropdown".
- Smaller polish: headlines scale down on small screens, preview cards show a placeholder while they load, block and template cards show file counts, and the changelog now lives inside the catalog with the rest of the site.
4.0.0
Initial release
Hirael is now public: a shadcn-compatible registry of the inputs and section
blocks most products end up building anyway. Install any item with
npx shadcn add https://hirael.com/r/<name>.json and the source lands in your
repo, with no runtime package to depend on.
Highlights:
- Components: the input and data controls shadcn/ui leaves out: multi-select, tag input, combobox, currency and phone inputs, rich text and YAML editors, color and date pickers, data tables, and more.
- Blocks: section blocks across heroes, pricing, features, testimonials, dashboards, auth, and cloud/SaaS consoles.
- Templates: full-page layouts composed from the components and blocks.
- RTL and theming: every item works right-to-left with no config, and the live theme editor re-tints the whole catalog.