@askrjs/themes/components
Exports from the declarations published in @askrjs/themes. Signatures reflect the published artifact.
Exports
This entrypoint publishes 503 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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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"Brandtype
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. Attached groups without an explicit orientation
stack at phone width unless they contain icon buttons; pass orientation="horizontal" to
keep the row.
ButtonGroupOrientationtype
ButtonGroupOrientation: "horizontal" | "vertical"Layout direction of a {@link ButtonGroup }. When omitted, an attached group is a row that
stacks at phone width unless it contains icon buttons. An explicit value keeps that direction
unless the caller also passes data-responsive="true", which opts back into phone stacking.
ButtonGroupPropstype
ButtonGroupProps: DivProps & {
children?: unknown;
attached?: boolean;
orientation?: ButtonGroupOrientation;
/** Stack at phone width. Defaults to `"true"` for attached groups without an `orientation`. */
"data-responsive"?: "true" | "false";
ref?: Ref<HTMLDivElement>;
}Props for the {@link ButtonGroup } component.
attached- attached?: boolean | undefined;
children- children?: unknown;
data-responsive- Stack at phone width. Defaults to `"true"` for attached groups without an `orientation`.
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<HTMLButtonElement> & { 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<HTMLButtonElement>) => JSX.ElementButton that navigates the calendar to the next month.
CalendarPreviousButtontype
CalendarPreviousButton: (props: CatalogComponentProps<HTMLButtonElement>) => 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<HTMLButtonElement>) => JSX.ElementButton that navigates the carousel to the next item.
CarouselPrevioustype
CarouselPrevious: (props: CatalogComponentProps<HTMLButtonElement>) => 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<TElement>;
}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<TElement>;
CatThemeNametype
CatThemeName: (typeof CAT_THEME_NAMES)[number]A built-in "cat" theme name, one of {@link CAT_THEME_NAMES}.
Centertype
Center: (props: CenterProps) => JSX.ElementCenters content on both axes within the supplied Block dimensions.
CenterPropstype
CenterProps: WithoutOwnedLayout<BlockProps, "align" | "justify"> & {
align?: never;
justify?: never;
}align- align?: undefined;
asChild- asChild?: unknown;
background- background?: unknown;
border- border?: unknown;
borderBottom- borderBottom?: unknown;
borderRight- borderRight?: unknown;
borderTop- borderTop?: unknown;
center- center?: unknown;
children- children?: unknown;
direction- direction?: unknown;
gap- gap?: unknown;
grow- grow?: unknown;
height- height?: unknown;
hide- hide?: unknown;
justify- justify?: undefined;
margin- margin?: unknown;
marginX- marginX?: unknown;
marginY- marginY?: unknown;
maxHeight- maxHeight?: unknown;
maxWidth- maxWidth?: unknown;
minHeight- minHeight?: unknown;
minWidth- minWidth?: unknown;
padding- padding?: unknown;
paddingX- paddingX?: unknown;
paddingY- paddingY?: unknown;
radius- radius?: unknown;
ref- ref?: unknown;
rowFrom- rowFrom?: unknown;
shadow- shadow?: unknown;
shrink- shrink?: unknown;
sticky- sticky?: unknown;
top- top?: unknown;
width- width?: unknown;
wrap- wrap?: unknown;
zIndex- zIndex?: unknown;
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;
Clustertype
Cluster: (props: ClusterProps) => JSX.ElementWrapping horizontal content flow for actions, tags, and compact controls.
ClusterPropstype
ClusterProps: WithoutOwnedLayout<BlockProps, "direction" | "rowFrom" | "wrap"> & {
direction?: never;
rowFrom?: never;
wrap?: never;
}align- align?: unknown;
asChild- asChild?: unknown;
background- background?: unknown;
border- border?: unknown;
borderBottom- borderBottom?: unknown;
borderRight- borderRight?: unknown;
borderTop- borderTop?: unknown;
center- center?: unknown;
children- children?: unknown;
direction- direction?: undefined;
gap- gap?: unknown;
grow- grow?: unknown;
height- height?: unknown;
hide- hide?: unknown;
justify- justify?: unknown;
margin- margin?: unknown;
marginX- marginX?: unknown;
marginY- marginY?: unknown;
maxHeight- maxHeight?: unknown;
maxWidth- maxWidth?: unknown;
minHeight- minHeight?: unknown;
minWidth- minWidth?: unknown;
padding- padding?: unknown;
paddingX- paddingX?: unknown;
paddingY- paddingY?: unknown;
radius- radius?: unknown;
ref- ref?: unknown;
rowFrom- rowFrom?: undefined;
shadow- shadow?: unknown;
shrink- shrink?: unknown;
sticky- sticky?: unknown;
top- top?: unknown;
width- width?: unknown;
wrap- wrap?: undefined;
zIndex- zIndex?: unknown;
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<HTMLInputElement>) => 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<HTMLInputElement>) => 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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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<HTMLInputElement>) => 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.
One component-owned timer is re-timed when debounceMs changes (or emits
at once when the delay drops to zero). A pending value is delivered to the latest
onDebouncedInput, is dropped when onDebouncedInput is removed, and is
cancelled on unmount.
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.
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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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;
Headingtype
Heading: ({ level, ...props }: HeadingProps) => JSX.ElementNative semantic heading whose visual size is independent from its explicit document level.
HeadingLeveltype
HeadingLevel: 1 | 2 | 3 | 4 | 5 | 6HeadingPropstype
HeadingProps: NativeHeadingProps & {
level: HeadingLevel;
size?: HeadingSize;
tone?: TextTone;
weight?: TextWeight;
font?: TextFont;
numeric?: TextNumeric;
wrap?: TextWrap;
truncate?: boolean;
children?: unknown;
ref?: Ref<HTMLHeadingElement>;
}Strongly typed semantic heading props with visual treatment independent from document level.
children- children?: unknown;
font- font?: TextFont | undefined;
level- level: HeadingLevel;
numeric- numeric?: TextNumeric | undefined;
ref- ref?: Ref<HTMLHeadingElement>;
size- size?: HeadingSize | undefined;
tone- tone?: TextTone | undefined;
truncate- truncate?: boolean | undefined;
weight- weight?: TextWeight | undefined;
wrap- wrap?: TextWrap | undefined;
HeadingSizetype
HeadingSize: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl"HoverCardtype
HoverCard: (props: HoverCardProps) => import("@askrjs/askr/jsx-runtime").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.
Inputtype
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.
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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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<HTMLSelectElement>) => 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<HTMLButtonElement>) => 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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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.
Sidebartype
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?: "default" | "sm" | "lg" | 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?: "default" | "sm" | "lg" | 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.
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: StackProps) => JSX.ElementVertical content flow with responsive, token-backed spacing.
StackPropstype
StackProps: WithoutOwnedLayout<BlockProps, "direction" | "rowFrom" | "gap" | "padding" | "wrap"> & {
direction?: never;
gap?: ResponsiveValue<StackSpace>;
p?: ResponsiveValue<StackSpace>;
padding?: ResponsiveValue<StackSpace>;
rowFrom?: never;
wrap?: ResponsiveValue<StackWrap>;
}align- align?: unknown;
asChild- asChild?: unknown;
background- background?: unknown;
border- border?: unknown;
borderBottom- borderBottom?: unknown;
borderRight- borderRight?: unknown;
borderTop- borderTop?: unknown;
center- center?: unknown;
children- children?: unknown;
direction- direction?: undefined;
gap- gap?: ResponsiveValue<BlockSpace> | undefined;
grow- grow?: unknown;
height- height?: unknown;
hide- hide?: unknown;
justify- justify?: unknown;
margin- margin?: unknown;
marginX- marginX?: unknown;
marginY- marginY?: unknown;
maxHeight- maxHeight?: unknown;
maxWidth- maxWidth?: unknown;
minHeight- minHeight?: unknown;
minWidth- minWidth?: unknown;
p- p?: ResponsiveValue<BlockSpace> | undefined;
padding- padding?: ResponsiveValue<BlockSpace> | undefined;
paddingX- paddingX?: unknown;
paddingY- paddingY?: unknown;
radius- radius?: unknown;
ref- ref?: unknown;
rowFrom- rowFrom?: undefined;
shadow- shadow?: unknown;
shrink- shrink?: unknown;
sticky- sticky?: unknown;
top- top?: unknown;
width- width?: unknown;
wrap- wrap?: ResponsiveValue<boolean> | undefined;
zIndex- zIndex?: unknown;
Stattype
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<HTMLButtonElement>) => 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.ElementPresentational Toaster host retaining the sonner styling slot.
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) => import("@askrjs/askr/jsx-runtime").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) => import("@askrjs/askr/jsx-runtime").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;
/** Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path. */
getRowHeight?: (item: Item, index: number) => 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;
getRowHeight- Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path.
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;
/** Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path. */
getRowHeight?: (item: Item, index: number) => 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;
getRowHeight- Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path.
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.