@db-ux/core-foundations 4.4.2 → 4.5.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 (47) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/build/styles/_screen-sizes.scss +2 -4
  3. package/build/styles/_variables.scss +10 -10
  4. package/build/styles/absolute.css +113 -45
  5. package/build/styles/colors/_variables.additional-palette.scss +2 -2
  6. package/build/styles/colors/_variables.palette.scss +2 -2
  7. package/build/styles/defaults/default-code.css +1 -1
  8. package/build/styles/defaults/default-elevation.css +1 -1
  9. package/build/styles/defaults/default-required.scss +1 -1
  10. package/build/styles/density/classes/all.css +0 -22
  11. package/build/styles/density/classes/expressive.css +0 -22
  12. package/build/styles/density/classes/functional.css +0 -22
  13. package/build/styles/density/classes/regular.css +0 -22
  14. package/build/styles/fonts/_font-sizes.scss +4 -6
  15. package/build/styles/fonts/_variables.scss +2 -2
  16. package/build/styles/fonts/classes/all.css +0 -19
  17. package/build/styles/fonts/classes/body/2xl.css +0 -19
  18. package/build/styles/fonts/classes/body/2xs.css +0 -19
  19. package/build/styles/fonts/classes/body/3xl.css +0 -19
  20. package/build/styles/fonts/classes/body/3xs.css +0 -19
  21. package/build/styles/fonts/classes/body/all.css +0 -19
  22. package/build/styles/fonts/classes/body/lg.css +0 -19
  23. package/build/styles/fonts/classes/body/md.css +0 -19
  24. package/build/styles/fonts/classes/body/sm.css +0 -19
  25. package/build/styles/fonts/classes/body/xl.css +0 -19
  26. package/build/styles/fonts/classes/body/xs.css +0 -19
  27. package/build/styles/fonts/classes/headline/2xl.css +0 -19
  28. package/build/styles/fonts/classes/headline/2xs.css +0 -19
  29. package/build/styles/fonts/classes/headline/3xl.css +0 -19
  30. package/build/styles/fonts/classes/headline/3xs.css +0 -19
  31. package/build/styles/fonts/classes/headline/all.css +0 -19
  32. package/build/styles/fonts/classes/headline/lg.css +0 -19
  33. package/build/styles/fonts/classes/headline/md.css +0 -19
  34. package/build/styles/fonts/classes/headline/sm.css +0 -19
  35. package/build/styles/fonts/classes/headline/xl.css +0 -19
  36. package/build/styles/fonts/classes/headline/xs.css +0 -19
  37. package/build/styles/helpers/_a11y.scss +1 -1
  38. package/build/styles/helpers/_functions.scss +12 -2
  39. package/build/styles/helpers/classes/all.css +0 -10
  40. package/build/styles/helpers/classes/divider.css +0 -10
  41. package/build/styles/helpers/classes/focus.css +0 -10
  42. package/build/styles/icons/_icon-helpers.scss +1 -0
  43. package/build/styles/index.css +113 -45
  44. package/build/styles/relative.css +113 -45
  45. package/build/styles/rollup.css +113 -45
  46. package/build/styles/webpack.css +113 -45
  47. package/package.json +3 -3
@@ -1,13 +1,3 @@
1
- /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
2
- /* Use fixed spacings for all kind of distances (margin, padding, ...) */
3
- /* The primary use-case for responsive spacings are
4
- paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
- /* Elevation */
6
- /* Border */
7
- /* Opacity */
8
- /* Transitions */
9
- /* Screen sizes */
10
- /* Container sizes */
11
1
  /* Variants for adaptive components like input, select, notification, ... */
12
2
  @layer variables {}
13
3
 
@@ -1,13 +1,3 @@
1
- /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
2
- /* Use fixed spacings for all kind of distances (margin, padding, ...) */
3
- /* The primary use-case for responsive spacings are
4
- paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
- /* Elevation */
6
- /* Border */
7
- /* Opacity */
8
- /* Transitions */
9
- /* Screen sizes */
10
- /* Container sizes */
11
1
  /* Variants for adaptive components like input, select, notification, ... */
12
2
  @layer variables {}
