Resizable Item
kai-resizable-item
A passive panel slot that carries layout config for its enclosing <kai-resizable> — set size, min, max, locked, or hidden as attributes and the parent handles the rest.
- Shadow DOM
- All-attribute API
- px or % sizes
- Lockable panel
- Hideable with reflow
Preview
Section titled “Preview”<kai-resizable-item> has no standalone rendering — always place it inside <kai-resizable>:
<kai-resizable orientation="horizontal" style="display:block;height:400px"> <kai-resizable-item size="260px" min="160px" locked> <!-- sidebar content --> </kai-resizable-item> <kai-resizable-item> <!-- main content fills remaining space --> </kai-resizable-item> <kai-resizable-item size="35%" min="200px"> <!-- preview / inspector pane --> </kai-resizable-item></kai-resizable>
<script type="module"> import '@kitn.ai/ui/elements';</script>size— initial main-axis size:"280px"or"25%". Omit for a flexible panel (flex: 1 1 0%).min/max— drag bounds in px or %, e.g.min="120px",max="50%".locked— fixes the panel; adjacent dividers become non-draggable separators.hidden— removes the panel and its divider; remaining panels reflow. Toggle via JS to collapse/restore.
Resize events (kai-change, kai-maximize-change) fire on the parent <kai-resizable>, not the item. See the Resizable page for the full event reference.
Examples
Section titled “Examples”Flexible Panel
Section titled “Flexible Panel”No size — stretches to fill whatever space siblings leave. Right choice for the primary content area.
Sized Panel
Section titled “Sized Panel”size="260px" sets the initial width. The user can still drag to resize unless locked is also set.
Locked Panel
Section titled “Locked Panel”locked fixes the panel at its size — adjacent dividers become non-draggable. Use for nav sidebars and tool panels.
| Property | Type | Default | Notes |
|---|---|---|---|
| size | string | — | Initial main-axis size: `"280px"` (fixed) or `"25%"`/`25` (percent). Omitted → flexible. |
| min | string | — | Minimum size during resize (px or %). |
| max | string | — | Maximum size during resize (px or %). |
| locked | boolean | false | Fix this panel's size; adjacent dividers become non-draggable. |
| hidden | boolean | false | Hide this panel; its divider is dropped and the rest reflow. |
Composed from
Section titled “Composed from”This element wraps these SolidJS components — reach for them directly when you need finer control than the props expose.