Tree-shakable runtime helpers consumed by Solid components emitted by @rozie/target-solid. Implements the modifier and binding behaviors that don't have a 1:1 Solid equivalent — controllable (model: true) signals, outside-click detection, debounce/throttle wrappers, key filters, attribute/listener normalization, runtime style injection, and crash-safe interpolation — so the emitter can stay declarative and the runtime cost stays minimal.
Shipped. Used end-to-end by the Solid reference examples and engine-wrapper demos, and validated through the Solid visual-regression matrix. Marked @experimental until v1.0.
Not yet published to npm (current version 0.1.0; publishing is gated on the public release workflow). It is declared as a peer dependency of @rozie/unplugin, so projects using the unplugin must install both.
You normally do not import this package by hand — @rozie/target-solid injects the imports it needs into emitted components. The published shape, for reference:
import {
createControllableSignal,
createOutsideClick,
rozieDisplay,
} from '@rozie/runtime-solid';
// Inside a component emitted from a .rozie file:
const [value, setValue] = createControllableSignal({ prop, defaultValue, onChange });- Reactive primitives:
createControllableSignal,createOutsideClick,createDebouncedHandler,createThrottledHandler - Interpolation:
rozieDisplay(Phase 26 safe non-primitive interpolation —toDisplayStringsemantics, crash-safe) - Style/attr/listener normalization:
parseInlineStyle,toStyleObjectKey,normalizeAttrs,normalizeComponentAttrs,SOLID_ATTR_KEY_MAP,normalizeListeners,SOLID_LISTENER_KEY_MAP,mergeListeners,__rozieInjectStyle - Key filters:
isEnter,isEscape,isTab,isSpace,isUp,isDown,isLeft,isRight,isCtrl,isAlt,isShift,isMeta
- Project orientation:
CLAUDE.md - Feature reference:
docs/guide/features.md - Roadmap:
.planning/ROADMAP.md