@digdir/designsystemet-css 0.9.0 → 0.9.1-alpha.0
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/accordion.css +40 -43
- package/alert.css +36 -32
- package/box.css +18 -18
- package/button.css +107 -107
- package/card.css +41 -49
- package/checkbox.css +67 -55
- package/chip.css +65 -65
- package/combobox.css +68 -68
- package/dist/accordion.css +1 -1
- package/dist/alert.css +1 -1
- package/dist/box.css +1 -1
- package/dist/button.css +1 -1
- package/dist/card.css +1 -1
- package/dist/checkbox.css +1 -1
- package/dist/chip.css +1 -1
- package/dist/combobox.css +1 -1
- package/dist/divider.css +1 -1
- package/dist/dropdownmenu.css +1 -1
- package/dist/error-message.css +1 -1
- package/dist/error-summary.css +1 -1
- package/dist/fieldset.css +1 -1
- package/dist/heading.css +1 -1
- package/dist/helptext.css +1 -1
- package/dist/index.css +1 -1
- package/dist/ingress.css +1 -1
- package/dist/label.css +1 -1
- package/dist/link.css +1 -1
- package/dist/list.css +1 -1
- package/dist/modal.css +1 -1
- package/dist/native-select.css +1 -1
- package/dist/pagination.css +1 -1
- package/dist/paragraph.css +1 -1
- package/dist/popover.css +1 -1
- package/dist/radio.css +1 -1
- package/dist/search.css +1 -1
- package/dist/skeleton.css +1 -1
- package/dist/skiplink.css +1 -1
- package/dist/spinner.css +1 -1
- package/dist/switch.css +1 -1
- package/dist/table.css +1 -1
- package/dist/tabs.css +1 -1
- package/dist/tag.css +1 -1
- package/dist/textarea.css +1 -1
- package/dist/textfield.css +1 -1
- package/dist/togglegroup.css +1 -1
- package/dist/tooltip.css +1 -1
- package/dist/utils.css +1 -1
- package/divider.css +3 -3
- package/dropdownmenu.css +10 -10
- package/error-message.css +11 -11
- package/error-summary.css +4 -4
- package/fieldset.css +3 -3
- package/heading.css +17 -24
- package/helptext.css +10 -10
- package/ingress.css +11 -11
- package/label.css +7 -7
- package/link.css +13 -13
- package/list.css +4 -4
- package/modal.css +19 -19
- package/native-select.css +25 -25
- package/package.json +2 -2
- package/pagination.css +18 -18
- package/paragraph.css +22 -22
- package/popover.css +26 -26
- package/radio.css +48 -51
- package/search.css +33 -33
- package/skeleton.css +4 -4
- package/skiplink.css +3 -3
- package/spinner.css +5 -5
- package/switch.css +65 -49
- package/table.css +30 -26
- package/tabs.css +21 -29
- package/tag.css +32 -32
- package/textarea.css +17 -17
- package/textfield.css +33 -33
- package/togglegroup.css +5 -5
- package/tooltip.css +11 -9
- package/utils.css +4 -4
package/radio.css
CHANGED
|
@@ -1,32 +1,34 @@
|
|
|
1
1
|
@layer fds.radio {
|
|
2
2
|
.fds-radio {
|
|
3
|
-
--
|
|
4
|
-
--
|
|
5
|
-
--
|
|
6
|
-
--
|
|
7
|
-
--
|
|
3
|
+
--dsc-radio-size: var(--ds-spacing-5);
|
|
4
|
+
--dsc-radio-focus-border-width: 3px;
|
|
5
|
+
--dsc-radio-background: var(--ds-color-neutral-background-default);
|
|
6
|
+
--dsc-radio-border-color: var(--ds-color-neutral-border-default);
|
|
7
|
+
--dsc-radio-border__hover--size: calc(var(--ds-spacing-3) / 2);
|
|
8
|
+
--dsc-radio-border__hover: 0 0 0 var(--dsc-radio-border__hover--size) var(--ds-color-accent-border-subtle);
|
|
9
|
+
--dsc-radio-focus-color: var(--ds-color-neutral-text-default);
|
|
8
10
|
|
|
9
11
|
display: grid;
|
|
10
12
|
}
|
|
11
13
|
|
|
12
14
|
.fds-radio:has(.fds-radio__label) {
|
|
13
|
-
grid-template-columns: var(--
|
|
14
|
-
gap: var(--
|
|
15
|
+
grid-template-columns: var(--dsc-radio-size) auto;
|
|
16
|
+
gap: var(--ds-spacing-2);
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
/* Radio */
|
|
18
20
|
.fds-radio__input {
|
|
19
21
|
position: relative;
|
|
20
|
-
width: var(--
|
|
21
|
-
height: var(--
|
|
22
|
+
width: var(--dsc-radio-size);
|
|
23
|
+
height: var(--dsc-radio-size);
|
|
22
24
|
z-index: 1;
|
|
23
25
|
appearance: none;
|
|
24
26
|
outline: none;
|
|
25
27
|
cursor: pointer;
|
|
26
28
|
margin: 0;
|
|
27
29
|
align-self: center;
|
|
28
|
-
box-shadow: inset 0 0 0 2px var(--
|
|
29
|
-
background: var(--
|
|
30
|
+
box-shadow: inset 0 0 0 2px var(--dsc-radio-border-color);
|
|
31
|
+
background: var(--dsc-radio-background);
|
|
30
32
|
border-radius: 50%;
|
|
31
33
|
}
|
|
32
34
|
|
|
@@ -40,22 +42,22 @@
|
|
|
40
42
|
top: 50%;
|
|
41
43
|
left: 50%;
|
|
42
44
|
cursor: pointer;
|
|
43
|
-
border-radius: var(--
|
|
45
|
+
border-radius: var(--ds-border-radius-md);
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
.fds-radio__label {
|
|
47
|
-
min-height: var(--
|
|
49
|
+
min-height: var(--ds-sizing-10);
|
|
48
50
|
min-width: min-content;
|
|
49
51
|
display: inline-flex;
|
|
50
52
|
flex-direction: row;
|
|
51
|
-
gap: var(--
|
|
53
|
+
gap: var(--ds-spacing-1);
|
|
52
54
|
align-items: center;
|
|
53
55
|
cursor: pointer;
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
.fds-radio__description {
|
|
57
|
-
margin-top: calc(var(--
|
|
58
|
-
color: var(--
|
|
59
|
+
margin-top: calc(var(--ds-spacing-3) * -1);
|
|
60
|
+
color: var(--ds-color-neutral-text-subtle);
|
|
59
61
|
grid-column: 2;
|
|
60
62
|
}
|
|
61
63
|
|
|
@@ -68,7 +70,7 @@
|
|
|
68
70
|
.fds-radio--disabled > .fds-radio__label,
|
|
69
71
|
.fds-radio--disabled > .fds-radio__input,
|
|
70
72
|
.fds-radio--disabled > .fds-radio__description {
|
|
71
|
-
opacity: var(--
|
|
73
|
+
opacity: var(--ds-opacity-disabled);
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
.fds-radio--readonly > .fds-radio__input,
|
|
@@ -78,36 +80,37 @@
|
|
|
78
80
|
}
|
|
79
81
|
|
|
80
82
|
.fds-radio__input:focus-visible {
|
|
81
|
-
outline-offset:
|
|
82
|
-
outline: var(--
|
|
83
|
+
outline-offset: var(--ds-spacing-1);
|
|
84
|
+
outline: var(--dsc-radio-focus-border-width) solid var(--dsc-radio-focus-color);
|
|
83
85
|
box-shadow:
|
|
84
|
-
inset 0 0 0 var(--
|
|
85
|
-
inset 0 0 0
|
|
86
|
+
inset 0 0 0 2px var(--dsc-radio-border-color),
|
|
87
|
+
inset 0 0 0 var(--dsc-radio-focus-border-width) var(--ds-color-neutral-background-default),
|
|
88
|
+
inset 0 0 0 6px var(--dsc-radio-background);
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
.fds-radio__input:checked {
|
|
89
|
-
--
|
|
92
|
+
--dsc-radio-border-color: var(--ds-color-accent-border-strong);
|
|
90
93
|
|
|
91
|
-
background: var(--
|
|
94
|
+
background: var(--dsc-radio-border-color);
|
|
92
95
|
}
|
|
93
96
|
|
|
94
97
|
.fds-radio--readonly > .fds-radio__input {
|
|
95
|
-
--
|
|
96
|
-
--
|
|
98
|
+
--dsc-radio-border-color: var(--ds-color-neutral-border-subtle);
|
|
99
|
+
--dsc-radio-background: var(--ds-color-neutral-background-subtle);
|
|
97
100
|
}
|
|
98
101
|
|
|
99
102
|
.fds-radio__input:checked:not(:focus-visible) {
|
|
100
103
|
box-shadow:
|
|
101
|
-
inset 0 0 0 2px var(--
|
|
102
|
-
inset 0 0 0 6px var(--
|
|
104
|
+
inset 0 0 0 2px var(--dsc-radio-border-color),
|
|
105
|
+
inset 0 0 0 6px var(--dsc-radio-background);
|
|
103
106
|
}
|
|
104
107
|
|
|
105
108
|
.fds-radio--readonly > .fds-radio__input:checked {
|
|
106
|
-
background: var(--
|
|
109
|
+
background: var(--ds-color-neutral-border-strong);
|
|
107
110
|
}
|
|
108
111
|
|
|
109
112
|
.fds-radio--error > .fds-radio__input:not(:disabled, :focus-visible) {
|
|
110
|
-
--
|
|
113
|
+
--dsc-radio-border-color: var(--ds-color-danger-border-default);
|
|
111
114
|
}
|
|
112
115
|
|
|
113
116
|
/* Only use hover for non-touch devices to prevent sticky-hovering
|
|
@@ -115,57 +118,51 @@
|
|
|
115
118
|
@media (hover: hover) and (pointer: fine) {
|
|
116
119
|
.fds-radio:not(.fds-radio--readonly, .fds-radio--disabled) > .fds-radio__label:hover,
|
|
117
120
|
.fds-radio:not(.fds-radio--readonly, .fds-radio--disabled) > .fds-radio__input:hover + .fds-radio__label {
|
|
118
|
-
color: var(--
|
|
121
|
+
color: var(--ds-color-accent-text-subtle);
|
|
119
122
|
}
|
|
120
123
|
|
|
121
124
|
.fds-radio:not(.fds-radio--readonly, .fds-radio--disabled) > .fds-radio__input:hover:not(:checked) {
|
|
122
|
-
--
|
|
125
|
+
--dsc-radio-border-color: var(--ds-color-accent-border-strong);
|
|
123
126
|
|
|
124
127
|
box-shadow:
|
|
125
|
-
var(--
|
|
126
|
-
inset 0 0 0 2px var(--
|
|
128
|
+
var(--dsc-radio-border__hover),
|
|
129
|
+
inset 0 0 0 2px var(--dsc-radio-border-color);
|
|
127
130
|
}
|
|
128
131
|
|
|
129
132
|
.fds-radio:not(.fds-radio--readonly, .fds-radio--disabled) > .fds-radio__input:hover:checked {
|
|
130
|
-
--
|
|
133
|
+
--dsc-radio-border-color: var(--ds-color-accent-border-strong);
|
|
131
134
|
|
|
132
135
|
box-shadow:
|
|
133
|
-
var(--
|
|
134
|
-
inset 0 0 0 2px var(--
|
|
135
|
-
inset 0 0 0 6px var(--
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
.fds-radio:not(.fds-radio--readonly, .fds-radio--disabled) > .fds-radio__input:hover:checked:focus-visible {
|
|
139
|
-
box-shadow:
|
|
140
|
-
var(--fds-radio-border__hover),
|
|
141
|
-
inset 0 0 0 var(--fds-radio-focus-border-width) var(--fds-semantic-border-focus-boxshadow),
|
|
142
|
-
inset 0 0 0 6px var(--fds-radio-background);
|
|
136
|
+
var(--dsc-radio-border__hover),
|
|
137
|
+
inset 0 0 0 2px var(--dsc-radio-border-color),
|
|
138
|
+
inset 0 0 0 6px var(--dsc-radio-background);
|
|
143
139
|
}
|
|
144
140
|
}
|
|
145
141
|
|
|
146
142
|
/** Sizing */
|
|
147
143
|
|
|
148
144
|
.fds-radio--sm {
|
|
149
|
-
--
|
|
145
|
+
--dsc-radio-size: var(--ds-sizing-5);
|
|
150
146
|
|
|
151
|
-
min-height: var(--
|
|
147
|
+
min-height: var(--ds-sizing-10);
|
|
152
148
|
}
|
|
153
149
|
|
|
154
150
|
.fds-radio--md {
|
|
155
|
-
--
|
|
151
|
+
--dsc-radio-size: var(--ds-sizing-6);
|
|
152
|
+
--dsc-radio-border__hover--size: var(--ds-spacing-1);
|
|
156
153
|
|
|
157
|
-
min-height: var(--
|
|
154
|
+
min-height: var(--ds-sizing-11);
|
|
158
155
|
}
|
|
159
156
|
|
|
160
157
|
.fds-radio--lg {
|
|
161
|
-
--
|
|
158
|
+
--dsc-radio-size: var(--ds-sizing-7);
|
|
162
159
|
|
|
163
|
-
min-height: var(--
|
|
160
|
+
min-height: var(--ds-sizing-12);
|
|
164
161
|
}
|
|
165
162
|
|
|
166
163
|
.fds-radio-group--horizontal {
|
|
167
164
|
display: flex;
|
|
168
165
|
flex-direction: row;
|
|
169
|
-
gap: var(--
|
|
166
|
+
gap: var(--ds-spacing-6);
|
|
170
167
|
}
|
|
171
168
|
}
|
package/search.css
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
.fds-search {
|
|
3
3
|
display: inline-grid;
|
|
4
4
|
width: 100%;
|
|
5
|
-
gap: var(--
|
|
5
|
+
gap: var(--ds-spacing-2);
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.fds-search--sm {
|
|
9
|
-
--
|
|
9
|
+
--dsc-search-button-clear-size: var(--ds-sizing-5);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
.fds-search--md {
|
|
13
|
-
--
|
|
13
|
+
--dsc-search-button-clear-size: var(--ds-sizing-6);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.fds-search--lg {
|
|
17
|
-
--
|
|
17
|
+
--dsc-search-button-clear-size: var(--ds-sizing-8);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
.fds-search__error:empty {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
min-width: min-content;
|
|
26
26
|
display: inline-flex;
|
|
27
27
|
flex-direction: row;
|
|
28
|
-
gap: var(--
|
|
28
|
+
gap: var(--ds-spacing-1);
|
|
29
29
|
align-items: center;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
display: flex;
|
|
34
34
|
width: 100%;
|
|
35
35
|
align-items: stretch;
|
|
36
|
-
border-radius: var(--
|
|
36
|
+
border-radius: var(--ds-border-radius-md);
|
|
37
37
|
position: relative;
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
position: absolute;
|
|
42
42
|
height: 100%;
|
|
43
43
|
z-index: 2;
|
|
44
|
-
left: var(--
|
|
44
|
+
left: var(--ds-spacing-4);
|
|
45
45
|
transform: scale(1.5);
|
|
46
46
|
pointer-events: none;
|
|
47
47
|
}
|
|
@@ -57,12 +57,12 @@
|
|
|
57
57
|
position: relative;
|
|
58
58
|
box-sizing: border-box;
|
|
59
59
|
flex: 0 1 auto;
|
|
60
|
-
height: var(--
|
|
60
|
+
height: var(--ds-sizing-10);
|
|
61
61
|
width: 100%;
|
|
62
62
|
appearance: none;
|
|
63
|
-
padding: 0 var(--
|
|
64
|
-
border: solid 1px var(--
|
|
65
|
-
border-radius: var(--
|
|
63
|
+
padding: 0 var(--ds-spacing-3);
|
|
64
|
+
border: solid 1px var(--ds-color-neutral-border-default);
|
|
65
|
+
border-radius: var(--ds-border-radius-md);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
.fds-search__input.fds-search__input--with-search-button {
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
.fds-search--disabled {
|
|
82
|
-
opacity: var(--
|
|
82
|
+
opacity: var(--ds-opacity-disabled);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
.fds-search__search-button {
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
.fds-search__clear-button {
|
|
96
|
-
color: var(--
|
|
96
|
+
color: var(--ds-color-neutral-text-default);
|
|
97
97
|
display: inline-flex;
|
|
98
98
|
align-items: center;
|
|
99
99
|
justify-content: center;
|
|
@@ -104,48 +104,48 @@
|
|
|
104
104
|
top: 50%;
|
|
105
105
|
transform: translateY(-50%);
|
|
106
106
|
cursor: pointer;
|
|
107
|
-
height: var(--
|
|
108
|
-
width: var(--
|
|
109
|
-
border-radius: var(--
|
|
107
|
+
height: var(--dsc-search-button-clear-size);
|
|
108
|
+
width: var(--dsc-search-button-clear-size);
|
|
109
|
+
border-radius: var(--ds-border-radius-md);
|
|
110
110
|
font-size: 1.25rem;
|
|
111
111
|
padding: 0;
|
|
112
112
|
z-index: 2;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
.fds-search--sm .fds-search__input {
|
|
116
|
-
--
|
|
116
|
+
--dsc-search-button-clear-size: var(--ds-sizing-4);
|
|
117
117
|
|
|
118
|
-
height: var(--
|
|
119
|
-
padding: 0 var(--
|
|
118
|
+
height: var(--ds-sizing-10);
|
|
119
|
+
padding: 0 var(--ds-spacing-3);
|
|
120
120
|
padding-right: 2.5em;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
.fds-search--sm .fds-search__icon {
|
|
124
|
-
left: var(--
|
|
124
|
+
left: var(--ds-spacing-3);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
.fds-search--md .fds-search__input {
|
|
128
|
-
--
|
|
128
|
+
--dsc-search-button-clear-size: var(--ds-sizing-6);
|
|
129
129
|
|
|
130
|
-
height: var(--
|
|
131
|
-
padding: 0 var(--
|
|
130
|
+
height: var(--ds-sizing-12);
|
|
131
|
+
padding: 0 var(--ds-spacing-4);
|
|
132
132
|
padding-right: 2.2em;
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
.fds-search--md .fds-search__icon {
|
|
136
|
-
left: var(--
|
|
136
|
+
left: var(--ds-spacing-4);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
.fds-search--lg .fds-search__input {
|
|
140
|
-
--
|
|
140
|
+
--dsc-search-button-clear-size: var(--ds-sizing-12);
|
|
141
141
|
|
|
142
|
-
height: var(--
|
|
143
|
-
padding: 0 var(--
|
|
142
|
+
height: var(--ds-sizing-14);
|
|
143
|
+
padding: 0 var(--ds-spacing-5);
|
|
144
144
|
padding-right: 2em;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
.fds-search--lg .fds-search__icon {
|
|
148
|
-
left: var(--
|
|
148
|
+
left: var(--ds-spacing-5);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
.fds-search__input.fds-search__input--simple {
|
|
@@ -153,18 +153,18 @@
|
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
.fds-search__error-message > .input:not(:focus-visible) {
|
|
156
|
-
border-color: var(--
|
|
157
|
-
box-shadow: inset 0 0 0 1px var(--
|
|
156
|
+
border-color: var(--ds-color-danger-border-default);
|
|
157
|
+
box-shadow: inset 0 0 0 1px var(--ds-color-danger-border-default);
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
@media (hover: hover) and (pointer: fine) {
|
|
161
161
|
.fds-search__input:not(:focus-visible, :disabled, [aria-disabled]):hover {
|
|
162
|
-
border-color: var(--
|
|
163
|
-
box-shadow: inset 0 0 0 1px var(--
|
|
162
|
+
border-color: var(--ds-color-accent-border-strong);
|
|
163
|
+
box-shadow: inset 0 0 0 1px var(--ds-color-accent-border-strong);
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
.fds-search__clear-button:not(:focus-visible, :disabled, [aria-disabled]):hover {
|
|
167
|
-
background: var(--
|
|
167
|
+
background: var(--ds-color-accent-surface-hover);
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
}
|
package/skeleton.css
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
@layer fds.skeleton {
|
|
2
2
|
.fds-skeleton {
|
|
3
|
-
--
|
|
3
|
+
--dsc-skeleton-animation-duration: 0.8s;
|
|
4
4
|
|
|
5
5
|
height: 1.3em;
|
|
6
6
|
pointer-events: none;
|
|
7
7
|
user-select: none;
|
|
8
|
-
background-color: var(--
|
|
9
|
-
animation: fds-skeleton-opacity-fade var(--
|
|
8
|
+
background-color: var(--ds-color-neutral-surface-default);
|
|
9
|
+
animation: fds-skeleton-opacity-fade var(--dsc-skeleton-animation-duration) linear infinite alternate;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
.fds-skeleton--circle {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
|
|
44
44
|
@media (prefers-reduced-motion: reduce) {
|
|
45
45
|
.fds-skeleton {
|
|
46
|
-
--
|
|
46
|
+
--dsc-skeleton-animation-duration: 1.6s;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
|
package/skiplink.css
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
text-decoration: underline;
|
|
14
14
|
text-decoration-thickness: 3px;
|
|
15
15
|
text-underline-offset: 0.3em;
|
|
16
|
-
padding: var(--
|
|
17
|
-
color: var(--
|
|
18
|
-
background: var(--
|
|
16
|
+
padding: var(--ds-spacing-3) var(--ds-spacing-4) var(--ds-spacing-3) var(--ds-spacing-6);
|
|
17
|
+
color: var(--ds-color-neutral-text-default);
|
|
18
|
+
background: var(--ds-color-neutral-text-default);
|
|
19
19
|
}
|
|
20
20
|
}
|
package/spinner.css
CHANGED
|
@@ -25,23 +25,23 @@
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
.fds-spinner--default .fds-spinner__circle {
|
|
28
|
-
stroke: var(--
|
|
28
|
+
stroke: var(--ds-color-neutral-border-strong);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
.fds-spinner--interaction .fds-spinner__circle {
|
|
32
|
-
stroke: var(--
|
|
32
|
+
stroke: var(--ds-color-accent-base-default);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
.fds-spinner--inverted .fds-spinner__circle {
|
|
36
|
-
stroke: var(--
|
|
36
|
+
stroke: var(--ds-color-neutral-background-default);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.fds-spinner__background {
|
|
40
|
-
stroke: var(--
|
|
40
|
+
stroke: var(--ds-color-neutral-border-subtle);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
.fds-spinner__background--inverted {
|
|
44
|
-
stroke: var(
|
|
44
|
+
stroke: var([delete]);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
@keyframes fds-spinner-rotate-animation {
|
package/switch.css
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
@layer fds.switch {
|
|
2
2
|
.fds-switch {
|
|
3
|
-
--
|
|
4
|
-
--
|
|
5
|
-
--
|
|
3
|
+
--dsc-switch--transition: 200ms;
|
|
4
|
+
--dsc-switch-height: 1.75rem;
|
|
5
|
+
--dsc-switch-focus-border-width: 3px;
|
|
6
|
+
--dsc-switch-check_color: transparent;
|
|
6
7
|
|
|
7
8
|
position: relative;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
@media (prefers-reduced-motion) {
|
|
11
12
|
.switch {
|
|
12
|
-
--
|
|
13
|
+
--dsc-switch--transition: 0;
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
.fds-switch__label {
|
|
17
|
-
min-height: var(--
|
|
18
|
+
min-height: var(--ds-sizing-10);
|
|
18
19
|
min-width: min-content;
|
|
19
20
|
display: grid;
|
|
20
21
|
grid-template-columns: auto 1fr;
|
|
21
|
-
gap: var(--
|
|
22
|
+
gap: var(--ds-spacing-1);
|
|
22
23
|
align-items: center;
|
|
23
24
|
cursor: pointer;
|
|
24
25
|
}
|
|
@@ -27,20 +28,21 @@
|
|
|
27
28
|
position: relative;
|
|
28
29
|
display: inline-block;
|
|
29
30
|
pointer-events: none;
|
|
30
|
-
width: var(--
|
|
31
|
-
height: var(--
|
|
31
|
+
width: var(--dsc-switch-width);
|
|
32
|
+
height: var(--dsc-switch-height);
|
|
32
33
|
margin: auto;
|
|
33
34
|
overflow: visible;
|
|
34
|
-
border-radius: var(--
|
|
35
|
-
background-color: var(--
|
|
36
|
-
transition: background-color var(--
|
|
37
|
-
margin-right: var(--
|
|
35
|
+
border-radius: var(--ds-border-radius-full);
|
|
36
|
+
background-color: var(--ds-color-neutral-border-default);
|
|
37
|
+
transition: background-color var(--dsc-switch--transition) ease;
|
|
38
|
+
margin-right: var(--ds-spacing-1);
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
.fds-switch__description {
|
|
41
|
-
padding-left: calc(var(--
|
|
42
|
-
margin-top:
|
|
43
|
-
color: var(--
|
|
42
|
+
padding-left: calc(var(--dsc-switch-width) + var(--ds-spacing-2));
|
|
43
|
+
margin-top: var(--ds-spacing-1);
|
|
44
|
+
color: var(--ds-color-neutral-text-subtle);
|
|
45
|
+
width: fit-content;
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
.fds-switch__readonly__icon {
|
|
@@ -94,31 +96,31 @@
|
|
|
94
96
|
.fds-switch--disabled > .fds-switch__label,
|
|
95
97
|
.fds-switch--disabled > .fds-switch__track,
|
|
96
98
|
.fds-switch--disabled > .fds-switch__description {
|
|
97
|
-
opacity: var(--
|
|
99
|
+
opacity: var(--ds-opacity-disabled);
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
.fds-switch--readonly > .fds-switch__description {
|
|
101
|
-
margin-left: var(--
|
|
103
|
+
margin-left: var(--ds-spacing-1);
|
|
102
104
|
}
|
|
103
105
|
|
|
104
106
|
.fds-switch--sm,
|
|
105
107
|
.fds-switch--sm .fds-switch__label {
|
|
106
|
-
min-height: var(--
|
|
108
|
+
min-height: var(--ds-sizing-6);
|
|
107
109
|
}
|
|
108
110
|
|
|
109
111
|
.fds-switch--md,
|
|
110
112
|
.fds-switch--md .fds-switch__label {
|
|
111
|
-
min-height: var(--
|
|
113
|
+
min-height: var(--ds-sizing-7);
|
|
112
114
|
}
|
|
113
115
|
|
|
114
116
|
.fds-switch--lg,
|
|
115
117
|
.fds-switch--lg .fds-switch__label {
|
|
116
|
-
min-height: var(--
|
|
118
|
+
min-height: var(--ds-sizing-8);
|
|
117
119
|
}
|
|
118
120
|
|
|
119
121
|
.fds-switch--sm {
|
|
120
|
-
--
|
|
121
|
-
--
|
|
122
|
+
--dsc-switch-height: var(--ds-sizing-6);
|
|
123
|
+
--dsc-switch-width: var(--ds-sizing-11);
|
|
122
124
|
}
|
|
123
125
|
|
|
124
126
|
.fds-switch--sm .fds-switch__input {
|
|
@@ -127,8 +129,8 @@
|
|
|
127
129
|
}
|
|
128
130
|
|
|
129
131
|
.fds-switch--md {
|
|
130
|
-
--
|
|
131
|
-
--
|
|
132
|
+
--dsc-switch-height: var(--ds-sizing-7);
|
|
133
|
+
--dsc-switch-width: var(--ds-sizing-13);
|
|
132
134
|
}
|
|
133
135
|
|
|
134
136
|
.fds-switch--md .fds-switch__input {
|
|
@@ -137,8 +139,8 @@
|
|
|
137
139
|
}
|
|
138
140
|
|
|
139
141
|
.fds-switch--lg {
|
|
140
|
-
--
|
|
141
|
-
--
|
|
142
|
+
--dsc-switch-height: var(--ds-sizing-8);
|
|
143
|
+
--dsc-switch-width: var(--ds-sizing-15);
|
|
142
144
|
}
|
|
143
145
|
|
|
144
146
|
.fds-switch--lg .fds-switch__input {
|
|
@@ -155,62 +157,76 @@
|
|
|
155
157
|
}
|
|
156
158
|
|
|
157
159
|
.fds-switch__input:focus-visible + .fds-switch__label .fds-switch__track {
|
|
158
|
-
outline: var(--
|
|
159
|
-
|
|
160
|
+
outline: var(--dsc-switch-focus-border-width) solid var(--ds-color-neutral-text-default);
|
|
161
|
+
outline-offset: 3px;
|
|
162
|
+
box-shadow: 0 0 0 var(--dsc-switch-focus-border-width) var(--ds-color-neutral-background-default);
|
|
160
163
|
}
|
|
161
164
|
|
|
162
165
|
.fds-switch__input:not([readonly]):checked + .fds-switch__label .fds-switch__track {
|
|
163
|
-
background-color: var(--
|
|
166
|
+
background-color: var(--ds-color-accent-base-default);
|
|
164
167
|
}
|
|
165
168
|
|
|
166
169
|
.fds-switch__thumb {
|
|
167
170
|
scale: 0.8;
|
|
168
171
|
position: absolute;
|
|
169
|
-
height: var(--
|
|
170
|
-
width: var(--
|
|
171
|
-
border-radius: var(--
|
|
172
|
-
background-color: var(--
|
|
173
|
-
transition: transform var(--
|
|
172
|
+
height: var(--dsc-switch-height);
|
|
173
|
+
width: var(--dsc-switch-height);
|
|
174
|
+
border-radius: var(--ds-border-radius-full);
|
|
175
|
+
background-color: var(--ds-color-neutral-background-default);
|
|
176
|
+
transition: transform var(--dsc-switch--transition) ease;
|
|
174
177
|
}
|
|
175
178
|
|
|
176
179
|
.fds-switch__input:checked + .fds-switch__label .fds-switch__track .fds-switch__thumb {
|
|
177
|
-
|
|
178
|
-
|
|
180
|
+
--dsc-switch-check_color: var(--ds-color-accent-base-default);
|
|
181
|
+
|
|
182
|
+
transform: translateX(calc((var(--dsc-switch-width) - var(--dsc-switch-height)) * 1.2));
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.fds-switch__thumb::after {
|
|
186
|
+
content: '';
|
|
187
|
+
width: 100%;
|
|
188
|
+
height: 100%;
|
|
189
|
+
position: absolute;
|
|
190
|
+
top: 50%;
|
|
191
|
+
left: 50%;
|
|
192
|
+
transform: translate(-50%, -50%);
|
|
193
|
+
background-color: var(--dsc-switch-check_color);
|
|
194
|
+
mask-image: url("data:image/svg+xml,%3Csvg viewBox='-3 -3 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.1339 2.86612C10.622 3.35427 10.622 4.14573 10.1339 4.63388L5.88388 8.88388C5.39573 9.37204 4.60427 9.37204 4.11612 8.88388L1.86612 6.63388C1.37796 6.14573 1.37796 5.35427 1.86612 4.86612C2.35427 4.37796 3.14573 4.37796 3.63388 4.86612L5 6.23223L8.36612 2.86612C8.85427 2.37796 9.64573 2.37796 10.1339 2.86612Z' fill='%23118849' /%3E%3C/svg%3E");
|
|
195
|
+
transition: background-color var(--dsc-switch--transition) ease;
|
|
179
196
|
}
|
|
180
197
|
|
|
181
198
|
.fds-switch--readonly .fds-switch__input[readonly] + .fds-switch__label .fds-switch__track {
|
|
182
|
-
box-shadow: inset 0 0 0 2px var(--
|
|
183
|
-
background-color: var(--
|
|
199
|
+
box-shadow: inset 0 0 0 2px var(--ds-color-neutral-border-subtle);
|
|
200
|
+
background-color: var(--ds-color-neutral-background-subtle);
|
|
184
201
|
}
|
|
185
202
|
|
|
186
203
|
.fds-switch--readonly .fds-switch__input[readonly] + .fds-switch__label .fds-switch__track > .fds-switch__thumb {
|
|
187
|
-
|
|
188
|
-
}
|
|
204
|
+
--dsc-switch-check_color: var(--ds-color-neutral-background-subtle);
|
|
189
205
|
|
|
190
|
-
|
|
191
|
-
background-image: url("data:image/svg+xml,%3Csvg viewBox='-3 -3 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.1339 2.86612C10.622 3.35427 10.622 4.14573 10.1339 4.63388L5.88388 8.88388C5.39573 9.37204 4.60427 9.37204 4.11612 8.88388L1.86612 6.63388C1.37796 6.14573 1.37796 5.35427 1.86612 4.86612C2.35427 4.37796 3.14573 4.37796 3.63388 4.86612L5 6.23223L8.36612 2.86612C8.85427 2.37796 9.64573 2.37796 10.1339 2.86612Z' fill='%23f4f5f6' /%3E%3C/svg%3E");
|
|
206
|
+
background-color: var(--ds-color-neutral-border-strong);
|
|
192
207
|
}
|
|
193
208
|
|
|
194
209
|
@media (hover: hover) and (pointer: fine) {
|
|
195
210
|
.fds-switch__input:not([readonly], :disabled):hover + .fds-switch__label .fds-switch__track > .fds-switch__thumb {
|
|
196
|
-
transform: translateX(calc((var(--
|
|
211
|
+
transform: translateX(calc((var(--dsc-switch-width) - var(--dsc-switch-height)) * 0.2));
|
|
197
212
|
}
|
|
198
213
|
|
|
199
214
|
.fds-switch__input:not([readonly], :disabled):hover + .fds-switch__label {
|
|
200
|
-
color: var(--
|
|
215
|
+
color: var(--ds-color-accent-border-strong);
|
|
201
216
|
}
|
|
202
217
|
|
|
203
218
|
.fds-switch__input:not(:disabled, [readonly]):checked:hover + .fds-switch__label .fds-switch__track > .fds-switch__thumb {
|
|
204
|
-
|
|
205
|
-
|
|
219
|
+
--dsc-switch-check_color: var(--ds-color-accent-base-hover);
|
|
220
|
+
|
|
221
|
+
transform: translateX(calc((var(--dsc-switch-width) - var(--dsc-switch-height))));
|
|
206
222
|
}
|
|
207
223
|
|
|
208
|
-
.
|
|
209
|
-
background-color: var(
|
|
224
|
+
.input:not(:checked, :disabled, [readonly]):hover + .label .track {
|
|
225
|
+
background-color: var([delete]);
|
|
210
226
|
}
|
|
211
227
|
|
|
212
228
|
.fds-switch__input:not(:disabled, [readonly]):checked:hover + .fds-switch__label .fds-switch__track {
|
|
213
|
-
background-color: var(--
|
|
229
|
+
background-color: var(--ds-color-accent-base-hover);
|
|
214
230
|
}
|
|
215
231
|
}
|
|
216
232
|
}
|