@navikt/ds-css 7.5.3 → 7.7.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 (56) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/darkside/action-menu.darkside.css +1 -6
  3. package/darkside/alert.darkside.css +2 -2
  4. package/darkside/button.darkside.css +134 -149
  5. package/darkside/chat.darkside.css +2 -2
  6. package/darkside/date.darkside.css +171 -232
  7. package/darkside/expansioncard.darkside.css +3 -9
  8. package/darkside/form/combobox.darkside.css +12 -20
  9. package/darkside/form/error-summary.darkside.css +2 -2
  10. package/darkside/form/file-upload.darkside.css +12 -13
  11. package/darkside/form/form-progress.darkside.css +1 -1
  12. package/darkside/form/form-summary.darkside.css +3 -2
  13. package/darkside/form/index.css +14 -16
  14. package/darkside/form/search.darkside.css +82 -160
  15. package/darkside/form/select.darkside.css +74 -68
  16. package/darkside/form/switch.darkside.css +125 -132
  17. package/darkside/form/text-field.darkside.css +2 -2
  18. package/darkside/form/textarea.darkside.css +36 -78
  19. package/darkside/help-text.darkside.css +0 -6
  20. package/darkside/index.css +23 -14
  21. package/darkside/internalheader.darkside.css +45 -49
  22. package/darkside/modal.darkside.css +7 -10
  23. package/darkside/popover.darkside.css +2 -5
  24. package/darkside/primitives/base.darkside.css +350 -350
  25. package/darkside/primitives/bleed.darkside.css +52 -52
  26. package/darkside/primitives/box.darkside.css +21 -21
  27. package/darkside/primitives/hgrid.darkside.css +28 -28
  28. package/darkside/primitives/index.css +7 -36
  29. package/darkside/primitives/page.darkside.css +6 -9
  30. package/darkside/primitives/stack.darkside.css +58 -58
  31. package/darkside/read-more.darkside.css +68 -57
  32. package/darkside/skeleton.darkside.css +21 -24
  33. package/darkside/stepper.darkside.css +181 -221
  34. package/darkside/tabs.darkside.css +67 -74
  35. package/darkside/toggle-group.darkside.css +52 -120
  36. package/dist/component/form.css +22 -18
  37. package/dist/component/form.min.css +2 -2
  38. package/dist/component/index.css +40 -22
  39. package/dist/component/index.min.css +3 -3
  40. package/dist/component/modal.css +8 -0
  41. package/dist/component/modal.min.css +1 -1
  42. package/dist/component/readmore.css +4 -0
  43. package/dist/component/readmore.min.css +1 -1
  44. package/dist/components.css +40 -22
  45. package/dist/components.min.css +3 -3
  46. package/dist/global/tokens.css +1 -1
  47. package/dist/global/tokens.min.css +1 -1
  48. package/dist/index.css +40 -22
  49. package/dist/index.min.css +3 -3
  50. package/form/combobox.css +9 -2
  51. package/form/file-upload.css +7 -9
  52. package/form/select.css +2 -9
  53. package/form/switch.css +8 -0
  54. package/modal.css +8 -0
  55. package/package.json +2 -2
  56. package/read-more.css +4 -0
@@ -1,16 +1,6 @@
1
- /* Makes it easier for user to use FileItem in semantic lists */
2
- .navds-file-upload {
3
- & :is(ul, li) {
4
- list-style: none;
5
- margin: 0;
6
- padding: 0;
7
- }
8
- }
9
-
10
1
  /* --------------------------- FileUpload Dropzone -------------------------- */
11
2
  .navds-dropzone__area {
12
3
  --__axc-dropzone-background: var(--ax-bg-input);
13
- --__axc-dropzone-padding: var(--ax-spacing-6);
14
4
  --__axc-dropzone-icon-padding: var(--ax-spacing-2);
15
5
  --__axc-dropzone-animation-length-long: 400ms;
16
6
  --__axc-dropzone-animation-length-short: 250ms;
@@ -24,7 +14,7 @@
24
14
  flex-direction: column;
25
15
  gap: var(--ax-spacing-4);
26
16
  text-align: center;
27
- padding: var(--__axc-dropzone-padding);
17
+ padding: var(--ax-spacing-4) var(--ax-spacing-5);
28
18
  border: 1px dashed var(--ax-border-default);
29
19
  border-radius: var(--ax-border-radius-xlarge);
30
20
  background-color: var(--__axc-dropzone-background);
@@ -104,7 +94,7 @@
104
94
  }
