Layout
Separator & scroll area
Dividers and bounded scrolling regions.
Separator
Visual divider — horizontal, labeled, or vertical.
Horizontal
Default full-width rule.
Above the line
Below the line
<.separator />
With text
Centered label on the rule — useful for “or” splits.
<.separator text="or" />
Vertical
vertical splits adjacent columns.
Left column with a short note about primary content.
Right column for secondary detail or actions.
<.separator vertical />
API reference
Props and slots, introspected from the component.
| Prop | Type | Default | Description |
|---|---|---|---|
class |
any |
nil |
Extra classes merged onto the root element. |
text |
string |
nil |
Optional centered label on a horizontal rule. |
vertical |
boolean |
false |
Render a vertical divider instead of horizontal. |
Scroll area
Constrain the wrapper to create overflow. A label gives the region keyboard-scrollable semantics with a focusable role=region.
Axes
Vertical, horizontal, and both-axis scrolling all use native browser behavior.
Activity event 1
Activity event 2
Activity event 3
Activity event 4
Activity event 5
Activity event 6
Activity event 7
Activity event 8
<.scroll_area label="Recent activity" orientation="vertical" style="max-height: 8rem"><p>...</p></.scroll_area>
API reference
Props and slots, introspected from the component.
| Prop | Type | Default | Description |
|---|---|---|---|
class |
any |
nil |
Extra classes merged onto the root element. |
label |
string |
nil |
Accessible name; when set the wrapper becomes a focusable, keyboard-scrollable `role="region"`. Omit only when the content manages focus itself. |
orientation |
vertical | horizontal | both |
"vertical" |
Which axis may scroll; the other axis hides its overflow. |
| Slots | |||
:inner_block* |
Scrolled content. | ||