@navikt/ds-css 8.8.0 → 8.9.1
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/CHANGELOG.md +20 -0
- package/dist/component/button.css +32 -0
- package/dist/component/button.min.css +1 -1
- package/dist/component/date.css +52 -25
- package/dist/component/date.min.css +1 -1
- package/dist/component/form.css +44 -5
- package/dist/component/form.min.css +1 -1
- package/dist/component/internalheader.css +18 -0
- package/dist/component/internalheader.min.css +1 -1
- package/dist/components.css +146 -30
- package/dist/components.min.css +1 -1
- package/dist/global/tokens.css +1 -1
- package/dist/global/tokens.min.css +1 -1
- package/dist/index.css +147 -31
- package/dist/index.min.css +1 -1
- package/package.json +3 -3
- package/src/button.css +10 -4
- package/src/chips.css +0 -2
- package/src/data-table.css +45 -23
- package/src/data-token-filter.css +78 -9
- package/src/data-toolbar.css +21 -10
- package/src/date.css +49 -25
- package/src/form/fieldset.css +2 -1
- package/src/form/radio-checkbox.css +43 -7
- package/src/internalheader.css +18 -0
- package/src/list.css +0 -1
- package/src/listbox.css +43 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-css",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.9.1",
|
|
4
4
|
"description": "CSS for Nav Designsystem",
|
|
5
5
|
"author": "Aksel | Nav designsystem team",
|
|
6
6
|
"keywords": [
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"css:get-version": "node config/get-version.js"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@navikt/ds-tokens": "^8.
|
|
33
|
+
"@navikt/ds-tokens": "^8.9.1",
|
|
34
34
|
"browserslist": "^4.25.0",
|
|
35
|
-
"esbuild": "^0.27.
|
|
35
|
+
"esbuild": "^0.27.4",
|
|
36
36
|
"fast-glob": "3.3.3",
|
|
37
37
|
"lightningcss": "^1.30.1",
|
|
38
38
|
"normalize.css": "^8.0.1",
|
package/src/button.css
CHANGED
|
@@ -44,7 +44,9 @@
|
|
|
44
44
|
background-color: transparent;
|
|
45
45
|
color: var(--ax-text-subtle);
|
|
46
46
|
|
|
47
|
-
&[data-color="neutral"]
|
|
47
|
+
&[data-color="neutral"],
|
|
48
|
+
[data-color="neutral"] > &:not([data-color]),
|
|
49
|
+
[data-color="neutral"] :not([data-color]) &:not([data-color]) {
|
|
48
50
|
color: var(--ax-text-default);
|
|
49
51
|
}
|
|
50
52
|
|
|
@@ -62,7 +64,8 @@
|
|
|
62
64
|
color: var(--ax-text-subtle);
|
|
63
65
|
background-color: transparent;
|
|
64
66
|
|
|
65
|
-
&[data-color="neutral"]
|
|
67
|
+
&[data-color="neutral"],
|
|
68
|
+
[data-color="neutral"] > &:not([data-color]) {
|
|
66
69
|
color: var(--ax-text-default);
|
|
67
70
|
}
|
|
68
71
|
}
|
|
@@ -72,7 +75,9 @@
|
|
|
72
75
|
background-color: transparent;
|
|
73
76
|
color: var(--ax-text-subtle);
|
|
74
77
|
|
|
75
|
-
&[data-color="neutral"]
|
|
78
|
+
&[data-color="neutral"],
|
|
79
|
+
[data-color="neutral"] > &:not([data-color], [data-pressed="true"]),
|
|
80
|
+
[data-color="neutral"] :not([data-color]) &:not([data-color], [data-pressed="true"]) {
|
|
76
81
|
color: var(--ax-text-default);
|
|
77
82
|
}
|
|
78
83
|
|
|
@@ -93,7 +98,8 @@
|
|
|
93
98
|
color: var(--ax-text-subtle);
|
|
94
99
|
background-color: transparent;
|
|
95
100
|
|
|
96
|
-
&[data-color="neutral"]
|
|
101
|
+
&[data-color="neutral"],
|
|
102
|
+
[data-color="neutral"] > &:not([data-color]) {
|
|
97
103
|
color: var(--ax-text-default);
|
|
98
104
|
}
|
|
99
105
|
}
|
package/src/chips.css
CHANGED
package/src/data-table.css
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
&[data-truncate-content="true"] {
|
|
53
|
-
.aksel-data-table__td > div {
|
|
53
|
+
.aksel-data-table__td:not(.aksel-data-table--UNSAFE_isSelection) > div {
|
|
54
54
|
text-overflow: ellipsis;
|
|
55
55
|
white-space: nowrap;
|
|
56
56
|
overflow: hidden;
|
|
@@ -306,7 +306,7 @@
|
|
|
306
306
|
vertical-align: middle;
|
|
307
307
|
color: var(--ax-text-neutral-subtle);
|
|
308
308
|
|
|
309
|
-
> div {
|
|
309
|
+
&:not(.aksel-data-table--UNSAFE_isSelection) > div {
|
|
310
310
|
padding-block: var(--__axc-data-table-density);
|
|
311
311
|
padding-inline: 1rem;
|
|
312
312
|
}
|
|
@@ -323,6 +323,11 @@
|
|
|
323
323
|
outline: 2px solid var(--ax-border-focus);
|
|
324
324
|
outline-offset: -4px;
|
|
325
325
|
}
|
|
326
|
+
|
|
327
|
+
&.aksel-data-table--UNSAFE_isSelection > div {
|
|
328
|
+
display: grid;
|
|
329
|
+
place-content: center;
|
|
330
|
+
}
|
|
326
331
|
}
|
|
327
332
|
|
|
328
333
|
.aksel-data-table__tfoot {
|
|
@@ -335,15 +340,35 @@
|
|
|
335
340
|
padding: 0;
|
|
336
341
|
}
|
|
337
342
|
|
|
338
|
-
.aksel-data-
|
|
339
|
-
|
|
340
|
-
|
|
343
|
+
.aksel-data-drag-and-drop__drag-handler__button {
|
|
344
|
+
height: 1.5rem;
|
|
345
|
+
position: relative;
|
|
346
|
+
background: transparent;
|
|
347
|
+
border: none;
|
|
348
|
+
padding: 0;
|
|
349
|
+
|
|
350
|
+
&:hover {
|
|
351
|
+
cursor: grab;
|
|
341
352
|
}
|
|
342
353
|
|
|
343
|
-
|
|
354
|
+
&:focus-visible,
|
|
355
|
+
&[data-drag-handler-active="true"] {
|
|
356
|
+
outline: 2px solid var(--ax-border-focus);
|
|
357
|
+
outline-offset: -1px;
|
|
358
|
+
border-radius: var(--ax-radius-8);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.aksel-data-table__drag-and-drop-item {
|
|
363
|
+
background-color: var(--ax-bg-default);
|
|
364
|
+
|
|
365
|
+
&[data-overlay="true"] {
|
|
366
|
+
width: 100%;
|
|
344
367
|
opacity: 0.8;
|
|
368
|
+
box-shadow: var(--ax-shadow-dialog);
|
|
345
369
|
}
|
|
346
370
|
|
|
371
|
+
/* TODO - might be removable */
|
|
347
372
|
&[data-keyboard-dragging="true"] {
|
|
348
373
|
.aksel-data-drag-and-drop__drag-handler__button {
|
|
349
374
|
outline: 2px solid var(--ax-border-focus);
|
|
@@ -352,32 +377,19 @@
|
|
|
352
377
|
}
|
|
353
378
|
}
|
|
354
379
|
|
|
355
|
-
&[data-drop-target="true"] {
|
|
380
|
+
&[data-drop-target="true"]:not([data-overlay="true"]) {
|
|
356
381
|
background: var(--ax-bg-neutral-moderate);
|
|
357
382
|
}
|
|
358
383
|
}
|
|
359
384
|
|
|
360
|
-
.aksel-data-drag-and-drop__drag-handler__button {
|
|
361
|
-
cursor: grab;
|
|
362
|
-
height: 1.5rem;
|
|
363
|
-
position: relative;
|
|
364
|
-
background: transparent;
|
|
365
|
-
border: none;
|
|
366
|
-
padding: 0;
|
|
367
|
-
|
|
368
|
-
&:focus-visible {
|
|
369
|
-
outline: 2px solid var(--ax-border-focus);
|
|
370
|
-
outline-offset: -1px;
|
|
371
|
-
border-radius: var(--ax-radius-8);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
|
|
375
385
|
.aksel-data-drag-and-drop__drag-handler__arrow {
|
|
376
386
|
height: 1.2rem;
|
|
377
387
|
}
|
|
378
388
|
|
|
379
|
-
.aksel-data-drag-and-drop__drag-handler__alt
|
|
389
|
+
.aksel-data-drag-and-drop__drag-handler__alt,
|
|
390
|
+
.aksel-data-drag-and-drop__drag-handler {
|
|
380
391
|
position: relative;
|
|
392
|
+
height: 1.5rem;
|
|
381
393
|
|
|
382
394
|
.aksel-data-drag-and-drop__drag-handler__arrow {
|
|
383
395
|
position: absolute;
|
|
@@ -455,3 +467,13 @@
|
|
|
455
467
|
.aksel-data-table tr .aksel-checkbox:focus-within::after {
|
|
456
468
|
inset: 0;
|
|
457
469
|
}
|
|
470
|
+
|
|
471
|
+
/* TODO -
|
|
472
|
+
* This is needed to prevent the cursor from changing back to default when dragging over interactive elements in the row.
|
|
473
|
+
* Not sure if this is the best approach or breaks styling elsewhere */
|
|
474
|
+
html[data-dragging="true"],
|
|
475
|
+
html[data-dragging="true"] *,
|
|
476
|
+
html[data-dragging="true"] *::before,
|
|
477
|
+
html[data-dragging="true"] *::after {
|
|
478
|
+
cursor: grabbing !important;
|
|
479
|
+
}
|
|
@@ -1,36 +1,105 @@
|
|
|
1
|
+
/* .aksel-property-filter {
|
|
2
|
+
flex: 1 1 fit-content;
|
|
3
|
+
max-inline-size: 100%;
|
|
4
|
+
} */
|
|
5
|
+
|
|
1
6
|
.aksel-property-filter__popup {
|
|
2
7
|
overflow: hidden;
|
|
3
|
-
border-radius: var(--ax-radius-
|
|
8
|
+
border-radius: var(--ax-radius-8);
|
|
4
9
|
border: 1px solid var(--ax-border-neutral-subtleA);
|
|
5
10
|
box-shadow: var(--ax-shadow-dialog);
|
|
6
11
|
/* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */
|
|
7
12
|
transform-origin: var(--__axc-floating-transform-origin);
|
|
8
|
-
transition:
|
|
9
|
-
transform 150ms ease allow-discrete,
|
|
10
|
-
opacity 150ms ease allow-discrete;
|
|
13
|
+
transition: opacity 150ms ease allow-discrete;
|
|
11
14
|
|
|
12
15
|
@starting-style {
|
|
13
|
-
opacity: 0.
|
|
14
|
-
transform: scale3d(0.94, 0.94, 0.94);
|
|
16
|
+
opacity: 0.6;
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
min-width: 260px;
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
.aksel-property-filter__popup-inner {
|
|
21
|
-
--__axc-token-filter-content-p: var(--ax-space-8);
|
|
22
23
|
--__axc-token-filter-item-pr: var(--ax-space-8);
|
|
23
24
|
--__axc-token-filter-item-pl: var(--ax-space-8);
|
|
24
25
|
--__axc-token-filter-item-height: 2rem;
|
|
25
26
|
|
|
26
|
-
border-radius: var(--ax-radius-
|
|
27
|
+
border-radius: var(--ax-radius-8);
|
|
27
28
|
background-color: var(--ax-bg-raised);
|
|
28
29
|
min-width: 128px;
|
|
29
30
|
max-width: min(95vw, 640px);
|
|
30
31
|
animation-duration: 160ms;
|
|
31
32
|
animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
|
|
32
|
-
padding: var(--__axc-token-filter-content-p);
|
|
33
33
|
overflow: auto;
|
|
34
34
|
/* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */
|
|
35
35
|
max-height: calc(var(--__axc-floating-available-height) - 4px);
|
|
36
36
|
}
|
|
37
|
+
|
|
38
|
+
.aksel-property-filter__input {
|
|
39
|
+
max-inline-size: 640px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.aksel-property-filter__chips {
|
|
43
|
+
display: flex;
|
|
44
|
+
flex-wrap: wrap;
|
|
45
|
+
gap: var(--ax-space-8);
|
|
46
|
+
margin: 0;
|
|
47
|
+
margin-block-start: var(--ax-space-12);
|
|
48
|
+
padding: 0;
|
|
49
|
+
font-size: var(--ax-font-size-medium);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.aksel-property-filter__chip {
|
|
53
|
+
display: flex;
|
|
54
|
+
gap: var(--ax-space-1);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.aksel-property-filter__chip-button {
|
|
58
|
+
display: flex;
|
|
59
|
+
align-items: center;
|
|
60
|
+
gap: var(--ax-space-4);
|
|
61
|
+
padding: var(--ax-space-4) var(--ax-space-8);
|
|
62
|
+
background-color: var(--ax-bg-strong);
|
|
63
|
+
color: var(--ax-text-contrast);
|
|
64
|
+
border: none;
|
|
65
|
+
cursor: pointer;
|
|
66
|
+
|
|
67
|
+
&:hover {
|
|
68
|
+
background-color: var(--ax-bg-strong-hover);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&:active {
|
|
72
|
+
background-color: var(--ax-bg-strong-pressed);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&:focus-visible {
|
|
76
|
+
outline: 3px solid var(--ax-border-focus);
|
|
77
|
+
outline-offset: 2px;
|
|
78
|
+
z-index: 1;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&:first-of-type {
|
|
82
|
+
border-start-start-radius: var(--ax-radius-8);
|
|
83
|
+
border-end-start-radius: var(--ax-radius-8);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
&:last-child {
|
|
87
|
+
border-start-end-radius: var(--ax-radius-8);
|
|
88
|
+
border-end-end-radius: var(--ax-radius-8);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&[data-type="operation"] {
|
|
92
|
+
/* background-color: var(--ax-bg-default);
|
|
93
|
+
box-shadow: inset 0 0 0 1px var(--ax-bg-strong);
|
|
94
|
+
color: var(--ax-text-default); */
|
|
95
|
+
color: var(--ax-text-neutral);
|
|
96
|
+
background-color: var(--ax-bg-neutral-moderate-pressed);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* &[data-type="value"] {
|
|
100
|
+
} */
|
|
101
|
+
|
|
102
|
+
&[data-type="remove"] {
|
|
103
|
+
padding-inline: var(--ax-space-4);
|
|
104
|
+
}
|
|
105
|
+
}
|
package/src/data-toolbar.css
CHANGED
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
.aksel-data-toolbar {
|
|
2
|
-
padding: var(--ax-space-12);
|
|
3
2
|
display: flex;
|
|
4
|
-
|
|
3
|
+
flex-wrap: wrap;
|
|
4
|
+
align-items: flex-end;
|
|
5
5
|
gap: var(--ax-space-8);
|
|
6
|
-
border: 1px solid var(--ax-border-neutral);
|
|
7
|
-
border-radius: var(--ax-radius-12);
|
|
8
|
-
background-color: var(--ax-bg-raised);
|
|
9
6
|
}
|
|
10
7
|
|
|
11
|
-
.aksel-data-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
.aksel-data-toolbar__actions {
|
|
9
|
+
margin-inline-start: auto;
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
> :not(:last-child) {
|
|
14
|
+
border-right: 1px solid var(--ax-border-neutral-subtle);
|
|
15
|
+
margin-inline-end: var(--ax-space-4);
|
|
16
|
+
padding-inline-end: var(--ax-space-4);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
+
|
|
20
|
+
.aksel-data-toolbar__input {
|
|
21
|
+
flex: 1 1 fit-content;
|
|
22
|
+
max-inline-size: 100%;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.aksel-data-toolbar__pagination {
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
gap: var(--ax-space-8);
|
|
29
|
+
}
|
package/src/date.css
CHANGED
|
@@ -203,35 +203,41 @@
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
.aksel-date__field-input {
|
|
206
|
-
|
|
207
|
-
|
|
206
|
+
border-top-right-radius: 0;
|
|
207
|
+
border-bottom-right-radius: 0;
|
|
208
|
+
border-right: none;
|
|
209
|
+
|
|
210
|
+
&:focus-visible {
|
|
211
|
+
outline: none;
|
|
208
212
|
}
|
|
209
213
|
|
|
210
|
-
.aksel-
|
|
211
|
-
|
|
214
|
+
.aksel-date__field--error &:not(:disabled) {
|
|
215
|
+
box-shadow:
|
|
216
|
+
inset -2px 0 0 0 var(--ax-border-danger-strong),
|
|
217
|
+
inset 0 0 0 1px var(--ax-border-danger-strong);
|
|
212
218
|
}
|
|
213
219
|
}
|
|
214
220
|
|
|
215
221
|
.aksel-date__field-button {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
transform: translateY(-50%);
|
|
220
|
-
color: var(--ax-text-neutral);
|
|
221
|
-
display: inline-flex;
|
|
222
|
-
cursor: pointer;
|
|
223
|
-
margin: 0;
|
|
224
|
-
text-decoration: none;
|
|
225
|
-
border: none;
|
|
226
|
-
background: none;
|
|
227
|
-
border-radius: calc(var(--ax-radius-8) - 1px);
|
|
228
|
-
padding: var(--ax-space-12);
|
|
229
|
-
align-items: center;
|
|
230
|
-
justify-content: center;
|
|
231
|
-
font-size: 1.5rem;
|
|
232
|
-
height: calc(100% - 0.125rem);
|
|
222
|
+
--__axc-button-border-width: 1px;
|
|
223
|
+
--__axc-button-border-color: var(--ax-border-neutral);
|
|
224
|
+
|
|
233
225
|
border-start-start-radius: 0;
|
|
234
226
|
border-end-start-radius: 0;
|
|
227
|
+
position: relative;
|
|
228
|
+
|
|
229
|
+
&:focus-visible {
|
|
230
|
+
outline: 3px solid var(--ax-border-focus);
|
|
231
|
+
outline-offset: 3px;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.aksel-date__field:not(.aksel-date__field--readonly):has(.aksel-date__field-input:not(:disabled)) &:hover,
|
|
235
|
+
.aksel-date__field:not(.aksel-date__field--readonly, .aksel-date__field--error):has(
|
|
236
|
+
.aksel-date__field-input:is(:focus-visible, :hover):not(:disabled)
|
|
237
|
+
)
|
|
238
|
+
& {
|
|
239
|
+
--__axc-button-border-color: var(--ax-border-strong);
|
|
240
|
+
}
|
|
235
241
|
|
|
236
242
|
.aksel-form-field--small & {
|
|
237
243
|
padding: var(--ax-space-4);
|
|
@@ -244,19 +250,37 @@
|
|
|
244
250
|
|
|
245
251
|
/* Readonly */
|
|
246
252
|
.aksel-date__field--readonly & {
|
|
253
|
+
--__axc-button-border-color: var(--ax-border-neutral-subtleA);
|
|
254
|
+
|
|
247
255
|
cursor: default;
|
|
256
|
+
opacity: 1;
|
|
257
|
+
background-color: var(--ax-bg-neutral-moderate);
|
|
258
|
+
color: var(--ax-text-neutral-subtle);
|
|
248
259
|
}
|
|
249
260
|
|
|
250
|
-
|
|
251
|
-
|
|
261
|
+
/* Syncs button-bg with input while respecting hover/active states */
|
|
262
|
+
&::before {
|
|
263
|
+
content: "";
|
|
264
|
+
position: absolute;
|
|
265
|
+
inset: 0;
|
|
266
|
+
border-radius: inherit;
|
|
267
|
+
background-color: var(--ax-bg-input);
|
|
268
|
+
z-index: -1;
|
|
252
269
|
}
|
|
253
270
|
}
|
|
254
271
|
|
|
255
272
|
.aksel-date__field-wrapper {
|
|
256
273
|
display: inline-flex;
|
|
257
|
-
align-items: center;
|
|
258
|
-
position: relative;
|
|
259
274
|
width: fit-content;
|
|
275
|
+
border-radius: var(--ax-radius-8);
|
|
276
|
+
|
|
277
|
+
/* Initializes stacking context to allow z-index: -1 on button to work. */
|
|
278
|
+
z-index: 0;
|
|
279
|
+
|
|
280
|
+
&:has(.aksel-date__field-input:focus-visible) {
|
|
281
|
+
outline: 3px solid var(--ax-border-focus);
|
|
282
|
+
outline-offset: 3px;
|
|
283
|
+
}
|
|
260
284
|
}
|
|
261
285
|
|
|
262
286
|
.aksel-date__week-row {
|
package/src/form/fieldset.css
CHANGED
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
/* Applied when hideLegend is applied to fieldset */
|
|
21
|
-
.aksel-fieldset > .aksel-sr-only + :not(:first-child, :empty)
|
|
21
|
+
.aksel-fieldset > .aksel-sr-only + :not(:first-child, :empty),
|
|
22
|
+
.aksel-fieldset > .aksel-typo--visually-hidden + :not(:first-child, :empty) {
|
|
22
23
|
margin-top: 0;
|
|
23
24
|
}
|
|
24
25
|
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
.aksel-checkbox,
|
|
2
2
|
.aksel-radio {
|
|
3
|
-
--__axc-radio-checkbox-marker-size: 1.5rem;
|
|
4
|
-
--__axc-radio-checkbox-marker-target: 2.75rem; /* We want the click area to be a bit larger than the visible radio/checkbox */
|
|
5
|
-
|
|
6
3
|
position: relative;
|
|
7
4
|
width: fit-content;
|
|
8
5
|
display: grid;
|
|
@@ -25,9 +22,6 @@
|
|
|
25
22
|
/* Small */
|
|
26
23
|
.aksel-checkbox--small,
|
|
27
24
|
.aksel-radio--small {
|
|
28
|
-
--__axc-radio-checkbox-marker-size: 1.25rem;
|
|
29
|
-
--__axc-radio-checkbox-marker-target: 2rem;
|
|
30
|
-
|
|
31
25
|
padding: var(--ax-space-6) 0;
|
|
32
26
|
|
|
33
27
|
/* Focus outline */
|
|
@@ -58,8 +52,29 @@
|
|
|
58
52
|
|
|
59
53
|
/* Checkbox has a wrapper around input and checkmark svg (consider creating the checkmark with css in the future) */
|
|
60
54
|
.aksel-checkbox__input-wrapper {
|
|
55
|
+
--__axc-radio-checkbox-marker-size: 1.5rem;
|
|
56
|
+
--__axc-radio-checkbox-marker-target: 2.75rem; /* We want the click area to be a bit larger than the visible radio/checkbox */
|
|
57
|
+
|
|
61
58
|
position: relative;
|
|
62
59
|
height: var(--__axc-radio-checkbox-marker-size);
|
|
60
|
+
|
|
61
|
+
.aksel-checkbox--small & {
|
|
62
|
+
--__axc-radio-checkbox-marker-size: 1.25rem;
|
|
63
|
+
--__axc-radio-checkbox-marker-target: 2rem;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&[data-standalone="true"] {
|
|
67
|
+
margin: calc(calc(var(--__axc-radio-checkbox-marker-target) - var(--__axc-radio-checkbox-marker-size)) / 2);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&[data-standalone="true"] > .aksel-checkbox__input:focus-visible {
|
|
71
|
+
outline: 3px solid var(--ax-border-focus);
|
|
72
|
+
outline-offset: 3px;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&[data-compact="true"] {
|
|
76
|
+
--__axc-radio-checkbox-marker-target: 2rem;
|
|
77
|
+
}
|
|
63
78
|
}
|
|
64
79
|
|
|
65
80
|
/* The input acts as a container for the marker (since the click area should be larger than the visible marker) */
|
|
@@ -93,9 +108,30 @@
|
|
|
93
108
|
);
|
|
94
109
|
}
|
|
95
110
|
|
|
96
|
-
/* Radio marker
|
|
111
|
+
/* Radio marker */
|
|
97
112
|
.aksel-radio__input {
|
|
113
|
+
--__axc-radio-checkbox-marker-size: 1.5rem;
|
|
114
|
+
--__axc-radio-checkbox-marker-target: 2.75rem; /* We want the click area to be a bit larger than the visible radio/checkbox */
|
|
115
|
+
|
|
116
|
+
.aksel-radio--small & {
|
|
117
|
+
--__axc-radio-checkbox-marker-size: 1.25rem;
|
|
118
|
+
--__axc-radio-checkbox-marker-target: 2rem;
|
|
119
|
+
}
|
|
120
|
+
|
|
98
121
|
border-radius: var(--ax-radius-full);
|
|
122
|
+
|
|
123
|
+
&[data-standalone="true"] {
|
|
124
|
+
margin: calc(calc(var(--__axc-radio-checkbox-marker-target) - var(--__axc-radio-checkbox-marker-size)) / 2);
|
|
125
|
+
|
|
126
|
+
&:focus-visible {
|
|
127
|
+
outline: 3px solid var(--ax-border-focus);
|
|
128
|
+
outline-offset: 3px;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
&[data-compact="true"] {
|
|
133
|
+
--__axc-radio-checkbox-marker-target: 2rem;
|
|
134
|
+
}
|
|
99
135
|
}
|
|
100
136
|
|
|
101
137
|
/* Checkbox indeterminate: Center the icon */
|
package/src/internalheader.css
CHANGED
|
@@ -67,10 +67,28 @@
|
|
|
67
67
|
gap: var(--ax-space-8);
|
|
68
68
|
border-left: 1px solid var(--ax-border-neutral-subtleA);
|
|
69
69
|
color: var(--ax-text-neutral);
|
|
70
|
+
text-decoration: none;
|
|
71
|
+
position: relative;
|
|
70
72
|
|
|
71
73
|
&:hover {
|
|
72
74
|
background: var(--ax-bg-neutral-moderate-hoverA);
|
|
73
75
|
}
|
|
76
|
+
|
|
77
|
+
&[data-active="true"] {
|
|
78
|
+
&::after {
|
|
79
|
+
content: "";
|
|
80
|
+
position: absolute;
|
|
81
|
+
width: 100%;
|
|
82
|
+
height: 6px;
|
|
83
|
+
bottom: -1px;
|
|
84
|
+
left: 0;
|
|
85
|
+
background-color: var(--ax-border-strong);
|
|
86
|
+
|
|
87
|
+
@media (forced-colors: active) {
|
|
88
|
+
background-color: Highlight;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
74
92
|
}
|
|
75
93
|
|
|
76
94
|
@media (forced-colors: active) {
|
package/src/list.css
CHANGED
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
|
|
40
40
|
/* SAFARI HACK START */
|
|
41
41
|
|
|
42
|
-
/* biome-ignore lint/a11y/useGenericFontNames: Hack for targeting Safari */
|
|
43
42
|
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
|
|
44
43
|
.aksel-list ol {
|
|
45
44
|
padding-left: 2.1rem;
|
package/src/listbox.css
CHANGED
|
@@ -1,14 +1,52 @@
|
|
|
1
|
-
.aksel-listbox__options {
|
|
2
|
-
padding: var(--ax-space-4);
|
|
3
|
-
}
|
|
1
|
+
/* .aksel-listbox__options {} */
|
|
4
2
|
|
|
5
3
|
.aksel-listbox__option {
|
|
4
|
+
position: relative;
|
|
6
5
|
cursor: default;
|
|
7
|
-
|
|
8
|
-
padding: var(--ax-space-4) var(--ax-space-2);
|
|
6
|
+
padding: var(--ax-space-6) var(--ax-space-4);
|
|
9
7
|
scroll-margin-block: 4px;
|
|
8
|
+
border-radius: var(--ax-radius-8);
|
|
9
|
+
margin-top: 1px;
|
|
10
10
|
|
|
11
11
|
&[data-virtual-focus="true"] {
|
|
12
12
|
outline: 2px solid var(--ax-border-focus);
|
|
13
|
+
outline-offset: -2px;
|
|
14
|
+
background-color: var(--ax-bg-neutral-soft);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.aksel-listbox__group & {
|
|
18
|
+
padding-inline: var(--ax-space-24);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
::before {
|
|
22
|
+
content: "";
|
|
23
|
+
position: absolute;
|
|
24
|
+
top: -1px;
|
|
25
|
+
left: 0;
|
|
26
|
+
width: 100%;
|
|
27
|
+
height: 1px;
|
|
28
|
+
background-color: var(--ax-border-neutral-subtle);
|
|
13
29
|
}
|
|
14
30
|
}
|
|
31
|
+
|
|
32
|
+
.aksel-listbox__group-label {
|
|
33
|
+
padding: var(--ax-space-6) var(--ax-space-8);
|
|
34
|
+
position: relative;
|
|
35
|
+
|
|
36
|
+
&:not(:first-of-type)::before {
|
|
37
|
+
content: "";
|
|
38
|
+
position: absolute;
|
|
39
|
+
top: 0;
|
|
40
|
+
left: 0;
|
|
41
|
+
width: 100%;
|
|
42
|
+
height: 1px;
|
|
43
|
+
background-color: var(--ax-border-neutral-subtle);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.aksel-listbox__highlight {
|
|
48
|
+
/* background-color: var(--ax-bg-sunken); */
|
|
49
|
+
background: transparent;
|
|
50
|
+
color: var(--ax-text-accent-subtle);
|
|
51
|
+
font-weight: 700;
|
|
52
|
+
}
|