@devslab/dds-css 0.29.1 → 0.29.2
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/dist/components/choice.css +2 -1
- package/dist/components/date-picker.css +3 -2
- package/dist/components/input.css +2 -1
- package/dist/components/number-input.css +4 -0
- package/dist/components/select.css +5 -1
- package/dist/components/textarea.css +5 -1
- package/dist/components/textfield.css +5 -1
- package/dist/dds.css +26 -7
- package/package.json +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
.dds-choice {display:flex;flex-direction:column;gap:var(--dds-space-4);position:relative;min-inline-size:0;font-family:var(--dds-font-family-sans);font-size:var(--dds-typo-body-2-font-size);color:var(--dds-color-text-primary);}
|
|
2
2
|
.dds-choice-label {font-size:var(--dds-typo-label-font-size);line-height:var(--dds-typo-label-line-height);font-weight:var(--dds-typo-label-font-weight);}
|
|
3
3
|
.dds-choice-control {position:relative;display:flex;align-items:center;inline-size:100%;min-block-size:var(--dds-space-40);border:1px solid var(--dds-color-border-strong);border-radius:var(--dds-radius-md);background:var(--dds-color-bg-default);}
|
|
4
|
-
.dds-choice-control:focus-within {outline:var(--dds-space-2) solid var(--dds-color-border-focus);}
|
|
4
|
+
.dds-choice-control:focus-within {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:calc(var(--dds-space-2) * -1);}
|
|
5
|
+
.dds-choice-control[data-invalid]:focus-within {outline-offset:calc(var(--dds-space-2) * -1.5);}
|
|
5
6
|
/* The control owns the 40px height (border included, like Input and DatePicker); parts stretch inside it. */
|
|
6
7
|
.dds-choice-input,.dds-choice-trigger {box-sizing:border-box;align-self:stretch;min-inline-size:0;min-block-size:0;border:0;background:transparent;color:inherit;font:inherit;padding-inline:var(--dds-space-12);}
|
|
7
8
|
.dds-choice-input {flex:1;inline-size:100%;outline:none;}
|
|
@@ -13,14 +13,15 @@
|
|
|
13
13
|
.dds-date-picker-table [data-outside-range] {color:var(--dds-color-text-secondary);}
|
|
14
14
|
.dds-date-picker-table [data-part="table-cell-trigger"][data-selected] {background:var(--dds-color-bg-brand);color:var(--dds-color-text-on-brand);}
|
|
15
15
|
.dds-date-picker-table [data-today]:not([data-selected]) {text-decoration:underline;text-underline-offset:var(--dds-space-4);}
|
|
16
|
-
.dds-date-picker-content :focus-visible {outline:var(--dds-space-2) solid var(--dds-color-
|
|
16
|
+
.dds-date-picker-content :focus-visible {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:var(--dds-space-2);}
|
|
17
17
|
.dds-date-picker-footer {display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--dds-space-12);margin-top:var(--dds-space-12);padding-top:var(--dds-space-12);border-top:calc(var(--dds-space-2) / 2) solid var(--dds-color-border-default);}
|
|
18
18
|
|
|
19
19
|
/* Text box shared by DatePicker, MonthPicker and the DateRangePicker pair: same var(--dds-space-40) DDS input look. */
|
|
20
20
|
.dds-date-picker-control > input,.dds-date-range-box {box-sizing:border-box;flex:1;min-inline-size:0;block-size:var(--dds-space-40);border:calc(var(--dds-space-2) / 2) solid var(--dds-color-border-strong);border-radius:var(--dds-radius-md);background:var(--dds-color-bg-default);color:var(--dds-color-text-primary);font-family:inherit;font-size:var(--dds-typo-body-2-font-size);font-variant-numeric:tabular-nums;}
|
|
21
21
|
.dds-date-picker-control > input {padding-inline:var(--dds-space-12);}
|
|
22
|
-
.dds-date-picker-control > input:focus-visible,.dds-date-range-box:focus-within {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:
|
|
22
|
+
.dds-date-picker-control > input:focus-visible,.dds-date-range-box:focus-within {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:calc(var(--dds-space-2) * -1);}
|
|
23
23
|
.dds-date-picker-control > input[aria-invalid="true"],.dds-date-range-box[data-invalid] {border-color:var(--dds-color-status-danger);}
|
|
24
|
+
.dds-date-picker-control > input[aria-invalid="true"]:focus-visible,.dds-date-range-box[data-invalid]:focus-within {outline-offset:calc(var(--dds-space-2) * -1.5);}
|
|
24
25
|
.dds-date-picker-control > input:disabled,.dds-date-range-box[data-disabled] {opacity:.45;cursor:not-allowed;background:var(--dds-color-bg-subtle);}
|
|
25
26
|
.dds-date-picker-control > input::placeholder,.dds-date-range-input::placeholder {color:var(--dds-color-text-muted);}
|
|
26
27
|
.dds-date-range-box {display:flex;align-items:center;gap:var(--dds-space-8);padding-inline:var(--dds-space-12);}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
.dds-input__label {font-size:var(--dds-typo-label-font-size);line-height:var(--dds-typo-label-line-height);font-weight:var(--dds-typo-label-font-weight);}
|
|
4
4
|
.dds-input__control {box-sizing:border-box;inline-size:100%;min-inline-size:0;block-size:var(--dds-space-40);padding-inline:var(--dds-space-12);font:inherit;background:var(--dds-color-bg-default);color:var(--dds-color-text-primary);border:1px solid var(--dds-color-border-strong);border-radius:var(--dds-radius-md);}
|
|
5
5
|
.dds-input__control::placeholder {color:var(--dds-color-text-muted);}
|
|
6
|
-
.dds-input__control:focus-visible {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:
|
|
6
|
+
.dds-input__control:focus-visible {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:calc(var(--dds-space-2) * -1);}
|
|
7
7
|
.dds-input__control[aria-invalid="true"] {border-color:var(--dds-color-status-danger);}
|
|
8
|
+
.dds-input__control[aria-invalid="true"]:focus-visible {outline-offset:calc(var(--dds-space-2) * -1.5);}
|
|
8
9
|
.dds-input:has(.dds-input__search) .dds-input__control {padding-inline-start:var(--dds-space-40);}
|
|
9
10
|
.dds-input__search {position:absolute;inset-inline-start:var(--dds-space-12);inset-block-end:var(--dds-space-12);color:var(--dds-color-text-secondary);pointer-events:none;}
|
|
10
11
|
.dds-input[data-label-placement="inside"]:has(.dds-input__search) .dds-input__label {inset-inline-start:var(--dds-space-40);}
|
|
@@ -47,10 +47,14 @@
|
|
|
47
47
|
}
|
|
48
48
|
.dds-number-input__control:focus-within {
|
|
49
49
|
outline: var(--dds-space-2) solid var(--dds-color-border-focus);
|
|
50
|
+
outline-offset: calc(var(--dds-space-2) * -1);
|
|
50
51
|
}
|
|
51
52
|
.dds-number-input__control[data-invalid] {
|
|
52
53
|
border-color: var(--dds-color-status-danger);
|
|
53
54
|
}
|
|
55
|
+
.dds-number-input__control[data-invalid]:focus-within {
|
|
56
|
+
outline-offset: calc(var(--dds-space-2) * -1.5);
|
|
57
|
+
}
|
|
54
58
|
|
|
55
59
|
.dds-number-input__field {
|
|
56
60
|
flex: 1 1 auto;
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
.dds-select__input:focus-visible {
|
|
35
35
|
outline: var(--dds-space-2) solid var(--dds-color-border-focus);
|
|
36
|
-
outline-offset:
|
|
36
|
+
outline-offset: calc(var(--dds-space-2) * -1);
|
|
37
37
|
border-color: transparent;
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -48,6 +48,10 @@
|
|
|
48
48
|
.dds-select__input[aria-invalid="true"] {
|
|
49
49
|
border-color: var(--dds-color-status-danger);
|
|
50
50
|
}
|
|
51
|
+
.dds-field--error .dds-select__input:focus-visible,
|
|
52
|
+
.dds-select__input[aria-invalid="true"]:focus-visible {
|
|
53
|
+
outline-offset: calc(var(--dds-space-2) * -1.5);
|
|
54
|
+
}
|
|
51
55
|
|
|
52
56
|
/* Chevron glyph geometry (8px box, 1.6px stroke) is drawn, not spaced — the
|
|
53
57
|
* same allowance as the 6px badge dot. translateY(-70%) centers the drawn
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
.dds-textarea:focus-visible {
|
|
27
27
|
outline: var(--dds-space-2) solid var(--dds-color-border-focus);
|
|
28
|
-
outline-offset:
|
|
28
|
+
outline-offset: calc(var(--dds-space-2) * -1);
|
|
29
29
|
border-color: transparent;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -40,3 +40,7 @@
|
|
|
40
40
|
.dds-textarea[aria-invalid="true"] {
|
|
41
41
|
border-color: var(--dds-color-status-danger);
|
|
42
42
|
}
|
|
43
|
+
.dds-field--error .dds-textarea:focus-visible,
|
|
44
|
+
.dds-textarea[aria-invalid="true"]:focus-visible {
|
|
45
|
+
outline-offset: calc(var(--dds-space-2) * -1.5);
|
|
46
|
+
}
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
|
|
37
37
|
.dds-input:focus-visible {
|
|
38
38
|
outline: var(--dds-space-2) solid var(--dds-color-border-focus);
|
|
39
|
-
outline-offset:
|
|
39
|
+
outline-offset: calc(var(--dds-space-2) * -1);
|
|
40
40
|
border-color: transparent;
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -58,6 +58,10 @@
|
|
|
58
58
|
.dds-input[aria-invalid="true"] {
|
|
59
59
|
border-color: var(--dds-color-status-danger);
|
|
60
60
|
}
|
|
61
|
+
.dds-field--error .dds-input:focus-visible,
|
|
62
|
+
.dds-input[aria-invalid="true"]:focus-visible {
|
|
63
|
+
outline-offset: calc(var(--dds-space-2) * -1.5);
|
|
64
|
+
}
|
|
61
65
|
.dds-field--error .dds-field__help {
|
|
62
66
|
color: var(--dds-color-status-danger);
|
|
63
67
|
}
|
package/dist/dds.css
CHANGED
|
@@ -331,7 +331,7 @@
|
|
|
331
331
|
|
|
332
332
|
.dds-input:focus-visible {
|
|
333
333
|
outline: var(--dds-space-2) solid var(--dds-color-border-focus);
|
|
334
|
-
outline-offset:
|
|
334
|
+
outline-offset: calc(var(--dds-space-2) * -1);
|
|
335
335
|
border-color: transparent;
|
|
336
336
|
}
|
|
337
337
|
|
|
@@ -353,6 +353,10 @@
|
|
|
353
353
|
.dds-input[aria-invalid="true"] {
|
|
354
354
|
border-color: var(--dds-color-status-danger);
|
|
355
355
|
}
|
|
356
|
+
.dds-field--error .dds-input:focus-visible,
|
|
357
|
+
.dds-input[aria-invalid="true"]:focus-visible {
|
|
358
|
+
outline-offset: calc(var(--dds-space-2) * -1.5);
|
|
359
|
+
}
|
|
356
360
|
.dds-field--error .dds-field__help {
|
|
357
361
|
color: var(--dds-color-status-danger);
|
|
358
362
|
}
|
|
@@ -362,8 +366,9 @@
|
|
|
362
366
|
.dds-input__label {font-size:var(--dds-typo-label-font-size);line-height:var(--dds-typo-label-line-height);font-weight:var(--dds-typo-label-font-weight);}
|
|
363
367
|
.dds-input__control {box-sizing:border-box;inline-size:100%;min-inline-size:0;block-size:var(--dds-space-40);padding-inline:var(--dds-space-12);font:inherit;background:var(--dds-color-bg-default);color:var(--dds-color-text-primary);border:1px solid var(--dds-color-border-strong);border-radius:var(--dds-radius-md);}
|
|
364
368
|
.dds-input__control::placeholder {color:var(--dds-color-text-muted);}
|
|
365
|
-
.dds-input__control:focus-visible {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:
|
|
369
|
+
.dds-input__control:focus-visible {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:calc(var(--dds-space-2) * -1);}
|
|
366
370
|
.dds-input__control[aria-invalid="true"] {border-color:var(--dds-color-status-danger);}
|
|
371
|
+
.dds-input__control[aria-invalid="true"]:focus-visible {outline-offset:calc(var(--dds-space-2) * -1.5);}
|
|
367
372
|
.dds-input:has(.dds-input__search) .dds-input__control {padding-inline-start:var(--dds-space-40);}
|
|
368
373
|
.dds-input__search {position:absolute;inset-inline-start:var(--dds-space-12);inset-block-end:var(--dds-space-12);color:var(--dds-color-text-secondary);pointer-events:none;}
|
|
369
374
|
.dds-input[data-label-placement="inside"]:has(.dds-input__search) .dds-input__label {inset-inline-start:var(--dds-space-40);}
|
|
@@ -413,7 +418,7 @@
|
|
|
413
418
|
|
|
414
419
|
.dds-textarea:focus-visible {
|
|
415
420
|
outline: var(--dds-space-2) solid var(--dds-color-border-focus);
|
|
416
|
-
outline-offset:
|
|
421
|
+
outline-offset: calc(var(--dds-space-2) * -1);
|
|
417
422
|
border-color: transparent;
|
|
418
423
|
}
|
|
419
424
|
|
|
@@ -428,6 +433,10 @@
|
|
|
428
433
|
.dds-textarea[aria-invalid="true"] {
|
|
429
434
|
border-color: var(--dds-color-status-danger);
|
|
430
435
|
}
|
|
436
|
+
.dds-field--error .dds-textarea:focus-visible,
|
|
437
|
+
.dds-textarea[aria-invalid="true"]:focus-visible {
|
|
438
|
+
outline-offset: calc(var(--dds-space-2) * -1.5);
|
|
439
|
+
}
|
|
431
440
|
|
|
432
441
|
/* Select — native <select> with the native arrow replaced. Leaving the OS
|
|
433
442
|
* arrow in place is a rejection criterion in this house: the same control
|
|
@@ -464,7 +473,7 @@
|
|
|
464
473
|
|
|
465
474
|
.dds-select__input:focus-visible {
|
|
466
475
|
outline: var(--dds-space-2) solid var(--dds-color-border-focus);
|
|
467
|
-
outline-offset:
|
|
476
|
+
outline-offset: calc(var(--dds-space-2) * -1);
|
|
468
477
|
border-color: transparent;
|
|
469
478
|
}
|
|
470
479
|
|
|
@@ -479,6 +488,10 @@
|
|
|
479
488
|
.dds-select__input[aria-invalid="true"] {
|
|
480
489
|
border-color: var(--dds-color-status-danger);
|
|
481
490
|
}
|
|
491
|
+
.dds-field--error .dds-select__input:focus-visible,
|
|
492
|
+
.dds-select__input[aria-invalid="true"]:focus-visible {
|
|
493
|
+
outline-offset: calc(var(--dds-space-2) * -1.5);
|
|
494
|
+
}
|
|
482
495
|
|
|
483
496
|
/* Chevron glyph geometry (8px box, 1.6px stroke) is drawn, not spaced — the
|
|
484
497
|
* same allowance as the 6px badge dot. translateY(-70%) centers the drawn
|
|
@@ -499,7 +512,8 @@
|
|
|
499
512
|
.dds-choice {display:flex;flex-direction:column;gap:var(--dds-space-4);position:relative;min-inline-size:0;font-family:var(--dds-font-family-sans);font-size:var(--dds-typo-body-2-font-size);color:var(--dds-color-text-primary);}
|
|
500
513
|
.dds-choice-label {font-size:var(--dds-typo-label-font-size);line-height:var(--dds-typo-label-line-height);font-weight:var(--dds-typo-label-font-weight);}
|
|
501
514
|
.dds-choice-control {position:relative;display:flex;align-items:center;inline-size:100%;min-block-size:var(--dds-space-40);border:1px solid var(--dds-color-border-strong);border-radius:var(--dds-radius-md);background:var(--dds-color-bg-default);}
|
|
502
|
-
.dds-choice-control:focus-within {outline:var(--dds-space-2) solid var(--dds-color-border-focus);}
|
|
515
|
+
.dds-choice-control:focus-within {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:calc(var(--dds-space-2) * -1);}
|
|
516
|
+
.dds-choice-control[data-invalid]:focus-within {outline-offset:calc(var(--dds-space-2) * -1.5);}
|
|
503
517
|
/* The control owns the 40px height (border included, like Input and DatePicker); parts stretch inside it. */
|
|
504
518
|
.dds-choice-input,.dds-choice-trigger {box-sizing:border-box;align-self:stretch;min-inline-size:0;min-block-size:0;border:0;background:transparent;color:inherit;font:inherit;padding-inline:var(--dds-space-12);}
|
|
505
519
|
.dds-choice-input {flex:1;inline-size:100%;outline:none;}
|
|
@@ -549,14 +563,15 @@
|
|
|
549
563
|
.dds-date-picker-table [data-outside-range] {color:var(--dds-color-text-secondary);}
|
|
550
564
|
.dds-date-picker-table [data-part="table-cell-trigger"][data-selected] {background:var(--dds-color-bg-brand);color:var(--dds-color-text-on-brand);}
|
|
551
565
|
.dds-date-picker-table [data-today]:not([data-selected]) {text-decoration:underline;text-underline-offset:var(--dds-space-4);}
|
|
552
|
-
.dds-date-picker-content :focus-visible {outline:var(--dds-space-2) solid var(--dds-color-
|
|
566
|
+
.dds-date-picker-content :focus-visible {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:var(--dds-space-2);}
|
|
553
567
|
.dds-date-picker-footer {display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--dds-space-12);margin-top:var(--dds-space-12);padding-top:var(--dds-space-12);border-top:calc(var(--dds-space-2) / 2) solid var(--dds-color-border-default);}
|
|
554
568
|
|
|
555
569
|
/* Text box shared by DatePicker, MonthPicker and the DateRangePicker pair: same var(--dds-space-40) DDS input look. */
|
|
556
570
|
.dds-date-picker-control > input,.dds-date-range-box {box-sizing:border-box;flex:1;min-inline-size:0;block-size:var(--dds-space-40);border:calc(var(--dds-space-2) / 2) solid var(--dds-color-border-strong);border-radius:var(--dds-radius-md);background:var(--dds-color-bg-default);color:var(--dds-color-text-primary);font-family:inherit;font-size:var(--dds-typo-body-2-font-size);font-variant-numeric:tabular-nums;}
|
|
557
571
|
.dds-date-picker-control > input {padding-inline:var(--dds-space-12);}
|
|
558
|
-
.dds-date-picker-control > input:focus-visible,.dds-date-range-box:focus-within {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:
|
|
572
|
+
.dds-date-picker-control > input:focus-visible,.dds-date-range-box:focus-within {outline:var(--dds-space-2) solid var(--dds-color-border-focus);outline-offset:calc(var(--dds-space-2) * -1);}
|
|
559
573
|
.dds-date-picker-control > input[aria-invalid="true"],.dds-date-range-box[data-invalid] {border-color:var(--dds-color-status-danger);}
|
|
574
|
+
.dds-date-picker-control > input[aria-invalid="true"]:focus-visible,.dds-date-range-box[data-invalid]:focus-within {outline-offset:calc(var(--dds-space-2) * -1.5);}
|
|
560
575
|
.dds-date-picker-control > input:disabled,.dds-date-range-box[data-disabled] {opacity:.45;cursor:not-allowed;background:var(--dds-color-bg-subtle);}
|
|
561
576
|
.dds-date-picker-control > input::placeholder,.dds-date-range-input::placeholder {color:var(--dds-color-text-muted);}
|
|
562
577
|
.dds-date-range-box {display:flex;align-items:center;gap:var(--dds-space-8);padding-inline:var(--dds-space-12);}
|
|
@@ -647,10 +662,14 @@
|
|
|
647
662
|
}
|
|
648
663
|
.dds-number-input__control:focus-within {
|
|
649
664
|
outline: var(--dds-space-2) solid var(--dds-color-border-focus);
|
|
665
|
+
outline-offset: calc(var(--dds-space-2) * -1);
|
|
650
666
|
}
|
|
651
667
|
.dds-number-input__control[data-invalid] {
|
|
652
668
|
border-color: var(--dds-color-status-danger);
|
|
653
669
|
}
|
|
670
|
+
.dds-number-input__control[data-invalid]:focus-within {
|
|
671
|
+
outline-offset: calc(var(--dds-space-2) * -1.5);
|
|
672
|
+
}
|
|
654
673
|
|
|
655
674
|
.dds-number-input__field {
|
|
656
675
|
flex: 1 1 auto;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devslab/dds-css",
|
|
3
|
-
"version": "0.29.
|
|
3
|
+
"version": "0.29.2",
|
|
4
4
|
"description": "DDS CSS component layer — class-based, framework-neutral, semantic-token-only (spec §4.3 v1 inventory, 20 components)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|