@navikt/ds-css 4.4.2 → 4.6.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/form/form.css CHANGED
@@ -36,3 +36,9 @@
36
36
  .navds-form-field__subdescription {
37
37
  color: var(--ac-form-subdescription, var(--a-text-subtle));
38
38
  }
39
+
40
+ .navds-form-field__readonly-icon {
41
+ margin-right: var(--a-spacing-2);
42
+ vertical-align: middle;
43
+ margin-bottom: 3px;
44
+ }
@@ -22,6 +22,9 @@
22
22
  cursor: pointer;
23
23
  display: flex;
24
24
  gap: var(--a-spacing-2);
25
+
26
+ --__ac-radio-checkbox-readonly-bg: var(--a-surface-subtle);
27
+ --__ac-radio-checkbox-readonly-border: var(--a-border-subtle);
25
28
  }
26
29
 
27
30
  .navds-checkbox__label::before,
@@ -102,7 +105,7 @@
102
105
  background-color: var(--ac-radio-checkbox-bg, var(--a-surface-default));
103
106
  width: 0.75rem;
104
107
  height: 0.25rem;
105
- border-radius: 1px; /* Custom value OK */
108
+ border-radius: 1px;
106
109
  flex-shrink: 0;
107
110
  }
108
111
 
@@ -244,3 +247,53 @@
244
247
  .navds-radio--disabled > .navds-radio__label {
245
248
  cursor: not-allowed;
246
249
  }
250
+
251
+ /* Readonly */
252
+ .navds-checkbox--readonly > :where(.navds-checkbox__input, .navds-checkbox__label),
253
+ .navds-radio--readonly > :where(.navds-radio__input, .navds-radio__label) {
254
+ cursor: default;
255
+ }
256
+
257
+ .navds-checkbox--readonly > .navds-checkbox__input:hover + .navds-checkbox__label,
258
+ .navds-radio--readonly > .navds-radio__input:hover + .navds-radio__label {
259
+ color: var(--a-text-default);
260
+ }
261
+
262
+ .navds-checkbox--readonly
263
+ > .navds-checkbox__input:not(:disabled):not(:checked):not(:indeterminate)
264
+ + .navds-checkbox__label::before,
265
+ .navds-checkbox--readonly
266
+ > .navds-checkbox__input:hover:not(:checked):not(:indeterminate):not(:focus-visible)
267
+ + .navds-checkbox__label::before,
268
+ .navds-radio--readonly > .navds-radio__input:not(:disabled):not(:checked):not(:indeterminate) + .navds-radio__label::before,
269
+ .navds-radio--readonly
270
+ > .navds-radio__input:hover:not(:checked):not(:indeterminate):not(:focus-visible)
271
+ + .navds-radio__label::before {
272
+ background-color: var(--__ac-radio-checkbox-readonly-bg);
273
+ box-shadow: inset 0 0 0 2px var(--__ac-radio-checkbox-readonly-border);
274
+ }
275
+
276
+ .navds-checkbox--readonly > .navds-checkbox__input:focus-visible + .navds-checkbox__label::before,
277
+ .navds-radio--readonly > .navds-radio__input:focus-visible + .navds-radio__label::before {
278
+ --__ac-radio-checkbox-readonly-border: var(--a-border-subtle), var(--a-shadow-focus);
279
+ }
280
+
281
+ .navds-checkbox--readonly > .navds-checkbox__input:checked + .navds-checkbox__label::before {
282
+ background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMCI+ICAgIDxnPiAgICA8cGF0aCBmaWxsPSJyZ2JhKDAsIDAsIDAsIDAuNjUpIiBkPSJNNCwxMGMtMC40LDAtMC44LTAuMS0xLjEtMC40TDAuNCw3LjFDMC4xLDYuOCwwLDYuNCwwLDZzMC4yLTAuOCwwLjUtMS4xQzEsNC40LDIsNC40LDIuNSw0LjlMNCw2LjRsNi40LTYgICAgQzEwLjgsMC4xLDExLjEsMCwxMS41LDBjMC40LDAsMC44LDAuMiwxLDAuNWMwLjYsMC42LDAuNSwxLjYtMC4xLDIuMXYwTDUsOS42QzQuNyw5LjksNC40LDEwLDQsMTB6IE0xMS44LDEuOUwxMS44LDEuOSAgICBDMTEuOCwxLjksMTEuOCwxLjksMTEuOCwxLjl6IE0xMS4yLDEuMUMxMS4yLDEuMSwxMS4yLDEuMSwxMS4yLDEuMUwxMS4yLDEuMXoiLz4gICAgPC9nPjwvc3ZnPg==);
283
+ box-shadow: inset 0 0 0 2px var(--__ac-radio-checkbox-readonly-border);
284
+ background-color: var(--__ac-radio-checkbox-readonly-bg);
285
+ }
286
+
287
+ .navds-radio--readonly > .navds-radio__input:checked + .navds-radio__label::before {
288
+ box-shadow: inset 0 0 0 2px var(--__ac-radio-checkbox-readonly-border), inset 0 0 0 4px var(--__ac-radio-checkbox-readonly-bg);
289
+ background-color: var(--a-icon-subtle);
290
+ }
291
+
292
+ .navds-checkbox--readonly > .navds-checkbox__input:indeterminate + .navds-checkbox__label::before {
293
+ box-shadow: inset 0 0 0 2px var(--__ac-radio-checkbox-readonly-border);
294
+ background-color: var(--__ac-radio-checkbox-readonly-bg);
295
+ }
296
+
297
+ .navds-checkbox--readonly > .navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
298
+ background-color: var(--a-icon-subtle);
299
+ }
package/form/select.css CHANGED
@@ -79,3 +79,9 @@
79
79
  .navds-select__input:disabled > option {
80
80
  color: var(--a-text-default);
81
81
  }
