@skbkontur/colors 0.5.1 → 1.0.0-alpha.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 +90 -48
- package/dist/cjs/constants/abney-correction.d.ts +2 -0
- package/dist/cjs/constants/abney-correction.js +1105 -0
- package/dist/cjs/constants/chroma-settings.d.ts +2 -0
- package/dist/cjs/constants/chroma-settings.js +105 -0
- package/dist/cjs/constants/default-swatch.d.ts +109 -0
- package/dist/cjs/constants/default-swatch.js +112 -0
- package/dist/cjs/constants/interaction-settings.d.ts +8 -0
- package/dist/cjs/constants/interaction-settings.js +19 -0
- package/dist/cjs/constants/logo-lightness.d.ts +1 -0
- package/dist/cjs/constants/logo-lightness.js +4 -0
- package/dist/cjs/constants/promo-hue-shift.d.ts +3 -0
- package/dist/cjs/constants/promo-hue-shift.js +14 -0
- package/dist/cjs/constants/warning-hue-patch.d.ts +3 -0
- package/dist/cjs/constants/warning-hue-patch.js +25 -0
- package/dist/cjs/get-base-tokens.d.ts +19 -0
- package/dist/cjs/get-base-tokens.js +199 -0
- package/dist/cjs/get-colors.d.ts +19 -0
- package/dist/cjs/get-colors.js +25 -0
- package/dist/cjs/get-default-tokens.d.ts +645 -0
- package/dist/cjs/get-default-tokens.js +996 -0
- package/dist/cjs/helpers/get-interactions.d.ts +7 -0
- package/dist/cjs/helpers/get-interactions.js +61 -0
- package/dist/cjs/helpers/get-logo.d.ts +6 -0
- package/dist/cjs/helpers/get-logo.js +32 -0
- package/dist/cjs/helpers/get-palette.d.ts +76 -0
- package/dist/cjs/helpers/get-palette.js +287 -0
- package/dist/cjs/helpers/get-promo.d.ts +12 -0
- package/dist/cjs/helpers/get-promo.js +56 -0
- package/dist/cjs/types/base-tokens.d.ts +125 -0
- package/dist/cjs/types/base-tokens.js +2 -0
- package/dist/cjs/types/generator-tokens.d.ts +43 -0
- package/dist/cjs/types/generator-tokens.js +2 -0
- package/dist/cjs/utils/format-variable.d.ts +2 -0
- package/dist/cjs/utils/format-variable.js +15 -0
- package/dist/colors.default-dark.js +325 -0
- package/dist/colors.default-light.js +326 -0
- package/dist/colors.js +319 -0
- package/dist/colors.less +319 -0
- package/dist/colors.scss +319 -0
- package/dist/esm/constants/abney-correction.d.ts +2 -0
- package/dist/esm/constants/abney-correction.js +1102 -0
- package/dist/esm/constants/chroma-settings.d.ts +2 -0
- package/dist/esm/constants/chroma-settings.js +102 -0
- package/dist/esm/constants/default-swatch.d.ts +109 -0
- package/dist/esm/constants/default-swatch.js +109 -0
- package/dist/esm/constants/interaction-settings.d.ts +8 -0
- package/dist/esm/constants/interaction-settings.js +8 -0
- package/dist/esm/constants/logo-lightness.d.ts +1 -0
- package/dist/esm/constants/logo-lightness.js +1 -0
- package/dist/esm/constants/promo-hue-shift.d.ts +3 -0
- package/dist/esm/constants/promo-hue-shift.js +11 -0
- package/dist/esm/constants/warning-hue-patch.d.ts +3 -0
- package/dist/esm/constants/warning-hue-patch.js +22 -0
- package/dist/esm/get-base-tokens.d.ts +19 -0
- package/dist/esm/get-base-tokens.js +147 -0
- package/dist/esm/get-colors.d.ts +19 -0
- package/dist/esm/get-colors.js +21 -0
- package/dist/esm/get-default-tokens.d.ts +645 -0
- package/dist/esm/get-default-tokens.js +992 -0
- package/dist/esm/helpers/get-interactions.d.ts +7 -0
- package/dist/esm/helpers/get-interactions.js +49 -0
- package/dist/esm/helpers/get-logo.d.ts +6 -0
- package/dist/esm/helpers/get-logo.js +28 -0
- package/dist/esm/helpers/get-palette.d.ts +76 -0
- package/dist/esm/helpers/get-palette.js +232 -0
- package/dist/esm/helpers/get-promo.d.ts +12 -0
- package/dist/esm/helpers/get-promo.js +51 -0
- package/dist/esm/types/base-tokens.d.ts +125 -0
- package/dist/esm/types/base-tokens.js +1 -0
- package/dist/esm/types/generator-tokens.d.ts +43 -0
- package/dist/esm/types/generator-tokens.js +1 -0
- package/dist/esm/utils/format-variable.d.ts +2 -0
- package/dist/esm/utils/format-variable.js +10 -0
- package/dist/tokens/brand-blue-deep_accent-brand.css +643 -0
- package/dist/tokens/brand-blue-deep_accent-gray.css +643 -0
- package/dist/tokens/brand-blue_accent-brand.css +643 -0
- package/dist/tokens/brand-blue_accent-gray.css +643 -0
- package/dist/tokens/brand-green_accent-brand.css +643 -0
- package/dist/tokens/brand-green_accent-gray.css +643 -0
- package/dist/tokens/brand-mint_accent-brand.css +643 -0
- package/dist/tokens/brand-mint_accent-gray.css +643 -0
- package/dist/tokens/brand-orange_accent-gray.css +643 -0
- package/dist/tokens/brand-purple_accent-brand.css +643 -0
- package/dist/tokens/brand-purple_accent-gray.css +643 -0
- package/dist/tokens/brand-red_accent-gray.css +643 -0
- package/dist/tokens/brand-violet_accent-brand.css +643 -0
- package/dist/tokens/brand-violet_accent-gray.css +643 -0
- package/dist/tokens-js/brand-blue-deep_accent-brand.js +644 -0
- package/dist/tokens-js/brand-blue-deep_accent-gray.js +644 -0
- package/dist/tokens-js/brand-blue_accent-brand.js +644 -0
- package/dist/tokens-js/brand-blue_accent-gray.js +644 -0
- package/dist/tokens-js/brand-green_accent-brand.js +644 -0
- package/dist/tokens-js/brand-green_accent-gray.js +644 -0
- package/dist/tokens-js/brand-mint_accent-brand.js +644 -0
- package/dist/tokens-js/brand-mint_accent-gray.js +644 -0
- package/dist/tokens-js/brand-orange_accent-gray.js +644 -0
- package/dist/tokens-js/brand-purple_accent-brand.js +644 -0
- package/dist/tokens-js/brand-purple_accent-gray.js +644 -0
- package/dist/tokens-js/brand-red_accent-gray.js +644 -0
- package/dist/tokens-js/brand-violet_accent-brand.js +644 -0
- package/dist/tokens-js/brand-violet_accent-gray.js +644 -0
- package/dist/tokens-mobile/brand-blue-deep_accent-brand.json +718 -0
- package/dist/tokens-mobile/brand-blue-deep_accent-gray.json +718 -0
- package/dist/tokens-mobile/brand-blue_accent-brand.json +718 -0
- package/dist/tokens-mobile/brand-blue_accent-gray.json +718 -0
- package/dist/tokens-mobile/brand-green_accent-brand.json +718 -0
- package/dist/tokens-mobile/brand-green_accent-gray.json +718 -0
- package/dist/tokens-mobile/brand-mint_accent-brand.json +718 -0
- package/dist/tokens-mobile/brand-mint_accent-gray.json +718 -0
- package/dist/tokens-mobile/brand-orange_accent-gray.json +718 -0
- package/dist/tokens-mobile/brand-purple_accent-brand.json +718 -0
- package/dist/tokens-mobile/brand-purple_accent-gray.json +718 -0
- package/dist/tokens-mobile/brand-red_accent-gray.json +718 -0
- package/dist/tokens-mobile/brand-violet_accent-brand.json +718 -0
- package/dist/tokens-mobile/brand-violet_accent-gray.json +718 -0
- package/package.json +15 -7
- package/CHANGELOG.md +0 -108
- package/colors.css +0 -160
- package/colors.less +0 -158
- package/dist/cjs/colors.d.ts +0 -161
- package/dist/cjs/colors.js +0 -163
- package/dist/esm/colors.d.ts +0 -161
- package/dist/esm/colors.js +0 -160
package/README.md
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
NPM-пакет для доступа к цветам из общей Figma-библиотеки [Kontur.Colors](https://www.figma.com/file/XuiIin3JAOEcHHPihtthOJ/%E2%9A%A1%EF%B8%8F-Kontur-Colors?node-id=0%3A1&t=pL38Ju5ZOo3VC6vt-0)
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
## Установка
|
|
7
6
|
|
|
8
7
|
```bash
|
|
@@ -11,9 +10,9 @@ npm i @skbkontur/colors
|
|
|
11
10
|
|
|
12
11
|
## Использование
|
|
13
12
|
|
|
14
|
-
- JS/TS токены содержатся в объекте `KonturColors`
|
|
15
|
-
- В
|
|
16
|
-
- В
|
|
13
|
+
- JS/TS токены содержатся в объекте `KonturColors.color.name`
|
|
14
|
+
- В CSS в виде глобальных переменных`--kontur-color-name` в `:root { ... }`
|
|
15
|
+
- В препроцессорах Less `@color-name` и SCSS `$color-name`
|
|
17
16
|
|
|
18
17
|
#### JS/TS
|
|
19
18
|
|
|
@@ -29,8 +28,8 @@ const text = `<div style="color: ${KonturColors.blueDark90}">Цвет blueDark90
|
|
|
29
28
|
import { KonturColors } from '@skbkontur/colors';
|
|
30
29
|
|
|
31
30
|
const Component = () => {
|
|
32
|
-
|
|
33
|
-
}
|
|
31
|
+
return <div style={{ color: KonturColors.blueDark90 }}>Цвет blueDark90</div>;
|
|
32
|
+
};
|
|
34
33
|
```
|
|
35
34
|
|
|
36
35
|
#### CSS
|
|
@@ -39,7 +38,17 @@ const Component = () => {
|
|
|
39
38
|
@import '@skbkontur/colors/colors.css';
|
|
40
39
|
|
|
41
40
|
.class {
|
|
42
|
-
|
|
41
|
+
color: var(--blue-dark-90);
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### SCSS
|
|
46
|
+
|
|
47
|
+
```scss
|
|
48
|
+
@import '@skbkontur/colors/colors.scss';
|
|
49
|
+
|
|
50
|
+
.class {
|
|
51
|
+
color: $blue-dark-90;
|
|
43
52
|
}
|
|
44
53
|
```
|
|
45
54
|
|
|
@@ -49,15 +58,24 @@ const Component = () => {
|
|
|
49
58
|
@import '@skbkontur/colors/colors.less';
|
|
50
59
|
|
|
51
60
|
.class {
|
|
52
|
-
|
|
61
|
+
color: @blue-dark-90;
|
|
53
62
|
}
|
|
54
63
|
```
|
|
55
64
|
|
|
56
65
|
## Палитра
|
|
57
66
|
|
|
58
|
-
```jsx
|
|
67
|
+
```jsx harmony
|
|
59
68
|
import { KonturColors } from '@skbkontur/colors';
|
|
60
|
-
import {
|
|
69
|
+
import {
|
|
70
|
+
Toast,
|
|
71
|
+
DropdownMenu,
|
|
72
|
+
MenuHeader,
|
|
73
|
+
MenuItem,
|
|
74
|
+
ThemeContext,
|
|
75
|
+
ThemeFactory,
|
|
76
|
+
THEME_2022_UPDATE_2024,
|
|
77
|
+
} from '@skbkontur/react-ui';
|
|
78
|
+
|
|
61
79
|
import { css } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
62
80
|
|
|
63
81
|
const styles = {
|
|
@@ -81,14 +99,14 @@ const styles = {
|
|
|
81
99
|
cursor: pointer;
|
|
82
100
|
padding: 8px;
|
|
83
101
|
border-radius: 8px;
|
|
84
|
-
transition: .1s ease;
|
|
102
|
+
transition: 0.1s ease;
|
|
85
103
|
|
|
86
104
|
&:hover {
|
|
87
|
-
background: rgba(0,0,0
|
|
105
|
+
background: rgba(0, 0, 0, 0.06);
|
|
88
106
|
}
|
|
89
107
|
|
|
90
108
|
&:active {
|
|
91
|
-
background: rgba(0,0,0
|
|
109
|
+
background: rgba(0, 0, 0, 0.1);
|
|
92
110
|
}
|
|
93
111
|
`,
|
|
94
112
|
colorTile: css`
|
|
@@ -118,47 +136,71 @@ const styles = {
|
|
|
118
136
|
display: block;
|
|
119
137
|
fontSize: 12px;
|
|
120
138
|
color: #8b8b8b;
|
|
121
|
-
}
|
|
139
|
+
}`,
|
|
122
140
|
};
|
|
123
141
|
|
|
124
|
-
const colorGroups = Object.entries(KonturColors)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
142
|
+
const colorGroups = Object.entries(KonturColors).reduce((acc, [colorKey, colorValue]) => {
|
|
143
|
+
const firstWord = ['greenMint', 'blueDark'].find((color) => colorKey.match(color)) || colorKey.match(/^[a-z]+/)[0];
|
|
144
|
+
|
|
145
|
+
acc[firstWord] = { ...acc[firstWord], [colorKey]: colorValue };
|
|
146
|
+
|
|
147
|
+
return acc;
|
|
148
|
+
}, {});
|
|
128
149
|
|
|
129
|
-
|
|
150
|
+
const getColors = (color) => {
|
|
151
|
+
const colorDashCase = color
|
|
152
|
+
.replace(/[A-Z]/g, (m) => '-' + m.toLowerCase())
|
|
153
|
+
.replace(/\d/, (m) => `-${m}`)
|
|
154
|
+
.replace('f-f-f', 'fff');
|
|
130
155
|
|
|
131
|
-
|
|
132
|
-
|
|
156
|
+
return {
|
|
157
|
+
'JavaScript / TypeScript': `KonturColors.${color}`,
|
|
158
|
+
CSS: `var(--kontur-${colorDashCase})`,
|
|
159
|
+
SCSS: `$${colorDashCase}`,
|
|
160
|
+
Less: `@${colorDashCase}`,
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
const copyColor = (color) => {
|
|
165
|
+
navigator.clipboard.writeText(color);
|
|
166
|
+
Toast.push('Цвет скопирован', null, 1000);
|
|
167
|
+
};
|
|
133
168
|
|
|
134
169
|
<div className={styles.colors}>
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
<div className={styles.
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
<
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
</div>
|
|
170
|
+
<ThemeContext.Provider value={THEME_2022_UPDATE_2024}>
|
|
171
|
+
{Object.entries(colorGroups).map(([group, colors]) => {
|
|
172
|
+
return (
|
|
173
|
+
<div className={styles.colorGroup}>
|
|
174
|
+
<div className={styles.groupTitle}>{group}</div>
|
|
175
|
+
{Object.keys(colors).map((colorName) => {
|
|
176
|
+
const colorValue = KonturColors[colorName];
|
|
177
|
+
const colorTile = (
|
|
178
|
+
<div className={styles.colorBlock}>
|
|
179
|
+
<span className={styles.colorTile} style={{ backgroundColor: colorValue }} />
|
|
180
|
+
<span>
|
|
181
|
+
<span className={styles.colorName}>{colorName}</span>
|
|
182
|
+
<span className={styles.colorValue}>{colorValue}</span>
|
|
183
|
+
</span>
|
|
184
|
+
</div>
|
|
185
|
+
);
|
|
186
|
+
return (
|
|
187
|
+
<div>
|
|
188
|
+
<DropdownMenu caption={colorTile} width="300">
|
|
189
|
+
<MenuHeader>Скопировать переменную</MenuHeader>
|
|
190
|
+
{Object.entries(getColors(colorName)).map(([lang, color]) => (
|
|
191
|
+
<MenuItem onClick={() => copyColor(color)} comment={lang}>
|
|
192
|
+
<div style={{ minWidth: 270 }}>{color}</div>
|
|
193
|
+
</MenuItem>
|
|
194
|
+
))}
|
|
195
|
+
</DropdownMenu>
|
|
196
|
+
</div>
|
|
197
|
+
);
|
|
198
|
+
})}
|
|
199
|
+
</div>
|
|
200
|
+
);
|
|
201
|
+
})}
|
|
202
|
+
</ThemeContext.Provider>
|
|
203
|
+
</div>;
|
|
162
204
|
```
|
|
163
205
|
|
|
164
206
|
## Разработка
|