/** * Draws one element's anatomy on the page: an outline round the host, a * filled box per slot, and a dashed box per `::part` export. Colours come * from {@link ANATOMY_COLORS}, in the same order the details pane lists the * slots and parts, so a row and its region match. * * A `` is `display: contents` and has no box of its own. Each region * is the bounding box of what the slot renders: its assigned nodes, or its * fallback content. A slot that renders nothing gets no region; the pane * says it is empty. * * Regions are named by callouts rather than by labels on their boxes, which * crowd on a small element with many regions. The labels stand in gutters * beside the host and a leader line runs from each to its region, ending in * a dot on the box's edge. Regions with the same label (twelve clock ticks) * share one label with a leader each. The host's own label stays above it. * {@link ./anatomy-layout.ts} decides where everything goes; this module * measures, asks it, and draws. * * Everything is `position: fixed` and redrawn every frame while shown, so it * follows scrolling, resizing and slot changes without observers. Each frame * reads every box before it writes anything, and reuses its elements. * * Hovering a slot or part row in the pane focuses its region: it gains a * ring and a stronger fill, its leader thickens, and the others fade, so a * row can be found on a busy page. With the overlay off, a hovered row draws * just its own region, label and leader, in that focused style. */ import { type AnatomyFocus } from '../../../types/inspector.js'; /** Hide the anatomy. Cheap and safe before it has ever been drawn. */ export declare const clearAnatomy: () => void; /** * Draw the anatomy of the element with this id until it is cleared, the * element leaves the page, or another id replaces it. `null` and unknown ids * clear it. With `only`, draw just that region, focused, and no host box or * other regions. */ export declare const anatomyById: (id: number | null, only?: AnatomyFocus) => void; /** * Emphasise one slot or part region and fade the others, or show them all * evenly again for `null`. Takes effect on the next frame; does nothing * while no anatomy is drawn. */ export declare const focusAnatomy: (focus: AnatomyFocus | null) => void; //# sourceMappingURL=anatomy-overlay.d.ts.map