import type { VegaLiteSpec } from "./specs";
/**
* The `` custom element — a native Web Component wrapper around
* {@link RawChart} so a Vega-Lite spec can be dropped straight into Markdown (or
* any HTML) and rendered live in the browser. The unified molplot preset is
* injected as the spec `config` (unless the spec carries its own), and
* `` is tracked, exactly as {@link RawChart} does.
*
* The author-facing content **is a plain Vega-Lite spec** — no bespoke schema.
* It is read from the first child `
*
* ```
*
* Attributes: `preset` (unified preset name, default the molplot preset),
* `theme` (`auto` | `light` | `dark`, default `auto`), `interactive` (`false`
* disables the default pan/zoom bindings), and `spec` (inline JSON, a one-line
* alternative to the script block).
*/
export { reportMolplotError } from "./report";
/** Outcome of reading the author-embedded Vega-Lite spec. */
export type SpecRead = {
spec: VegaLiteSpec;
reason?: undefined;
cause?: undefined;
} | {
spec: null;
reason: "empty" | "invalid-json";
cause?: unknown;
};
/**
* Read the Vega-Lite spec an author embedded in a ``. Prefers
* the first child `