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/dist/layout.d.ts CHANGED
@@ -45,6 +45,13 @@ export declare function makeIntrinsicCache(): IntrinsicCache;
45
45
  export declare function layoutNode(node: LayoutNode, availableWidth: number, availableHeight: number | undefined, parentX: number, parentY: number, widthMode: SizingMode, cache: IntrinsicCache, forced?: {
46
46
  width?: number | undefined;
47
47
  height?: number | undefined;
48
+ /** Second-pass auto-gutter reservation (see the scrollRange block):
49
+ * an overflowing `auto` axis re-lays out once WITH its gutter and
50
+ * keeps it regardless of the new extent — no oscillation. */
51
+ gutter?: {
52
+ right: boolean;
53
+ bottom: boolean;
54
+ };
48
55
  }): void;
49
56
  export declare function clampSize(value: number, min: number, max: number | undefined): number;
50
57
  /** A single-column text leaf's wrapped lines with their vertical
@@ -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":"multicol.d.ts","sourceRoot":"","sources":["../src/multicol.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EACV,SAAS,EACT,MAAM,EACN,UAAU,EACV,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAuBpB;;oDAEoD;AACpD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAK9F;AAED;;;;gDAIgD;AAChD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAMxF;AAED;gEACgE;AAChE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,MAAM,GAAG,SAAS,CAIpB;AAYD;;;2CAG2C;AAC3C,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAKpD;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACzC,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,oBAAoB,CAmCtB;AAwID;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAoBjD;AAED;;2DAE2D;AAC3D,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAkCN;AAgRD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACpB,MAAM,CA2QR"}
1
+ {"version":3,"file":"multicol.d.ts","sourceRoot":"","sources":["../src/multicol.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EACV,SAAS,EACT,MAAM,EACN,UAAU,EACV,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAuBpB;;oDAEoD;AACpD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAK9F;AAED;;;;gDAIgD;AAChD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAMxF;AAED;gEACgE;AAChE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,MAAM,GAAG,SAAS,CAIpB;AAYD;;;2CAG2C;AAC3C,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAKpD;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACzC,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,oBAAoB,CAmCtB;AAwID;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAoBjD;AAED;;2DAE2D;AAC3D,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAkCN;AAkRD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACpB,MAAM,CA2QR"}
@@ -10,7 +10,8 @@ import type { LayoutNode } from "./types.ts";
10
10
  * way the browser would paint it (same border-run and word-wrap code), minus
11
11
  * colors and fonts.
12
12
  *
13
- * Content that overflows the root box is clipped at the grid edges.
13
+ * The grid covers the layout's ink extent (layoutRoot grows the root
14
+ * to it); ink above or left of the origin has no cells and is dropped.
14
15
  */
15
16
  export declare function renderPlainText(root: LayoutNode): string;
16
17
  /** Per-cell paint; every field optional so spans only carry what
@@ -19,7 +20,9 @@ export declare function renderPlainText(root: LayoutNode): string;
19
20
  * neutralized in styles.css so the grid owns backgrounds outright). */