82
+
83
+ .navds-select--readonly .navds-select__input {
84
+ background-color: var(--a-surface-subtle);
85
+ border-color: var(--a-border-subtle);
86
+ cursor: default;
87
+ }
package/form/switch.css CHANGED
@@ -178,3 +178,40 @@
178
178
  .navds-switch__input:disabled ~ .navds-switch__label-wrapper {
179
179
  cursor: not-allowed;
180
180
  }
181
+
182
+ /* Readonly */
183
+ .navds-switch--readonly > .navds-switch__track,
184
+ .navds-switch--readonly > .navds-switch__input:hover ~ .navds-switch__track,
185
+ .navds-switch--readonly > .navds-switch__input:checked ~ .navds-switch__track,
186
+ .navds-switch--readonly > .navds-switch__input:checked:hover ~ .navds-switch__track {
187
+ background-color: var(--a-surface-neutral-moderate);
188
+ }
189
+
190
+ .navds-switch--readonly > .navds-switch__label-wrapper,
191
+ .navds-switch--readonly > .navds-switch__input {
192
+ cursor: default;
193
+ }
194
+
195
+ .navds-switch--readonly > .navds-switch__input:hover ~ .navds-switch__label-wrapper,
196
+ .navds-switch--readonly .navds-switch__label-wrapper:hover {
197
+ color: var(--a-text-default);
198
+ }
199
+
200
+ .navds-switch--readonly .navds-switch__thumb {
201
+ background-color: var(--a-surface-subtle);
202
+ box-shadow: 0 0 0 2px var(--a-border-default);
203
+ }
204
+
205
+ .navds-switch--readonly > .navds-switch__input:checked ~ .navds-switch__track > .navds-switch__thumb {
206
+ color: var(--a-icon-subtle);
207
+ }
208
+
209
+ @media (hover: hover) and (pointer: fine) {
210
+ .navds-switch--readonly > .navds-switch__input:hover ~ .navds-switch__track > .navds-switch__thumb {
211
+ transform: translateX(0);
212
+ }
213
+
214
+ .navds-switch--readonly > .navds-switch__input:checked:hover ~ .navds-switch__track > .navds-switch__thumb {
215
+ transform: translateX(20px);
216
+ }
217
+ }
@@ -73,11 +73,10 @@
73
73
  cursor: not-allowed;
74
74
  }
75
75
 
76
- .navds-text-field__input[readonly] {
77
- background-color: var(--ac-textfield-bg, var(--a-surface-default));
78
- border-color: var(--ac-textfield-border, var(--a-border-default));
79
- box-shadow: none;
80
- cursor: not-allowed;
76
+ .navds-text-field--readonly .navds-text-field__input {
77
+ background-color: var(--a-surface-subtle);
78
+ border-color: var(--a-border-subtle);
79
+ cursor: default;
81
80
  }
82
81
 
83
82
  /**
package/form/textarea.css CHANGED
@@ -99,9 +99,8 @@
99
99
  cursor: not-allowed;
100
100
  }
101
101
 
102
- .navds-textarea__input[readonly] {
103
- background-color: var(--ac-textarea-bg, var(--a-surface-default));
104
- border-color: var(--ac-textarea-border, var(--a-border-default));
105
- box-shadow: none;
106
- cursor: not-allowed;
102
+ .navds-textarea--readonly .navds-textarea__input {
103
+ background-color: var(--a-surface-subtle);
104
+ border-color: var(--a-border-subtle);
105
+ cursor: default;
107
106
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@navikt/ds-css",
3
- "version": "4.4.2",
3
+ "version": "4.6.0",
4
4
  "description": "CSS for NAV Designsystem",
5
5
  "author": "Aksel | NAV designsystem team",
6
6
  "keywords": [
@@ -27,7 +27,7 @@
27
27
  "css:get-version": "node config/get-version.js"
28
28
  },
29
29
  "devDependencies": {
30
- "@navikt/ds-tokens": "^4.4.2",
30
+ "@navikt/ds-tokens": "^4.6.0",
31
31
  "cssnano": "6.0.0",
32
32
  "fast-glob": "3.2.11",
33
33
  "lodash": "4.17.21",