# saasflare-ui — full reference Generated from `packages/ui/registry.json`. Each section quotes the component's full prop interface and one @example block lifted from its source. The canonical machine-readable form is `https://ui.saasflare.io/registry.json`. --- ## Accordion **Description:** Vertically stacked, collapsible sections for FAQs and disclosure lists. One or many panels open at a time. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/accordion.json ``` **Example:** ```tsx import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "@saasflare/ui"; Is it accessible? Yes, it follows WAI-ARIA patterns. ``` --- ## Alert **Description:** Inline status banner (info/success/warning/danger) with icon, title, and description for non-blocking messages. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/alert.json ``` **Props:** ```ts interface AlertProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { /** Semantic color intent */ intent?: Intent | "neutral" /** * Legacy variant prop for backward compatibility. * @deprecated Use `intent` instead. "destructive" maps to intent="danger". */ variant?: "default" | "destructive" } ``` **Example:** ```tsx import { Alert, AlertTitle, AlertDescription } from "@saasflare/ui"; import { InfoIcon } from "./phosphor"; Heads up! This is an informational alert. ``` --- ## Alert Dialog **Description:** Modal confirmation for destructive or irreversible actions, with required acknowledge and cancel actions. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/alert-dialog.json ``` **Example:** ```tsx import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogAction, AlertDialogCancel } from "@saasflare/ui"; Are you sure? Cancel Confirm ``` --- ## Aspect Ratio **Description:** Locks content to a fixed width:height ratio — responsive images, video embeds, and media cards. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/aspect-ratio.json ``` **Props:** ```ts interface AspectRatioProps extends Omit< React.ComponentProps, keyof SaasflareComponentProps >, SaasflareComponentProps {} /** * Constrains its children to a fixed width-to-height ratio. * * @example * * Landscape * */ function AspectRatio({ surface, radius, animated, iconWeight, ...props } ``` **Example:** ```tsx import { AspectRatio } from '@saasflare/ui'; Landscape ``` --- ## Audio Player **Description:** Self-contained audio player UI over the native HTML5 element — play/pause, scrubbing, and volume. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/audio-player.json ``` **Props:** ```ts export interface AudioPlayerProps extends SaasflareComponentProps { /** Audio source URL. */ src: string /** Track title. */ title?: string /** Additional class names. */ className?: string } ``` **Example:** ```tsx import { AudioPlayer } from '@saasflare/ui'; ``` --- ## Aurora Background **Description:** Animated aurora backdrop — soft blurred color blobs drifting behind hero content. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/aurora-background.json ``` **Props:** ```ts export interface AuroraBackgroundProps extends Omit, keyof SaasflareComponentProps | "color">, SaasflareComponentProps { /** * Three ambient blob colors in order: top-left, right, bottom-left. * Default: curated peach + blue + violet showcase palette. */ colors?: readonly [string, string, string] /** Overall blob opacity (0–1). Applied inline to every blob. Default: `0.55`. */ intensity?: number } ``` **Example:** ```tsx import { AuroraBackground } from "@saasflare/ui" ``` --- ## Avatar **Description:** User or brand avatar with image, automatic initials fallback, and size variants. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/avatar.json ``` **Props:** ```ts interface AvatarProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { /** Visual size. `"default"` is a deprecated alias for `"md"`. */ size?: "sm" | "md" | "lg" | "default" } ``` **Example:** ```tsx import { Avatar, AvatarImage, AvatarFallback } from "@saasflare/ui"; JD ``` --- ## Badge **Description:** Compact label for statuses, counts, and tags, with semantic intent colors and subtle/solid styles. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/badge.json ``` **Props:** ```ts interface BadgeProps extends Omit< React.ComponentProps<"span">, "onDrag" | "onDragStart" | "onDragEnd" | "onAnimationStart" | "onAnimationEnd" | keyof SaasflareComponentProps >, Omit, "variant">, SaasflareComponentProps { /** Render as child element (Radix Slot pattern) */ asChild?: boolean /** Semantic color intent */ intent?: Intent /** * Visual treatment: `"solid" | "soft" | "outline"`. * @remarks `"default" | "destructive" | "secondary"` are deprecated aliases * (mapped to a solid/soft variant + intent via {@link LEGACY_VARIANT_MAP}); * prefer `variant` + `intent` instead. */ variant?: VariantProps["variant"] | "default" | "destructive" | "secondary" } ``` **Example:** ```tsx import { Badge } from "@saasflare/ui"; Default Active Error ``` --- ## Bar List **Description:** Horizontal 'top N' ranking list with proportional bar fills. Dashboard staple. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/bar-list.json ``` **Props:** ```ts export interface BarListProps extends SaasflareComponentProps { /** Rows to render. */ data: BarListItem[] /** Formats the numeric value on the right edge. Default: `(n) => n.toLocaleString()`. */ valueFormatter?: (value: number) => string /** Sort rows by value descending. Default: `true`. */ sortDescending?: boolean /** Maximum rows rendered (truncates after sort). */ limit?: number /** Additional class names. */ className?: string } ``` **Example:** ```tsx n.toLocaleString()} /> ``` --- ## Bento Grid **Description:** Bento-style grid layout for feature galleries with mixed sizes. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/bento-grid.json ``` **Props:** ```ts export interface BentoGridProps extends SaasflareComponentProps { /** Grid items. */ children: ReactNode /** Number of columns at md+ breakpoint. Default: `3` */ columns?: 2 | 3 | 4 /** Gap between items in Tailwind spacing units (4 = 1rem). Default: `4` */ gap?: number /** Additional class names. */ className?: string } ``` **Example:** ```tsx import { BentoGrid, BentoGridItem } from '@saasflare/ui'; Wide card Tall card Standard card ``` --- ## Blur Fade **Description:** Entrance animation combining blur, fade, and offset — for elegant on-mount and on-scroll reveals. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/blur-fade.json ``` **Props:** ```ts export interface BlurFadeProps extends Omit, MotionConflicts | keyof SaasflareComponentProps>, SaasflareComponentProps { /** Content to animate. */ children: ReactNode /** Animation delay in seconds (use for staggering). Default: `0` */ delay?: number /** Initial blur amount in pixels. Default: `8` */ blur?: number /** Vertical offset in pixels. Default: `12` */ yOffset?: number /** Animation duration in seconds. Default: `0.5` */ duration?: number /** Whether animation triggers only once. Default: `true` */ once?: boolean /** Additional class names. */ className?: string } ``` **Example:** ```tsx import { BlurFade } from '@saasflare/ui'; Fades in with blur ``` --- ## Border Beam **Description:** A glowing gradient beam that travels around an element's border. Premium accent for cards and CTAs. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/border-beam.json ``` **Props:** ```ts export interface BorderBeamProps extends SaasflareComponentProps { /** Beam color. Default: `"var(--primary)"` */ color?: string /** Tail fade color. Default: `"transparent"` */ colorFrom?: string /** Animation cycle duration in seconds. Default: `6` */ duration?: number /** Beam length in pixels. Default: `150` */ size?: number /** Border radius to follow (CSS value). Default: `"inherit"` */ borderRadius?: string /** Additional class names. */ className?: string } ``` **Example:** ```tsx import { BorderBeam } from '@saasflare/ui';

Premium Feature

``` --- ## Breadcrumb **Description:** Hierarchical navigation trail showing the user's location, with truncation and custom separators. **Install:** ```bash npx shadcn add https://ui.saasflare.io/r/breadcrumb.json ``` **Props:** ```ts interface BreadcrumbProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps {} /** * Breadcrumb navigation root — labelled `