Native JSON and CSV become bounded tables or structural text. This data preview complements the authored cem-table wrapper and the editable cem-source-editor.
Property playground ยท Automated stories
value supplies original text; format="json|csv" selects the native importer. label is visible fallback text, a label slot replaces it, and aria-label can name the view independently. The viewer is passive: disabled, invalid, pending, readonly and selected are not viewer states. Empty data and native errors are shown explicitly.
Public attributes and slots
Public attribute inventory| Attribute | Contract |
| value | Original source text; empty by default. JSON and CSV are imported natively. |
| format | json by default; csv explicitly selects the CSV importer. Unsupported values show an error. |
| label | Visible caption or structural heading; Data by default. The label slot replaces this fallback. |
| aria-label | Optional independent accessible name. |
| data-cem-density | Inherited compact or super-compact theme profile; default retains normal dimensions. |
| class | Inherited theme classes and ordinary host styling. |
| hidden | Presence hides the complete passive view; until-found retains native semantics. |
Measurements
Theme and density matrix
Rows use normal, compact and paragraph-line profiles. Text wraps at narrow widths and zoom; the explicit super-compact paragraph-line profile retains 1lh row minima with zero coupling minima and no extra vertical row padding or gaps on every input device. Normal and compact profiles retain their existing input policies. The passive data view has no hover, press or selection commands; keyboard focus belongs to its scroll region.
Preview bounds are 65,536 Unicode characters before import, 100 rows, 32 columns/properties, four nested levels and 2,048 scalar characters. Every truncation is labeled. Open the property playground to edit source and observe errors; use the automated stories for all bound cases.