@navikt/ds-css 2.8.16 → 2.9.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.
Files changed (86) hide show
  1. package/.gitignore +1 -0
  2. package/CHANGELOG.md +10 -0
  3. package/baseline/_inline-reset.css +52 -0
  4. package/baseline/{utility.css → _utilities.css} +21 -8
  5. package/baseline/baseline.css +2 -35
  6. package/baseline/index.css +5 -0
  7. package/baseline/reset.css +294 -0
  8. package/baseline/tokens.css +1 -0
  9. package/config/_mappings.d.ts +24 -0
  10. package/config/_mappings.js +149 -0
  11. package/dist/component/accordion.css +74 -0
  12. package/dist/component/accordion.min.css +1 -0
  13. package/dist/component/alert.css +76 -0
  14. package/dist/component/alert.min.css +1 -0
  15. package/dist/component/button.css +352 -0
  16. package/dist/component/button.min.css +1 -0
  17. package/dist/component/chat.css +98 -0
  18. package/dist/component/chat.min.css +1 -0
  19. package/dist/component/chips.css +138 -0
  20. package/dist/component/chips.min.css +1 -0
  21. package/dist/component/contentcontainer.css +17 -0
  22. package/dist/component/contentcontainer.min.css +1 -0
  23. package/dist/component/date.css +221 -0
  24. package/dist/component/date.min.css +1 -0
  25. package/dist/component/expansioncard.css +197 -0
  26. package/dist/component/expansioncard.min.css +3 -0
  27. package/dist/component/form.css +734 -0
  28. package/dist/component/form.min.css +1 -0
  29. package/dist/component/grid.css +217 -0
  30. package/dist/component/grid.min.css +1 -0
  31. package/dist/component/guidepanel.css +62 -0
  32. package/dist/component/guidepanel.min.css +1 -0
  33. package/dist/component/helptext.css +45 -0
  34. package/dist/component/helptext.min.css +1 -0
  35. package/dist/component/index.css +3988 -0
  36. package/dist/component/index.min.css +4 -0
  37. package/dist/component/link.css +37 -0
  38. package/dist/component/link.min.css +1 -0
  39. package/dist/component/linkpanel.css +38 -0
  40. package/dist/component/linkpanel.min.css +1 -0
  41. package/dist/component/list.css +66 -0
  42. package/dist/component/list.min.css +1 -0
  43. package/dist/component/loader.css +113 -0
  44. package/dist/component/loader.min.css +1 -0
  45. package/dist/component/modal.css +61 -0
  46. package/dist/component/modal.min.css +1 -0
  47. package/dist/component/pagination.css +60 -0
  48. package/dist/component/pagination.min.css +1 -0
  49. package/dist/component/panel.css +10 -0
  50. package/dist/component/panel.min.css +1 -0
  51. package/dist/component/popover.css +54 -0
  52. package/dist/component/popover.min.css +1 -0
  53. package/dist/component/readmore.css +63 -0
  54. package/dist/component/readmore.min.css +1 -0
  55. package/dist/component/stepper.css +225 -0
  56. package/dist/component/stepper.min.css +1 -0
  57. package/dist/component/table.css +227 -0
  58. package/dist/component/table.min.css +1 -0
  59. package/dist/component/tabs.css +114 -0
  60. package/dist/component/tabs.min.css +1 -0
  61. package/dist/component/tag.css +116 -0
  62. package/dist/component/tag.min.css +1 -0
  63. package/dist/component/togglegroup.css +100 -0
  64. package/dist/component/togglegroup.min.css +1 -0
  65. package/dist/component/tooltip.css +53 -0
  66. package/dist/component/tooltip.min.css +1 -0
  67. package/dist/component/typography.css +160 -0
  68. package/dist/component/typography.min.css +1 -0
  69. package/dist/components.css +3272 -0
  70. package/dist/components.min.css +3 -0
  71. package/dist/global/baseline.css +138 -0
  72. package/dist/global/baseline.min.css +1 -0
  73. package/dist/global/fonts.css +21 -0
  74. package/dist/global/fonts.min.css +1 -0
  75. package/dist/global/print.css +75 -0
  76. package/dist/global/print.min.css +1 -0
  77. package/dist/global/reset.css +294 -0
  78. package/dist/global/reset.min.css +1 -0
  79. package/dist/global/tokens.css +279 -0
  80. package/dist/global/tokens.min.css +1 -0
  81. package/dist/index.css +73 -85
  82. package/dist/index.min.css +4 -0
  83. package/form/fieldset.css +4 -0
  84. package/index.css +1 -1
  85. package/package.json +20 -5
  86. package/typography.css +5 -4
