/** * `JsonTree` — a collapsible viewer for arbitrary JSON on the design system's * terminal ground (`tai-code-block`). Objects and arrays are native * `
`/`` disclosures; primitives render inline, tinted by their * `tai-syntax-*` type class. All values render as React TEXT children, so markup in * a payload is escaped — never an HTML sink. * * It mounts against guaranteed-large payloads (a trace span's whole input/output), * so it is BOUNDED by construction: * * - Nodes deeper than {@link AUTO_EXPAND_DEPTH} start COLLAPSED, and a collapsed node * renders no children. `defaultExpanded` overrides per call site. * - Expand-all opens breadth-first only until {@link AUTO_EXPAND_NODE_BUDGET} nodes * render and never past {@link MAX_AUTO_DEPTH}; a node beyond either opens on click. * - A container over {@link PAGE_SIZE} children renders one page plus a "show more". * - Copy-whole and copy-node write JSON to the clipboard; a refused write shows an alert. * * The scrolling pane IS the scrolling box, carrying the region attributes itself * rather than nesting a `ScrollRegion` that would add a second scroller. */ import type { ReactElement } from 'react'; export interface JsonTreeProps { readonly data: unknown; /** * Opts the whole tree out of the depth-guarded default: `true` expands every * node (up to the depth cap), `false` collapses to the root. Omitted, the tree * opens through {@link AUTO_EXPAND_DEPTH} and collapses everything below. */ readonly defaultExpanded?: boolean; /** The region's accessible name, applied only while the pane actually scrolls. */ readonly label?: string; } export declare function JsonTree({ data, defaultExpanded, label }: JsonTreeProps): ReactElement; //# sourceMappingURL=json-tree.d.ts.map