@navikt/ds-css 7.6.0 → 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.
@@ -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,7 +72,7 @@
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
78
  border: 1px solid var(--ax-border-info-subtleA);
@@ -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
  }
@@ -25,7 +25,7 @@
25
25
  }
26
26
 
27
27
  &::placeholder {
28
- color: var(--ax-text-subtle);
28
+ color: var(--ax-text-neutral);
29
29
  }
30
30
 
31
31
  &[size] {
@@ -13,9 +13,6 @@
13
13
  @import "@navikt/ds-tokens/dist/darkside/tokens.css" layer(aksel.theme);
14
14
  @import "./baseline/theme.darkside.css" layer(aksel.theme);
15
15
 
16
- /* TODO: Remove this reference after stack is updated with darkside support */
17
- @import "../primitives/stack.css" layer(aksel.components);
18
-
19
16
  /* ------------------------------- Components ------------------------------- */
20
17
  @import "./button.darkside.css" layer(aksel.components);
21
18
  @import "./chips.darkside.css" layer(aksel.components);
@@ -31,6 +28,7 @@
31
28
  @import "./alert.darkside.css" layer(aksel.components);
32
29
  @import "./chat.darkside.css" layer(aksel.components);
33
30
  @import "./copybutton.darkside.css" layer(aksel.components);
31
+ @import "./date.darkside.css" layer(aksel.components);
34
32
  @import "./dropdown.darkside.css" layer(aksel.components);
35
33
  @import "./action-menu.darkside.css" layer(aksel.components);
36
34
  @import "./expansioncard.darkside.css" layer(aksel.components);
@@ -42,7 +40,6 @@
42
40
  @import "./modal.darkside.css" layer(aksel.components);
43
41
  @import "./pagination.darkside.css" layer(aksel.components);
44
42
  @import "./popover.darkside.css" layer(aksel.components);
45
- @import "./date.darkside.css" layer(aksel.components);
46
43
  @import "./tag.darkside.css" layer(aksel.components);
47
44
  @import "./timeline.darkside.css" layer(aksel.components);
48
45
  @import "./tooltip.darkside.css" layer(aksel.components);
@@ -60,15 +60,15 @@
60
60
  width: 450px;
61
61
 
62
62
  & .navds-modal__header {
63
- padding: var(--ax-spacing-4) var(--ax-spacing-4) var(--ax-spacing-3) var(--ax-spacing-4);
63
+ padding: var(--ax-spacing-3) var(--ax-spacing-4);
64
64
  }
65
65
 
66
66
  & .navds-modal__body {
67
- padding: var(--ax-spacing-2) var(--ax-spacing-4) var(--ax-spacing-4);
67
+ padding: var(--ax-spacing-3) var(--ax-spacing-4);
68
68
  }
69
69
 
70
70
  & .navds-modal__footer {
71
- padding: var(--ax-spacing-4);
71
+ padding: var(--ax-spacing-3) var(--ax-spacing-4);
72
72
  }
73
73
  }
74
74
 
@@ -121,7 +121,7 @@
121
121
  }
122
122
 
123
123
  .navds-modal__header {
124
- padding: var(--ax-spacing-6) var(--ax-spacing-6) var(--ax-spacing-4) var(--ax-spacing-6);
124
+ padding: var(--ax-spacing-4) var(--ax-spacing-5);
125
125
  }
126
126
 
127
127
  .navds-modal__header-icon {
@@ -138,7 +138,7 @@
138
138
  }
139
139
 
140
140
  .navds-modal__body {
141
- padding: var(--ax-spacing-6);
141
+ padding: var(--ax-spacing-4) var(--ax-spacing-5);
142
142
  overflow: auto;
143
143
  overscroll-behavior: contain;
144
144
  position: relative; /* Needed to make sr-only elements position correctly - see Storybook */
@@ -164,7 +164,7 @@
164
164
  display: flex;
165
165
  flex-flow: row-reverse wrap;
166
166
  gap: var(--ax-spacing-4);
167
- padding: var(--ax-spacing-4) var(--ax-spacing-6) var(--ax-spacing-6) var(--ax-spacing-6);
167
+ padding: var(--ax-spacing-4) var(--ax-spacing-5);
168
168
  }
169
169
 
170
170
  .navds-modal__footer :nth-of-type(2) {
@@ -10,7 +10,7 @@
10
10
  }
11
11
 
12
12
  .navds-popover__content {
13
- padding: var(--ax-spacing-4);
13
+ padding: var(--ax-spacing-4) var(--ax-spacing-5);
14
14
  }
15
15
 
16
16
  .navds-popover--hidden {