105
95
 
106
96
  .navds-dropzone__area-release {
107
- top: var(--__axc-dropzone-padding);
97
+ top: var(--ax-spacing-4);
108
98
  display: grid;
109
99
  position: absolute;
110
100
  z-index: 1;
@@ -154,13 +144,21 @@
154
144
  }
155
145
 
156
146
  /* ----------------------------- FileUpload Item ---------------------------- */
147
+ .navds-file-upload :is(ul, li),
148
+ ul:has(> li.navds-file-item),
149
+ li.navds-file-item {
150
+ list-style: none;
151
+ margin: 0;
152
+ padding: 0;
153
+ }
154
+
157
155
  .navds-file-item__inner {
158
156
  background-color: var(--ax-bg-raised);
159
157
  border: 1px solid var(--ax-border-subtleA);
160
158
  outline-offset: -1px;
161
159
  transition: outline-color 250ms cubic-bezier(0, 0.3, 0.15, 1);
162
160
  border-radius: var(--ax-border-radius-xlarge);
163
- padding: var(--ax-spacing-3);
161
+ padding: var(--ax-spacing-3) var(--ax-spacing-4);
164
162
  display: flex;
165
163
  gap: var(--ax-spacing-3);
166
164
  align-items: flex-start;
@@ -176,6 +174,7 @@
176
174
  border-radius: var(--ax-border-radius-full);
177
175
  min-height: 2.5rem;
178
176
  min-width: 2.5rem;
177
+ margin-top: var(--ax-spacing-05);
179
178
  display: grid;
180
179
  place-content: center;
181
180
  transition: background-color 250ms cubic-bezier(0, 0.3, 0.15, 1);
@@ -51,7 +51,7 @@
51
51
  .navds-form-progress__stepper {
52
52
  border: 1px solid var(--ax-border-subtle);
53
53
  border-radius: var(--ax-border-radius-large);
54
- padding: var(--ax-spacing-4);
54
+ padding: var(--ax-spacing-4) var(--ax-spacing-5);
55
55
  margin-top: var(--ax-spacing-1);
56
56
  background: var(--ax-bg-raised);
57
57
  }
@@ -31,7 +31,7 @@
31
31
  }
32
32
 
33
33
  .navds-form-summary__answers {
34
- padding: var(--ax-spacing-5) var(--ax-spacing-6) var(--ax-spacing-6);
34
+ padding: var(--ax-spacing-4) var(--ax-spacing-5);
35
35
  margin: 0;
36
36
  }
37
37
 
@@ -72,9 +72,10 @@
72
72
 
