Responsive column layouts with fixed or fluid sizing.
| Attribute | Values | Description |
|---|---|---|
cols | 1-6 | auto-fit | auto-fill | Number of columns or fluid mode |
cols-sm | 1-3 | Columns at ≤640px |
cols-md | 1-4 | Columns at 641-1024px |
cols-lg | 2-6 | Columns at ≥1025px |
--ry-grid-min | CSS length | Min column width for auto-fit/auto-fill (default 280px) |
Vertical spacing between elements with consistent gaps.
| Attribute | Values | Description |
|---|---|---|
gap | sm | md | lg | Vertical spacing |
Horizontal wrapping layout for inline elements like tags and buttons.
| Attribute | Values | Description |
|---|---|---|
gap | sm | md | lg | Horizontal spacing |
Content container with optional hover interaction and link behavior.
Card content goes here.
Interactive card with hover lift.
Tab to focus, Enter to activate.
Card content goes here.
Hover lift + primary border.
Navigate on click or Enter.
| Attribute | Values | Description |
|---|---|---|
interactive | boolean | Clickable card with hover lift, focus ring, keyboard support |
href | URL | Navigate on click (requires interactive) |
Clickable actions with semantic variants for primary, secondary, danger, and more.
| Attribute | Values | Description |
|---|---|---|
variant | primary | secondary | outline | ghost | danger | accent | Button style |
size | sm | md | lg | Button size |
pressed | boolean | Pressed/active toggle state |
modal | modal-id | Opens modal on click |
drawer | drawer-id | Opens drawer on click |
Resizable two-panel layout with optional persistent width.
| Attribute | Values | Description |
|---|---|---|
resizable | boolean | Enable drag-to-resize handle |
persist | string | localStorage key — saves width across reloads |
--ry-split-width | CSS length | Sidebar width (default 300px) |
--ry-split-min-width | CSS length | Min width during resize (default 100px) |
--ry-split-max-width | CSS length | Max width during resize (default 80% of container) |
CSS-only checkmark list for feature comparisons and pricing.
| Class | Description |
|---|---|
.ry-check-list | Green checkmark list (CSS-only, no JS) |
Collapsible content sections for FAQs and progressive disclosure.
| Attribute | Values | Description |
|---|---|---|
title | string | Header text (on accordion-item) |
open | boolean | Initially expanded (on accordion-item) |
Tabbed content panels for organizing related information.
This is the overview tab content.
This is the features tab content.
This is the overview tab content.
This is the features tab content.
| Attribute | Values | Description |
|---|---|---|
title | string | Tab label (on tab) |
active | boolean | Initially selected (on tab) |
Focus-trapped dialog overlay for confirmations and forms.
Modal content with focus trapping.
Modal content with focus trapping.
| Attribute | Values | Description |
|---|---|---|
id | string | Modal identifier |
title | string | Header title |
close | boolean | Closes modal (on button) |
Click-triggered menu for actions and navigation options.
| Attribute | Values | Description |
|---|---|---|
first child | — | First child element is used as the trigger |
Form field wrapper that auto-generates labels, hints, and error states.
| Attribute | Values | Description |
|---|---|---|
label | string | Field label text |
error | string | Error message (hides hint when set) |
hint | string | Helper text below input |
Native checkbox with themed styling.
| Attribute | Values | Description |
|---|---|---|
checked | boolean | Initially checked |
disabled | boolean | Disable interaction |
Grouped radio buttons for single-selection choices.
| Attribute | Values | Description |
|---|---|---|
name | string | Groups radios together |
value | string | Value when selected |
checked | boolean | Initially selected |
disabled | boolean | Disable interaction |
Small status indicators with semantic color variants.
| Attribute | Values | Description |
|---|---|---|
variant | default | primary | success | warning | danger | accent | Badge style |
--ry-badge-color | CSS color | Arbitrary background color via style |
--ry-badge-text | CSS color | Arbitrary text color via style |
Contextual feedback messages for info, success, warnings, and errors.
| Attribute | Values | Description |
|---|---|---|
type | info | success | warning | danger | Alert style |
title | string | Alert heading |
Toggle control for binary on/off settings.
| Attribute | Values | Description |
|---|---|---|
name | string | Form field name |
checked | boolean | Initially checked |
disabled | boolean | Disable interaction |
Range input with single or dual handles, ticks, and color variants.
| Attribute | Values | Description |
|---|---|---|
min | number | Minimum value (default: 0) |
max | number | Maximum value (default: 100) |
step | number | Step increment, 0 for smooth (default: 1) |
value | number | Current value (single slider) |
start / end | number | Range values (with range attribute) |
range | boolean | Enable dual-handle range mode |
labeled | boolean | Show value labels |
ticked | boolean | Show tick marks |
tooltip | boolean | Show value on thumb hover |
vertical | boolean | Vertical orientation |
reversed | boolean | Reverse direction |
color | primary | secondary | success | warning | danger | info | Track color |
size | sm | lg | Size variant |
disabled | boolean | Disable interaction |
Rotary dial control for precise numeric input.
| Attribute | Values | Description |
|---|---|---|
min | number | Minimum value (default: 0) |
max | number | Maximum value (default: 100) |
step | number | Step increment, 0 for smooth (default: 0) |
value | number | Current value |
label | string | Label text below knob |
labels | string | Comma-separated display labels for discrete values |
description | string | Tooltip text shown on hover |
color | primary | secondary | success | warning | danger | Track color |
size | sm | lg | Size variant |
disabled | boolean | Disable interaction |
Compact numeric stepper with configurable arrows, drag, and direct editing.
Arrow placement
Icon styles
Prefix & suffix
Sizes
| Attribute | Values | Description |
|---|---|---|
min | number | Minimum value (default: 0) |
max | number | Maximum value (default: 100) |
step | number | Step increment (default: 1) |
value | number | Current value (default: 0) |
arrows | both | start | end | stacked | none | Button placement (default: both) |
icons | plus-minus | chevron | arrow | Button icon style (default: plus-minus) |
drag | x | y | none | Drag direction (default: x, stacked defaults to y) |
prefix | string | Text before value (e.g. "$") |
suffix | string | Text after value (e.g. "°", "%") |
editable | boolean | Allow direct typing on click |
wrap | boolean | Wrap around min/max boundaries |
size | xs | sm | lg | Size variant |
disabled | boolean | Disable interaction |
Visual color selection with spectrum, sliders, and optional swatches.
Dropdown mode (default) — click to open:
With swatches:
Inline mode — always visible:
| Attribute | Values | Description |
|---|---|---|
value | color string | Initial color (hex, rgb, hsl) |
format | hex | rgb | hsl | Output format (default: hex) |
inline | boolean | Always show picker (no dropdown) |
opacity | boolean | Enable alpha channel slider |
swatches | string | Preset colors separated by semicolons |
disabled | boolean | Disable interaction |
Text input paired with a color swatch for direct hex/rgb entry.
| Attribute | Values | Description |
|---|---|---|
value | color string | Initial color (hex, rgb, hsl) |
format | hex | rgb | hsl | Output format (default: hex) |
opacity | boolean | Enable alpha channel slider |
placeholder | string | Placeholder text for input |
disabled | boolean | Disable interaction |
Multi-stop gradient editor for linear and radial gradients.
Linear gradient (default):
Multi-stop rainbow with CSS output:
Radial gradient:
| Attribute | Values | Description |
|---|---|---|
value | CSS gradient string | Initial gradient value |
disabled | boolean | Disable interaction |
Pressable button for radio-style selection, supports block card layout.
| Attribute | Values | Description |
|---|---|---|
name | string | Groups buttons (same name = only one pressed) |
value | string | Value when selected |
pressed | boolean | Currently pressed |
disabled | boolean | Disable interaction |
size | sm | md | lg | Button size |
Contextual hover text anchored to any element.
| Attribute | Values | Description |
|---|---|---|
content | string | Tooltip text |
position | top | bottom | left | right | Tooltip position |
Slide-out panel for secondary content and navigation.
Drawer content here.
Drawer content here.
| Attribute | Values | Description |
|---|---|---|
id | string | Drawer identifier |
side | left | right | bottom | Slide direction |
Transient notification messages triggered programmatically.
| Method | Description |
|---|---|
RyToast.success(msg) | Show success toast |
RyToast.error(msg) | Show error toast |
RyToast.warning(msg) | Show warning toast |
RyToast.info(msg) | Show info toast |
Custom dropdown for single or multi-value selection with keyboard support.
| Attribute | Values | Description |
|---|---|---|
placeholder | string | Placeholder text |
name | string | Form field name |
disabled | boolean | Disable select |
multiple | boolean | Enable multi-select with tags |
clearable | boolean | Show clear button (multi) |
max-selections | number | Max selections (multi) |
Searchable dropdown that filters options as you type.
| Attribute | Values | Description |
|---|---|---|
placeholder | string | Placeholder text for input |
name | string | Form field name |
value | string | Currently selected value |
disabled | boolean | Disable combobox |
Syntax-highlighted code block with copy button.
| Attribute | Values | Description |
|---|---|---|
language | js | css | html | json | Syntax highlighting |
title | string | Header title |
line-numbers | boolean | Show line numbers |
Note: Use <ry-code> with prefix to avoid conflict with native <code> tag.
Styled HTML table with optional borders and striping.
| Name | Role | Status |
|---|---|---|
| Alice Johnson | Engineer | Active |
| Bob Smith | Designer | Active |
| Carol White | Manager | Away |
| Name | Role |
|---|---|
| Alice | Engineer |
| Bob | Designer |
| Attribute | Values | Description |
|---|---|---|
data-bordered | boolean | Add borders to all cells |
data-striped | boolean | Alternate row backgrounds |
Hierarchical file/folder view with expand/collapse and drag-to-sort.
| Attribute | Values | Description |
|---|---|---|
label | string | Item label (on tree-item) |
open | boolean | Initially expanded folder (on tree-item with children) |
selected | boolean | Initially selected file (on leaf tree-item) |
sortable | boolean | Enable drag-and-drop rearranging (on tree) |
no-animate | boolean | Disable expand/collapse animation (on tree) |
--ry-tree-duration | CSS time | Animation duration (default: 150ms) |
Inline SVG icons from the built-in registry.
| Attribute | Values | Description |
|---|---|---|
name | close | check | chevron-* | copy | sun | moon | info | warning | error | success | search | menu | plus | minus | settings | user | heart | star | trash | edit | external-link | download | upload | Icon name |
size | number | Size in pixels (default: 24) |
label | string | Accessible label |
Labeled chips with color variants and optional remove button.
| Attribute | Values | Description |
|---|---|---|
variant | default | primary | success | warning | danger | Color variant |
size | sm | md | lg | Size |
removable | boolean | Show close button |
data-value | string | Value included in ry:remove event |
Text input that creates removable tags from typed values.
| Attribute | Values | Description |
|---|---|---|
placeholder | string | Input placeholder |
delimiter | string | Delimiter character (default ",") |
max-tags | number | Max number of tags |
value | string | Initial comma-separated values |
name | string | Form field name |
Full-width landing section with headline, copy, and CTA buttons.
Framework-agnostic, Light DOM web components. CSS is the source of truth.
Framework-agnostic web components.
| Attribute | Values | Description |
|---|---|---|
align | center | left | Text alignment |
size | sm | md | lg | Padding size |
full-bleed | boolean | Remove max-width |
Key metric display with trend indicators for dashboards.
| Attribute | Values | Description |
|---|---|---|
trend | up | down | Trend arrow direction |
size | sm | md | lg | Value text size |
align | left | center | Alignment |
Icon-and-text cards arranged in columns for feature showcases.
One line of code to get started. No build step required.
Clean API, great docs, and TypeScript support.
Under 10KB gzipped. No dependencies.
No build step required.
Clean API and TypeScript support.
| Attribute | Values | Description |
|---|---|---|
cols (grid) | 2 | 3 | 4 | Number of columns |
icon (feature) | icon name | Icon from registry |
align (feature) | left | center | Content alignment |
Side-by-side plan comparison cards with featured highlight.
| Attribute | Values | Description |
|---|---|---|
featured | boolean | Highlight this card |
Customer quote card with avatar, star rating, and attribution.
| Attribute | Values | Description |
|---|---|---|
stars | 1–5 | Star rating display |
avatar | URL | Avatar photo URL |
name | text | Person's name |
role | text | Title / company |
Swipeable slide viewer with arrows, dots, and looping.
First slide content
Second slide content
Third slide content
| Attribute | Values | Description |
|---|---|---|
arrows | boolean | Show prev/next arrows |
dots | boolean | Show dot indicators |
loop | boolean | Loop back to start |
autoplay | boolean | Auto-advance slides |
interval | number | Autoplay interval in ms (default 5000) |
pause-on-hover | boolean | Pause autoplay on hover |