@@ -0,0 +1,734 @@
1
+ /*
2
+ Order matters; rearrange with care
3
+ */
4
+ .navds-fieldset {
5
+ margin: 0;
6
+ padding: 0;
7
+ border: 0;
8
+ min-width: 0;
9
+ }
10
+ .navds-fieldset > :not(:first-child):not(:empty) {
11
+ margin-top: var(--a-spacing-2);
12
+ }
13
+ .navds-fieldset > .navds-fieldset__description:not(:empty) {
14
+ margin-top: var(--a-spacing-1);
15
+ }
16
+ /* Applied when hideLegend is applied to fieldset */
17
+ .navds-fieldset > .navds-sr-only + :not(:first-child):not(:empty) {
18
+ margin-top: 0;
19
+ }
20
+ .navds-fieldset__legend {
21
+ padding: 0;
22
+ }
23
+ .navds-fieldset:disabled > .navds-fieldset__legend,
24
+ .navds-fieldset:disabled > .navds-fieldset__description {
25
+ opacity: 0.3;
26
+ }
27
+ .navds-form-field {
28
+ display: grid;
29
+ justify-items: start;
30
+ gap: var(--a-spacing-2);
31
+ }
32
+ .navds-form-field__description {
33
+ margin-top: -4px;
34
+ }
35
+ .navds-form-field .navds-error-message,
36
+ .navds-fieldset .navds-error-message {
37
+ display: flex;
38
+ gap: var(--a-spacing-2);
39
+ }
40
+ .navds-form-field .navds-error-message::before,
41
+ .navds-fieldset .navds-error-message::before {
42
+ content: "•";
43
+ }
44
+ .navds-form-field--disabled {
45
+ opacity: 0.3;
46
+ cursor: not-allowed;
47
+ }
48
+ .navds-form-field__error:empty {
49
+ display: none;
50
+ }
51
+ .navds-error-summary {
52
+ background-color: var(--ac-error-summary-bg, var(--a-surface-default));
53
+ padding: var(--a-spacing-5);
54
+ border: 4px solid var(--ac-error-summary-border, var(--a-border-danger));
55
+ }
56
+ .navds-error-summary--small {
57
+ padding: var(--a-spacing-3);
58
+ }
59
+ .navds-error-summary:focus {
60
+ box-shadow: var(--a-shadow-focus);
61
+ outline: none;
62
+ }
63
+ .navds-error-summary__list {
64
+ margin: var(--a-spacing-3) 0;
65
+ display: flex;
66
+ flex-direction: column;
67
+ gap: var(--a-spacing-3);
68
+ padding-left: var(--a-spacing-6);
69
+ list-style: inherit;
70
+ }
71
+ .navds-error-summary__list > * {
72
+ color: var(--ac-error-summary-list-dot, var(--a-text-action));
73
+ }
74
+ .navds-error-summary--small > .navds-error-summary__list {
75
+ margin: var(--a-spacing-2) 0;
76
+ gap: var(--a-spacing-2);
77
+ padding-left: var(--a-spacing-5);
78
+ }
79
+ .navds-confirmation-panel__inner {
80
+ display: flex;
81
+ flex-direction: column;
82
+ gap: var(--a-spacing-3);
83
+ padding: var(--a-spacing-4);
84
+ border-radius: var(--a-border-radius-medium);
85
+ border: 1px solid var(--ac-confirmation-panel-border, var(--a-border-warning));
86
+ background-color: var(--ac-confirmation-panel-bg, var(--a-surface-warning-subtle));
87
+ transition: background-color linear 100ms;
88
+ justify-self: stretch;
89
+ }
90
+ .navds-confirmation-panel__content {
91
+ max-width: 80ch;
92
+ }
93
+ .navds-confirmation-panel--checked .navds-confirmation-panel__inner {
94
+ border-color: var(--ac-confirmation-panel-checked-border, var(--a-border-success));
95
+ background-color: var(--ac-confirmation-panel-checked-bg, var(--a-surface-success-subtle));
96
+ }
97
+ .navds-confirmation-panel--error .navds-confirmation-panel__inner {
98
+ border-color: var(--ac-confirmation-panel-error-border, var(--a-border-danger));
99
+ background-color: var(--ac-confirmation-panel-error-bg, var(--a-surface-danger-subtle));
100
+ }
101
+ .navds-checkbox,
102
+ .navds-radio {
103
+ position: relative;
104
+ width: fit-content;
105
+ }
106
+ .navds-checkbox__input,
107
+ .navds-radio__input {
108
+ position: absolute;
109
+ width: 48px;
110
+ height: 48px;
111
+ top: 0;
112
+ left: -12px;
113
+ z-index: 1;
114
+ opacity: 0;
115
+ cursor: pointer;
116
+ }
117
+ .navds-checkbox__label,
118
+ .navds-radio__label {
119
+ padding: var(--a-spacing-3) 0;
120
+ cursor: pointer;
121
+ display: flex;
122
+ gap: var(--a-spacing-2);
123
+ }
124
+ .navds-checkbox__label::before,
125
+ .navds-radio__label::before {
126
+ content: "";
127
+ background-color: var(--ac-radio-checkbox-bg, var(--a-surface-default));
128
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-border, var(--a-border-default));
129
+ width: 1.5rem;
130
+ height: 1.5rem;
131
+ border-radius: var(--a-border-radius-medium);
132
+ flex-shrink: 0;
133
+ }
134
+ .navds-radio__label::before {
135
+ border-radius: var(--a-border-radius-full);
136
+ }
137
+ .navds-checkbox__content,
138
+ .navds-radio__content {
139
+ display: flex;
140
+ flex-direction: column;
141
+ gap: var(--a-spacing-1);
142
+ }
143
+ .navds-checkbox--small > .navds-checkbox__input,
144
+ .navds-radio--small > .navds-radio__input {
145
+ width: 32px;
146
+ height: 32px;
147
+ top: 0;
148
+ left: -6px;
149
+ }
150
+ .navds-checkbox--small > .navds-checkbox__label,
151
+ .navds-radio--small > .navds-radio__label {
152
+ padding: 6px 0;
153
+ }
154
+ .navds-checkbox--small > .navds-checkbox__label::before,
155
+ .navds-radio--small > .navds-radio__label::before {
156
+ width: 1.25rem;
157
+ height: 1.25rem;
158
+ }
159
+ .navds-checkbox__input:focus + .navds-checkbox__label::before,
160
+ .navds-radio__input:focus + .navds-radio__label::before {
161
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-border, var(--a-border-default)), var(--a-shadow-focus);
162
+ }
163
+ .navds-checkbox__input:hover:focus + .navds-checkbox__label::before,
164
+ .navds-radio__input:hover:focus + .navds-radio__label::before {
165
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action)), var(--a-shadow-focus);
166
+ }
167
+ .navds-checkbox__input:indeterminate + .navds-checkbox__label::before {
168
+ box-shadow: none;
169
+ background-color: var(--ac-radio-checkbox-action, var(--a-surface-action));
170
+ }
171
+ .navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
172
+ content: "";
173
+ position: absolute;
174
+ top: 50%;
175
+ transform: translate(0.375rem, -50%);
176
+ background-color: var(--ac-radio-checkbox-bg, var(--a-surface-default));
177
+ width: 0.75rem;
178
+ height: 0.25rem;
179
+ border-radius: 1px; /* Custom value OK */
180
+ flex-shrink: 0;
181
+ }
182
+ .navds-checkbox--small .navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
183
+ transform: translate(0.25rem, -50%);
184
+ }
185
+ .navds-checkbox__input:checked + .navds-checkbox__label::before {
186
+ background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMCI+ICAgIDxnPiAgICA8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNNCwxMGMtMC40LDAtMC44LTAuMS0xLjEtMC40TDAuNCw3LjFDMC4xLDYuOCwwLDYuNCwwLDZzMC4yLTAuOCwwLjUtMS4xQzEsNC40LDIsNC40LDIuNSw0LjlMNCw2LjRsNi40LTYgICAgQzEwLjgsMC4xLDExLjEsMCwxMS41LDBjMC40LDAsMC44LDAuMiwxLDAuNWMwLjYsMC42LDAuNSwxLjYtMC4xLDIuMXYwTDUsOS42QzQuNyw5LjksNC40LDEwLDQsMTB6IE0xMS44LDEuOUwxMS44LDEuOSAgICBDMTEuOCwxLjksMTEuOCwxLjksMTEuOCwxLjl6IE0xMS4yLDEuMUMxMS4yLDEuMSwxMS4yLDEuMSwxMS4yLDEuMUwxMS4yLDEuMXoiLz4gICAgPC9nPjwvc3ZnPg==);
187
+ background-position: 6px center;
188
+ background-repeat: no-repeat;
189
+ background-size: 13px;
190
+ box-shadow: none;
191
+ background-color: var(--ac-radio-checkbox-action, var(--a-surface-action));
192
+ }
193
+ .navds-checkbox--small > .navds-checkbox__input:checked + .navds-checkbox__label::before {
194
+ background-position: 4px center;
195
+ }
196
+ .navds-checkbox__input:indeterminate:focus + .navds-checkbox__label::before,
197
+ .navds-checkbox__input:checked:focus + .navds-checkbox__label::before {
198
+ box-shadow: inset 0 0 0 1px var(--ac-radio-checkbox-bg, var(--a-surface-default)), var(--a-shadow-focus);
199
+ }
200
+ .navds-radio__input:checked + .navds-radio__label::before {
201
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action)),
202
+ inset 0 0 0 4px var(--ac-radio-checkbox-bg, var(--a-surface-default));
203
+ background-color: var(--ac-radio-checkbox-action, var(--a-surface-action));
204
+ }
205
+ .navds-radio__input:checked:focus + .navds-radio__label::before {
206
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action)),
207
+ inset 0 0 0 4px var(--ac-radio-checkbox-bg, var(--a-surface-default)), var(--a-shadow-focus);
208
+ }
209
+ .navds-checkbox__input:hover:not(:disabled) + .navds-checkbox__label,
210
+ .navds-radio__input:hover:not(:disabled) + .navds-radio__label {
211
+ color: var(--ac-radio-checkbox-action, var(--a-surface-action));
212
+ }
213
+ .navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate):not(:focus) + .navds-checkbox__label::before,
214
+ .navds-radio__input:hover:not(:disabled):not(:checked):not(:focus) + .navds-radio__label::before {
215
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action));
216
+ }
217
+ .navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate) + .navds-checkbox__label::before,
218
+ .navds-radio__input:hover:not(:disabled):not(:checked) + .navds-radio__label::before {
219
+ background-color: var(--ac-radio-checkbox-action-hover-bg, var(--a-surface-action-subtle));
220
+ }
221
+ .navds-checkbox--error
222
+ > .navds-checkbox__input:not(:hover):not(:disabled):not(:checked):not(:indeterminate)
223
+ + .navds-checkbox__label::before,
224
+ .navds-radio--error > .navds-radio__input:not(:hover):not(:disabled):not(:checked) + .navds-radio__label::before {
225
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger));
226
+ }
227
+ .navds-checkbox--error
228
+ > .navds-checkbox__input:focus:not(:hover):not(:disabled):not(:checked):not(:indeterminate)
229
+ + .navds-checkbox__label::before,
230
+ .navds-radio--error > .navds-radio__input:focus:not(:hover):not(:disabled):not(:checked) + .navds-radio__label::before {
231
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger)), var(--a-shadow-focus);
232
+ }
233
+ .navds-checkbox--error
234
+ > .navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate):not(:focus)
235
+ + .navds-checkbox__label::before,
236
+ .navds-radio--error > .navds-radio__input:hover:not(:disabled):not(:checked):not(:focus) + .navds-radio__label::before {
237
+ background-color: var(--ac-radio-checkbox-error-hover-bg, var(--a-surface-danger-subtle));
238
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger));
239
+ }
240
+ .navds-checkbox--error
241
+ > .navds-checkbox__input:focus:hover:not(:disabled):not(:checked):not(:indeterminate)
242
+ + .navds-checkbox__label::before,
243
+ .navds-radio--error > .navds-radio__input:focus:hover:not(:disabled):not(:checked) + .navds-radio__label::before {
244
+ background-color: var(--ac-radio-checkbox-error-hover-bg, var(--a-surface-danger-subtle));
245
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger)), var(--a-shadow-focus);
246
+ }
247
+ .navds-checkbox--disabled,
248
+ .navds-radio--disabled {
249
+ opacity: 0.3;
250
+ }
251
+ .navds-checkbox--disabled > .navds-checkbox__input,
252
+ .navds-checkbox--disabled > .navds-checkbox__label,
253
+ .navds-radio--disabled > .navds-radio__input,
254
+ .navds-radio--disabled > .navds-radio__label {
255
+ cursor: not-allowed;
256
+ }
257
+ .navds-select__input {
258
+ appearance: none;
259
+ background-color: var(--ac-select-bg, var(--a-surface-default));
260
+ border-radius: var(--a-border-radius-medium);
261
+ border: 1px solid var(--ac-select-border, var(--a-border-default));
262
+ color: var(--ac-select-text, var(--a-text-default));
263
+ width: 100%;
264
+ box-sizing: border-box;
265
+ min-height: 48px;
266
+ display: inline-block;
267
+ position: relative;
268
+ padding: 0.5rem;
269
+ padding-right: 2rem;
270
+ }
271
+ .navds-select__input:hover {
272
+ border-color: var(--ac-select-hover-bg, var(--a-border-action));
273
+ }
274
+ .navds-select__input:focus {
275
+ outline: none;
276
+ box-shadow: var(--a-shadow-focus);
277
+ }
278
+ .navds-select__container {
279
+ position: relative;
280
+ display: flex;
281
+ width: 100%;
282
+ color: var(--a-text-default);
283
+ }
284
+ .navds-select__chevron {
285
+ position: absolute;
286
+ font-size: 1rem;
287
+ right: 0.5rem;
288
+ pointer-events: none;
289
+ align-self: center;
290
+ }
291
+ .navds-form-field--small .navds-select__input {
292
+ min-height: 32px;
293
+ padding: 0 2rem 0 0.25rem;
294
+ }
295
+ /**
296
+ Error handling
297
+ */
298
+ .navds-select--error > * select:not(:hover):not(:focus):not(:disabled) {
299
+ box-shadow: 0 0 0 1px var(--ac-select-error-border, var(--a-surface-danger));
300
+ border-color: var(--ac-select-error-border, var(--a-surface-danger));
301
+ }
302
+ /**
303
+ Disabled
304
+ */
305
+ .navds-select__input:disabled {
306
+ background-color: var(--ac-select-bg, var(--a-surface-default));
307
+ border: 1px solid var(--ac-select-border, var(--a-border-default));
308
+ box-shadow: none;
309
+ cursor: not-allowed;
310
+
311
+ /* Chrome-fix */
312
+ opacity: 1;
313
+ color: var(--a-text-default);
314
+ }
315
+ /* Chrome-fix */
316
+ .navds-select__input:disabled > option {
317
+ color: var(--a-text-default);
318
+ }
319
+ .navds-switch {
320
+ position: relative;
321
+ min-height: 48px;
322
+ width: fit-content;
323
+ }
324
+ .navds-switch--right {
325
+ width: auto;
326
+ }
327
+ .navds-switch--small {
328
+ position: relative;
329
+ min-height: 32px;
330
+ }
331
+ /* Input */
332
+ .navds-switch__input {
333
+ cursor: pointer;
334
+ position: absolute;
335
+ z-index: 1;
336
+ width: 48px;
337
+ height: 48px;
338
+ opacity: 0;
339
+ top: 0;
340
+ }
341
+ .navds-switch--small > .navds-switch__input {
342
+ height: 32px;
343
+ top: 0;
344
+ }
345
+ /* Label */
346
+ .navds-switch__label-wrapper {
347
+ cursor: pointer;
348
+ color: var(--a-text-default);
349
+ }
350
+ .navds-switch__content {
351
+ display: flex;
352
+ flex-direction: column;
353
+ gap: var(--a-spacing-1);
354
+ padding: 0.75rem 0 0.75rem 3.25rem;
355
+ }
356
+ .navds-switch--right > .navds-switch__label-wrapper > .navds-switch__content {
357
+ padding: 0.75rem 3.25rem 0.75rem 0;
358
+ }
359
+ .navds-switch--small > .navds-switch__label-wrapper > .navds-switch__content {
360
+ padding: calc(var(--a-spacing-2) - 2px) 0 calc(var(--a-spacing-2) - 2px) 3.25rem;
361
+ }
362
+ .navds-switch--right.navds-switch--small > .navds-switch__label-wrapper > .navds-switch__content {
363
+ padding: calc(var(--a-spacing-2) - 2px) 3.25rem calc(var(--a-spacing-2) - 2px) 0;
364
+ }
365
+ .navds-switch--with-description,
366
+ .navds-switch--small > .navds-switch__label-wrapper > .navds-switch--with-description {
367
+ padding-bottom: 0;
368
+ }
369
+ .navds-switch__input:hover ~ .navds-switch__label-wrapper,
370
+ .navds-switch__label-wrapper:hover {
371
+ color: var(--ac-switch-action, var(--a-surface-action));
372
+ }
373
+ .navds-switch__input:disabled:hover ~ .navds-switch__label-wrapper {
374
+ color: inherit;
375
+ }
376
+ /* Track */
377
+ .navds-switch__track {
378
+ width: 44px;
379
+ height: 24px;
380
+ background-color: var(--ac-switch-bg, var(--a-surface-neutral));
381
+ position: absolute;
382
+ top: var(--a-spacing-3);
383
+ left: 0;
384
+ border-radius: var(--a-border-radius-medium);
385
+ transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1);
386
+ }
387
+ .navds-switch--small > .navds-switch__track {
388
+ top: var(--a-spacing-1);
389
+ }
390
+ .navds-switch--right > .navds-switch__input,
391
+ .navds-switch--right > .navds-switch__track {
392
+ right: 0;
393
+ left: auto;
394
+ }
395
+ .navds-switch__input:checked ~ .navds-switch__track {
396
+ background-color: var(--ac-switch-checked-bg, var(--a-surface-success));
397
+ }
398
+ .navds-switch__input:hover ~ .navds-switch__track {
399
+ background-color: var(--ac-switch-hover-bg, var(--a-surface-neutral-hover));
400
+ }
401
+ .navds-switch__input:hover:checked ~ .navds-switch__track {
402
+ background-color: var(--ac-switch-checked-hover-bg, var(--a-surface-success-hover));
403
+ }
404
+ .navds-switch__input:disabled ~ .navds-switch__track {
405
+ background-color: var(--ac-switch-bg, var(--a-surface-neutral));
406
+ }
407
+ .navds-switch__input:checked:disabled ~ .navds-switch__track {
408
+ background-color: var(--ac-switch-checked-bg, var(--a-border-success));
409
+ }
410
+ .navds-switch__input:focus ~ .navds-switch__track {
411
+ box-shadow: 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
412
+ }
413
+ /* Thumb */
414
+ .navds-switch__thumb {
415
+ background-color: var(--ac-switch-thumb-bg, var(--a-surface-default));
416
+ color: var(--ac-switch-thumb-icon, var(--a-icon-subtle));
417
+ border-radius: var(--a-border-radius-small);
418
+ width: 20px;
419
+ height: 20px;
420
+ position: absolute;
421
+ transform: translateX(0);
422
+ left: 2px;
423
+ top: 2px;
424
+ transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
425
+ display: flex;
426
+ align-items: center;
427
+ justify-content: center;
428
+ }
429
+ .navds-switch__input:checked ~ .navds-switch__track > .navds-switch__thumb {
430
+ transform: translateX(20px);
431
+ color: var(--ac-switch-thumb-icon-checked, var(--a-icon-success));
432
+ }
433
+ @media (hover: hover) and (pointer: fine) {
434
+ .navds-switch__input:hover ~ .navds-switch__track > .navds-switch__thumb {
435
+ transform: translateX(2px);
436
+ }
437
+
438
+ .navds-switch__input:checked:hover ~ .navds-switch__track > .navds-switch__thumb {
439
+ transform: translateX(18px);
440
+ }
441
+ }
442
+ .navds-switch__input:disabled:hover ~ .navds-switch__track > .navds-switch__thumb {
443
+ transform: translateX(0);
444
+ }
445
+ .navds-switch__input:checked:disabled:hover ~ .navds-switch__track > .navds-switch__thumb {
446
+ transform: translateX(20px);
447
+ }
448
+ /* Loader */
449
+ .navds-switch__input:checked ~ .navds-switch__track > .navds-switch__thumb .navds-loader__foreground {
450
+ stroke: var(--ac-switch-thumb-icon-checked, var(--a-icon-success));
451
+ }
452
+ /* Disabled */
453
+ .navds-switch__input:disabled {
454
+ appearance: none;
455
+ }
456
+ .navds-switch--disabled:not(.navds-switch--loading) {
457
+ opacity: 0.3;
458
+ }
459
+ .navds-switch__input:disabled,
460
+ .navds-switch__input:disabled ~ .navds-switch__label-wrapper {
461
+ cursor: not-allowed;
462
+ }
463
+ [data-theme="dark"] {
464
+ --ac-textfield-text: var(--a-text-on-inverted);
465
+ --ac-textfield-bg: var(--a-surface-inverted);
466
+ --ac-textfield-border: var(--a-border-on-inverted);
467
+ --ac-textfield-hover-border: var(--a-blue-200);
468
+ --ac-textfield-placeholder: var(--a-gray-500);
469
+ --ac-textfield-error-border: var(--a-red-300);
470
+ --ac-textarea-text: var(--a-text-on-inverted);
471
+ --ac-textarea-bg: var(--a-transparent);
472
+ --ac-textarea-border: var(--a-border-on-inverted);
473
+ --ac-textarea-hover-border: var(--a-blue-200);
474
+ --ac-textarea-placeholder: var(--a-gray-500);
475
+ --ac-textarea-error-border: var(--a-red-300);
476
+ --ac-textarea-counter-text: var(--a-gray-300);
477
+ --ac-textarea-counter-error-text: var(--a-red-300);
478
+ --ac-search-button-border: var(--a-border-on-inverted);
479
+ --ac-search-button-border-hover: var(--a-blue-200);
480
+ --ac-search-clear-icon: var(--a-white);
481
+ --ac-search-clear-icon-hover: var(--a-blue-200);
482
+ --ac-search-error-border: var(--a-red-300);
483
+ }
484
+ .navds-text-field__input {
485
+ appearance: none;
486
+ padding: var(--a-spacing-2);
487
+ background-color: var(--ac-textfield-bg, var(--a-surface-default));
488
+ border-radius: var(--a-border-radius-medium);
489
+ border: 1px solid var(--ac-textfield-border, var(--a-border-default));
490
+ min-height: 48px;
491
+ width: 100%;
492
+ color: var(--ac-textfield-text, var(--a-text-default));
493
+ }
494
+ .navds-text-field__input[size] {
495
+ width: auto;
496
+ }
497
+ .navds-text-field__input::placeholder {
498
+ color: var(--ac-textfield-placeholder, var(--a-text-subtle));
499
+ }
500
+ .navds-form-field--small .navds-text-field__input {
501
+ padding: 0 0.5rem;
502
+ min-height: 32px;
503
+ }
504
+ .navds-text-field__input:hover {
505
+ border-color: var(--ac-textfield-hover-border, var(--a-border-action));
506
+ }
507
+ .navds-text-field__input:focus {
508
+ outline: none;
509
+ box-shadow: var(--a-shadow-focus);
510
+ }
511
+ /**
512
+ Error handling
513
+ */
514
+ .navds-text-field--error > .navds-text-field__input:not(:hover):not(:disabled) {
515
+ border-color: var(--ac-textfield-error-border, var(--a-border-danger));
516
+ box-shadow: 0 0 0 1px var(--ac-textfield-error-border, var(--a-border-danger));
517
+ }
518
+ .navds-text-field--error > .navds-text-field__input:focus:not(:hover):not(:disabled) {
519
+ box-shadow: 0 0 0 1px var(--a-border-danger), var(--a-shadow-focus);
520
+ }
521
+ /* Disabled handling */
522
+ .navds-text-field__input:disabled {
523
+ background-color: var(--ac-textfield-bg, var(--a-surface-default));
524
+ border-color: var(--ac-textfield-border, var(--a-border-default));
525
+ box-shadow: none;
526
+ cursor: not-allowed;
527
+ }
528
+ .navds-text-field__input[readonly] {
529
+ background-color: var(--ac-textfield-bg, var(--a-surface-default));
530
+ border-color: var(--ac-textfield-border, var(--a-border-default));
531
+ box-shadow: none;
532
+ cursor: not-allowed;
533
+ }
534
+ /**
535
+ * Removes default search icon
536
+ */
537
+ .navds-text-field__input[type="search"]::-webkit-search-decoration,
538
+ .navds-text-field__input[type="search"]::-webkit-search-cancel-button,
539
+ .navds-text-field__input[type="search"]::-webkit-search-results-button,
540
+ .navds-text-field__input[type="search"]::-webkit-search-results-decoration {
541
+ -webkit-appearance: none;
542
+ }
543
+ .navds-textarea__wrapper {
544
+ position: relative;
545
+ width: 100%;
546
+ }
547
+ .navds-textarea__input {
548
+ appearance: none;
549
+ padding: var(--a-spacing-2);
550
+ background-color: var(--ac-textarea-bg, var(--a-surface-default));
551
+ border-radius: var(--a-border-radius-medium);
552
+ border: 1px solid var(--ac-textarea-border, var(--a-border-default));
553
+ resize: none;
554
+ width: 100%;
555
+ display: block;
556
+ color: var(--ac-textarea-text, var(--a-text-default));
557
+ }
558
+ .navds-textarea--counter {
559
+ padding-bottom: var(--a-spacing-8);
560
+ }
561
+ .navds-textarea__input::placeholder {
562
+ color: var(--ac-textarea-placeholder, var(--a-text-subtle));
563
+ }
564
+ .navds-textarea__input:hover {
565
+ border-color: var(--ac-textarea-hover-border, var(--a-border-action));
566
+ }
567
+ .navds-textarea__input:focus {
568
+ outline: none;
569
+ box-shadow: var(--a-shadow-focus);
570
+ }
571
+ .navds-form-field--small .navds-textarea__input {
572
+ padding: 6px;
573
+ }
574
+ .navds-form-field--small .navds-textarea--counter.navds-textarea__input {
575
+ padding-bottom: var(--a-spacing-7);
576
+ }
577
+ .navds-textarea__counter {
578
+ pointer-events: none;
579
+ color: var(--ac-textarea-counter-text, var(--a-text-subtle));
580
+ font-style: italic;
581
+ position: absolute;
582
+ text-align: left;
583
+ left: 1px;
584
+ bottom: 1px;
585
+ padding: var(--a-spacing-1) var(--a-spacing-2);
586
+ }
587
+ .navds-textarea__counter--error {
588
+ color: var(--ac-textarea-counter-error-text, var(--a-text-danger));
589
+ }
590
+ .navds-textarea--resize .navds-textarea__input {
591
+ resize: both;
592
+ }
593
+ /**
594
+ Error handling
595
+ */
596
+ .navds-textarea--error .navds-textarea__input:not(:hover):not(:focus):not(:disabled) {
597
+ box-shadow: 0 0 0 1px var(--ac-textarea-error-border, var(--a-border-danger));
598
+ border-color: var(--ac-textarea-error-border, var(--a-border-danger));
599
+ }
600
+ .navds-textarea__input:disabled {
601
+ background-color: var(--ac-textarea-bg, var(--a-surface-default));
602
+ border-color: var(--ac-textarea-border, var(--a-border-default));
603
+ box-shadow: none;
604
+ cursor: not-allowed;
605
+ }
606
+ .navds-textarea__input[readonly] {
607
+ background-color: var(--ac-textarea-bg, var(--a-surface-default));
608
+ border-color: var(--ac-textarea-border, var(--a-border-default));
609
+ box-shadow: none;
610
+ cursor: not-allowed;
611
+ }
612
+ .navds-search {
613
+ display: flex;
614
+ flex-direction: column;
615
+ width: 100%;
616
+ }
617
+ .navds-search__wrapper-inner {
618
+ position: relative;
619
+ width: 100%;
620
+ }
621
+ .navds-search__wrapper {
622
+ display: inline-flex;
623
+ align-items: center;
624
+ }
625
+ .navds-search__input {
626
+ padding-right: var(--a-spacing-10);
627
+ }
628
+ .navds-form-field--small .navds-search__input {
629
+ padding-right: var(--a-spacing-8);
630
+ }
631
+ .navds-search__input--simple {
632
+ padding-left: var(--a-spacing-11);
633
+ }
634
+ .navds-form-field--small .navds-search__input--simple {
635
+ padding-left: var(--a-spacing-7);
636
+ }
637
+ .navds-search__input:not(.navds-search__input--simple) {
638
+ border-top-right-radius: 0;
639
+ border-bottom-right-radius: 0;
640
+ }
641
+ .navds-search__search-icon {
642
+ position: absolute;
643
+ left: var(--a-spacing-3);
644
+ top: 50%;
645
+ transform: translateY(-50%);
646
+ pointer-events: none;
647
+ font-size: 1.5rem;
648
+ }
649
+ .navds-form-field--small .navds-search__search-icon {
650
+ left: var(--a-spacing-2);
651
+ font-size: 1rem;
652
+ }
653
+ .navds-search__button-clear {
654
+ position: absolute;
655
+ right: 0.75rem;
656
+ border-radius: var(--a-border-radius-medium);
657
+ color: var(--ac-search-clear-icon, var(--a-text-default));
658
+ height: 32px;
659
+ width: 32px;
660
+ top: 50%;
661
+ transform: translateY(-50%);
662
+ display: flex;
663
+ justify-content: center;
664
+ align-items: center;
665
+ cursor: pointer;
666
+ background: none;
667
+ border: none;
668
+ font-size: 1rem;
669
+ padding: 0;
670
+ }
671
+ .navds-form-field--small .navds-search__button-clear {
672
+ right: 0.5rem;
673
+ height: 24px;
674
+ width: 24px;
675
+ }
676
+ .navds-search__button-clear:hover {
677
+ color: var(--ac-search-clear-icon-hover, var(--a-text-action));
678
+ }
679
+ .navds-search__button-clear:focus {
680
+ box-shadow: var(--a-shadow-focus);
681
+ outline: none;
682
+ }
683
+ .navds-search__button-search {
684
+ flex-shrink: 0;
685
+ min-width: 64px;
686
+ min-height: 32px;
687
+ border-radius: 0;
688
+ border-top-right-radius: var(--a-border-radius-medium);
689
+ border-bottom-right-radius: var(--a-border-radius-medium);
690
+ }
691
+ .navds-form-field--small .navds-search__button-search svg {
692
+ font-size: 1rem;
693
+ }
694
+ .navds-form-field--small .navds-search__button-search {
695
+ min-width: 40px;
696
+ }
697
+ .navds-search__button-search.navds-button--secondary {
698
+ box-shadow: -1px 0 0 0 var(--ac-search-button-border, var(--a-border-default)) inset,
699
+ 0 1px 0 0 var(--ac-search-button-border, var(--a-border-default)) inset,
700
+ 0 -1px 0 0 var(--ac-search-button-border, var(--a-border-default)) inset;
701
+ }
702
+ .navds-search__button-search.navds-button--secondary:hover {
703
+ box-shadow: -1px 0 0 0 var(--ac-search-button-border-hover, var(--a-border-action)) inset,
704
+ 0 1px 0 0 var(--ac-search-button-border-hover, var(--a-border-action)) inset,
705
+ 0 -1px 0 0 var(--ac-search-button-border-hover, var(--a-border-action)) inset,
706
+ -1px 0 0 0 var(--ac-search-button-border-hover, var(--a-border-action));
707
+ z-index: 1;
708
+ }
709
+ .navds-search__wrapper-inner:focus-within + .navds-search__button-search.navds-button--secondary:hover {
710
+ z-index: auto;
711
+ }
712
+ .navds-search__button-search.navds-button--secondary:focus {
713
+ box-shadow: 0 0 0 1px var(--ac-search-button-border, var(--a-border-default)) inset, var(--a-shadow-focus);
714
+ }
715
+ .navds-search__button-search.navds-button--secondary:focus:hover {
716
+ box-shadow: 0 0 0 1px var(--ac-search-button-border-hover, var(--a-border-action)) inset, var(--a-shadow-focus);
717
+ }
718
+ .navds-search__button-search.navds-button--secondary:focus:active {
719
+ box-shadow: 0 0 0 1px var(--ac-search-button-focus-active-border, var(--a-surface-default)) inset, var(--a-shadow-focus);
720
+ }
721
+ /* Error-handling */
722
+ .navds-search--error .navds-search__input:not(:hover):not(:disabled) {
723
+ border-color: var(--ac-search-error-border, var(--a-border-danger));
724
+ box-shadow: inset 0 0 0 1px var(--ac-search-error-border, var(--a-border-danger));
725
+ }
726
+ .navds-search--error .navds-search__input:focus:not(:hover):not(:disabled) {
727
+ box-shadow: inset 0 0 0 1px var(--ac-search-error-border, var(--a-border-danger)), var(--a-shadow-focus);
728
+ }
729
+ /* Focus layering */
730
+ .navds-search__input:focus,
731
+ .navds-search__button-clear,
732
+ .navds-search__button-search:focus {
733
+ z-index: 1;
734
+ }