@skbkontur/colors 2.0.0-alpha.3 → 2.0.0-alpha.4

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 (128) hide show
  1. package/README.md +3 -3
  2. package/colors.less +319 -0
  3. package/colors.scss +319 -0
  4. package/lib/consts/default-swatch.d.ts +108 -0
  5. package/lib/consts/default-swatch.js +108 -0
  6. package/{dist/esm/consts/default-swatch.js → lib/consts/default-swatch.ts} +11 -7
  7. package/lib/consts/params/abney-correction.js +1102 -0
  8. package/{dist/esm/consts/params/abney-correction.js → lib/consts/params/abney-correction.ts} +3 -1
  9. package/lib/consts/params/chroma-params.js +102 -0
  10. package/{dist/esm/consts/params/chroma-params.js → lib/consts/params/chroma-params.ts} +3 -1
  11. package/lib/consts/params/interactions.ts +9 -0
  12. package/lib/consts/params/logo-lightness.ts +1 -0
  13. package/{dist/esm → lib}/consts/params/promo-hue-shift.d.ts +1 -1
  14. package/lib/consts/params/promo-hue-shift.js +11 -0
  15. package/{dist/esm/consts/params/promo-hue-shift.js → lib/consts/params/promo-hue-shift.ts} +1 -1
  16. package/{dist/esm → lib}/consts/params/warning-hue-patch.d.ts +1 -1
  17. package/lib/consts/params/warning-hue-patch.js +22 -0
  18. package/{dist/esm/consts/params/warning-hue-patch.js → lib/consts/params/warning-hue-patch.ts} +1 -1
  19. package/lib/get-colors-base.d.ts +11 -0
  20. package/lib/get-colors-base.js +78 -0
  21. package/{dist/esm/get-colors-base.js → lib/get-colors-base.ts} +44 -26
  22. package/lib/get-colors-default-tokens.d.ts +645 -0
  23. package/lib/get-colors-default-tokens.js +647 -0
  24. package/lib/get-colors-default-tokens.ts +646 -0
  25. package/lib/get-colors.d.ts +40 -0
  26. package/lib/get-colors.js +28 -0
  27. package/lib/get-colors.ts +65 -0
  28. package/{dist/esm → lib}/helpers/get-interactions.d.ts +2 -2
  29. package/lib/helpers/get-interactions.js +35 -0
  30. package/lib/helpers/get-interactions.ts +64 -0
  31. package/{dist/esm → lib}/helpers/get-logo.d.ts +2 -2
  32. package/lib/helpers/get-logo.js +25 -0
  33. package/lib/helpers/get-logo.ts +40 -0
  34. package/lib/helpers/get-palette.d.ts +51 -0
  35. package/lib/helpers/get-palette.js +204 -0
  36. package/lib/helpers/get-palette.ts +261 -0
  37. package/lib/helpers/get-promo.d.ts +6 -0
  38. package/lib/helpers/get-promo.js +47 -0
  39. package/lib/helpers/get-promo.ts +55 -0
  40. package/lib/types/tokens-base-generator.d.ts +43 -0
  41. package/{dist/esm/types/tokens-base-generator.d.ts → lib/types/tokens-base-generator.ts} +10 -15
  42. package/lib/types/tokens-base.d.ts +55 -0
  43. package/{dist/esm/types/tokens-base.d.ts → lib/types/tokens-base.ts} +7 -2
  44. package/lib/types/tokens.d.ts +12 -0
  45. package/{dist/esm/types/tokens.d.ts → lib/types/tokens.ts} +7 -1
  46. package/lib/utils/convert-color.js +144 -0
  47. package/lib/utils/convert-color.ts +163 -0
  48. package/lib/utils/format-variable.js +6 -0
  49. package/lib/utils/format-variable.ts +7 -0
  50. package/package.json +41 -7
  51. package/{dist/tokens-mobile → tokens-mobile}/brand-blue-deep_accent-brand.json +117 -117
  52. package/{dist/tokens-mobile → tokens-mobile}/brand-blue-deep_accent-gray.json +135 -135
  53. package/{dist/tokens-mobile → tokens-mobile}/brand-blue_accent-brand.json +117 -117
  54. package/{dist/tokens-mobile → tokens-mobile}/brand-blue_accent-gray.json +135 -135
  55. package/{dist/tokens-mobile → tokens-mobile}/brand-green_accent-brand.json +117 -117
  56. package/{dist/tokens-mobile → tokens-mobile}/brand-green_accent-gray.json +135 -135
  57. package/{dist/tokens-mobile → tokens-mobile}/brand-mint_accent-brand.json +117 -117
  58. package/{dist/tokens-mobile → tokens-mobile}/brand-mint_accent-gray.json +135 -135
  59. package/{dist/tokens-mobile → tokens-mobile}/brand-orange_accent-gray.json +135 -135
  60. package/{dist/tokens-mobile → tokens-mobile}/brand-purple_accent-brand.json +117 -117
  61. package/{dist/tokens-mobile → tokens-mobile}/brand-purple_accent-gray.json +135 -135
  62. package/{dist/tokens-mobile → tokens-mobile}/brand-red_accent-gray.json +135 -135
  63. package/{dist/tokens-mobile → tokens-mobile}/brand-violet_accent-brand.json +117 -117
  64. package/{dist/tokens-mobile → tokens-mobile}/brand-violet_accent-gray.json +135 -135
  65. package/CHANGELOG.md +0 -84
  66. package/dist/colors.default-dark.js +0 -332
  67. package/dist/colors.default-light.js +0 -336
  68. package/dist/colors.less +0 -319
  69. package/dist/colors.scss +0 -319
  70. package/dist/esm/consts/default-swatch.d.ts +0 -109
  71. package/dist/esm/get-colors-base.d.ts +0 -12
  72. package/dist/esm/get-colors-default-tokens.d.ts +0 -645
  73. package/dist/esm/get-colors-default-tokens.js +0 -992
  74. package/dist/esm/get-colors.d.ts +0 -13
  75. package/dist/esm/get-colors.js +0 -14
  76. package/dist/esm/get-default-tokens.d.ts +0 -645
  77. package/dist/esm/get-default-tokens.js +0 -992
  78. package/dist/esm/helpers/get-interactions.js +0 -49
  79. package/dist/esm/helpers/get-logo.js +0 -28
  80. package/dist/esm/helpers/get-palette.d.ts +0 -76
  81. package/dist/esm/helpers/get-palette.js +0 -232
  82. package/dist/esm/helpers/get-promo.d.ts +0 -12
  83. package/dist/esm/helpers/get-promo.js +0 -51
  84. package/dist/esm/utils/convert-color.js +0 -133
  85. package/dist/esm/utils/format-variable.js +0 -10
  86. package/dist/tokens-js/brand-blue-deep_accent-brand.js +0 -644
  87. package/dist/tokens-js/brand-blue-deep_accent-gray.js +0 -644
  88. package/dist/tokens-js/brand-blue_accent-brand.js +0 -644
  89. package/dist/tokens-js/brand-blue_accent-gray.js +0 -644
  90. package/dist/tokens-js/brand-green_accent-brand.js +0 -644
  91. package/dist/tokens-js/brand-green_accent-gray.js +0 -644
  92. package/dist/tokens-js/brand-mint_accent-brand.js +0 -644
  93. package/dist/tokens-js/brand-mint_accent-gray.js +0 -644
  94. package/dist/tokens-js/brand-orange_accent-gray.js +0 -644
  95. package/dist/tokens-js/brand-purple_accent-brand.js +0 -644
  96. package/dist/tokens-js/brand-purple_accent-gray.js +0 -644
  97. package/dist/tokens-js/brand-red_accent-gray.js +0 -644
  98. package/dist/tokens-js/brand-violet_accent-brand.js +0 -644
  99. package/dist/tokens-js/brand-violet_accent-gray.js +0 -644
  100. package/scripts/babel-register.js +0 -4
  101. package/scripts/tokens-base.json +0 -3499
  102. package/scripts/tokens.json +0 -710
  103. /package/{dist/colors.js → colors.js} +0 -0
  104. /package/{dist/esm → lib}/consts/params/abney-correction.d.ts +0 -0
  105. /package/{dist/esm → lib}/consts/params/chroma-params.d.ts +0 -0
  106. /package/{dist/esm → lib}/consts/params/interactions.d.ts +0 -0
  107. /package/{dist/esm → lib}/consts/params/interactions.js +0 -0
  108. /package/{dist/esm → lib}/consts/params/logo-lightness.d.ts +0 -0
  109. /package/{dist/esm → lib}/consts/params/logo-lightness.js +0 -0
  110. /package/{dist/esm → lib}/types/tokens-base-generator.js +0 -0
  111. /package/{dist/esm → lib}/types/tokens-base.js +0 -0
  112. /package/{dist/esm → lib}/types/tokens.js +0 -0
  113. /package/{dist/esm → lib}/utils/convert-color.d.ts +0 -0
  114. /package/{dist/esm → lib}/utils/format-variable.d.ts +0 -0
  115. /package/{dist/tokens → tokens}/brand-blue-deep_accent-brand.css +0 -0
  116. /package/{dist/tokens → tokens}/brand-blue-deep_accent-gray.css +0 -0
  117. /package/{dist/tokens → tokens}/brand-blue_accent-brand.css +0 -0
  118. /package/{dist/tokens → tokens}/brand-blue_accent-gray.css +0 -0
  119. /package/{dist/tokens → tokens}/brand-green_accent-brand.css +0 -0
  120. /package/{dist/tokens → tokens}/brand-green_accent-gray.css +0 -0
  121. /package/{dist/tokens → tokens}/brand-mint_accent-brand.css +0 -0
  122. /package/{dist/tokens → tokens}/brand-mint_accent-gray.css +0 -0
  123. /package/{dist/tokens → tokens}/brand-orange_accent-gray.css +0 -0
  124. /package/{dist/tokens → tokens}/brand-purple_accent-brand.css +0 -0
  125. /package/{dist/tokens → tokens}/brand-purple_accent-gray.css +0 -0
  126. /package/{dist/tokens → tokens}/brand-red_accent-gray.css +0 -0
  127. /package/{dist/tokens → tokens}/brand-violet_accent-brand.css +0 -0
  128. /package/{dist/tokens → tokens}/brand-violet_accent-gray.css +0 -0
