@cloud-ru/ds-toggles 1.1.12 → 1.1.14
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/CHANGELOG.md +10 -0
- package/dist/cjs/components/Checkbox/Checkbox.js +1 -1
- package/dist/cjs/components/Checkbox/styles.module.css +13 -6
- package/dist/cjs/components/Favourite/styles.module.css +8 -6
- package/dist/cjs/components/Radio/styles.module.css +2 -1
- package/dist/cjs/components/Switch/styles.module.css +2 -2
- package/dist/cjs/style.css +25 -15
- package/dist/esm/components/Checkbox/Checkbox.js +1 -1
- package/dist/esm/components/Checkbox/styles.module.css +13 -6
- package/dist/esm/components/Favourite/styles.module.css +8 -6
- package/dist/esm/components/Radio/styles.module.css +2 -1
- package/dist/esm/components/Switch/styles.module.css +2 -2
- package/dist/esm/style.css +25 -15
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/components/Checkbox/Checkbox.tsx +2 -1
- package/src/components/Checkbox/styles.module.scss +12 -14
- package/src/components/Favourite/styles.module.scss +6 -14
- package/src/components/Radio/styles.module.scss +2 -1
- package/src/components/Switch/styles.module.scss +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloud-ru/ds-toggles",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.14",
|
|
4
4
|
"description": "Пакет компонентов выбора и переключения — Checkbox, Radio, Switch, Favourite и контейнер ToggleGroup с общими токенами размеров и состояний.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"classnames": "^2.5.1",
|
|
37
37
|
"merge-refs": "^2.0.0",
|
|
38
|
-
"@cloud-ru/ds-icons": "^1.7.
|
|
39
|
-
"@cloud-ru/ds-
|
|
40
|
-
"@cloud-ru/ds-
|
|
41
|
-
"@cloud-ru/ds-materials": "^2.0.
|
|
38
|
+
"@cloud-ru/ds-icons": "^1.7.1",
|
|
39
|
+
"@cloud-ru/ds-loader": "^1.0.4",
|
|
40
|
+
"@cloud-ru/ds-utils": "^1.3.0",
|
|
41
|
+
"@cloud-ru/ds-materials": "^2.0.2"
|
|
42
42
|
},
|
|
43
43
|
"publishConfig": {
|
|
44
44
|
"access": "public"
|
|
@@ -95,10 +95,11 @@ export function Checkbox({
|
|
|
95
95
|
data-size={size}
|
|
96
96
|
{...stateDataAttributes}
|
|
97
97
|
data-indeterminate={indeterminate || undefined}
|
|
98
|
+
data-focusvisible={focusVisible || undefined}
|
|
98
99
|
data-test-id={dataTestId || undefined}
|
|
99
100
|
>
|
|
100
101
|
<div className={styles.container}>
|
|
101
|
-
<div className={styles.framing} {...stateDataAttributes}
|
|
102
|
+
<div className={styles.framing} {...stateDataAttributes}>
|
|
102
103
|
<div
|
|
103
104
|
className={styles.backgroundStateLayer}
|
|
104
105
|
data-state={indeterminate || checked ? 'emptyDarkOnAccent' : 'emptyNeutralOnBackground'}
|
|
@@ -43,6 +43,7 @@ $sizes: 'xs', 's';
|
|
|
43
43
|
|
|
44
44
|
&[data-disabled="true"] {
|
|
45
45
|
opacity: base.$sn-theme-effect-opacity-disabled;
|
|
46
|
+
background-color: base.$sn-theme-color-neutral-decor;
|
|
46
47
|
|
|
47
48
|
// Акцентная заливка отмеченного состояния лежит на внешнем слое framing,
|
|
48
49
|
// а не на внутреннем flag/surface.
|
|
@@ -60,13 +61,6 @@ $sizes: 'xs', 's';
|
|
|
60
61
|
border-color: base.$sn-theme-color-primary-accent;
|
|
61
62
|
background-color: base.$sn-theme-color-primary-accent;
|
|
62
63
|
}
|
|
63
|
-
|
|
64
|
-
&[data-focusvisible="true"] {
|
|
65
|
-
$outlineWidth: base.$sn-primitive-strokeWeight-strokeSemiBold;
|
|
66
|
-
|
|
67
|
-
outline: $outlineWidth solid base.$sn-theme-color-available-complementary;
|
|
68
|
-
outline-offset: var(--focus-offset);
|
|
69
|
-
}
|
|
70
64
|
}
|
|
71
65
|
}
|
|
72
66
|
}
|
|
@@ -89,6 +83,11 @@ $sizes: 'xs', 's';
|
|
|
89
83
|
color: base.$sn-theme-color-primary-onAccent;
|
|
90
84
|
}
|
|
91
85
|
|
|
86
|
+
// Галочка disabled лежит на `neutral/accent`, поэтому берёт парный `neutral/onAccent`.
|
|
87
|
+
.root[data-disabled="true"] .icon {
|
|
88
|
+
color: base.$sn-theme-color-neutral-onAccent;
|
|
89
|
+
}
|
|
90
|
+
|
|
92
91
|
.container {
|
|
93
92
|
position: relative;
|
|
94
93
|
display: flex;
|
|
@@ -114,14 +113,13 @@ $sizes: 'xs', 's';
|
|
|
114
113
|
@include base.composite-var(toggles.$toggles, 'anatomy', 'size', $size, 'checkbox', 'container');
|
|
115
114
|
}
|
|
116
115
|
|
|
117
|
-
.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
--focus-offset: calc((#{$containerWidth} - #{$framingWidth}) / 2);
|
|
116
|
+
// Кольцо фокуса снаружи контейнера с радиусом рамки (Figma `focusedFrame/regular/outside`).
|
|
117
|
+
&[data-focusvisible="true"] .container {
|
|
118
|
+
border-radius: base.simple-var(toggles.$toggles, 'anatomy', 'size', $size, 'checkbox', 'framing', 'border-radius');
|
|
119
|
+
outline: base.$sn-brand-anatomy-focusLine-control-strokeWeight solid base.$sn-theme-color-available-complementary;
|
|
120
|
+
}
|
|
124
121
|
|
|
122
|
+
.framing {
|
|
125
123
|
width: base.simple-var(toggles.$toggles, 'anatomy', 'size', $size, 'checkbox', 'framing', 'min-width');
|
|
126
124
|
height: base.simple-var(toggles.$toggles, 'anatomy', 'size', $size, 'checkbox', 'framing', 'min-height');
|
|
127
125
|
|
|
@@ -95,14 +95,13 @@ $sizes: 'xs', 's';
|
|
|
95
95
|
@include base.composite-var(toggles.$toggles, 'anatomy', 'size', $size, 'checkbox', 'container');
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
--focus-offset: calc((#{$containerWidth} - #{$framingWidth}) / 2);
|
|
98
|
+
// Кольцо фокуса снаружи контейнера с радиусом рамки (Figma `focusedFrame/regular/outside`).
|
|
99
|
+
&[data-focusvisible='true'] .container {
|
|
100
|
+
border-radius: base.simple-var(toggles.$toggles, 'anatomy', 'size', $size, 'checkbox', 'framing', 'border-radius');
|
|
101
|
+
outline: base.$sn-brand-anatomy-focusLine-control-strokeWeight solid base.$sn-theme-color-available-complementary;
|
|
102
|
+
}
|
|
105
103
|
|
|
104
|
+
.framing {
|
|
106
105
|
width: base.simple-var(toggles.$toggles, 'anatomy', 'size', $size, 'checkbox', 'framing', 'min-width');
|
|
107
106
|
height: base.simple-var(toggles.$toggles, 'anatomy', 'size', $size, 'checkbox', 'framing', 'min-height');
|
|
108
107
|
|
|
@@ -142,11 +141,4 @@ $sizes: 'xs', 's';
|
|
|
142
141
|
opacity: base.$sn-theme-effect-opacity-disabled;
|
|
143
142
|
}
|
|
144
143
|
}
|
|
145
|
-
|
|
146
|
-
&[data-focusvisible='true'] {
|
|
147
|
-
.framing {
|
|
148
|
-
outline: base.$sn-primitive-strokeWeight-strokeSemiBold solid base.$sn-theme-color-available-complementary;
|
|
149
|
-
outline-offset: var(--focus-offset);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
144
|
}
|
|
@@ -42,6 +42,7 @@ $sizes: 'xs', 's';
|
|
|
42
42
|
|
|
43
43
|
&[data-disabled="true"] {
|
|
44
44
|
opacity: base.$sn-theme-effect-opacity-disabled;
|
|
45
|
+
background-color: base.$sn-theme-color-neutral-decor;
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
&[data-disabled="false"] {
|
|
@@ -54,7 +55,7 @@ $sizes: 'xs', 's';
|
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
&[data-focusvisible="true"] {
|
|
57
|
-
$outlineWidth: base.$sn-
|
|
58
|
+
$outlineWidth: base.$sn-brand-anatomy-focusLine-control-strokeWeight;
|
|
58
59
|
|
|
59
60
|
outline: $outlineWidth solid base.$sn-theme-color-available-complementary;
|
|
60
61
|
outline-offset: var(--focus-offset);
|
|
@@ -214,7 +214,7 @@ $iconRevealEasing: cubic-bezier(0.33, 1, 0.68, 1);
|
|
|
214
214
|
&[data-focusvisible="true"] {
|
|
215
215
|
.container {
|
|
216
216
|
// Кольцо фокуса по границе контейнера (Figma `focusedFrame/regular/outside`).
|
|
217
|
-
$offsetWidth: base.$sn-
|
|
217
|
+
$offsetWidth: base.$sn-brand-anatomy-focusLine-control-strokeWeight;
|
|
218
218
|
|
|
219
219
|
border-radius: base.simple-var(toggles.$toggles, 'anatomy', 'size', $size, 'switch', 'framing', 'border-radius');
|
|
220
220
|
outline: $offsetWidth solid base.$sn-theme-color-available-complementary;
|