monowind 0.2.8 → 0.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;;;;;cAQc;AACd,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAUrF;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;;;;;cAQc;AACd,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CA4BrF;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
package/dist/paint.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import type { GlyphBoxes } from "./glyph-box.ts";
2
2
  import type { RenderOptions } from "./plain-text.ts";
3
3
  import type { LayoutNode } from "./types.ts";
4
+ /** What the painter asks of the glyph cache. */
5
+ export type PaintGlyphs = Pick<GlyphBoxes, "box" | "shift">;
4
6
  export interface PaintOptions {
5
7
  /** Defer structural rebuilds while a primary press is down. */
6
8
  holdStructural?: boolean;
7
- glyphs?: GlyphBoxes;
9
+ glyphs?: PaintGlyphs;
8
10
  selection?: RenderOptions["selection"];
9
11
  }
10
12
  /** Returns false when the paint was HELD: the caller asked to defer
@@ -17,5 +19,4 @@ export declare function paintedCell(target: HTMLElement, col: number, row: numbe
17
19
  * rows are joined by newlines, and a cell's code units are its cluster's
18
20
  * — none for a continuation cell. Clamped to the grid. */
19
21
  export declare function gridOffsetAt(target: HTMLElement, col: number, row: number): number;
20
- export declare function nodeAtOffset(target: HTMLElement, offset: number): [Text, number] | null;
21
22
  //# sourceMappingURL=paint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../src/paint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAoC7C,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CACxC;AAQD;;0DAE0D;AAC1D,wBAAgB,SAAS,CACvB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAgET;AAuBD,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7F;AA6CD;;0DAE0D;AAC1D,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUlF;AAkED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAUvF"}
