A standalone JSON viewer web component. Native <details> for collapse,
Shadow DOM for isolation, Vanilla Breeze tokens for theming, mobile-first toolbar,
programmatic path API for expand / collapse / search.
| Type | Name | Notes |
|---|---|---|
| attr | data | JSON string. Prefer the .data property for objects. |
| attr | src | URL to fetch JSON from. |
| attr | expanded | Depth (integer), true, or false. Default 1. |
| attr | mode | tree (default) or raw. |
| attr | show-types | Display type chips next to values. |
| attr | show-sizes | Display item counts on arrays/objects. |
| attr | show-indices | Display array indices. |
| attr | indent | ch units for indentation (default 2). |
| prop | .data | The object to render. Setter triggers re-render. |
| method | .expand(path) | Path string, glob (**.name), or RegExp. |
| method | .collapse(path) | Same matcher style as .expand(). |
| method | .expandAll() / .collapseAll() | Bulk operations. |
| method | .search(query) | Returns iterator; .next() scrolls to + highlights match. |
| method | .copy() | Copy current JSON to clipboard. |
| event | keyclick | Detail: { path, key, value }. Fires when a key is tapped. |
| event | valueclick | Detail: { path, value, type }. |
| token | --vb-json-key, --vb-json-string, --vb-json-number, --vb-json-boolean, --vb-json-null, --vb-accent, --vb-surface, --vb-text, --vb-text-muted, --vb-border, --vb-font-mono, --vb-radius, --vb-space-1..4 | Override from outside the shadow boundary. |