Skip to content

Resizable theming

Every cosmetic value Resizable renders is a --rozie-resizable-* custom property with a built-in fallback, so the component works with zero configuration and stays fully re-skinnable. The structural rules compile per-leaf and are not consumer-overridable — only the values below flow through tokens.

css
.rozie-resizable {
  --rozie-resizable-font: inherit;
  --rozie-resizable-accent: #0066cc;
  --rozie-resizable-handle-size: 0.5rem;
  --rozie-resizable-size: 50%;
}

Tokens

typography

TokenDefault
--rozie-resizable-fontinherit

accent — the single color most consumers will set; the active handle + focus ring derive from it

TokenDefault
--rozie-resizable-accent#0066cc

the handle (the draggable divider)

TokenDefault
--rozie-resizable-handle-size0.5rem
--rozie-resizable-handle-bgrgba(0, 0, 0, 0.08)
--rozie-resizable-handle-hover-bgrgba(0, 0, 0, 0.16)
--rozie-resizable-handle-active-bgvar(--rozie-resizable-accent)

the first panel's basis along the split axis

TokenDefault
--rozie-resizable-size50%

the default grip (the short centered bar)

TokenDefault
--rozie-resizable-grip-bgrgba(0, 0, 0, 0.35)
--rozie-resizable-grip-thickness2px
--rozie-resizable-grip-length1.5rem

focus ring (keyboard focus on the handle)

TokenDefault
--rozie-resizable-focus-ring-width2px
--rozie-resizable-focus-ring-colorrgba(0, 102, 204, 0.5)

disabled

TokenDefault
--rozie-resizable-disabled-opacity0.55

Design-system bridges

Each package ships token presets that map Resizable's tokens onto a known design system's published CSS variables — import base.css first, then a bridge:

ts
import '@rozie-ui/resizable-react/themes/base.css';
import '@rozie-ui/resizable-react/themes/bootstrap.css';
import '@rozie-ui/resizable-react/themes/material.css';
import '@rozie-ui/resizable-react/themes/shadcn.css';

See also

Pre-1.0 — APIs may change between minor versions.