73
73
  .navds-form-summary__value .navds-form-summary__answers {
74
74
  margin-top: var(--ax-spacing-2);
75
- padding: var(--ax-spacing-4);
75
+ padding: var(--ax-spacing-4) var(--ax-spacing-5);
76
76
  background: var(--ax-bg-info-moderateA);
77
77
  border-radius: var(--ax-border-radius-large);
78
+ border: 1px solid var(--ax-border-info-subtleA);
78
79
 
79
80
  & .navds-form-summary__answer {
80
81
  border-color: var(--ax-border-info-subtleA);
@@ -1,16 +1,14 @@
1
- @layer aksel.forms.base, aksel.forms.component;
2
-
3
- @import "./fieldset.darkside.css" layer(aksel.forms.base);
4
- @import "./file-upload.darkside.css" layer(aksel.forms.component);
5
- @import "./form.darkside.css" layer(aksel.forms.component);
6
- @import "./error-summary.darkside.css" layer(aksel.forms.component);
7
- @import "./confirmation-panel.darkside.css" layer(aksel.forms.component);
8
- @import "./radio-checkbox.darkside.css" layer(aksel.forms.component);
9
- @import "./select.darkside.css" layer(aksel.forms.component);
10
- @import "./switch.darkside.css" layer(aksel.forms.component);
11
- @import "./text-field.darkside.css" layer(aksel.forms.component);
12
- @import "./textarea.darkside.css" layer(aksel.forms.component);
13
- @import "./search.darkside.css" layer(aksel.forms.component);
14
- @import "./combobox.darkside.css" layer(aksel.forms.component);
15
- @import "./form-summary.darkside.css" layer(aksel.forms.component);
16
- @import "./form-progress.darkside.css" layer(aksel.forms.component);
1
+ @import "./fieldset.darkside.css";
2
+ @import "./file-upload.darkside.css";
3
+ @import "./form.darkside.css";
4
+ @import "./error-summary.darkside.css";
5
+ @import "./confirmation-panel.darkside.css";
6
+ @import "./radio-checkbox.darkside.css";
7
+ @import "./select.darkside.css";
8
+ @import "./switch.darkside.css";
9
+ @import "./text-field.darkside.css";
10
+ @import "./textarea.darkside.css";
11
+ @import "./search.darkside.css";
12
+ @import "./combobox.darkside.css";
13
+ @import "./form-summary.darkside.css";
14
+ @import "./form-progress.darkside.css";
@@ -1,19 +1,3 @@
1
- [data-theme="dark"] {
2
- --__ac-search-button-border: var(--a-border-on-inverted);
3
- --__ac-search-button-border-hover: var(--a-blue-200);
4
- --__ac-search-clear-icon: var(--a-white);
5
- --__ac-search-clear-icon-hover: var(--a-blue-200);
6
- --__ac-search-error-border: var(--a-red-300);
7
- }
8
-
9
- [data-theme="light"] {
10
- --__ac-search-button-border: initial;
11
- --__ac-search-button-border-hover: initial;
12
- --__ac-search-clear-icon: initial;
13
- --__ac-search-clear-icon-hover: initial;
14
- --__ac-search-error-border: initial;
15
- }
16
-
17
1
  .navds-search {
18
2
  display: flex;
19
3
  flex-direction: column;
@@ -25,204 +9,142 @@
25
9
  width: 100%;
26
10
  }
27
11
 
28
- .navds-search--with-size :where(.navds-search__wrapper-inner) {
29
- width: inherit;
12
+ .navds-search--with-size {
13
+ & .navds-search__wrapper-inner {
14
+ width: inherit;
15
+ }
16
+
17
+ & .navds-search__wrapper {
18
+ width: fit-content;
19
+ }
30
20
  }
31
21
 
32
22
  .navds-search__wrapper {
33
23
  display: inline-flex;
34
24
  align-items: center;
25
+ border-radius: var(--ax-border-radius-medium);
26
+
27
+ /* We have to outline the whole container to include the Search-buttons */
28
+ &:has(.navds-search__input:focus-visible) {
29
+ outline: 2px solid var(--ax-border-focus);
30
+ outline-offset: 2px;
31
+ }
35
32
  }
36
33
 
34
+ /* ------------------------------ Search input ------------------------------ */
37
35
  .navds-search__input {
38
- padding-right: var(--a-spacing-10);
39
- }
36
+ padding-right: var(--ax-spacing-10);
37
+
38
+ &:focus-visible {
39
+ outline: none;
40
+ }
40
41
 
41
- .navds-form-field--small .navds-search__input {
42
- padding-right: var(--a-spacing-8);
42
+ &.navds-search__input--primary,
43
+ &.navds-search__input--secondary {
44
+ border-top-right-radius: 0;
45
+ border-bottom-right-radius: 0;
46
+ border-right: none;
47
+ }
43
48
  }
44
49
 
45
50
  .navds-search__input--simple {
46
- padding-left: var(--a-spacing-11);
51
+ padding-left: var(--ax-spacing-10);
47
52
  }
48
53
 
49
- .navds-form-field--small .navds-search__input--simple {
50
- padding-left: var(--a-spacing-7);
51
- }
54
+ /* ------------------------------ Search sizing ----------------------------- */
55
+ .navds-form-field--small {
56
+ & .navds-search__input {
57
+ padding-right: var(--ax-spacing-7);
58
+ }
59
+
60
+ & .navds-search__input--simple {
61
+ padding-left: var(--ax-spacing-7);
62
+ }
63
+
64
+ & .navds-search__search-icon {
65
+ left: var(--ax-spacing-1);
66
+ font-size: 1.25rem;
67
+ }
52
68
 
53
- .navds-search__input:not(.navds-search__input--simple) {
54
- border-top-right-radius: 0;
55
- border-bottom-right-radius: 0;
69
+ & .navds-search__button-clear {
70
+ right: var(--ax-spacing-1);
71
+ }
56
72
  }
57
73
 
74
+ /* ------------------------------- Search icon ------------------------------ */
58
75
  .navds-search__search-icon {
59
76
  position: absolute;
60
- left: var(--a-spacing-3);
77
+ left: var(--ax-spacing-2);
61
78
  top: 50%;
62
79
  transform: translateY(-50%);
63
80
  pointer-events: none;
64
81
  font-size: 1.5rem;
65
- }
66
82
 
67
- .navds-form-field--small .navds-search__search-icon {
68
- left: var(--a-spacing-2);
69
- font-size: 1rem;
83
+ .navds-search--disabled & {
84
+ opacity: 0.3;
85
+ }
70
86
  }
71
87
 
88
+ /* --------------------------- Search Clear-button -------------------------- */
72
89
  .navds-search__button-clear {
73
90
  position: absolute;
74
- right: 0.75rem;
75
- border-radius: var(--a-border-radius-medium);
76
- color: var(--ac-search-clear-icon, var(--__ac-search-clear-icon, var(--a-text-default)));
77
- height: 32px;
78
- width: 32px;
91
+ right: var(--ax-spacing-2);
79
92
  top: 50%;
80
93
  transform: translateY(-50%);
81
- display: flex;
82
- justify-content: center;
83
- align-items: center;
84
- cursor: pointer;
85
- background: none;
86
- border: none;
87
- font-size: 1.25rem;
88
- padding: 0;
89
- }
90
-
91
- .navds-form-field--small .navds-search__button-clear {
92
- right: 0.5rem;
93
- height: 24px;
94
- width: 24px;
95
- }
96
-
97
- .navds-search__button-clear:hover {
98
- color: var(--ac-search-clear-icon-hover, var(--__ac-search-clear-icon-hover, var(--a-text-action-hover)));
99
- }
100
-
101
- .navds-search__button-clear:focus-visible {
102
- outline: 2px solid transparent;
103
- box-shadow: var(--a-shadow-focus);
104
- }
105
-
106
- @supports not selector(:focus-visible) {
107
- .navds-search__button-clear:focus {
108
- outline: 2px solid transparent;
109
- box-shadow: var(--a-shadow-focus);
110
- }
111
94
  }
112
95
 
96
+ /* ------------------------------ Search Button ----------------------------- */
113
97
  .navds-search__button-search {
114
98
  flex-shrink: 0;
115
- min-width: 4rem;
116
- min-height: 2rem;
117
99
  border-radius: 0;
118
- border-top-right-radius: var(--a-border-radius-medium);
119
- border-bottom-right-radius: var(--a-border-radius-medium);
120
- }
121
-
122
- .navds-form-field--small .navds-search__button-search svg {
123
- font-size: 1rem;
124
- }
125
-
126
- .navds-form-field--small .navds-search__button-search {
127
- min-width: 2.5rem;
100
+ border-top-right-radius: var(--ax-border-radius-medium);
101
+ border-bottom-right-radius: var(--ax-border-radius-medium);
128
102
  }
129
103
 
130
104
  .navds-search__button-search.navds-button--secondary {
131
- box-shadow:
132
- -1px 0 0 0 var(--ac-search-button-border, var(--__ac-search-button-border, var(--a-border-default))) inset,
133
- 0 1px 0 0 var(--ac-search-button-border, var(--__ac-search-button-border, var(--a-border-default))) inset,
134
- 0 -1px 0 0 var(--ac-search-button-border, var(--__ac-search-button-border, var(--a-border-default))) inset;
135
- }
136
-
137
- .navds-search__button-search.navds-button--secondary:where(:hover, :active) {
138
- box-shadow:
139
- -1px 0 0 0 var(--ac-search-button-border-hover, var(--__ac-search-button-border-hover, var(--a-border-action-hover))) inset,
140
- 0 1px 0 0 var(--ac-search-button-border-hover, var(--__ac-search-button-border-hover, var(--a-border-action-hover))) inset,
141
- 0 -1px 0 0 var(--ac-search-button-border-hover, var(--__ac-search-button-border-hover, var(--a-border-action-hover))) inset,
142
- -1px 0 0 0 var(--ac-search-button-border-hover, var(--__ac-search-button-border-hover, var(--a-border-action-hover)));
143
- z-index: 1;
144
- }
145
-
146
- .navds-search__wrapper-inner:focus-within + .navds-search__button-search.navds-button--secondary:hover {
147
- z-index: auto;
148
- }
149
-
150
- .navds-search__button-search.navds-button--secondary:focus-visible {
151
- box-shadow:
152
- 0 0 0 1px var(--ac-search-button-border, var(--__ac-search-button-border, var(--a-border-default))) inset,
153
- var(--a-shadow-focus);
154
- }
105
+ --__axc-button-border-width: 1px;
106
+ --__axc-button-border-color: var(--ax-border-default);
155
107
 
156
- .navds-search__button-search.navds-button--secondary:focus-visible:hover {
157
- box-shadow:
158
- 0 0 0 1px var(--ac-search-button-border-hover, var(--__ac-search-button-border-hover, var(--a-border-action-hover))) inset,
159
- var(--a-shadow-focus);
160
- }
161
-
162
- .navds-search__button-search.navds-button--secondary:focus-visible:active {
163
- box-shadow:
164
- 0 0 0 1px var(--ac-search-button-focus-active-border, var(--a-surface-default)) inset,
165
- var(--a-shadow-focus);
166
- }
167
-
168
- @supports not selector(:focus-visible) {
169
- .navds-search__button-search.navds-button--secondary:focus {
170
- box-shadow:
171
- 0 0 0 1px var(--ac-search-button-border, var(--__ac-search-button-border, var(--a-border-default))) inset,
172
- var(--a-shadow-focus);
173
- }
174
-
175
- .navds-search__button-search.navds-button--secondary:focus:hover {
176
- box-shadow:
177
- 0 0 0 1px var(--ac-search-button-border-hover, var(--__ac-search-button-border-hover, var(--a-border-action))) inset,
178
- var(--a-shadow-focus);
108
+ &:hover:not(:disabled) {
109
+ --__axc-button-border-color: var(--ax-border-accent-strong);
179
110
  }
180
111
 
181
- .navds-search__button-search.navds-button--secondary:focus:active {
182
- box-shadow:
183
- 0 0 0 1px var(--ac-search-button-focus-active-border, var(--a-surface-default)) inset,
184
- var(--a-shadow-focus);
112
+ &:active:not(:disabled) {
113
+ --__axc-button-border-color: transparent;
185
114
  }
186
115
  }
187
116
 
188
- /* Error-handling */
189
- .navds-search--error .navds-search__input:not(:hover, :disabled) {
190
- border-color: var(--ac-search-error-border, var(--__ac-search-error-border, var(--a-border-danger)));
191
- box-shadow: inset 0 0 0 1px var(--ac-search-error-border, var(--__ac-search-error-border, var(--a-border-danger)));
117
+ /* Special-case where we hover/focus input, and want the secondary-button to match input-border */
118
+ .navds-search:not(.navds-search--error, .navds-search--disabled)
119
+ .navds-search__wrapper:has(.navds-search__input:is(:hover, :focus-visible))
120
+ .navds-search__button-search.navds-button--secondary:not(:hover, :active) {
121
+ --__axc-button-border-color: var(--ax-border-accent-strong);
192
122
  }
193
123
 
194
- .navds-search--error .navds-search__input:focus-visible:not(:hover, :disabled) {
124
+ /* --------------------------- Search Error-state --------------------------- */
125
+ .navds-search--error .navds-search__input:not(:disabled) {
126
+ border-color: var(--ax-border-danger);
195
127
  box-shadow:
196
- inset 0 0 0 1px var(--ac-search-error-border, var(--__ac-search-error-border, var(--a-border-danger))),
197
- var(--a-shadow-focus);
128
+ inset -2px 0 0 0 var(--ax-border-danger),
129
+ inset 0 0 0 1px var(--ax-border-danger);
130
+
131
+ &.navds-search__input--simple {
132
+ box-shadow: inset 0 0 0 1px var(--ax-border-danger);
133
+ }
198
134
  }
199
135
 
200
- /* Focus layering */
136
+ /* -------------------------- Search Focus layering ------------------------- */
201
137
  .navds-search__input:focus-visible,
202
- .navds-search__button-clear,
203
138
  .navds-search__button-search:focus-visible {
204
139
  z-index: 1;
205
140
  }
206
141
 
207
- @supports not selector(:focus-visible) {
208
- .navds-search--error .navds-search__input:focus:not(:hover, :disabled) {
209
- box-shadow:
210
- inset 0 0 0 1px var(--ac-search-error-border, var(--__ac-search-error-border, var(--a-border-danger))),
211
- var(--a-shadow-focus);
212
- }
213
-
214
- .navds-search__input:focus,
215
- .navds-search__button-search:focus {
216
- z-index: 1;
217
- }
218
- }
219
-
220
- @media (forced-colors: active) {
221
- .navds-modal {
222
- outline: 2px solid transparent;
223
- }
142
+ /* -------------------------- Search disabled state ------------------------- */
224
143
 
225
- .navds-search__button-clear:hover {
226
- color: highlight;
144
+ /* We can't re-use disabled-state for form-fields since opacity multiplies on search-button */
145
+ .navds-search--disabled {
146
+ .navds-search__input {
147
+ opacity: 0.3;
148
+ cursor: not-allowed;
227
149
  }
228
150
  }
@@ -1,48 +1,34 @@
1
1
  .navds-select__input {
2
2
  appearance: none;
3
- background-color: var(--ac-select-bg, var(--a-surface-default));
4
- border-radius: var(--a-border-radius-medium);
5
- border: 1px solid var(--ac-select-border, var(--a-border-default));
6
- color: var(--ac-select-text, var(--a-text-default));
3
+ background-color: var(--ax-bg-input);
4
+ border-radius: var(--ax-border-radius-medium);
5
+ border: 1px solid var(--ax-border-default);
6
+ color: var(--ax-text-default);
7
7
  width: 100%;
8
8
  box-sizing: border-box;
9
9
  min-height: 3rem;
10
10
  display: inline-block;
11
11
  position: relative;
12
- padding: 0.5rem;
13
- padding-right: 2rem;
14
- }
12
+ padding: var(--ax-spacing-2);
13
+ padding-right: var(--ax-spacing-10);
15
14
 
16
- @media (forced-colors: active) {
17
- .navds-select__input.navds-select__input.navds-select__input {
18
- background-color: ButtonFace;
19
- border-color: ButtonText;
20
- color: ButtonText;
21
- forced-color-adjust: none;
22
- box-shadow: none;
15
+ &:hover {
16
+ border-color: var(--ax-border-accent-strong);
17
+ cursor: pointer;
23
18
  }
24
19
 
25
- .navds-select__input.navds-select__input.navds-select__input:focus-visible {
26
- outline: 2px solid highlight;
20
+ &:focus {
21
+ outline: 2px solid var(--ax-border-focus);
27
22
  outline-offset: 2px;
23
+ border-color: var(--ax-border-accent-strong);
28
24
  }
29
- }
30
25
 
31
- .navds-select__input:hover {
32
- border-color: var(--ac-select-hover-border, var(--a-border-action-hover));
33
- cursor: pointer;
34
- }
35
-
36
- .navds-select__input:focus-visible {
37
- outline: none;
38
- border-color: var(--ac-select-active-border, var(--a-border-action-selected));
39
- box-shadow: var(--a-shadow-focus);
40
- }
41
-
42
- @supports not selector(:focus-visible) {
43
- .navds-select__input:focus {
44
- outline: none;
45
- box-shadow: var(--a-shadow-focus);
26
+ @media (forced-colors: active) {
27
+ & {
28
+ background-color: ButtonFace;
29
+ border-color: ButtonText;
30
+ color: ButtonText;
31
+ }
46
32
  }
47
33
  }
48
34
 
@@ -50,66 +36,86 @@
50
36
  position: relative;
51
37
  display: flex;
52
38
  width: 100%;
53
- color: var(--a-text-default);
39
+ color: var(--ax-text-default);
54
40
  }
55
41
 
42
+ /* ------------------------------- Select Icon ------------------------------ */
56
43
  .navds-select__chevron {
57
44
  position: absolute;
58
45
  font-size: 1.5rem;
59
- right: var(--a-spacing-2);
46
+ right: var(--ax-spacing-2);
60
47
  pointer-events: none;
61
48
  align-self: center;
62
- color: var(--ac-select-text, var(--a-text-default));
63
- }
49
+ color: var(--ax-text-default);
64
50
 
65
- @media (forced-colors: active) {
66
- .navds-select__chevron {
67
- color: ButtonText;
51
+ @media (forced-colors: active) {
52
+ & {
53
+ color: ButtonText;
54
+ }
68
55
  }
69
56
  }
70
57
 
71
- .navds-form-field--small .navds-select__input {
72
- min-height: 2rem;
73
- padding: 0 var(--a-spacing-8) 0 var(--a-spacing-2);
58
+ /* ------------------------------ Select Sizing ----------------------------- */
59
+ .navds-form-field--small {
60
+ & .navds-select__input {
61
+ min-height: 2rem;
62
+ padding-block: 0;
63
+ }
74
64
  }
75
65
 
76
- .navds-form-field--small .navds-select__chevron {
77
- right: var(--a-spacing-1-alt);
78
- }
66
+ /* --------------------------- Select Error-state --------------------------- */
67
+ .navds-select--error {
68
+ > * select {
69
+ box-shadow: 0 0 0 1px var(--ax-border-danger);
70
+ border-color: var(--ax-border-danger);
71
+ }
79
72
 
80
- /**
81
- Error handling
82
- */
83
- .navds-select--error > * select:not(:hover, :focus, :disabled) {
84
- box-shadow: 0 0 0 1px var(--ac-select-error-border, var(--a-surface-danger));
85
- border-color: var(--ac-select-error-border, var(--a-surface-danger));
73
+ > * select:hover,
74
+ > * select:focus {
75
+ box-shadow: 0 0 0 1px var(--ax-border-danger-strong);
76
+ border-color: var(--ax-border-danger-strong);
77
+ }
86
78
  }
87
79
 
88
- /**
89
- Disabled
90
- */
80
+ /* ----------------------------- Select disabled ---------------------------- */
91
81
  .navds-select__input:disabled {
92
- background-color: var(--ac-select-bg, var(--a-surface-default));
93
- border: 1px solid var(--ac-select-border, var(--a-border-default));
82
+ background-color: var(--ax-bg-input);
83
+ border: 1px solid var(--ax-border-default);
94
84
  box-shadow: none;
95
85
  cursor: not-allowed;
96
86
 
97
87
  /* Chrome-fix */
98
88
  opacity: 1;
99
- color: var(--a-text-default);
100
- }
89
+ color: var(--ax-text-default);
101
90
 
102
- /* Chrome-fix */
103
- .navds-select__input:disabled > option {
104
- color: var(--a-text-default);
105
- }
91
+ & > option {
92
+ color: var(--ax-text-default);
93
+ }
106
94
 
107
- .navds-select--readonly .navds-select__input {
108
- background-color: var(--a-surface-subtle);
109
- border-color: var(--a-border-subtle);
110
- cursor: default;
95
+ @media (forced-colors: active) {
96
+ & + .navds-select__chevron {
97
+ color: GrayText;
98
+ }
99
+ }
111
100
  }
112
101
 
113
- .navds-select--readonly .navds-select__chevron {
114
- color: var(--a-gray-500);
102
+ /* ----------------------------- Select Readonly ---------------------------- */
103
+ .navds-select--readonly {
104
+ & .navds-select__input {
105
+ background-color: var(--ax-bg-neutral-moderate);
106
+ border-color: var(--ax-border-neutral-subtleA);
107
+ cursor: default;
108
+
109
+ @media (forced-colors: active) {
110
+ &:is(:hover, :focus) {
111
+ background-color: ButtonFace;
112
+ border-color: ButtonText;
113
+ color: ButtonText;
114
+ }
115
+ }
116
+ }
117
+
118
+ & .navds-select__chevron {
119
+ color: var(--ax-text-subtle);
120
+ }
115
121
  }