monowind 0.2.12 → 0.2.14

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.
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Computed colors as numbers (specs/gradients.md): the forms engines
3
+ * serialize — `rgb()`/`rgba()`, `oklab()`, `oklch()`, `color(srgb …)`,
4
+ * `transparent` — read to sRGB with alpha, mixed in oklab, oklch,
5
+ * srgb, srgb-linear, or hsl as CSS interpolates gradients (alpha
6
+ * premultiplied, a polar hue turned the named way), and written back
7
+ * as `rgb()`.
8
+ */
9
+ /** Gamma-encoded sRGB components and alpha, each 0..1. */
10
+ export interface Rgba {
11
+ r: number;
12
+ g: number;
13
+ b: number;
14
+ a: number;
15
+ }
16
+ export type ColorSpace = "oklab" | "oklch" | "srgb" | "srgb-linear" | "hsl";
17
+ export type HueMode = "shorter" | "longer" | "increasing" | "decreasing";
18
+ /** Parse a computed color; null for a form outside the ones engines
19
+ * serialize (a `var()`, a name, a keyword), `hsl()` among them: engines
20
+ * serialize it as `rgb()`. */
21
+ export declare function parseColor(value: string): Rgba | null;
22
+ /** Whether a color is written in a legacy syntax: CSS interpolates a
23
+ * gradient of legacy colors alone in srgb, anything else in oklab. */
24
+ export declare const isLegacyColor: (value: string) => boolean;
25
+ /** A color in its interpolation space: three coordinates and alpha;
26
+ * NaN where CSS calls a component missing — a polar hue without
27
+ * chroma, hsl's saturation at black or white. */
28
+ export interface Prepared {
29
+ c: [number, number, number];
30
+ a: number;
31
+ }
32
+ /** A color ready to mix in a space — once per stop, since a gradient
33
+ * mixes its stops at every cell. */
34
+ export declare function prepareColor({ r, g, b, a }: Rgba, space: ColorSpace): Prepared;
35
+ /** Ready a pair of stops to mix, as CSS readies each pair on its own:
36
+ * a missing component takes the other stop's, and `to`'s hue turns
37
+ * the named way round from `from`'s. Both are changed in place. */
38
+ export declare function alignPair(from: Prepared, to: Prepared, space: ColorSpace, mode: HueMode): void;
39
+ /** Mix two prepared colors at `t` (0 → `from`, 1 → `to`), alpha
40
+ * premultiplied as CSS interpolates, a hue turned as the stops were
41
+ * aligned. */
42
+ export declare function mixColors(from: Prepared, to: Prepared, t: number, space: ColorSpace): Rgba;
43
+ /** `over` composited onto `under` (source-over). */
44
+ export declare function compositeColors(over: Rgba, under: Rgba): Rgba;
45
+ /** A color as `rgb()`, the alpha written only when it is not 1. */
46
+ export declare function serializeColor({ r, g, b, a }: Rgba): string;
47
+ /** A computed color's alpha: its parsed one; for a form the parser
48
+ * leaves alone, its `/ a` when written, else 1. */
49
+ export declare function colorAlpha(color: string): number;
50
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0DAA0D;AAC1D,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC;AAC5E,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAiEzE;;8BAE8B;AAC9B,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAkDrD;AAED;sEACsE;AACtE,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,OACsB,CAAC;AAErE;;iDAEiD;AACjD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC,EAAE,MAAM,CAAC;CACX;AAsBD;oCACoC;AACpC,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,QAAQ,CAU9E;AAED;;mEAEmE;AACnE,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAmB9F;AAED;;cAEc;AACd,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CA8B1F;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAU7D;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,CAI3D;AAED;mDACmD;AACnD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAkOA,QAAA,MAAM,eAAe,EAEhB,OAAO,WAAW,CAAC;AAExB,qBAAa,eAAgB,SAAQ,eAAe;;IAClD,MAAM,CAAC,kBAAkB,WAAuB;IA4IhD,cAsBC;IAkBD,iBAAiB,IAAI,IAAI,CAoGxB;IAED,oBAAoB,IAAI,IAAI,CA4C3B;IA0oCD,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CA+B1F;IAED;;;;0DAIsD;IACtD,WAAW,IAAI,MAAM,CAIpB;CA8QF;AAED;+DAC+D;AAC/D,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF;AAyDD;;;;;;;;;yDASyD;AACzD,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,MAAM,CAMR"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAiQA,QAAA,MAAM,eAAe,EAEhB,OAAO,WAAW,CAAC;AAExB,qBAAa,eAAgB,SAAQ,eAAe;;IAClD,MAAM,CAAC,kBAAkB,WAAuB;IA+IhD,cAuBC;IAkBD,iBAAiB,IAAI,IAAI,CAqHxB;IAED,oBAAoB,IAAI,IAAI,CAiD3B;IAgwCD,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CA+B1F;IAED;;;;0DAIsD;IACtD,WAAW,IAAI,MAAM,CAIpB;CAuRF;AAED;+DAC+D;AAC/D,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF;AAyDD;;;;;;;;;yDASyD;AACzD,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,MAAM,CAMR"}
@@ -1 +1 @@
1
- {"version":3,"file":"flex.d.ts","sourceRoot":"","sources":["../src/flex.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAwB,WAAW,EAAE,MAAM,cAAc,CAAC;AAYtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AA0DhF,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,MAAM,GAAG,cAAc,GAC7B,WAAW,EAAE,CAKf;AAED;;;;GAIG;AAEH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACpB,MAAM,CAkQR;AAyBD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,OAAO,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACpB,MAAM,CAyLR;AAgDD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACpC,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CA0CV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC,EACF,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE,CA+DV;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAiB5E;AAED;kBACkB;AAClB,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,CAI7F;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM,CAIR;AA+CD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAS9E"}
1
+ {"version":3,"file":"flex.d.ts","sourceRoot":"","sources":["../src/flex.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAwB,WAAW,EAAE,MAAM,cAAc,CAAC;AAYtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AA0DhF,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,MAAM,GAAG,cAAc,GAC7B,WAAW,EAAE,CAKf;AAED;;;;GAIG;AAEH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACpB,MAAM,CAmQR;AAyBD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,OAAO,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACpB,MAAM,CA0LR;AAgDD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACpC,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CA0CV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC,EACF,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE,CA+DV;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAiB5E;AAED;kBACkB;AAClB,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,CAI7F;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM,CAIR;AA+CD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAS9E"}
package/dist/glyphs.d.ts CHANGED
@@ -47,6 +47,22 @@ export interface GlyphTable {
47
47
  * radius, the plain corner counting at 0. Registering `rounded`
48
48
  * (even empty) or a plain corner replaces the defaults' arcs. */
49
49
  rounded?: CornerBand[];
50
+ /** Weight bands by `border-width` (specs/theming.md): a border draws
51
+ * the band nearest its width, the plain table at 1px; a table
52
+ * registered for a style brings its own bands (none unless listed),
53
+ * an untouched style the defaults' heavy from 2px. */
54
+ weights?: WeightBand[];
55
+ }
56
+ /** The roles lines and junctions draw with. */
57
+ declare const LINE_ROLES: readonly ["h", "v", "tl", "tr", "bl", "br", "teeUp", "teeDown", "teeLeft", "teeRight", "cross"];
58
+ export type LineRole = (typeof LINE_ROLES)[number];
59
+ export type LineRoles = Record<LineRole, string>;
60
+ /** A weight band: the glyphs a `border-width` draws (per-glyph
61
+ * fallback to the plain table) and its thickness in `cells`, 1
62
+ * unless said — a set without heavy glyphs may draw two rings. */
63
+ export interface WeightBand extends Partial<LineRoles> {
64
+ width: number;
65
+ cells?: number;
50
66
  }
51
67
  /** Corner glyphs registered for a radius, in cells; every corner
52
68
  * optional. */
@@ -58,8 +74,10 @@ export interface CornerBand {
58
74
  br?: string;
59
75
  }
60
76
  export type BorderGlyphSet = Partial<Record<BorderStyle, GlyphTable>>;
61
- /** Register (or last-wins replace, with a warning) a glyph set.
62
- * Connected hosts relayout the shared post-hoc-registration idiom. */
77
+ /** Register (or last-wins replace, with a warning) a glyph set, frozen:
78
+ * it is read as registered (weights resolve once per set), so a change
79
+ * is a new registration. Connected hosts relayout — the shared
80
+ * post-hoc-registration idiom. */
63
81
  export declare function registerBorderGlyphs(name: string, set: BorderGlyphSet): void;
64
82
  /** Resolve a `--mw-border-glyphs` value to a set — once per
65
83
  * decoration owner, then passed into the glyph primitives. Unknown or
@@ -69,17 +87,31 @@ export declare function glyphSetFor(name: string | null | undefined): BorderGlyp
69
87
  /** Host subscription to registrations; returns the unsubscriber. */
70
88
  export declare function onGlyphRegistryChange(listener: () => void): () => void;
71
89
  /** A corner's glyph for its radius: the registration nearest it,
72
- * ties to the larger radius — `plain` at 0, and the set's `rounded`
73
- * bands, or the defaults' for a style the set leaves untouched. */
74
- export declare function cornerGlyph(style: BorderStyle, role: CornerRole, radius: number, plain: string, set?: BorderGlyphSet): string;
75
- /** A table's glyph roles: every field but the corner bands and the
76
- * shadow ramp. */
77
- export type GlyphRole = Exclude<keyof GlyphTable, "rounded" | "shadow">;
90
+ * ties to the larger radius — the weighted table's corner at 0, and
91
+ * the set's `rounded` bands, or the defaults' for a style the set
92
+ * leaves untouched. A weight band with its own corner draws it at
93
+ * any radius: heavy stays square. */
94
+ export declare function cornerGlyph(style: BorderStyle, role: CornerRole, radius: number, weighted: Weighted, set?: BorderGlyphSet): string;
78
95
  /** The role a junction bitmask (up 8 / down 4 / left 2 / right 1)
79
96
  * plays — stubs (≤1 arm per axis alone) read as plain lines. */
80
- export declare function junctionRole(mask: number): GlyphRole | null;
81
- export declare const LIGHT_JUNCTIONS: string[];
82
- export declare const DOUBLE_JUNCTIONS: string[];
97
+ export declare function junctionRole(mask: number): LineRole | null;
98
+ /** A style at a weight through a set: the line roles to draw with,
99
+ * the cells the border takes, and the band that won (null for the
100
+ * plain table). */
101
+ export interface Weighted {
102
+ readonly roles: Readonly<LineRoles>;
103
+ readonly cells: number;
104
+ readonly band: Readonly<WeightBand> | null;
105
+ }
106
+ /** A style's glyphs at a `border-width` in px (specs/theming.md): the
107
+ * band nearest the width, ties to the wider, the plain table at 1px
108
+ * counting as a band; roles fall back per glyph, band → the set's
109
+ * table → the engine's. */
110
+ export declare function weightBand(style: BorderStyle, weight: number, set?: BorderGlyphSet): Weighted;
111
+ /** The weight a side carries into a junction with another style: its
112
+ * own where its set has a band for it, else the plain one — a 2px
113
+ * double side meets a light side at a light corner. */
114
+ export declare function junctionWeight(style: BorderStyle, weight: number, set?: BorderGlyphSet): number;
83
115
  /** The shade ramp of a box's shadows through the owner's set — a
84
116
  * solid-table role, core outward (specs/box-shadow.md). */
85
117
  export declare function shadowRamp(set: BorderGlyphSet | undefined): string[];
@@ -89,4 +121,5 @@ export declare function scrollGlyphs(set: BorderGlyphSet | undefined): {
89
121
  track: string;
90
122
  thumb: string;
91
123
  };
124
+ export {};
92
125
  //# sourceMappingURL=glyphs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glyphs.d.ts","sourceRoot":"","sources":["../src/glyphs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;;;GASG;AAEH;;2BAE2B;AAC3B,MAAM,WAAW,UAAU;IACzB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;uCAGmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;+BAC2B;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;qEAGiE;IACjE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACxB;AAED;eACe;AACf,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAKtE;wEACwE;AACxE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAO5E;AAED;;;eAGe;AACf,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAGvF;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAGtE;AAUD;;mEAEmE;AACnE,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,cAAc,GACnB,MAAM,CAcR;AAED;kBACkB;AAClB,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;AAExE;gEACgE;AAChE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA+B3D;AAKD,eAAO,MAAM,eAAe,UAiB3B,CAAC;AACF,eAAO,MAAM,gBAAgB,UAiB5B,CAAC;AA0DF;2DAC2D;AAC3D,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,EAAE,CAGpE;AAED;qCACqC;AACrC,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK9F"}
1
+ {"version":3,"file":"glyphs.d.ts","sourceRoot":"","sources":["../src/glyphs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Gradient backgrounds as a color per cell (specs/gradients.md): each
3
+ * cell of a box takes its layers' color at the cell's center, computed
4
+ * in px from the measured cell so a diagonal is CSS's diagonal, the
5
+ * stops resolved and interpolated as CSS resolves and interpolates
6
+ * them, the layers composited last to first over the plain color.
7
+ */
8
+ import type { Gradient } from "./types.ts";
9
+ /** The cell's size in px, as measured; a 1:2 cell where none was. */
10
+ export interface CellSize {
11
+ width: number;
12
+ height: number;
13
+ }
14
+ export declare const DEFAULT_CELL: CellSize;
15
+ /** Every cell's color of a `width` × `height` box as `rgb()`: the
16
+ * layers over `under` (the plain background, or none); null where
17
+ * nothing paints. */
18
+ export declare function gradientCells(layers: Gradient[], under: string | undefined, width: number, height: number, cell: CellSize): (string | null)[][];
19
+ //# sourceMappingURL=gradient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../src/gradient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,OAAO,KAAK,EAAE,QAAQ,EAA+C,MAAM,YAAY,CAAC;AAExF,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,eAAO,MAAM,YAAY,EAAE,QAAkC,CAAC;AAS9D;;qBAEqB;AACrB,wBAAgB,aAAa,CAC3B,MAAM,EAAE,QAAQ,EAAE,EAClB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,GACb,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAyBrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../src/grid.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAEV,YAAY,EACZ,QAAQ,EAGR,MAAM,EAEN,UAAU,EAIV,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AAEH,wBAAgB,UAAU,CACxB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACpB,MAAM,CAsVR;AAsPD;;;;iEAIiE;AACjE,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,cAAc,GACpB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CA8B9B;AAsSD,UAAU,QAAQ;IAChB;;8CAE0C;IAC1C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;yBAIyB;AACzB,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;CACnB;AAwDD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,SAAS,GACf,QAAQ,CAkBV;AAED,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAe;IACvB,KAAK,EAAE;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE;IAAE,GAAG,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAA;CAAE,EAAE,EACzC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,YAAY,GACjB,eAAe,CAyIjB;AAKD,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kEAAkE;IAClE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAkBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,OAAO,EAAE,EACpB,KAAK,EAAE,UAAU,EAAE,EACnB,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,EAC7C,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,OAAO,GACnB,YAAY,CA4Qd"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../src/grid.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAEV,YAAY,EACZ,QAAQ,EAGR,MAAM,EAEN,UAAU,EAIV,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AAEH,wBAAgB,UAAU,CACxB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACpB,MAAM,CAuVR;AAsPD;;;;iEAIiE;AACjE,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,cAAc,GACpB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CA8B9B;AAsSD,UAAU,QAAQ;IAChB;;8CAE0C;IAC1C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;yBAIyB;AACzB,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;CACnB;AAwDD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,SAAS,GACf,QAAQ,CAkBV;AAED,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAe;IACvB,KAAK,EAAE;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE;IAAE,GAAG,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAA;CAAE,EAAE,EACzC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,YAAY,GACjB,eAAe,CAyIjB;AAKD,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kEAAkE;IAClE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAkBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,OAAO,EAAE,EACpB,KAAK,EAAE,UAAU,EAAE,EACnB,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,EAC7C,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,OAAO,GACnB,YAAY,CA4Qd"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { MonoWindElement, defineMonoWind } from "./element.ts";
2
2
  export { glyphSetFor, registerBorderGlyphs } from "./glyphs.ts";
3
- export type { BorderGlyphSet, GlyphTable } from "./glyphs.ts";
3
+ export type { BorderGlyphSet, CornerBand, GlyphTable, WeightBand } from "./glyphs.ts";
4
4
  export { invalidateLeaves, registerLeafRenderer } from "./leaf.ts";
5
5
  export type { LeafContent, LeafPaint, LeafRegistration, LeafRun } from "./leaf.ts";
6
6
  export { renderPlainText } from "./plain-text.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}