1
+ {"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../src/paint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAoC7C,gDAAgD;AAChD,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CACxC;AAQD;;0DAE0D;AAC1D,wBAAgB,SAAS,CACvB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAgET;AAwBD,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7F;AA+DD;;0DAE0D;AAC1D,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUlF"}
@@ -78,6 +78,17 @@ export declare function applyCellPaint(paint: CellPaint, style: CSSStyleDeclarat
78
78
  /** True when a segment carries no paint — the DOM adapter emits a bare
79
79
  * text node for these instead of an empty <span>. */
80
80
  export declare function isBarePaint(paint: CellPaint): boolean;
81
+ /** The cells a clipping container's content shows through, in
82
+ * absolute cells (specs/scrolling.md): its padding box on each
83
+ * clipping axis, the gutter excluded, unbounded on a visible axis;
84
+ * null for a container clipping neither. The paint culls ink here and
85
+ * hit-testing stops descending here. */
86
+ export declare function clipBounds(node: LayoutNode, absX: number, absY: number): {
87
+ x0: number;
88
+ y0: number;
89
+ x1: number;
90
+ y1: number;
91
+ } | null;
81
92
  /** Whether a cell lies on one of a fragmented leaf's line boxes — the
82
93
  * hit test for paragraph-flow multicol children, whose `localRect` is
83
94
  * the shared container box (specs/multicol.md): each line covers its
@@ -1 +1 @@
1
- {"version":3,"file":"plain-text.d.ts","sourceRoot":"","sources":["../src/plain-text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plain-text.d.ts","sourceRoot":"","sources":["../src/plain-text.ts"],"names":[],"mappings":"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"}
package/dist/pointer.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { LayoutNode } from "./types.ts";
1
+ import type { LayoutNode, Rect } from "./types.ts";
2
2
  /**
3
3
  * Cell hit-testing for the synthesized pointer states
4
4
  * (specs/cell-model.md "Pointer states"): under select="grid" the
@@ -13,12 +13,17 @@ export interface HitEntry {
13
13
  x: number;
14
14
  y: number;
15
15
  }
16
+ /** A node's hit rect in absolute cells (specs/scrolling.md
17
+ * "Hit-testing follows the ink"): its border box, grown to a text
18
+ * leaf's ink where an unwrapped line runs past it on a visible axis. */
19
+ export declare function hitRect(node: LayoutNode, x: number, y: number): Rect;
16
20
  /** The nodes under a cell with their painted origins, outermost
17
- * first: the innermost node whose border-box covers the cell, plus
18
- * its ancestors — native :hover marks the whole chain, so the
19
- * synthesized attribute does too. Overlapping siblings resolve to the
20
- * TOPMOST in paint order (z-index, document-order ties), matching
21
- * what the grid shows at that cell. */
21
+ * first: the innermost node whose hit rect covers the cell, plus its
22
+ * ancestors — native :hover marks the whole chain, so the synthesized
23
+ * attribute does too. Overlapping siblings resolve to the TOPMOST in
24
+ * paint order (z-index, document-order ties), matching what the grid
25
+ * shows at that cell; the descent stops where a clipping container's
26
+ * paint does. */
22
27
  export declare function hitStack(root: LayoutNode, col: number, row: number): HitEntry[];
23
28
  /** Inside an `inert` subtree: absent for user interaction, as natively
24
29
  * — no hover, no wheel routing, no thumb drag, no focus, no text
@@ -27,13 +32,27 @@ export declare function isInert(element: Element): boolean;
27
32
  /** The hit stack's elements — what the synthesized states mark — cut
28
33
  * at the first inert one, where native :hover stops too. */
29
34
  export declare function hitChain(root: LayoutNode, col: number, row: number): Element[];
35
+ /** The cells a scroller moves toward a pointer past its box
36
+ * (specs/wide-characters.md "auto-scrolls"): the distance past each
37
+ * edge in whole cells, rounded up; zero on an axis the pointer is
38
+ * inside. */
39
+ export declare function scrollStep(box: Pick<DOMRectReadOnly, "left" | "top" | "right" | "bottom">, point: {
40
+ x: number;
41
+ y: number;
42
+ }, cell: {
43
+ width: number;
44
+ height: number;
45
+ }): {
46
+ x: number;
47
+ y: number;
48
+ };
30
49
  /** The cells to try for the character nearest `(col, row)`, in the
31
50
  * order the browser's closest-position rule would (specs/
32
51
  * wide-characters.md): the cell itself, then its row leftward — a hit
33
52
  * there is the point AFTER that character — and rightward (BEFORE it),
34
53
  * then the rows above and below, farther out each step, an upper row
35
- * from its end and a lower one from its start. The cell is clamped to
36
- * the grid, so a pointer past the host runs to the text's ends. */
54
+ * from its end and a lower one from its start, all inside a box of
55
+ * `width × height` cells the cell is clamped into. */
37
56
  export declare function nearestCells(width: number, height: number, col: number, row: number): Generator<{
38
57
  x: number;
39
58
  y: number;
@@ -1 +1 @@
1
- {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../src/pointer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;GAMG;AAEH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB;4CACwC;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;uCAKuC;AACvC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CA6B/E;AAED;;gBAEgB;AAChB,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAGjD;AAED;4DAC4D;AAC5D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAO9E;AAED;;;;;;mEAMmE;AACnE,wBAAiB,YAAY,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,SAAS,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;CAAE,CAAC,CAWrE"}
1
+ {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../src/pointer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;GAMG;AAEH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB;4CACwC;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;wEAEwE;AACxE,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAUpE;AAED;;;;;;iBAMiB;AACjB,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CA8B/E;AAMD;;gBAEgB;AAChB,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAGjD;AAED;4DAC4D;AAC5D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAQ9E;AAED;;;aAGa;AACb,wBAAgB,UAAU,CACxB,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC,EAC/D,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAO1B;AAED;;;;;;sDAMsD;AACtD,wBAAiB,YAAY,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,SAAS,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;CAAE,CAAC,CAWrE"}
@@ -7,14 +7,28 @@ import type { LayoutNode } from "./types.ts";
7
7
  */
8
8
  /** Negative when point `a` precedes point `b` in DOM order, 0 when equal. */
9
9
  export declare function comparePoints(aNode: Node, aOffset: number, bNode: Node, bOffset: number): number;
10
+ /** A custom leaf's transcript: the node its `selectionTarget` names
11
+ * when that node holds the leaf's text verbatim (specs/leaf-renderers.md)
12
+ * — a text-mode drag, the painted highlight, and the copy then read
13
+ * positions in it as indices into `leaf.text`. */
14
+ export declare function transcriptOf(leaf: LayoutNode): Node | null;
15
+ /** The text node and offset `offset` code units into `container`'s
16
+ * text; past the end, the last node's end. */
17
+ export declare function textPositionAt(container: Node, offset: number): [Text, number] | null;
18
+ /** A boundary point inside `container` as code units into its text —
19
+ * a Range does the flattening: its string is exactly the text between
20
+ * the container's start and the point. Null outside it. */
21
+ export declare function textOffsetOf(container: Node, node: Node, offset: number): number | null;
10
22
  /** The index into `leaf.text` of the character at or after a DOM
11
23
  * boundary point: a point inside a collapsed whitespace run is that
12
24
  * run's space, a point past a node's mapped characters is the next
13
- * mapped index (or `text.length`), and a point inside an atomic inline
14
- * box's subtree is the box's U+FFFC marker. */
25
+ * mapped index (or `text.length`), a point inside an atomic inline
26
+ * box's subtree is the box's U+FFFC marker, and a point in a custom
27
+ * leaf's transcript its offset there. */
15
28
  export declare function charIndexAt(leaf: LayoutNode, container: Node, offset: number): number;
16
29
  /** The DOM position of `leaf.text[index]` (or of the end of the run
17
- * ending there); null for a character with no source position. */
30
+ * ending there) in a custom leaf's transcript when it has one; null
31
+ * for a character with no source position. */
18
32
  export declare function positionOf(leaf: LayoutNode, index: number): {
19
33
  node: Text;
20
34
  offset: number;
@@ -26,18 +40,22 @@ export interface BoundaryPoints {
26
40
  endOffset: number;
27
41
  }
28
42
  /** The document Selection's first range as seen through `shadowRoot`
29
- * (`getComposedRanges` on Firefox/WebKit and standards-path Chromium;
30
- * `ShadowRoot.getSelection()` as the legacy Chromium fallback —
31
- * verified 2026-09-01). A selection inside some OTHER shadow root (a
32
- * custom leaf's transcript) comes back retargeted onto that root's
33
- * host, which is exactly the light-tree range around the leaf. Any API
34
- * surprise reads as no selection, never an error. */
35
- export declare function selectionRangeThrough(shadowRoot: ShadowRoot): BoundaryPoints | null;
43
+ * and the `leafRoots` (`getComposedRanges` on Firefox/WebKit and
44
+ * standards-path Chromium; `ShadowRoot.getSelection()` as the legacy
45
+ * Chromium fallback — verified 2026-09-01). A selection inside a shadow
46
+ * root not listed comes back retargeted onto that root's host, which
47
+ * is exactly the light-tree range around it; listing a custom leaf's
48
+ * transcript root keeps the points inside it. Any API surprise reads
49
+ * as no selection, never an error. */
50
+ export declare function selectionRangeThrough(shadowRoot: ShadowRoot, leafRoots?: ShadowRoot[]): BoundaryPoints | null;
36
51
  /** Where a selection lives relative to a host: in its shadow `grid`,
37
52
  * in its light DOM (both points, the host's own child list included),
38
53
  * or anywhere else — including straddling the two. */
39
54
  export type SelectionKind = "grid" | "light" | "outside";
40
55
  export declare function classifySelection(host: Element, grid: Element, range: BoundaryPoints): SelectionKind;
56
+ /** The shadow roots of the custom leaves with transcripts under
57
+ * `root`, for `selectionRangeThrough`. */
58
+ export declare function leafShadowRoots(root: LayoutNode): ShadowRoot[];
41
59
  /** The text leaves a light-DOM range reaches, each with the character
42
60
  * range the paint inverts (specs/wide-characters.md "The grid paints
43
61
  * the selection"): a leaf inside the range whole, a boundary leaf from
@@ -1 +1 @@
1
- {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;;GAKG;AAEH,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAShG;AAED;;;;+CAI+C;AAC/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBrF;AAED;kEACkE;AAClE,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAajG;AAID,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;qDAMqD;AACrD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,GAAG,IAAI,CAgBnF;AAED;;sDAEsD;AACtD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,cAAc,GACpB,aAAa,CAKf;AAID;;;yDAGyD;AACzD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,cAAc,GACrB,GAAG,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAyBjD;AASD;;;;;;;uBAOuB;AACvB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAOnF;AAqED,UAAU,KAAK;IACb,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;+DAC+D;AAC/D,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CA4BhF;AAED;uDACuD;AACvD,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAMpD;AAuDD;;;qCAGqC;AACrC,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAe7F"}
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;;GAKG;AAEH,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAShG;AAED;;;kDAGkD;AAClD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAG1D;AAED;8CAC8C;AAC9C,wBAAgB,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CASrF;AAED;;2DAE2D;AAC3D,wBAAgB,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvF;AAWD;;;;;yCAKyC;AACzC,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA4BrF;AAED;;8CAE8C;AAC9C,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkBjG;AAID,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;sCAOsC;AACtC,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,UAAU,EAAO,GAC3B,cAAc,GAAG,IAAI,CAgBvB;AAED;;sDAEsD;AACtD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,cAAc,GACpB,aAAa,CAKf;AAcD;0CAC0C;AAC1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,CAS9D;AA0BD;;;yDAGyD;AACzD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,cAAc,GACrB,GAAG,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CA8BjD;AASD;;;;;;;uBAOuB;AACvB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CASnF;AAsED,UAAU,KAAK;IACb,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;+DAC+D;AAC/D,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CA4BhF;AA2BD;uDACuD;AACvD,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAMpD;AAuDD;;;qCAGqC;AACrC,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAe7F"}
package/dist/style.d.ts CHANGED
@@ -30,6 +30,13 @@ export declare function readTextStyle(el: Element, cs: CSSStyleDeclaration, root
30
30
  * root's own letter-spacing is part of the cell, so only the excess over
31
31
  * it (inherited by default) counts. */
32
32
  export declare function trackingCells(letterSpacing: string, fontSizePx: number, rootLetterSpacingPx: number): number;
33
+ /** Empty rows between wrapped lines: floor(line-height ÷ font-size) − 1,
34
+ * never negative. Computed line-height is always px (or `normal`); the
35
+ * divisor is FONT-SIZE, not cell-height, so unitless ratios keep their
36
+ * CSS meaning (`leading-loose` = 2 → 2 rows per line, 1 gap) even when
37
+ * cell-height ≠ 1em (default `line-height: normal` on the root makes
38
+ * the cell ~1.15em). */
39
+ export declare function lineGapRows(lineHeight: string, fontSizePx: number): number;
33
40
  /**
34
41
  * Parse a computed `grid-template-columns` / `grid-template-rows` value
35
42
  * (specs/grid.md). Expected on a NON-grid element (see the degrid read in
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,QAAQ,EAIR,WAAW,EACX,SAAS,EAIT,SAAS,EAET,QAAQ,EACR,YAAY,EAUb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,OAAO,EACX,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,WAAW,GACpB,SAAS,CAqQX;AA8BD;;;;iBAIiB;AACjB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASzD;AAmFD;;;qDAGqD;AACrD,wBAAgB,YAAY,CAAC,EAAE,EAAE,mBAAmB,GAAG,QAAQ,CAM9D;AAqED;6DAC6D;AAC7D,wBAAgB,aAAa,CAC3B,EAAE,EAAE,OAAO,EACX,EAAE,EAAE,mBAAmB,EACvB,cAAc,EAAE,MAAM,GACrB,IAAI,CACL,SAAS,EACP,YAAY,GACZ,SAAS,GACT,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,WAAW,GACX,YAAY,CACf,CAkBA;AAqLD;;;uCAGuC;AACvC,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAC1B,MAAM,CAKR;AAufD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,YAAY,CAsDtF;AAgCD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAoCtE;AA8GD;;yEAEyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CA0BrD"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,QAAQ,EAIR,WAAW,EACX,SAAS,EAIT,SAAS,EAET,QAAQ,EACR,YAAY,EAUb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,OAAO,EACX,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,WAAW,GACpB,SAAS,CAqQX;AA8BD;;;;iBAIiB;AACjB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASzD;AAmFD;;;qDAGqD;AACrD,wBAAgB,YAAY,CAAC,EAAE,EAAE,mBAAmB,GAAG,QAAQ,CAM9D;AAqED;6DAC6D;AAC7D,wBAAgB,aAAa,CAC3B,EAAE,EAAE,OAAO,EACX,EAAE,EAAE,mBAAmB,EACvB,cAAc,EAAE,MAAM,GACrB,IAAI,CACL,SAAS,EACP,YAAY,GACZ,SAAS,GACT,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,WAAW,GACX,YAAY,CACf,CAkBA;AAqLD;;;uCAGuC;AACvC,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAC1B,MAAM,CAKR;AAED;;;;;wBAKwB;AACxB,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAK1E;AAueD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,YAAY,CAsDtF;AAgCD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAoCtE;AA8GD;;yEAEyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CA0BrD"}
package/dist/tree.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { CellMetrics, LayoutNode } from "./types.ts";
1
+ import type { CellMetrics, CellStyle, LayoutNode } from "./types.ts";
2
2
  /** Per-textarea content width in cells, captured by the host BEFORE
3
3
  * the measuring attribute goes on — the engine's width rule is off
4
4
  * during measuring, so `textarea.clientWidth` read then would reflect
@@ -20,8 +20,8 @@ export type TextareaWidths = Map<HTMLTextAreaElement, number>;
20
20
  * (`<div>hello <span>world</span></div>`) participate in the wrap
21
21
  * calculation and render correctly.
22
22
  * - Elements with at least one in-flow block-level element child become
23
- * **containers** and recurse. Direct text nodes on containers (uncommon
24
- * in utility-first markup) are not laid out — a documented deviation.
23
+ * **containers** and recurse; the text beside those children forms
24
+ * anonymous runs (`buildChildren`, specs/cell-model.md "Inline content").
25
25
  * - The host follows the same rule through `buildRootLeaf`
26
26
  * (specs/host-leaf.md).
27
27
  *
@@ -29,17 +29,24 @@ export type TextareaWidths = Map<HTMLTextAreaElement, number>;
29
29
  * tracking; absent in headless tests (see readCellStyle).
30
30
  */
31
31
  export declare function buildTree(root: Element, rootFontSizePx: number, cellMetrics?: CellMetrics, textareaWidths?: TextareaWidths): LayoutNode | null;
32
+ /** A container's children in document order (specs/cell-model.md
33
+ * "Inline content"): each block-level element a node, and each maximal
34
+ * run of inline content between them — text, inline elements, atomic
35
+ * boxes, any out-of-flow element among them — an anonymous leaf in
36
+ * `runStyle`, the container's own text style unless given (the host's,
37
+ * specs/host-leaf.md). A stretch of nothing but whitespace and
38
+ * out-of-flow elements is no run: those elements are the container's
39
+ * own positioned children. */
40
+ export declare function buildChildren(container: Element, nodes: ChildNode[], rootFontSizePx: number, cellMetrics?: CellMetrics, textareaWidths?: TextareaWidths, runStyle?: CellStyle): LayoutNode[];
32
41
  /** The host's own inline content as the ROOT leaf (specs/host-leaf.md):
33
42
  * null when an element child is block-level (the host is a container)
34
43
  * or there is no inline content at all (the empty root). The metrics
35
44
  * probe is never part of the run. */
36
45
  export declare function buildRootLeaf(host: Element, rootFontSizePx: number, cellMetrics?: CellMetrics, textareaWidths?: TextareaWidths): LayoutNode | null;
37
- /** True if `el` has any direct text child that isn't just whitespace. */
38
- export declare function hasDirectText(el: Element): boolean;
39
- /** Author-facing warning when direct text can't be laid out alongside
40
- * block children shared by the nested-container path here and the
41
- * host-level path in element.ts. */
42
- export declare const DIRECT_TEXT_DROPPED: string;
46
+ /** The style of the host's own text (specs/host-leaf.md): its text
47
+ * properties on no box, with no tracking or line gap — the host's
48
+ * letter-spacing and line-height are the cell. */
49
+ export declare function hostLeafStyle(host: Element, rootFontSizePx: number, metrics?: CellMetrics): CellStyle;
43
50
  /** True for tags whose value/caret/selection are handled by the browser
44
51
  * natively — the tree builder treats them as empty leaves. */
45
52
  export declare function isFormControlTag(tag: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAA4B,UAAU,EAAW,MAAM,YAAY,CAAC;AAE7F;;;;4DAI4D;AAC5D,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,UAAU,GAAG,IAAI,CAwCnB;AAQD;;;qCAGqC;AACrC,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,UAAU,GAAG,IAAI,CAWnB;AAopBD,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAIlD;AAED;;oCAEoC;AACpC,eAAO,MAAM,mBAAmB,QAE6B,CAAC;AAE9D;8DAC8D;AAC9D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAiB,UAAU,EAAW,MAAM,YAAY,CAAC;AAE7F;;;;4DAI4D;AAC5D,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,UAAU,GAAG,IAAI,CAsCnB;AAED;;;;;;;8BAO8B;AAC9B,wBAAgB,aAAa,CAC3B,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,SAAS,EAAE,EAClB,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,cAAc,EAC/B,QAAQ,CAAC,EAAE,SAAS,GACnB,UAAU,EAAE,CA2Cd;AAuBD;;;qCAGqC;AACrC,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,UAAU,GAAG,IAAI,CAWnB;AAED;;kDAEkD;AAClD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,WAAW,GACpB,SAAS,CAEX;AAmqBD;8DAC8D;AAC9D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD"}
package/dist/types.d.ts CHANGED
@@ -489,7 +489,7 @@ export interface LayoutNode {
489
489
  * `inlineBoxesOf`, the one place that pairing is read. */
490
490
  children: LayoutNode[];
491
491
  /** The leaf's text run (inline descendants included, `<br>` as `\n`).
492
- * Empty for containers their direct text nodes are not laid out. */
492
+ * Empty for containers, whose text lives in their anonymous runs. */
493
493
  text: string;
494
494
  intrinsicWidth: number;
495
495
  intrinsicHeight: number;
@@ -578,11 +578,10 @@ export interface LayoutNode {
578
578
  cols?: InheritedTracks | undefined;
579
579
  rows?: InheritedTracks | undefined;
580
580
  } | undefined;
581
- /** True on a container whose direct text nodes were dropped (mixed
582
- * text + in-flow block children cell-model deviation). The renderer
583
- * hides that text and warns instead of letting the browser paint it
584
- * unpositioned. */
585
- droppedText?: boolean;
581
+ /** An anonymous run (specs/cell-model.md "Inline content"): a
582
+ * container's inline content beside its block children, `source` the
583
+ * container, its DOM the run's own nodes (selection.ts `runNodes`). */
584
+ anonymous?: boolean;
586
585
  /** Engine-generated glyph runs in this node's local coordinates
587
586
  * (offset by its absolute position at paint time). Today: a collapsed
588
587
  * table's border lattice; future producers (css-gaps rules,
@@ -654,6 +653,11 @@ export interface LayoutNode {
654
653
  * geometry forced like a laid-out element's. Carries the quantized
655
654
  * native margins (`left` = the engine's cross offset). */
656
655
  multicolFlowSpan?: NullableInsets;
656
+ /** A mixed block container's in-flow child (specs/cell-model.md
657
+ * "Inline content"): stays in the browser's flow, engine-sized, with
658
+ * these engine margins placing it where the engine did, so the
659
+ * container's anonymous runs sit natively on their rows. */
660
+ flow?: NullableInsets;
657
661
  }
658
662
  /** A multicol text leaf's per-line fragmentation. `lineY`/`textY` are
659
663
  * COLUMN-local rows; `lineX` is the line's column's content-relative x.
@@ -691,14 +695,22 @@ export interface MulticolLeafGeometry {
691
695
  * `letterSpacing` is the root's, kept so descendant tracking can be read
692
696
  * relative to it. */
693
697
  export interface CellMetrics {
698
+ /** The cell, a whole number of 1/64 px (see metrics.ts). */
694
699
  width: number;
695
700
  height: number;
696
701
  letterSpacing: number;
702
+ /** The grid's letter-spacing: the root's plus what rounds the
703
+ * measured advance to `width`. */
704
+ gridLetterSpacing?: number;
697
705
  /** How far a glyph's ink extends past the cell's line box, in px
698
706
  * (some fonts' ascent + descent exceed their `normal` line box).
699
707
  * WebKit breaks columns at ink bottoms, so multicol leaves get this
700
708
  * much extra native column height (see styles.css). */
701
709
  inkOverhang?: number;
710
+ /** How far the line box exceeds the font's content area, in px: the
711
+ * strip an inline span's background leaves bare at each row's edge.
712
+ * The grid's spans pad by half of it (the host's `--mw-bgpad`). */
713
+ backgroundGap?: number;
702
714
  }
703
715
  export declare function defaultCellStyle(): CellStyle;
704
716
  export declare function zeroInsets(): Insets;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monowind",
3
- "version": "0.2.8",
3
+ "version": "0.2.10",
4
4
  "description": "Text-based user interfaces (TUI) on the web, from ordinary HTML and Tailwind utility classes",
5
5
  "keywords": [
6
6
  "ascii",
package/src/styles.css CHANGED
@@ -154,7 +154,16 @@
154
154
  * despite `pointer-events: none`, and would show an arrow there.
155
155
  * Interactives keep their own (UA and authored cursors win). */
156
156
  mono-wind[select="grid"]
157
- [data-mw-laid-out]:not(a, button, input, select, textarea, label, [tabindex], [role="button"]) {
157
+ :is([data-mw-laid-out], [data-mw-flow]):not(
158
+ a,
159
+ button,
160
+ input,
161
+ select,
162
+ textarea,
163
+ label,
164
+ [tabindex],
165
+ [role="button"]
166
+ ) {
158
167
  cursor: text;
159
168
  }
160
169
  }
@@ -374,9 +383,10 @@ mono-wind:not([measuring]) * {
374
383
  * on it for real and the engine samples true mid-fade values (the
375
384
  * animation loop, element.ts). Decoration ink follows `color`, so it
376
385
  * needs its own transparent lock (the grid paints decorations).
377
- * `[data-mw-leaf]` is the host with its own text as the root leaf
378
- * (specs/host-leaf.md): every rule that shapes a leaf's native text
379
- * carries this host variant render.ts writes the host's flags. */
386
+ * `[data-mw-leaf]` is the host with its own text on the grid — the root
387
+ * leaf, or a mixed host's anonymous runs (specs/host-leaf.md): every
388
+ * rule that shapes a leaf's native text carries this host variant
389
+ * render.ts writes the host's flags. */
380
390
  mono-wind:not([measuring])[data-mw-leaf],
381
391
  mono-wind:not([measuring]) *:not(input):not(textarea):not(select) {
382
392
  -webkit-text-fill-color: transparent !important;
@@ -475,7 +485,8 @@ mono-wind:not([measuring]) [data-mw-laid-out] {
475
485
  * (below). */
476
486
  mono-wind:not([measuring]) [data-mw-laid-out],
477
487
  mono-wind:not([measuring]) [data-mw-inline-box],
478
- mono-wind:not([measuring]) [data-mw-multicol-flow-span] {
488
+ mono-wind:not([measuring]) [data-mw-multicol-flow-span],
489
+ mono-wind:not([measuring]) [data-mw-flow] {
479
490
  box-sizing: border-box !important;
480
491
  /* Trailing-gap allowance: a tracked box's lines end with a phantom
481
492
  * `--mw-ls`-cell gap the engine doesn't count. Give the content box that
@@ -613,25 +624,37 @@ mono-wind:not([measuring]) [data-mw-multicol-flow] {
613
624
  * the two agree — selection ranges land exactly where the glyphs are. */
614
625
  mono-wind:not([measuring])[data-mw-leaf],
615
626
  mono-wind:not([measuring]) [data-mw-laid-out],
616
- mono-wind:not([measuring]) [data-mw-multicol-flow] {
627
+ mono-wind:not([measuring]) [data-mw-multicol-flow],
628
+ mono-wind:not([measuring]) [data-mw-flow] {
617
629
  text-indent: calc(var(--mw-ti, 0) * var(--mw-cw, 1px)) !important;
618
630
  }
619
631
 
620
- /* In-flow multicol SPANNER (specs/multicol.md): a normally laid-out box
621
- * that stays in the native flow so paragraphs fragment around it —
622
- * engine-forced geometry (the shared rule above), quantized margins,
623
- * `column-span: all`. The half-leading translate doubles as the
624
- * containing block for its absolutized descendants (a transformed box
625
- * contains them like a positioned one). */
632
+ /* Boxes that stay in the browser's flow with engine-forced geometry
633
+ * (the shared rule above) and quantized engine margins: a mixed block
634
+ * container's child, placed so the container's anonymous runs of text
635
+ * land on their rows (specs/cell-model.md "Inline content"), and an
636
+ * in-flow multicol SPANNER (specs/multicol.md), which paragraphs
637
+ * fragment around. The half-leading translate doubles as the containing
638
+ * block for their absolutized descendants (a transformed box contains
639
+ * them like a positioned one). */
640
+ mono-wind:not([measuring]) [data-mw-flow],
626
641
  mono-wind:not([measuring]) [data-mw-multicol-flow-span] {
627
642
  position: static !important;
628
- column-span: all !important;
629
643
  margin-top: calc(var(--mw-mt, 0) * var(--mw-ch, 1px)) !important;
630
644
  margin-right: 0 !important;
631
645
  margin-bottom: calc(var(--mw-mb, 0) * var(--mw-ch, 1px)) !important;
632
646
  margin-left: calc(var(--mw-ml, 0) * var(--mw-cw, 1px)) !important;
633
647
  translate: 0 calc(var(--mw-lhs, 0) * var(--mw-ch, 1px)) !important;
634
648
  }
649
+ mono-wind:not([measuring]) [data-mw-multicol-flow-span] {
650
+ column-span: all !important;
651
+ }
652
+ /* A flow child's own formatting context: its first child's top margin
653
+ * stays inside it, where the engine put that child (the shadow slot
654
+ * does the same for the host's, element.ts). */
655
+ mono-wind:not([measuring]) [data-mw-flow] {
656
+ contain: layout !important;
657
+ }
635
658
 
636
659
  /* Spanner-split paragraph flow trusts the NATIVE balancer per segment
637
660
  * (probed pixel-exact in all three engines under quantized inputs):
@@ -685,27 +708,23 @@ mono-wind:not([measuring]) [data-mw-inline-inset] {
685
708
 
686
709
  /* === Engine state attributes (warnings, hiding, alignment) =========== */
687
710
 
688
- /* A container whose direct text was dropped (mixed text + block children,
689
- * cell-model deviation): the browser would paint that text unpositioned
690
- * over the laid-out children, so hide it — the host's own through its
691
- * shadow slot (element.ts), a nested container's through itself.
692
- * `visibility` is inherited AND resettable, so the laid-out children come
693
- * back — only in this warned state, which is why the reset may also
694
- * override an authored `invisible` utility there. */
695
- mono-wind:not([measuring]) [data-mw-dropped-text] {
696
- visibility: hidden !important;
697
- }
698
- mono-wind:not([measuring])[data-mw-dropped-text] > [data-mw-laid-out],
699
- mono-wind:not([measuring]) [data-mw-dropped-text] > [data-mw-laid-out] {
700
- visibility: visible !important;
701
- }
702
-
703
711
  /* Misparented table content (no anonymous boxes, specs/table.md) and
704
712
  * <col>/<colgroup> boxes: fully hidden, subtree included. */
705
713
  mono-wind:not([measuring]) [data-mw-table-hidden] {
706
714
  display: none !important;
707
715
  }
708
716
 
717
+ /* A container whose anonymous runs are misparented table content
718
+ * (stray text in a div-table, specs/table.md): the runs have no element
719
+ * to hide, so the container hides its text, and its laid-out children
720
+ * — the rows or cells — show through the inherited value. */
721
+ mono-wind:not([measuring]) [data-mw-hidden-runs] {
722
+ visibility: hidden !important;
723
+ }
724
+ mono-wind:not([measuring]) [data-mw-hidden-runs] > [data-mw-laid-out] {
725
+ visibility: visible !important;
726
+ }
727
+
709
728
  /* Force off-grid text alignments back to `start`. `text-left`/`right`/`start`/
710
729
  * `end` all land on whole cells (offset = (W - N) × cell width); `center` and
711
730
  * `justify` produce fractional per-line offsets we can't snap to the grid. */