@@ -0,0 +1,144 @@
1
+ import { converter, formatHex } from 'culori';
2
+ export function convertColorFormat(obj, format) {
3
+ if (format === void 0) { format = 'hex/rgba'; }
4
+ if (format === 'oklch') {
5
+ return convertToOklchRecursive(obj);
6
+ }
7
+ var result = convertOklchToHex(obj);
8
+ result = convertAlphaOklchToRgba(result);
9
+ if (format === 'hex-aarrggbb') {
10
+ return convertToAarrggbbRecursive(result);
11
+ }
12
+ return result;
13
+ }
14
+ function convertToOklchRecursive(obj) {
15
+ if (typeof obj !== 'object' || obj === null) {
16
+ return obj;
17
+ }
18
+ if (Array.isArray(obj)) {
19
+ return obj.map(function (item) { return convertToOklchRecursive(item); });
20
+ }
21
+ var newObj = {};
22
+ var toOklch = converter('oklch');
23
+ for (var key in obj) {
24
+ var value = obj[key];
25
+ if (typeof value === 'string') {
26
+ if (value.startsWith('oklch(')) {
27
+ newObj[key] = value;
28
+ }
29
+ else {
30
+ var color = toOklch(value);
31
+ if (color) {
32
+ var l = (color.l * 100).toFixed(3);
33
+ var c = color.c.toFixed(3);
34
+ var h = (color.h || 0).toFixed(0);
35
+ var a = color.alpha !== undefined && color.alpha < 1 ? " / ".concat(color.alpha) : '';
36
+ newObj[key] = "oklch(".concat(l, "% ").concat(c, " ").concat(h).concat(a, ")");
37
+ }
38
+ else {
39
+ newObj[key] = value;
40
+ }
41
+ }
42
+ }
43
+ else if (typeof value === 'object' && value !== null) {
44
+ newObj[key] = convertToOklchRecursive(value);
45
+ }
46
+ else {
47
+ newObj[key] = value;
48
+ }
49
+ }
50
+ return newObj;
51
+ }
52
+ function convertOklchToHex(obj) {
53
+ if (typeof obj !== 'object' || obj === null) {
54
+ return obj;
55
+ }
56
+ if (Array.isArray(obj)) {
57
+ return obj.map(function (item) { return convertOklchToHex(item); });
58
+ }
59
+ var newObj = {};
60
+ for (var key in obj) {
61
+ var value = obj[key];
62
+ if (typeof value === 'string' && value.startsWith('oklch(') && !value.includes('/')) {
63
+ var oklchColor = converter('oklch')(value);
64
+ newObj[key] = oklchColor ? formatHex(oklchColor) : value;
65
+ }
66
+ else if (typeof value === 'object' && value !== null) {
67
+ newObj[key] = convertOklchToHex(value);
68
+ }
69
+ else {
70
+ newObj[key] = value;
71
+ }
72
+ }
73
+ return newObj;
74
+ }
75
+ function convertAlphaOklchToRgba(obj) {
76
+ var _a;
77
+ if (typeof obj !== 'object' || obj === null) {
78
+ return obj;
79
+ }
80
+ if (Array.isArray(obj)) {
81
+ return obj.map(function (item) { return convertAlphaOklchToRgba(item); });
82
+ }
83
+ var newObj = {};
84
+ for (var key in obj) {
85
+ var value = obj[key];
86
+ if (typeof value === 'string' && value.startsWith('oklch(') && value.includes('/')) {
87
+ var rgbaColor = converter('rgb')(value);
88
+ if (rgbaColor) {
89
+ var r = Math.round(rgbaColor.r * 255);
90
+ var g = Math.round(rgbaColor.g * 255);
91
+ var b = Math.round(rgbaColor.b * 255);
92
+ var a = (_a = rgbaColor.alpha) !== null && _a !== void 0 ? _a : 1;
93
+ newObj[key] = "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(a, ")");
94
+ continue;
95
+ }
96
+ }
97
+ if (typeof value === 'object' && value !== null) {
98
+ newObj[key] = convertAlphaOklchToRgba(value);
99
+ }
100
+ else {
101
+ newObj[key] = value;
102
+ }
103
+ }
104
+ return newObj;
105
+ }
106
+ var convertToAarrggbb = function (colorString) {
107
+ var _a;
108
+ var color = converter('rgb')(colorString);
109
+ if (!color) {
110
+ return colorString;
111
+ }
112
+ var r = Math.round(color.r * 255);
113
+ var g = Math.round(color.g * 255);
114
+ var b = Math.round(color.b * 255);
115
+ var alpha = Math.round(((_a = color.alpha) !== null && _a !== void 0 ? _a : 1) * 255);
116
+ var toHex = function (c) { return c.toString(16).padStart(2, '0'); };
117
+ var rgbHex = "".concat(toHex(r)).concat(toHex(g)).concat(toHex(b)).toUpperCase();
118
+ if (alpha === 255) {
119
+ return "#".concat(rgbHex);
120
+ }
121
+ return "#".concat(toHex(alpha)).concat(rgbHex).toUpperCase();
122
+ };
123
+ function convertToAarrggbbRecursive(obj) {
124
+ if (typeof obj !== 'object' || obj === null) {
125
+ return obj;
126
+ }
127
+ if (Array.isArray(obj)) {
128
+ return obj.map(function (item) { return convertToAarrggbbRecursive(item); });
129
+ }
130
+ var newObj = {};
131
+ for (var key in obj) {
132
+ var value = obj[key];
133
+ if (typeof value === 'string') {
134
+ newObj[key] = convertToAarrggbb(value);
135
+ }
136
+ else if (typeof value === 'object' && value !== null) {
137
+ newObj[key] = convertToAarrggbbRecursive(value);
138
+ }
139
+ else {
140
+ newObj[key] = value;
141
+ }
142
+ }
143
+ return newObj;
144
+ }
@@ -0,0 +1,163 @@
1
+ import { converter, formatHex, type Rgb } from 'culori';
2
+
3
+ import type { ColorObject, ColorStructure } from '../types/tokens.js';
4
+
5
+ export type ColorFormat = 'hex/rgba' | 'oklch' | 'hex-aarrggbb';
6
+
7
+ export function convertColorFormat(obj: ColorStructure, format: ColorFormat = 'hex/rgba'): ColorStructure {
8
+ if (format === 'oklch') {
9
+ return convertToOklchRecursive(obj);
10
+ }
11
+
12
+ let result = convertOklchToHex(obj);
13
+ result = convertAlphaOklchToRgba(result);
14
+
15
+ if (format === 'hex-aarrggbb') {
16
+ return convertToAarrggbbRecursive(result);
17
+ }
18
+
19
+ return result;
20
+ }
21
+
22
+ function convertToOklchRecursive(obj: ColorStructure): ColorStructure {
23
+ if (typeof obj !== 'object' || obj === null) {
24
+ return obj;
25
+ }
26
+
27
+ if (Array.isArray(obj)) {
28
+ return obj.map((item) => convertToOklchRecursive(item as ColorStructure));
29
+ }
30
+
31
+ const newObj: ColorObject = {};
32
+ const toOklch = converter('oklch');
33
+
34
+ for (const key in obj) {
35
+ const value = obj[key];
36
+
37
+ if (typeof value === 'string') {
38
+ if (value.startsWith('oklch(')) {
39
+ newObj[key] = value;
40
+ } else {
41
+ const color = toOklch(value);
42
+ if (color) {
43
+ const l = (color.l * 100).toFixed(3);
44
+ const c = color.c.toFixed(3);
45
+ const h = (color.h || 0).toFixed(0);
46
+ const a = color.alpha !== undefined && color.alpha < 1 ? ` / ${color.alpha}` : '';
47
+ newObj[key] = `oklch(${l}% ${c} ${h}${a})`;
48
+ } else {
49
+ newObj[key] = value;
50
+ }
51
+ }
52
+ } else if (typeof value === 'object' && value !== null) {
53
+ newObj[key] = convertToOklchRecursive(value as ColorStructure) as any;
54
+ } else {
55
+ newObj[key] = value;
56
+ }
57
+ }
58
+ return newObj as ColorStructure;
59
+ }
60
+
61
+ function convertOklchToHex(obj: ColorStructure): ColorStructure {
62
+ if (typeof obj !== 'object' || obj === null) {
63
+ return obj;
64
+ }
65
+
66
+ if (Array.isArray(obj)) {
67
+ return obj.map((item) => convertOklchToHex(item as ColorStructure));
68
+ }
69
+
70
+ const newObj: ColorObject = {};
71
+ for (const key in obj) {
72
+ const value = obj[key];
73
+
74
+ if (typeof value === 'string' && value.startsWith('oklch(') && !value.includes('/')) {
75
+ const oklchColor = converter('oklch')(value);
76
+ newObj[key] = oklchColor ? formatHex(oklchColor) : value;
77
+ } else if (typeof value === 'object' && value !== null) {
78
+ newObj[key] = convertOklchToHex(value as ColorStructure) as any;
79
+ } else {
80
+ newObj[key] = value;
81
+ }
82
+ }
83
+ return newObj as ColorStructure;
84
+ }
85
+
86
+ function convertAlphaOklchToRgba(obj: ColorStructure): ColorStructure {
87
+ if (typeof obj !== 'object' || obj === null) {
88
+ return obj;
89
+ }
90
+
91
+ if (Array.isArray(obj)) {
92
+ return obj.map((item) => convertAlphaOklchToRgba(item as ColorStructure));
93
+ }
94
+
95
+ const newObj: ColorObject = {};
96
+ for (const key in obj) {
97
+ const value = obj[key];
98
+
99
+ if (typeof value === 'string' && value.startsWith('oklch(') && value.includes('/')) {
100
+ const rgbaColor = converter('rgb')(value);
101
+ if (rgbaColor) {
102
+ const r = Math.round(rgbaColor.r * 255);
103
+ const g = Math.round(rgbaColor.g * 255);
104
+ const b = Math.round(rgbaColor.b * 255);
105
+ const a = rgbaColor.alpha ?? 1;
106
+ newObj[key] = `rgba(${r}, ${g}, ${b}, ${a})`;
107
+ continue;
108
+ }
109
+ }
110
+
111
+ if (typeof value === 'object' && value !== null) {
112
+ newObj[key] = convertAlphaOklchToRgba(value as ColorStructure) as any;
113
+ } else {
114
+ newObj[key] = value;
115
+ }
116
+ }
117
+ return newObj as ColorStructure;
118
+ }
119
+
120
+ const convertToAarrggbb = (colorString: string): string => {
121
+ const color = converter('rgb')(colorString) as Rgb;
122
+ if (!color) {
123
+ return colorString;
124
+ }
125
+
126
+ const r = Math.round(color.r * 255);
127
+ const g = Math.round(color.g * 255);
128
+ const b = Math.round(color.b * 255);
129
+ const alpha = Math.round((color.alpha ?? 1) * 255);
130
+
131
+ const toHex = (c: number) => c.toString(16).padStart(2, '0');
132
+ const rgbHex = `${toHex(r)}${toHex(g)}${toHex(b)}`.toUpperCase();
133
+
134
+ if (alpha === 255) {
135
+ return `#${rgbHex}`;
136
+ }
137
+
138
+ return `#${toHex(alpha)}${rgbHex}`.toUpperCase();
139
+ };
140
+
141
+ function convertToAarrggbbRecursive(obj: ColorStructure): ColorStructure {
142
+ if (typeof obj !== 'object' || obj === null) {
143
+ return obj;
144
+ }
145
+
146
+ if (Array.isArray(obj)) {
147
+ return obj.map((item) => convertToAarrggbbRecursive(item as ColorStructure));
148
+ }
149
+
150
+ const newObj: ColorObject = {};
151
+ for (const key in obj) {
152
+ const value = obj[key];
153
+
154
+ if (typeof value === 'string') {
155
+ newObj[key] = convertToAarrggbb(value);
156
+ } else if (typeof value === 'object' && value !== null) {
157
+ newObj[key] = convertToAarrggbbRecursive(value as ColorStructure) as any;
158
+ } else {
159
+ newObj[key] = value;
160
+ }
161
+ }
162
+ return newObj as ColorStructure;
163
+ }
@@ -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,7 @@
1
+ export const camelCaseToKebabCase = (str: string) => {
2
+ return str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
3
+ };
4
+
5
+ export const kebabCaseToCamelCase = (str: string) => {
6
+ return str.replace(/-(\w)/g, (_, c) => c.toUpperCase());
7
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skbkontur/colors",
3
- "version": "2.0.0-alpha.3",
3
+ "version": "2.0.0-alpha.4",
4
4
  "author": "Kontur",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -9,11 +9,41 @@
9
9
  "type": "module",
10
10
  "license": "UNLICENSED",
11
11
  "sideEffects": false,
12
+ "files": [
13
+ "/lib",
14
+ "/tokens",
15
+ "/tokens-mobile",
16
+ "colors.*"
17
+ ],
18
+ "exports": {
19
+ "./package.json": "./package.json",
20
+ ".": "./colors.js",
21
+ "./colors.scss": "./colors.scss",
22
+ "./colors.less": "./colors.less",
23
+ "./get-colors": "./lib/get-colors.js",
24
+ "./light-default": "./colors-light-default.js",
25
+ "./dark-default": "./colors-dark-default.js",
26
+ "./tokens/brand-orange_accent-gray.css": "./tokens/brand-orange_accent-gray.css",
27
+ "./tokens/brand-blue_accent-gray.css": "./tokens/brand-blue_accent-gray.css",
28
+ "./tokens/brand-blue_accent-brand.css": "./tokens/brand-blue_accent-brand.css",
29
+ "./tokens/brand-blue-deep_accent-brand.css": "./tokens/brand-blue-deep_accent-brand.css",
30
+ "./tokens/brand-blue-deep_accent-gray.css": "./tokens/brand-blue-deep_accent-gray.css",
31
+ "./tokens/brand-green_accent-brand.css": "./tokens/brand-green_accent-brand.css",
32
+ "./tokens/brand-green_accent-gray.css": "./tokens/brand-green_accent-gray.css",
33
+ "./tokens/brand-mint_accent-brand.css": "./tokens/brand-mint_accent-brand.css",
34
+ "./tokens/brand-mint_accent-gray.css": "./tokens/brand-mint_accent-gray.css",
35
+ "./tokens/brand-purple_accent-brand.css": "./tokens/brand-purple_accent-brand.css",
36
+ "./tokens/brand-purple_accent-gray.css": "./tokens/brand-purple_accent-gray.css",
37
+ "./tokens/brand-violet_accent-brand.css": "./tokens/brand-violet_accent-brand.css",
38
+ "./tokens/brand-violet_accent-gray.css": "./tokens/brand-violet_accent-gray.css"
39
+ },
12
40
  "scripts": {
13
- "build": "npm run build:esm && npm run build:static",
14
- "build:esm": "tsc --outDir dist/esm",
15
- "build:static": "node --import=tsx scripts/generate.ts && prettier ./dist --write && npx stylelint \"**/*.{css,scss,less}\" --fix",
16
- "extract-tokens": "node --import=tsx scripts/extract-tokens-from-figma.ts",
41
+ "prebuild": "node --import=tsx scripts/create-tokens-from-figma.ts",
42
+ "build": "npm run build:static && npm run build:esm",
43
+ "build:esm": "tsc",
44
+ "build:static": "node --import=tsx scripts/create-tokens-files.ts && prettier . --write && npx stylelint \"**/*.{css,scss,less}\" --fix",
45
+ "test": "vitest run",
46
+ "test:watch": "vitest",
17
47
  "clean": "git clean -fdxqe node_modules"
18
48
  },
19
49
  "dependencies": {
@@ -21,8 +51,12 @@
21
51
  "culori": "4.0.2"
22
52
  },
23
53
  "devDependencies": {
24
- "@skbkontur/react-ui": "5.4.6",
54
+ "@skbkontur/react-ui": "5.5.1",
25
55
  "@types/apca-w3": "0.1.3",
26
- "@types/culori": "4.0.1"
56
+ "@types/culori": "4.0.1",
57
+ "vitest": "^2.1.6"
58
+ },
59
+ "colors": {
60
+ "_": "./"
27
61
  }
28
62
  }