13
3
 
@@ -1,13 +1,3 @@
1
- /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
2
- /* Use fixed spacings for all kind of distances (margin, padding, ...) */
3
- /* The primary use-case for responsive spacings are
4
- paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
- /* Elevation */
6
- /* Border */
7
- /* Opacity */
8
- /* Transitions */
9
- /* Screen sizes */
10
- /* Container sizes */
11
1
  /* Variants for adaptive components like input, select, notification, ... */
12
2
  @layer variables {}
13
3
 
@@ -160,6 +160,7 @@ $default-icon-font-size: var(--db-icon-font-size, #{$default-icon-size-rem});
160
160
  text-transform: none;
161
161
  overflow: clip;
162
162
  vertical-align: var(--db-icon-vertical-align, middle);
163
+ /* stylelint-disable-next-line db-ux/use-sizing */
163
164
  block-size: $default-icon-font-size;
164
165
  aspect-ratio: 1;
165
166
  flex-shrink: 0;
@@ -207,16 +207,6 @@ blockquote:not([class])::before, blockquote:not([class])::after {
207
207
 
208
208
  @layer variables {}
209
209
 
210
- /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
211
- /* Use fixed spacings for all kind of distances (margin, padding, ...) */
212
- /* The primary use-case for responsive spacings are
213
- paddings/gaps in an application e.g. the <main> should have a responsive padding. */
214
- /* Elevation */
215
- /* Border */
216
- /* Opacity */
217
- /* Transitions */
218
- /* Screen sizes */
219
- /* Container sizes */
220
210
  /* Use this file if you want the default color and density in your project */
221
211
  :not([data-disable-focus=true]):is(a,
222
212
  button,
@@ -251,12 +241,6 @@ select,
251
241
  }
252
242
 
253
243
  /* Use this file if you want the default color and density in your project */
254
- /**
255
- Generates 3 types of placeholders, e.g:
256
- - %db-component-variables-md
257
- - %db-font-size-md
258
- - %db-overwrite-font-size-md
259
- */
260
244
  @layer variables {}
261
245
 
262
246
  @layer variables {}
@@ -340,12 +324,6 @@ code {
340
324
 
341
325
  @layer variables {}
342
326
 
343
- /* Use for body tags like <p> */
344
- /* Use for headline tags like <h1> */
345
- /**
346
- * @mixin screen-min-max
347
- * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
348
- */
349
327
  @layer variables {}
350
328
 
351
329
  :root,
@@ -671,34 +649,94 @@ code {
671
649
  transition: box-shadow var(--db-transition-duration-fast) var(--db-transition-timing-functional);
672
650
  }
673
651
  }
674
- .db-interactive-elevation:hover:not(:disabled, [aria-disabled=true]),
675
- [data-interactive=elevation]:hover:not(:disabled, [aria-disabled=true]) {
652
+ .db-interactive-elevation:hover:not(:disabled,
653
+ [aria-disabled=true],
654
+ [tabindex="-1"],
655
+ :has(:disabled)),
656
+ [data-interactive=elevation]:hover:not(:disabled,
657
+ [aria-disabled=true],
658
+ [tabindex="-1"],
659
+ :has(:disabled)) {
676
660
  cursor: var(--db-overwrite-cursor, pointer);
677
661
  box-shadow: var(--db-elevation-lg);
678
662
  }
679
- .db-interactive-elevation:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-interactive-elevation:hover:not(:disabled, [aria-disabled=true]):is(input),
680
- [data-interactive=elevation]:hover:not(:disabled, [aria-disabled=true]):is(textarea),
681
- [data-interactive=elevation]:hover:not(:disabled, [aria-disabled=true]):is(input) {
663
+ .db-interactive-elevation:hover:not(:disabled,
664
+ [aria-disabled=true],
665
+ [tabindex="-1"],
666
+ :has(:disabled)):is(textarea), .db-interactive-elevation:hover:not(:disabled,
667
+ [aria-disabled=true],
668
+ [tabindex="-1"],
669
+ :has(:disabled)):is(input),
670
+ [data-interactive=elevation]:hover:not(:disabled,
671
+ [aria-disabled=true],
672
+ [tabindex="-1"],
673
+ :has(:disabled)):is(textarea),
674
+ [data-interactive=elevation]:hover:not(:disabled,
675
+ [aria-disabled=true],
676
+ [tabindex="-1"],
677
+ :has(:disabled)):is(input) {
682
678
  cursor: initial;
683
679
  }
684
- .db-interactive-elevation:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-interactive-elevation:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)),
685
- [data-interactive=elevation]:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]),
686
- [data-interactive=elevation]:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
680
+ .db-interactive-elevation:hover:not(:disabled,
681
+ [aria-disabled=true],
682
+ [tabindex="-1"],
683
+ :has(:disabled)):is(input[type=checkbox]), .db-interactive-elevation:hover:not(:disabled,
684
+ [aria-disabled=true],
685
+ [tabindex="-1"],
686
+ :has(:disabled)):is(input[type=radio]:not(:checked)),
687
+ [data-interactive=elevation]:hover:not(:disabled,
688
+ [aria-disabled=true],
689
+ [tabindex="-1"],
690
+ :has(:disabled)):is(input[type=checkbox]),
691
+ [data-interactive=elevation]:hover:not(:disabled,
692
+ [aria-disabled=true],
693
+ [tabindex="-1"],
694
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
687
695
  cursor: pointer;
688
696
  }
