@sltsh/aion-tokens 1.2.0 → 1.3.1
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 +20 -1
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/light.d.ts +25 -30
- package/dist/light.d.ts.map +1 -1
- package/dist/light.js +98 -52
- package/dist/light.js.map +1 -1
- package/dist/oklch.d.ts +1 -0
- package/dist/oklch.d.ts.map +1 -1
- package/dist/oklch.js +13 -2
- package/dist/oklch.js.map +1 -1
- package/dist/palette.d.ts +7 -3
- package/dist/palette.d.ts.map +1 -1
- package/dist/palette.js +35 -11
- package/dist/palette.js.map +1 -1
- package/dist/preview.d.ts +4 -2
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +45 -3
- package/dist/preview.js.map +1 -1
- package/dist/rounding.d.ts +25 -0
- package/dist/rounding.d.ts.map +1 -0
- package/dist/rounding.js +137 -0
- package/dist/rounding.js.map +1 -0
- package/dist/semantic.d.ts +3 -3
- package/dist/solve.d.ts +3 -1
- package/dist/solve.d.ts.map +1 -1
- package/dist/solve.js +2 -1
- package/dist/solve.js.map +1 -1
- package/dist/states.d.ts +13 -4
- package/dist/states.d.ts.map +1 -1
- package/dist/states.js +123 -85
- package/dist/states.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,11 +40,30 @@ design rationale and availability by target.
|
|
|
40
40
|
## Two contrast functions, on purpose
|
|
41
41
|
|
|
42
42
|
`contrast` reads the ideal OKLCH. `contrastEmitted` reads the rounded 8-bit hex that
|
|
43
|
-
actually ships.
|
|
43
|
+
actually ships. `roundingShift(background)` measures their largest observed gap near
|
|
44
|
+
the floor on the documented grid; it is not a universal rounding bound.
|
|
44
45
|
|
|
45
46
|
Use `contrastEmitted` for any gate or report; a user measures the hex. `solveLightness`
|
|
46
47
|
uses the continuous form, because bisection needs one.
|
|
47
48
|
|
|
49
|
+
## Rounding API
|
|
50
|
+
|
|
51
|
+
- `srgbChannels(colour)` returns `{ exact, bytes }`: clamped, gamma-encoded sRGB channels
|
|
52
|
+
multiplied by 255 before rounding, and the three integer bytes that `hex` emits.
|
|
53
|
+
- `roundingShift(background, floor = 4.5)` returns `{ shift, colour }`, the largest
|
|
54
|
+
absolute continuous/emitted contrast difference observed with `|contrast - floor| ≤ 0.1`.
|
|
55
|
+
The grid includes hue `3i` (`i = 0…119`), chroma `0.01j` (`j = 0…20`), and lightness
|
|
56
|
+
`0.00005k` (`k = 0…20000`). Only points whose un-clipped linear sRGB channels all lie
|
|
57
|
+
in `[0, 1]` qualify. Ties keep the first point in hue, chroma, lightness order.
|
|
58
|
+
Bisection brackets the bands before visiting their integer lightness indices.
|
|
59
|
+
It throws if the floor is invalid or no point qualifies.
|
|
60
|
+
- `roundingFlip(base, background, { window = 0.02, step = 0.00005, floor = 4.5 } = {})`
|
|
61
|
+
returns the first sampled lightness that passes continuous contrast and fails emitted
|
|
62
|
+
contrast, or `null`. Samples ascend from `L₀ - window` in integer multiples of `step`
|
|
63
|
+
through `L₀ + window`, restricted to `[0, 1]`; `L₀` is solved in the base colour's
|
|
64
|
+
contrast direction by `solveLightness`. Invalid options throw. Both helpers require
|
|
65
|
+
a finite floor of at least 1.
|
|
66
|
+
|
|
48
67
|
## Layers
|
|
49
68
|
|
|
50
69
|
- **Literal** — `neutral`, `ACCENTS`, `accentScale`, `ansi`, `lightNeutral`. What the
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export type { Oklch, LinearSrgb, SolveDirection } from './oklch.js';
|
|
2
|
-
export { oklchToLinearSrgb, inGamut, hex, hexAlpha, luminance, contrast, contrastEmitted, compositeEmitted, hexToOklch, solveLightness, } from './oklch.js';
|
|
3
|
-
export type { NeutralName, AccentName, AccentScale, SyntaxRole, StatusName, DiffName, Overlay, OverlayName, AnsiSlot, TerminalBackgroundName, DiffWashName, } from './palette.js';
|
|
4
|
-
export { BASE_HUE, BASE_CHROMA, NEUTRAL_LIGHTNESS, neutral, ACCENTS, ACCENT_NAMES, accentScale, scaleOf, SYNTAX, ONE_DARK_PRO_HUE, comment, dimText, STATUS, diff, diffWash, overlay, findMatch, bracketPairs, cursor, ansi, ANSI_ORDER, ANSI_BLACK_TEXT, ANSI_BADGE, terminalBackground, terminalSelection, TERMINAL_BACKGROUNDS, CHROMA_CEILING, CHROMA_DEFAULT, HUE_DRIFT_LIMIT, CONTRAST_FLOOR, NON_TEXT_FLOOR, MEANING_PAIR_GAP, CONTRAST_EXEMPT, } from './palette.js';
|
|
2
|
+
export { oklchToLinearSrgb, inGamut, hex, hexAlpha, luminance, contrast, contrastEmitted, compositeEmitted, compositeCssAlpha, hexToOklch, solveLightness, } from './oklch.js';
|
|
3
|
+
export type { NeutralName, AccentName, AccentScale, SyntaxRole, StatusName, DiffName, Overlay, OverlayName, AnsiSlot, TerminalBackgroundName, DiffWashName, DecorationName, SecondaryDecorationName, } from './palette.js';
|
|
4
|
+
export { BASE_HUE, BASE_CHROMA, NEUTRAL_LIGHTNESS, neutral, ACCENTS, ACCENT_NAMES, accentScale, scaleOf, SYNTAX, ONE_DARK_PRO_HUE, comment, dimText, STATUS, diff, diffWash, decoration, secondaryDecoration, overlay, findMatch, bracketPairs, cursor, ansi, ANSI_ORDER, ANSI_BLACK_TEXT, ANSI_BADGE, terminalBackground, terminalSelection, TERMINAL_BACKGROUNDS, CHROMA_CEILING, CHROMA_DEFAULT, HUE_DRIFT_LIMIT, CONTRAST_FLOOR, NON_TEXT_FLOOR, MEANING_PAIR_GAP, CONTRAST_EXEMPT, } from './palette.js';
|
|
5
5
|
export type { LightNeutralName, LightDecorationName } from './light.js';
|
|
6
|
-
export { LIGHT_LIGHTNESS, lightNeutral, lightEditorNeutral, lightDimText, lightComment, lightSyntax, lightAnsiWhite, lightAnsiBrightBlack, LIGHT_CHROMA_FLOOR_EXCEPTION, lightAccent, lightAccents, lightAccentScale, lightOverlay, lightDecoration, lightFindMatch, lightDiff, lightDiffWash, lightBrackets, lightCursor, lightAnsi, lightTerminalSelection, } from './light.js';
|
|
6
|
+
export { LIGHT_LIGHTNESS, lightNeutral, lightEditorNeutral, lightDimText, lightComment, lightSyntax, lightAnsiWhite, lightAnsiBrightBlack, LIGHT_CHROMA_FLOOR_EXCEPTION, LIGHT_ACCENT_MARGIN, LIGHT_HUE_DRIFT, lightAccent, lightAccents, lightAccentScale, lightOverlay, lightDecoration, lightSecondaryDecoration, lightFindMatch, lightDiff, lightDiffWash, lightCoverageGutter, lightBrackets, lightCursor, lightAnsi, lightTerminalSelection, } from './light.js';
|
|
7
7
|
export type { StatusScale } from './status.js';
|
|
8
8
|
export { status, statusLight } from './status.js';
|
|
9
9
|
export { obsidianLightSelection, obsidianLightHighlight, obsidianLightActiveRow, obsidianLightLink, obsidianCodeBackground, obsidianPink, obsidianHoverEdge } from './obsidian.js';
|
|
10
10
|
export { bg, fg, border, syntax, accent, brackets, semantic, BOUNDARY_PAIRS, bgLight, fgLight, borderLight, accentLight, semanticLight, BOUNDARY_PAIRS_LIGHT, } from './semantic.js';
|
|
11
11
|
export type { Marker, Solution, OverlaySearch, OverlaySolution } from './solve.js';
|
|
12
12
|
export { solveMarker, solveOverlay, binding, distanceEmitted } from './solve.js';
|
|
13
|
-
export type { ReadingState, StateSource, SurfaceName } from './states.js';
|
|
14
|
-
export { readingStates, readingForegrounds, SHIPPED, LIGHT_SHIPPED } from './states.js';
|
|
13
|
+
export type { ReadingState, StateSource, SurfaceName, StackLayer } from './states.js';
|
|
14
|
+
export { readingStates, readingForegrounds, SHIPPED, LIGHT_SHIPPED, RENDER_ORDER, LIGHT_TIER, LIGHT_TIER_RATIO, producible, covered, orderStack, stackName, stackBackground, paintedAlpha, } from './states.js';
|
|
15
15
|
export { flatten } from './flatten.js';
|
|
16
16
|
export type { Check, CheckState } from './report.js';
|
|
17
17
|
export { checks, failures, designTables, NEUTRAL_ROLE } from './report.js';
|
|
@@ -21,4 +21,5 @@ export type { Rival, RivalResult, SurfaceOrder } from './rivals.js';
|
|
|
21
21
|
export { RIVALS, SYNTAX_ROLES_COMPARED, contrastHex, measure, surfaceOrder } from './rivals.js';
|
|
22
22
|
export type { StripScheme } from './strip.js';
|
|
23
23
|
export { paletteStrip } from './strip.js';
|
|
24
|
+
export { srgbChannels, roundingShift, roundingFlip } from './rounding.js';
|
|
24
25
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EACL,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAC/E,gBAAgB,EAAE,UAAU,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
export { oklchToLinearSrgb, inGamut, hex, hexAlpha, luminance, contrast, contrastEmitted, compositeEmitted, hexToOklch, solveLightness, } from './oklch.js';
|
|
2
|
-
export { BASE_HUE, BASE_CHROMA, NEUTRAL_LIGHTNESS, neutral, ACCENTS, ACCENT_NAMES, accentScale, scaleOf, SYNTAX, ONE_DARK_PRO_HUE, comment, dimText, STATUS, diff, diffWash, overlay, findMatch, bracketPairs, cursor, ansi, ANSI_ORDER, ANSI_BLACK_TEXT, ANSI_BADGE, terminalBackground, terminalSelection, TERMINAL_BACKGROUNDS, CHROMA_CEILING, CHROMA_DEFAULT, HUE_DRIFT_LIMIT, CONTRAST_FLOOR, NON_TEXT_FLOOR, MEANING_PAIR_GAP, CONTRAST_EXEMPT, } from './palette.js';
|
|
3
|
-
export { LIGHT_LIGHTNESS, lightNeutral, lightEditorNeutral, lightDimText, lightComment, lightSyntax, lightAnsiWhite, lightAnsiBrightBlack, LIGHT_CHROMA_FLOOR_EXCEPTION, lightAccent, lightAccents, lightAccentScale, lightOverlay, lightDecoration, lightFindMatch, lightDiff, lightDiffWash, lightBrackets, lightCursor, lightAnsi, lightTerminalSelection, } from './light.js';
|
|
1
|
+
export { oklchToLinearSrgb, inGamut, hex, hexAlpha, luminance, contrast, contrastEmitted, compositeEmitted, compositeCssAlpha, hexToOklch, solveLightness, } from './oklch.js';
|
|
2
|
+
export { BASE_HUE, BASE_CHROMA, NEUTRAL_LIGHTNESS, neutral, ACCENTS, ACCENT_NAMES, accentScale, scaleOf, SYNTAX, ONE_DARK_PRO_HUE, comment, dimText, STATUS, diff, diffWash, decoration, secondaryDecoration, overlay, findMatch, bracketPairs, cursor, ansi, ANSI_ORDER, ANSI_BLACK_TEXT, ANSI_BADGE, terminalBackground, terminalSelection, TERMINAL_BACKGROUNDS, CHROMA_CEILING, CHROMA_DEFAULT, HUE_DRIFT_LIMIT, CONTRAST_FLOOR, NON_TEXT_FLOOR, MEANING_PAIR_GAP, CONTRAST_EXEMPT, } from './palette.js';
|
|
3
|
+
export { LIGHT_LIGHTNESS, lightNeutral, lightEditorNeutral, lightDimText, lightComment, lightSyntax, lightAnsiWhite, lightAnsiBrightBlack, LIGHT_CHROMA_FLOOR_EXCEPTION, LIGHT_ACCENT_MARGIN, LIGHT_HUE_DRIFT, lightAccent, lightAccents, lightAccentScale, lightOverlay, lightDecoration, lightSecondaryDecoration, lightFindMatch, lightDiff, lightDiffWash, lightCoverageGutter, lightBrackets, lightCursor, lightAnsi, lightTerminalSelection, } from './light.js';
|
|
4
4
|
export { status, statusLight } from './status.js';
|
|
5
5
|
export { obsidianLightSelection, obsidianLightHighlight, obsidianLightActiveRow, obsidianLightLink, obsidianCodeBackground, obsidianPink, obsidianHoverEdge } from './obsidian.js';
|
|
6
6
|
export { bg, fg, border, syntax, accent, brackets, semantic, BOUNDARY_PAIRS, bgLight, fgLight, borderLight, accentLight, semanticLight, BOUNDARY_PAIRS_LIGHT, } from './semantic.js';
|
|
7
7
|
export { solveMarker, solveOverlay, binding, distanceEmitted } from './solve.js';
|
|
8
|
-
export { readingStates, readingForegrounds, SHIPPED, LIGHT_SHIPPED } from './states.js';
|
|
8
|
+
export { readingStates, readingForegrounds, SHIPPED, LIGHT_SHIPPED, RENDER_ORDER, LIGHT_TIER, LIGHT_TIER_RATIO, producible, covered, orderStack, stackName, stackBackground, paintedAlpha, } from './states.js';
|
|
9
9
|
export { flatten } from './flatten.js';
|
|
10
10
|
export { checks, failures, designTables, NEUTRAL_ROLE } from './report.js';
|
|
11
11
|
export { buildPalette, PREVIEW_DEFAULTS, buildLightPalette, LIGHT_PREVIEW_DEFAULTS, lightPalette, buildSchemePalette, } from './preview.js';
|
|
12
12
|
export { RIVALS, SYNTAX_ROLES_COMPARED, contrastHex, measure, surfaceOrder } from './rivals.js';
|
|
13
13
|
export { paletteStrip } from './strip.js';
|
|
14
|
+
export { srgbChannels, roundingShift, roundingFlip } from './rounding.js';
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAC/E,gBAAgB,EAAE,UAAU,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAC/E,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,GAChE,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAC9F,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAC9E,mBAAmB,EAAE,OAAO,EAAE,SAAS,EACvC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EACvF,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EACxF,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,GAClE,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAC1F,cAAc,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,eAAe,EACxG,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAC1E,wBAAwB,EAAE,cAAc,EAAE,SAAS,EACnD,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,GAClG,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEnL,OAAO,EACL,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAClE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,GAChF,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGjF,OAAO,EACL,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EACrG,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,GAC1E,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3E,OAAO,EACL,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,EACvF,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhG,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/light.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Oklch } from './oklch.js';
|
|
2
|
-
import type { AccentName, AccentScale, AnsiSlot, NeutralName, Overlay, SyntaxRole } from './palette.js';
|
|
2
|
+
import type { AccentName, AccentScale, AnsiSlot, DecorationName, NeutralName, Overlay, SecondaryDecorationName, SyntaxRole } from './palette.js';
|
|
3
3
|
export declare const LIGHT_LIGHTNESS: {
|
|
4
4
|
readonly page: 0.98;
|
|
5
5
|
readonly surface: 0.96;
|
|
@@ -22,61 +22,52 @@ export declare const lightAnsiWhite: Oklch;
|
|
|
22
22
|
export declare const lightAnsiBrightBlack: Oklch;
|
|
23
23
|
export declare const LIGHT_CHROMA_FLOOR_EXCEPTION: Partial<Record<AccentName, number>>;
|
|
24
24
|
export declare const LIGHT_SYNTAX_FLOOR = 4.8;
|
|
25
|
+
export declare const LIGHT_ACCENT_MARGIN = 1.06;
|
|
26
|
+
export declare const LIGHT_HUE_DRIFT: Partial<Record<AccentName, number>>;
|
|
25
27
|
export declare const lightAccent: (name: AccentName) => Oklch;
|
|
26
28
|
export declare const lightAccents: Record<AccentName, Oklch>;
|
|
27
29
|
export declare const lightSyntax: Record<SyntaxRole, Oklch>;
|
|
28
30
|
export declare const lightAccentScale: (name: AccentName) => AccentScale;
|
|
29
31
|
export declare const lightOverlay: {
|
|
30
32
|
readonly selection: {
|
|
31
|
-
readonly color:
|
|
32
|
-
readonly alpha: 0.
|
|
33
|
+
readonly color: readonly [0.8, 0.1, 246];
|
|
34
|
+
readonly alpha: 0.5;
|
|
33
35
|
};
|
|
34
36
|
readonly findMatchOther: {
|
|
35
|
-
readonly color:
|
|
36
|
-
readonly alpha: 0.
|
|
37
|
+
readonly color: readonly [0.88, 0.1, 84];
|
|
38
|
+
readonly alpha: 0.5;
|
|
37
39
|
};
|
|
38
40
|
readonly wordHighlight: {
|
|
39
|
-
readonly color:
|
|
40
|
-
readonly alpha: 0.
|
|
41
|
+
readonly color: readonly [0.9, 0.12, 194];
|
|
42
|
+
readonly alpha: 0.45;
|
|
41
43
|
};
|
|
42
44
|
readonly lineHighlight: {
|
|
43
|
-
readonly color:
|
|
45
|
+
readonly color: readonly [0.948, 0.01, 90];
|
|
44
46
|
readonly alpha: 0.95;
|
|
45
47
|
};
|
|
46
48
|
};
|
|
47
|
-
export declare const lightDecoration:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
readonly alpha: 0.25;
|
|
51
|
-
};
|
|
52
|
-
readonly inactiveSelection: {
|
|
53
|
-
readonly color: Oklch;
|
|
54
|
-
readonly alpha: 0.25;
|
|
55
|
-
};
|
|
56
|
-
readonly findRange: Overlay;
|
|
57
|
-
readonly rangeHighlight: Overlay;
|
|
58
|
-
readonly fold: Overlay;
|
|
59
|
-
};
|
|
60
|
-
export type LightDecorationName = keyof typeof lightDecoration;
|
|
49
|
+
export declare const lightDecoration: Record<DecorationName, Overlay>;
|
|
50
|
+
export declare const lightSecondaryDecoration: Record<SecondaryDecorationName, Overlay>;
|
|
51
|
+
export type LightDecorationName = DecorationName;
|
|
61
52
|
export declare const lightFindMatch: {
|
|
62
53
|
readonly current: Oklch;
|
|
63
54
|
};
|
|
64
55
|
export declare const lightDiffWash: {
|
|
65
56
|
readonly addedLine: {
|
|
66
|
-
readonly color:
|
|
67
|
-
readonly alpha: 0.
|
|
57
|
+
readonly color: readonly [0.8, 0.13, 144];
|
|
58
|
+
readonly alpha: 0.15;
|
|
68
59
|
};
|
|
69
60
|
readonly addedWord: {
|
|
70
|
-
readonly color:
|
|
71
|
-
readonly alpha: 0.
|
|
61
|
+
readonly color: readonly [0.85, 0.19, 148];
|
|
62
|
+
readonly alpha: 0.29;
|
|
72
63
|
};
|
|
73
64
|
readonly removedLine: {
|
|
74
|
-
readonly color:
|
|
75
|
-
readonly alpha: 0.
|
|
65
|
+
readonly color: readonly [0.87, 0.07, 30];
|
|
66
|
+
readonly alpha: 0.25;
|
|
76
67
|
};
|
|
77
68
|
readonly removedWord: {
|
|
78
|
-
readonly color:
|
|
79
|
-
readonly alpha: 0.
|
|
69
|
+
readonly color: readonly [0.86, 0.07, 28];
|
|
70
|
+
readonly alpha: 0.35;
|
|
80
71
|
};
|
|
81
72
|
};
|
|
82
73
|
export declare const lightDiff: {
|
|
@@ -85,6 +76,10 @@ export declare const lightDiff: {
|
|
|
85
76
|
readonly addedGutter: Oklch;
|
|
86
77
|
readonly removedGutter: Oklch;
|
|
87
78
|
};
|
|
79
|
+
export declare const lightCoverageGutter: {
|
|
80
|
+
readonly covered: Oklch;
|
|
81
|
+
readonly uncovered: Oklch;
|
|
82
|
+
};
|
|
88
83
|
export declare const lightBrackets: readonly Oklch[];
|
|
89
84
|
export declare const lightCursor: Oklch;
|
|
90
85
|
export declare const lightAnsi: Record<AnsiSlot, Oklch>;
|
package/dist/light.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../src/light.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EACV,UAAU,EAAE,WAAW,EAAqB,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../src/light.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EACV,UAAU,EAAE,WAAW,EAAqB,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAC1F,uBAAuB,EAAE,UAAU,EACpC,MAAM,cAAc,CAAC;AAWtB,eAAO,MAAM,eAAe;;;;;;;;;;;;CAIlB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,eAAe,CAAC;AAK5D,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAGxD,CAAC;AAOF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAazD,CAAC;AASF,eAAO,MAAM,YAAY,EAAE,KAAgC,CAAC;AAC5D,eAAO,MAAM,YAAY,EAAE,KAA+B,CAAC;AAC3D,eAAO,MAAM,cAAc,EAAE,KAA+B,CAAC;AAC7D,eAAO,MAAM,oBAAoB,EAAE,KAA+B,CAAC;AAkCnE,eAAO,MAAM,4BAA4B,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAE5E,CAAC;AAgCF,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAItC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAKxC,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAgB,CAAC;AAEjF,eAAO,MAAM,WAAW,GAAI,MAAM,UAAU,KAAG,KAa9C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAElD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAGjD,CAAC;AAmBF,eAAO,MAAM,gBAAgB,GAAI,MAAM,UAAU,KAAG,WAYnD,CAAC;AAMF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAKmB,CAAC;AAI7C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,CAO3D,CAAC;AAKF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,uBAAuB,EAAE,OAAO,CAkB7E,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAEjD,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAKX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;CAKkB,CAAC;AAe7C,eAAO,MAAM,SAAS;;;;;CAKoB,CAAC;AAa3C,eAAO,MAAM,mBAAmB;;;CAGU,CAAC;AAE3C,eAAO,MAAM,aAAa,EAAE,SAAS,KAAK,EAAmD,CAAC;AAC9F,eAAO,MAAM,WAAW,EAAE,KAAyB,CAAC;AAIpD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAY1C,CAAC;AAIL,eAAO,MAAM,sBAAsB,EAAE,KAA2B,CAAC"}
|
package/dist/light.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { solveLightness, inGamut, contrastEmitted } from './oklch.js';
|
|
2
2
|
import { ACCENTS, ANSI_HUE, BASE_CHROMA, BASE_HUE, BRIGHT_TO_NORMAL, CHROMA_CEILING, CHROMA_DEFAULT, CONTRAST_FLOOR, NON_TEXT_FLOOR, SYNTAX, bracketPairs, capitalise, } from './palette.js';
|
|
3
|
+
import { solveMarker } from './solve.js';
|
|
3
4
|
import { mapValues } from './util.js';
|
|
4
5
|
// `border` is solved against `input`, the darkest surface a control edge encloses, not
|
|
5
6
|
// against `page`. A light border is darker than every surface it touches, so the darkest
|
|
@@ -35,8 +36,9 @@ export const lightEditorNeutral = {
|
|
|
35
36
|
// dim chrome is a little quieter again, and ANSI white/bright-black retain their terminal
|
|
36
37
|
// roles instead of inheriting whichever neutral happened to be emitted first.
|
|
37
38
|
// The comment is the budget every light overlay is solved against. At 0.516 no tinted
|
|
38
|
-
// selection fitted under a diff wash; 0.
|
|
39
|
-
|
|
39
|
+
// selection fitted under a diff wash; 0.4725 reads 6.33:1 on the editor, which lets every
|
|
40
|
+
// syntax accent sit a margin above it, and stays 0.03 apart from secondary text.
|
|
41
|
+
export const lightComment = lightNeutralRole(0.4725);
|
|
40
42
|
export const lightDimText = lightNeutralRole(0.510);
|
|
41
43
|
export const lightAnsiWhite = lightNeutralRole(0.340);
|
|
42
44
|
export const lightAnsiBrightBlack = lightNeutralRole(0.505);
|
|
@@ -62,7 +64,7 @@ const gamutSafe = (lightness, chroma, hue, label) => {
|
|
|
62
64
|
// Dark accents lose contrast on a light page, so lightness drops and chroma rises.
|
|
63
65
|
// The two constraints fight: more chroma leaves the sRGB gamut at the lightness the
|
|
64
66
|
// floor demands. Walk chroma down until a colour satisfies both, then verify against
|
|
65
|
-
// the emitted hex
|
|
67
|
+
// the emitted hex; roundingShift measures the gap near the floor on its grid.
|
|
66
68
|
//
|
|
67
69
|
// The reference surface is `input`, not `page`: an accent that only clears the floor on
|
|
68
70
|
// a light surface fails the moment it lands on a native control. `hover` is darker, but
|
|
@@ -73,15 +75,19 @@ const gamutSafe = (lightness, chroma, hue, label) => {
|
|
|
73
75
|
export const LIGHT_CHROMA_FLOOR_EXCEPTION = {
|
|
74
76
|
teal: 0.08,
|
|
75
77
|
};
|
|
76
|
-
const solveOnLightSurface = (name, hue, startChroma, floor, minimumChroma = 0) => {
|
|
78
|
+
const solveOnLightSurface = (name, hue, startChroma, floor, minimumChroma = 0, editorFloor = 0) => {
|
|
77
79
|
let chroma = startChroma;
|
|
78
80
|
for (let i = 0; i < 60; i += 1) {
|
|
79
81
|
const rounded = Math.round(chroma * 10000) / 10000;
|
|
80
82
|
// Lower lightness means more contrast here, so rounding down never breaks the floor.
|
|
81
83
|
let L = floorTo(solveLightness(rounded, hue, lightNeutral.input, floor, 'down'), 3);
|
|
84
|
+
if (editorFloor > 0) {
|
|
85
|
+
L = Math.min(L, floorTo(solveLightness(rounded, hue, lightNeutral.page, editorFloor, 'down'), 3));
|
|
86
|
+
}
|
|
82
87
|
for (let step = 0; step <= LIGHTNESS_SEARCH_STEPS; step += 1) {
|
|
83
88
|
const colour = [L, rounded, hue];
|
|
84
|
-
if (inGamut(colour) && contrastEmitted(colour, lightNeutral.input) >= floor
|
|
89
|
+
if (inGamut(colour) && contrastEmitted(colour, lightNeutral.input) >= floor
|
|
90
|
+
&& (editorFloor === 0 || contrastEmitted(colour, lightNeutral.page) >= editorFloor))
|
|
85
91
|
return colour;
|
|
86
92
|
L -= LIGHTNESS_STEP;
|
|
87
93
|
}
|
|
@@ -98,11 +104,19 @@ const solveOnLightSurface = (name, hue, startChroma, floor, minimumChroma = 0) =
|
|
|
98
104
|
// and at 4.5:1 no blue fill could move the editor by more than 0.033 in OKLab; this margin
|
|
99
105
|
// is what lets the selection be seen.
|
|
100
106
|
export const LIGHT_SYNTAX_FLOOR = 4.8;
|
|
107
|
+
// Every accent reads this much louder than the comment on the editor, so the comment
|
|
108
|
+
// stays the quietest thing a reader reads while the accents keep their own tier.
|
|
109
|
+
export const LIGHT_ACCENT_MARGIN = 1.06;
|
|
110
|
+
// Degrees of hue an accent may move from its Dark hue where the gamut blocks the margin.
|
|
111
|
+
// Teal drifts toward blue because the gamut at this lightness cannot carry its chroma
|
|
112
|
+
// floor at hue 192; -5 is the smallest step that can.
|
|
113
|
+
export const LIGHT_HUE_DRIFT = { teal: -5 };
|
|
101
114
|
export const lightAccent = (name) => {
|
|
102
|
-
const [, chroma,
|
|
115
|
+
const [, chroma, darkHue] = ACCENTS[name];
|
|
116
|
+
const hue = darkHue + (LIGHT_HUE_DRIFT[name] ?? 0);
|
|
103
117
|
const ceiling = CHROMA_CEILING[name] ?? CHROMA_DEFAULT[1];
|
|
104
118
|
const minimum = LIGHT_CHROMA_FLOOR_EXCEPTION[name] ?? CHROMA_DEFAULT[0];
|
|
105
|
-
return solveOnLightSurface(name, hue, Math.min(chroma * CHROMA_BOOST * LIGHT_ACCENT_CHROMA_SCALE, ceiling), LIGHT_SYNTAX_FLOOR, minimum);
|
|
119
|
+
return solveOnLightSurface(name, hue, Math.min(chroma * CHROMA_BOOST * LIGHT_ACCENT_CHROMA_SCALE, ceiling), LIGHT_SYNTAX_FLOOR, minimum, contrastEmitted(lightComment, lightNeutral.page) * LIGHT_ACCENT_MARGIN);
|
|
106
120
|
};
|
|
107
121
|
export const lightAccents = mapValues(ACCENTS, (_value, name) => lightAccent(name));
|
|
108
122
|
export const lightSyntax = mapValues(SYNTAX, (accent) => lightAccents[accent]);
|
|
@@ -127,64 +141,96 @@ export const lightAccentScale = (name) => {
|
|
|
127
141
|
solid: lightAccent(name),
|
|
128
142
|
};
|
|
129
143
|
};
|
|
130
|
-
//
|
|
131
|
-
//
|
|
132
|
-
//
|
|
133
|
-
//
|
|
134
|
-
// darken it much either, because the diff wash is painted over the selection and the
|
|
135
|
-
// current line and the syntax accents are already at the floor under that stack. So each
|
|
136
|
-
// was searched for the most visible colour that keeps every light reading state above
|
|
137
|
-
// the floor, one overlay at a time with chroma bounded at 0.09, so the result is a floor
|
|
138
|
-
// on visibility and not a proven maximum: hue carries what luminance cannot. The selection is
|
|
139
|
-
// held back by the syntax floor, which is why that floor sits at 4.8:1 rather than 4.5:1.
|
|
140
|
-
// The selection is the loudest of them, as on Dark; the word highlight and the other find
|
|
141
|
-
// matches could each pass it and are held at three quarters of it instead.
|
|
144
|
+
// Near the light editor, sRGB leaves little room for visible pale fills. The hue supplies
|
|
145
|
+
// separation while the comment and syntax accents bound lightness on every covered
|
|
146
|
+
// stack. The selection remains the strongest reading cue, including through a word or
|
|
147
|
+
// another find match.
|
|
142
148
|
export const lightOverlay = {
|
|
143
|
-
selection: { color:
|
|
144
|
-
findMatchOther: { color:
|
|
145
|
-
wordHighlight: { color:
|
|
146
|
-
lineHighlight: { color:
|
|
147
|
-
};
|
|
148
|
-
// Dark draws these five from a translucent neutral, which on Light became the current-line
|
|
149
|
-
// wash and moved the editor by 0.018 in OKLab or less. None is bound by the text on it:
|
|
150
|
-
// each could reach the selection, so each is held at three quarters of it, seen and never
|
|
151
|
-
// mistaken for it. The two that follow a selection take its colour.
|
|
152
|
-
const LIGHT_RANGE_WASH = {
|
|
153
|
-
color: gamutSafe(0.860, 0.040, BASE_HUE, 'range wash'), alpha: 0.35,
|
|
149
|
+
selection: { color: [0.800, 0.100, 246], alpha: 0.500 },
|
|
150
|
+
findMatchOther: { color: [0.880, 0.100, 84], alpha: 0.500 },
|
|
151
|
+
wordHighlight: { color: [0.900, 0.120, 194], alpha: 0.450 },
|
|
152
|
+
lineHighlight: { color: [0.948, 0.010, 90], alpha: 0.950 },
|
|
154
153
|
};
|
|
154
|
+
// Find and folded ranges need a cyan hue to stay visible without hiding a selection on
|
|
155
|
+
// a diff word. Selection highlight is halved by VS Code's CSS after its key is emitted.
|
|
155
156
|
export const lightDecoration = {
|
|
156
|
-
selectionHighlight: { color:
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
157
|
+
selectionHighlight: { color: [0.870, 0.060, 252], alpha: 0.850 },
|
|
158
|
+
// Re-solved with the tiers on 2026-09-29; it no longer keeps its earlier emitted colour.
|
|
159
|
+
inactiveSelection: { color: [0.940, 0.030, 246], alpha: 0.750 },
|
|
160
|
+
findRange: { color: [0.950, 0.070, 196], alpha: 0.450 },
|
|
161
|
+
rangeHighlight: { color: [0.890, 0.050, 260], alpha: 0.350 },
|
|
162
|
+
fold: { color: [0.950, 0.070, 196], alpha: 0.450 },
|
|
163
|
+
};
|
|
164
|
+
// Tier 3 (LIGHT_TIER) is painted 0.03-0.035 from the editor; strongWord and searchMatch
|
|
165
|
+
// are tier 2. Each is solved with solveOverlay against the comment over every covered stack,
|
|
166
|
+
// at least 0.03 from each diff fill unless the distinctness test names the pair exempt.
|
|
167
|
+
export const lightSecondaryDecoration = {
|
|
168
|
+
hover: { color: [0.910, 0.040, 259], alpha: 0.450 },
|
|
169
|
+
symbol: { color: [0.960, 0.050, 90], alpha: 0.500 },
|
|
170
|
+
strongWord: { color: [0.900, 0.120, 194], alpha: 0.450 },
|
|
171
|
+
stackFrame: { color: [0.960, 0.050, 90], alpha: 0.500 },
|
|
172
|
+
focusedStackFrame: { color: [0.960, 0.120, 107], alpha: 0.250 },
|
|
173
|
+
bracketMatch: { color: [0.960, 0.050, 90], alpha: 0.500 },
|
|
174
|
+
commentRange: { color: [0.960, 0.050, 90], alpha: 0.500 },
|
|
175
|
+
activeCommentRange: { color: [0.960, 0.050, 90], alpha: 0.500 },
|
|
176
|
+
unchangedCode: { color: [0.920, 0.000, 264], alpha: 0.500 },
|
|
177
|
+
mergeCurrentHeader: { color: [0.960, 0.120, 107], alpha: 0.250 },
|
|
178
|
+
mergeIncomingHeader: { color: [0.910, 0.040, 259], alpha: 0.450 },
|
|
179
|
+
mergeCommonHeader: { color: [0.920, 0.000, 264], alpha: 0.500 },
|
|
180
|
+
mergeChange: { color: [0.960, 0.120, 107], alpha: 0.250 },
|
|
181
|
+
mergeChangeWord: { color: [0.960, 0.120, 107], alpha: 0.250 },
|
|
182
|
+
searchMatch: { color: [0.880, 0.100, 84], alpha: 0.500 },
|
|
183
|
+
covered: { color: [0.960, 0.060, 148], alpha: 0.450 },
|
|
184
|
+
uncovered: { color: [0.920, 0.020, 22], alpha: 0.500 },
|
|
161
185
|
};
|
|
162
186
|
export const lightFindMatch = {
|
|
163
187
|
current: lightAccentScale('gold').subtle,
|
|
164
188
|
};
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
};
|
|
169
|
-
// Pale subtle fills moved the editor by less than 0.01 in OKLab and disappeared in a
|
|
170
|
-
// rendered diff. Low-alpha solid accents make the line and changed word perceptible while
|
|
171
|
-
// every syntax role stays above 4.5:1 and at least half the selection cue survives. The
|
|
172
|
-
// wash shares its budget with the selection under it: at 0.07 it left the selection
|
|
173
|
-
// 0.024 of visibility, and 0.06 splits the room so both land near 0.03.
|
|
189
|
+
// Solved with the Light secondaries: each line and word clears the 0.03 visibility floor
|
|
190
|
+
// (the word against its own line), keeps the selection cue through the wash above half,
|
|
191
|
+
// and leaves the comment above 4.5:1 on every reading stack they land in.
|
|
174
192
|
export const lightDiffWash = {
|
|
175
|
-
addedLine: { color:
|
|
176
|
-
addedWord: { color:
|
|
177
|
-
removedLine: { color:
|
|
178
|
-
removedWord: { color:
|
|
193
|
+
addedLine: { color: [0.800, 0.130, 144], alpha: 0.150 },
|
|
194
|
+
addedWord: { color: [0.850, 0.190, 148], alpha: 0.290 },
|
|
195
|
+
removedLine: { color: [0.870, 0.070, 30], alpha: 0.250 },
|
|
196
|
+
removedWord: { color: [0.860, 0.070, 28], alpha: 0.350 },
|
|
179
197
|
};
|
|
180
|
-
// The strips
|
|
181
|
-
//
|
|
198
|
+
// The strips carry the line number, the current line's included, so both answer to 3:1.
|
|
199
|
+
// Green starts 0.06 above the coral for colour vision, and its chroma cap keeps the pair
|
|
200
|
+
// equally loud.
|
|
201
|
+
const lightStrip = (name, hue, lightness, maxChroma) => {
|
|
202
|
+
const best = solveMarker({
|
|
203
|
+
hues: [hue], against: lightNeutral.page,
|
|
204
|
+
foregrounds: { lineNumber: lightEditorNeutral.muted, activeLineNumber: lightEditorNeutral.textPrimary },
|
|
205
|
+
stacks: [[]], floor: NON_TEXT_FLOOR, minChroma: 0.04, lightness, chroma: [0.04, maxChroma],
|
|
206
|
+
});
|
|
207
|
+
if (best === null)
|
|
208
|
+
throw new Error(`no light ${name} strip`);
|
|
209
|
+
return best.colour;
|
|
210
|
+
};
|
|
211
|
+
const removedStrip = lightStrip('removed', ACCENTS.coral[2], [0.6, 0.98], 0.18);
|
|
182
212
|
export const lightDiff = {
|
|
183
|
-
addedStrip:
|
|
184
|
-
removedStrip
|
|
213
|
+
addedStrip: lightStrip('added', ACCENTS.green[2], [removedStrip[0] + 0.061, 0.98], 0.10),
|
|
214
|
+
removedStrip,
|
|
185
215
|
addedGutter: lightAccents.green,
|
|
186
216
|
removedGutter: lightAccents.coral,
|
|
187
217
|
};
|
|
218
|
+
// The coverage gutter fills the line-number cell, so it answers to 3:1 against the number
|
|
219
|
+
// alone. VS Code derives it from the diff keys unless it is set, which would put the diff's
|
|
220
|
+
// pale wash under a number it cannot carry.
|
|
221
|
+
const lightGutter = (name, hue) => {
|
|
222
|
+
const best = solveMarker({
|
|
223
|
+
hues: [hue], against: lightNeutral.page, foregrounds: { lineNumber: lightEditorNeutral.muted },
|
|
224
|
+
stacks: [[]], floor: NON_TEXT_FLOOR, minChroma: 0.04, lightness: [0.6, 0.98], chroma: [0.04, 0.18],
|
|
225
|
+
});
|
|
226
|
+
if (best === null)
|
|
227
|
+
throw new Error(`no light coverage gutter for ${name}`);
|
|
228
|
+
return best.colour;
|
|
229
|
+
};
|
|
230
|
+
export const lightCoverageGutter = {
|
|
231
|
+
covered: lightGutter('covered', ACCENTS.green[2]),
|
|
232
|
+
uncovered: lightGutter('uncovered', ACCENTS.coral[2]),
|
|
233
|
+
};
|
|
188
234
|
export const lightBrackets = bracketPairs.map((name) => lightAccents[name]);
|
|
189
235
|
export const lightCursor = lightAccents.gold;
|
|
190
236
|
// Integrated-terminal colours are measured on the light panel (`surface`). The standalone
|
package/dist/light.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"light.js","sourceRoot":"","sources":["../src/light.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"light.js","sourceRoot":"","sources":["../src/light.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKtE,OAAO,EACL,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAC1E,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,GACjF,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,uFAAuF;AACvF,yFAAyF;AACzF,gFAAgF;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACtE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC5D,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK;CAChC,CAAC;AAIX,uFAAuF;AACvF,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,YAAY,GAAoC,SAAS,CACpE,eAAe,EACf,CAAC,CAAC,EAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CACrC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAEtE,oFAAoF;AACpF,sFAAsF;AACtF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,MAAM,EAAE,YAAY,CAAC,IAAI;IACzB,QAAQ,EAAE,YAAY,CAAC,OAAO;IAC9B,OAAO,EAAE,YAAY,CAAC,OAAO;IAC7B,MAAM,EAAE,YAAY,CAAC,MAAM;IAC3B,KAAK,EAAE,YAAY,CAAC,KAAK;IACzB,KAAK,EAAE,YAAY,CAAC,KAAK;IACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ;IAC/B,OAAO,EAAE,YAAY,CAAC,OAAO;IAC7B,MAAM,EAAE,YAAY,CAAC,MAAM;IAC3B,KAAK,EAAE,YAAY,CAAC,KAAK;IACzB,aAAa,EAAE,YAAY,CAAC,aAAa;IACzC,WAAW,EAAE,YAAY,CAAC,WAAW;CACtC,CAAC;AAEF,oFAAoF;AACpF,wFAAwF;AACxF,0FAA0F;AAC1F,8EAA8E;AAC9E,sFAAsF;AACtF,0FAA0F;AAC1F,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAAU,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,YAAY,GAAU,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAU,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAAU,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAEnE,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,kFAAkF;AAClF,oFAAoF;AACpF,gFAAgF;AAChF,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE,CACxD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC;AAElD,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAE,GAAW,EAAE,KAAa,EAAS,EAAE;IACzF,IAAI,eAAe,GAAG,MAAM,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAU,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;QACvF,IAAI,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,eAAe,IAAI,WAAW,CAAC;IACjC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,mFAAmF;AACnF,oFAAoF;AACpF,qFAAqF;AACrF,8EAA8E;AAC9E,EAAE;AACF,wFAAwF;AACxF,wFAAwF;AACxF,uFAAuF;AACvF,sFAAsF;AACtF,qFAAqF;AACrF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,4BAA4B,GAAwC;IAC/E,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,IAAgB,EAAE,GAAW,EAAE,WAAmB,EAAE,KAAa,EAAE,aAAa,GAAG,CAAC,EACpF,WAAW,GAAG,CAAC,EACR,EAAE;IACT,IAAI,MAAM,GAAG,WAAW,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QACnD,qFAAqF;QACrF,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpG,CAAC;QACD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,sBAAsB,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK;mBACtE,CAAC,WAAW,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;gBAAE,OAAO,MAAM,CAAC;YACrG,CAAC,IAAI,cAAc,CAAC;QACtB,CAAC;QACD,kFAAkF;QAClF,oFAAoF;QACpF,kEAAkE;QAClE,IAAI,OAAO,IAAI,aAAa;YAAE,MAAM;QACpC,MAAM,IAAI,WAAW,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,0FAA0F;AAC1F,2FAA2F;AAC3F,sCAAsC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,qFAAqF;AACrF,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,yFAAyF;AACzF,sFAAsF;AACtF,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAwC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AAEjF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAS,EAAE;IACrD,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,mBAAmB,CACxB,IAAI,EACJ,GAAG,EACH,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,YAAY,GAAG,yBAAyB,EAAE,OAAO,CAAC,EACpE,kBAAkB,EAClB,OAAO,EACP,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,mBAAmB,CACvE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAA8B,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CACzF,WAAW,CAAC,IAAI,CAAC,CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA8B,SAAS,CAC7D,MAAM,EACN,CAAC,MAAM,EAAS,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CACxC,CAAC;AAEF,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,6EAA6E;AAC7E,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAS,EAAE;IAC9C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CACtB,MAAM,GAAG,IAAI,GAAG,yBAAyB,EACzC,CAAC,CAAC,GAAG,sBAAsB,CAAC,GAAG,GAAG,GAAG,yBAAyB,CAC/D,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACnC,SAAS,IAAI,WAAW,CAAC;IAC3B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAgB,EAAe,EAAE;IAChE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO;QACL,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC;QACzB,MAAM,EAAE,mBAAmB,CACzB,IAAI,EACJ,GAAG,EACH,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,yBAAyB,EAAE,IAAI,CAAC,EACxD,cAAc,CACf;QACD,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;KACzB,CAAC;AACJ,CAAC,CAAC;AAEF,0FAA0F;AAC1F,mFAAmF;AACnF,sFAAsF;AACtF,sBAAsB;AACtB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACvD,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3D,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3D,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;CAChB,CAAC;AAE7C,uFAAuF;AACvF,wFAAwF;AACxF,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC9D,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAChE,yFAAyF;IACzF,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC/D,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACvD,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC5D,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;CACnD,CAAC;AAEF,wFAAwF;AACxF,6FAA6F;AAC7F,wFAAwF;AACxF,MAAM,CAAC,MAAM,wBAAwB,GAA6C;IAChF,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACnD,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACnD,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACxD,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACvD,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC/D,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACzD,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACzD,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC/D,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3D,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAChE,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACjE,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC/D,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACzD,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC7D,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACxD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACrD,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;CACvD,CAAC;AAIF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM;CAChC,CAAC;AAEX,yFAAyF;AACzF,wFAAwF;AACxF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACvD,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACvD,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACxD,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;CACd,CAAC;AAE7C,wFAAwF;AACxF,yFAAyF;AACzF,gBAAgB;AAChB,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,SAA2B,EAAE,SAAiB,EAAS,EAAE;IACtG,MAAM,IAAI,GAAG,WAAW,CAAC;QACvB,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI;QACvC,WAAW,EAAE,EAAE,UAAU,EAAE,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,WAAW,EAAE;QACvG,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;KAC3F,CAAC,CAAC;IACH,IAAI,IAAI,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC,CAAC;AACF,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IACxF,YAAY;IACZ,WAAW,EAAE,YAAY,CAAC,KAAK;IAC/B,aAAa,EAAE,YAAY,CAAC,KAAK;CACO,CAAC;AAE3C,0FAA0F;AAC1F,4FAA4F;AAC5F,4CAA4C;AAC5C,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,GAAW,EAAS,EAAE;IACvD,MAAM,IAAI,GAAG,WAAW,CAAC;QACvB,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,kBAAkB,CAAC,KAAK,EAAE;QAC9F,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;KACnG,CAAC,CAAC;IACH,IAAI,IAAI,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACb,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAqB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAU,YAAY,CAAC,IAAI,CAAC;AAEpD,0FAA0F;AAC1F,kFAAkF;AAClF,MAAM,CAAC,MAAM,SAAS,GAA4B,CAAC,GAAG,EAAE;IACtD,MAAM,GAAG,GAAG,EAA6B,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAsC,EAAE,CAAC;QAC3F,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3C,GAAG,CAAC,WAAW,GAAG,oBAAoB,CAAC;IACvC,GAAG,CAAC,KAAK,GAAG,cAAc,CAAC;IAC3B,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,EAAE,CAAC;AAEL,wFAAwF;AACxF,uFAAuF;AACvF,MAAM,CAAC,MAAM,sBAAsB,GAAU,YAAY,CAAC,MAAM,CAAC"}
|
package/dist/oklch.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare const luminance: (c: Oklch) => number;
|
|
|
9
9
|
export declare function contrast(a: Oklch, b: Oklch): number;
|
|
10
10
|
export declare function contrastEmitted(a: Oklch, b: Oklch): number;
|
|
11
11
|
export declare function compositeEmitted(over: Oklch, alpha: number, under: Oklch): Oklch;
|
|
12
|
+
export declare function compositeCssAlpha(over: Oklch, alpha: number, under: Oklch): Oklch;
|
|
12
13
|
export declare function hexToOklch(value: string): Oklch;
|
|
13
14
|
export declare function solveLightness(chroma: number, hue: number, background: Oklch, target: number, direction: SolveDirection): number;
|
|
14
15
|
//# sourceMappingURL=oklch.d.ts.map
|
package/dist/oklch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oklch.d.ts","sourceRoot":"","sources":["../src/oklch.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC9E,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7E,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,CAAC;AAE3C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAa7E;AAGD,eAAO,MAAM,OAAO,GAAI,GAAG,KAAK,KAAG,OACkD,CAAC;AAMtF,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAGpC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,KAAK,KAAG,MAGpC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAGnD;AASD,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAK1D;AAUD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"oklch.d.ts","sourceRoot":"","sources":["../src/oklch.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC9E,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7E,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,CAAC;AAE3C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAa7E;AAGD,eAAO,MAAM,OAAO,GAAI,GAAG,KAAK,KAAG,OACkD,CAAC;AAMtF,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAGpC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,KAAK,KAAG,MAGpC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAGnD;AASD,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAK1D;AAUD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAEhF;AAID,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAOjF;AASD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAa/C;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,KAAK,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,cAAc,GACxB,MAAM,CASR"}
|
package/dist/oklch.js
CHANGED
|
@@ -37,7 +37,7 @@ const srgbLuminance = (channels) => {
|
|
|
37
37
|
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
38
38
|
};
|
|
39
39
|
// A user measures the 8-bit hex that ships, not the ideal OKLCH. Rounding moves the ratio
|
|
40
|
-
//
|
|
40
|
+
// near a floor; roundingShift measures the largest gap on its documented grid.
|
|
41
41
|
export function contrastEmitted(a, b) {
|
|
42
42
|
const quantise = (c) => oklchToLinearSrgb(...c).map(clamp).map(encode).map((v) => Math.round(clamp(v) * 255) / 255);
|
|
43
43
|
const [hi, lo] = [srgbLuminance(quantise(a)), srgbLuminance(quantise(b))].sort((x, y) => y - x);
|
|
@@ -51,7 +51,18 @@ const emittedChannels = (c) => {
|
|
|
51
51
|
// A decoration ships as an 8-bit colour and an 8-bit alpha byte, and the renderer blends
|
|
52
52
|
// those bytes. Compositing in OKLCH instead would miss the rounding on both operands.
|
|
53
53
|
export function compositeEmitted(over, alpha, under) {
|
|
54
|
-
|
|
54
|
+
return compositeChannels(over, Math.round(clamp(alpha) * 255) / 255, under);
|
|
55
|
+
}
|
|
56
|
+
// CSS colours are premultiplied to bytes by Skia before source-over blending. The
|
|
57
|
+
// destination uses a 256-step scale, so repeated layers differ from exact interpolation.
|
|
58
|
+
export function compositeCssAlpha(over, alpha, under) {
|
|
59
|
+
const a = Math.round(clamp(alpha) * 255);
|
|
60
|
+
const front = emittedChannels(over);
|
|
61
|
+
const back = emittedChannels(under);
|
|
62
|
+
const blend = front.map((v, i) => Math.min(255, Math.round(v * a / 255) + Math.floor(back[i] * (256 - a) / 256)));
|
|
63
|
+
return hexToOklch('#' + blend.map((v) => v.toString(16).padStart(2, '0')).join(''));
|
|
64
|
+
}
|
|
65
|
+
function compositeChannels(over, a, under) {
|
|
55
66
|
const front = emittedChannels(over);
|
|
56
67
|
const back = emittedChannels(under);
|
|
57
68
|
const blend = front.map((v, i) => Math.round(v * a + back[i] * (1 - a)));
|
package/dist/oklch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oklch.js","sourceRoot":"","sources":["../src/oklch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"oklch.js","sourceRoot":"","sources":["../src/oklch.ts"],"names":[],"mappings":"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"}
|
package/dist/palette.d.ts
CHANGED
|
@@ -99,18 +99,22 @@ export interface Overlay {
|
|
|
99
99
|
readonly color: Oklch;
|
|
100
100
|
readonly alpha: number;
|
|
101
101
|
}
|
|
102
|
+
export type DecorationName = 'selectionHighlight' | 'inactiveSelection' | 'findRange' | 'rangeHighlight' | 'fold';
|
|
103
|
+
export type SecondaryDecorationName = 'hover' | 'symbol' | 'strongWord' | 'stackFrame' | 'focusedStackFrame' | 'bracketMatch' | 'commentRange' | 'activeCommentRange' | 'unchangedCode' | 'mergeCurrentHeader' | 'mergeIncomingHeader' | 'mergeCommonHeader' | 'mergeChange' | 'mergeChangeWord' | 'searchMatch' | 'covered' | 'uncovered';
|
|
104
|
+
export declare const decoration: Record<DecorationName, Overlay>;
|
|
105
|
+
export declare const secondaryDecoration: Record<SecondaryDecorationName, Overlay>;
|
|
102
106
|
export declare const overlay: {
|
|
103
107
|
readonly selection: {
|
|
104
108
|
readonly color: readonly [0.48, 0.195, 260];
|
|
105
109
|
readonly alpha: 0.39;
|
|
106
110
|
};
|
|
107
111
|
readonly findMatchOther: {
|
|
108
|
-
readonly color: readonly [0.
|
|
112
|
+
readonly color: readonly [0.36, 0.07, 90];
|
|
109
113
|
readonly alpha: 0.4;
|
|
110
114
|
};
|
|
111
115
|
readonly wordHighlight: {
|
|
112
|
-
readonly color:
|
|
113
|
-
readonly alpha: 0.
|
|
116
|
+
readonly color: readonly [0.38, 0.2, 264];
|
|
117
|
+
readonly alpha: 0.45;
|
|
114
118
|
};
|
|
115
119
|
readonly lineHighlight: {
|
|
116
120
|
readonly color: Oklch;
|