@de-kit/st-ui 0.1.6 → 0.1.8

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 (44) hide show
  1. package/README.md +143 -143
  2. package/dist/components/button/button.cjs +4 -3
  3. package/dist/components/button/button.cjs.map +1 -1
  4. package/dist/components/button/button.d.cts +5 -3
  5. package/dist/components/button/button.d.ts +5 -3
  6. package/dist/components/button/button.js +4 -3
  7. package/dist/components/button/button.js.map +1 -1
  8. package/dist/components/button/button.scss +147 -148
  9. package/dist/components/checkbox/checkbox.cjs.map +1 -1
  10. package/dist/components/checkbox/checkbox.js.map +1 -1
  11. package/dist/components/checkbox/checkbox.scss +137 -137
  12. package/dist/components/field/field-context.cjs.map +1 -1
  13. package/dist/components/field/field-context.js.map +1 -1
  14. package/dist/components/field/field.cjs.map +1 -1
  15. package/dist/components/field/field.js.map +1 -1
  16. package/dist/components/field/field.scss +43 -43
  17. package/dist/components/input/input.cjs.map +1 -1
  18. package/dist/components/input/input.js.map +1 -1
  19. package/dist/components/input/input.scss +127 -127
  20. package/dist/components/radio/radio.cjs.map +1 -1
  21. package/dist/components/radio/radio.js.map +1 -1
  22. package/dist/components/radio/radio.scss +144 -144
  23. package/dist/components/spinner/spinner.cjs.map +1 -1
  24. package/dist/components/spinner/spinner.js.map +1 -1
  25. package/dist/components/spinner/spinner.scss +29 -29
  26. package/dist/components/textarea/textarea.cjs.map +1 -1
  27. package/dist/components/textarea/textarea.js.map +1 -1
  28. package/dist/components/textarea/textarea.scss +85 -85
  29. package/dist/icons/icon-label-ozon.cjs +4 -4
  30. package/dist/icons/icon-label-ozon.cjs.map +1 -1
  31. package/dist/icons/icon-label-ozon.js +4 -4
  32. package/dist/icons/icon-label-ozon.js.map +1 -1
  33. package/dist/icons/icon-label-yandex.cjs +1 -1
  34. package/dist/icons/icon-label-yandex.cjs.map +1 -1
  35. package/dist/icons/icon-label-yandex.js +1 -1
  36. package/dist/icons/icon-label-yandex.js.map +1 -1
  37. package/dist/icons/svg.cjs.map +1 -1
  38. package/dist/icons/svg.js.map +1 -1
  39. package/dist/lib/cn.cjs.map +1 -1
  40. package/dist/lib/cn.js.map +1 -1
  41. package/dist/styles/global.scss +201 -201
  42. package/dist/styles/mixins.scss +51 -51
  43. package/dist/styles/vars.scss +87 -87
  44. package/package.json +1 -1