689
- .db-interactive-elevation:active:not(:disabled, [aria-disabled=true]),
690
- [data-interactive=elevation]:active:not(:disabled, [aria-disabled=true]) {
697
+ .db-interactive-elevation:active:not(:disabled,
698
+ [aria-disabled=true],
699
+ [tabindex="-1"],
700
+ :has(:disabled)),
701
+ [data-interactive=elevation]:active:not(:disabled,
702
+ [aria-disabled=true],
703
+ [tabindex="-1"],
704
+ :has(:disabled)) {
691
705
  cursor: var(--db-overwrite-cursor, pointer);
692
706
  box-shadow: var(--db-elevation-sm);
693
707
  }
694
- .db-interactive-elevation:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-interactive-elevation:active:not(:disabled, [aria-disabled=true]):is(input),
695
- [data-interactive=elevation]:active:not(:disabled, [aria-disabled=true]):is(textarea),
696
- [data-interactive=elevation]:active:not(:disabled, [aria-disabled=true]):is(input) {
708
+ .db-interactive-elevation:active:not(:disabled,
709
+ [aria-disabled=true],
710
+ [tabindex="-1"],
711
+ :has(:disabled)):is(textarea), .db-interactive-elevation:active:not(:disabled,
712
+ [aria-disabled=true],
713
+ [tabindex="-1"],
714
+ :has(:disabled)):is(input),
715
+ [data-interactive=elevation]:active:not(:disabled,
716
+ [aria-disabled=true],
717
+ [tabindex="-1"],
718
+ :has(:disabled)):is(textarea),
719
+ [data-interactive=elevation]:active:not(:disabled,
720
+ [aria-disabled=true],
721
+ [tabindex="-1"],
722
+ :has(:disabled)):is(input) {
697
723
  cursor: initial;
698
724
  }
699
- .db-interactive-elevation:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-interactive-elevation:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)),
700
- [data-interactive=elevation]:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]),
701
- [data-interactive=elevation]:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
725
+ .db-interactive-elevation:active:not(:disabled,
726
+ [aria-disabled=true],
727
+ [tabindex="-1"],
728
+ :has(:disabled)):is(input[type=checkbox]), .db-interactive-elevation:active:not(:disabled,
729
+ [aria-disabled=true],
730
+ [tabindex="-1"],
731
+ :has(:disabled)):is(input[type=radio]:not(:checked)),
732
+ [data-interactive=elevation]:active:not(:disabled,
733
+ [aria-disabled=true],
734
+ [tabindex="-1"],
735
+ :has(:disabled)):is(input[type=checkbox]),
736
+ [data-interactive=elevation]:active:not(:disabled,
737
+ [aria-disabled=true],
738
+ [tabindex="-1"],
739
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
702
740
  cursor: pointer;
703
741
  }
704
742
 