20
21
  export interface CellPaint {
21
22
  color?: string;
22
- backgroundColor?: string;
23
+ /** `string | undefined` (not just optional): a bg-clear fill merges
24
+ * an EXPLICIT undefined over the cell to erase the bg beneath. */
25
+ backgroundColor?: string | undefined;
23
26
  fontWeight?: string;
24
27
  fontStyle?: string;
25
28
  textDecorationLine?: string;
@@ -46,4 +49,13 @@ export declare function applyCellPaint(paint: CellPaint, style: CSSStyleDeclarat
46
49
  /** True when a segment carries no paint — the DOM adapter emits a bare
47
50
  * text node for these instead of an empty <span>. */
48
51
  export declare function isBarePaint(paint: CellPaint): boolean;
52
+ /** Thumb geometry on a bar `trackLen` cells long: proportional to the
53
+ * visible fraction, but shrunk until every scroll offset gets its own
54
+ * thumb position (`trackLen − max` cells at most, one at least) — so a
55
+ * scrollable bar always shows track, and each step moves the thumb
56
+ * while the track has room. Shared with thumb dragging (element.ts). */
57
+ export declare function thumbSpan(trackLen: number, size: number, max: number, offset: number): {
58
+ at: number;
59
+ len: number;
60
+ };
49
61
  //# sourceMappingURL=plain-text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plain-text.d.ts","sourceRoot":"","sources":["../src/plain-text.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAIxD;AAED;;;uEAGuE;AACvE,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;sEAGkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;iCAEiC;AACjC,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;qCAEqC;AACrC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,EAAE,CAGpE;AAoBD,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CASzE;AAED;uEACuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAOjF;AAED;qDACqD;AACrD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CASrD"}
1
+ {"version":3,"file":"plain-text.d.ts","sourceRoot":"","sources":["../src/plain-text.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAIxD;AAED;;;uEAGuE;AACvE,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;sEACkE;IAClE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;sEAGkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;iCAEiC;AACjC,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;qCAEqC;AACrC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,EAAE,CAGpE;AAoBD,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CASzE;AAED;uEACuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAOjF;AAED;qDACqD;AACrD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CASrD;AA0QD;;;;wEAIwE;AACxE,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAM7B"}
package/dist/pointer.d.ts CHANGED
@@ -6,11 +6,20 @@ import type { LayoutNode } from "./types.ts";
6
6
  * match — the engine derives them from the pointer's cell instead,
7
7
  * leaving every event on the grid (selection stays intact).
8
8
  */
9
- /** The elements under a cell, outermost first: the innermost node
10
- * whose border-box covers the cell, plus its ancestors — native
11
- * :hover marks the whole chain, so the synthesized attribute does
12
- * too. Overlapping siblings resolve to the TOPMOST in paint order
13
- * (z-index, document-order ties), matching what the grid shows at
14
- * that cell. */
9
+ export interface HitEntry {
10
+ node: LayoutNode;
11
+ /** The node's PAINTED border-box origin, in absolute cells
12
+ * (ancestor scroll offsets applied). */
13
+ x: number;
14
+ y: number;
15
+ }
16
+ /** 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. */
22
+ export declare function hitStack(root: LayoutNode, col: number, row: number): HitEntry[];
23
+ /** The hit stack's elements — what the synthesized states mark. */
15
24
  export declare function hitChain(root: LayoutNode, col: number, row: number): Element[];
16
25
  //# sourceMappingURL=pointer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../src/pointer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;GAMG;AAEH;;;;;gBAKgB;AAChB,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CA0B9E"}
1
+ {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../src/pointer.ts"],"names":[],"mappings":"AACA,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,CA4B/E;AAED,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAE9E"}
package/dist/sort.js CHANGED
@@ -544,5 +544,5 @@ ${n}`)}}))c.get(e)?.(_);for(let e of d)e(_);if(f){let t=[];for(let[e,n]of _.them
544
544
  --radius: 0.25rem;
545
545
  --max-width-prose: 65ch;
546
546
  }
547
- `,To=`@property --mw-rule-x-width{syntax:"<length>";inherits:false;initial-value:0}@property --mw-rule-y-width{syntax:"<length>";inherits:false;initial-value:0}@property --mw-rule-x-style{syntax:"solid|dashed|dotted|double";inherits:false;initial-value:solid}@property --mw-rule-y-style{syntax:"solid|dashed|dotted|double";inherits:false;initial-value:solid}@property --mw-rule-x-color{syntax:"*";inherits:false}@property --mw-rule-y-color{syntax:"*";inherits:false}@utility rule-x-*{--mw-rule-x-width: calc(--value("0", "2", "3", "4", integer) * 1px); --mw-rule-x-width: --value([*], --default(1px)); column-rule-width: var(--mw-rule-x-width);}@utility rule-y-*{--mw-rule-y-width: calc(--value("0", "2", "3", "4", integer) * 1px); --mw-rule-y-width: --value([*], --default(1px)); row-rule-width: var(--mw-rule-y-width);}@utility rule-*{--mw-rule-x-width: calc(--value("0", "2", "3", "4", integer) * 1px); --mw-rule-x-width: --value([length], --default(1px)); --mw-rule-y-width: calc(--value("0", "2", "3", "4", integer) * 1px); --mw-rule-y-width: --value([length], --default(1px)); column-rule-width: var(--mw-rule-x-width); row-rule-width: var(--mw-rule-y-width); --mw-rule-x-color: --value(--color-*, [color]); --mw-rule-y-color: --value(--color-*, [color]); column-rule-color: var(--mw-rule-x-color); row-rule-color: var(--mw-rule-y-color);}@utility rule-solid{column-rule-style: solid; row-rule-style: solid; --mw-rule-x-style: solid; --mw-rule-y-style: solid;}@utility rule-dashed{column-rule-style: dashed; row-rule-style: dashed; --mw-rule-x-style: dashed; --mw-rule-y-style: dashed;}@utility rule-dotted{column-rule-style: dotted; row-rule-style: dotted; --mw-rule-x-style: dotted; --mw-rule-y-style: dotted;}@utility rule-double{column-rule-style: double; row-rule-style: double; --mw-rule-x-style: double; --mw-rule-y-style: double;}@property --mw-rule-break{syntax:"none|normal|intersection";inherits:false;initial-value:normal}@property --mw-rule-inset{syntax:"<length>|overlap-join";inherits:false;initial-value:0}@property --mw-rule-visibility-items{syntax:"normal|all|around|between";inherits:false;initial-value:normal}@utility rule-break-none{rule-break: none; --mw-rule-break: none;}@utility rule-break-normal{rule-break: normal; --mw-rule-break: normal;}@utility rule-break-intersection{rule-break: intersection; --mw-rule-break: intersection;}@utility rule-inset-*{--mw-rule-inset: calc(--value("0", "1", "2", "3", "4", integer) * 1px); --mw-rule-inset: --value([*]); rule-inset: var(--mw-rule-inset);}@utility rule-inset-overlap-join{rule-inset: overlap-join; --mw-rule-inset: overlap-join;}@utility rule-visibility-all{rule-visibility-items: all; --mw-rule-visibility-items: all;}@utility rule-visibility-around{rule-visibility-items: around; --mw-rule-visibility-items: around;}@utility rule-visibility-between{rule-visibility-items: between; --mw-rule-visibility-items: between;}@utility bg-clear{background-color: transparent; --mw-bg-clear: 1;}@property --mw-bg-clear{syntax:"<integer>";inherits:false;initial-value:0}@utility borders-default{--mw-border-glyphs: default;}@utility borders-rounded{--mw-border-glyphs: rounded;}@utility borders-ascii{--mw-border-glyphs: ascii;}@utility borders-single{--mw-border-glyphs: single;}@utility borders-blocks{--mw-border-glyphs: blocks;}@utility borders-cp437{--mw-border-glyphs: cp437;}`,Eo=null;Co(`${wo}\n${To}`).then(e=>{Eo=e});function Do(e){let t=e.split(/\s+/).filter(Boolean);return!Eo||t.length<2?t.join(` `):Eo.getClassOrder(t).sort(([,e],[,t])=>e===t?0:e===null?-1:t===null?1:e<t?-1:1).map(([e])=>e).join(` `)}Object.assign(globalThis,{monowind:{...globalThis.monowind,sortClasses:Do}})})();
547
+ `,To=`@property --mw-rule-x-width{syntax:"<length>";inherits:false;initial-value:0}@property --mw-rule-y-width{syntax:"<length>";inherits:false;initial-value:0}@property --mw-rule-x-style{syntax:"solid|dashed|dotted|double";inherits:false;initial-value:solid}@property --mw-rule-y-style{syntax:"solid|dashed|dotted|double";inherits:false;initial-value:solid}@property --mw-rule-x-color{syntax:"*";inherits:false}@property --mw-rule-y-color{syntax:"*";inherits:false}@utility rule-x-*{--mw-rule-x-width: calc(--value("0", "2", "3", "4", integer) * 1px); --mw-rule-x-width: --value([*], --default(1px)); column-rule-width: var(--mw-rule-x-width);}@utility rule-y-*{--mw-rule-y-width: calc(--value("0", "2", "3", "4", integer) * 1px); --mw-rule-y-width: --value([*], --default(1px)); row-rule-width: var(--mw-rule-y-width);}@utility rule-*{--mw-rule-x-width: calc(--value("0", "2", "3", "4", integer) * 1px); --mw-rule-x-width: --value([length], --default(1px)); --mw-rule-y-width: calc(--value("0", "2", "3", "4", integer) * 1px); --mw-rule-y-width: --value([length], --default(1px)); column-rule-width: var(--mw-rule-x-width); row-rule-width: var(--mw-rule-y-width); --mw-rule-x-color: --value(--color-*, [color]); --mw-rule-y-color: --value(--color-*, [color]); column-rule-color: var(--mw-rule-x-color); row-rule-color: var(--mw-rule-y-color);}@utility rule-solid{column-rule-style: solid; row-rule-style: solid; --mw-rule-x-style: solid; --mw-rule-y-style: solid;}@utility rule-dashed{column-rule-style: dashed; row-rule-style: dashed; --mw-rule-x-style: dashed; --mw-rule-y-style: dashed;}@utility rule-dotted{column-rule-style: dotted; row-rule-style: dotted; --mw-rule-x-style: dotted; --mw-rule-y-style: dotted;}@utility rule-double{column-rule-style: double; row-rule-style: double; --mw-rule-x-style: double; --mw-rule-y-style: double;}@property --mw-rule-break{syntax:"none|normal|intersection";inherits:false;initial-value:normal}@property --mw-rule-inset{syntax:"<length>|overlap-join";inherits:false;initial-value:0}@property --mw-rule-visibility-items{syntax:"normal|all|around|between";inherits:false;initial-value:normal}@utility rule-break-none{rule-break: none; --mw-rule-break: none;}@utility rule-break-normal{rule-break: normal; --mw-rule-break: normal;}@utility rule-break-intersection{rule-break: intersection; --mw-rule-break: intersection;}@utility rule-inset-*{--mw-rule-inset: calc(--value("0", "1", "2", "3", "4", integer) * 1px); --mw-rule-inset: --value([*]); rule-inset: var(--mw-rule-inset);}@utility rule-inset-overlap-join{rule-inset: overlap-join; --mw-rule-inset: overlap-join;}@utility rule-visibility-all{rule-visibility-items: all; --mw-rule-visibility-items: all;}@utility rule-visibility-around{rule-visibility-items: around; --mw-rule-visibility-items: around;}@utility rule-visibility-between{rule-visibility-items: between; --mw-rule-visibility-items: between;}@utility bg-clear{background-color: transparent; --mw-bg-clear: 1;}@property --mw-bg-clear{syntax:"<integer>";inherits:false;initial-value:0}@utility borders-default{--mw-border-glyphs: default;}@utility borders-rounded{--mw-border-glyphs: rounded;}@utility borders-ascii{--mw-border-glyphs: ascii;}@utility borders-single{--mw-border-glyphs: single;}@utility borders-blocks{--mw-border-glyphs: blocks;}@utility borders-cp437{--mw-border-glyphs: cp437;}@utility scrollbar-*{--mw-scrollbar-x-size: --value(integer); --mw-scrollbar-y-size: --value(integer);}@utility scrollbar-x-*{--mw-scrollbar-x-size: --value(integer);}@utility scrollbar-y-*{--mw-scrollbar-y-size: --value(integer);}@property --mw-scrollbar-x-size{syntax:"<integer>";inherits:false;initial-value:1}@property --mw-scrollbar-y-size{syntax:"<integer>";inherits:false;initial-value:1}`,Eo=null;Co(`${wo}\n${To}`).then(e=>{Eo=e});function Do(e){let t=e.split(/\s+/).filter(Boolean);return!Eo||t.length<2?t.join(` `):Eo.getClassOrder(t).sort(([,e],[,t])=>e===t?0:e===null?-1:t===null?1:e<t?-1:1).map(([e])=>e).join(` `)}Object.assign(globalThis,{monowind:{...globalThis.monowind,sortClasses:Do}})})();
548
548
  //# sourceMappingURL=sort.js.map