monowind 0.2.0 → 0.2.2

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.
package/README.md CHANGED
@@ -38,6 +38,19 @@ import { defineMonoWind } from "monowind";
38
38
  defineMonoWind();
39
39
  ```
40
40
 
41
+ ## Scrolling
42
+
43
+ `overflow-y-auto` (or `-scroll`, either axis) makes the element a
44
+ scroll container: the browser owns the scroll physics — wheel, touch,
45
+ keyboard, `scrollIntoView`, `scrollTop` — while the engine mirrors it
46
+ on the grid in whole-cell steps and draws the scrollbar as characters
47
+ (track `░`, thumb `█`, draggable; themable via glyph sets;
48
+ `scrollbar-color` honored and defaulting to `currentColor` like borders,
49
+ `scrollbar-width: none` honored, thickness via
50
+ `scrollbar-<n>` cells, per bar with `scrollbar-x-<n>` /
51
+ `scrollbar-y-<n>`). Scroll containers pinned to the bottom stay pinned as content
52
+ grows — chat logs need no code.
53
+
41
54
  ## Border & rule glyphs
42
55
 
43
56
  Border styles render through a **glyph set** — swap the characters
package/dist/borders.d.ts CHANGED
@@ -12,15 +12,18 @@ export type { BorderRun } from "./types.ts";
12
12
  * only vertical/horizontal runs and skip corners that would overlap.
13
13
  */
14
14
  export declare function collectBorderRuns(style: CellStyle, box: Rect, out: BorderRun[]): void;
15
- /** Where CSS applies `z-index`: positioned elements and flex/grid
16
- * items; inert on static block-flow children. */
17
- export declare function zIndexApplies(child: LayoutNode, parent: LayoutNode): boolean;
18
- /** Children in paint order (CSS 2.1 Appendix E, no floats or stacking
19
- * contexts negative z still paints over the parent): non-positioned
20
- * block, then non-positioned inline, then positioned (asc z-index).
21
- * Stable within a bucket, so DOM order breaks ties. Bucketed instead
22
- * of full-sorted so the common case (single bucket, no z-index) is
23
- * allocation-free. */
15
+ /** Whether the child paints in the positioned step (Appendix E step
16
+ * 8+): positioned elements, and flex/grid items with an explicit
17
+ * z-index (z-index applies there per CSS, but `auto` items paint as
18
+ * normal flow, steps 4-7 source order only decides among them,
19
+ * never over a positioned sibling). */
20
+ export declare function paintsInPositionedStep(child: LayoutNode, parent: LayoutNode): boolean;
21
+ /** Children in paint order (CSS 2.1 Appendix E, no floats and sibling
22
+ * stacking only): negative z-index (asc), then non-positioned block,
23
+ * then non-positioned inline, then positioned with z-index >= 0 or
24
+ * auto (asc, auto counts as 0). Stable within a bucket, so DOM order
25
+ * breaks ties. Bucketed instead of full-sorted so the common case
26
+ * (single bucket, no z-index) is allocation-free. */
24
27
  export declare function paintOrderedChildren(node: LayoutNode): LayoutNode[];
25
28
  /** A style's straight line glyph, for lattice segments. */
26
29
  export declare function lineGlyph(style: BorderStyle, axis: "h" | "v", set?: BorderGlyphSet): string;
@@ -1 +1 @@
1
- {"version":3,"file":"borders.d.ts","sourceRoot":"","sources":["../src/borders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"borders.d.ts","sourceRoot":"","sources":["../src/borders.ts"],"names":[],"mappings":"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"}