@@ -847,24 +885,54 @@ a:has(code:not([class]):only-child) {
847
885
  color: var(--db-adaptive-on-bg-inverted-default);
848
886
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
849
887
  }
850
- a:has(code:not([class]):only-child):hover:not(:disabled, [aria-disabled=true]) {
888
+ a:has(code:not([class]):only-child):hover:not(:disabled,
889
+ [aria-disabled=true],
890
+ [tabindex="-1"],
891
+ :has(:disabled)) {
851
892
  cursor: var(--db-overwrite-cursor, pointer);
852
893
  color: var(--db-adaptive-on-bg-inverted-hovered);
853
894
  }
854
- a:has(code:not([class]):only-child):hover:not(:disabled, [aria-disabled=true]):is(textarea), a:has(code:not([class]):only-child):hover:not(:disabled, [aria-disabled=true]):is(input) {
895
+ a:has(code:not([class]):only-child):hover:not(:disabled,
896
+ [aria-disabled=true],
897
+ [tabindex="-1"],
898
+ :has(:disabled)):is(textarea), a:has(code:not([class]):only-child):hover:not(:disabled,
899
+ [aria-disabled=true],
900
+ [tabindex="-1"],
901
+ :has(:disabled)):is(input) {
855
902
  cursor: initial;
856
903
  }
857
- a:has(code:not([class]):only-child):hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), a:has(code:not([class]):only-child):hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
904
+ a:has(code:not([class]):only-child):hover:not(:disabled,
905
+ [aria-disabled=true],
906
+ [tabindex="-1"],
907
+ :has(:disabled)):is(input[type=checkbox]), a:has(code:not([class]):only-child):hover:not(:disabled,
908
+ [aria-disabled=true],
909
+ [tabindex="-1"],
910
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
858
911
  cursor: pointer;
859
912
  }
860
- a:has(code:not([class]):only-child):active:not(:disabled, [aria-disabled=true]) {
913
+ a:has(code:not([class]):only-child):active:not(:disabled,
914
+ [aria-disabled=true],
915
+ [tabindex="-1"],
916
+ :has(:disabled)) {
861
917
  cursor: var(--db-overwrite-cursor, pointer);
862
918
  color: var(--db-adaptive-on-bg-inverted-pressed);
863
919
  }
864
- a:has(code:not([class]):only-child):active:not(:disabled, [aria-disabled=true]):is(textarea), a:has(code:not([class]):only-child):active:not(:disabled, [aria-disabled=true]):is(input) {
920
+ a:has(code:not([class]):only-child):active:not(:disabled,
921
+ [aria-disabled=true],
922
+ [tabindex="-1"],
923
+ :has(:disabled)):is(textarea), a:has(code:not([class]):only-child):active:not(:disabled,
924
+ [aria-disabled=true],
925
+ [tabindex="-1"],
926
+ :has(:disabled)):is(input) {
865
927
  cursor: initial;
866
928
  }
867
- a:has(code:not([class]):only-child):active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), a:has(code:not([class]):only-child):active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
929
+ a:has(code:not([class]):only-child):active:not(:disabled,
930
+ [aria-disabled=true],
931
+ [tabindex="-1"],
932
+ :has(:disabled)):is(input[type=checkbox]), a:has(code:not([class]):only-child):active:not(:disabled,
933
+ [aria-disabled=true],
934
+ [tabindex="-1"],
935
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
868
936
  cursor: pointer;
869
937
  }
870
938
  a:has(code:not([class]):only-child) > code {
@@ -907,6 +975,7 @@ blockquote:not([class]) {
907
975
  text-transform: none;
908
976
  overflow: clip;
909
977
  vertical-align: var(--db-icon-vertical-align, middle);
978
+ /* stylelint-disable-next-line db-ux/use-sizing */
910
979
  block-size: var(--db-icon-font-size, 1.5rem);
911
980
  aspect-ratio: 1;
912
981
  flex-shrink: 0;
@@ -4747,7 +4816,6 @@ head:has([name=color-scheme][content=dark]) + body {
4747
4816
  --db-color-scheme: dark;
4748
4817
  }
4749
4818
 
4750
- /* TODO: Switch to attr() as soon as this one is fully supported */
4751
4819
  [data-mode=light] {
4752
4820
  color-scheme: light;
4753
4821
  }
@@ -41,16 +41,6 @@
41
41
  font-weight: 900;
42
42
  src: url("../assets/fonts/OpenSans-ExtraBold-EU.woff2") format("woff2");
43
43
  }
44
- /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
45
- /* Use fixed spacings for all kind of distances (margin, padding, ...) */
46
- /* The primary use-case for responsive spacings are
47
- paddings/gaps in an application e.g. the <main> should have a responsive padding. */
48
- /* Elevation */
49
- /* Border */
50
- /* Opacity */
51
- /* Transitions */
52
- /* Screen sizes */
53
- /* Container sizes */
54
44
  /* Variants for adaptive components like input, select, notification, ... */
55
45
  blockquote:not([class]), [data-mode], :root,
56
46
  :host {
@@ -310,6 +300,7 @@ select,
310
300
  text-transform: none;
311
301
  overflow: clip;
312
302
  vertical-align: var(--db-icon-vertical-align, middle);
303
+ /* stylelint-disable-next-line db-ux/use-sizing */
313
304
  block-size: var(--db-icon-font-size, 1.5rem);
314
305
  aspect-ratio: 1;
315
306
  flex-shrink: 0;
@@ -6023,12 +6014,6 @@ html::after {
6023
6014
  inherits: true;
6024
6015
  }
6025
6016
  /* Use this file if you want the default color and density in your project */
6026
- /**
6027
- Generates 3 types of placeholders, e.g:
6028
- - %db-component-variables-md
6029
- - %db-font-size-md
6030
- - %db-overwrite-font-size-md
6031
- */
6032
6017
  @layer variables {}
6033
6018
 
6034
6019
  @layer variables {}
@@ -6112,12 +6097,6 @@ code {
6112
6097
 
6113
6098
  @layer variables {}
6114
6099
 
6115
- /* Use for body tags like <p> */
6116
- /* Use for headline tags like <h1> */
6117
- /**
6118
- * @mixin screen-min-max
6119
- * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
6120
- */
6121
6100
  @layer variables {}
6122
6101
 
6123
6102
  :root,
@@ -6443,34 +6422,94 @@ code {
6443
6422
  transition: box-shadow var(--db-transition-duration-fast) var(--db-transition-timing-functional);
6444
6423
  }
6445
6424
  }
6446
- .db-interactive-elevation:hover:not(:disabled, [aria-disabled=true]),
6447
- [data-interactive=elevation]:hover:not(:disabled, [aria-disabled=true]) {
6425
+ .db-interactive-elevation:hover:not(:disabled,
6426
+ [aria-disabled=true],
6427
+ [tabindex="-1"],
6428
+ :has(:disabled)),
6429
+ [data-interactive=elevation]:hover:not(:disabled,
6430
+ [aria-disabled=true],
6431
+ [tabindex="-1"],
6432
+ :has(:disabled)) {
6448
6433
  cursor: var(--db-overwrite-cursor, pointer);
6449
6434
  box-shadow: var(--db-elevation-lg);
6450
6435
  }
6451
- .db-interactive-elevation:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-interactive-elevation:hover:not(:disabled, [aria-disabled=true]):is(input),
6452
- [data-interactive=elevation]:hover:not(:disabled, [aria-disabled=true]):is(textarea),
6453
- [data-interactive=elevation]:hover:not(:disabled, [aria-disabled=true]):is(input) {
6436
+ .db-interactive-elevation:hover:not(:disabled,
6437
+ [aria-disabled=true],
6438
+ [tabindex="-1"],
6439
+ :has(:disabled)):is(textarea), .db-interactive-elevation:hover:not(:disabled,
6440
+ [aria-disabled=true],
6441
+ [tabindex="-1"],
6442
+ :has(:disabled)):is(input),
6443
+ [data-interactive=elevation]:hover:not(:disabled,
6444
+ [aria-disabled=true],
6445
+ [tabindex="-1"],
6446
+ :has(:disabled)):is(textarea),
6447
+ [data-interactive=elevation]:hover:not(:disabled,
6448
+ [aria-disabled=true],
6449
+ [tabindex="-1"],
6450
+ :has(:disabled)):is(input) {
6454
6451
  cursor: initial;
6455
6452
  }
6456
- .db-interactive-elevation:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-interactive-elevation:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)),
6457
- [data-interactive=elevation]:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]),
6458
- [data-interactive=elevation]:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
6453
+ .db-interactive-elevation:hover:not(:disabled,
6454
+ [aria-disabled=true],
6455
+ [tabindex="-1"],
6456
+ :has(:disabled)):is(input[type=checkbox]), .db-interactive-elevation:hover:not(:disabled,
6457
+ [aria-disabled=true],
6458
+ [tabindex="-1"],
6459
+ :has(:disabled)):is(input[type=radio]:not(:checked)),
6460
+ [data-interactive=elevation]:hover:not(:disabled,
6461
+ [aria-disabled=true],
6462
+ [tabindex="-1"],
6463
+ :has(:disabled)):is(input[type=checkbox]),
6464
+ [data-interactive=elevation]:hover:not(:disabled,
6465
+ [aria-disabled=true],
6466
+ [tabindex="-1"],
6467
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
6459
6468
  cursor: pointer;
6460
6469
  }
6461
- .db-interactive-elevation:active:not(:disabled, [aria-disabled=true]),
6462
- [data-interactive=elevation]:active:not(:disabled, [aria-disabled=true]) {
6470
+ .db-interactive-elevation:active:not(:disabled,
6471
+ [aria-disabled=true],
6472
+ [tabindex="-1"],
6473
+ :has(:disabled)),
6474
+ [data-interactive=elevation]:active:not(:disabled,
6475
+ [aria-disabled=true],
6476
+ [tabindex="-1"],
6477
+ :has(:disabled)) {
6463
6478
  cursor: var(--db-overwrite-cursor, pointer);
6464
6479
  box-shadow: var(--db-elevation-sm);
6465
6480
  }
6466
- .db-interactive-elevation:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-interactive-elevation:active:not(:disabled, [aria-disabled=true]):is(input),
6467
- [data-interactive=elevation]:active:not(:disabled, [aria-disabled=true]):is(textarea),
6468
- [data-interactive=elevation]:active:not(:disabled, [aria-disabled=true]):is(input) {
6481
+ .db-interactive-elevation:active:not(:disabled,
6482
+ [aria-disabled=true],
6483
+ [tabindex="-1"],
6484
+ :has(:disabled)):is(textarea), .db-interactive-elevation:active:not(:disabled,
6485
+ [aria-disabled=true],
6486
+ [tabindex="-1"],
6487
+ :has(:disabled)):is(input),
6488
+ [data-interactive=elevation]:active:not(:disabled,
6489
+ [aria-disabled=true],
6490
+ [tabindex="-1"],
6491
+ :has(:disabled)):is(textarea),
6492
+ [data-interactive=elevation]:active:not(:disabled,
6493
+ [aria-disabled=true],
6494
+ [tabindex="-1"],
6495
+ :has(:disabled)):is(input) {
6469
6496
  cursor: initial;
6470
6497
  }
6471
- .db-interactive-elevation:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-interactive-elevation:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)),
6472
- [data-interactive=elevation]:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]),
6473
- [data-interactive=elevation]:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
6498
+ .db-interactive-elevation:active:not(:disabled,
6499
+ [aria-disabled=true],
6500
+ [tabindex="-1"],
6501
+ :has(:disabled)):is(input[type=checkbox]), .db-interactive-elevation:active:not(:disabled,
6502
+ [aria-disabled=true],
6503
+ [tabindex="-1"],
6504
+ :has(:disabled)):is(input[type=radio]:not(:checked)),
6505
+ [data-interactive=elevation]:active:not(:disabled,
6506
+ [aria-disabled=true],
6507
+ [tabindex="-1"],
6508
+ :has(:disabled)):is(input[type=checkbox]),
6509
+ [data-interactive=elevation]:active:not(:disabled,
6510
+ [aria-disabled=true],
6511
+ [tabindex="-1"],
6512
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
6474
6513
  cursor: pointer;
6475
6514
  }
