endfield-vision 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/README.md +3 -3
- package/README.ru.md +3 -3
- package/dist/styles/accents.css +6 -6
- package/dist/styles/tokens.css +27 -27
- package/package.json +1 -1
- package/src/styles/accents.css +6 -6
- package/src/styles/tokens.css +27 -27
package/README.md
CHANGED
|
@@ -12,10 +12,10 @@ The live catalog is the **ENDFIELD Vision** section of the playground in the [re
|
|
|
12
12
|
npm i endfield-vision
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Without the npm registry: every GitHub release has the same build attached as an archive.
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
npm i https://github.com/RetentionSoftware/endfield-vision/releases/download/v2.1.
|
|
18
|
+
npm i https://github.com/RetentionSoftware/endfield-vision/releases/download/v2.1.1/endfield-vision-2.1.1.tgz
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Requires `react` and `react-dom` 19.
|
|
@@ -94,7 +94,7 @@ Three independent settings on `<html>`:
|
|
|
94
94
|
- **Theme** - `data-theme="dark|light"`.
|
|
95
95
|
- **Style** - `data-style="slim"` (no attribute means `default`). A style changes how elements look, not their size: control heights, spacing and type scale stay the same, so switching never breaks a layout.
|
|
96
96
|
- `default` - contrasting, accent-colored selection, viewfinder corners, uppercase section labels.
|
|
97
|
-
- `slim` - flat and calm:
|
|
97
|
+
- `slim` - flat and calm: soft neutrals, nothing glows, selection is a neutral tone, outlined secondary and danger buttons, sentence-case labels, a crisp focus line instead of a soft halo.
|
|
98
98
|
- **Accent** - `data-accent="amber|emerald|cyan|rose|violet|ink"` (no attribute means indigo). `ink` is a neutral accent: the primary button is ink-colored and color stays in statuses only. Each preset has its own values for each style and theme; contrast is checked by tests.
|
|
99
99
|
|
|
100
100
|
`ThemeScript` sets all three before rendering. Options: `defaultTheme` (`'dark' | 'light' | 'system'`), `defaultStyle`, `defaultAccent`, `themeKey`, `styleKey`, `accentKey`, `nonce` (for CSP).
|
package/README.ru.md
CHANGED
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
npm i endfield-vision
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Без реестра npm: к каждому релизу на GitHub приложена та же сборка архивом.
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
npm i https://github.com/RetentionSoftware/endfield-vision/releases/download/v2.1.
|
|
18
|
+
npm i https://github.com/RetentionSoftware/endfield-vision/releases/download/v2.1.1/endfield-vision-2.1.1.tgz
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Нужны `react` и `react-dom` 19.
|
|
@@ -94,7 +94,7 @@ import { LocaleProvider } from 'endfield-vision'
|
|
|
94
94
|
- **Тема** - `data-theme="dark|light"`.
|
|
95
95
|
- **Стиль** - `data-style="slim"` (без атрибута - `default`). Стиль меняет подачу элементов, а не размеры: высоты контролов, отступы и кегль те же, поэтому переключение не ломает раскладку.
|
|
96
96
|
- `default` («Стандартный») - контрастный, выделение акцентом, уголки видоискателя, подписи разделов капсом.
|
|
97
|
-
- `slim` («Утончённый») - плоский и спокойный:
|
|
97
|
+
- `slim` («Утончённый») - плоский и спокойный: мягкие нейтрали, ничего не светится, выбранное - нейтральным тоном, вторичная и опасная кнопки контуром, подписи без капса, фокус - чёткая линия вместо мягкого ореола.
|
|
98
98
|
- **Акцент** - `data-accent="amber|emerald|cyan|rose|violet|ink"` (без атрибута - indigo). `ink` («Чернила») - нейтральный акцент: основная кнопка чернильная, цвет остаётся только в статусах. У каждого пресета свои значения для каждого стиля и темы; контраст проверяют тесты.
|
|
99
99
|
|
|
100
100
|
`ThemeScript` ставит все три до отрисовки. Опции: `defaultTheme` (`'dark' | 'light' | 'system'`), `defaultStyle`, `defaultAccent`, `themeKey`, `styleKey`, `accentKey`, `nonce` (для CSP).
|
package/dist/styles/accents.css
CHANGED
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
/*
|
|
118
|
-
* Стиль Slim: те же пресеты, приглушённые под
|
|
118
|
+
* Стиль Slim: те же пресеты, приглушённые под нейтрали стиля.
|
|
119
119
|
* indigo - без атрибута data-accent.
|
|
120
120
|
*/
|
|
121
121
|
:root[data-style='slim']:not([data-accent]) {
|
|
@@ -167,11 +167,11 @@
|
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
:root[data-style='slim'][data-accent='ink'] {
|
|
170
|
-
--ev-accent-rgb: 200,
|
|
171
|
-
--ev-accent-text: #
|
|
172
|
-
--ev-accent-strong: #
|
|
173
|
-
--ev-accent-strong-hover: #
|
|
174
|
-
--ev-text-on-accent: #
|
|
170
|
+
--ev-accent-rgb: 200, 198, 192;
|
|
171
|
+
--ev-accent-text: #e2e0db;
|
|
172
|
+
--ev-accent-strong: #e9e8e3;
|
|
173
|
+
--ev-accent-strong-hover: #f5f4f0;
|
|
174
|
+
--ev-text-on-accent: #181817;
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
:root[data-style='slim'][data-theme='light']:not([data-accent]) {
|
package/dist/styles/tokens.css
CHANGED
|
@@ -295,39 +295,39 @@
|
|
|
295
295
|
|
|
296
296
|
/*
|
|
297
297
|
* Стиль Slim («Утончённый»): <html data-style="slim">. Плоский и спокойный:
|
|
298
|
-
*
|
|
298
|
+
* нейтрали с лёгким тёплым оттенком, без свечения, выбранное - нейтральным тоном, подписи без капса.
|
|
299
299
|
* Размеры (высоты контролов, отступы, кегль) те же, что в Default.
|
|
300
300
|
* Правила компонентов - в slim.css (слой ev.styles).
|
|
301
301
|
*
|
|
302
|
-
* Контраст (тёмная): --ev-text-muted 5.
|
|
303
|
-
* --ev-border-control 3.
|
|
302
|
+
* Контраст (тёмная): --ev-text-muted 5.8 к --ev-surface-1, 4.8 к --ev-surface-3;
|
|
303
|
+
* --ev-border-control 3.6 к фону поля. Светлая: --ev-text-muted 5.8 / 4.7, рамка поля 3.4.
|
|
304
304
|
*/
|
|
305
305
|
:root[data-style='slim'] {
|
|
306
|
-
--ev-bg: #
|
|
307
|
-
--ev-surface-1: #
|
|
308
|
-
--ev-surface-2: #
|
|
309
|
-
--ev-surface-3: #
|
|
310
|
-
--ev-surface-input: #
|
|
311
|
-
--ev-surface-overlay: rgba(
|
|
312
|
-
--ev-surface-tooltip: #
|
|
306
|
+
--ev-bg: #181817;
|
|
307
|
+
--ev-surface-1: #20201e;
|
|
308
|
+
--ev-surface-2: #272725;
|
|
309
|
+
--ev-surface-3: #2f2e2c;
|
|
310
|
+
--ev-surface-input: #1b1b1a;
|
|
311
|
+
--ev-surface-overlay: rgba(8, 8, 7, 0.62);
|
|
312
|
+
--ev-surface-tooltip: #363533;
|
|
313
313
|
--ev-surface-nested: var(--ev-surface-2);
|
|
314
314
|
|
|
315
|
-
--ev-tint-1: rgba(255,
|
|
316
|
-
--ev-tint-2: rgba(255,
|
|
317
|
-
--ev-tint-3: rgba(255,
|
|
318
|
-
--ev-tint-4: rgba(255,
|
|
315
|
+
--ev-tint-1: rgba(255, 253, 248, 0.025);
|
|
316
|
+
--ev-tint-2: rgba(255, 253, 248, 0.045);
|
|
317
|
+
--ev-tint-3: rgba(255, 253, 248, 0.07);
|
|
318
|
+
--ev-tint-4: rgba(255, 253, 248, 0.1);
|
|
319
319
|
|
|
320
|
-
--ev-border-soft: rgba(255,
|
|
321
|
-
--ev-border: #
|
|
322
|
-
--ev-border-strong: #
|
|
323
|
-
--ev-border-control: #
|
|
324
|
-
--ev-border-hover: #
|
|
320
|
+
--ev-border-soft: rgba(255, 253, 248, 0.05);
|
|
321
|
+
--ev-border: #2f2f2c;
|
|
322
|
+
--ev-border-strong: #3c3b38;
|
|
323
|
+
--ev-border-control: #74726c;
|
|
324
|
+
--ev-border-hover: #8a8881;
|
|
325
325
|
|
|
326
|
-
--ev-text: #
|
|
327
|
-
--ev-text-secondary: #
|
|
328
|
-
--ev-text-muted: #
|
|
329
|
-
--ev-text-disabled: #
|
|
330
|
-
--ev-text-on-solid: #
|
|
326
|
+
--ev-text: #ecebe8;
|
|
327
|
+
--ev-text-secondary: #c0beb8;
|
|
328
|
+
--ev-text-muted: #9c9a93;
|
|
329
|
+
--ev-text-disabled: #686660;
|
|
330
|
+
--ev-text-on-solid: #181817;
|
|
331
331
|
|
|
332
332
|
--ev-success-rgb: 127, 191, 149;
|
|
333
333
|
--ev-success-strong: #3f7d57;
|
|
@@ -339,9 +339,9 @@
|
|
|
339
339
|
--ev-info-rgb: 134, 174, 214;
|
|
340
340
|
--ev-violet-rgb: 182, 166, 224;
|
|
341
341
|
|
|
342
|
-
--ev-chart-grid: #
|
|
343
|
-
--ev-chart-axis: #
|
|
344
|
-
--ev-chart-crosshair: #
|
|
342
|
+
--ev-chart-grid: #2f2f2c;
|
|
343
|
+
--ev-chart-axis: #3c3b38;
|
|
344
|
+
--ev-chart-crosshair: #74726c;
|
|
345
345
|
|
|
346
346
|
--ev-radius-xs: 4px;
|
|
347
347
|
--ev-radius-sm: 6px;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "endfield-vision",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "Endfield Vision - design system for React / Next.js: tokens, dark and light themes, accent presets, accessible components without third-party UI dependencies",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
package/src/styles/accents.css
CHANGED
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
/*
|
|
118
|
-
* Стиль Slim: те же пресеты, приглушённые под
|
|
118
|
+
* Стиль Slim: те же пресеты, приглушённые под нейтрали стиля.
|
|
119
119
|
* indigo - без атрибута data-accent.
|
|
120
120
|
*/
|
|
121
121
|
:root[data-style='slim']:not([data-accent]) {
|
|
@@ -167,11 +167,11 @@
|
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
:root[data-style='slim'][data-accent='ink'] {
|
|
170
|
-
--ev-accent-rgb: 200,
|
|
171
|
-
--ev-accent-text: #
|
|
172
|
-
--ev-accent-strong: #
|
|
173
|
-
--ev-accent-strong-hover: #
|
|
174
|
-
--ev-text-on-accent: #
|
|
170
|
+
--ev-accent-rgb: 200, 198, 192;
|
|
171
|
+
--ev-accent-text: #e2e0db;
|
|
172
|
+
--ev-accent-strong: #e9e8e3;
|
|
173
|
+
--ev-accent-strong-hover: #f5f4f0;
|
|
174
|
+
--ev-text-on-accent: #181817;
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
:root[data-style='slim'][data-theme='light']:not([data-accent]) {
|
package/src/styles/tokens.css
CHANGED
|
@@ -295,39 +295,39 @@
|
|
|
295
295
|
|
|
296
296
|
/*
|
|
297
297
|
* Стиль Slim («Утончённый»): <html data-style="slim">. Плоский и спокойный:
|
|
298
|
-
*
|
|
298
|
+
* нейтрали с лёгким тёплым оттенком, без свечения, выбранное - нейтральным тоном, подписи без капса.
|
|
299
299
|
* Размеры (высоты контролов, отступы, кегль) те же, что в Default.
|
|
300
300
|
* Правила компонентов - в slim.css (слой ev.styles).
|
|
301
301
|
*
|
|
302
|
-
* Контраст (тёмная): --ev-text-muted 5.
|
|
303
|
-
* --ev-border-control 3.
|
|
302
|
+
* Контраст (тёмная): --ev-text-muted 5.8 к --ev-surface-1, 4.8 к --ev-surface-3;
|
|
303
|
+
* --ev-border-control 3.6 к фону поля. Светлая: --ev-text-muted 5.8 / 4.7, рамка поля 3.4.
|
|
304
304
|
*/
|
|
305
305
|
:root[data-style='slim'] {
|
|
306
|
-
--ev-bg: #
|
|
307
|
-
--ev-surface-1: #
|
|
308
|
-
--ev-surface-2: #
|
|
309
|
-
--ev-surface-3: #
|
|
310
|
-
--ev-surface-input: #
|
|
311
|
-
--ev-surface-overlay: rgba(
|
|
312
|
-
--ev-surface-tooltip: #
|
|
306
|
+
--ev-bg: #181817;
|
|
307
|
+
--ev-surface-1: #20201e;
|
|
308
|
+
--ev-surface-2: #272725;
|
|
309
|
+
--ev-surface-3: #2f2e2c;
|
|
310
|
+
--ev-surface-input: #1b1b1a;
|
|
311
|
+
--ev-surface-overlay: rgba(8, 8, 7, 0.62);
|
|
312
|
+
--ev-surface-tooltip: #363533;
|
|
313
313
|
--ev-surface-nested: var(--ev-surface-2);
|
|
314
314
|
|
|
315
|
-
--ev-tint-1: rgba(255,
|
|
316
|
-
--ev-tint-2: rgba(255,
|
|
317
|
-
--ev-tint-3: rgba(255,
|
|
318
|
-
--ev-tint-4: rgba(255,
|
|
315
|
+
--ev-tint-1: rgba(255, 253, 248, 0.025);
|
|
316
|
+
--ev-tint-2: rgba(255, 253, 248, 0.045);
|
|
317
|
+
--ev-tint-3: rgba(255, 253, 248, 0.07);
|
|
318
|
+
--ev-tint-4: rgba(255, 253, 248, 0.1);
|
|
319
319
|
|
|
320
|
-
--ev-border-soft: rgba(255,
|
|
321
|
-
--ev-border: #
|
|
322
|
-
--ev-border-strong: #
|
|
323
|
-
--ev-border-control: #
|
|
324
|
-
--ev-border-hover: #
|
|
320
|
+
--ev-border-soft: rgba(255, 253, 248, 0.05);
|
|
321
|
+
--ev-border: #2f2f2c;
|
|
322
|
+
--ev-border-strong: #3c3b38;
|
|
323
|
+
--ev-border-control: #74726c;
|
|
324
|
+
--ev-border-hover: #8a8881;
|
|
325
325
|
|
|
326
|
-
--ev-text: #
|
|
327
|
-
--ev-text-secondary: #
|
|
328
|
-
--ev-text-muted: #
|
|
329
|
-
--ev-text-disabled: #
|
|
330
|
-
--ev-text-on-solid: #
|
|
326
|
+
--ev-text: #ecebe8;
|
|
327
|
+
--ev-text-secondary: #c0beb8;
|
|
328
|
+
--ev-text-muted: #9c9a93;
|
|
329
|
+
--ev-text-disabled: #686660;
|
|
330
|
+
--ev-text-on-solid: #181817;
|
|
331
331
|
|
|
332
332
|
--ev-success-rgb: 127, 191, 149;
|
|
333
333
|
--ev-success-strong: #3f7d57;
|
|
@@ -339,9 +339,9 @@
|
|
|
339
339
|
--ev-info-rgb: 134, 174, 214;
|
|
340
340
|
--ev-violet-rgb: 182, 166, 224;
|
|
341
341
|
|
|
342
|
-
--ev-chart-grid: #
|
|
343
|
-
--ev-chart-axis: #
|
|
344
|
-
--ev-chart-crosshair: #
|
|
342
|
+
--ev-chart-grid: #2f2f2c;
|
|
343
|
+
--ev-chart-axis: #3c3b38;
|
|
344
|
+
--ev-chart-crosshair: #74726c;
|
|
345
345
|
|
|
346
346
|
--ev-radius-xs: 4px;
|
|
347
347
|
--ev-radius-sm: 6px;
|