@skbkontur/colors 1.1.2-b2742.0 → 1.1.2-bdb5e.0

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.
Files changed (61) hide show
  1. package/dist/cjs/get-base-tokens.d.ts +9 -7
  2. package/dist/cjs/get-base-tokens.js +69 -101
  3. package/dist/cjs/get-default-tokens.d.ts +130 -92
  4. package/dist/cjs/get-default-tokens.js +257 -219
  5. package/dist/cjs/helpers/get-palette.js +59 -65
  6. package/dist/cjs/helpers/get-promo.js +21 -27
  7. package/dist/cjs/types/base-tokens.d.ts +5 -4
  8. package/dist/cjs/utils/format-variable.d.ts +2 -0
  9. package/dist/cjs/utils/format-variable.js +11 -0
  10. package/dist/esm/get-base-tokens.d.ts +9 -7
  11. package/dist/esm/get-base-tokens.js +67 -95
  12. package/dist/esm/get-default-tokens.d.ts +130 -92
  13. package/dist/esm/get-default-tokens.js +257 -219
  14. package/dist/esm/helpers/get-palette.js +59 -65
  15. package/dist/esm/helpers/get-promo.js +21 -27
  16. package/dist/esm/types/base-tokens.d.ts +5 -4
  17. package/dist/esm/utils/format-variable.d.ts +2 -0
  18. package/dist/esm/utils/format-variable.js +6 -0
  19. package/dist/tokens/base/css/brand-green_accent-brand.css +444 -0
  20. package/dist/tokens/base/css/brand-green_accent-gray.css +354 -0
  21. package/dist/tokens/base/css/brand-orange_accent-brand.css +444 -0
  22. package/dist/tokens/base/css/brand-orange_accent-gray.css +354 -0
  23. package/dist/tokens/base/css/brand-red_accent-brand.css +444 -0
  24. package/dist/tokens/base/css/brand-red_accent-gray.css +354 -0
  25. package/dist/tokens/base/js/brand-green_accent-brand.js +444 -0
  26. package/dist/tokens/base/js/brand-green_accent-gray.js +352 -0
  27. package/dist/tokens/base/js/brand-orange_accent-brand.js +444 -0
  28. package/dist/tokens/base/js/brand-orange_accent-gray.js +352 -0
  29. package/dist/tokens/base/js/brand-red_accent-brand.js +444 -0
  30. package/dist/tokens/base/js/brand-red_accent-gray.js +352 -0
  31. package/dist/tokens/base/js-tree/brand-green_accent-brand.tree.js +515 -0
  32. package/dist/tokens/base/js-tree/brand-green_accent-gray.tree.js +403 -0
  33. package/dist/tokens/base/js-tree/brand-orange_accent-brand.tree.js +515 -0
  34. package/dist/tokens/base/js-tree/brand-orange_accent-gray.tree.js +403 -0
  35. package/dist/tokens/base/js-tree/brand-red_accent-brand.tree.js +515 -0
  36. package/dist/tokens/base/js-tree/brand-red_accent-gray.tree.js +403 -0
  37. package/dist/tokens/base/json/brand-green_accent-brand.json +444 -0
  38. package/dist/tokens/base/json/brand-green_accent-gray.json +352 -0
  39. package/dist/tokens/base/json/brand-orange_accent-brand.json +444 -0
  40. package/dist/tokens/base/json/brand-orange_accent-gray.json +352 -0
  41. package/dist/tokens/base/json/brand-red_accent-brand.json +444 -0
  42. package/dist/tokens/base/json/brand-red_accent-gray.json +352 -0
  43. package/dist/tokens/base/json-tree/brand-green_accent-brand.tree.json +515 -0
  44. package/dist/tokens/base/json-tree/brand-green_accent-gray.tree.json +403 -0
  45. package/dist/tokens/base/json-tree/brand-orange_accent-brand.tree.json +515 -0
  46. package/dist/tokens/base/json-tree/brand-orange_accent-gray.tree.json +403 -0
  47. package/dist/tokens/base/json-tree/brand-red_accent-brand.tree.json +515 -0
  48. package/dist/tokens/base/json-tree/brand-red_accent-gray.tree.json +403 -0
  49. package/dist/tokens/base/less/brand-green_accent-brand.less +442 -0
  50. package/dist/tokens/base/less/brand-green_accent-gray.less +352 -0
  51. package/dist/tokens/base/less/brand-orange_accent-brand.less +442 -0
  52. package/dist/tokens/base/less/brand-orange_accent-gray.less +352 -0
  53. package/dist/tokens/base/less/brand-red_accent-brand.less +442 -0
  54. package/dist/tokens/base/less/brand-red_accent-gray.less +352 -0
  55. package/dist/tokens/base/scss/brand-green_accent-brand.scss +442 -0
  56. package/dist/tokens/base/scss/brand-green_accent-gray.scss +352 -0
  57. package/dist/tokens/base/scss/brand-orange_accent-brand.scss +442 -0
  58. package/dist/tokens/base/scss/brand-orange_accent-gray.scss +352 -0
  59. package/dist/tokens/base/scss/brand-red_accent-brand.scss +442 -0
  60. package/dist/tokens/base/scss/brand-red_accent-gray.scss +352 -0
  61. package/package.json +4 -4
@@ -130,80 +130,74 @@ function findClosestLightnessStep(targetL, availableLightnessSteps) {
130
130
  return closestStep;
131
131
  }
