@fibery/ui-kit 2.1.0 → 2.1.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/CHANGELOG.md +8 -0
- package/package.json +6 -3
- package/src/@types/react-color.d.ts +36 -0
- package/src/antd/{Tabs.js → Tabs.tsx} +5 -2
- package/src/color-filter.test.ts +24 -65
- package/src/color-filter.ts +62 -93
- package/src/color-picker/{ColorPickerOrLoader.js → ColorPickerOrLoader.tsx} +1 -1
- package/src/color-picker/{index.js → index.tsx} +32 -6
- package/src/color-utils.ts +3 -9
- package/src/design-system/colors-css.ts +16 -0
- package/src/design-system/colors.ts +23 -45
- package/src/design-system/def.ts +17 -0
- package/src/design-system/theme.ts +6 -2
- package/src/design-system/types.ts +102 -0
- package/src/design-system/vars.test.ts +9 -2
- package/src/design-system/vars.ts +4 -2
- package/src/design-system.ts +9 -1
- package/src/emoji-picker/emoji-picker-content-with-color.tsx +3 -3
- package/src/heat.ts +8 -0
- package/src/highlight-colors.test.ts +68 -0
- package/src/highlight-colors.ts +91 -0
- package/src/link-input/components/{AntTextAreaWithCustomReadState.js → AntTextAreaWithCustomReadState.tsx} +19 -8
- package/src/link-input/index.tsx +94 -0
- package/src/link-input/{utils.js → utils.ts} +1 -6
- package/src/number-input/decimal.ts +50 -0
- package/src/number-input/utils.ts +2 -2
- package/src/palette-generator.test.ts +2 -1
- package/src/palette-generator.ts +8 -26
- package/src/palettes/_.ts +2 -2
- package/src/palettes/common.ts +31 -0
- package/src/palettes/diff-colors.ts +29 -12
- package/src/palettes/inspect.defs.colors.neutral-arch.test.ts +72 -36
- package/src/palettes/inspect.defs.colors.neutral-user.test.ts +72 -36
- package/src/palettes/inspect.defs.colors.warm-arch.test.ts +226 -190
- package/src/palettes/inspect.defs.colors.warm-user.test.ts +226 -190
- package/src/palettes/neutral-arch.ts +3 -3
- package/src/palettes/neutral-user.ts +3 -3
- package/src/palettes/neutral.ts +4 -2
- package/src/palettes/warm-arch.ts +3 -3
- package/src/palettes/warm-user.ts +3 -3
- package/src/palettes/warm.ts +4 -3
- package/src/pretty-size.ts +5 -2
- package/src/root-theme-provider.test.tsx +1 -1
- package/src/scale-generator.ts +1 -32
- package/src/select/components/menu-list-virtua.tsx +127 -0
- package/src/select/index.tsx +1 -1
- package/src/select/reflection.ts +22 -0
- package/src/select/select.tsx +1 -0
- package/src/static-palettes.ts +2 -1
- package/src/thematic-color-picker.tsx +8 -1
- package/src/thematic-constants.tsx +2 -0
- package/src/thematic-controls.tsx +9 -1
- package/src/thematic-cvd.tsx +73 -0
- package/src/thematic-highlights.tsx +49 -0
- package/src/thematic-scales.tsx +8 -6
- package/src/thematic-state.ts +37 -16
- package/src/thematic.tsx +298 -305
- package/src/theme-provider.tsx +9 -3
- package/src/theme-styles.ts +2 -1
- package/src/link-input/index.js +0 -89
- package/src/number-input/decimal.js +0 -61
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import isNil from "lodash/isNil";
|
|
2
|
+
import trimEnd from "lodash/trimEnd";
|
|
3
|
+
|
|
4
|
+
type NumericValue = string | number | null | undefined;
|
|
5
|
+
|
|
6
|
+
const isEmpty = (value: NumericValue): value is null | undefined | "" => isNil(value) || value === "";
|
|
7
|
+
|
|
8
|
+
const getPrecision = (value: NumericValue) => {
|
|
9
|
+
if (isEmpty(value)) {
|
|
10
|
+
return 0;
|
|
11
|
+
}
|
|
12
|
+
const [, decimalPart = ""] = String(value).split(".");
|
|
13
|
+
return decimalPart.length;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const removeTrailingZeros = (value: string) => {
|
|
17
|
+
if (isEmpty(value)) {
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
const hasDecimalPart = value.indexOf(".") > 0;
|
|
21
|
+
return hasDecimalPart ? trimEnd(trimEnd(value, "0"), ".") : value;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const add = (first: NumericValue, second: NumericValue) => {
|
|
25
|
+
const result = Number(first) + Number(second);
|
|
26
|
+
const maxPrecision = Math.max(getPrecision(first), getPrecision(second));
|
|
27
|
+
return removeTrailingZeros(result.toFixed(maxPrecision));
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const sub = (first: NumericValue, second: NumericValue) => {
|
|
31
|
+
return removeTrailingZeros(add(first, -(second as number)));
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export const multiplyByHundred = (value: NumericValue) => {
|
|
35
|
+
if (isEmpty(value)) {
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
const result = Number(value) * 100;
|
|
39
|
+
const precision = Math.max(0, getPrecision(value) - 2);
|
|
40
|
+
return removeTrailingZeros(result.toFixed(precision));
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export const divideByHundred = (value: NumericValue) => {
|
|
44
|
+
if (isEmpty(value)) {
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
const result = Number(value) / 100;
|
|
48
|
+
const precision = getPrecision(value) + 2;
|
|
49
|
+
return removeTrailingZeros(result.toFixed(precision));
|
|
50
|
+
};
|
|
@@ -53,8 +53,8 @@ export const parseValue = (value: Value, numberFormat: NumberFormat, numberPreci
|
|
|
53
53
|
return numberFormat === "Percent" ? divideByHundred(value) : value;
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
const toString = (value: number | null) => {
|
|
57
|
-
return value === null
|
|
56
|
+
const toString = (value: string | number | null | undefined) => {
|
|
57
|
+
return value === null || value === undefined ? null : String(value);
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
return toString(internalizeNumber(parse(value)));
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {getAlpha, oklchFrom} from "./color-utils";
|
|
2
|
-
import {
|
|
2
|
+
import {makeThematicPalette, selectPalette} from "./palette-generator";
|
|
3
3
|
import {zeroBasedFromOneBased} from "./scale-generator";
|
|
4
|
+
import type {ColorScale} from "./design-system/types";
|
|
4
5
|
|
|
5
6
|
function roundToThreeDigits(number: number) {
|
|
6
7
|
return Math.round(number * 1000) / 1000;
|
package/src/palette-generator.ts
CHANGED
|
@@ -12,36 +12,15 @@ import {
|
|
|
12
12
|
generatePresetScale,
|
|
13
13
|
generateWhites,
|
|
14
14
|
type InterpolatedScaleConfig,
|
|
15
|
-
OneBasedScale,
|
|
16
15
|
paletteFromHue,
|
|
17
16
|
paletteFromHueBoth,
|
|
18
17
|
SCALE_PRESETS,
|
|
19
18
|
type ScaleConfig,
|
|
20
19
|
type ScaleCurves,
|
|
21
|
-
type ZeroBasedScale,
|
|
22
20
|
} from "./scale-generator";
|
|
23
21
|
import {type ColorFilterSpec} from "./color-filter";
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
export interface ThemePalette {
|
|
28
|
-
key: string;
|
|
29
|
-
white: string;
|
|
30
|
-
black: string;
|
|
31
|
-
whiteA: ColorScale;
|
|
32
|
-
blackA: ColorScale;
|
|
33
|
-
base: ColorScale;
|
|
34
|
-
baseDark: ColorScale;
|
|
35
|
-
accent: ColorScale;
|
|
36
|
-
accentDark: ColorScale;
|
|
37
|
-
red: ColorScale;
|
|
38
|
-
redDark: ColorScale;
|
|
39
|
-
teal: ColorScale;
|
|
40
|
-
tealDark: ColorScale;
|
|
41
|
-
yellow: ColorScale;
|
|
42
|
-
yellowDark: ColorScale;
|
|
43
|
-
deneutralize?: ColorFilterSpec;
|
|
44
|
-
}
|
|
22
|
+
import {common} from "./palettes/common";
|
|
23
|
+
import type {HighlightDefs, ModeDef, ThemePalette, ZeroBasedScale} from "./design-system/types";
|
|
45
24
|
|
|
46
25
|
export function selectPalette({
|
|
47
26
|
warmLook = false,
|
|
@@ -64,7 +43,8 @@ export type ThematicPrefs = {
|
|
|
64
43
|
accentChroma: number;
|
|
65
44
|
hueShiftTargetHue?: number;
|
|
66
45
|
hueShiftAmount?: number;
|
|
67
|
-
filter?: Partial<ColorFilterSpec
|
|
46
|
+
filter?: ModeDef<Partial<ColorFilterSpec>>;
|
|
47
|
+
highlight: HighlightDefs;
|
|
68
48
|
};
|
|
69
49
|
|
|
70
50
|
export function shiftHueTowards(hue: number, targetHue: number, amount: number): number {
|
|
@@ -77,8 +57,9 @@ export function shiftHueTowards(hue: number, targetHue: number, amount: number):
|
|
|
77
57
|
return (hue + diff * amount + 360) % 360;
|
|
78
58
|
}
|
|
79
59
|
|
|
80
|
-
|
|
81
|
-
|
|
60
|
+
const defaultHighlight = common.highlight;
|
|
61
|
+
export function makeThematicPalette(config: Omit<ThematicPrefs, "highlight"> & Partial<ThematicPrefs>): ThemePalette {
|
|
62
|
+
const {accentHue, accentChroma, highlight = defaultHighlight} = config;
|
|
82
63
|
const baseChroma = config.baseChroma ?? 0;
|
|
83
64
|
const baseHue = config.hueShiftTargetHue ?? config.baseHue ?? 0;
|
|
84
65
|
const hueShift = config.hueShiftAmount ?? Math.min(baseChroma * 2, 0.3);
|
|
@@ -128,6 +109,7 @@ export function makeThematicPalette(config: ThematicPrefs): ThemePalette {
|
|
|
128
109
|
yellow,
|
|
129
110
|
yellowDark,
|
|
130
111
|
deneutralize: config.filter,
|
|
112
|
+
highlight,
|
|
131
113
|
};
|
|
132
114
|
}
|
|
133
115
|
|
package/src/palettes/_.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {cardTypeColors, defsFromPalette} from "../design-system/colors";
|
|
2
2
|
import {inspectColor, isValidColor} from "../color-utils";
|
|
3
|
-
import {ThemePalette} from "../palette-generator";
|
|
4
3
|
import {backgrounds, type ColorDef, sections, stickers} from "../canvas-colors";
|
|
4
|
+
import type {ThemePalette} from "../design-system/types";
|
|
5
5
|
|
|
6
6
|
const COLOR_PREFIXES = ["rgba(", "rgb(", "hsla(", "hsl("] as const;
|
|
7
7
|
const HEX_CHARS = "0123456789abcdefABCDEF";
|
|
@@ -110,6 +110,6 @@ export function colors(palette: ThemePalette) {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
export function palette(palette: ThemePalette) {
|
|
113
|
-
const {deneutralize: _, ...rest} = palette;
|
|
113
|
+
const {deneutralize: _, highlight: _h, ...rest} = palette;
|
|
114
114
|
return deepMapColors(rest);
|
|
115
115
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type {ThemePaletteBase} from "../design-system/types";
|
|
2
|
+
|
|
3
|
+
export const common: ThemePaletteBase = {
|
|
4
|
+
highlight: {
|
|
5
|
+
hues: {
|
|
6
|
+
yellow: 85,
|
|
7
|
+
green: 134,
|
|
8
|
+
aquamarine: 163,
|
|
9
|
+
aqua: 185,
|
|
10
|
+
blue: 254,
|
|
11
|
+
purple: 310,
|
|
12
|
+
pink: 345,
|
|
13
|
+
red: 25,
|
|
14
|
+
grey: 265,
|
|
15
|
+
},
|
|
16
|
+
bg: [
|
|
17
|
+
{c: 0.065, Lc: 8},
|
|
18
|
+
{c: 0.065, Lc: 8},
|
|
19
|
+
],
|
|
20
|
+
fg: [
|
|
21
|
+
{c: 0.25, Lc: 65},
|
|
22
|
+
{c: 0.12, Lc: 65},
|
|
23
|
+
],
|
|
24
|
+
overrides: {
|
|
25
|
+
grey: {
|
|
26
|
+
bg: [{c: 0}, {c: 0}],
|
|
27
|
+
fg: [{c: 0}, {c: 0}],
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -134,24 +134,26 @@ function differentTypes(valActual: unknown, valExpected: unknown) {
|
|
|
134
134
|
);
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
function computeColorReport(actual: ColorDefs, expected: ColorDefs) {
|
|
137
|
+
export function computeColorReport(actual: ColorDefs, expected: ColorDefs) {
|
|
138
138
|
const changes: object[] = [];
|
|
139
|
+
const pairFirst: object[] = [];
|
|
140
|
+
const pairSecond: object[] = [];
|
|
139
141
|
|
|
140
142
|
function compare(aStr: string, eStr: string, path: string) {
|
|
141
143
|
if (eStr === aStr) {
|
|
142
|
-
return;
|
|
144
|
+
return null;
|
|
143
145
|
}
|
|
144
146
|
if (eStr === "none" || aStr === "none") {
|
|
145
147
|
console.error("skip %o expected = %o vs %o actual", path, eStr, aStr);
|
|
146
|
-
return;
|
|
148
|
+
return null;
|
|
147
149
|
}
|
|
148
150
|
const actual = extractColorOrThrow(aStr);
|
|
149
151
|
const expected = extractColorOrThrow(eStr);
|
|
150
152
|
if (actual === null || expected === null) {
|
|
151
153
|
console.error("skip %o expected = %o vs %o actual (not a color)", path, eStr, aStr);
|
|
152
|
-
return;
|
|
154
|
+
return null;
|
|
153
155
|
}
|
|
154
|
-
|
|
156
|
+
return {
|
|
155
157
|
path,
|
|
156
158
|
...mapValues(
|
|
157
159
|
{
|
|
@@ -162,7 +164,7 @@ function computeColorReport(actual: ColorDefs, expected: ColorDefs) {
|
|
|
162
164
|
[inspect.custom]: () => x,
|
|
163
165
|
})
|
|
164
166
|
),
|
|
165
|
-
}
|
|
167
|
+
};
|
|
166
168
|
}
|
|
167
169
|
|
|
168
170
|
const keys = new Set([...Object.keys(actual), ...Object.keys(expected)] as Array<keyof ColorDefs>);
|
|
@@ -174,27 +176,42 @@ function computeColorReport(actual: ColorDefs, expected: ColorDefs) {
|
|
|
174
176
|
continue;
|
|
175
177
|
}
|
|
176
178
|
if (typeof valActual === "string" || typeof valExpected === "string") {
|
|
177
|
-
compare(valActual as string, valExpected as string, key);
|
|
179
|
+
const row = compare(valActual as string, valExpected as string, key);
|
|
180
|
+
if (row) {
|
|
181
|
+
changes.push(row);
|
|
182
|
+
}
|
|
178
183
|
continue;
|
|
179
184
|
}
|
|
180
185
|
const len = Math.max(valActual.length, valExpected.length);
|
|
186
|
+
const isPair = len === 2;
|
|
187
|
+
const pairSuffix = isPair ? [".light", ".dark"] : undefined;
|
|
181
188
|
for (let i = 0; i < len; i++) {
|
|
182
|
-
const path = `${key}[${i}]`;
|
|
189
|
+
const path = `${key}${pairSuffix ? pairSuffix[i] : `[${i}]`}`;
|
|
183
190
|
const elActual = valActual[i];
|
|
184
191
|
const elExpected = valExpected[i];
|
|
185
192
|
if (differentTypes(elActual, elExpected)) {
|
|
186
193
|
console.error("skip %o expected = %o vs %o actual (likely new or gone value)", path, elExpected, elActual);
|
|
187
194
|
continue;
|
|
188
195
|
}
|
|
196
|
+
const target = isPair ? (i === 0 ? pairFirst : pairSecond) : changes;
|
|
189
197
|
if (typeof elActual === "string" || typeof elExpected === "string") {
|
|
190
|
-
compare(elActual as string, elExpected as string, path);
|
|
198
|
+
const row = compare(elActual as string, elExpected as string, path);
|
|
199
|
+
if (row) {
|
|
200
|
+
target.push(row);
|
|
201
|
+
}
|
|
191
202
|
} else {
|
|
192
|
-
compare(elActual[0], elExpected[0], `${path}.light`);
|
|
193
|
-
|
|
203
|
+
const lightRow = compare(elActual[0], elExpected[0], `${path}.light`);
|
|
204
|
+
if (lightRow) {
|
|
205
|
+
target.push(lightRow);
|
|
206
|
+
}
|
|
207
|
+
const darkRow = compare(elActual[1], elExpected[1], `${path}.dark`);
|
|
208
|
+
if (darkRow) {
|
|
209
|
+
target.push(darkRow);
|
|
210
|
+
}
|
|
194
211
|
}
|
|
195
212
|
}
|
|
196
213
|
}
|
|
197
|
-
return changes;
|
|
214
|
+
return [...pairFirst, ...pairSecond, ...changes];
|
|
198
215
|
}
|
|
199
216
|
|
|
200
217
|
function findTestAnchor(source: string, currentTestName: string): number {
|
|
@@ -1582,76 +1582,112 @@ test("snapshot", () => {
|
|
|
1582
1582
|
"#713a18 | hsl(23 65% 27%) | oklch(0.41 0.09 50) ",
|
|
1583
1583
|
],
|
|
1584
1584
|
"highlightBgAqua": [
|
|
1585
|
-
"#
|
|
1586
|
-
"#
|
|
1585
|
+
"#baf9f0 | hsl(171 84% 85%) | oklch(0.94 0.06 185) ",
|
|
1586
|
+
"#004a43 | hsl(174 100% 15%) | oklch(0.37 0.07 184) ",
|
|
1587
1587
|
],
|
|
1588
1588
|
"highlightBgAquamarine": [
|
|
1589
|
-
"#
|
|
1590
|
-
"#
|
|
1589
|
+
"#c4f9df | hsl(151 82% 87%) | oklch(0.94 0.06 164) ",
|
|
1590
|
+
"#174a35 | hsl(155 53% 19%) | oklch(0.37 0.07 163) ",
|
|
1591
1591
|
],
|
|
1592
1592
|
"highlightBgBlue": [
|
|
1593
|
-
"#
|
|
1594
|
-
"#
|
|
1593
|
+
"#e1eeff | hsl(214 100% 94%) | oklch(0.94 0.03 255) ",
|
|
1594
|
+
"#284363 | hsl(213 42% 27%) | oklch(0.38 0.06 254) ",
|
|
1595
1595
|
],
|
|
1596
1596
|
"highlightBgGreen": [
|
|
1597
|
-
"#
|
|
1598
|
-
"#
|
|
1597
|
+
"#daf5c9 | hsl(97 69% 87%) | oklch(0.94 0.06 133) ",
|
|
1598
|
+
"#324823 | hsl(96 35% 21%) | oklch(0.37 0.07 134) ",
|
|
1599
1599
|
],
|
|
1600
1600
|
"highlightBgGrey": [
|
|
1601
|
-
"#
|
|
1602
|
-
"#
|
|
1601
|
+
"#ededed | hsl(none 0% 93%) | oklch(0.95 0 none) ",
|
|
1602
|
+
"#424242 | hsl(none 0% 26%) | oklch(0.38 0 none) ",
|
|
1603
1603
|
],
|
|
1604
1604
|
"highlightBgPink": [
|
|
1605
|
-
"#
|
|
1606
|
-
"#
|
|
1605
|
+
"#ffe7f3 | hsl(330 100% 95%) | oklch(0.95 0.03 346) ",
|
|
1606
|
+
"#5c354b | hsl(326 27% 28%) | oklch(0.38 0.06 346) ",
|
|
1607
1607
|
],
|
|
1608
1608
|
"highlightBgPurple": [
|
|
1609
|
-
"#
|
|
1610
|
-
"#
|
|
1609
|
+
"#f5e8ff | hsl(274 100% 95%) | oklch(0.95 0.03 311) ",
|
|
1610
|
+
"#4e395e | hsl(274 25% 30%) | oklch(0.38 0.07 310) ",
|
|
1611
1611
|
],
|
|
1612
1612
|
"highlightBgRed": [
|
|
1613
|
-
"#
|
|
1614
|
-
"#
|
|
1613
|
+
"#ffe8e6 | hsl(5 100% 95%) | oklch(0.95 0.03 24) ",
|
|
1614
|
+
"#613531 | hsl(5 33% 29%) | oklch(0.38 0.06 26) ",
|
|
1615
1615
|
],
|
|
1616
1616
|
"highlightBgYellow": [
|
|
1617
|
-
"#
|
|
1618
|
-
"#
|
|
1617
|
+
"#ffebc4 | hsl(40 100% 88%) | oklch(0.95 0.06 84) ",
|
|
1618
|
+
"#513f13 | hsl(43 62% 20%) | oklch(0.38 0.06 86) ",
|
|
1619
1619
|
],
|
|
1620
1620
|
"highlightFgAqua": [
|
|
1621
|
-
"#
|
|
1622
|
-
"#
|
|
1621
|
+
"#009287 | hsl(175 100% 29%) | oklch(0.59 0.1 186) ",
|
|
1622
|
+
"#42cfc0 | hsl(174 59% 54%) | oklch(0.78 0.12 185) ",
|
|
1623
1623
|
],
|
|
1624
1624
|
"highlightFgAquamarine": [
|
|
1625
|
-
"#
|
|
1626
|
-
"#
|
|
1625
|
+
"#009568 | hsl(162 100% 29%) | oklch(0.59 0.13 163) ",
|
|
1626
|
+
"#65cfa0 | hsl(153 52% 60%) | oklch(0.78 0.12 163) ",
|
|
1627
1627
|
],
|
|
1628
1628
|
"highlightFgBlue": [
|
|
1629
|
-
"#
|
|
1630
|
-
"#
|
|
1629
|
+
"#0081f3 | hsl(208 100% 48%) | oklch(0.61 0.19 254) ",
|
|
1630
|
+
"#8abfff | hsl(213 100% 77%) | oklch(0.79 0.11 254) ",
|
|
1631
1631
|
],
|
|
1632
1632
|
"highlightFgGreen": [
|
|
1633
|
-
"#
|
|
1634
|
-
"#
|
|
1633
|
+
"#509300 | hsl(87 100% 29%) | oklch(0.59 0.17 134) ",
|
|
1634
|
+
"#99ca79 | hsl(96 43% 63%) | oklch(0.79 0.12 134) ",
|
|
1635
1635
|
],
|
|
1636
1636
|
"highlightFgGrey": [
|
|
1637
|
-
"#
|
|
1638
|
-
"#
|
|
1637
|
+
"#838383 | hsl(none 0% 51%) | oklch(0.61 0 none) ",
|
|
1638
|
+
"#bcbcbc | hsl(none 0% 74%) | oklch(0.8 0 none) ",
|
|
1639
|
+
],
|
|
1640
|
+
"highlightFgOnBgAqua": [
|
|
1641
|
+
"#00796f | hsl(175 100% 24%) | oklch(0.52 0.09 185) ",
|
|
1642
|
+
"#57e0d0 | hsl(173 69% 61%) | oklch(0.83 0.12 184) ",
|
|
1643
|
+
],
|
|
1644
|
+
"highlightFgOnBgAquamarine": [
|
|
1645
|
+
"#007b55 | hsl(161 100% 24%) | oklch(0.52 0.11 163) ",
|
|
1646
|
+
"#76e0b1 | hsl(153 63% 67%) | oklch(0.83 0.12 163) ",
|
|
1647
|
+
],
|
|
1648
|
+
"highlightFgOnBgBlue": [
|
|
1649
|
+
"#006ac9 | hsl(208 100% 39%) | oklch(0.53 0.17 254) ",
|
|
1650
|
+
"#a7cfff | hsl(213 100% 83%) | oklch(0.84 0.08 253) ",
|
|
1651
|
+
],
|
|
1652
|
+
"highlightFgOnBgGreen": [
|
|
1653
|
+
"#417900 | hsl(88 100% 24%) | oklch(0.52 0.15 134) ",
|
|
1654
|
+
"#a8da88 | hsl(97 53% 69%) | oklch(0.83 0.12 134) ",
|
|
1655
|
+
],
|
|
1656
|
+
"highlightFgOnBgGrey": [
|
|
1657
|
+
"#6c6c6c | hsl(none 0% 42%) | oklch(0.53 0 none) ",
|
|
1658
|
+
"#cccccc | hsl(none 0% 80%) | oklch(0.85 0 none) ",
|
|
1659
|
+
],
|
|
1660
|
+
"highlightFgOnBgPink": [
|
|
1661
|
+
"#c4008e | hsl(317 100% 38%) | oklch(0.55 0.23 345) ",
|
|
1662
|
+
"#ffb6de | hsl(327 100% 86%) | oklch(0.86 0.1 345) ",
|
|
1663
|
+
],
|
|
1664
|
+
"highlightFgOnBgPurple": [
|
|
1665
|
+
"#9e29db | hsl(279 71% 51%) | oklch(0.55 0.25 310) ",
|
|
1666
|
+
"#e3beff | hsl(274 100% 87%) | oklch(0.85 0.1 310) ",
|
|
1667
|
+
],
|
|
1668
|
+
"highlightFgOnBgRed": [
|
|
1669
|
+
"#cf0021 | hsl(350 100% 41%) | oklch(0.54 0.22 25) ",
|
|
1670
|
+
"#ffbbb4 | hsl(6 100% 85%) | oklch(0.85 0.08 26) ",
|
|
1671
|
+
],
|
|
1672
|
+
"highlightFgOnBgYellow": [
|
|
1673
|
+
"#8a6700 | hsl(45 100% 27%) | oklch(0.53 0.11 85) ",
|
|
1674
|
+
"#f0c66a | hsl(41 82% 68%) | oklch(0.84 0.12 85) ",
|
|
1639
1675
|
],
|
|
1640
1676
|
"highlightFgPink": [
|
|
1641
|
-
"#
|
|
1642
|
-
"#
|
|
1677
|
+
"#e826ac | hsl(319 81% 53%) | oklch(0.63 0.25 345) ",
|
|
1678
|
+
"#f8a1d2 | hsl(326 86% 80%) | oklch(0.81 0.12 345) ",
|
|
1643
1679
|
],
|
|
1644
1680
|
"highlightFgPurple": [
|
|
1645
|
-
"#
|
|
1646
|
-
"#
|
|
1681
|
+
"#b94cf9 | hsl(278 94% 64%) | oklch(0.64 0.25 310) ",
|
|
1682
|
+
"#d7aafa | hsl(274 89% 82%) | oklch(0.81 0.12 310) ",
|
|
1647
1683
|
],
|
|
1648
1684
|
"highlightFgRed": [
|
|
1649
|
-
"#
|
|
1650
|
-
"#
|
|
1685
|
+
"#fa0a2c | hsl(352 96% 51%) | oklch(0.62 0.25 25) ",
|
|
1686
|
+
"#ffa39b | hsl(5 100% 80%) | oklch(0.81 0.11 25) ",
|
|
1651
1687
|
],
|
|
1652
1688
|
"highlightFgYellow": [
|
|
1653
|
-
"#
|
|
1654
|
-
"#
|
|
1689
|
+
"#a67d00 | hsl(45 100% 33%) | oklch(0.61 0.13 85) ",
|
|
1690
|
+
"#dfb65a | hsl(42 68% 61%) | oklch(0.79 0.12 85) ",
|
|
1655
1691
|
],
|
|
1656
1692
|
"iconColor": [
|
|
1657
1693
|
"#171717b3 | hsl(none 0% 9% / 0.7) | oklch(0.2 0 none / 0.7) ",
|
|
@@ -1582,76 +1582,112 @@ test("snapshot", () => {
|
|
|
1582
1582
|
"#2d4786 | hsl(222 50% 35%) | oklch(0.41 0.11 265) ",
|
|
1583
1583
|
],
|
|
1584
1584
|
"highlightBgAqua": [
|
|
1585
|
-
"#
|
|
1586
|
-
"#
|
|
1585
|
+
"#baf9f0 | hsl(171 84% 85%) | oklch(0.94 0.06 185) ",
|
|
1586
|
+
"#004a43 | hsl(174 100% 15%) | oklch(0.37 0.07 184) ",
|
|
1587
1587
|
],
|
|
1588
1588
|
"highlightBgAquamarine": [
|
|
1589
|
-
"#
|
|
1590
|
-
"#
|
|
1589
|
+
"#c4f9df | hsl(151 82% 87%) | oklch(0.94 0.06 164) ",
|
|
1590
|
+
"#174a35 | hsl(155 53% 19%) | oklch(0.37 0.07 163) ",
|
|
1591
1591
|
],
|
|
1592
1592
|
"highlightBgBlue": [
|
|
1593
|
-
"#
|
|
1594
|
-
"#
|
|
1593
|
+
"#e1eeff | hsl(214 100% 94%) | oklch(0.94 0.03 255) ",
|
|
1594
|
+
"#284363 | hsl(213 42% 27%) | oklch(0.38 0.06 254) ",
|
|
1595
1595
|
],
|
|
1596
1596
|
"highlightBgGreen": [
|
|
1597
|
-
"#
|
|
1598
|
-
"#
|
|
1597
|
+
"#daf5c9 | hsl(97 69% 87%) | oklch(0.94 0.06 133) ",
|
|
1598
|
+
"#324823 | hsl(96 35% 21%) | oklch(0.37 0.07 134) ",
|
|
1599
1599
|
],
|
|
1600
1600
|
"highlightBgGrey": [
|
|
1601
|
-
"#
|
|
1602
|
-
"#
|
|
1601
|
+
"#ededed | hsl(none 0% 93%) | oklch(0.95 0 none) ",
|
|
1602
|
+
"#424242 | hsl(none 0% 26%) | oklch(0.38 0 none) ",
|
|
1603
1603
|
],
|
|
1604
1604
|
"highlightBgPink": [
|
|
1605
|
-
"#
|
|
1606
|
-
"#
|
|
1605
|
+
"#ffe7f3 | hsl(330 100% 95%) | oklch(0.95 0.03 346) ",
|
|
1606
|
+
"#5c354b | hsl(326 27% 28%) | oklch(0.38 0.06 346) ",
|
|
1607
1607
|
],
|
|
1608
1608
|
"highlightBgPurple": [
|
|
1609
|
-
"#
|
|
1610
|
-
"#
|
|
1609
|
+
"#f5e8ff | hsl(274 100% 95%) | oklch(0.95 0.03 311) ",
|
|
1610
|
+
"#4e395e | hsl(274 25% 30%) | oklch(0.38 0.07 310) ",
|
|
1611
1611
|
],
|
|
1612
1612
|
"highlightBgRed": [
|
|
1613
|
-
"#
|
|
1614
|
-
"#
|
|
1613
|
+
"#ffe8e6 | hsl(5 100% 95%) | oklch(0.95 0.03 24) ",
|
|
1614
|
+
"#613531 | hsl(5 33% 29%) | oklch(0.38 0.06 26) ",
|
|
1615
1615
|
],
|
|
1616
1616
|
"highlightBgYellow": [
|
|
1617
|
-
"#
|
|
1618
|
-
"#
|
|
1617
|
+
"#ffebc4 | hsl(40 100% 88%) | oklch(0.95 0.06 84) ",
|
|
1618
|
+
"#513f13 | hsl(43 62% 20%) | oklch(0.38 0.06 86) ",
|
|
1619
1619
|
],
|
|
1620
1620
|
"highlightFgAqua": [
|
|
1621
|
-
"#
|
|
1622
|
-
"#
|
|
1621
|
+
"#009287 | hsl(175 100% 29%) | oklch(0.59 0.1 186) ",
|
|
1622
|
+
"#42cfc0 | hsl(174 59% 54%) | oklch(0.78 0.12 185) ",
|
|
1623
1623
|
],
|
|
1624
1624
|
"highlightFgAquamarine": [
|
|
1625
|
-
"#
|
|
1626
|
-
"#
|
|
1625
|
+
"#009568 | hsl(162 100% 29%) | oklch(0.59 0.13 163) ",
|
|
1626
|
+
"#65cfa0 | hsl(153 52% 60%) | oklch(0.78 0.12 163) ",
|
|
1627
1627
|
],
|
|
1628
1628
|
"highlightFgBlue": [
|
|
1629
|
-
"#
|
|
1630
|
-
"#
|
|
1629
|
+
"#0081f3 | hsl(208 100% 48%) | oklch(0.61 0.19 254) ",
|
|
1630
|
+
"#8abfff | hsl(213 100% 77%) | oklch(0.79 0.11 254) ",
|
|
1631
1631
|
],
|
|
1632
1632
|
"highlightFgGreen": [
|
|
1633
|
-
"#
|
|
1634
|
-
"#
|
|
1633
|
+
"#509300 | hsl(87 100% 29%) | oklch(0.59 0.17 134) ",
|
|
1634
|
+
"#99ca79 | hsl(96 43% 63%) | oklch(0.79 0.12 134) ",
|
|
1635
1635
|
],
|
|
1636
1636
|
"highlightFgGrey": [
|
|
1637
|
-
"#
|
|
1638
|
-
"#
|
|
1637
|
+
"#838383 | hsl(none 0% 51%) | oklch(0.61 0 none) ",
|
|
1638
|
+
"#bcbcbc | hsl(none 0% 74%) | oklch(0.8 0 none) ",
|
|
1639
|
+
],
|
|
1640
|
+
"highlightFgOnBgAqua": [
|
|
1641
|
+
"#00796f | hsl(175 100% 24%) | oklch(0.52 0.09 185) ",
|
|
1642
|
+
"#57e0d0 | hsl(173 69% 61%) | oklch(0.83 0.12 184) ",
|
|
1643
|
+
],
|
|
1644
|
+
"highlightFgOnBgAquamarine": [
|
|
1645
|
+
"#007b55 | hsl(161 100% 24%) | oklch(0.52 0.11 163) ",
|
|
1646
|
+
"#76e0b1 | hsl(153 63% 67%) | oklch(0.83 0.12 163) ",
|
|
1647
|
+
],
|
|
1648
|
+
"highlightFgOnBgBlue": [
|
|
1649
|
+
"#006ac9 | hsl(208 100% 39%) | oklch(0.53 0.17 254) ",
|
|
1650
|
+
"#a7cfff | hsl(213 100% 83%) | oklch(0.84 0.08 253) ",
|
|
1651
|
+
],
|
|
1652
|
+
"highlightFgOnBgGreen": [
|
|
1653
|
+
"#417900 | hsl(88 100% 24%) | oklch(0.52 0.15 134) ",
|
|
1654
|
+
"#a8da88 | hsl(97 53% 69%) | oklch(0.83 0.12 134) ",
|
|
1655
|
+
],
|
|
1656
|
+
"highlightFgOnBgGrey": [
|
|
1657
|
+
"#6c6c6c | hsl(none 0% 42%) | oklch(0.53 0 none) ",
|
|
1658
|
+
"#cccccc | hsl(none 0% 80%) | oklch(0.85 0 none) ",
|
|
1659
|
+
],
|
|
1660
|
+
"highlightFgOnBgPink": [
|
|
1661
|
+
"#c4008e | hsl(317 100% 38%) | oklch(0.55 0.23 345) ",
|
|
1662
|
+
"#ffb6de | hsl(327 100% 86%) | oklch(0.86 0.1 345) ",
|
|
1663
|
+
],
|
|
1664
|
+
"highlightFgOnBgPurple": [
|
|
1665
|
+
"#9e29db | hsl(279 71% 51%) | oklch(0.55 0.25 310) ",
|
|
1666
|
+
"#e3beff | hsl(274 100% 87%) | oklch(0.85 0.1 310) ",
|
|
1667
|
+
],
|
|
1668
|
+
"highlightFgOnBgRed": [
|
|
1669
|
+
"#cf0021 | hsl(350 100% 41%) | oklch(0.54 0.22 25) ",
|
|
1670
|
+
"#ffbbb4 | hsl(6 100% 85%) | oklch(0.85 0.08 26) ",
|
|
1671
|
+
],
|
|
1672
|
+
"highlightFgOnBgYellow": [
|
|
1673
|
+
"#8a6700 | hsl(45 100% 27%) | oklch(0.53 0.11 85) ",
|
|
1674
|
+
"#f0c66a | hsl(41 82% 68%) | oklch(0.84 0.12 85) ",
|
|
1639
1675
|
],
|
|
1640
1676
|
"highlightFgPink": [
|
|
1641
|
-
"#
|
|
1642
|
-
"#
|
|
1677
|
+
"#e826ac | hsl(319 81% 53%) | oklch(0.63 0.25 345) ",
|
|
1678
|
+
"#f8a1d2 | hsl(326 86% 80%) | oklch(0.81 0.12 345) ",
|
|
1643
1679
|
],
|
|
1644
1680
|
"highlightFgPurple": [
|
|
1645
|
-
"#
|
|
1646
|
-
"#
|
|
1681
|
+
"#b94cf9 | hsl(278 94% 64%) | oklch(0.64 0.25 310) ",
|
|
1682
|
+
"#d7aafa | hsl(274 89% 82%) | oklch(0.81 0.12 310) ",
|
|
1647
1683
|
],
|
|
1648
1684
|
"highlightFgRed": [
|
|
1649
|
-
"#
|
|
1650
|
-
"#
|
|
1685
|
+
"#fa0a2c | hsl(352 96% 51%) | oklch(0.62 0.25 25) ",
|
|
1686
|
+
"#ffa39b | hsl(5 100% 80%) | oklch(0.81 0.11 25) ",
|
|
1651
1687
|
],
|
|
1652
1688
|
"highlightFgYellow": [
|
|
1653
|
-
"#
|
|
1654
|
-
"#
|
|
1689
|
+
"#a67d00 | hsl(45 100% 33%) | oklch(0.61 0.13 85) ",
|
|
1690
|
+
"#dfb65a | hsl(42 68% 61%) | oklch(0.79 0.12 85) ",
|
|
1655
1691
|
],
|
|
1656
1692
|
"iconColor": [
|
|
1657
1693
|
"#171717b3 | hsl(none 0% 9% / 0.7) | oklch(0.2 0 none / 0.7) ",
|