@@ -1,51 +1,51 @@
1
- @use 'sass:list';
2
- @use 'sass:map';
3
- @use 'sass:math';
4
- @use 'sass:meta';
5
-
6
- // Брейкпоинты для адаптивной вёрстки и единственный их источник: vars.scss
7
- // генерирует из этого же списка --breakpoint-*. Отдельный список нужен потому,
8
- // что в @media custom properties не работают.
9
- $breakpoints: (
10
- sm: 480px,
11
- md: 680px,
12
- lg: 1000px,
13
- xl: 1200px,
14
- );
15
-
16
- // Единицы, которые понимает @media. Проверяем их, потому что sass разбирает
17
- // имя вроде `2xl` как число 2 с единицей xl: без проверки оно уехало бы в
18
- // @media как есть и правило молча пропало бы.
19
- $-length-units: 'px', 'em', 'rem';
20
-
21
- // Имя брейкпоинта или произвольный размер: breakpoint(md), breakpoint(900px).
22
- // Список проверяем первым, иначе имя, начинающееся с цифры, до него не дойдёт.
23
- @function breakpoint($point) {
24
- @if map.has-key($breakpoints, $point) {
25
- @return map.get($breakpoints, $point);
26
- }
27
-
28
- @if meta.type-of($point) ==
29
- 'number' and
30
- list.index($-length-units, math.unit($point))
31
- {
32
- @return $point;
33
- }
34
-
35
- @error 'Нет брейкпоинта «#{$point}». Есть: #{map.keys($breakpoints)} или размер в px, em, rem.';
36
- }
37
-
38
- // От брейкпоинта и шире, включая его.
39
- @mixin min-width($point) {
40
- @media (min-width: breakpoint($point)) {
41
- @content;
42
- }
43
- }
44
-
45
- // Уже брейкпоинта, не включая его: граница 679.98px, а не 680px, иначе на
46
- // ровно 680px сработали бы оба правила сразу.
47
- @mixin max-width($point) {
48
- @media (max-width: (breakpoint($point) - 0.02px)) {
49
- @content;
50
- }
51
- }
1
+ @use 'sass:list';
2
+ @use 'sass:map';
3
+ @use 'sass:math';
4
+ @use 'sass:meta';
5
+
6
+ // Брейкпоинты для адаптивной вёрстки и единственный их источник: vars.scss
7
+ // генерирует из этого же списка --breakpoint-*. Отдельный список нужен потому,
8
+ // что в @media custom properties не работают.
9
+ $breakpoints: (
10
+ sm: 480px,
11
+ md: 680px,
12
+ lg: 1000px,
13
+ xl: 1200px,
14
+ );
15
+
16
+ // Единицы, которые понимает @media. Проверяем их, потому что sass разбирает
17
+ // имя вроде `2xl` как число 2 с единицей xl: без проверки оно уехало бы в
18
+ // @media как есть и правило молча пропало бы.
19
+ $-length-units: 'px', 'em', 'rem';
20
+
21
+ // Имя брейкпоинта или произвольный размер: breakpoint(md), breakpoint(900px).
22
+ // Список проверяем первым, иначе имя, начинающееся с цифры, до него не дойдёт.
23
+ @function breakpoint($point) {
24
+ @if map.has-key($breakpoints, $point) {
25
+ @return map.get($breakpoints, $point);
26
+ }
27
+
28
+ @if meta.type-of($point) ==
29
+ 'number' and
30
+ list.index($-length-units, math.unit($point))
31
+ {
32
+ @return $point;
33
+ }
34
+
35
+ @error 'Нет брейкпоинта «#{$point}». Есть: #{map.keys($breakpoints)} или размер в px, em, rem.';
36
+ }
37
+
38
+ // От брейкпоинта и шире, включая его.
39
+ @mixin min-width($point) {
40
+ @media (min-width: breakpoint($point)) {
41
+ @content;
42
+ }
43
+ }
44
+
45
+ // Уже брейкпоинта, не включая его: граница 679.98px, а не 680px, иначе на
46
+ // ровно 680px сработали бы оба правила сразу.
47
+ @mixin max-width($point) {
48
+ @media (max-width: (breakpoint($point) - 0.02px)) {
49
+ @content;
50
+ }
51
+ }
@@ -1,87 +1,87 @@
1
- // Токены splittest. Роли как у Tailwind v4 (`--color-primary`), значения свои.
2
- // Компоненты не знают про пигмент. Тема — переопределение этих --color-* на
3
- // [data-theme='dark'], стили кнопок и полей не трогать.
4
- // В @media custom properties нельзя, поэтому брейкпоинты живут в mixins.scss,
5
- // а --breakpoint-* ниже генерируются из того же списка — значения не разъедутся.
6
- @use './mixins.scss' as mixins;
7
-
8
- :root {
9
- // Текст и страница. Сейчас оба чёрный/белый, как и кнопка ниже — роли разные.
10
- --color-background: #fff;
11
- --color-foreground: #000;
12
-
13
- // Залитая кнопка: фон и текст на нём. Outline берёт --color-foreground, не primary.
14
- --color-primary: #000;
15
- --color-primary-foreground: #fff;
16
- --color-primary-hover: #727272;
17
-
18
- // Ховер outline. Выключенный контрол и вторичный текст/иконка.
19
- --color-secondary: #f7f7f7;
20
- --color-muted: #e5e5e5;
21
- --color-muted-foreground: #727272;
22
-
23
- --color-border: color-mix(in srgb, var(--color-foreground) 10%, transparent);
24
- --color-input: #d9d9d9;
25
- --color-ring: var(--color-foreground);
26
- // Вуаль модалки и тень не от foreground: в тёмной теме свет не падает снизу,
27
- // они остаются тёмными. Нужен другой оттенок — переопределять эти две роли.
28
- --color-overlay: rgb(0 0 0 / 0.3);
29
- --color-shadow: rgb(0 0 0 / 0.15);
30
- --color-sidebar: color-mix(in srgb, var(--color-foreground) 3%, transparent);
31
-
32
- // Акцент, ошибка, успех. Текст на акценте отдельный: в тёмной теме primary-foreground инвертируется, этот нет.
33
- --color-accent: #002bff;
34
- --color-accent-foreground: #fff;
35
- --color-destructive: #ff0000;
36
- --color-success: #00a66f;
37
- --color-warning: #ffbf00;
38
-
39
- // Фон recommended — разбавленный warning, компоненты этот процент не знают.
40
- // В тёмной теме достаточно переопределить --color-warning.
41
- --color-recommended: color-mix(
42
- in srgb,
43
- var(--color-warning) 10%,
44
- transparent
45
- );
46
-
47
- --radius-sm: 5px;
48
- --radius-lg: 10px;
49
-
50
- --font-sans: 'Inter', sans-serif;
51
-
52
- // Шкала текста: размер и парная к нему высота строки. Других размеров в splittest нет,
53
- // по умолчанию почти везде --text-sm. Заголовки: h1 и h2 — 2xl (h1 с 680px — 3xl), h3 — lg, h4 — sm.
54
- --text-xs: 11px;
55
- --text-xs--line-height: 15px;
56
- --text-sm: 14px;
57
- --text-sm--line-height: 20px;
58
- --text-base: 16px;
59
- --text-base--line-height: 20px;
60
- --text-lg: 18px;
61
- --text-lg--line-height: 20px;
62
- --text-2xl: 28px;
63
- --text-2xl--line-height: 30px;
64
- --text-3xl: 45px;
65
- --text-3xl--line-height: 50px;
66
-
67
- // Сетка 5px. Паддинги кнопки и инпута сняты с макета вне сетки и остаются литералами.
68
- --space-1: 5px;
69
- --space-2: 10px;
70
- --space-3: 15px;
71
- --space-4: 20px;
72
- --space-6: 30px;
73
-
74
- // Фокус. Одна обводка на всю библиотеку: и box-shadow у инпута, и outline у кнопки.
75
- --focus-ring-width: 1px;
76
- --focus-ring-color: var(--color-ring);
77
- --focus-ring-offset: 2px;
78
-
79
- --shadow-xl: 0 10px 40px 0 var(--color-shadow);
80
-
81
- @each $name, $value in mixins.$breakpoints {
82
- --breakpoint-#{$name}: #{$value};
83
- }
84
-
85
- --default-transition-duration: 0.3s;
86
- --default-transition-timing-function: ease;
87
- }
1
+ // Токены splittest. Роли как у Tailwind v4 (`--color-primary`), значения свои.
2
+ // Компоненты не знают про пигмент. Тема — переопределение этих --color-* на
3
+ // [data-theme='dark'], стили кнопок и полей не трогать.
4
+ // В @media custom properties нельзя, поэтому брейкпоинты живут в mixins.scss,
5
+ // а --breakpoint-* ниже генерируются из того же списка — значения не разъедутся.
6
+ @use './mixins.scss' as mixins;
7
+
8
+ :root {
9
+ // Текст и страница. Сейчас оба чёрный/белый, как и кнопка ниже — роли разные.
10
+ --color-background: #fff;
11
+ --color-foreground: #000;
12
+
13
+ // Залитая кнопка: фон и текст на нём. Outline берёт --color-foreground, не primary.
14
+ --color-primary: #000;
15
+ --color-primary-foreground: #fff;
16
+ --color-primary-hover: #000;
17
+
18
+ // Ховер outline. Выключенный контрол и вторичный текст/иконка.
19
+ --color-secondary: #f7f7f7;
20
+ --color-muted: #e5e5e5;
21
+ --color-muted-foreground: #727272;
22
+
23
+ --color-border: color-mix(in srgb, var(--color-foreground) 10%, transparent);
24
+ --color-input: #d9d9d9;
25
+ --color-ring: var(--color-foreground);
26
+ // Вуаль модалки и тень не от foreground: в тёмной теме свет не падает снизу,
27
+ // они остаются тёмными. Нужен другой оттенок — переопределять эти две роли.
28
+ --color-overlay: rgb(0 0 0 / 0.3);
29
+ --color-shadow: rgb(0 0 0 / 0.15);
30
+ --color-sidebar: color-mix(in srgb, var(--color-foreground) 3%, transparent);
31
+
32
+ // Акцент, ошибка, успех. Текст на акценте отдельный: в тёмной теме primary-foreground инвертируется, этот нет.
33
+ --color-accent: #002bff;
34
+ --color-accent-foreground: #fff;
35
+ --color-destructive: #ff0000;
36
+ --color-success: #00a66f;
37
+ --color-warning: #ffbf00;
38
+
39
+ // Фон recommended — разбавленный warning, компоненты этот процент не знают.
40
+ // В тёмной теме достаточно переопределить --color-warning.
41
+ --color-recommended: color-mix(
42
+ in srgb,
43
+ var(--color-warning) 10%,
44
+ transparent
45
+ );
46
+
47
+ --radius-sm: 5px;
48
+ --radius-lg: 10px;
49
+
50
+ --font-sans: 'Inter', sans-serif;
51
+
52
+ // Шкала текста: размер и парная к нему высота строки. Других размеров в splittest нет,
53
+ // по умолчанию почти везде --text-sm. Заголовки: h1 и h2 — 2xl (h1 с 680px — 3xl), h3 — lg, h4 — sm.
54
+ --text-xs: 11px;
55
+ --text-xs--line-height: 15px;
56
+ --text-sm: 14px;
57
+ --text-sm--line-height: 20px;
58
+ --text-base: 16px;
59
+ --text-base--line-height: 20px;
60
+ --text-lg: 18px;
61
+ --text-lg--line-height: 20px;
62
+ --text-2xl: 28px;
63
+ --text-2xl--line-height: 30px;
64
+ --text-3xl: 45px;
65
+ --text-3xl--line-height: 50px;
66
+
67
+ // Сетка 5px. Паддинги кнопки и инпута сняты с макета вне сетки и остаются литералами.
68
+ --space-1: 5px;
69
+ --space-2: 10px;
70
+ --space-3: 15px;
71
+ --space-4: 20px;
72
+ --space-6: 30px;
73
+
74
+ // Фокус. Одна обводка на всю библиотеку: и box-shadow у инпута, и outline у кнопки.
75
+ --focus-ring-width: 1px;
76
+ --focus-ring-color: var(--color-ring);
77
+ --focus-ring-offset: 2px;
78
+
79
+ --shadow-xl: 0 10px 40px 0 var(--color-shadow);
80
+
81
+ @each $name, $value in mixins.$breakpoints {
82
+ --breakpoint-#{$name}: #{$value};
83
+ }
84
+
85
+ --default-transition-duration: 0.3s;
86
+ --default-transition-timing-function: ease;
87
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@de-kit/st-ui",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "React-компоненты splittest: глобальный SCSS и токены из основного фронтенда",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {