Fandry UI

Components

Every fandry-* primitive, with a live example, its props, and the code to use it.

Layout

Breadcrumb

A navigation trail of ancestor pages — pair with fandry-breadcrumb-item for each crumb.

Layout

Breadcrumb Item

A single crumb inside fandry-breadcrumb, with a current-page state.

Layout

Card

A bordered, padded surface for grouping related content.

Layout

Divider

A horizontal or vertical rule for separating content.

Layout

Pagination

Previous/next navigation between pages. Links between two adjacent pages, or Previous / Page N of M / Next buttons for paging a collection.

Layout

Sidebar

A vertical navigation rail — pair with fandry-sidebar-item for links.

Layout

Sidebar Item

A single navigation row for fandry-sidebar, with an active/current-page state.

Layout

Tabs

A set of tabs that switch between panels — pair with fandry-tab and fandry-tab-panel.

Layout

Tab

A single tab inside fandry-tabs.

Layout

Tab Panel

The content shown for one fandry-tab.

Typography

Heading

A semantically-leveled heading, sized off the shared type scale.

Typography

Icon

A sizing/color frame around a slotted glyph — brings no icon set of its own.

Typography

Label

The text of a form label, with an optional required indicator. Put it inside your own <label>, or in the label slot of a field.

Typography

Text

Body text — pick the rendered tag and size independently.

Forms

Button

A native button with default/secondary/ghost variants and three sizes.

Forms

Checkbox

A checkbox with a built-in label and indeterminate support.

Forms

Combobox

A searchable select — type to narrow the options, then pick one.

Forms

Input

A text input with a label, help text, and prefix/suffix slots.

Forms

Link

Anchor styling with default/muted variants and a disabled state.

Forms

Radio

A single radio input — pair with fandry-radio-group for the roving-tabindex group.

Forms

Radio Group

A roving-tabindex container for a set of fandry-radio buttons.

Forms

Select

A custom listbox-style select, with optional grouped options.

Forms

Switch

A toggle switch with a built-in label.

Forms

Textarea

A multi-line text input with a label and help text.

Feedback

Alert

An inline banner for a status message, with an optional title.

Feedback

Badge

A small status/label pill.

Feedback

Progress

A determinate or indeterminate progress bar.

Feedback

Skeleton

A loading placeholder shaped like the content it stands in for.

Feedback

Spinner

A loading spinner in three sizes, with optional text beside it.

Feedback

Loading Overlay

Covers the page, or one panel, while it is busy. A backdrop blocks the pointer and the keyboard, and a panel shows a spinner and a label.

Feedback

Toast

An auto-dismissing notification — pair with fandry-toast-viewport for placement.

Feedback

Toast Viewport

A fixed or contained stacking region that positions fandry-toast.

Feedback

Tooltip

A hover/focus description bubble for a slotted trigger.

Overlays & Data

Avatar

A circular avatar with an image and initials fallback.

Overlays & Data

Command

A command palette — a modal search box over a list of actions. Generic: it reports the chosen value and leaves what it does (and the Cmd+K/Ctrl+K shortcut) to you.

Overlays & Data

Dialog

A modal panel over a backdrop, with Escape/backdrop-click to close and focus returned to the trigger.

Overlays & Data

Menu

A listbox-style menu — composes with fandry-popover for its own trigger and positioning.

Overlays & Data

Menu Item

A single selectable row inside fandry-menu.

Overlays & Data

Popover

An anchored floating panel — owns positioning, not the trigger or content. The panel is never narrower than its trigger; set display: block on the popover for a trigger that fills its row.

Overlays & Data

Table

A data table with sorting, pagination, selection, and filtering — wraps @tanstack/table-core.

Salesforce

Lookup

Find and pick a record — one by default, or several with multiple. It fetches nothing itself: it reports what was typed, you run the query and hand the records back.