6476
6515
 
@@ -6619,24 +6658,54 @@ a:has(code:not([class]):only-child) {
6619
6658
  color: var(--db-adaptive-on-bg-inverted-default);
6620
6659
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
6621
6660
  }
6622
- a:has(code:not([class]):only-child):hover:not(:disabled, [aria-disabled=true]) {
6661
+ a:has(code:not([class]):only-child):hover:not(:disabled,
6662
+ [aria-disabled=true],
6663
+ [tabindex="-1"],
6664
+ :has(:disabled)) {
6623
6665
  cursor: var(--db-overwrite-cursor, pointer);
6624
6666
  color: var(--db-adaptive-on-bg-inverted-hovered);
6625
6667
  }
6626
- a:has(code:not([class]):only-child):hover:not(:disabled, [aria-disabled=true]):is(textarea), a:has(code:not([class]):only-child):hover:not(:disabled, [aria-disabled=true]):is(input) {
6668
+ a:has(code:not([class]):only-child):hover:not(:disabled,
6669
+ [aria-disabled=true],
6670
+ [tabindex="-1"],
6671
+ :has(:disabled)):is(textarea), a:has(code:not([class]):only-child):hover:not(:disabled,
6672
+ [aria-disabled=true],
6673
+ [tabindex="-1"],
6674
+ :has(:disabled)):is(input) {
6627
6675
  cursor: initial;
6628
6676
  }
6629
- a:has(code:not([class]):only-child):hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), a:has(code:not([class]):only-child):hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
6677
+ a:has(code:not([class]):only-child):hover:not(:disabled,
6678
+ [aria-disabled=true],
6679
+ [tabindex="-1"],
6680
+ :has(:disabled)):is(input[type=checkbox]), a:has(code:not([class]):only-child):hover:not(:disabled,
6681
+ [aria-disabled=true],
6682
+ [tabindex="-1"],
6683
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
6630
6684
  cursor: pointer;
6631
6685
  }
6632
- a:has(code:not([class]):only-child):active:not(:disabled, [aria-disabled=true]) {
6686
+ a:has(code:not([class]):only-child):active:not(:disabled,
6687
+ [aria-disabled=true],
6688
+ [tabindex="-1"],
6689
+ :has(:disabled)) {
6633
6690
  cursor: var(--db-overwrite-cursor, pointer);
6634
6691
  color: var(--db-adaptive-on-bg-inverted-pressed);
6635
6692
  }
6636
- a:has(code:not([class]):only-child):active:not(:disabled, [aria-disabled=true]):is(textarea), a:has(code:not([class]):only-child):active:not(:disabled, [aria-disabled=true]):is(input) {
6693
+ a:has(code:not([class]):only-child):active:not(:disabled,
6694
+ [aria-disabled=true],
6695
+ [tabindex="-1"],
6696
+ :has(:disabled)):is(textarea), a:has(code:not([class]):only-child):active:not(:disabled,
6697
+ [aria-disabled=true],
6698
+ [tabindex="-1"],
6699
+ :has(:disabled)):is(input) {
6637
6700
  cursor: initial;
6638
6701
  }
6639
- a:has(code:not([class]):only-child):active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), a:has(code:not([class]):only-child):active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
6702
+ a:has(code:not([class]):only-child):active:not(:disabled,
6703
+ [aria-disabled=true],
6704
+ [tabindex="-1"],
6705
+ :has(:disabled)):is(input[type=checkbox]), a:has(code:not([class]):only-child):active:not(:disabled,
6706
+ [aria-disabled=true],
6707
+ [tabindex="-1"],
6708
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
6640
6709
  cursor: pointer;
6641
6710
  }
6642
6711
  a:has(code:not([class]):only-child) > code {
@@ -10475,7 +10544,6 @@ head:has([name=color-scheme][content=dark]) + body {
10475
10544
  --db-color-scheme: dark;
10476
10545
  }
10477
10546
 
10478
- /* TODO: Switch to attr() as soon as this one is fully supported */
10479
10547
  [data-mode=light] {
10480
10548
  color-scheme: light;
10481
10549
  }