Border widths. Extra keys allowed.
Named viewport thresholds in ascending declaration order. Use as @media (--yarcl-min-{key}) or @media (--yarcl-max-{key}) in plugin-processed CSS. The name base is reserved for responsive props.
Semantic colors. Keys become the valid values of the color prop.
OptionalcomponentsPer-component defaults, part styles, variants and sizing, e.g. { Button: { radius: 'square', allowedSizes: ['sm', 'md'] } }.
Defaults apply when a prop is omitted, before the global defaults.
Values used when a component prop is omitted. Each must be a key of its group.
Density for Table. A key of density.
Color used for invalid fields. A key of colors.
Elevation of popovers, menus and listboxes. A key of shadows.
Gap for Stack and Inline. A key of spacing.
Text style for helper and error text below form controls. A key of typography.styles.
Text style for form labels and legends. A key of typography.styles.
Width of Dialog and Drawer. A key of modalSizes.
Padding for Card. A key of spacing.
A key of radii, or 'size' to use the radius named like the control's size
(a lg button gets radii.lg). Components without a size use defaults.size.
Variant for low-emphasis components such as Badge and Alert. A key of variants.
Text style for Text. A key of typography.styles.
Table densities. Keys become the valid values of the density prop.
Keyboard focus indicator, shared by every focusable component.
Built-in text and message formatters. Spread the default catalog when translating selected entries.
Widths of Dialog and Drawer, e.g. { sm: '24rem', md: '32rem', full: '100vw' }.
Keys become the valid values of their size prop. Separate from sizes, which sets control heights.
Transition timing. Extra keys allowed.
Standard transitions, e.g. opening a popover.
Easing function.
Short transitions, e.g. hover.
Neutral colors for backgrounds, text and borders. Extra keys allowed.
Border radii. Keys become the valid values of the radius prop. Name them after your
sizes (sm, md, lg …) so controls can match their size, plus exceptions such as
square and rounded. size is reserved.
OptionalrecipesConsumer component recipes, generated alongside the built-in component modifiers.
Box shadows.
Base control size scale. Keys become valid size values unless a component restricts them.
Spacing scale, e.g. for gap and padding.
Interaction timing in milliseconds, read by components at render time. Extra keys allowed.
Delay before a HoverCard closes after the pointer leaves.
Delay before a HoverCard opens on hover.
How long a toast stays before it dismisses itself. 0 keeps toasts until dismissed.
Delay before a Tooltip opens on hover.
Maximum pause between characters in TreeView type-ahead.
Font files, font families, stable font roles, named text styles and heading levels.
Font stacks, e.g. { sans: 'Inter, system-ui, sans-serif' }.
OptionalfontFaces?: readonly FontFaceToken[]Font files to load. Reference their family names in families.
Optionalfonts?: { body: string; heading: string; mono: string }Stable application font roles. Each value must be a key of families. Omit to use available family keys.
Text style for each heading level, used by Heading. Each must be a key of styles.
Optionalprose?: {Styles and spacing for unclassed HTML inside .yarcl-prose.
OptionalblockGap?: stringSpacing key between blocks. Defaults to defaults.gap.
Optionalbody?: stringText style for body content. Defaults to defaults.textStyle.
Optionalcode?: stringText style for code. Defaults to code when present, otherwise the body style.
OptionalheadingGap?: stringSpacing key before headings. Defaults to defaults.padding.
OptionallistIndent?: stringSpacing key for list indentation. Defaults to defaults.padding.
Named text styles. Keys become the valid text style names.
Style recipes. Keys become the valid values of the variant prop.
Page and container widths, emitted as --yarcl-width-{key}.
Stacking order of floating layers. Extra keys allowed.
The structure every yarcl config must satisfy.
Open groups (
colors,sizes,radii,variants,spacing,shadows,density,modalSizes,widths,breakpoints,typography) take any keys; those keys become the valid prop values. Groups with required keys (neutrals,zIndex,motion,timing,borders) must include the keys the library depends on, and accept any extra keys, which are emitted as CSS variables for the consumer's own styles.