132
132
  export function calculateBaseHueAndCorrectionRange(inputColorString, abneyData) {
133
- try {
134
- var toOklch = converter('oklch');
135
- var oklch = toOklch(inputColorString);
136
- if (!oklch) {
137
- console.warn("Could not parse color string: ".concat(inputColorString));
138
- return null;
139
- }
140
- var targetLightness = Math.round(oklch.l * 100);
141
- var targetHue_1 = oklch.h;
142
- if (isNaN(targetHue_1)) {
143
- console.warn("Achromatic color detected (".concat(inputColorString, "). Defaulting hue to 0."));
144
- targetHue_1 = 0;
145
- }
146
- var availableLightnessSteps = Object.keys(abneyData).map(Number);
147
- if (availableLightnessSteps.length === 0) {
148
- console.warn('Abney correction data is empty, cannot calculate base hue.');
149
- return null;
150
- }
151
- var closestLightness = findClosestLightnessStep(targetLightness, availableLightnessSteps);
152
- var lightnessCorrectionData = abneyData[closestLightness];
153
- if (!lightnessCorrectionData) {
154
- console.warn("No Abney correction data for lightness ".concat(closestLightness, "."));
155
- return null;
156
- }
157
- var correctedHueMap_1 = Object.entries(lightnessCorrectionData).map(function (_a) {
158
- var rawHueStr = _a[0], shift = _a[1];
159
- var rawHue = Number(rawHueStr);
160
- return {
161
- rawHue: rawHue,
162
- shift: shift,
163
- correctedHue: (rawHue + shift + 360) % 360,
164
- };
165
- });
166
- correctedHueMap_1.sort(function (a, b) {
167
- if (a.correctedHue !== b.correctedHue) {
168
- return a.correctedHue - b.correctedHue;
169
- }
170
- return a.rawHue - b.rawHue;
171
- });
172
- if (correctedHueMap_1.length === 0) {
173
- console.warn("No hue ranges defined for lightness ".concat(closestLightness, "."));
174
- return null;
175
- }
176
- var findCorrectRange = function () {
177
- var nextRangeIndex = correctedHueMap_1.findIndex(function (range) { return range.correctedHue > targetHue_1; });
178
- if (nextRangeIndex === 0) {
179
- return correctedHueMap_1[correctedHueMap_1.length - 1];
180
- }
181
- if (nextRangeIndex > 0) {
182
- return correctedHueMap_1[nextRangeIndex - 1];
183
- }
184
- return correctedHueMap_1[correctedHueMap_1.length - 1];
185
- };
186
- var selectedRange = findCorrectRange();
187
- if (!selectedRange) {
188
- console.error('Could not determine the correct hue range.');
189
- return null;
190
- }
191
- var baseHue = (targetHue_1 - selectedRange.shift + 360) % 360;
133
+ var toOklch = converter('oklch');
134
+ var oklch = toOklch(inputColorString);
135
+ if (!oklch) {
136
+ console.warn("Could not parse color string: ".concat(inputColorString));
137
+ return null;
138
+ }
139
+ var targetLightness = Math.round(oklch.l * 100);
140
+ var targetHue = oklch.h;
141
+ if (isNaN(targetHue)) {
142
+ console.warn("Achromatic color detected (".concat(inputColorString, "). Defaulting hue to 0."));
143
+ targetHue = 0;
144
+ }
145
+ var availableLightnessSteps = Object.keys(abneyData).map(Number);
146
+ if (availableLightnessSteps.length === 0) {
147
+ console.warn('Abney correction data is empty, cannot calculate base hue.');
148
+ return null;
149
+ }
150
+ var closestLightness = findClosestLightnessStep(targetLightness, availableLightnessSteps);
151
+ var lightnessCorrectionData = abneyData[closestLightness];
152
+ if (!lightnessCorrectionData) {
153
+ console.warn("No Abney correction data for lightness ".concat(closestLightness, "."));
154
+ return null;
155
+ }
156
+ var correctedHueMap = Object.entries(lightnessCorrectionData).map(function (_a) {
157
+ var rawHueStr = _a[0], shift = _a[1];
158
+ var rawHue = Number(rawHueStr);
192
159
  return {
193
- baseHue: baseHue,
194
- correctionLightness: closestLightness,
195
- correctionHueRange: selectedRange.rawHue,
160
+ rawHue: rawHue,
161
+ shift: shift,
162
+ correctedHue: (rawHue + shift + 360) % 360,
196
163
  };
164
+ });
165
+ correctedHueMap.sort(function (a, b) {
166
+ if (a.correctedHue !== b.correctedHue) {
167
+ return a.correctedHue - b.correctedHue;
168
+ }
169
+ return a.rawHue - b.rawHue;
170
+ });
171
+ if (correctedHueMap.length === 0) {
172
+ console.warn("No hue ranges defined for lightness ".concat(closestLightness, "."));
173
+ return null;
197
174
  }
198
- catch (error) {
199
- console.error('Error calculating base hue:', error);
175
+ var findCorrectRange = function () {
176
+ var nextRangeIndex = correctedHueMap.findIndex(function (range) { return range.correctedHue > targetHue; });
177
+ if (nextRangeIndex === 0) {
178
+ return correctedHueMap[correctedHueMap.length - 1];
179
+ }
180
+ if (nextRangeIndex > 0) {
181
+ return correctedHueMap[nextRangeIndex - 1];
182
+ }
183
+ return correctedHueMap[correctedHueMap.length - 1];
184
+ };
185
+ var selectedRange = findCorrectRange();
186
+ if (!selectedRange) {
187
+ console.error('Could not determine the correct hue range.');
200
188
  return null;
201
189
  }
190
+ var baseHue = (targetHue - selectedRange.shift + 360) % 360;
191
+ return {
192
+ baseHue: baseHue,
193
+ correctionLightness: closestLightness,
194
+ correctionHueRange: selectedRange.rawHue,
195
+ };
202
196
  }
203
197
  export function calcOnBrand(hex) {
204
198
  var whiteContrast = Number(calcAPCA('#fff', hex));
205
199
  var blackContrast = Number(calcAPCA('#000', hex));
206
- if (whiteContrast - 10 > blackContrast) {
200
+ if (whiteContrast - 10 <= blackContrast) {
207
201
  return DefaultSwatch.whiteAlpha;
208
202
  }
209
203
  return DefaultSwatch.blackAlpha;
@@ -2,35 +2,29 @@ import { clampChroma, converter, formatHex } from 'culori';
2
2
  import { PROMO_HUE_SHIFTS } from '../constants/promo-hue-shift';
3
3
  export function getPromo(color, hueShifts) {
4
4
  if (hueShifts === void 0) { hueShifts = PROMO_HUE_SHIFTS; }
5
- try {
6
- var toOklch = converter('oklch');
7
- var oklchColor = toOklch(color);
8
- if (!oklchColor) {
9
- throw new Error("Invalid color string: ".concat(color));
10
- }
11
- var currentHue = oklchColor.h;
12
- var promoHueShift = getPromoHueShift(currentHue, hueShifts);
13
- var correctedHue = (currentHue + promoHueShift + 360) % 360;
14
- var promoLightness = oklchColor.l * 100;
15
- if (promoLightness >= 50) {
16
- promoLightness = promoLightness - 32;
17
- }
18
- promoLightness = Math.min(Math.max(promoLightness, 30), 34);
19
- var promoChroma = 0.1;
20
- var finalLightness = Math.round(promoLightness) / 100;
21
- var finalChroma = Math.round(promoChroma * 100) / 100;
22
- var promoOklch = {
23
- mode: 'oklch',
24
- l: finalLightness,
25
- c: finalChroma,
26
- h: correctedHue,
27
- };
28
- return formatHex(clampChroma(promoOklch, 'oklch'));
5
+ var toOklch = converter('oklch');
6
+ var oklchColor = toOklch(color);
7
+ if (!oklchColor) {
8
+ throw new Error("Invalid color string: ".concat(color));
29
9
  }
30
- catch (error) {
31
- console.error('Error generating promo palette:', error);
32
- return '';
10
+ var currentHue = oklchColor.h;
11
+ var promoHueShift = getPromoHueShift(currentHue, hueShifts);
12
+ var correctedHue = (currentHue + promoHueShift + 360) % 360;
13
+ var promoLightness = oklchColor.l * 100;
14
+ if (promoLightness >= 50) {
15
+ promoLightness = promoLightness - 32;
33
16
  }
17
+ promoLightness = Math.min(Math.max(promoLightness, 30), 34);
18
+ var promoChroma = 0.1;
19
+ var finalLightness = Math.round(promoLightness) / 100;
20
+ var finalChroma = Math.round(promoChroma * 100) / 100;
21
+ var promoOklch = {
22
+ mode: 'oklch',
23
+ l: finalLightness,
24
+ c: finalChroma,
25
+ h: correctedHue,
26
+ };
27
+ return formatHex(clampChroma(promoOklch, 'oklch'));
34
28
  }
35
29
  export function getPromoHueShift(currentHue, promoHueShifts) {
36
30
  var hueRanges = Object.keys(promoHueShifts)
@@ -9,7 +9,7 @@ export interface BaseTokens {
9
9
  };
10
10
  palette: ColorPalette;
11
11
  };
12
- accent: {
12
+ accent?: {
13
13
  original: ThemedValue;
14
14
  interactions: {
15
15
  hover: ThemedValue;
@@ -24,6 +24,7 @@ export interface BaseTokens {
24
24
  whiteAlpha: ColorWithScale<AlphaScale>;
25
25
  blackAlpha: ColorWithScale<AlphaScale>;
26
26
  onBrand: ColorWithScale<AlphaScale>;
27
+ onAccent?: ColorWithScale<AlphaScale>;
27
28
  customizable: {
28
29
  red: ColorPalette;
29
30
  orange: ColorPalette;
@@ -41,13 +42,13 @@ export interface ColorPalette {
41
42
  normal: ColorWithScale<ChromaScale>;
42
43
  dim: ColorWithScale<ChromaScale>;
43
44
  }
44
- type ChromaScale = 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 52 | 56 | 60 | 64 | 68 | 72 | 76 | 80 | 84 | 88 | 92 | 96;
45
+ export type ChromaScale = 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 52 | 56 | 60 | 64 | 68 | 72 | 76 | 80 | 84 | 88 | 92 | 96;
45
46
  type AlphaScale = 4 | 6 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 52 | 56 | 60 | 64 | 68 | 72 | 76 | 80 | 84 | 88 | 92 | 96 | 100;
46
- type GrayScale = 0 | 16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 52 | 56 | 60 | 64 | 68 | 72 | 76 | 80 | 84 | 88 | 92 | 96 | 98 | 100;
47
+ export type GrayScale = 0 | 16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 52 | 56 | 60 | 64 | 68 | 72 | 76 | 80 | 84 | 88 | 92 | 96 | 98 | 100;
47
48
  type ColorWithScale<T extends string | number> = {
48
49
  [K in T]: string;
49
50
  };
50
- interface ThemedValue {
51
+ export interface ThemedValue {
51
52
  light: string;
52
53
  dark: string;
53
54
  }
@@ -0,0 +1,2 @@
1
+ export declare const camelCaseToKebabCase: (str: string) => string;
2
+ export declare const kebabCaseToCamelCase: (str: string) => string;
@@ -0,0 +1,6 @@
1
+ export var camelCaseToKebabCase = function (str) {
2
+ return str.replace(/[A-Z]/g, function (match) { return "-".concat(match.toLowerCase()); });
3
+ };
4
+ export var kebabCaseToCamelCase = function (str) {
5
+ return str.replace(/-(\w)/g, function (_, c) { return c.toUpperCase(); });
6
+ };
@@ -0,0 +1,444 @@
1
+ :root {
2
+ --k-brand-logo-light: green;
3
+ --k-brand-logo-dark: #3fa536;
4
+ --k-brand-promo: #313000;
5
+ --k-brand-original: green;
6
+ --k-brand-interactions-hover-light: #007400;
7
+ --k-brand-interactions-hover-dark: #208c16;
8
+ --k-brand-interactions-pressed-light: #096501;
9
+ --k-brand-interactions-pressed-dark: #1c7115;
10
+ --k-brand-palette-vivid-20: #001d00;
11
+ --k-brand-palette-vivid-24: #012800;
12
+ --k-brand-palette-vivid-28: #013300;
13
+ --k-brand-palette-vivid-32: #023f00;
14
+ --k-brand-palette-vivid-36: #034c00;
15
+ --k-brand-palette-vivid-40: #035800;
16
+ --k-brand-palette-vivid-44: #046500;
17
+ --k-brand-palette-vivid-48: #067200;
18
+ --k-brand-palette-vivid-52: #078000;
19
+ --k-brand-palette-vivid-56: #088e00;
20
+ --k-brand-palette-vivid-60: #0b9c00;
21
+ --k-brand-palette-vivid-64: #0caa00;
22
+ --k-brand-palette-vivid-68: #27b71a;
23
+ --k-brand-palette-vivid-72: #40c335;
24
+ --k-brand-palette-vivid-76: #56cf4c;
25
+ --k-brand-palette-vivid-80: #6ddb62;
26
+ --k-brand-palette-vivid-84: #84e67b;
27
+ --k-brand-palette-vivid-88: #a0ef97;
28
+ --k-brand-palette-vivid-92: #b9f8b5;
29
+ --k-brand-palette-vivid-96: #d6ffd5;
30
+ --k-brand-palette-normal-20: #091b07;
31
+ --k-brand-palette-normal-24: #0d260b;
32
+ --k-brand-palette-normal-28: #11310e;
33
+ --k-brand-palette-normal-32: #163d12;
34
+ --k-brand-palette-normal-36: #1b4917;
35
+ --k-brand-palette-normal-40: #1f551b;
36
+ --k-brand-palette-normal-44: #256220;
37
+ --k-brand-palette-normal-48: #296f23;
38
+ --k-brand-palette-normal-52: #2c7c25;
39
+ --k-brand-palette-normal-56: #2f8a27;
40
+ --k-brand-palette-normal-60: #319928;
41
+ --k-brand-palette-normal-64: #32a729;
42
+ --k-brand-palette-normal-68: #3db533;
43
+ --k-brand-palette-normal-72: #53c049;
44
+ --k-brand-palette-normal-76: #68cc5f;
45
+ --k-brand-palette-normal-80: #7fd776;
46
+ --k-brand-palette-normal-84: #97e18e;
47
+ --k-brand-palette-normal-88: #b0e9aa;
48
+ --k-brand-palette-normal-92: #c8f2c5;
49
+ --k-brand-palette-normal-96: #e1fae0;
50
+ --k-brand-palette-dim-20: #0e1a0c;
51
+ --k-brand-palette-dim-24: #142412;
52
+ --k-brand-palette-dim-28: #1a2f18;
53
+ --k-brand-palette-dim-32: #213a1e;
54
+ --k-brand-palette-dim-36: #284625;
55
+ --k-brand-palette-dim-40: #2e522b;
56
+ --k-brand-palette-dim-44: #345e30;
57
+ --k-brand-palette-dim-48: #3b6b36;
58
+ --k-brand-palette-dim-52: #40783b;
59
+ --k-brand-palette-dim-56: #468640;
60
+ --k-brand-palette-dim-60: #4c9445;
61
+ --k-brand-palette-dim-64: #51a249;
62
+ --k-brand-palette-dim-68: #58b050;
63
+ --k-brand-palette-dim-72: #6abb62;
64
+ --k-brand-palette-dim-76: #7fc677;
65
+ --k-brand-palette-dim-80: #94d08d;
66
+ --k-brand-palette-dim-84: #a9daa4;
67
+ --k-brand-palette-dim-88: #bfe3bb;
68
+ --k-brand-palette-dim-92: #d4edd2;
69
+ --k-brand-palette-dim-96: #e8f7e7;
70
+ --k-accent-original-light: green;
71
+ --k-accent-original-dark: green;
72
+ --k-accent-interactions-hover-light: #007400;
73
+ --k-accent-interactions-hover-dark: #208c16;
74
+ --k-accent-interactions-pressed-light: #096501;
75
+ --k-accent-interactions-pressed-dark: #1c7115;
76
+ --k-accent-palette-vivid-20: #001d00;
77
+ --k-accent-palette-vivid-24: #012800;
78
+ --k-accent-palette-vivid-28: #013300;
79
+ --k-accent-palette-vivid-32: #023f00;
80
+ --k-accent-palette-vivid-36: #034c00;
81
+ --k-accent-palette-vivid-40: #035800;
82
+ --k-accent-palette-vivid-44: #046500;
83
+ --k-accent-palette-vivid-48: #067200;
84
+ --k-accent-palette-vivid-52: #078000;
85
+ --k-accent-palette-vivid-56: #088e00;
86
+ --k-accent-palette-vivid-60: #0b9c00;
87
+ --k-accent-palette-vivid-64: #0caa00;
88
+ --k-accent-palette-vivid-68: #27b71a;
89
+ --k-accent-palette-vivid-72: #40c335;
90
+ --k-accent-palette-vivid-76: #56cf4c;
91
+ --k-accent-palette-vivid-80: #6ddb62;
92
+ --k-accent-palette-vivid-84: #84e67b;
93
+ --k-accent-palette-vivid-88: #a0ef97;
94
+ --k-accent-palette-vivid-92: #b9f8b5;
95
+ --k-accent-palette-vivid-96: #d6ffd5;
96
+ --k-accent-palette-normal-20: #091b07;
97
+ --k-accent-palette-normal-24: #0d260b;
98
+ --k-accent-palette-normal-28: #11310e;
99
+ --k-accent-palette-normal-32: #163d12;
100
+ --k-accent-palette-normal-36: #1b4917;
101
+ --k-accent-palette-normal-40: #1f551b;
102
+ --k-accent-palette-normal-44: #256220;
103
+ --k-accent-palette-normal-48: #296f23;
104
+ --k-accent-palette-normal-52: #2c7c25;
105
+ --k-accent-palette-normal-56: #2f8a27;
106
+ --k-accent-palette-normal-60: #319928;
107
+ --k-accent-palette-normal-64: #32a729;
108
+ --k-accent-palette-normal-68: #3db533;
109
+ --k-accent-palette-normal-72: #53c049;
110
+ --k-accent-palette-normal-76: #68cc5f;
111
+ --k-accent-palette-normal-80: #7fd776;
112
+ --k-accent-palette-normal-84: #97e18e;
113
+ --k-accent-palette-normal-88: #b0e9aa;
114
+ --k-accent-palette-normal-92: #c8f2c5;
115
+ --k-accent-palette-normal-96: #e1fae0;
116
+ --k-accent-palette-dim-20: #0e1a0c;
117
+ --k-accent-palette-dim-24: #142412;
118
+ --k-accent-palette-dim-28: #1a2f18;
119
+ --k-accent-palette-dim-32: #213a1e;
120
+ --k-accent-palette-dim-36: #284625;
121
+ --k-accent-palette-dim-40: #2e522b;
122
+ --k-accent-palette-dim-44: #345e30;
123
+ --k-accent-palette-dim-48: #3b6b36;
124
+ --k-accent-palette-dim-52: #40783b;
125
+ --k-accent-palette-dim-56: #468640;
126
+ --k-accent-palette-dim-60: #4c9445;
127
+ --k-accent-palette-dim-64: #51a249;
128
+ --k-accent-palette-dim-68: #58b050;
129
+ --k-accent-palette-dim-72: #6abb62;
130
+ --k-accent-palette-dim-76: #7fc677;
131
+ --k-accent-palette-dim-80: #94d08d;
132
+ --k-accent-palette-dim-84: #a9daa4;
133
+ --k-accent-palette-dim-88: #bfe3bb;
134
+ --k-accent-palette-dim-92: #d4edd2;
135
+ --k-accent-palette-dim-96: #e8f7e7;
136
+ --k-warning-vivid-20: #211300;
137
+ --k-warning-vivid-24: #2d1b00;
138
+ --k-warning-vivid-28: #3a2400;
139
+ --k-warning-vivid-32: #472d00;
140
+ --k-warning-vivid-36: #543600;
141
+ --k-warning-vivid-40: #623f00;
142
+ --k-warning-vivid-44: #714901;
143
+ --k-warning-vivid-48: #7f5300;
144
+ --k-warning-vivid-52: #8e5e01;
145
+ --k-warning-vivid-56: #9d6800;
146
+ --k-warning-vivid-60: #ac7301;
147
+ --k-warning-vivid-64: #bc7d00;
148
+ --k-warning-vivid-68: #cc8801;
149
+ --k-warning-vivid-72: #db9400;
150
+ --k-warning-vivid-76: #eaa000;
151
+ --k-warning-vivid-80: #f8ae00;
152
+ --k-warning-vivid-84: #ffbf0b;
153
+ --k-warning-vivid-88: #fcd35d;
154
+ --k-warning-vivid-92: #fbe48d;
155
+ --k-warning-vivid-96: #fff3bd;
156
+ --k-warning-normal-20: #211300;
157
+ --k-warning-normal-24: #2d1b00;
158
+ --k-warning-normal-28: #3a2400;
159
+ --k-warning-normal-32: #472d00;
160
+ --k-warning-normal-36: #543600;
161
+ --k-warning-normal-40: #623f00;
162
+ --k-warning-normal-44: #714901;
163
+ --k-warning-normal-48: #7f5300;
164
+ --k-warning-normal-52: #8e5e01;
165
+ --k-warning-normal-56: #9d6800;
166
+ --k-warning-normal-60: #ac7301;
167
+ --k-warning-normal-64: #bc7d00;
168
+ --k-warning-normal-68: #cc8801;
169
+ --k-warning-normal-72: #da9513;
170
+ --k-warning-normal-76: #e5a331;
171
+ --k-warning-normal-80: #f1b03b;
172
+ --k-warning-normal-84: #f4c359;
173
+ --k-warning-normal-88: #f2d585;
174
+ --k-warning-normal-92: #f4e5ad;
175
+ --k-warning-normal-96: #faf3d1;
176
+ --k-warning-dim-20: #1c150c;
177
+ --k-warning-dim-24: #271d10;
178
+ --k-warning-dim-28: #342614;
179
+ --k-warning-dim-32: #402f18;
180
+ --k-warning-dim-36: #4d391c;
181
+ --k-warning-dim-40: #5b4320;
182
+ --k-warning-dim-44: #694d24;
183
+ --k-warning-dim-48: #775728;
184
+ --k-warning-dim-52: #86612c;
185
+ --k-warning-dim-56: #956c30;
186
+ --k-warning-dim-60: #a37736;
187
+ --k-warning-dim-64: #b1823f;
188
+ --k-warning-dim-68: #bd8f4d;
189
+ --k-warning-dim-72: #cc9a51;
190
+ --k-warning-dim-76: #daa75a;
191
+ --k-warning-dim-80: #e5b566;
192
+ --k-warning-dim-84: #e6c686;
193
+ --k-warning-dim-88: #e9d6a5;
194
+ --k-warning-dim-92: #ede5c4;
195
+ --k-warning-dim-96: #f6f2df;
196
+ --k-error-vivid-20: #320003;
197
+ --k-error-vivid-24: #420005;
198
+ --k-error-vivid-28: #540007;
199
+ --k-error-vivid-32: #65000a;
200
+ --k-error-vivid-36: #78000e;
201
+ --k-error-vivid-40: #8a0013;
202
+ --k-error-vivid-44: #9e0117;
203
+ --k-error-vivid-48: #b2001b;
204
+ --k-error-vivid-52: #c50220;
205
+ --k-error-vivid-56: #d6192a;
206
+ --k-error-vivid-60: #e62b34;
207
+ --k-error-vivid-64: #f63b40;
208
+ --k-error-vivid-68: #ff5352;
209
+ --k-error-vivid-72: #ff726b;
210
+ --k-error-vivid-76: #ff8a84;
211
+ --k-error-vivid-80: #ffa09b;
212
+ --k-error-vivid-84: #ffb4b2;
213
+ --k-error-vivid-88: #ffc7c7;
214
+ --k-error-vivid-92: #ffdadd;
215
+ --k-error-vivid-96: #ffedef;
216
+ --k-error-normal-20: #2a0a09;
217
+ --k-error-normal-24: #39100e;
218
+ --k-error-normal-28: #481514;
219
+ --k-error-normal-32: #591a19;
220
+ --k-error-normal-36: #6b1f1e;
221
+ --k-error-normal-40: #7d2423;
222
+ --k-error-normal-44: #902828;
223
+ --k-error-normal-48: #a32c2d;
224
+ --k-error-normal-52: #b82f31;
225
+ --k-error-normal-56: #cd3235;
226
+ --k-error-normal-60: #de3c3e;
227
+ --k-error-normal-64: #ee4948;
228
+ --k-error-normal-68: #f65f5a;
229
+ --k-error-normal-72: #f97770;
230
+ --k-error-normal-76: #f98e88;
231
+ --k-error-normal-80: #fea09c;
232
+ --k-error-normal-84: #ffb4b2;
233
+ --k-error-normal-88: #ffc7c7;
234
+ --k-error-normal-92: #ffdadd;
235
+ --k-error-normal-96: #ffedef;
236
+ --k-error-dim-20: #240f0d;
237
+ --k-error-dim-24: #321514;
238
+ --k-error-dim-28: #411c1a;
239
+ --k-error-dim-32: #502421;
240
+ --k-error-dim-36: #602a27;
241
+ --k-error-dim-40: #71312e;
242
+ --k-error-dim-44: #823835;
243
+ --k-error-dim-48: #943e3b;
244
+ --k-error-dim-52: #a74541;
245
+ --k-error-dim-56: #ba4b47;
246
+ --k-error-dim-60: #ce524d;
247
+ --k-error-dim-64: #dd5d58;
248
+ --k-error-dim-68: #e47069;
249
+ --k-error-dim-72: #e8847c;
250
+ --k-error-dim-76: #ea9892;
251
+ --k-error-dim-80: #ecaaa6;
252
+ --k-error-dim-84: #eebcba;
253
+ --k-error-dim-88: #f2cdcd;
254
+ --k-error-dim-92: #f5dee0;
255
+ --k-error-dim-96: #fceef0;
256
+ --k-success-vivid-20: #001d06;
257
+ --k-success-vivid-24: #00280b;
258
+ --k-success-vivid-28: #003310;
259
+ --k-success-vivid-32: #003f16;
260
+ --k-success-vivid-36: #004b1c;
261
+ --k-success-vivid-40: #005821;
262
+ --k-success-vivid-44: #006428;
263
+ --k-success-vivid-48: #00712e;
264
+ --k-success-vivid-52: #007f34;
265
+ --k-success-vivid-56: #008d3a;
266
+ --k-success-vivid-60: #009b41;
267
+ --k-success-vivid-64: #00a948;
268
+ --k-success-vivid-68: #00b74e;
269
+ --k-success-vivid-72: #00c655;
270
+ --k-success-vivid-76: #29d363;
271
+ --k-success-vivid-80: #4ede76;
272
+ --k-success-vivid-84: #6fe98b;
273
+ --k-success-vivid-88: #91f2a3;
274
+ --k-success-vivid-92: #b0fabd;
275
+ --k-success-vivid-96: #d4ffda;
276
+ --k-success-normal-20: #061b0a;
277
+ --k-success-normal-24: #07260f;
278
+ --k-success-normal-28: #083214;
279
+ --k-success-normal-32: #093e1a;
280
+ --k-success-normal-36: #0b4a1f;
281
+ --k-success-normal-40: #0c5725;
282
+ --k-success-normal-44: #0f632b;
283
+ --k-success-normal-48: #117032;
284
+ --k-success-normal-52: #147e38;
285
+ --k-success-normal-56: #178b3f;
286
+ --k-success-normal-60: #1d9946;
287
+ --k-success-normal-64: #2ca651;
288
+ --k-success-normal-68: #2eb458;
289
+ --k-success-normal-72: #2dc35d;
290
+ --k-success-normal-76: #4ecf70;
291
+ --k-success-normal-80: #6cd984;
292
+ --k-success-normal-84: #89e39a;
293
+ --k-success-normal-88: #a7ebb2;
294
+ --k-success-normal-92: #c3f3ca;
295
+ --k-success-normal-96: #defbe2;
296
+ --k-success-dim-20: #0d190f;
297
+ --k-success-dim-24: #142417;
298
+ --k-success-dim-28: #1a2e1e;
299
+ --k-success-dim-32: #213a25;
300
+ --k-success-dim-36: #27452d;
301
+ --k-success-dim-40: #2d5134;
302
+ --k-success-dim-44: #345e3c;
303
+ --k-success-dim-48: #3a6a43;
304
+ --k-success-dim-52: #3f784b;
305
+ --k-success-dim-56: #458552;
306
+ --k-success-dim-60: #4a935a;
307
+ --k-success-dim-64: #4fa161;
308
+ --k-success-dim-68: #54af69;
309
+ --k-success-dim-72: #58bd70;
310
+ --k-success-dim-76: #71c882;
311
+ --k-success-dim-80: #89d296;
312
+ --k-success-dim-84: #a1dbab;
313
+ --k-success-dim-88: #bae4c0;
314
+ --k-success-dim-92: #d1edd5;
315
+ --k-success-dim-96: #e6f7e8;
316
+ --k-gray-0: #000;
317
+ --k-gray-16: #0d0d0d;
318
+ --k-gray-20: #161616;
319
+ --k-gray-24: #1f1f1f;
320
+ --k-gray-28: #292929;
321
+ --k-gray-32: #333;
322
+ --k-gray-36: #3d3d3d;
323
+ --k-gray-40: #484848;
324
+ --k-gray-44: #525252;
325
+ --k-gray-48: #5d5d5d;
326
+ --k-gray-52: #696969;
327
+ --k-gray-56: #747474;
328
+ --k-gray-60: #808080;
329
+ --k-gray-64: #8c8c8c;
330
+ --k-gray-68: #989898;
331
+ --k-gray-72: #a4a4a4;
332
+ --k-gray-76: #b1b1b1;
333
+ --k-gray-80: #bebebe;
334
+ --k-gray-84: #cacaca;
335
+ --k-gray-88: #d7d7d7;
336
+ --k-gray-92: #e4e4e4;
337
+ --k-gray-96: #f2f2f2;
338
+ --k-gray-98: #f8f8f8;
339
+ --k-gray-100: #fff;
340
+ --k-whiteAlpha-4: rgba(255, 255, 255, 0.04);
341
+ --k-whiteAlpha-6: rgba(255, 255, 255, 0.06);
342
+ --k-whiteAlpha-8: rgba(255, 255, 255, 0.08);
343
+ --k-whiteAlpha-12: rgba(255, 255, 255, 0.12);
344
+ --k-whiteAlpha-16: rgba(255, 255, 255, 0.16);
345
+ --k-whiteAlpha-20: rgba(255, 255, 255, 0.2);
346
+ --k-whiteAlpha-24: rgba(255, 255, 255, 0.24);
347
+ --k-whiteAlpha-28: rgba(255, 255, 255, 0.28);
348
+ --k-whiteAlpha-32: rgba(255, 255, 255, 0.32);
349
+ --k-whiteAlpha-36: rgba(255, 255, 255, 0.36);
350
+ --k-whiteAlpha-40: rgba(255, 255, 255, 0.4);
351
+ --k-whiteAlpha-44: rgba(255, 255, 255, 0.44);
352
+ --k-whiteAlpha-48: rgba(255, 255, 255, 0.48);
353
+ --k-whiteAlpha-52: rgba(255, 255, 255, 0.52);
354
+ --k-whiteAlpha-56: rgba(255, 255, 255, 0.56);
355
+ --k-whiteAlpha-60: rgba(255, 255, 255, 0.6);
356
+ --k-whiteAlpha-64: rgba(255, 255, 255, 0.64);
357
+ --k-whiteAlpha-68: rgba(255, 255, 255, 0.68);
358
+ --k-whiteAlpha-72: rgba(255, 255, 255, 0.72);
359
+ --k-whiteAlpha-76: rgba(255, 255, 255, 0.76);
360
+ --k-whiteAlpha-80: rgba(255, 255, 255, 0.8);
361
+ --k-whiteAlpha-84: rgba(255, 255, 255, 0.84);
362
+ --k-whiteAlpha-88: rgba(255, 255, 255, 0.88);
363
+ --k-whiteAlpha-92: rgba(255, 255, 255, 0.92);
364
+ --k-whiteAlpha-96: rgba(255, 255, 255, 0.96);
365
+ --k-whiteAlpha-100: rgba(255, 255, 255, 1);
366
+ --k-blackAlpha-4: rgba(0, 0, 0, 0.04);
367
+ --k-blackAlpha-6: rgba(0, 0, 0, 0.06);
368
+ --k-blackAlpha-8: rgba(0, 0, 0, 0.08);
369
+ --k-blackAlpha-12: rgba(0, 0, 0, 0.12);
370
+ --k-blackAlpha-16: rgba(0, 0, 0, 0.16);
371
+ --k-blackAlpha-20: rgba(0, 0, 0, 0.2);
372
+ --k-blackAlpha-24: rgba(0, 0, 0, 0.24);
373
+ --k-blackAlpha-28: rgba(0, 0, 0, 0.28);
374
+ --k-blackAlpha-32: rgba(0, 0, 0, 0.32);
375
+ --k-blackAlpha-36: rgba(0, 0, 0, 0.36);
376
+ --k-blackAlpha-40: rgba(0, 0, 0, 0.4);
377
+ --k-blackAlpha-44: rgba(0, 0, 0, 0.44);
378
+ --k-blackAlpha-48: rgba(0, 0, 0, 0.48);
379
+ --k-blackAlpha-52: rgba(0, 0, 0, 0.52);
380
+ --k-blackAlpha-56: rgba(0, 0, 0, 0.56);
381
+ --k-blackAlpha-60: rgba(0, 0, 0, 0.6);
382
+ --k-blackAlpha-64: rgba(0, 0, 0, 0.64);
383
+ --k-blackAlpha-68: rgba(0, 0, 0, 0.68);
384
+ --k-blackAlpha-72: rgba(0, 0, 0, 0.72);
385
+ --k-blackAlpha-76: rgba(0, 0, 0, 0.76);
386
+ --k-blackAlpha-80: rgba(0, 0, 0, 0.8);
387
+ --k-blackAlpha-84: rgba(0, 0, 0, 0.84);
388
+ --k-blackAlpha-88: rgba(0, 0, 0, 0.88);
389
+ --k-blackAlpha-92: rgba(0, 0, 0, 0.92);
390
+ --k-blackAlpha-96: rgba(0, 0, 0, 0.96);
391
+ --k-blackAlpha-100: rgba(0, 0, 0, 1);
392
+ --k-onBrand-4: rgba(255, 255, 255, 0.04);
393
+ --k-onBrand-6: rgba(255, 255, 255, 0.06);
394
+ --k-onBrand-8: rgba(255, 255, 255, 0.08);
395
+ --k-onBrand-12: rgba(255, 255, 255, 0.12);
396
+ --k-onBrand-16: rgba(255, 255, 255, 0.16);
397
+ --k-onBrand-20: rgba(255, 255, 255, 0.2);
398
+ --k-onBrand-24: rgba(255, 255, 255, 0.24);
399
+ --k-onBrand-28: rgba(255, 255, 255, 0.28);
400
+ --k-onBrand-32: rgba(255, 255, 255, 0.32);
401
+ --k-onBrand-36: rgba(255, 255, 255, 0.36);
402
+ --k-onBrand-40: rgba(255, 255, 255, 0.4);
403
+ --k-onBrand-44: rgba(255, 255, 255, 0.44);
404
+ --k-onBrand-48: rgba(255, 255, 255, 0.48);
405
+ --k-onBrand-52: rgba(255, 255, 255, 0.52);
406
+ --k-onBrand-56: rgba(255, 255, 255, 0.56);
407
+ --k-onBrand-60: rgba(255, 255, 255, 0.6);
408
+ --k-onBrand-64: rgba(255, 255, 255, 0.64);
409
+ --k-onBrand-68: rgba(255, 255, 255, 0.68);
410
+ --k-onBrand-72: rgba(255, 255, 255, 0.72);
411
+ --k-onBrand-76: rgba(255, 255, 255, 0.76);
412
+ --k-onBrand-80: rgba(255, 255, 255, 0.8);
413
+ --k-onBrand-84: rgba(255, 255, 255, 0.84);
414
+ --k-onBrand-88: rgba(255, 255, 255, 0.88);
415
+ --k-onBrand-92: rgba(255, 255, 255, 0.92);
416
+ --k-onBrand-96: rgba(255, 255, 255, 0.96);
417
+ --k-onBrand-100: rgba(255, 255, 255, 1);
418
+ --k-onAccent-4: rgba(255, 255, 255, 0.04);
419
+ --k-onAccent-6: rgba(255, 255, 255, 0.06);
420
+ --k-onAccent-8: rgba(255, 255, 255, 0.08);
421
+ --k-onAccent-12: rgba(255, 255, 255, 0.12);
422
+ --k-onAccent-16: rgba(255, 255, 255, 0.16);
423
+ --k-onAccent-20: rgba(255, 255, 255, 0.2);
424
+ --k-onAccent-24: rgba(255, 255, 255, 0.24);
425
+ --k-onAccent-28: rgba(255, 255, 255, 0.28);
426
+ --k-onAccent-32: rgba(255, 255, 255, 0.32);
427
+ --k-onAccent-36: rgba(255, 255, 255, 0.36);
428
+ --k-onAccent-40: rgba(255, 255, 255, 0.4);
429
+ --k-onAccent-44: rgba(255, 255, 255, 0.44);
430
+ --k-onAccent-48: rgba(255, 255, 255, 0.48);
431
+ --k-onAccent-52: rgba(255, 255, 255, 0.52);
432
+ --k-onAccent-56: rgba(255, 255, 255, 0.56);
433
+ --k-onAccent-60: rgba(255, 255, 255, 0.6);
434
+ --k-onAccent-64: rgba(255, 255, 255, 0.64);
435
+ --k-onAccent-68: rgba(255, 255, 255, 0.68);
436
+ --k-onAccent-72: rgba(255, 255, 255, 0.72);
437
+ --k-onAccent-76: rgba(255, 255, 255, 0.76);
438
+ --k-onAccent-80: rgba(255, 255, 255, 0.8);
439
+ --k-onAccent-84: rgba(255, 255, 255, 0.84);
440
+ --k-onAccent-88: rgba(255, 255, 255, 0.88);
441
+ --k-onAccent-92: rgba(255, 255, 255, 0.92);
442
+ --k-onAccent-96: rgba(255, 255, 255, 0.96);
443
+ --k-onAccent-100: rgba(255, 255, 255, 1);
444
+ }