@askrjs/themes/components
Exports from the declarations published in @askrjs/themes. Signatures reflect the published artifact.
Exports
This entrypoint publishes 509 exports. Use the anchored symbol rows for direct links. Type-only exports are labeled separately from runtime values.
Accordiontype
Accordion: (props: AccordionProps) => JSX.ElementRenders a part of `accordion`.
AccordionContenttype
AccordionContent: { (props: AccordionContentProps): JSX.Element | null; (props: AccordionContentAsChildProps): JSX.Element | null; }Renders the `accordion-content` part of `accordion` with `role="region"`. Supports polymorphic rendering via `asChild`.
AccordionHeadertype
AccordionHeader: { (props: AccordionHeaderProps): JSX.Element; (props: AccordionHeaderAsChildProps): JSX.Element; }Renders the `accordion-header` part of `accordion`. Supports polymorphic rendering via `asChild`.
AccordionItemtype
AccordionItem: (props: AccordionItemProps) => JSX.ElementRenders the `accordion-item` part of `accordion`.
AccordionTriggertype
AccordionTrigger: { (props: AccordionTriggerProps): JSX.Element; (props: AccordionTriggerAsChildProps): JSX.Element; }Renders the `accordion-trigger` part of `accordion`. Supports polymorphic rendering via `asChild`.
Alerttype
Alert: (props: AlertProps) => JSX.ElementRenders an alert/status banner with an optional icon, title, description, actions, and a dismiss button. Automatically picks an "alert" or "status" ARIA role from `variant` unless `role` is set explicitly.
AlertDescriptiontype
AlertDescription: (props: CatalogComponentProps) => JSX.ElementRenders the `alert-description` part of the shadcn-compatible catalog primitives.
AlertDialogtype
AlertDialog: (props: AlertDialogProps) => JSX.ElementRenders a part of `alert-dialog`.
AlertDialogActiontype
DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }Renders the `dialog-close` part of `dialog`. Supports polymorphic rendering via `asChild`.
AlertDialogCanceltype
DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }Renders the `dialog-close` part of `dialog`. Supports polymorphic rendering via `asChild`.
AlertDialogContenttype
AlertDialogContent: (props: AlertDialogContentProps | AlertDialogContentAsChildProps) => JSX.ElementRenders a part of `alert-dialog`. Supports polymorphic rendering via `asChild`.
AlertDialogDescriptiontype
DialogDescription: { (props: DialogDescriptionProps): JSX.Element; (props: DialogDescriptionAsChildProps): JSX.Element; }Renders the `dialog-description` part of `dialog`. Supports polymorphic rendering via `asChild`.
AlertDialogOverlaytype
DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }Renders the `dialog-overlay` part of `dialog`. With `@askrjs/themes/default`, the overlay is fully styled out of the box with the shared backdrop token, blur, stacking, and fade animation. Standard Dialog and AlertDialog usage requires no additional overlay CSS; customize the theme tokens instead of applying a competing background class. Supports polymorphic rendering via `asChild`.
AlertDialogPortaltype
DialogPortal: (props: DialogPortalProps) => JSX.Element | nullRenders a part of `dialog`.
AlertDialogTitletype
DialogTitle: { (props: DialogTitleProps): JSX.Element; (props: DialogTitleAsChildProps): JSX.Element; }Renders the `dialog-title` part of `dialog`. Supports polymorphic rendering via `asChild`.
AlertDialogTriggertype
AlertDialogTrigger: (props: AlertDialogTriggerProps | AlertDialogTriggerAsChildProps) => JSX.ElementRenders a part of `alert-dialog`. Supports polymorphic rendering via `asChild`.
AlertHeadingTagtype
AlertHeadingTag: "h2" | "h3" | "h4" | "h5" | "h6"Heading tag allowed for an alert's title via `titleAs`.
AlertPropstype
AlertProps: DivProps & {
actions?: unknown;
children?: unknown;
description?: unknown;
dismissLabel?: string;
icon?: unknown;
onDismiss?: () => void;
title?: unknown;
titleAs?: AlertHeadingTag;
variant?: AlertVariant;
ref?: Ref<HTMLDivElement>;
}Props for the {@link Alert } component.
actions- actions?: unknown;
children- children?: unknown;
description- description?: unknown;
dismissLabel- dismissLabel?: string | undefined;
icon- icon?: unknown;
onDismiss- onDismiss?: (() => void) | undefined;
ref- ref?: Ref<HTMLDivElement>;
title- title?: unknown;
titleAs- titleAs?: AlertHeadingTag | undefined;
variant- variant?: AlertVariant | undefined;
AlertTitletype
AlertTitle: (props: CatalogComponentProps) => JSX.ElementRenders the `alert-title` part of the shadcn-compatible catalog primitives.
AlertVarianttype
AlertVariant: "default" | "info" | "success" | "warning" | "danger"Visual tone of an {@link AlertProps} alert; `"danger"`/`"warning"` render with `role="alert"`.
Asidetype
Aside: (props: AsideProps) => JSX.ElementRenders a `<aside>`-element {@link Block } tagged with `data-slot="aside"`.
AsidePropstype
AsideProps: Omit<BlockElementProps<"aside">, "as">Props for the {@link Aside } component.
AspectRatiotype
AspectRatio: { (props: AspectRatioProps): JSX.Element; (props: AspectRatioAsChildProps): JSX.Element; }Constrains its content to a fixed width/height ratio (defaults to `1`) using a computed `aspect-ratio` style, rendering as a `<div>` or, with `asChild`, merging its layout into the single child element.
AspectRatioAsChildPropstype
AspectRatioAsChildProps: AspectRatioOwnProps & {
asChild: true;
children: JSXElement;
ref?: Ref<unknown>;
}Props for {@link AspectRatio } rendered with `asChild`, merging layout onto a single child element.
asChild- asChild: true;
children- children: JSXElement;
ratio- ratio?: string | number | undefined;
ref- ref?: Ref<unknown>;
style- style?: unknown;
AspectRatioPropstype
AspectRatioProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & AspectRatioOwnProps & {
asChild?: false;
ref?: Ref<HTMLDivElement>;
}Props for {@link AspectRatio } rendered as its default `<div>` element.
asChild- asChild?: false | undefined;
children- children?: unknown;
ratio- ratio?: string | number | undefined;
ref- ref?: Ref<HTMLDivElement>;
style- style?: unknown;
Avatartype
Avatar: { (props: AvatarProps): JSX.Element; (props: AvatarAsChildProps): JSX.Element; }Renders the `avatar` part of `avatar`. Supports polymorphic rendering via `asChild`.
AvatarFallbacktype
AvatarFallback: { (props: AvatarFallbackProps): JSX.Element | null; (props: AvatarFallbackAsChildProps): JSX.Element | null; }Renders the `avatar-fallback` part of `avatar`. Supports polymorphic rendering via `asChild`.
AvatarImagetype
AvatarImage: (props: AvatarImageProps) => JSX.ElementRenders the `avatar-image` part of `avatar`.
Badgetype
Badge: { (props: BadgeProps): JSX.Element; (props: BadgeAsChildProps): JSX.Element; }Renders a small status/label badge, defaulting to a `<span>` (or merging onto a child via `asChild`), with a `variant` color modifier.
BadgeAsChildPropstype
BadgeAsChildProps: BadgeOwnProps & {
asChild: true;
children: JSXElement;
ref?: Ref<unknown>;
}Props for {@link Badge } rendered with `asChild`, merging its attributes onto a single child element.
asChild- asChild: true;
children- children: JSXElement;
ref- ref?: Ref<unknown>;
variant- variant?: BadgeVariant | undefined;
BadgeOwnPropstype
BadgeOwnProps: {
children?: unknown;
variant?: BadgeVariant;
}Props shared by both {@link Badge } call signatures.
children- children?: unknown;
variant- variant?: BadgeVariant | undefined;
BadgePropstype
BadgeProps: Omit<JSX.IntrinsicElements["span"], "children" | "ref"> & BadgeOwnProps & {
asChild?: false;
ref?: Ref<HTMLSpanElement>;
}Props for {@link Badge } rendered as its default `<span>` element.
asChild- asChild?: false | undefined;
children- children?: unknown;
ref- ref?: Ref<HTMLSpanElement>;
variant- variant?: BadgeVariant | undefined;
Blocktype
Block: { (props: BlockNativeProps): JSX.Element; (props: BlockAsChildProps): JSX.Element; }Low-level layout primitive: renders any element in {@link BlockElement } (default `<div>`) and turns layout-only props (spacing, alignment, direction, sizing, etc.) into a generated utility class. With `asChild`, the layout is merged onto a single child element instead of a wrapper.
BlockAligntype
BlockAlign: "start" | "end" | "center" | "stretch" | "baseline"BlockAsChildPropstype
BlockAsChildProps: Omit<BlockOwnProps, "as"> & {
asChild: true;
children: JSXElement;
ref?: Ref<unknown>;
}Props for {@link Block } rendered with `asChild`, merging layout onto a single child element.
align- align?: ResponsiveValue<BlockAlign> | undefined;
asChild- asChild: true;
background- background?: ResponsiveValue<BlockBackground> | undefined;
border- border?: ResponsiveValue<boolean> | undefined;
borderBottom- borderBottom?: ResponsiveValue<boolean> | undefined;
borderRight- borderRight?: ResponsiveValue<boolean> | undefined;
borderTop- borderTop?: ResponsiveValue<boolean> | undefined;
center- center?: ResponsiveValue<boolean> | undefined;
children- children: JSXElement;
className- className?: string | undefined;
direction- direction?: ResponsiveValue<BlockDirection> | undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
grow- grow?: ResponsiveValue<number | boolean> | undefined;
height- height?: ResponsiveValue<BlockSize> | undefined;
hide- hide?: ResponsiveValue<boolean> | undefined;
justify- justify?: ResponsiveValue<BlockJustify> | undefined;
margin- margin?: ResponsiveValue<BlockMargin> | undefined;
marginX- marginX?: ResponsiveValue<BlockMargin> | undefined;
marginY- marginY?: ResponsiveValue<BlockMargin> | undefined;
maxHeight- maxHeight?: ResponsiveValue<BlockSize> | undefined;
maxWidth- maxWidth?: ResponsiveValue<BlockSize> | undefined;
minHeight- minHeight?: ResponsiveValue<BlockSize> | undefined;
minWidth- minWidth?: ResponsiveValue<BlockSize> | undefined;
padding- padding?: ResponsiveValue<BlockSpace> | undefined;
paddingX- paddingX?: ResponsiveValue<BlockSpace> | undefined;
paddingY- paddingY?: ResponsiveValue<BlockSpace> | undefined;
radius- radius?: ResponsiveValue<BlockRadius> | undefined;
ref- ref?: Ref<unknown>;
rowFrom- rowFrom?: BlockRowFrom | undefined;
shadow- shadow?: ResponsiveValue<BlockShadow> | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
sticky- sticky?: boolean | undefined;
top- top?: ResponsiveValue<BlockSpace> | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
wrap- wrap?: ResponsiveValue<boolean> | undefined;
zIndex- zIndex?: ResponsiveValue<BlockZIndex> | undefined;
BlockBackgroundtype
BlockBackground: "surface" | "muted" | "selected" | "canvas" | "raised" | "overlay" | "transparent"BlockDirectiontype
BlockDirection: "row" | "column" | "row-reverse" | "column-reverse"BlockDivPropstype
BlockDivProps: BlockElementProps<"div">{@link Block } props specialized for a `<div>` element.
align- align?: ResponsiveValue<BlockAlign> | undefined;
as- as?: "div" | undefined;
asChild- asChild?: false | undefined;
background- background?: ResponsiveValue<BlockBackground> | undefined;
border- border?: ResponsiveValue<boolean> | undefined;
borderBottom- borderBottom?: ResponsiveValue<boolean> | undefined;
borderRight- borderRight?: ResponsiveValue<boolean> | undefined;
borderTop- borderTop?: ResponsiveValue<boolean> | undefined;
center- center?: ResponsiveValue<boolean> | undefined;
children- children?: unknown;
className- className?: string | undefined;
direction- direction?: ResponsiveValue<BlockDirection> | undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
grow- grow?: ResponsiveValue<number | boolean> | undefined;
height- height?: ResponsiveValue<BlockSize> | undefined;
hide- hide?: ResponsiveValue<boolean> | undefined;
justify- justify?: ResponsiveValue<BlockJustify> | undefined;
margin- margin?: ResponsiveValue<BlockMargin> | undefined;
marginX- marginX?: ResponsiveValue<BlockMargin> | undefined;
marginY- marginY?: ResponsiveValue<BlockMargin> | undefined;
maxHeight- maxHeight?: ResponsiveValue<BlockSize> | undefined;
maxWidth- maxWidth?: ResponsiveValue<BlockSize> | undefined;
minHeight- minHeight?: ResponsiveValue<BlockSize> | undefined;
minWidth- minWidth?: ResponsiveValue<BlockSize> | undefined;
padding- padding?: ResponsiveValue<BlockSpace> | undefined;
paddingX- paddingX?: ResponsiveValue<BlockSpace> | undefined;
paddingY- paddingY?: ResponsiveValue<BlockSpace> | undefined;
radius- radius?: ResponsiveValue<BlockRadius> | undefined;
ref- ref?: Ref<unknown>;
rowFrom- rowFrom?: BlockRowFrom | undefined;
shadow- shadow?: ResponsiveValue<BlockShadow> | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
sticky- sticky?: boolean | undefined;
top- top?: ResponsiveValue<BlockSpace> | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
wrap- wrap?: ResponsiveValue<boolean> | undefined;
zIndex- zIndex?: ResponsiveValue<BlockZIndex> | undefined;
BlockElementtype
BlockElement: "div" | "span" | "main" | "header" | "footer" | "section" | "aside" | "nav" | "a" | "ul" | "ol" | "li" | "form" | "article"Element tags {@link Block } can render as via its `as` prop.
BlockElementPropstype
BlockElementProps: Omit<JSX.IntrinsicElements[TElement], "children" | "ref"> & BlockOwnProps & {
as?: TElement;
asChild?: false;
ref?: Ref<unknown>;
}{@link Block } props specialized for a given {@link BlockElement} tag `TElement`.
align- align?: ResponsiveValue<BlockAlign> | undefined;
as- as?: TElement | undefined;
asChild- asChild?: false | undefined;
background- background?: ResponsiveValue<BlockBackground> | undefined;
border- border?: ResponsiveValue<boolean> | undefined;
borderBottom- borderBottom?: ResponsiveValue<boolean> | undefined;
borderRight- borderRight?: ResponsiveValue<boolean> | undefined;
borderTop- borderTop?: ResponsiveValue<boolean> | undefined;
center- center?: ResponsiveValue<boolean> | undefined;
children- children?: unknown;
direction- direction?: ResponsiveValue<BlockDirection> | undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
grow- grow?: ResponsiveValue<number | boolean> | undefined;
height- height?: ResponsiveValue<BlockSize> | undefined;
hide- hide?: ResponsiveValue<boolean> | undefined;
justify- justify?: ResponsiveValue<BlockJustify> | undefined;
margin- margin?: ResponsiveValue<BlockMargin> | undefined;
marginX- marginX?: ResponsiveValue<BlockMargin> | undefined;
marginY- marginY?: ResponsiveValue<BlockMargin> | undefined;
maxHeight- maxHeight?: ResponsiveValue<BlockSize> | undefined;
maxWidth- maxWidth?: ResponsiveValue<BlockSize> | undefined;
minHeight- minHeight?: ResponsiveValue<BlockSize> | undefined;
minWidth- minWidth?: ResponsiveValue<BlockSize> | undefined;
padding- padding?: ResponsiveValue<BlockSpace> | undefined;
paddingX- paddingX?: ResponsiveValue<BlockSpace> | undefined;
paddingY- paddingY?: ResponsiveValue<BlockSpace> | undefined;
radius- radius?: ResponsiveValue<BlockRadius> | undefined;
ref- ref?: Ref<unknown>;
rowFrom- rowFrom?: BlockRowFrom | undefined;
shadow- shadow?: ResponsiveValue<BlockShadow> | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
sticky- sticky?: boolean | undefined;
top- top?: ResponsiveValue<BlockSpace> | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
wrap- wrap?: ResponsiveValue<boolean> | undefined;
zIndex- zIndex?: ResponsiveValue<BlockZIndex> | undefined;
BlockJustifytype
BlockJustify: "start" | "end" | "center" | "between"BlockMargintype
BlockMargin: BlockSpace | "auto"BlockNativePropstype
BlockNativeProps: { [TElement in BlockElement]: BlockElementProps<TElement>; }[BlockElement]Union of {@link BlockElementProps} across every {@link BlockElement}, used for {@link Block }'s native (non-`asChild`) overload.
align- align?: ResponsiveValue<BlockAlign> | undefined;
as- as?: "a" | "article" | "aside" | "div" | "form" | "footer" | "header" | "li" | "main" | "nav" | "ol" | "section" | "span" | "ul" | undefined;
asChild- asChild?: false | undefined;
background- background?: ResponsiveValue<BlockBackground> | undefined;
border- border?: ResponsiveValue<boolean> | undefined;
borderBottom- borderBottom?: ResponsiveValue<boolean> | undefined;
borderRight- borderRight?: ResponsiveValue<boolean> | undefined;
borderTop- borderTop?: ResponsiveValue<boolean> | undefined;
center- center?: ResponsiveValue<boolean> | undefined;
children- children?: unknown;
className- className?: string | ((() => IntrinsicClassValue) & string) | undefined;
direction- direction?: ResponsiveValue<BlockDirection> | undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
grow- grow?: ResponsiveValue<number | boolean> | undefined;
height- height?: ResponsiveValue<BlockSize> | undefined;
hide- hide?: ResponsiveValue<boolean> | undefined;
justify- justify?: ResponsiveValue<BlockJustify> | undefined;
margin- margin?: ResponsiveValue<BlockMargin> | undefined;
marginX- marginX?: ResponsiveValue<BlockMargin> | undefined;
marginY- marginY?: ResponsiveValue<BlockMargin> | undefined;
maxHeight- maxHeight?: ResponsiveValue<BlockSize> | undefined;
maxWidth- maxWidth?: ResponsiveValue<BlockSize> | undefined;
minHeight- minHeight?: ResponsiveValue<BlockSize> | undefined;
minWidth- minWidth?: ResponsiveValue<BlockSize> | undefined;
padding- padding?: ResponsiveValue<BlockSpace> | undefined;
paddingX- paddingX?: ResponsiveValue<BlockSpace> | undefined;
paddingY- paddingY?: ResponsiveValue<BlockSpace> | undefined;
radius- radius?: ResponsiveValue<BlockRadius> | undefined;
ref- ref?: Ref<unknown>;
rowFrom- rowFrom?: BlockRowFrom | undefined;
shadow- shadow?: ResponsiveValue<BlockShadow> | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
sticky- sticky?: boolean | undefined;
top- top?: ResponsiveValue<BlockSpace> | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
wrap- wrap?: ResponsiveValue<boolean> | undefined;
zIndex- zIndex?: ResponsiveValue<BlockZIndex> | undefined;
BlockOwnPropstype
BlockOwnProps: BlockLayoutProps & {
as?: BlockElement;
children?: unknown;
className?: string;
}Layout and structural props accepted by {@link Block }, independent of the rendered element.
align- align?: ResponsiveValue<BlockAlign> | undefined;
as- as?: BlockElement | undefined;
background- background?: ResponsiveValue<BlockBackground> | undefined;
border- border?: ResponsiveValue<boolean> | undefined;
borderBottom- borderBottom?: ResponsiveValue<boolean> | undefined;
borderRight- borderRight?: ResponsiveValue<boolean> | undefined;
borderTop- borderTop?: ResponsiveValue<boolean> | undefined;
center- center?: ResponsiveValue<boolean> | undefined;
children- children?: unknown;
className- className?: string | undefined;
direction- direction?: ResponsiveValue<BlockDirection> | undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
grow- grow?: ResponsiveValue<number | boolean> | undefined;
height- height?: ResponsiveValue<BlockSize> | undefined;
hide- hide?: ResponsiveValue<boolean> | undefined;
justify- justify?: ResponsiveValue<BlockJustify> | undefined;
margin- margin?: ResponsiveValue<BlockMargin> | undefined;
marginX- marginX?: ResponsiveValue<BlockMargin> | undefined;
marginY- marginY?: ResponsiveValue<BlockMargin> | undefined;
maxHeight- maxHeight?: ResponsiveValue<BlockSize> | undefined;
maxWidth- maxWidth?: ResponsiveValue<BlockSize> | undefined;
minHeight- minHeight?: ResponsiveValue<BlockSize> | undefined;
minWidth- minWidth?: ResponsiveValue<BlockSize> | undefined;
padding- padding?: ResponsiveValue<BlockSpace> | undefined;
paddingX- paddingX?: ResponsiveValue<BlockSpace> | undefined;
paddingY- paddingY?: ResponsiveValue<BlockSpace> | undefined;
radius- radius?: ResponsiveValue<BlockRadius> | undefined;
rowFrom- rowFrom?: BlockRowFrom | undefined;
shadow- shadow?: ResponsiveValue<BlockShadow> | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
sticky- sticky?: boolean | undefined;
top- top?: ResponsiveValue<BlockSpace> | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
wrap- wrap?: ResponsiveValue<boolean> | undefined;
zIndex- zIndex?: ResponsiveValue<BlockZIndex> | undefined;
BlockPropstype
BlockProps: BlockNativeProps | BlockAsChildPropsUnion of all prop shapes accepted by {@link Block }.
align- align?: ResponsiveValue<BlockAlign> | undefined;
asChild- asChild?: boolean | undefined;
background- background?: ResponsiveValue<BlockBackground> | undefined;
border- border?: ResponsiveValue<boolean> | undefined;
borderBottom- borderBottom?: ResponsiveValue<boolean> | undefined;
borderRight- borderRight?: ResponsiveValue<boolean> | undefined;
borderTop- borderTop?: ResponsiveValue<boolean> | undefined;
center- center?: ResponsiveValue<boolean> | undefined;
children- children?: unknown;
className- className?: string | ((() => IntrinsicClassValue) & string) | undefined;
direction- direction?: ResponsiveValue<BlockDirection> | undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
grow- grow?: ResponsiveValue<number | boolean> | undefined;
height- height?: ResponsiveValue<BlockSize> | undefined;
hide- hide?: ResponsiveValue<boolean> | undefined;
justify- justify?: ResponsiveValue<BlockJustify> | undefined;
margin- margin?: ResponsiveValue<BlockMargin> | undefined;
marginX- marginX?: ResponsiveValue<BlockMargin> | undefined;
marginY- marginY?: ResponsiveValue<BlockMargin> | undefined;
maxHeight- maxHeight?: ResponsiveValue<BlockSize> | undefined;
maxWidth- maxWidth?: ResponsiveValue<BlockSize> | undefined;
minHeight- minHeight?: ResponsiveValue<BlockSize> | undefined;
minWidth- minWidth?: ResponsiveValue<BlockSize> | undefined;
padding- padding?: ResponsiveValue<BlockSpace> | undefined;
paddingX- paddingX?: ResponsiveValue<BlockSpace> | undefined;
paddingY- paddingY?: ResponsiveValue<BlockSpace> | undefined;
radius- radius?: ResponsiveValue<BlockRadius> | undefined;
ref- ref?: Ref<unknown>;
rowFrom- rowFrom?: BlockRowFrom | undefined;
shadow- shadow?: ResponsiveValue<BlockShadow> | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
sticky- sticky?: boolean | undefined;
top- top?: ResponsiveValue<BlockSpace> | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
wrap- wrap?: ResponsiveValue<boolean> | undefined;
zIndex- zIndex?: ResponsiveValue<BlockZIndex> | undefined;
BlockRadiustype
BlockRadius: true | "sm" | "md" | "lg" | "xl" | "round"BlockResponsiveValuetype
ResponsiveValue: T | Partial<Record<LayoutBreakpoint, T>>BlockRowFromtype
BlockRowFrom: Exclude<LayoutBreakpoint, "base">BlockShadowtype
BlockShadow: true | "sm" | "md" | "lg"BlockSizetype
BlockSize: "auto" | "full" | "screen" | "content" | "sidebar" | "page" | "sm" | "md" | "lg" | "xl"BlockSpacetype
BlockSpace: "0" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "page"BlockSpanPropstype
BlockSpanProps: BlockElementProps<"span">{@link Block } props specialized for a `<span>` element.
align- align?: ResponsiveValue<BlockAlign> | undefined;
as- as?: "span" | undefined;
asChild- asChild?: false | undefined;
background- background?: ResponsiveValue<BlockBackground> | undefined;
border- border?: ResponsiveValue<boolean> | undefined;
borderBottom- borderBottom?: ResponsiveValue<boolean> | undefined;
borderRight- borderRight?: ResponsiveValue<boolean> | undefined;
borderTop- borderTop?: ResponsiveValue<boolean> | undefined;
center- center?: ResponsiveValue<boolean> | undefined;
children- children?: unknown;
className- className?: string | undefined;
direction- direction?: ResponsiveValue<BlockDirection> | undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
grow- grow?: ResponsiveValue<number | boolean> | undefined;
height- height?: ResponsiveValue<BlockSize> | undefined;
hide- hide?: ResponsiveValue<boolean> | undefined;
justify- justify?: ResponsiveValue<BlockJustify> | undefined;
margin- margin?: ResponsiveValue<BlockMargin> | undefined;
marginX- marginX?: ResponsiveValue<BlockMargin> | undefined;
marginY- marginY?: ResponsiveValue<BlockMargin> | undefined;
maxHeight- maxHeight?: ResponsiveValue<BlockSize> | undefined;
maxWidth- maxWidth?: ResponsiveValue<BlockSize> | undefined;
minHeight- minHeight?: ResponsiveValue<BlockSize> | undefined;
minWidth- minWidth?: ResponsiveValue<BlockSize> | undefined;
padding- padding?: ResponsiveValue<BlockSpace> | undefined;
paddingX- paddingX?: ResponsiveValue<BlockSpace> | undefined;
paddingY- paddingY?: ResponsiveValue<BlockSpace> | undefined;
radius- radius?: ResponsiveValue<BlockRadius> | undefined;
ref- ref?: Ref<unknown>;
rowFrom- rowFrom?: BlockRowFrom | undefined;
shadow- shadow?: ResponsiveValue<BlockShadow> | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
sticky- sticky?: boolean | undefined;
top- top?: ResponsiveValue<BlockSpace> | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
wrap- wrap?: ResponsiveValue<boolean> | undefined;
zIndex- zIndex?: ResponsiveValue<BlockZIndex> | undefined;
BlockZIndextype
BlockZIndex: "header" | "sticky" | "fixed" | "dropdown" | "modal" | "popover" | "toast" | "tooltip"Boxtype
Box: (props: LegacyLayoutProps) => JSX.ElementBrandtype
Brand: <TElement extends "div" | "a" | "span" = "div">(props: BrandProps<TElement>) => JSX.ElementRenders a brand/logo wrapper, defaulting to a `<div>` (or `<a>`/`<span>` via `as`), or merges onto a single child via `asChild`.
BrandLabeltype
BrandLabel: (props: BrandLabelProps) => JSX.ElementRenders the text label portion of a {@link Brand}.
BrandMarktype
BrandMark: (props: BrandMarkProps) => JSX.ElementRenders the icon/mark portion of a {@link Brand}.
Breadcrumbtype
Breadcrumb: (props: CatalogComponentProps) => JSX.ElementRenders the `breadcrumb` part of the shadcn-compatible catalog primitives.
BreadcrumbEllipsistype
BreadcrumbEllipsis: (props: CatalogComponentProps) => JSX.ElementRenders a non-interactive ellipsis marker in a breadcrumb trail.
BreadcrumbItemtype
BreadcrumbItem: (props: CatalogComponentProps) => JSX.ElementRenders the `breadcrumb-item` part of the shadcn-compatible catalog primitives.
BreadcrumbLinktype
BreadcrumbLink: (props: CatalogComponentProps) => JSX.ElementRenders the `breadcrumb-link` part of the shadcn-compatible catalog primitives.
BreadcrumbListtype
BreadcrumbList: (props: CatalogComponentProps) => JSX.ElementRenders the `breadcrumb-list` part of the shadcn-compatible catalog primitives.
BreadcrumbPagetype
BreadcrumbPage: (props: CatalogComponentProps) => JSX.ElementRenders the current (non-link) breadcrumb page, marked `aria-current="page"`.
BreadcrumbSeparatortype
BreadcrumbSeparator: (props: CatalogComponentProps) => JSX.ElementRenders the separator between breadcrumb items (defaults to `"/"`).
Buttontype
Button: { (props: ButtonNativeProps): JSX.Element; (props: ButtonAsChildProps): JSX.Element; }Headless Button component ## Responsibilities - Compose pressable foundation for interaction behavior - Enforce type="button" default to prevent accidental form submission - Forward props and refs to native button or child element ## Non-Responsibilities (delegated to pressable foundation) - Keyboard event handling (Enter/Space) - Pointer event handling - Disabled state enforcement - ARIA attribute application ## Invariants - MUST NOT contain any event handler logic - MUST NOT check disabled prop directly - MUST use pressable() for ALL interaction behavior - MUST use mergeProps() for ALL prop composition Renders the `button` part of `button`. Supports polymorphic rendering via `asChild`.
Native button (prevents accidental submit)
```tsx
<Button onPress={handleSave}>Save</Button>
```Explicit form submission
```tsx
<Button type="submit" onPress={handleSubmit}>Submit</Button>
```Polymorphic rendering (asChild)
```tsx
<Button asChild onPress={handleNav}>
<a href="/home">Home</a>
</Button>
```ButtonAsChildElementtype
ButtonAsChildElement: JSXElement | JSX.ElementButton As Child Element.
ButtonAsChildPropstype
ButtonAsChildProps: ButtonOwnProps & {
asChild: true;
children: ButtonAsChildElement;
ref?: Ref<Element>;
type?: never;
}Props when rendering with asChild (polymorphic)
asChild- asChild: true;
children- children: ButtonAsChildElement;
disabled- disabled?: boolean | undefined;
onPress- onPress?: ((e: PressEvent) => void) | undefined;
ref- ref?: Ref<Element>;
size- size?: ButtonSize | undefined;
type- type?: undefined;
variant- variant?: ButtonVariant | undefined;
width- width?: ButtonWidth | undefined;
ButtonGrouptype
ButtonGroup: (props: ButtonGroupProps) => JSX.ElementGroups related buttons together, optionally visually attached, with a horizontal or vertical orientation and `role="group"` by default.
ButtonGroupOrientationtype
ButtonGroupOrientation: "horizontal" | "vertical"Layout direction of a {@link ButtonGroup }.
ButtonGroupPropstype
ButtonGroupProps: DivProps & {
children?: unknown;
attached?: boolean;
orientation?: ButtonGroupOrientation;
ref?: Ref<HTMLDivElement>;
}Props for the {@link ButtonGroup } component.
attached- attached?: boolean | undefined;
children- children?: unknown;
orientation- orientation?: ButtonGroupOrientation | undefined;
ref- ref?: Ref<HTMLDivElement>;
ButtonNativePropstype
ButtonNativeProps: Omit<JSX.IntrinsicElements['button'], 'children' | 'onClick' | 'disabled' | 'type' | 'ref'> & ButtonOwnProps & {
asChild?: false;
ref?: Ref<HTMLButtonElement>;
type?: 'button' | 'submit' | 'reset';
}Props when rendering as native <button>
asChild- asChild?: false | undefined;
children- children?: unknown;
disabled- disabled?: boolean | undefined;
onPress- onPress?: ((e: PressEvent) => void) | undefined;
ref- ref?: Ref<HTMLButtonElement>;
size- size?: ButtonSize | undefined;
type- type?: "button" | "submit" | "reset" | undefined;
variant- variant?: ButtonVariant | undefined;
width- width?: ButtonWidth | undefined;
ButtonPropstype
ButtonProps: ButtonNativeProps | ButtonAsChildPropsUnion of all Button prop variants
asChild- asChild?: boolean | undefined;
children- children?: unknown;
disabled- disabled?: boolean | undefined;
onPress- onPress?: ((e: PressEvent) => void) | undefined;
ref- ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLButtonElement | null) => void) | { current: HTMLButtonElement | null; } | null | undefined;
size- size?: ButtonSize | undefined;
type- type?: "button" | "submit" | "reset" | undefined;
variant- variant?: ButtonVariant | undefined;
width- width?: ButtonWidth | undefined;
ButtonSizetype
ButtonSize: 'xs' | 'sm' | 'md' | 'lg' | 'icon' | 'icon-xs' | 'icon-sm' | 'icon-lg'Button Size.
ButtonVarianttype
ButtonVariant: 'default' | 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link'Button Variant.
ButtonWidthtype
ButtonWidth: 'auto' | 'full'Button Width.
Calendartype
Calendar: (props: CatalogComponentProps) => JSX.ElementStyling-only calendar anatomy; it does not own dates, grid focus, selection, or month navigation.
CalendarBodytype
CalendarBody: (props: CatalogComponentProps) => JSX.ElementRenders the `calendar-body` part of the shadcn-compatible catalog primitives.
CalendarCaptiontype
CalendarCaption: (props: CatalogComponentProps) => JSX.ElementRenders the `calendar-caption` part of the shadcn-compatible catalog primitives.
CalendarCelltype
CalendarCell: (props: CatalogComponentProps) => JSX.ElementRenders the `calendar-cell` part of the shadcn-compatible catalog primitives.
CalendarDaytype
CalendarDay: (props: CatalogComponentProps & { disabled?: boolean; outside?: boolean; rangeEnd?: boolean; rangeMiddle?: boolean; rangeStart?: boolean; selected?: boolean; today?: boolean; }) => JSX.ElementRenders a single selectable day cell in the calendar grid, with selection/range/today state exposed as data attributes.
CalendarGridtype
CalendarGrid: (props: CatalogComponentProps) => JSX.ElementRenders the `calendar-grid` part of the shadcn-compatible catalog primitives.
CalendarHeadtype
CalendarHead: (props: CatalogComponentProps) => JSX.ElementRenders the `calendar-head` part of the shadcn-compatible catalog primitives.
CalendarHeadertype
CalendarHeader: (props: CatalogComponentProps) => JSX.ElementRenders the `calendar-header` part of the shadcn-compatible catalog primitives.
CalendarNavtype
CalendarNav: (props: CatalogComponentProps) => JSX.ElementRenders the `calendar-nav` part of the shadcn-compatible catalog primitives.
CalendarNextButtontype
CalendarNextButton: (props: CatalogComponentProps) => JSX.ElementButton that navigates the calendar to the next month.
CalendarPreviousButtontype
CalendarPreviousButton: (props: CatalogComponentProps) => JSX.ElementButton that navigates the calendar to the previous month.
CalendarRowtype
CalendarRow: (props: CatalogComponentProps) => JSX.ElementRenders the `calendar-row` part of the shadcn-compatible catalog primitives.
Cardtype
Card: (props: CardProps) => JSX.ElementRoot card container; applies the `card` class and an optional `variant` modifier.
CardActiontype
CardAction: (props: CardActionProps) => JSX.ElementRenders an action/control region of a {@link Card}, typically positioned alongside the header.
CardActionPropstype
CardActionProps: DivProps & {
children?: unknown;
ref?: Ref<HTMLDivElement>;
}Props for the {@link CardAction } component.
children- children?: unknown;
ref- ref?: Ref<HTMLDivElement>;
CardContenttype
CardContent: (props: CardContentProps) => JSX.ElementRenders the main content region of a {@link Card}.
CardContentPropstype
CardContentProps: DivProps & {
children?: unknown;
ref?: Ref<HTMLDivElement>;
}Props for the {@link CardContent } component.
children- children?: unknown;
ref- ref?: Ref<HTMLDivElement>;
CardDescriptiontype
CardDescription: (props: CardDescriptionProps) => JSX.ElementRenders a {@link Card}'s supporting description text.
CardDescriptionPropstype
CardDescriptionProps: ParagraphProps & {
children?: unknown;
ref?: Ref<HTMLParagraphElement>;
}Props for the {@link CardDescription } component.
children- children?: unknown;
ref- ref?: Ref<HTMLParagraphElement>;
CardFootertype
CardFooter: (props: CardFooterProps) => JSX.ElementRenders the footer region of a {@link Card}.
CardFooterPropstype
CardFooterProps: DivProps & {
children?: unknown;
ref?: Ref<HTMLDivElement>;
}Props for the {@link CardFooter } component.
children- children?: unknown;
ref- ref?: Ref<HTMLDivElement>;
CardHeadertype
CardHeader: (props: CardHeaderProps) => JSX.ElementRenders the header region of a {@link Card}.
CardHeaderPropstype
CardHeaderProps: DivProps & {
children?: unknown;
ref?: Ref<HTMLDivElement>;
}Props for the {@link CardHeader } component.
children- children?: unknown;
ref- ref?: Ref<HTMLDivElement>;
CardPropstype
CardProps: DivProps & {
children?: unknown;
variant?: CardVariant;
ref?: Ref<HTMLDivElement>;
}Props for the {@link Card } component.
children- children?: unknown;
ref- ref?: Ref<HTMLDivElement>;
variant- variant?: CardVariant | undefined;
CardTitletype
CardTitle: (props: CardTitleProps) => JSX.ElementRenders a {@link Card}'s title, defaulting to an `<h3>` (override with `titleAs`).
CardTitleHeadingTagtype
CardTitleHeadingTag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"Heading tag allowed for a card's title via `titleAs`.
CardTitlePropstype
CardTitleProps: HeadingProps & {
children?: unknown;
/** Choose the level that follows the surrounding document hierarchy. */
titleAs?: CardTitleHeadingTag;
ref?: Ref<HTMLHeadingElement>;
}Props for the {@link CardTitle } component.
children- children?: unknown;
ref- ref?: Ref<HTMLHeadingElement>;
titleAs- Choose the level that follows the surrounding document hierarchy.
CardVarianttype
CardVariant: "default" | "raised"Visual style of a {@link CardProps} card.
Carouseltype
Carousel: (props: CatalogComponentProps) => JSX.ElementStyling-only carousel anatomy; it does not own an active slide, scrolling, or keyboard navigation.
CarouselContenttype
CarouselContent: (props: CatalogComponentProps) => JSX.ElementRenders the `carousel-content` part of the shadcn-compatible catalog primitives.
CarouselItemtype
CarouselItem: (props: CatalogComponentProps) => JSX.ElementRenders the `carousel-item` part of the shadcn-compatible catalog primitives.
CarouselNexttype
CarouselNext: (props: CatalogComponentProps) => JSX.ElementButton that navigates the carousel to the next item.
CarouselPrevioustype
CarouselPrevious: (props: CatalogComponentProps) => JSX.ElementButton that navigates the carousel to the previous item.
CAT_THEME_NAMEStype
CAT_THEME_NAMES: readonly ["tabby", "ginger", "tuxedo", "calico", "torty"]Names of the built-in "cat" theme presets.
CAT_THEME_OPTIONStype
CAT_THEME_OPTIONS: readonly ThemeOption[]Theme options for the built-in "cat" theme presets, keyed to {@link CAT_THEME_NAMES}.
CatalogComponentPropstype
CatalogComponentProps: Record<string, unknown> & {
as?: CatalogElement;
asChild?: boolean;
children?: unknown;
class?: string;
ref?: Ref<HTMLElement>;
}Shared prop shape for the shadcn-compatible catalog primitives below: a polymorphic `as`/`asChild` element plus passthrough attributes.
as- as?: keyof JSX.IntrinsicElements | undefined;
asChild- asChild?: boolean | undefined;
children- children?: unknown;
class- class?: string | undefined;
ref- ref?: Ref<HTMLElement>;
CatThemeNametype
CatThemeName: (typeof CAT_THEME_NAMES)[number]A built-in "cat" theme name, one of {@link CAT_THEME_NAMES}.
Checkboxtype
Checkbox: { (props: CheckboxInputProps): JSX.Element; (props: CheckboxAsChildProps): JSX.Element; }Headless Checkbox component ## Responsibilities - Apply aria-checked for checkbox state signaling - Handle indeterminate state for native and asChild hosts - Support controlled and uncontrolled checked state - Forward props and refs to native input or child element - Preserve native checkbox semantics and apply checkbox behavior to asChild hosts ## Non-Responsibilities - Form submission orchestration beyond native input props ## Invariants - MUST NOT add role="button" (native inputs are role="checkbox") - checked state may be controlled or uncontrolled - indeterminate overrides checked for state signaling - For asChild, consumer MUST provide role="checkbox" Renders the `checkbox` part of `checkbox` with `role="checkbox"`. Supports polymorphic rendering via `asChild`.
Native checkbox input
```tsx
const checked = state(false);
<Checkbox checked={checked()} onPress={() => checked.set(!checked())} />
```Polymorphic rendering (asChild)
```tsx
<Checkbox asChild checked={agreed} onPress={toggleAgree}>
<div role="checkbox">I agree to terms</div>
</Checkbox>
```Indeterminate state (partial selection)
```tsx
<Checkbox checked={someChecked} indeterminate={!allChecked && someChecked} onPress={toggleAll}>
Select All
</Checkbox>
```Closetype
Close: (props: CloseNativeProps) => JSX.ElementRenders a dismiss ("×") icon button, built on top of `Button`, defaulting to an icon-sized ghost variant with an accessible `label`.
CloseNativePropstype
CloseNativeProps: ButtonNativeProps & CloseOwnPropsProps for the {@link Close } component.
label- label?: string | undefined;
CloseOwnPropstype
CloseOwnProps: {
label?: string;
}Props specific to {@link Close }, layered on top of {@link ButtonNativeProps}.
label- label?: string | undefined;
Collapsibletype
Collapsible: (props: CollapsibleProps) => JSX.ElementRenders a part of `collapsible`.
CollapsibleContenttype
CollapsibleContent: { (props: CollapsibleContentProps): JSX.Element | null; (props: CollapsibleContentAsChildProps): JSX.Element | null; }Renders the `collapsible-content` part of `collapsible`. Supports polymorphic rendering via `asChild`.
CollapsibleTriggertype
CollapsibleTrigger: { (props: CollapsibleTriggerProps): JSX.Element; (props: CollapsibleTriggerAsChildProps): JSX.Element; }Renders the `collapsible-trigger` part of `collapsible`. Supports polymorphic rendering via `asChild`.
Comboboxtype
Combobox: (props: CatalogComponentProps) => JSX.ElementStyling-only combobox anatomy; it does not own value, popup, filtering, focus, or ARIA state.
ComboboxInputtype
ComboboxInput: (props: CatalogComponentProps) => JSX.ElementStyling-only combobox input; consumers supplying behavior also own its complete ARIA contract.
ComboboxListtype
ComboboxList: (props: CatalogComponentProps) => JSX.ElementRenders the `combobox-list` part of the shadcn-compatible catalog primitives.
ComboboxOptiontype
ComboboxOption: (props: CatalogComponentProps) => JSX.ElementRenders the `combobox-option` part of the shadcn-compatible catalog primitives.
Commandtype
Command: (props: CatalogComponentProps) => JSX.ElementStyling-only command anatomy; it does not own filtering, selection, focus, or keyboard commands.
CommandDialogtype
CommandDialog: (props: CatalogComponentProps) => JSX.ElementRenders the `command-dialog` part of the shadcn-compatible catalog primitives.
CommandEmptytype
CommandEmpty: (props: CatalogComponentProps) => JSX.ElementRenders the `command-empty` part of the shadcn-compatible catalog primitives.
CommandGrouptype
CommandGroup: (props: CatalogComponentProps) => JSX.ElementRenders the `command-group` part of the shadcn-compatible catalog primitives.
CommandGroupHeadingtype
CommandGroupHeading: (props: CatalogComponentProps) => JSX.ElementRenders the `command-group-heading` part of the shadcn-compatible catalog primitives.
CommandHeadertype
CommandHeader: (props: CatalogComponentProps) => JSX.ElementRenders the `command-header` part of the shadcn-compatible catalog primitives.
CommandInputtype
CommandInput: (props: CatalogComponentProps) => JSX.ElementRenders the command palette's search `<input>`.
CommandItemtype
CommandItem: (props: CatalogComponentProps & { active?: boolean; disabled?: boolean; selected?: boolean; }) => JSX.ElementRenders a selectable command list entry, exposing `active`/`disabled`/`selected` as ARIA and data attributes.
CommandListtype
CommandList: (props: CatalogComponentProps) => JSX.ElementRenders the `command-list` part of the shadcn-compatible catalog primitives.
CommandPalettetype
CommandPalette: (props: CommandPaletteProps) => JSX.ElementRoot dialog wrapper for a searchable command palette. Manages open state (controlled or uncontrolled), tracks the triggering element, and restores focus to it after the palette closes.
CommandPaletteContenttype
CommandPaletteContent: (props: CommandPaletteContentProps) => JSX.ElementDialog content for a {@link CommandPalette}: renders the overlay, an accessible (visually hidden) title/description, and a `Command` list, moving initial focus to `initialFocus` (defaults to the search input) once mounted, and optionally suppressing dismiss-on-escape/backdrop.
CommandPaletteContentPropstype
CommandPaletteContentProps: Omit<DialogContentProps, "children" | "title" | "onEscapeKeyDown" | "onInteractOutside" | "onPointerDownOutside"> & {
children?: unknown;
title: string;
description?: string;
initialFocus?: string | (() => HTMLElement | null) | false;
closeOnBackdrop?: boolean;
closeOnEscape?: boolean;
overlayProps?: DialogOverlayProps;
onEscapeKeyDown?: (event: KeyboardEvent) => void;
onInteractOutside?: (event: Event) => void;
onPointerDownOutside?: (event: PointerEvent) => void;
}Props for the {@link CommandPaletteContent } component.
children- children?: unknown;
closeOnBackdrop- closeOnBackdrop?: boolean | undefined;
closeOnEscape- closeOnEscape?: boolean | undefined;
description- description?: string | undefined;
initialFocus- initialFocus?: string | false | (() => HTMLElement | null) | undefined;
onEscapeKeyDown- onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;
onInteractOutside- onInteractOutside?: ((event: Event) => void) | undefined;
onPointerDownOutside- onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;
overlayProps- overlayProps?: DialogOverlayProps | undefined;
title- title: string;
CommandPaletteLinktype
CommandPaletteLink: (props: CommandPaletteLinkProps) => JSX.ElementA navigable result row that closes the palette on selection (unless `closeOnSelect` is `false`) and supports cancelling navigation via `onBeforeNavigate`.
CommandPaletteLinkPropstype
CommandPaletteLinkProps: LinkProps & {
closeOnSelect?: boolean;
onBeforeNavigate?: (event: Event) => void;
}Props for the {@link CommandPaletteLink } component.
closeOnSelect- closeOnSelect?: boolean | undefined;
onBeforeNavigate- onBeforeNavigate?: ((event: Event) => void) | undefined;
CommandPaletteListtype
CommandPaletteList: (props: CommandPaletteListProps) => JSX.ElementRenders the `<ul>` list wrapper for {@link CommandPalette} results.
CommandPaletteListPropstype
CommandPaletteListProps: Omit<JSX.IntrinsicElements["ul"], "children" | "ref"> & {
children?: unknown;
ref?: Ref<HTMLUListElement>;
}Props for the {@link CommandPaletteList } component.
children- children?: unknown;
ref- ref?: Ref<HTMLUListElement>;
CommandPalettePropstype
CommandPaletteProps: DialogPropsProps for the {@link CommandPalette } component.
CommandPaletteTriggertype
CommandPaletteTrigger: { (props: CommandPaletteTriggerProps): JSX.Element; (props: CommandPaletteTriggerAsChildProps): JSX.Element; }Trigger that opens the {@link CommandPalette}, registering itself so focus returns here on close.
CommandPaletteTriggerAsChildPropstype
CommandPaletteTriggerAsChildProps: DialogTriggerAsChildPropsProps for {@link CommandPaletteTrigger } rendered with `asChild`.
CommandPaletteTriggerPropstype
CommandPaletteTriggerProps: DialogTriggerPropsProps for the {@link CommandPaletteTrigger } component.
CommandSeparatortype
CommandSeparator: (props: CatalogComponentProps) => JSX.ElementRenders the `command-separator` part of the shadcn-compatible catalog primitives.
CommandShortcuttype
CommandShortcut: (props: CatalogComponentProps) => JSX.ElementRenders the `command-shortcut` part of the shadcn-compatible catalog primitives.
Containertype
Container: (props: ContainerProps) => JSX.ElementCenters content in a max-width column with page gutters (defaults to the `"page"` {@link BlockSize }).
ContainerPropstype
ContainerProps: Omit<BlockDivProps, "maxWidth"> & {
size?: BlockSize;
}Props for the {@link Container } component.
size- size?: BlockSize | undefined;
ContextMenutype
Dropdown: (props: DropdownProps) => JSX.ElementRenders a part of `dropdown`.
ContextMenuContenttype
DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`. Non-`asChild` usage lazily evaluates `children` inside a body component so they're only rendered once the dropdown is actually open.
ContextMenuGrouptype
DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => JSX.ElementRenders the `dropdown-group` part of `dropdown` with `role="group"`. Supports polymorphic rendering via `asChild`.
ContextMenuItemtype
DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }Renders a part of `dropdown`. Supports polymorphic rendering via `asChild`.
ContextMenuLabeltype
DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => JSX.ElementRenders the `dropdown-label` part of `dropdown`. Supports polymorphic rendering via `asChild`.
ContextMenuPortaltype
DropdownPortal: (props: DropdownPortalProps) => JSX.Element | nullRenders a part of `dropdown`.
ContextMenuSeparatortype
DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => JSX.ElementRenders the `dropdown-separator` part of `dropdown` with `role="separator"`. Supports polymorphic rendering via `asChild`.
ContextMenuTriggertype
DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }Renders the `dropdown-trigger` part of `dropdown`. Supports polymorphic rendering via `asChild`.
CopyButtontype
CopyButton: (props: CopyButtonProps) => JSX.ElementCopies text with visual and assistive success/failure feedback.
CopyButtonPropstype
CopyButtonProps: Omit<ButtonNativeProps, "children" | "onPress"> & {
text: string;
label: string;
successMessage?: string;
failureMessage?: string;
resetAfter?: number;
}failureMessage- failureMessage?: string | undefined;
label- label: string;
resetAfter- resetAfter?: number | undefined;
successMessage- successMessage?: string | undefined;
text- text: string;
DataTabletype
DataTable: (props: CatalogComponentProps) => JSX.ElementStyling-only container for the `data-table` catalog slot. It does not sort, filter, select, or paginate data. Compose semantic `Table`/`VirtualTable` primitives with application-owned data state for those behaviors.
DatePickertype
DatePicker: (props: CatalogComponentProps) => JSX.ElementStyling-only `date-picker` container. It does not implement a popup calendar, formatting, or calendar-grid keyboard behavior; pair it with {@link DatePickerInput} for a native date input.
DatePickerInputtype
DatePickerInput: (props: CatalogComponentProps) => JSX.ElementNative `<input type="date">` styling slot; browser behavior and localization remain native.
DebouncedInputtype
DebouncedInput: (props: DebouncedInputProps) => JSX.ElementDebouncedInput is a convenience wrapper around Input that emits a settled value for search and filter surfaces.
DEFAULT_THEME_OPTIONStype
DEFAULT_THEME_OPTIONS: readonly ThemeOption[]Default light/dark/system theme options used by {@link ThemeScope} and {@link ThemePicker}.
Dialogtype
Dialog: (props: DialogProps) => JSX.ElementCoordinates the Dialog trigger, portal, overlay, and content.
```tsx
<Dialog>
<DialogTrigger>Open dialog</DialogTrigger>
<DialogPortal>
<DialogOverlay />
<DialogContent>Confirm action</DialogContent>
</DialogPortal>
</Dialog>
```DialogClosetype
DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }Renders the `dialog-close` part of `dialog`. Supports polymorphic rendering via `asChild`.
DialogContenttype
DialogContent: { (props: DialogContentProps): JSX.Element | null; (props: DialogContentAsChildProps): JSX.Element | null; }Renders the `dialog-content` part of `dialog`. Supports polymorphic rendering via `asChild`.
DialogDescriptiontype
DialogDescription: { (props: DialogDescriptionProps): JSX.Element; (props: DialogDescriptionAsChildProps): JSX.Element; }Renders the `dialog-description` part of `dialog`. Supports polymorphic rendering via `asChild`.
DialogOverlaytype
DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }Renders the `dialog-overlay` part of `dialog`. With `@askrjs/themes/default`, the overlay is fully styled out of the box with the shared backdrop token, blur, stacking, and fade animation. Standard Dialog and AlertDialog usage requires no additional overlay CSS; customize the theme tokens instead of applying a competing background class. Supports polymorphic rendering via `asChild`.
DialogPortaltype
DialogPortal: (props: DialogPortalProps) => JSX.Element | nullRenders a part of `dialog`.
DialogPropstype
DialogProps: DialogOwnPropsProps for Dialog.
children- children?: unknown;
defaultOpen- defaultOpen?: boolean | undefined;
id- id?: string | undefined;
modal- modal?: boolean | undefined;
onOpenChange- onOpenChange?: ((open: boolean) => void) | undefined;
open- open?: boolean | undefined;
DialogTitletype
DialogTitle: { (props: DialogTitleProps): JSX.Element; (props: DialogTitleAsChildProps): JSX.Element; }Renders the `dialog-title` part of `dialog`. Supports polymorphic rendering via `asChild`.
DialogTriggertype
DialogTrigger: { (props: DialogTriggerProps): JSX.Element; (props: DialogTriggerAsChildProps): JSX.Element; }Renders the `dialog-trigger` part of `dialog`. Supports polymorphic rendering via `asChild`.
Directiontype
Direction: (props: CatalogComponentProps & { dir?: "ltr" | "rtl"; }) => JSX.ElementSets the `dir` attribute (defaulting to `"ltr"`) on its wrapping element for RTL/LTR scoping.
Drawertype
Dialog: (props: DialogProps) => JSX.ElementCoordinates the Dialog trigger, portal, overlay, and content.
```tsx
<Dialog>
<DialogTrigger>Open dialog</DialogTrigger>
<DialogPortal>
<DialogOverlay />
<DialogContent>Confirm action</DialogContent>
</DialogPortal>
</Dialog>
```DrawerClosetype
DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }Renders the `dialog-close` part of `dialog`. Supports polymorphic rendering via `asChild`.
DrawerContenttype
DialogContent: { (props: DialogContentProps): JSX.Element | null; (props: DialogContentAsChildProps): JSX.Element | null; }Renders the `dialog-content` part of `dialog`. Supports polymorphic rendering via `asChild`.
DrawerDescriptiontype
DialogDescription: { (props: DialogDescriptionProps): JSX.Element; (props: DialogDescriptionAsChildProps): JSX.Element; }Renders the `dialog-description` part of `dialog`. Supports polymorphic rendering via `asChild`.
DrawerOverlaytype
DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }Renders the `dialog-overlay` part of `dialog`. With `@askrjs/themes/default`, the overlay is fully styled out of the box with the shared backdrop token, blur, stacking, and fade animation. Standard Dialog and AlertDialog usage requires no additional overlay CSS; customize the theme tokens instead of applying a competing background class. Supports polymorphic rendering via `asChild`.
DrawerPortaltype
DialogPortal: (props: DialogPortalProps) => JSX.Element | nullRenders a part of `dialog`.
DrawerTitletype
DialogTitle: { (props: DialogTitleProps): JSX.Element; (props: DialogTitleAsChildProps): JSX.Element; }Renders the `dialog-title` part of `dialog`. Supports polymorphic rendering via `asChild`.
DrawerTriggertype
DialogTrigger: { (props: DialogTriggerProps): JSX.Element; (props: DialogTriggerAsChildProps): JSX.Element; }Renders the `dialog-trigger` part of `dialog`. Supports polymorphic rendering via `asChild`.
Dropdowntype
Dropdown: (props: DropdownProps) => JSX.ElementRenders a part of `dropdown`.
DropdownContenttype
DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`. Non-`asChild` usage lazily evaluates `children` inside a body component so they're only rendered once the dropdown is actually open.
DropdownGrouptype
DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => JSX.ElementRenders the `dropdown-group` part of `dropdown` with `role="group"`. Supports polymorphic rendering via `asChild`.
DropdownItemtype
DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }Renders a part of `dropdown`. Supports polymorphic rendering via `asChild`.
DropdownItemVarianttype
DropdownItemVariant: 'default' | 'destructive'Dropdown Item Variant.
DropdownLabeltype
DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => JSX.ElementRenders the `dropdown-label` part of `dropdown`. Supports polymorphic rendering via `asChild`.
DropdownMenutype
Dropdown: (props: DropdownProps) => JSX.ElementRenders a part of `dropdown`.
DropdownMenuContenttype
DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`. Non-`asChild` usage lazily evaluates `children` inside a body component so they're only rendered once the dropdown is actually open.
DropdownMenuGrouptype
DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => JSX.ElementRenders the `dropdown-group` part of `dropdown` with `role="group"`. Supports polymorphic rendering via `asChild`.
DropdownMenuItemtype
DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }Renders a part of `dropdown`. Supports polymorphic rendering via `asChild`.
DropdownMenuLabeltype
DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => JSX.ElementRenders the `dropdown-label` part of `dropdown`. Supports polymorphic rendering via `asChild`.
DropdownMenuPortaltype
DropdownPortal: (props: DropdownPortalProps) => JSX.Element | nullRenders a part of `dropdown`.
DropdownMenuSeparatortype
DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => JSX.ElementRenders the `dropdown-separator` part of `dropdown` with `role="separator"`. Supports polymorphic rendering via `asChild`.
DropdownMenuTriggertype
DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }Renders the `dropdown-trigger` part of `dropdown`. Supports polymorphic rendering via `asChild`.
DropdownPortaltype
DropdownPortal: (props: DropdownPortalProps) => JSX.Element | nullRenders a part of `dropdown`.
DropdownSeparatortype
DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => JSX.ElementRenders the `dropdown-separator` part of `dropdown` with `role="separator"`. Supports polymorphic rendering via `asChild`.
DropdownTriggertype
DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }Renders the `dropdown-trigger` part of `dropdown`. Supports polymorphic rendering via `asChild`.
DropdownTriggerSizetype
DropdownTriggerSize: 'md' | 'icon'Dropdown Trigger Size.
DropdownTriggerVarianttype
DropdownTriggerVariant: 'default' | 'ghost'Dropdown Trigger Variant.
Emptytype
Empty: (props: CatalogComponentProps) => JSX.ElementRenders the `empty` part of the shadcn-compatible catalog primitives.
EmptyContenttype
EmptyContent: (props: CatalogComponentProps) => JSX.ElementRenders the `empty-content` part of the shadcn-compatible catalog primitives.
EmptyDescriptiontype
EmptyDescription: (props: CatalogComponentProps) => JSX.ElementRenders the `empty-description` part of the shadcn-compatible catalog primitives.
EmptyHeadertype
EmptyHeader: (props: CatalogComponentProps) => JSX.ElementRenders the `empty-header` part of the shadcn-compatible catalog primitives.
EmptyMediatype
EmptyMedia: (props: CatalogComponentProps) => JSX.ElementRenders the `empty-media` part of the shadcn-compatible catalog primitives.
EmptyStatetype
EmptyState: (props: EmptyStateProps) => JSX.ElementCentered placeholder for empty lists/views: an icon, title (default `<h2>`), description, extra content, and an action row.
EmptyStateHeadingTagtype
EmptyStateHeadingTag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"Heading tag allowed for an empty state's title via `titleAs`.
EmptyStatePropstype
EmptyStateProps: BlockDivProps & {
icon?: unknown;
title?: unknown;
titleAs?: EmptyStateHeadingTag;
description?: unknown;
action?: unknown;
}Props for the {@link EmptyState } component.
action- action?: unknown;
align- align?: ResponsiveValue<BlockAlign> | undefined;
as- as?: "div" | undefined;
asChild- asChild?: false | undefined;
background- background?: ResponsiveValue<BlockBackground> | undefined;
border- border?: ResponsiveValue<boolean> | undefined;
borderBottom- borderBottom?: ResponsiveValue<boolean> | undefined;
borderRight- borderRight?: ResponsiveValue<boolean> | undefined;
borderTop- borderTop?: ResponsiveValue<boolean> | undefined;
center- center?: ResponsiveValue<boolean> | undefined;
children- children?: unknown;
className- className?: string | undefined;
description- description?: unknown;
direction- direction?: ResponsiveValue<BlockDirection> | undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
grow- grow?: ResponsiveValue<number | boolean> | undefined;
height- height?: ResponsiveValue<BlockSize> | undefined;
hide- hide?: ResponsiveValue<boolean> | undefined;
icon- icon?: unknown;
justify- justify?: ResponsiveValue<BlockJustify> | undefined;
margin- margin?: ResponsiveValue<BlockMargin> | undefined;
marginX- marginX?: ResponsiveValue<BlockMargin> | undefined;
marginY- marginY?: ResponsiveValue<BlockMargin> | undefined;
maxHeight- maxHeight?: ResponsiveValue<BlockSize> | undefined;
maxWidth- maxWidth?: ResponsiveValue<BlockSize> | undefined;
minHeight- minHeight?: ResponsiveValue<BlockSize> | undefined;
minWidth- minWidth?: ResponsiveValue<BlockSize> | undefined;
padding- padding?: ResponsiveValue<BlockSpace> | undefined;
paddingX- paddingX?: ResponsiveValue<BlockSpace> | undefined;
paddingY- paddingY?: ResponsiveValue<BlockSpace> | undefined;
radius- radius?: ResponsiveValue<BlockRadius> | undefined;
ref- ref?: Ref<unknown>;
rowFrom- rowFrom?: BlockRowFrom | undefined;
shadow- shadow?: ResponsiveValue<BlockShadow> | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
sticky- sticky?: boolean | undefined;
title- title?: unknown;
titleAs- titleAs?: EmptyStateHeadingTag | undefined;
top- top?: ResponsiveValue<BlockSpace> | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
wrap- wrap?: ResponsiveValue<boolean> | undefined;
zIndex- zIndex?: ResponsiveValue<BlockZIndex> | undefined;
EmptyTitletype
EmptyTitle: (props: CatalogComponentProps) => JSX.ElementRenders the `empty-title` part of the shadcn-compatible catalog primitives.
Fieldtype
Field: (props: FieldProps) => JSX.ElementGroups a form control with its hint/error text, marking `data-invalid` when `invalid` is set.
FieldContenttype
FieldContent: (props: CatalogComponentProps) => JSX.ElementRenders the `field-content` part of the shadcn-compatible catalog primitives.
FieldDescriptiontype
FieldDescription: (props: CatalogComponentProps) => JSX.ElementRenders the `field-description` part of the shadcn-compatible catalog primitives.
FieldErrortype
FieldError: (props: FieldErrorProps) => JSX.ElementRenders validation error text for a {@link Field}, exposed with `role="alert"`.
FieldErrorPropstype
FieldErrorProps: ParagraphProps & {
children?: unknown;
ref?: Ref<HTMLParagraphElement>;
}Props for the {@link FieldError } component.
children- children?: unknown;
ref- ref?: Ref<HTMLParagraphElement>;
FieldGrouptype
FieldGroup: (props: CatalogComponentProps) => JSX.ElementRenders the `field-group` part of the shadcn-compatible catalog primitives.
FieldHinttype
FieldHint: (props: FieldHintProps) => JSX.ElementRenders supporting hint text for a {@link Field}.
FieldHintPropstype
FieldHintProps: ParagraphProps & {
children?: unknown;
ref?: Ref<HTMLParagraphElement>;
}Props for the {@link FieldHint } component.
children- children?: unknown;
ref- ref?: Ref<HTMLParagraphElement>;
FieldLabeltype
FieldLabel: (props: CatalogComponentProps) => JSX.ElementRenders the `field-label` part of the shadcn-compatible catalog primitives.
FieldLegendtype
FieldLegend: (props: CatalogComponentProps) => JSX.ElementRenders the `field-legend` part of the shadcn-compatible catalog primitives.
FieldPropstype
FieldProps: DivProps & {
children?: unknown;
invalid?: boolean;
ref?: Ref<HTMLDivElement>;
}Props for the {@link Field } component.
children- children?: unknown;
invalid- invalid?: boolean | undefined;
ref- ref?: Ref<HTMLDivElement>;
FieldSeparatortype
FieldSeparator: (props: CatalogComponentProps) => JSX.ElementRenders the `field-separator` part of the shadcn-compatible catalog primitives.
FieldSettype
FieldSet: (props: CatalogComponentProps) => JSX.ElementRenders the `field-set` part of the shadcn-compatible catalog primitives.
FieldTitletype
FieldTitle: (props: CatalogComponentProps) => JSX.ElementRenders the `field-title` part of the shadcn-compatible catalog primitives.
Footertype
Footer: (props: FooterProps) => JSX.ElementRenders a `<footer>`-element {@link Block } with a muted background and top border.
FooterContenttype
FooterContent: (props: FooterContentProps) => JSX.ElementRenders the main content wrapper of a {@link Footer}.
FooterContentPropstype
FooterContentProps: DivProps & {
children?: unknown;
ref?: Ref<HTMLDivElement>;
}Props for the {@link FooterContent } component.
children- children?: unknown;
ref- ref?: Ref<HTMLDivElement>;
FooterDescriptiontype
FooterDescription: (props: FooterDescriptionProps) => JSX.ElementRenders supporting description text within a {@link Footer}.
FooterDescriptionPropstype
FooterDescriptionProps: ParagraphProps & {
children?: unknown;
ref?: Ref<HTMLParagraphElement>;
}Props for the {@link FooterDescription } component.
children- children?: unknown;
ref- ref?: Ref<HTMLParagraphElement>;
FooterLinktype
FooterLink: (props: FooterLinkProps) => JSX.ElementRenders a single link within a {@link Footer}.
FooterLinkPropstype
FooterLinkProps: AnchorProps & {
children?: unknown;
ref?: Ref<HTMLAnchorElement>;
}Props for the {@link FooterLink } component.
children- children?: unknown;
ref- ref?: Ref<HTMLAnchorElement>;
FooterLinkstype
FooterLinks: (props: FooterLinksProps) => JSX.ElementRenders a `<nav>` wrapper for a group of {@link FooterLink}s.
FooterLinksPropstype
FooterLinksProps: NavProps & {
children?: unknown;
ref?: Ref<HTMLElement>;
}Props for the {@link FooterLinks } component.
children- children?: unknown;
ref- ref?: Ref<HTMLElement>;
FooterPropstype
FooterProps: Omit<BlockElementProps<"footer">, "as">Props for the {@link Footer } component.
FooterSectiontype
FooterSection: (props: FooterSectionProps) => JSX.ElementRenders a grouped section within a {@link Footer}.
FooterSectionPropstype
FooterSectionProps: DivProps & {
children?: unknown;
ref?: Ref<HTMLDivElement>;
}Props for the {@link FooterSection } component.
children- children?: unknown;
ref- ref?: Ref<HTMLDivElement>;
FooterTitletype
FooterTitle: (props: FooterTitleProps) => JSX.ElementRenders a section title (`<h2>`) within a {@link Footer}.
FooterTitlePropstype
FooterTitleProps: HeadingProps & {
children?: unknown;
ref?: Ref<HTMLHeadingElement>;
}Props for the {@link FooterTitle } component.
children- children?: unknown;
ref- ref?: Ref<HTMLHeadingElement>;
Formtype
Form: { (props: FormProps): JSX.Element; (props: FormAsChildProps): JSX.Element; }Renders a part of `form`. Supports polymorphic rendering via `asChild`.
Gridtype
Grid: <TElement extends GridElement = "div">(props: GridProps<TElement>) => JSX.ElementCSS grid layout primitive: turns `columns`/`gap`/`align` (each optionally responsive) into generated grid-template styles, rendering as `<div>` by default.
GridAligntype
GridAlign: "start" | "center" | "end" | "stretch"`align-items` value applied to a {@link Grid }.
GridColumnstype
GridColumns: number | stringColumn definition for {@link Grid }: a track count or a raw `grid-template-columns` string.
GridElementtype
GridElement: "div" | "section" | "ul"Element tags {@link Grid } can render as via its `as` prop.
GridPropstype
GridProps: GridIntrinsicProps<TElement> & {
as?: TElement;
columns?: ResponsiveValue<GridColumns>;
gap?: ResponsiveValue<BlockSpace>;
align?: ResponsiveValue<GridAlign>;
children?: unknown;
ref?: Ref<HTMLElement>;
}Props for the {@link Grid } component, specialized for a given {@link GridElement} `TElement`.
align- align?: ResponsiveValue<GridAlign> | undefined;
as- as?: TElement | undefined;
children- children?: unknown;
columns- columns?: ResponsiveValue<GridColumns> | undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
ref- ref?: Ref<HTMLElement>;
Headertype
Header: (props: HeaderProps) => JSX.ElementRenders a `<header>`-element {@link Block } with a surface background and bottom border, optionally sticky-positioned via `position`/`sticky`.
HeaderPropstype
HeaderProps: Omit<BlockElementProps<"header">, "as" | "sticky"> & {
position?: "sticky" | "static";
sticky?: boolean;
}Props for the {@link Header } component.
position- position?: "sticky" | "static" | undefined;
sticky- sticky?: boolean | undefined;
HoverCardtype
HoverCard: (props: HoverCardProps) => JSX.ElementRenders a part of `hover-card`.
HoverCardContenttype
HoverCardContent: { (props: HoverCardContentProps): JSX.Element | null; (props: HoverCardContentAsChildProps): JSX.Element | null; }Renders the `hover-card-content` part of `hover-card` with `role="dialog"`. Supports polymorphic rendering via `asChild`.
HoverCardPortaltype
HoverCardPortal: (props: HoverCardPortalProps) => JSX.Element | nullRenders a part of `hover-card`.
HoverCardTriggertype
HoverCardTrigger: { (props: HoverCardTriggerProps): JSX.Element; (props: HoverCardTriggerAsChildProps): JSX.Element; }Renders the `hover-card-trigger` part of `hover-card`. Supports polymorphic rendering via `asChild`.
Inlinetype
Inline: (props: LegacyLayoutProps) => JSX.ElementInputtype
Input: { (props: InputInputProps): JSX.Element; (props: InputAsChildProps): JSX.Element; }Renders the `input` part of `input`. Supports polymorphic rendering via `asChild`.
InputGrouptype
InputGroup: (props: InputGroupProps) => JSX.ElementGroups related inputs/addons together, optionally visually attached, with a horizontal or vertical orientation and `role="group"` by default.
InputGroupOrientationtype
InputGroupOrientation: "horizontal" | "vertical"Layout direction of an {@link InputGroup }.
InputGroupPropstype
InputGroupProps: DivProps & {
children?: unknown;
attached?: boolean;
orientation?: InputGroupOrientation;
ref?: Ref<HTMLDivElement>;
}Props for the {@link InputGroup } component.
attached- attached?: boolean | undefined;
children- children?: unknown;
orientation- orientation?: InputGroupOrientation | undefined;
ref- ref?: Ref<HTMLDivElement>;
InputGroupTexttype
InputGroupText: { (props: InputGroupTextProps): JSX.Element; (props: InputGroupTextAsChildProps): JSX.Element; }Renders static text/label content within an {@link InputGroup}.
InputGroupTextAsChildPropstype
InputGroupTextAsChildProps: SpanProps & {
asChild: true;
children: JSXElement;
ref?: Ref<unknown>;
}Props for {@link InputGroupText } rendered with `asChild`, merging its attributes onto a single child element.
asChild- asChild: true;
children- children: JSXElement;
ref- ref?: Ref<unknown>;
InputGroupTextPropstype
InputGroupTextProps: SpanProps & {
asChild?: false;
children?: unknown;
ref?: Ref<HTMLSpanElement>;
}Props for {@link InputGroupText } rendered as its default `<span>` element.
asChild- asChild?: false | undefined;
children- children?: unknown;
ref- ref?: Ref<HTMLSpanElement>;
InputOTPtype
InputOTP: (props: CatalogComponentProps) => JSX.ElementStyling-only OTP anatomy; it does not render an input or own value, focus, paste, or validation behavior.
InputOTPGrouptype
InputOTPGroup: (props: CatalogComponentProps) => JSX.ElementRenders the `input-otp-group` part of the shadcn-compatible catalog primitives.
InputOTPSeparatortype
InputOTPSeparator: (props: CatalogComponentProps) => JSX.ElementRenders the visual separator between InputOTP groups (defaults to `"-"`).
InputOTPSlottype
InputOTPSlot: (props: CatalogComponentProps) => JSX.ElementRenders the `input-otp-slot` part of the shadcn-compatible catalog primitives.
Itemtype
Item: (props: CatalogComponentProps & { active?: boolean; size?: "default" | "sm" | "xs"; variant?: "default" | "outline" | "muted"; }) => JSX.ElementRenders a generic list item part, exposing `active`/`size`/`variant` as data attributes.
ItemActionstype
ItemActions: (props: CatalogComponentProps) => JSX.ElementRenders the `item-actions` part of the shadcn-compatible catalog primitives.
ItemContenttype
ItemContent: (props: CatalogComponentProps) => JSX.ElementRenders the `item-content` part of the shadcn-compatible catalog primitives.
ItemDescriptiontype
ItemDescription: (props: CatalogComponentProps) => JSX.ElementRenders the `item-description` part of the shadcn-compatible catalog primitives.
ItemFootertype
ItemFooter: (props: CatalogComponentProps) => JSX.ElementRenders the `item-footer` part of the shadcn-compatible catalog primitives.
ItemGrouptype
ItemGroup: (props: CatalogComponentProps) => JSX.ElementRenders the `item-group` part of the shadcn-compatible catalog primitives.
ItemHeadertype
ItemHeader: (props: CatalogComponentProps) => JSX.ElementRenders the `item-header` part of the shadcn-compatible catalog primitives.
ItemMediatype
ItemMedia: (props: CatalogComponentProps) => JSX.ElementRenders the `item-media` part of the shadcn-compatible catalog primitives.
ItemTitletype
ItemTitle: (props: CatalogComponentProps) => JSX.ElementRenders the `item-title` part of the shadcn-compatible catalog primitives.
Kbdtype
Kbd: (props: CatalogComponentProps) => JSX.ElementRenders the `kbd` part of the shadcn-compatible catalog primitives.
Labeltype
Label: { (props: LabelLabelProps): JSXElement; (props: LabelAsChildProps): JSXElement; }Renders the `label` part of `label`. Supports polymorphic rendering via `asChild`.
LegacyLayoutPropstype
LegacyLayoutProps: Omit<BlockLayoutProps, "gap" | "padding" | "wrap"> & LegacyStructuralProps & LegacyLayoutConveniencesalign- align?: ResponsiveValue<BlockAlign> | undefined;
as- as?: BlockElement | undefined;
asChild- asChild?: boolean | undefined;
background- background?: ResponsiveValue<BlockBackground> | undefined;
border- border?: ResponsiveValue<boolean> | undefined;
borderBottom- borderBottom?: ResponsiveValue<boolean> | undefined;
borderRight- borderRight?: ResponsiveValue<boolean> | undefined;
borderTop- borderTop?: ResponsiveValue<boolean> | undefined;
center- center?: ResponsiveValue<boolean> | undefined;
children- children?: unknown;
className- className?: string | undefined;
direction- direction?: ResponsiveValue<BlockDirection> | undefined;
gap- gap?: ResponsiveValue<LegacySpace> | undefined;
grow- grow?: ResponsiveValue<number | boolean> | undefined;
height- height?: ResponsiveValue<BlockSize> | undefined;
hide- hide?: ResponsiveValue<boolean> | undefined;
justify- justify?: ResponsiveValue<BlockJustify> | undefined;
margin- margin?: ResponsiveValue<BlockMargin> | undefined;
marginX- marginX?: ResponsiveValue<BlockMargin> | undefined;
marginY- marginY?: ResponsiveValue<BlockMargin> | undefined;
maxHeight- maxHeight?: ResponsiveValue<BlockSize> | undefined;
maxWidth- maxWidth?: ResponsiveValue<BlockSize> | undefined;
minHeight- minHeight?: ResponsiveValue<BlockSize> | undefined;
minWidth- minWidth?: ResponsiveValue<BlockSize> | undefined;
p- p?: ResponsiveValue<LegacySpace> | undefined;
padding- padding?: ResponsiveValue<LegacySpace> | undefined;
paddingX- paddingX?: ResponsiveValue<BlockSpace> | undefined;
paddingY- paddingY?: ResponsiveValue<BlockSpace> | undefined;
radius- radius?: ResponsiveValue<BlockRadius> | undefined;
ref- ref?: Ref<unknown>;
rowFrom- rowFrom?: BlockRowFrom | undefined;
shadow- shadow?: ResponsiveValue<BlockShadow> | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
sticky- sticky?: boolean | undefined;
top- top?: ResponsiveValue<BlockSpace> | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
wrap- wrap?: ResponsiveValue<LegacyWrap> | undefined;
zIndex- zIndex?: ResponsiveValue<BlockZIndex> | undefined;
Maintype
Main: (props: MainProps) => JSX.ElementRenders a `<main>`-element {@link Block } that grows to fill available space.
MainPropstype
MainProps: Omit<BlockElementProps<"main">, "as">Props for the {@link Main } component.
Menubartype
Menubar: (props: MenubarProps) => JSX.ElementRenders a part of `menubar`.
MenubarContenttype
MenubarContent: { (props: MenubarContentProps): JSX.Element | null; (props: MenubarContentAsChildProps): JSX.Element | null; }Renders a part of `menubar`.
MenubarGrouptype
MenubarGroup: (props: MenubarGroupProps | MenubarGroupAsChildProps) => JSX.ElementRenders the `menubar-group` part of `menubar` with `role="group"`. Supports polymorphic rendering via `asChild`.
MenubarItemtype
MenubarItem: { (props: MenubarItemProps): JSX.Element | null; (props: MenubarItemAsChildProps): JSX.Element | null; }Renders a part of `menubar`. Supports polymorphic rendering via `asChild`.
MenubarLabeltype
MenubarLabel: (props: MenubarLabelProps | MenubarLabelAsChildProps) => JSX.ElementRenders the `menubar-label` part of `menubar`. Supports polymorphic rendering via `asChild`.
MenubarMenutype
MenubarMenu: (props: MenubarMenuProps) => JSX.ElementRenders a part of `menubar`.
MenubarPortaltype
MenubarPortal: (props: MenubarPortalProps) => JSX.Element | nullRenders a part of `menubar`.
MenubarSeparatortype
MenubarSeparator: (props: MenubarSeparatorProps | MenubarSeparatorAsChildProps) => JSX.ElementRenders the `menubar-separator` part of `menubar` with `role="separator"`. Supports polymorphic rendering via `asChild`.
MenubarSubtype
MenubarSub: (props: MenubarSubProps) => JSX.ElementRenders a part of `menubar`.
MenubarSubContenttype
MenubarSubContent: { (props: MenubarSubContentProps): JSX.Element | null; (props: MenubarSubContentAsChildProps): JSX.Element | null; }Renders a part of `menubar`.
MenubarSubTriggertype
MenubarSubTrigger: { (props: MenubarSubTriggerProps): JSX.Element | null; (props: MenubarSubTriggerAsChildProps): JSX.Element | null; }Renders a part of `menubar`. Supports polymorphic rendering via `asChild`.
MenubarTriggertype
MenubarTrigger: { (props: MenubarTriggerProps): JSX.Element | null; (props: MenubarTriggerAsChildProps): JSX.Element | null; }Renders a part of `menubar`. Supports polymorphic rendering via `asChild`.
MetaStriptype
MetaStrip: (props: MetaStripProps) => JSX.ElementSemantic compact key/value facts with consistent inline or stacked wrapping.
MetaStripDensitytype
MetaStripDensity: "inline" | "stacked"MetaStripItemtype
MetaStripItem: {
label: string;
value: string | number;
caption?: string;
font?: "body" | "mono";
numeric?: "normal" | "tabular";
}MetaStripPropstype
MetaStripProps: Omit<JSX.IntrinsicElements["dl"], "children" | "ref"> & {
items: readonly MetaStripItem[];
density?: MetaStripDensity;
ref?: Ref<HTMLDListElement>;
}density- density?: MetaStripDensity | undefined;
items- items: readonly MetaStripItem[];
ref- ref?: Ref<HTMLDListElement>;
NativeSelecttype
NativeSelect: (props: CatalogComponentProps) => JSX.ElementRenders a styled native `<select>` element.
Navtype
Navbar: (props: NavbarProps) => JSX.ElementHorizontal navigation bar. Below `collapseAt`/`breakpoint`, non-brand children are grouped behind a collapsible toggle so brand content stays visible while the rest collapses on small screens.
Navbartype
Navbar: (props: NavbarProps) => JSX.ElementHorizontal navigation bar. Below `collapseAt`/`breakpoint`, non-brand children are grouped behind a collapsible toggle so brand content stays visible while the rest collapses on small screens.
NavbarCollapseBreakpointtype
NavbarCollapseBreakpoint: "sm" | "md" | "lg" | "xl"Breakpoint at which a {@link Navbar } collapses non-brand content behind a toggle.
NavbarPropstype
NavbarProps: Omit<BlockElementProps<"nav">, "as" | "direction" | "align"> & {
breakpoint?: NavbarCollapseBreakpoint | false;
collapseAt?: NavbarCollapseBreakpoint | false;
collapseLabel?: string;
collapseIcon?: unknown;
}Props for the {@link Navbar } component.
breakpoint- breakpoint?: false | NavbarCollapseBreakpoint | undefined;
collapseAt- collapseAt?: false | NavbarCollapseBreakpoint | undefined;
collapseIcon- collapseIcon?: unknown;
collapseLabel- collapseLabel?: string | undefined;
NavBrandtype
NavBrand: (props: NavBrandProps) => JSX.ElementRenders the brand/logo slot of a {@link Navbar}; excluded from the collapsible section.
NavBrandPropstype
NavBrandProps: BlockDivProps | BlockElementProps<"a"> | BlockAsChildPropsProps for the {@link NavBrand } component.
align- align?: ResponsiveValue<BlockAlign> | undefined;
asChild- asChild?: boolean | undefined;
background- background?: ResponsiveValue<BlockBackground> | undefined;
border- border?: ResponsiveValue<boolean> | undefined;
borderBottom- borderBottom?: ResponsiveValue<boolean> | undefined;
borderRight- borderRight?: ResponsiveValue<boolean> | undefined;
borderTop- borderTop?: ResponsiveValue<boolean> | undefined;
center- center?: ResponsiveValue<boolean> | undefined;
children- children?: unknown;
direction- direction?: ResponsiveValue<BlockDirection> | undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
grow- grow?: ResponsiveValue<number | boolean> | undefined;
height- height?: ResponsiveValue<BlockSize> | undefined;
hide- hide?: ResponsiveValue<boolean> | undefined;
justify- justify?: ResponsiveValue<BlockJustify> | undefined;
margin- margin?: ResponsiveValue<BlockMargin> | undefined;
marginX- marginX?: ResponsiveValue<BlockMargin> | undefined;
marginY- marginY?: ResponsiveValue<BlockMargin> | undefined;
maxHeight- maxHeight?: ResponsiveValue<BlockSize> | undefined;
maxWidth- maxWidth?: ResponsiveValue<BlockSize> | undefined;
minHeight- minHeight?: ResponsiveValue<BlockSize> | undefined;
minWidth- minWidth?: ResponsiveValue<BlockSize> | undefined;
padding- padding?: ResponsiveValue<BlockSpace> | undefined;
paddingX- paddingX?: ResponsiveValue<BlockSpace> | undefined;
paddingY- paddingY?: ResponsiveValue<BlockSpace> | undefined;
radius- radius?: ResponsiveValue<BlockRadius> | undefined;
ref- ref?: Ref<unknown>;
rowFrom- rowFrom?: BlockRowFrom | undefined;
shadow- shadow?: ResponsiveValue<BlockShadow> | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
sticky- sticky?: boolean | undefined;
top- top?: ResponsiveValue<BlockSpace> | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
wrap- wrap?: ResponsiveValue<boolean> | undefined;
zIndex- zIndex?: ResponsiveValue<BlockZIndex> | undefined;
NavDropdowntype
NavDropdown: (props: NavDropdownProps) => JSX.ElementRenders a dropdown menu triggered from within a {@link Navbar}.
NavDropdownPropstype
NavDropdownProps: Omit<DropdownProps, "children"> & Pick<DropdownContentOwnProps, "align" | "side" | "sideOffset"> & {
label: unknown;
children?: unknown;
}Props for the {@link NavDropdown } component.
children- children?: unknown;
label- label: unknown;
NavGrouptype
NavGroup: (props: NavGroupProps) => JSX.ElementGroups related {@link Navbar} items under an optional label.
NavGroupPropstype
NavGroupProps: Omit<BlockDivProps, "title"> & {
label?: unknown;
title?: unknown;
}Props for the {@link NavGroup } component.
label- label?: unknown;
title- title?: unknown;
NavigationMenutype
NavigationMenu: (props: CatalogComponentProps) => JSX.ElementStyling-only navigation-menu anatomy; it does not own disclosure, roving focus, or keyboard behavior.
NavigationMenuContenttype
NavigationMenuContent: (props: CatalogComponentProps) => JSX.ElementRenders the `navigation-menu-content` part of the shadcn-compatible catalog primitives.
NavigationMenuIndicatortype
NavigationMenuIndicator: (props: CatalogComponentProps) => JSX.ElementRenders the `navigation-menu-indicator` part of the shadcn-compatible catalog primitives.
NavigationMenuItemtype
NavigationMenuItem: (props: CatalogComponentProps) => JSX.ElementRenders the `navigation-menu-item` part of the shadcn-compatible catalog primitives.
NavigationMenuLinktype
NavigationMenuLink: (props: CatalogComponentProps) => JSX.ElementRenders the `navigation-menu-link` part of the shadcn-compatible catalog primitives.
NavigationMenuListtype
NavigationMenuList: (props: CatalogComponentProps) => JSX.ElementRenders the `navigation-menu-list` part of the shadcn-compatible catalog primitives.
NavigationMenuTriggertype
NavigationMenuTrigger: (props: CatalogComponentProps) => JSX.ElementRenders the `navigation-menu-content` part of the shadcn-compatible catalog primitives.
NavigationMenuViewporttype
NavigationMenuViewport: (props: CatalogComponentProps) => JSX.ElementRenders the `navigation-menu-viewport` part of the shadcn-compatible catalog primitives.
NavItemtype
NavItem: { (props: NavItemProps): JSX.Element; (props: NavItemAsChildProps): JSX.Element; }A generic navigation item, rendered as an `<a>` (or, with `asChild`, merged onto a child), highlighted when `active`.
NavItemAsChildPropstype
NavItemAsChildProps: Omit<JSX.IntrinsicElements["a"], "children" | "ref"> & NavItemOwnProps & {
asChild: true;
children: JSXElement;
ref?: Ref<unknown>;
}Props for {@link NavItem } rendered with `asChild`, merging onto a single child element.
active- active?: boolean | undefined;
asChild- asChild: true;
children- children: JSXElement;
ref- ref?: Ref<unknown>;
NavItemPropstype
NavItemProps: Omit<JSX.IntrinsicElements["a"], "children" | "ref"> & NavItemOwnProps & {
asChild?: false;
ref?: Ref<HTMLAnchorElement>;
}Props for {@link NavItem } rendered as its default `<a>` element.
active- active?: boolean | undefined;
asChild- asChild?: false | undefined;
children- children?: unknown;
ref- ref?: Ref<HTMLAnchorElement>;
NavLinktype
NavLink: (props: NavLinkProps) => JSX.ElementA router-aware navigation link that highlights itself when its route matches the current location.
NavLinkPropstype
NavLinkProps: LinkProps & NavLinkOwnPropsProps for the {@link NavLink } component.
active- active?: boolean | undefined;
match- match?: NavLinkMatch | undefined;
Pagetype
Page: (props: PageProps) => JSX.ElementTop-level page wrapper: a growing `<main>` containing a {@link Container } with vertical page padding and content spacing.
PageHeadertype
PageHeader: (props: PageHeaderProps) => JSX.ElementPage-level header with a title, optional description, and an actions row that wraps to a new line on small screens.
PageHeaderPropstype
PageHeaderProps: Omit<BlockDivProps, "direction" | "rowFrom"> & {
title: unknown;
description?: unknown;
actions?: unknown;
direction?: never;
rowFrom?: never;
}Props for the {@link PageHeader } component.
actions- actions?: unknown;
description- description?: unknown;
direction- direction?: undefined;
rowFrom- rowFrom?: undefined;
title- title: unknown;
PagePropstype
PageProps: MainPropsProps for the {@link Page } component.
Paginationtype
Pagination: (props: CatalogComponentProps) => JSX.ElementRenders the `pagination` part of the shadcn-compatible catalog primitives.
PaginationContenttype
PaginationContent: (props: CatalogComponentProps) => JSX.ElementRenders the `pagination-content` part of the shadcn-compatible catalog primitives.
PaginationEllipsistype
PaginationEllipsis: (props: CatalogComponentProps) => JSX.ElementRenders a non-interactive ellipsis marker between pagination links.
PaginationItemtype
PaginationItem: (props: CatalogComponentProps) => JSX.ElementRenders the `pagination-item` part of the shadcn-compatible catalog primitives.
PaginationLinktype
PaginationLink: (props: CatalogComponentProps & { active?: boolean; }) => JSX.ElementRenders a pagination page link, marking it `aria-current="page"` when `active`.
PaginationNexttype
PaginationNext: (props: CatalogComponentProps) => JSX.ElementPagination link that moves to the next page.
PaginationPrevioustype
PaginationPrevious: (props: CatalogComponentProps) => JSX.ElementPagination link that moves to the previous page.
Pilltype
Pill: (props: PillProps) => JSX.ElementA router-aware link styled as a pill, auto-marked active by matching the current route, with an active background highlight.
PillPropstype
PillProps: LinkProps & NavLinkOwnPropsProps for the {@link Pill } component.
active- active?: boolean | undefined;
match- match?: NavLinkMatch | undefined;
Pillstype
Pills: { (props: PillsProps): JSX.Element; (props: PillsAsChildProps): JSX.Element; }Renders a `<nav>` wrapper (or, with `asChild`, merges onto a child) for a set of {@link Pill} links.
PillsAsChildPropstype
PillsAsChildProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & PillsOwnProps & {
asChild: true;
children: JSXElement;
ref?: Ref<unknown>;
}Props for {@link Pills } rendered with `asChild`, merging onto a single child element.
asChild- asChild: true;
children- children: JSXElement;
ref- ref?: Ref<unknown>;
PillsPropstype
PillsProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & PillsOwnProps & {
asChild?: false;
ref?: Ref<HTMLElement>;
}Props for {@link Pills } rendered as its default `<nav>` element.
asChild- asChild?: false | undefined;
children- children?: unknown;
ref- ref?: Ref<HTMLElement>;
Popovertype
Popover: (props: PopoverProps) => JSX.ElementRenders a part of `popover`.
PopoverClosetype
PopoverClose: { (props: PopoverCloseProps): JSX.Element; (props: PopoverCloseAsChildProps): JSX.Element; }Renders the `popover-close` part of `popover`. Supports polymorphic rendering via `asChild`.
PopoverContenttype
PopoverContent: { (props: PopoverContentProps): JSX.Element | null; (props: PopoverContentAsChildProps): JSX.Element | null; }Renders the `popover-content` part of `popover` with `role="dialog"`. Supports polymorphic rendering via `asChild`.
PopoverContentWidthtype
PopoverContentWidth: 'sm' | 'md' | 'lg'Popover Content Width.
PopoverPortaltype
PopoverPortal: (props: PopoverPortalProps) => JSX.Element | nullRenders a part of `popover`.
PopoverTriggertype
PopoverTrigger: { (props: PopoverTriggerProps): JSX.Element; (props: PopoverTriggerAsChildProps): JSX.Element; }Renders the `popover-trigger` part of `popover`. Supports polymorphic rendering via `asChild`.
Progresstype
Progress: (props: ProgressProps) => JSX.ElementRenders the `progress` part of `progress` with `role="progressbar"`.
ProgressCircletype
ProgressCircle: (props: ProgressCircleProps) => JSX.ElementHeadless circular progress indicator root. Normalizes value/max, computes percentage, exposes `--ak-progress-percentage` as a dynamically injected CSS custom property, and provides progress state to `ProgressCircleIndicator` via context.
ProgressCircleIndicatortype
ProgressCircleIndicator: { (props: ProgressCircleIndicatorProps): JSX.Element; (props: ProgressCircleIndicatorAsChildProps): JSX.Element; }Visual indicator for `ProgressCircle`, rendering the fill/arc element. Must be used within a `ProgressCircle`; reads progress state from context and exposes it as `data-state`/`data-value`/`data-max`/`data-percentage`.
ProgressIndicatortype
ProgressIndicator: { (props: ProgressIndicatorProps): JSX.Element; (props: ProgressIndicatorAsChildProps): JSX.Element; }Renders the `progress-indicator` part of `progress`. Supports polymorphic rendering via `asChild`.
RadioGrouptype
RadioGroup: (props: RadioGroupProps) => JSX.ElementRenders a part of `radio-group`.
RadioGroupItemtype
RadioGroupItem: { (props: RadioGroupItemProps): JSX.Element; (props: RadioGroupItemAsChildProps): JSX.Element; }Renders the `radio-group-item` part of `radio-group` with `role="radio"`. Supports polymorphic rendering via `asChild`.
ResizableHandletype
ResizableHandle: (props: CatalogComponentProps) => JSX.ElementStyling-only separator slot; it does not implement resizing, pointer dragging, or keyboard controls.
ResizablePaneltype
ResizablePanel: (props: CatalogComponentProps) => JSX.ElementStyling-only `resizable-panel` slot; it does not implement resizing or manage panel dimensions.
ResizablePanelGrouptype
ResizablePanelGroup: (props: CatalogComponentProps) => JSX.ElementStyling-only container for the `resizable-panel-group` catalog slot. It does not implement resizing. Consumers own pointer, keyboard, sizing, and ARIA state until a behavior primitive exists in `@askrjs/ui`.
ScrollAreatype
ScrollArea: { (props: ScrollAreaProps): JSX.Element; (props: ScrollAreaAsChildProps): JSX.Element; }Renders a part of `scroll-area`.
ScrollAreaCornertype
ScrollAreaCorner: (props: ScrollAreaCornerProps) => JSX.ElementRenders the `scroll-area-corner` part of `scroll-area`.
ScrollAreaScrollbartype
ScrollAreaScrollbar: (props: ScrollAreaScrollbarProps) => JSX.ElementRenders the `scroll-area-scrollbar` part of `scroll-area` with `role="scrollbar"`.
ScrollAreaThumbtype
ScrollAreaThumb: (props: ScrollAreaThumbProps) => JSX.ElementRenders the `scroll-area-thumb` part of `scroll-area`.
ScrollAreaViewporttype
ScrollAreaViewport: { (props: ScrollAreaViewportProps): JSX.Element; (props: ScrollAreaViewportAsChildProps): JSX.Element; }Renders a part of `scroll-area`.
Sectiontype
Section: (props: SectionProps) => JSX.ElementRenders a `<section>`-element {@link Block } with vertical spacing between children and page padding.
SectionPropstype
SectionProps: Omit<BlockElementProps<"section">, "as">Props for the {@link Section } component.
Selecttype
Select: (props: SelectProps) => JSX.ElementRenders a part of `select`.
SelectContenttype
SelectContent: { (props: SelectContentProps): JSX.Element | null; (props: SelectContentAsChildProps): JSX.Element | null; }Renders a part of `select` with `role="listbox"`. Supports polymorphic rendering via `asChild`.
SelectGrouptype
SelectGroup: { (props: SelectGroupProps): JSX.Element; (props: SelectGroupAsChildProps): JSX.Element; }Renders the `select-group` part of `select` with `role="group"`. Supports polymorphic rendering via `asChild`.
SelectItemtype
SelectItem: { (props: SelectItemProps): JSX.Element | null; (props: SelectItemAsChildProps): JSX.Element | null; }Renders a part of `select`. Supports polymorphic rendering via `asChild`.
SelectItemTexttype
SelectItemText: { (props: SelectItemTextProps): JSX.Element; (props: SelectItemTextAsChildProps): JSX.Element; }SelectItemText marks the item text node so Select can resolve labels and style the text slot directly. Renders the `select-item-text` part of `select`. Supports polymorphic rendering via `asChild`.
SelectLabeltype
SelectLabel: { (props: SelectLabelProps): JSX.Element | null; (props: SelectLabelAsChildProps): JSX.Element | null; }Renders the `select-label` part of `select`. Supports polymorphic rendering via `asChild`.
SelectPortaltype
SelectPortal: (props: SelectPortalProps) => JSX.Element | nullRenders a part of `select`.
SelectSeparatortype
SelectSeparator: { (props: SelectSeparatorProps): JSX.Element | null; (props: SelectSeparatorAsChildProps): JSX.Element | null; }Renders the `select-separator` part of `select` with `role="separator"`. Supports polymorphic rendering via `asChild`.
SelectTriggertype
SelectTrigger: { (props: SelectTriggerProps): JSX.Element | null; (props: SelectTriggerAsChildProps): JSX.Element | null; }Renders the `select-trigger` part of `select`. Supports polymorphic rendering via `asChild`.
SelectTriggerSizetype
SelectTriggerSize: 'sm' | 'md' | 'lg'Select Trigger Size.
SelectValuetype
SelectValue: { (props: SelectValueProps): JSX.Element | null; (props: SelectValueAsChildProps): JSX.Element | null; }Renders the `select-value` part of `select`. Supports polymorphic rendering via `asChild`.
Separatortype
Separator: { (props: SeparatorNativeProps): JSX.Element; (props: SeparatorAsChildProps): JSX.Element; }Visual divider, defaulting to horizontal `role="separator"`; pass `decorative` to drop the semantic role, or `asChild` to merge onto a single child element.
SeparatorAsChildPropstype
SeparatorAsChildProps: SeparatorOwnProps & {
asChild: true;
children: JSXElement;
ref?: Ref<unknown>;
}Props for {@link Separator } rendered with `asChild`, merging its attributes onto a single child element.
asChild- asChild: true;
children- children: JSXElement;
decorative- decorative?: boolean | undefined;
orientation- orientation?: "vertical" | "horizontal" | undefined;
ref- ref?: Ref<unknown>;
SeparatorNativePropstype
SeparatorNativeProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & SeparatorOwnProps & {
asChild?: false;
ref?: Ref<HTMLDivElement>;
}Props for {@link Separator } rendered as its default `<div>` element.
asChild- asChild?: false | undefined;
children- children?: unknown;
decorative- decorative?: boolean | undefined;
orientation- orientation?: "vertical" | "horizontal" | undefined;
ref- ref?: Ref<HTMLDivElement>;
SeparatorOwnPropstype
SeparatorOwnProps: {
decorative?: boolean;
orientation?: "horizontal" | "vertical";
children?: unknown;
}Props shared by both {@link Separator } call signatures.
children- children?: unknown;
decorative- decorative?: boolean | undefined;
orientation- orientation?: "vertical" | "horizontal" | undefined;
SeparatorPropstype
SeparatorProps: SeparatorNativeProps | SeparatorAsChildPropsUnion of all prop shapes accepted by {@link Separator }.
asChild- asChild?: boolean | undefined;
children- children?: unknown;
decorative- decorative?: boolean | undefined;
orientation- orientation?: "vertical" | "horizontal" | undefined;
ref- ref?: ((value: unknown) => void) | { current: unknown; } | ((value: HTMLDivElement | null) => void) | { current: HTMLDivElement | null; } | null | undefined;
Sheettype
Dialog: (props: DialogProps) => JSX.ElementCoordinates the Dialog trigger, portal, overlay, and content.
```tsx
<Dialog>
<DialogTrigger>Open dialog</DialogTrigger>
<DialogPortal>
<DialogOverlay />
<DialogContent>Confirm action</DialogContent>
</DialogPortal>
</Dialog>
```SheetClosetype
DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }Renders the `dialog-close` part of `dialog`. Supports polymorphic rendering via `asChild`.
SheetContenttype
SheetContent: (props: CatalogComponentProps & { side?: "top" | "right" | "bottom" | "left"; }) => JSX.ElementSheet variant of the dialog content part; defaults to sliding in from the right.
SheetDescriptiontype
SheetDescription: (props: CatalogComponentProps) => JSX.ElementSheet variant of the dialog description part.
SheetFootertype
SheetFooter: (props: CatalogComponentProps) => JSX.ElementRenders the `sheet-footer` part of the shadcn-compatible catalog primitives.
SheetHeadertype
SheetHeader: (props: CatalogComponentProps) => JSX.ElementRenders the `sheet-header` part of the shadcn-compatible catalog primitives.
SheetOverlaytype
DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }Renders the `dialog-overlay` part of `dialog`. With `@askrjs/themes/default`, the overlay is fully styled out of the box with the shared backdrop token, blur, stacking, and fade animation. Standard Dialog and AlertDialog usage requires no additional overlay CSS; customize the theme tokens instead of applying a competing background class. Supports polymorphic rendering via `asChild`.
SheetPortaltype
DialogPortal: (props: DialogPortalProps) => JSX.Element | nullRenders a part of `dialog`.
SheetTitletype
SheetTitle: (props: CatalogComponentProps) => JSX.ElementSheet variant of the dialog title part.
SheetTriggertype
DialogTrigger: { (props: DialogTriggerProps): JSX.Element; (props: DialogTriggerAsChildProps): JSX.Element; }Renders the `dialog-trigger` part of `dialog`. Supports polymorphic rendering via `asChild`.
Shelltype
Shell: (props: LegacyLayoutProps & { variant?: string; }) => JSX.ElementShellMaintype
ShellMain: (props: LegacyLayoutProps) => JSX.ElementShellNavtype
ShellNav: (props: LegacyLayoutProps) => JSX.ElementSidebartype
Sidebar: (props: SidebarProps) => JSX.ElementRoot `<aside>` sidebar layout with configurable width, side, collapse behavior, and visual variant, exposed as data attributes for CSS.
SidebarButtonPropstype
SidebarButtonProps: JSX.IntrinsicElements["button"] & {
active?: boolean;
asChild?: boolean;
size?: "default" | "sm" | "lg";
tooltip?: string;
tooltipSide?: SidebarTooltipSide;
variant?: "default" | "outline";
}Props shared by the interactive {@link Sidebar } button parts (menu button, action, trigger).
active- active?: boolean | undefined;
asChild- asChild?: boolean | undefined;
size- size?: "sm" | "lg" | "default" | undefined;
tooltip- tooltip?: string | undefined;
tooltipSide- tooltipSide?: SidebarTooltipSide | undefined;
variant- variant?: "default" | "outline" | undefined;
SidebarCollapsibletype
SidebarCollapsible: "offcanvas" | "icon" | "none"How a {@link Sidebar } collapses: fully off-canvas, down to icons only, or not at all.
SidebarContenttype
SidebarContent: (props: SidebarPartProps) => JSX.ElementRenders the scrollable content region of a {@link Sidebar}.
SidebarFootertype
SidebarFooter: (props: SidebarPartProps) => JSX.ElementRenders the footer region of a {@link Sidebar}.
SidebarGrouptype
SidebarGroup: (props: SidebarPartProps) => JSX.ElementGroups related {@link SidebarMenu} items together.
SidebarGroupContenttype
SidebarGroupContent: (props: SidebarPartProps) => JSX.ElementRenders the content region of a {@link SidebarGroup}.
SidebarGroupLabeltype
SidebarGroupLabel: (props: SidebarPartProps) => JSX.ElementRenders the label for a {@link SidebarGroup}.
SidebarHeadertype
SidebarHeader: (props: SidebarPartProps) => JSX.ElementRenders the header region of a {@link Sidebar}.
SidebarInsettype
SidebarInset: (props: SidebarPartProps) => JSX.ElementRenders the `<main>` content area beside the {@link Sidebar}.
SidebarMenutype
SidebarMenu: (props: SidebarPartProps) => JSX.ElementRenders a `<ul>` list of {@link SidebarMenuItem}s.
SidebarMenuActiontype
SidebarMenuAction: (props: SidebarButtonProps) => JSX.ElementRenders a secondary action button attached to a {@link SidebarMenuItem}, with an optional tooltip.
SidebarMenuBadgetype
SidebarMenuBadge: (props: SidebarPartProps) => JSX.ElementRenders a status badge attached to a {@link SidebarMenuItem}.
SidebarMenuButtontype
SidebarMenuButton: (props: SidebarButtonProps) => JSX.ElementClickable menu button within a {@link SidebarMenuItem}; supports `active`/`size`/`variant` state and an optional tooltip.
SidebarMenuItemtype
SidebarMenuItem: (props: SidebarPartProps) => JSX.ElementRenders a single `<li>` entry within a {@link SidebarMenu}.
SidebarPartPropstype
SidebarPartProps: JSX.IntrinsicElements["div"] & {
as?: keyof JSX.IntrinsicElements;
asChild?: boolean;
}Props shared by the generic {@link Sidebar } structural parts (content, header, footer, group, etc.).
as- as?: keyof JSX.IntrinsicElements | undefined;
asChild- asChild?: boolean | undefined;
SidebarPropstype
SidebarProps: Omit<BlockElementProps<"aside">, "as" | "width" | "shrink"> & {
collapsible?: SidebarCollapsible;
side?: SidebarSide;
variant?: SidebarVariant;
width?: BlockElementProps<"aside">["width"];
shrink?: BlockElementProps<"aside">["shrink"];
}Props for the {@link Sidebar } component.
collapsible- collapsible?: SidebarCollapsible | undefined;
shrink- shrink?: ResponsiveValue<number | boolean> | undefined;
side- side?: SidebarSide | undefined;
variant- variant?: SidebarVariant | undefined;
width- width?: ResponsiveValue<BlockSize> | undefined;
SidebarRailtype
SidebarRail: (props: SidebarButtonProps) => JSX.ElementRenders a draggable/clickable rail along the sidebar's edge for resizing or toggling it.
SidebarRailPropstype
SidebarRailProps: SidebarButtonPropsProps for the {@link SidebarRail } component.
active- active?: boolean | undefined;
asChild- asChild?: boolean | undefined;
size- size?: "sm" | "lg" | "default" | undefined;
tooltip- tooltip?: string | undefined;
tooltipSide- tooltipSide?: SidebarTooltipSide | undefined;
variant- variant?: "default" | "outline" | undefined;
SidebarScopetype
SidebarScope: (props: SidebarPartProps) => JSX.ElementScoping wrapper that establishes the sidebar's CSS/context boundary.
SidebarSidetype
SidebarSide: "left" | "right"Which edge of the viewport a {@link Sidebar } is docked to.
SidebarTooltipSidetype
SidebarTooltipSide: "top" | "bottom" | "left" | "right"Side a sidebar button's tooltip is positioned on.
SidebarTriggertype
SidebarTrigger: (props: SidebarButtonProps) => JSX.ElementIcon button that toggles the {@link Sidebar}'s open/collapsed state, with an optional tooltip.
SidebarVarianttype
SidebarVariant: "sidebar" | "floating" | "inset"Visual style of a {@link Sidebar }.
Skeletontype
Skeleton: { (props: SkeletonProps): JSX.Element; (props: SkeletonAsChildProps): JSX.Element; }Loading placeholder block with configurable `width`/`height`, hidden from assistive tech via `aria-hidden`, rendered as a `<div>` or merged onto a child via `asChild`.
SkeletonAsChildPropstype
SkeletonAsChildProps: SkeletonOwnProps & {
asChild: true;
children: JSXElement;
ref?: Ref<unknown>;
}Props for {@link Skeleton } rendered with `asChild`, merging its attributes onto a single child element.
asChild- asChild: true;
children- children: JSXElement;
height- height?: string | number | undefined;
ref- ref?: Ref<unknown>;
width- width?: string | number | undefined;
SkeletonOwnPropstype
SkeletonOwnProps: {
children?: unknown;
height?: string | number;
width?: string | number;
}Props shared by both {@link Skeleton } call signatures.
children- children?: unknown;
height- height?: string | number | undefined;
width- width?: string | number | undefined;
SkeletonPropstype
SkeletonProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & SkeletonOwnProps & {
asChild?: false;
ref?: Ref<HTMLDivElement>;
}Props for {@link Skeleton } rendered as its default `<div>` element.
asChild- asChild?: false | undefined;
children- children?: unknown;
height- height?: string | number | undefined;
ref- ref?: Ref<HTMLDivElement>;
width- width?: string | number | undefined;
Slidertype
Slider: (props: SliderProps) => JSX.ElementRenders the `slider` part of `slider`.
SliderRangetype
SliderRange: { (props: SliderRangeProps): JSX.Element; (props: SliderRangeAsChildProps): JSX.Element; }Renders the `slider-range` part of `slider`. Supports polymorphic rendering via `asChild`.
SliderThumbtype
SliderThumb: { (props: SliderThumbProps): JSX.Element; (props: SliderThumbAsChildProps): JSX.Element; }Renders the `slider-thumb` part of `slider` with `role="slider"`. Supports polymorphic rendering via `asChild`.
SliderTracktype
SliderTrack: { (props: SliderTrackProps): JSX.Element; (props: SliderTrackAsChildProps): JSX.Element; }Renders the `slider-track` part of `slider`. Supports polymorphic rendering via `asChild`.
Sonnertype
Sonner: (props: CatalogComponentProps) => JSX.ElementAlias of {@link Toaster} kept for shadcn/sonner API compatibility.
Spinnertype
Spinner: (props: SpinnerProps) => JSX.ElementIndeterminate loading spinner built on `ProgressCircle`, with an accessible label (defaults to `"Loading"`) and a `size` modifier.
SpinnerOwnPropstype
SpinnerOwnProps: Omit<ProgressCircleProps, "value" | "getValueLabel"> & {
label?: string;
size?: SpinnerSize;
}Props specific to {@link Spinner }, layered on top of `ProgressCircleProps`.
label- label?: string | undefined;
size- size?: SpinnerSize | undefined;
SpinnerPropstype
SpinnerProps: SpinnerOwnPropsProps for the {@link Spinner } component.
label- label?: string | undefined;
size- size?: SpinnerSize | undefined;
SpinnerSizetype
SpinnerSize: "sm" | "md" | "lg"Size modifier for {@link Spinner }.
Stacktype
Stack: (props: LegacyLayoutProps) => JSX.ElementStattype
Stat: (props: StatProps) => JSX.ElementContainer for a labeled statistic (label, value, description).
StatDescriptiontype
StatDescription: (props: StatDescriptionProps) => JSX.ElementRenders supporting description text for a {@link Stat}.
StatLabeltype
StatLabel: (props: StatLabelProps) => JSX.ElementRenders the label of a {@link Stat}.
StatValuetype
StatValue: (props: StatValueProps) => JSX.ElementRenders the primary value of a {@link Stat}.
Switchtype
Switch: { (props: SwitchButtonProps): JSX.Element; (props: SwitchAsChildProps): JSX.Element; }Renders the `switch` part of `switch` with `role="switch"`. Supports polymorphic rendering via `asChild`.
Tabtype
Tab: (props: TabProps) => JSX.ElementA router-aware link styled as a tab, auto-marked active by matching the current route (see {@link NavLinkProps.match}).
Tabletype
Table: { (props: TableProps): JSX.Element; (props: TableAsChildProps): JSX.Element; }Semantic table primitive family. Renders a part of `table`. Supports polymorphic rendering via `asChild`.
TableBodytype
TableBody: { (props: TableBodyProps): JSX.Element; (props: TableBodyAsChildProps): JSX.Element; }Renders a part of `table`. Supports polymorphic rendering via `asChild`.
TableCaptiontype
TableCaption: { (props: TableCaptionProps): JSX.Element; (props: TableCaptionAsChildProps): JSX.Element; }Renders a part of `table`. Supports polymorphic rendering via `asChild`.
TableCelltype
TableCell: { (props: TableCellProps): JSX.Element; (props: TableCellAsChildProps): JSX.Element; }Renders a part of `table`. Supports polymorphic rendering via `asChild`.
TableFoottype
TableFoot: { (props: TableFootProps): JSX.Element; (props: TableFootAsChildProps): JSX.Element; }Renders a part of `table`. Supports polymorphic rendering via `asChild`.
TableHeadtype
TableHead: { (props: TableHeadProps): JSX.Element; (props: TableHeadAsChildProps): JSX.Element; }Renders a part of `table`. Supports polymorphic rendering via `asChild`.
TableHeaderCelltype
TableHeaderCell: { (props: TableHeaderCellProps): JSX.Element; (props: TableHeaderCellAsChildProps): JSX.Element; }Renders a part of `table`. Supports polymorphic rendering via `asChild`.
TableRowtype
TableRow: { (props: TableRowProps): JSX.Element; (props: TableRowAsChildProps): JSX.Element; }Renders a part of `table`. Supports polymorphic rendering via `asChild`.
TabPropstype
TabProps: LinkProps & NavLinkOwnPropsProps for the {@link Tab } component.
active- active?: boolean | undefined;
match- match?: NavLinkMatch | undefined;
Tabstype
Tabs: { (props: TabsProps): JSX.Element; (props: TabsAsChildProps): JSX.Element; }Renders a `<nav>` wrapper (or, with `asChild`, merges onto a child) for a set of {@link Tab} links.
TabsAsChildPropstype
TabsAsChildProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & TabsOwnProps & {
asChild: true;
children: JSXElement;
ref?: Ref<unknown>;
}Props for {@link Tabs } rendered with `asChild`, merging onto a single child element.
asChild- asChild: true;
children- children: JSXElement;
ref- ref?: Ref<unknown>;
TabsContenttype
TabsContent: (props: CatalogComponentProps) => JSX.ElementStyling-only tabs-content slot; visibility and panel association are consumer-owned.
TabsListtype
TabsList: (props: CatalogComponentProps) => JSX.ElementStyling-only tabs-list slot; it does not own tab selection, ARIA state, or keyboard behavior.
TabsPropstype
TabsProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & TabsOwnProps & {
asChild?: false;
ref?: Ref<HTMLElement>;
}Props for {@link Tabs } rendered as its default `<nav>` element.
asChild- asChild?: false | undefined;
children- children?: unknown;
ref- ref?: Ref<HTMLElement>;
TabsTriggertype
TabsTrigger: (props: CatalogComponentProps) => JSX.ElementStyling-only trigger button; it does not select or associate a tab panel.
Texttype
Text: <TElement extends TextElement = "p">(props: TextProps<TElement>) => JSX.ElementTypography primitive: renders any {@link TextElement} (default `<p>`) and turns `size`/`tone`/`weight`/`font`/`numeric`/`wrap`/`truncate` into data attributes for CSS styling.
Textareatype
Textarea: { (props: TextareaElementProps): JSX.Element; (props: TextareaAsChildProps): JSX.Element; }Renders the `textarea` part of `textarea`. Supports polymorphic rendering via `asChild`.
TextElementtype
TextElement: "p" | "span" | "div" | "strong"Element tags {@link Text} can render as via its `as` prop.
TextFonttype
TextFont: "body" | "mono"Font family modifier for {@link Text}.
TextNumerictype
TextNumeric: "normal" | "tabular"Numeric glyph variant (e.g. tabular figures) for {@link Text}.
TextPropstype
TextProps: TextIntrinsicProps<TElement> & {
as?: TElement;
size?: TextSize;
tone?: TextTone;
weight?: TextWeight;
font?: TextFont;
numeric?: TextNumeric;
wrap?: TextWrap;
truncate?: boolean;
children?: unknown;
ref?: Ref<HTMLElement>;
}Props for the {@link Text} component, specialized for a given {@link TextElement} `TElement`.
as- as?: TElement | undefined;
children- children?: unknown;
font- font?: TextFont | undefined;
numeric- numeric?: TextNumeric | undefined;
ref- ref?: Ref<HTMLElement>;
size- size?: TextSize | undefined;
tone- tone?: TextTone | undefined;
truncate- truncate?: boolean | undefined;
weight- weight?: TextWeight | undefined;
wrap- wrap?: TextWrap | undefined;
TextSizetype
TextSize: "sm" | "md" | "lg"Font size modifier for {@link Text}.
TextTonetype
TextTone: "default" | "muted" | "subtle" | "inverse" | "success" | "warning" | "danger" | "info"Color tone modifier for {@link Text}.
TextWeighttype
TextWeight: "normal" | "medium" | "semibold" | "bold"Font weight modifier for {@link Text}.
TextWraptype
TextWrap: "normal" | "nowrap" | "anywhere"White-space wrapping behavior for {@link Text}.
themetype
theme: () => ThemeScopeValueReads the current {@link ThemeScopeValue} from the nearest enclosing {@link ThemeScope}.
ThemeNametype
ThemeName: "light" | "dark" | "system" | CatThemeName | (string & {})Any theme identifier accepted by {@link ThemeScope}: `"light"`, `"dark"`, `"system"`, a {@link CatThemeName}, or a custom string.
ThemeOptiontype
ThemeOption: {
value: ThemeName;
label: string;
}A theme choice offered by {@link ThemePicker}/{@link ThemeToggle}: a `value` paired with a display `label`.
ThemePickertype
ThemePicker: (props: ThemePickerProps) => JSX.ElementA `<select>` bound to the current {@link theme}, listing `themes` (defaults to the enclosing scope's options).
ThemePickerPropstype
ThemePickerProps: Omit<JSX.IntrinsicElements["select"], "children" | "value" | "defaultValue" | "onChange"> & {
themes?: readonly ThemeOption[];
label?: string;
}Props for the {@link ThemePicker} component.
label- label?: string | undefined;
themes- themes?: readonly ThemeOption[] | undefined;
ThemeScopetype
ThemeScope: (props: ThemeScopeProps) => JSX.ElementEstablishes a theme boundary: tracks the active theme (persisted to `localStorage` under `storageKey` and synced across tabs/scopes), resolves the OS `"system"` preference, and reflects the choice onto the DOM via `data-theme`/`data-theme-choice` attributes. Nested scopes cooperate through a shared coordinator so the deepest explicitly-set scope wins.
ThemeScopePropstype
ThemeScopeProps: {
children?: unknown;
defaultTheme?: ThemeName;
themes?: readonly ThemeOption[];
storageKey?: string;
}Props for the {@link ThemeScope} component.
children- children?: unknown;
defaultTheme- defaultTheme?: ThemeName | undefined;
storageKey- storageKey?: string | undefined;
themes- themes?: readonly ThemeOption[] | undefined;
ThemeScopeValuetype
ThemeScopeValue: {
theme: () => ThemeName;
resolvedSystemTheme: () => "light" | "dark";
setTheme: (theme: ThemeName) => void;
themes: readonly ThemeOption[];
storageKey: string;
}Value read from {@link theme}: the active theme, its resolved system value, a setter, and the available theme options.
ThemeToggletype
ThemeToggle: (props: ThemeToggleProps) => JSX.ElementA button that cycles through `themes` (defaults to `["light", "dark"]`) on press. Supports icon props per theme, or a function-as-children render prop receiving {@link ThemeToggleRenderContext}.
ThemeTogglePropstype
ThemeToggleProps: Omit<ButtonNativeProps, "children" | "onPress"> & {
children?: unknown | ((context: ThemeToggleRenderContext) => unknown);
lightIcon?: unknown;
darkIcon?: unknown;
systemIcon?: unknown;
themes?: readonly ThemeName[];
onPress?: (event: PressEvent) => void;
}Props for the {@link ThemeToggle} component.
children- children?: unknown;
darkIcon- darkIcon?: unknown;
lightIcon- lightIcon?: unknown;
onPress- onPress?: ((event: PressEvent) => void) | undefined;
systemIcon- systemIcon?: unknown;
themes- themes?: readonly ThemeName[] | undefined;
ThemeToggleRenderContexttype
ThemeToggleRenderContext: {
theme: ThemeName;
nextTheme: ThemeName;
}Render context passed to a function-as-children {@link ThemeToggleProps.children}.
Toasttype
Toast: (props: ToastProps) => JSX.Element | nullToast registers a notification entry with the host and returns no DOM on its own.
ToastActiontype
ToastAction: { (props: ToastActionProps): JSX.Element; (props: ToastActionAsChildProps): JSX.Element; }ToastAction closes the toast after handling a user-triggered action. Renders the `toast-action` part of `toast`. Supports polymorphic rendering via `asChild`.
ToastClosetype
ToastClose: { (props: ToastCloseProps): JSX.Element; (props: ToastCloseAsChildProps): JSX.Element; }ToastClose is the dedicated dismiss control for a toast entry. Renders the `toast-close` part of `toast`. Supports polymorphic rendering via `asChild`.
ToastDescriptiontype
ToastDescription: { (props: ToastDescriptionProps): JSX.Element; (props: ToastDescriptionAsChildProps): JSX.Element; }ToastDescription marks the accessible description slot for a toast entry. Renders the `toast-description` part of `toast`. Supports polymorphic rendering via `asChild`.
Toastertype
Toaster: (props: CatalogComponentProps) => JSX.ElementRenders the `sonner` part of the shadcn-compatible catalog primitives.
ToastHosttype
ToastHost: (props: ToastHostProps) => JSX.ElementToastHost owns the registry of active toast entries and the default display duration for the family.
ToastTitletype
ToastTitle: { (props: ToastTitleProps): JSX.Element; (props: ToastTitleAsChildProps): JSX.Element; }ToastTitle marks the accessible title slot for a toast entry. Renders the `toast-title` part of `toast`. Supports polymorphic rendering via `asChild`.
ToastViewporttype
ToastViewport: { (props: ToastViewportProps): JSX.Element; (props: ToastViewportAsChildProps): JSX.Element; }ToastViewport renders the live toast stack and the notification region. Renders the `toast-viewport` part of `toast` with `role="region"`. Supports polymorphic rendering via `asChild`.
Toggletype
Toggle: { (props: ToggleButtonProps): JSX.Element; (props: ToggleAsChildProps): JSX.Element; }Headless Toggle component ## Responsibilities - Compose pressable foundation for interaction behavior - Apply aria-pressed for toggle state signaling - Enforce type="button" default to prevent accidental form submission - Forward props and refs to native button or child element ## Non-Responsibilities (delegated to pressable foundation) - Keyboard event handling (Enter/Space) - Pointer event handling - Disabled state enforcement - Role attribute application (for non-native elements) ## Invariants - MUST NOT contain any event handler logic - MUST NOT check disabled or pressed props directly - MUST use pressable() for ALL interaction behavior - MUST use mergeProps() for ALL prop composition - pressed state is CONTROLLED (consumer manages state) Renders the `toggle` part of `toggle`. Supports polymorphic rendering via `asChild`.
Native toggle button
```tsx
const pressed = state(false);
<Toggle pressed={pressed()} onPress={() => pressed.set(!pressed())}>
Mute
</Toggle>
```Polymorphic rendering (asChild)
```tsx
<Toggle asChild pressed={muted} onPress={toggleMute}>
<span>ðŸâ€â€¡</span>
</Toggle>
```ToggleGrouptype
ToggleGroup: (props: ToggleGroupProps) => JSX.ElementRenders a part of `toggle-group`.
ToggleGroupItemtype
ToggleGroupItem: { (props: ToggleGroupItemProps): JSX.Element; (props: ToggleGroupItemAsChildProps): JSX.Element; }Renders a part of `toggle-group`. Supports polymorphic rendering via `asChild`.
Toolbartype
Toolbar: (props: ToolbarProps) => JSX.ElementTitled toolbar row with an actions area, wrapping to a new line on small screens.
ToolbarPropstype
ToolbarProps: Omit<BlockDivProps, "direction" | "rowFrom"> & {
title: unknown;
actions?: unknown;
direction?: never;
rowFrom?: never;
}Props for the {@link Toolbar } component.
actions- actions?: unknown;
direction- direction?: undefined;
rowFrom- rowFrom?: undefined;
title- title: unknown;
Tooltiptype
Tooltip: (props: TooltipProps) => JSX.ElementRenders a part of `tooltip`.
TooltipContenttype
TooltipContent: { (props: TooltipContentProps): JSX.Element | null; (props: TooltipContentAsChildProps): JSX.Element | null; }Renders the `tooltip-content` part of `tooltip` with `role="tooltip"`. Supports polymorphic rendering via `asChild`.
TooltipPortaltype
TooltipPortal: (props: TooltipPortalProps) => JSX.Element | nullRenders a part of `tooltip`.
TooltipTriggertype
TooltipTrigger: { (props: TooltipTriggerProps): JSX.Element; (props: TooltipTriggerAsChildProps): JSX.Element; }Renders the `tooltip-trigger` part of `tooltip`. Supports polymorphic rendering via `asChild`.
Typographytype
Typography: (props: CatalogComponentProps) => JSX.ElementRenders the `typography` part of the shadcn-compatible catalog primitives.
TypographyBlockquotetype
TypographyBlockquote: (props: CatalogComponentProps) => JSX.ElementRenders the `typography-blockquote` part of the shadcn-compatible catalog primitives.
TypographyH1type
TypographyH1: (props: CatalogComponentProps) => JSX.ElementRenders the `typography-h1` part of the shadcn-compatible catalog primitives.
TypographyH2type
TypographyH2: (props: CatalogComponentProps) => JSX.ElementRenders the `typography-h2` part of the shadcn-compatible catalog primitives.
TypographyH3type
TypographyH3: (props: CatalogComponentProps) => JSX.ElementRenders the `typography-h3` part of the shadcn-compatible catalog primitives.
TypographyH4type
TypographyH4: (props: CatalogComponentProps) => JSX.ElementRenders the `typography-h4` part of the shadcn-compatible catalog primitives.
TypographyLeadtype
TypographyLead: (props: CatalogComponentProps) => JSX.ElementRenders the `typography-lead` part of the shadcn-compatible catalog primitives.
TypographyListtype
TypographyList: (props: CatalogComponentProps) => JSX.ElementRenders the `typography-list` part of the shadcn-compatible catalog primitives.
TypographyMutedtype
TypographyMuted: (props: CatalogComponentProps) => JSX.ElementRenders the `typography-muted` part of the shadcn-compatible catalog primitives.
TypographyPtype
TypographyP: (props: CatalogComponentProps) => JSX.ElementRenders the `typography-p` part of the shadcn-compatible catalog primitives.
VirtualListtype
VirtualList: { <Item>(props: VirtualListProps<Item>): JSX.Element; <Item>(props: VirtualListAsChildProps<Item>): JSX.Element; }Renders a part of `virtual-list`. Supports polymorphic rendering via `asChild`.
VirtualListApitype
VirtualListApi: {
scrollToIndex: (index: number, alignment?: VirtualScrollAlignment) => void;
scrollToTop: () => void;
scrollToBottom: () => void;
getState: () => VirtualListState;
getVisibleRange: () => VirtualRange;
getItemCount: () => number;
getScrollTop: () => number;
isAtTop: () => boolean;
isAtBottom: () => boolean;
isFollowingBottom: () => boolean;
getPendingUnseenCount: () => number;
setFollowBottom: (followBottom: boolean) => void;
}Virtual List Api.
VirtualListAsChildPropstype
VirtualListAsChildProps: Omit<VirtualListRootProps, 'children'> & {
items: readonly Item[];
rowHeight: number;
overscan?: VirtualOverscan;
getKey: (item: Item, index: number) => string | number;
rowComponent: VirtualListRowComponent<Item>;
followBottom?: boolean | {
threshold?: number;
};
onScroll?: (event: Event) => void;
viewport?: VirtualListViewport;
apiRef?: Ref<VirtualListApi<Item> | null>;
ref?: Ref<HTMLElement>;
asChild: true;
children: JSXElement;
}Props for the `asChild` (polymorphic) rendering of Virtual List.
apiRef- apiRef?: Ref<VirtualListApi<Item> | null>;
asChild- asChild: true;
children- children: JSXElement;
followBottom- followBottom?: boolean | { threshold?: number; } | undefined;
getKey- getKey: (item: Item, index: number) => string | number;
items- items: readonly Item[];
onScroll- onScroll?: ((event: Event) => void) | undefined;
overscan- overscan?: VirtualOverscan | undefined;
ref- ref?: Ref<HTMLElement>;
rowComponent- rowComponent: VirtualListRowComponent<Item>;
rowHeight- rowHeight: number;
viewport- viewport?: "lg" | undefined;
VirtualListPropstype
VirtualListProps: VirtualListRootProps & {
items: readonly Item[];
rowHeight: number;
overscan?: VirtualOverscan;
getKey: (item: Item, index: number) => string | number;
rowComponent: VirtualListRowComponent<Item>;
followBottom?: boolean | {
threshold?: number;
};
onScroll?: (event: Event) => void;
viewport?: VirtualListViewport;
apiRef?: Ref<VirtualListApi<Item> | null>;
ref?: Ref<HTMLElement>;
asChild?: false;
}Props for Virtual List.
apiRef- apiRef?: Ref<VirtualListApi<Item> | null>;
asChild- asChild?: false | undefined;
followBottom- followBottom?: boolean | { threshold?: number; } | undefined;
getKey- getKey: (item: Item, index: number) => string | number;
items- items: readonly Item[];
onScroll- onScroll?: ((event: Event) => void) | undefined;
overscan- overscan?: VirtualOverscan | undefined;
ref- ref?: Ref<HTMLElement>;
rowComponent- rowComponent: VirtualListRowComponent<Item>;
rowHeight- rowHeight: number;
viewport- viewport?: "lg" | undefined;
VirtualListRowComponenttype
VirtualListRowComponent: (props: VirtualListRowComponentProps<Item>) => VirtualListRowElement | nullVirtual List Row Component.
VirtualListRowComponentPropstype
VirtualListRowComponentProps: {
item: Item;
index: number;
rowKey: string;
isVisible: boolean;
}Props for Virtual List Row Component.
index- index: number;
isVisible- isVisible: boolean;
item- item: Item;
rowKey- rowKey: string;
VirtualListRowElementtype
VirtualListRowElement: JSXElement | JSX.ElementVirtual List Row Element.
VirtualListStatetype
VirtualListState: {
count: number;
scrollTop: number;
viewportHeight: number;
totalHeight: number;
visibleRange: VirtualRange;
isAtTop: boolean;
isAtBottom: boolean;
followBottom: boolean;
pendingUnseenCount: number;
}Virtual List State.
VirtualListViewporttype
VirtualListViewport: 'lg'Virtual List Viewport.
VirtualTabletype
VirtualTable: { <Row>(props: VirtualTableProps<Row>): JSX.Element; <Row>(props: VirtualTableAsChildProps<Row>): JSX.Element; }Renders a part of `virtual-table`. Supports polymorphic rendering via `asChild`.
VirtualTableApitype
VirtualTableApi: {
scrollToIndex: (index: number, alignment?: VirtualScrollAlignment) => void;
scrollToTop: () => void;
scrollToBottom: () => void;
getState: () => VirtualTableState;
getVisibleRange: () => VirtualRange;
getRowCount: () => number;
getScrollTop: () => number;
isAtTop: () => boolean;
isAtBottom: () => boolean;
getSelectedRowKey: () => string | null;
getSelectedRowIndex: () => number;
selectRowByKey: (rowKey: string) => void;
selectRowByIndex: (index: number) => void;
clearSelection: () => void;
}Virtual Table Api.
VirtualTableAsChildPropstype
VirtualTableAsChildProps: Omit<VirtualTableRootProps, 'children'> & {
rows: readonly Row[];
rowHeight: number;
headerHeight: number;
overscan?: VirtualOverscan;
getKey: (row: Row, index: number) => string | number;
columns: readonly VirtualTableColumn<Row>[];
selectedRowKey?: string | null;
defaultSelectedRowKey?: string | null;
onSelectedRowKeyChange?: (next: string | null) => void;
onRowClick?: (row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void;
onScroll?: (event: Event) => void;
viewport?: VirtualTableViewport;
tableWidth?: VirtualTableWidth;
apiRef?: Ref<VirtualTableApi<Row> | null>;
ref?: Ref<HTMLElement>;
asChild: true;
children: JSXElement;
}Props for the `asChild` (polymorphic) rendering of Virtual Table.
apiRef- apiRef?: Ref<VirtualTableApi<Row> | null>;
asChild- asChild: true;
children- children: JSXElement;
columns- columns: readonly VirtualTableColumn<Row>[];
defaultSelectedRowKey- defaultSelectedRowKey?: string | null | undefined;
getKey- getKey: (row: Row, index: number) => string | number;
headerHeight- headerHeight: number;
onRowClick- onRowClick?: ((row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void) | undefined;
onScroll- onScroll?: ((event: Event) => void) | undefined;
onSelectedRowKeyChange- onSelectedRowKeyChange?: ((next: string | null) => void) | undefined;
overscan- overscan?: VirtualOverscan | undefined;
ref- ref?: Ref<HTMLElement>;
rowHeight- rowHeight: number;
rows- rows: readonly Row[];
selectedRowKey- selectedRowKey?: string | null | undefined;
tableWidth- tableWidth?: "compact" | undefined;
viewport- viewport?: "lg" | undefined;
VirtualTableCellComponenttype
VirtualTableCellComponent: (props: VirtualTableCellComponentProps<Row>) => VirtualTableCellElement | nullVirtual Table Cell Component.
VirtualTableCellComponentPropstype
VirtualTableCellComponentProps: {
row: Row;
rowIndex: number;
rowKey: string;
column: VirtualTableColumn<Row>;
selected: boolean;
}Props for Virtual Table Cell Component.
column- column: VirtualTableColumn<Row>;
row- row: Row;
rowIndex- rowIndex: number;
rowKey- rowKey: string;
selected- selected: boolean;
VirtualTableCellElementtype
VirtualTableCellElement: JSXElement | JSX.ElementVirtual Table Cell Element.
VirtualTableColumntype
VirtualTableColumn: {
id: string;
header: JSXElement | string;
width?: number | string;
cellComponent: VirtualTableCellComponent<Row>;
}Virtual Table Column.
VirtualTablePropstype
VirtualTableProps: VirtualTableRootProps & {
rows: readonly Row[];
rowHeight: number;
headerHeight: number;
overscan?: VirtualOverscan;
getKey: (row: Row, index: number) => string | number;
columns: readonly VirtualTableColumn<Row>[];
selectedRowKey?: string | null;
defaultSelectedRowKey?: string | null;
onSelectedRowKeyChange?: (next: string | null) => void;
onRowClick?: (row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void;
onScroll?: (event: Event) => void;
viewport?: VirtualTableViewport;
tableWidth?: VirtualTableWidth;
apiRef?: Ref<VirtualTableApi<Row> | null>;
ref?: Ref<HTMLElement>;
asChild?: false;
}Props for Virtual Table.
apiRef- apiRef?: Ref<VirtualTableApi<Row> | null>;
asChild- asChild?: false | undefined;
columns- columns: readonly VirtualTableColumn<Row>[];
defaultSelectedRowKey- defaultSelectedRowKey?: string | null | undefined;
getKey- getKey: (row: Row, index: number) => string | number;
headerHeight- headerHeight: number;
onRowClick- onRowClick?: ((row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void) | undefined;
onScroll- onScroll?: ((event: Event) => void) | undefined;
onSelectedRowKeyChange- onSelectedRowKeyChange?: ((next: string | null) => void) | undefined;
overscan- overscan?: VirtualOverscan | undefined;
ref- ref?: Ref<HTMLElement>;
rowHeight- rowHeight: number;
rows- rows: readonly Row[];
selectedRowKey- selectedRowKey?: string | null | undefined;
tableWidth- tableWidth?: "compact" | undefined;
viewport- viewport?: "lg" | undefined;
VirtualTableStatetype
VirtualTableState: {
count: number;
rowHeight: number;
headerHeight: number;
scrollTop: number;
viewportHeight: number;
totalHeight: number;
visibleRange: VirtualRange;
isAtTop: boolean;
isAtBottom: boolean;
selectedRowKey: string | null;
selectedRowIndex: number;
}Virtual Table State.
VirtualTableViewporttype
VirtualTableViewport: 'lg'Virtual Table Viewport.
VirtualTableWidthtype
VirtualTableWidth: 'compact'Virtual Table Width.