Appearance
Examples
Seven reference components, each shipped with byte-verbatim output across all six targets (Vue, React, Svelte, Angular, Solid, Lit). Pick whichever lines up with the feature you're trying to evaluate.
By complexity
- Counter —
<props>withmodel: true,<data>,$computed, template event handlers. The smallest example that's still interesting. - SearchInput —
.debounce(300)modifier,$emit,$onMountwith a teardown return,r-if/r-else,$refs. Single-component scope with rich event-handling. - Modal —
<listeners>block with side-effect handlers (body-scroll lock, focus),.selfmodifier on a backdrop click, multiple colocated lifecycle hooks, slots with scoped params,<components>embed. The heaviest single-file example. - Dropdown —
.outside(...$refs),.throttle(100).passive, reactivewhenpredicates, named slot with scoped params. The marquee<listeners>showcase. - TreeNode — self-recursion via
<components>self-import; minimal<props>-only component. Demonstrates the per-target self-reference idioms. - Card (with CardHeader) — wrapper-pair composition. Two
.roziefiles; shows the kebab/camel prop bridge and the per-target child-component import + selector rewrite (notably Angular's<rozie-card-header>). - TodoList —
r-forwith:key, multiple$emitchannels, named + default slots with per-item scoped params, fallback content,r-if/r-elseempty state. Calls out the documented React render-prop divergence in slot consumer ergonomics.
By feature
If you're looking for a specific authoring feature:
| Feature | See |
|---|---|
model: true two-way binding | Counter, Modal, Dropdown, TodoList |
$computed | Counter, SearchInput, TodoList |
$emit | SearchInput, Modal, TodoList |
$refs in script | SearchInput, Modal, Dropdown |
$onMount with teardown return | SearchInput, Modal |
$onMount / $onUnmount colocated pair | Modal |
Multiple $onMount hooks | Modal, Dropdown |
<listeners> block with reactive when | Modal, Dropdown |
.debounce(ms) modifier | SearchInput |
.throttle(ms).passive modifier chain | Dropdown |
.outside(...$refs) modifier | Dropdown |
.self modifier | Modal |
.enter / .escape key filters | SearchInput |
<components> block | Modal, Card, TreeNode |
| Self-recursion | TreeNode |
r-for with :key | TodoList, TreeNode |
r-if / r-else | SearchInput, TodoList |
r-model | SearchInput, TodoList |
| Named slots | Modal, Dropdown, TodoList |
| Default slot with scoped params | Modal, Dropdown, TodoList |
| Slot fallback content | TodoList |
:root { } global escape hatch in <style> | Modal, Dropdown |
For the design rationale behind each of these, see Features & design choices.