@corsair-ui
Copy-and-own React components for Tailwind CSS 3 and 4: forms, overlays, site chrome, motion, animated text and backgrounds.
Install this registry
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/registry.json pnpm dlx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/registry.json bunx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/registry.json curl -s https://kevingirelli.github.io/corsair-ui/r/registry.json Components
148 totalCorsair colour, radius and base styles for light and dark mode. Every component relies on these variables; override --primary, --primary-foreground and --ring …
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/theme.json The Corsair theme on a slate base with a blue primary. Installs the theme first, then sets its colours and radius; every text pair meets WCAG AA.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/theme-blue.json The Corsair theme on a zinc base with a violet primary. Installs the theme first, then sets its colours and radius; every text pair meets WCAG AA.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/theme-violet.json The Corsair theme on a stone base with a rose primary. Installs the theme first, then sets its colours and radius; every text pair meets WCAG AA.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/theme-rose.json The Corsair theme on a zinc base with an emerald primary. Installs the theme first, then sets its colours and radius; every text pair meets WCAG AA.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/theme-emerald.json The Corsair theme on a stone base with an amber primary and square corners. Installs the theme first, then sets its colours and radius; every text pair meets W…
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/theme-amber.json The cn() helper: merges class names and resolves conflicting Tailwind utilities.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/utils.json Title, artist, cover and preview clip for a Spotify link, read on the server from the public embed page.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/spotify-track.json Turns stories into images for Instagram, WhatsApp and TikTok: renderStoryPng() draws JSX to a 1080 × 1920 PNG in the browser with Satori, shareStory() opens th…
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/story-export.json Subscribes to a CSS media query. SSR-safe: renders a fallback on the server and hydrates without a mismatch.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/use-media-query.json Whether an element is in the viewport, from IntersectionObserver, with once, margin and amount options.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/use-in-view.json When a one-shot entrance runs: on first paint, or once in view, without hiding server-rendered content that is already on screen.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/use-entrance.json The id of the section on screen, for a table of contents, from one IntersectionObserver. SSR-safe, keeps the last section between two.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/use-scroll-spy.json Triggers an action. Variants default, secondary, outline, ghost, destructive and link; sizes sm, default, lg and three square icon sizes. Supports asChild and …
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/button.json Animated status indicator for work in progress, announced as Loading.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/spinner.json Short status or metadata label. Solid, secondary and outline styles, plus success, warning and destructive statuses shown as a coloured dot.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/badge.json Accessible name for a form control.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/label.json Single-line text control. Its error state comes from aria-invalid, so any form library can drive it.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/input.json Multi-line text control with the same states as Input.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/textarea.json An input with icons, text or buttons attached on either side.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/input-group.json Layout for a control with its label, description and error, plus fieldset and group helpers. Independent of any form library.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/field.json FormField: a react-hook-form Controller laid out with Field, with the id, label and ARIA wiring done for you.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/form.json Checkbox with checked, unchecked and indeterminate states.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/checkbox.json A set of options where exactly one can be selected.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/radio-group.json On/off control for settings that apply immediately.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/switch.json Pick one option from a list, with groups, labels and separators.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/select.json Horizontal or vertical divider.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/separator.json Container with header, title, description, action, content and footer parts.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/card.json A card with two faces that turns over in 3D on hover, from a trigger, or from a prop.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/flip-card.json A rubber stamp that slams onto the page: it starts large and transparent and lands rotated with a small overshoot.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/stamp.json Callout for important messages on a neutral surface; default, success, warning and destructive tones colour the icon.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/alert.json Placeholder shape shown while content loads.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/skeleton.json Floating panel anchored to a trigger, with header, title and description parts.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/popover.json Searchable list navigated with the arrow keys; the base for comboboxes and command menus.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/command.json Month grid for picking a date, several dates or a range, with dropdown captions and week numbers. Built on DayPicker.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/calendar.json DatePicker and DateRangePicker: a calendar in a popover behind a button that shows the chosen date or range.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/date-picker.json A select with a search box, for long lists of options.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/combobox.json One-time code input drawn as separate slots, with paste and autofill support.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/input-otp.json Pick a number or a range by dragging or with the arrow keys, horizontal or vertical.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/slider.json A button that stays pressed, in default and outline variants and three sizes.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/toggle.json A set of toggles with single or multiple selection, joined or spaced apart.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/toggle-group.json A switch between two or more options with one thumb that slides to the active one, in three sizes. Never empty.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/segmented-control.json Number field with decrement and increment buttons, min, max and step, following the spinbutton keyboard pattern.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/number-input.json Password field with a button that shows what was typed.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/password-input.json A short label shown on hover and keyboard focus.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/tooltip.json Fades and moves content into place when it scrolls into view, alone or staggered in a group. Visible without JavaScript.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/reveal.json Reveals text word by word, when it comes into view or tied to the scroll position.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/text-reveal.json Pulls its content toward the mouse while hovered and springs it back on leave.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/magnetic.json Drifts content at a different speed from the page as it scrolls past, with CSS scroll-driven animations and no JavaScript.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/parallax.json Content that starts tilted back in perspective and straightens as you scroll, with CSS scroll-driven animations and no JavaScript.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/tilt-scroll.json A soft light that follows the pointer across a surface and along its edge.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/spotlight.json A border with a light travelling around it, paused off screen.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/animated-border.json Slow, soft light drifting behind its content, from three radial gradients.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/aurora.json Draws SVG strokes as if by hand, with optional ink filling in behind the pen, on view or with the scroll.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/signature.json A beam of light travelling along the paths of a flow diagram, one after another, on view, with the scroll or from your own progress.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/path-beam.json An icon button that copies a value and swaps to a check mark, announcing it to screen readers.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/copy-button.json A pill button whose fill gives way to a dashed outline that marches on hover.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/dash-button.json Pick one colour from a row of swatches: a radio group with arrow keys and form support.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/color-swatches.json Twelve bars around a hub fading in turn, announced as Loading. No JavaScript.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/bars-spinner.json A band of light sweeping across text now and then, paused off screen.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/shimmer-text.json Text that comes into focus one character at a time, and can blur back out.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/blur-text.json Words, characters or lines rising into place from below their own baseline.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/slide-text.json Kinetic type in 3D: characters or words turning into place around their horizontal axis, one after another.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/flip-text.json A split-flap board: when the value changes, only the characters that changed flip, like a departure board.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/split-flap.json Words or characters surfacing at scattered moments, the same on server and client.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/dissolve-text.json A marker that slides in behind a phrase, or a hand-drawn line drawn under it.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/highlight-text.json Text that decodes itself: noise sweeps across, then each character locks in.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/scramble-text.json Bands of colour washing through text like a swell, on one CSS animation.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/wave-text.json Writes any text in any font as a signature: outlines drawn by the pen, then inked.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/text-signature.json Content scrolling in a seamless loop, pausing on focus and off screen, and draggable by the pointer.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/marquee.json One series as a line, with a cursor that snaps to points; a slider for keyboards and screen readers.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/line-chart.json A crisp SVG QR code in dots, rounded or square modules. Renders on the server, and can draw itself in.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/qr-code.json A post from X in your theme, with no embed script: a card, a server component that fetches by id, and a client one.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/tweet-card.json A track card with cover art, a link to Spotify and a preview clip that spins a record while it plays.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/spotify-card.json Soft beams of light falling from above, from a small WebGL2 shader.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/light-rays.json A liquid field of colour carried along by layered noise, from one WebGL2 shader.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/warp-gradient.json Modal window centred over the page, with a focus trap, overlay, close button, header, footer, title and description parts.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/dialog.json Modal that asks the user to confirm or cancel before an action, with action and cancel buttons.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/alert-dialog.json Dialog that slides in from any edge of the screen, for menus, filters and side panels.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/sheet.json Brief notifications shown with a toast() call and a Toaster mounted once, with variants, an optional action, swipe to dismiss and screen reader announcements.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/toast.json A navigation link that marks the current page with aria-current and data-active. Supports asChild for router links.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/nav-link.json A sticky page header with brand, navigation, actions and a sheet menu for small screens, flagging data-scrolled once the page scrolls.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/site-header.json A floating bar of icon links pinned to the bottom or top of the viewport, with tooltips and an optional reveal after scrolling.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/dock.json Sections of content shown one at a time, with a segmented or underlined tab list, horizontal or vertical.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/tabs.json A round picture of a person with a fallback while it loads or when it fails, in three sizes, plus an overlapping group.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/avatar.json Stars for giving a score as a radio group, or for showing one read-only with fractional fills.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/rating.json The rating, animated: sweeping a finger, pen or mouse across the stars lifts them in a wave that crests under the pointer, a tip shows the score, and letting g…
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/wave-rating.json Key figures as a description list: label, value and a caption with an optional trend arrow.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/stat.json A number that counts up to its value when it comes into view, formatted for the locale.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/number-ticker.json A block of code with an optional caption, a language label and a copy button.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/code-block.json A box with bracket marks on its corners, in any size, thickness, colour and inset.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/corner-frame.json A generic phone drawn in CSS around a screenshot or any content, with an island, a notch or no cut-out, that scales with its width.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/phone-frame.json A browser window drawn in CSS around a page or a screenshot, with window dots, an address field and optional actions.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/browser-frame.json A YouTube video that costs one poster image until it is played, with player controls through its ref.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/youtube-embed.json Slides on a native scroll-snap track, with keyboard steps, previous and next buttons, dots and an optional coverflow look.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/carousel.json A full-screen cover that counts to 100 on first load, waits for your content to be ready, then fades out.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/preloader.json A dot and a trailing ring that follow a mouse pointer, growing over interactive elements and showing labels.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/custom-cursor.json A reading progress bar that fills as the page scrolls, with CSS scroll-driven animations and no JavaScript.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/scroll-progress.json A background that blends from one colour to the next as you scroll, with CSS scroll-driven animations and no JavaScript.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/scroll-background.json A scrollytelling scene: a stage pinned beside steps, crossfading to the slide of the step on screen, with a 0 to 1 scroll progress variable for scrubbing.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/scroll-scene.json Switches content behind a band that sweeps across it, swapping while covered, with a crossfade for phones and reduced motion.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/wipe-transition.json Smooth wheel and trackpad scrolling for the page, off with reduced motion, with a scrollTo hook that works either way.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/smooth-scroll.json Film grain over a surface, from a tile of SVG noise, with an optional stepped jitter.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/grain.json A second layer seen through a soft circle that follows the pointer.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/hover-reveal.json Dots drifting slowly across a surface, laid out from a seed and moved with CSS alone.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/particles.json Contour lines like a topographic map over slowly shifting terrain, from one WebGL2 shader.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/topography.json Characters that roll up to a copy of themselves on hover or keyboard focus.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/roll-text.json A menu of actions and options that opens from a button, with checkbox and radio items, labels, shortcuts and submenus.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/dropdown-menu.json A menu of actions for an area of the page that opens on right click or long press, with checkbox and radio items, labels, shortcuts and submenus.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/context-menu.json Site navigation with links and triggers that open panels of links in a shared, animated viewport.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/navigation-menu.json A preview card that appears while a link is hovered or focused, for supplementary content.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/hover-card.json Stacked sections that open and close under their headings, one or several at a time, with a height animation.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/accordion.json A region that a trigger button shows and hides, with a height animation.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/collapsible.json A progress bar for tasks with a known amount, or an indeterminate one when the amount is unknown.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/progress.json A scrolling box with thin themed scrollbars that keeps native scrolling.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/scroll-area.json The trail of links from the top of a site to the current page, with separators and an ellipsis.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/breadcrumb.json Page links with previous and next, an ellipsis, and a helper that works out which page numbers to show.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/pagination.json A data table on native table elements, with a scroll container, selected rows and sortable column headers.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/table.json An application sidebar that collapses to icons or off canvas on desktop and opens as a sheet on mobile, with a keyboard shortcut.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/sidebar.json A bottom sheet dialog for phones that can also be dragged down to close.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/drawer.json A table with sortable headers, a text filter, pagination and row selection, built on TanStack Table v9.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/data-table.json A file drop area on a native file input that checks type, size and count, and lists the chosen files.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/dropzone.json A key or key combination shown as a small keycap, alone or in a group.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/kbd.json What a list, table or page shows when it has nothing in it yet, with an icon, title, description and actions.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/empty-state.json The steps of a multi-step flow with complete, current and upcoming states, horizontal or vertical.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/stepper.json A vertical list of events with a coloured dot for each status and a line joining them.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/timeline.json Panels resized by dragging or with the keyboard, side by side or stacked.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/resizable.json One series as vertical or horizontal bars that grow in on first view, with a keyboard slider over the bars.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/bar-chart.json One or more series as gradient-filled areas, stacked or overlapping, with a legend and a keyboard slider over the points.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/area-chart.json Parts of a whole as a ring with the total in the middle and a keyboard-navigable legend of values and shares.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/donut-chart.json A 9:16 story preview that is the exported PNG itself, with Share (the phone's share sheet, Instagram included), Download and Copy link, and the safe area the a…
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/story-frame.json A 1080 × 1920 story put together from parts (header, eyebrow, title, grid of tiles, list of rows, highlight, image, call to action), laid out inside the safe a…
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/story.json The opening section of a landing page with an eyebrow, a title, a description, actions and an optional media slot.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/hero.json A grid of features with an icon, a title and a description under a centred section header.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/feature-grid.json A row of key figures that count up when they scroll into view, under a centred section header.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/stats.json Customer or partner logos in a grid or a scrolling marquee under a small title.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/logo-cloud.json A closing band with a title, a description and one or two actions.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/cta.json A pricing section with plan cards, a featured plan and an optional monthly or yearly billing switch.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/pricing.json A frequently asked questions section with a header and the answers in an accordion, split or stacked.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/faq.json A section of customer quotes with names, roles and avatars, in a masonry or grid layout.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/testimonials.json A contact section with a header, contact details and a validated message form that reports pending, success and error states.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/contact-form.json A compact sign-up band with an inline email form that reports pending, success and error states.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/newsletter.json A page footer with a brand, link columns in a navigation landmark, a copyright line and optional social icon links.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/site-footer.json A centred sign-in card with email and password fields, a remember-me checkbox, optional sign-in providers and pending, success and error states.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/login-form.json A centred sign-up card with name, email and password fields, a required terms checkbox, optional sign-up providers and pending, success and error states.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/signup-form.json A 404 page section with a large decorative error code, a page heading, a description, an optional search slot and actions.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/not-found.json An application page with a collapsible sidebar, a header, stat cards, a line chart and a recent-activity table.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/dashboard.json An account settings page with tabs for a profile form, a password change and delete-account dialog, and notification switches.
npx shadcn@latest add https://kevingirelli.github.io/corsair-ui/r/settings.json