@db-ux/core-components 1.1.1 → 2.0.0-0-custom-select-16b8cce

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 (75) hide show
  1. package/README.md +1 -1
  2. package/build/assets/icons/LICENCES.json +6 -0
  3. package/build/assets/icons/circular_arrows.svg +1 -0
  4. package/build/assets/icons/fonts/all/db-ux.woff2 +0 -0
  5. package/build/assets/icons/fonts/default/db-ux.woff2 +0 -0
  6. package/build/assets/icons/fonts/default_12/db-ux.woff2 +0 -0
  7. package/build/assets/icons/fonts/default_14/db-ux.woff2 +0 -0
  8. package/build/assets/icons/fonts/default_16/db-ux.woff2 +0 -0
  9. package/build/assets/icons/fonts/default_20/db-ux.woff2 +0 -0
  10. package/build/assets/icons/fonts/default_24/db-ux.woff2 +0 -0
  11. package/build/assets/icons/fonts/default_28/db-ux.woff2 +0 -0
  12. package/build/assets/icons/fonts/default_32/db-ux.woff2 +0 -0
  13. package/build/assets/icons/fonts/default_48/db-ux.woff2 +0 -0
  14. package/build/assets/icons/fonts/default_64/db-ux.woff2 +0 -0
  15. package/build/assets/icons/fonts/filled/db-ux.woff2 +0 -0
  16. package/build/assets/icons/fonts/filled_12/db-ux.woff2 +0 -0
  17. package/build/assets/icons/fonts/filled_14/db-ux.woff2 +0 -0
  18. package/build/assets/icons/fonts/filled_16/db-ux.woff2 +0 -0
  19. package/build/assets/icons/fonts/filled_20/db-ux.woff2 +0 -0
  20. package/build/assets/icons/fonts/filled_24/db-ux.woff2 +0 -0
  21. package/build/assets/icons/fonts/filled_28/db-ux.woff2 +0 -0
  22. package/build/assets/icons/fonts/filled_32/db-ux.woff2 +0 -0
  23. package/build/assets/icons/fonts/filled_48/db-ux.woff2 +0 -0
  24. package/build/assets/icons/fonts/filled_64/db-ux.woff2 +0 -0
  25. package/build/components/accordion/accordion.css +1 -1
  26. package/build/components/accordion-item/accordion-item.css +7 -2
  27. package/build/components/badge/badge.css +56 -4
  28. package/build/components/badge/badge.scss +1 -1
  29. package/build/components/button/button.css +4 -4
  30. package/build/components/card/card.css +6 -6
  31. package/build/components/checkbox/checkbox.css +60 -57
  32. package/build/components/custom-select/custom-select.css +1028 -0
  33. package/build/components/custom-select/custom-select.scss +172 -0
  34. package/build/components/custom-select-dropdown/custom-select-dropdown.css +402 -0
  35. package/build/components/custom-select-dropdown/custom-select-dropdown.scss +86 -0
  36. package/build/components/custom-select-form-field/custom-select-form-field.css +49 -0
  37. package/build/components/custom-select-form-field/custom-select-form-field.scss +24 -0
  38. package/build/components/custom-select-list/custom-select-list.css +48 -0
  39. package/build/components/custom-select-list/custom-select-list.scss +35 -0
  40. package/build/components/custom-select-list-item/custom-select-list-item.css +187 -0
  41. package/build/components/custom-select-list-item/custom-select-list-item.scss +99 -0
  42. package/build/components/divider/divider.css +2 -2
  43. package/build/components/drawer/drawer.css +6 -1
  44. package/build/components/header/header.css +4 -4
  45. package/build/components/input/input.css +71 -61
  46. package/build/components/input/input.scss +1 -5
  47. package/build/components/link/link.css +9 -4
  48. package/build/components/navigation-item/navigation-item.css +8 -3
  49. package/build/components/notification/notification.css +7 -2
  50. package/build/components/popover/popover.css +5 -0
  51. package/build/components/radio/radio.css +57 -54
  52. package/build/components/select/select.css +84 -75
  53. package/build/components/select/select.scss +4 -49
  54. package/build/components/switch/switch.css +64 -61
  55. package/build/components/tab-item/tab-item.css +5 -5
  56. package/build/components/tab-list/tab-list.css +17 -3
  57. package/build/components/tag/tag.css +40 -35
  58. package/build/components/textarea/textarea.css +93 -65
  59. package/build/components/textarea/textarea.scss +1 -1
  60. package/build/components/tooltip/tooltip.css +6 -1
  61. package/build/components/tooltip/tooltip.scss +2 -2
  62. package/build/styles/_select-components.scss +50 -0
  63. package/build/styles/absolute.css +32 -32
  64. package/build/styles/component-animations.css +1 -1
  65. package/build/styles/index.css +31 -31
  66. package/build/styles/index.scss +5 -0
  67. package/build/styles/internal/_custom-elements.scss +3 -0
  68. package/build/styles/internal/_form-components.scss +81 -70
  69. package/build/styles/internal/_scrollbar.scss +14 -3
  70. package/build/styles/internal/_tag-components.scss +20 -2
  71. package/build/styles/relative.css +32 -32
  72. package/build/styles/rollup.css +32 -32
  73. package/build/styles/wc-workarounds.css +1 -1
  74. package/build/styles/webpack.css +32 -32
  75. package/package.json +6 -5
package/README.md CHANGED
@@ -92,7 +92,7 @@ In the case you want to include only some components, and you could do it like t
92
92
 
93
93
  ## Deutsche Bahn brand
94
94
 
95
- As we'd like to perfectly support our users and customers on their digital journey, the usage of Deutsche Bahn brand and trademarks are bound of clear guidelines and restrictions even when being used with the code that we're provide with this product; Deutsche Bahn fully reserves all rights regarding the Deutsche Bahn brand, even though that we're providing the code of DB UX Design System products free to use and release it under the Apache 2.0 license.
95
+ As we'd like to perfectly support our users and customers on their digital journey, the usage of Deutsche Bahn brand and trademarks are bound of clear guidelines and restrictions even if being used with the code that we're providing with this product; Deutsche Bahn fully reserves all rights regarding the Deutsche Bahn brand, even though that we're providing the code of DB UX Design System products free to use and release it under the Apache 2.0 license.
96
96
  Please have a look at our brand portal at <https://marketingportal.extranet.deutschebahn.com/> for any further questions and whom to contact on any brand issues.
97
97
 
98
98
  For any usage outside of Deutsche Bahn websites and applications you aren't allowed to use any Deutsche Bahn brand and
@@ -95,6 +95,12 @@
95
95
  "licence": "https://lucide.dev/license#lucide-license",
96
96
  "origin": "x"
97
97
  },
98
+ {
99
+ "name": "circular_arrows.svg",
100
+ "type": "lucide",
101
+ "licence": "https://lucide.dev/license#lucide-license",
102
+ "origin": "refresh-cw"
103
+ },
98
104
  {
99
105
  "name": "check.svg",
100
106
  "type": "lucide",
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"/><path d="M8 16H3v5"/></svg>
@@ -24,7 +24,7 @@ The spacings are not part of the styling of the accordion items themselves.
24
24
  .db-accordion:not([data-variant]) .db-accordion-item + .db-accordion-item {
25
25
  margin-block-start: calc(2 * var(--db-spacing-fixed-sm));
26
26
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
27
- position: relative;
27
+ position: var(--db-tooltip-parent-position, relative);
28
28
  }
29
29
  .db-accordion[data-variant=divider] db-accordion-item + db-accordion-item .db-accordion-item[data-emphasis=strong],
30
30
  .db-accordion[data-variant=divider] .db-accordion-item + .db-accordion-item[data-emphasis=strong], .db-accordion:not([data-variant]) db-accordion-item + db-accordion-item .db-accordion-item[data-emphasis=strong],
@@ -99,6 +99,11 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
99
99
  transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
100
100
  }
101
101
  }
102
+ @keyframes rotate {
103
+ 100% {
104
+ transform: rotate(1turn);
105
+ }
106
+ }
102
107
  .db-accordion-item summary:not([data-hide-icon-after=true])::after {
103
108
  content: var(--db-icon, attr(data-icon));
104
109
  content: var(--db-icon, attr(data-icon))/"";
@@ -209,7 +214,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
209
214
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
210
215
  }
211
216
  .db-accordion-item summary:hover:not(:disabled, [aria-disabled=true]) {
212
- cursor: pointer;
217
+ cursor: var(--db-overwrite-cursor, pointer);
213
218
  background-color: var(--db-adaptive-bg-basic-level-1-hovered);
214
219
  }
215
220
  .db-accordion-item summary:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-accordion-item summary:hover:not(:disabled, [aria-disabled=true]):is(input) {
@@ -219,7 +224,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
219
224
  cursor: pointer;
220
225
  }
221
226
  .db-accordion-item summary:active:not(:disabled, [aria-disabled=true]) {
222
- cursor: pointer;
227
+ cursor: var(--db-overwrite-cursor, pointer);
223
228
  background-color: var(--db-adaptive-bg-basic-level-1-pressed);
224
229
  }
225
230
  .db-accordion-item summary:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-accordion-item summary:active:not(:disabled, [aria-disabled=true]):is(input) {
@@ -44,20 +44,20 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
44
44
  }
45
45
 
46
46
  .db-badge {
47
- border-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
48
- background-color: var(--db-adaptive-bg-basic-level-1-default);
47
+ border-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
48
+ background-color: var(--db-adaptive-bg-basic-level-3-default);
49
49
  color: var(--db-adaptive-on-bg-basic-emphasis-80-default);
50
50
  }
51
51
  .db-badge::before, .db-badge::after {
52
52
  --db-icon-color: var(--db-adaptive-on-bg-basic-emphasis-80-default);
53
53
  }
54
54
 
55
- .db-badge[data-emphasis=strong] {
55
+ .db-badge[data-emphasis=strong], .db-badge[data-emphasis=strong] .db-tab-remove-button {
56
56
  border-color: var(--db-adaptive-on-bg-basic-emphasis-80-default);
57
57
  background-color: var(--db-adaptive-bg-inverted-contrast-high-default);
58
58
  color: var(--db-adaptive-on-bg-inverted-default);
59
59
  }
60
- .db-badge[data-emphasis=strong]::before, .db-badge[data-emphasis=strong]::after {
60
+ .db-badge[data-emphasis=strong]::before, .db-badge[data-emphasis=strong] .db-tab-remove-button::before, .db-badge[data-emphasis=strong]::after, .db-badge[data-emphasis=strong] .db-tab-remove-button::after {
61
61
  --db-icon-color: var(--db-adaptive-on-bg-inverted-default);
62
62
  }
63
63
 
@@ -70,6 +70,58 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
70
70
  --db-icon-color: var(--db-adaptive-on-origin-default);
71
71
  }
72
72
 
73
+ .db-badge[data-emphasis=strong] .db-tab-remove-button {
74
+ /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
75
+ }
76
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled, [aria-disabled=true]) {
77
+ cursor: var(--db-overwrite-cursor, pointer);
78
+ background-color: var(--db-adaptive-bg-inverted-contrast-high-hovered);
79
+ }
80
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-badge[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled, [aria-disabled=true]):is(input) {
81
+ cursor: initial;
82
+ }
83
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-badge[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
84
+ cursor: pointer;
85
+ }
86
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:active:not(:disabled, [aria-disabled=true]) {
87
+ cursor: var(--db-overwrite-cursor, pointer);
88
+ background-color: var(--db-adaptive-bg-inverted-contrast-high-pressed);
89
+ }
90
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-badge[data-emphasis=strong] .db-tab-remove-button:active:not(:disabled, [aria-disabled=true]):is(input) {
91
+ cursor: initial;
92
+ }
93
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-badge[data-emphasis=strong] .db-tab-remove-button:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
94
+ cursor: pointer;
95
+ }
96
+
97
+ .db-badge[data-emphasis=strong] .db-tab-remove-button {
98
+ /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
99
+ }
100
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled, [aria-disabled=true]) {
101
+ cursor: var(--db-overwrite-cursor, pointer);
102
+ background-color: var(--db-adaptive-bg-inverted-contrast-high-hovered);
103
+ /* stylelint-disable-next-line db-ux/use-border-color */
104
+ border-color: var(--db-adaptive-bg-inverted-contrast-high-hovered);
105
+ }
106
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-badge[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled, [aria-disabled=true]):is(input) {
107
+ cursor: initial;
108
+ }
109
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-badge[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
110
+ cursor: pointer;
111
+ }
112
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:active:not(:disabled, [aria-disabled=true]) {
113
+ cursor: var(--db-overwrite-cursor, pointer);
114
+ background-color: var(--db-adaptive-bg-inverted-contrast-high-pressed);
115
+ /* stylelint-disable-next-line db-ux/use-border-color */
116
+ border-color: var(--db-adaptive-bg-inverted-contrast-high-pressed);
117
+ }
118
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-badge[data-emphasis=strong] .db-tab-remove-button:active:not(:disabled, [aria-disabled=true]):is(input) {
119
+ cursor: initial;
120
+ }
121
+ .db-badge[data-emphasis=strong] .db-tab-remove-button:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-badge[data-emphasis=strong] .db-tab-remove-button:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
122
+ cursor: pointer;
123
+ }
124
+
73
125
  .db-badge[data-placement^=corner] {
74
126
  position: absolute;
75
127
  transform: translate(var(--badge-transform-x), var(--badge-transform-y));
@@ -47,7 +47,7 @@
47
47
  @extend %db-overwrite-font-size-2xs;
48
48
  @extend %default-button;
49
49
 
50
- @include tag-components.get-tag-colors();
50
+ @include tag-components.get-tag-colors("badge");
51
51
 
52
52
  border-radius: variables.$db-border-radius-full;
53
53
  padding-inline: variables.$db-spacing-fixed-2xs;
@@ -58,7 +58,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
58
58
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
59
59
  }
60
60
  .db-button:hover:not(:disabled, [aria-disabled=true]) {
61
- cursor: pointer;
61
+ cursor: var(--db-overwrite-cursor, pointer);
62
62
  background-color: var(--db-adaptive-bg-basic-transparent-hovered);
63
63
  }
64
64
  .db-button:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-button:hover:not(:disabled, [aria-disabled=true]):is(input) {
@@ -68,7 +68,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
68
68
  cursor: pointer;
69
69
  }
70
70
  .db-button:active:not(:disabled, [aria-disabled=true]) {
71
- cursor: pointer;
71
+ cursor: var(--db-overwrite-cursor, pointer);
72
72
  background-color: var(--db-adaptive-bg-basic-transparent-pressed);
73
73
  }
74
74
  .db-button:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-button:active:not(:disabled, [aria-disabled=true]):is(input) {
@@ -111,7 +111,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
111
111
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
112
112
  }
113
113
  .db-button[data-variant=brand]:hover:not(:disabled, [aria-disabled=true]) {
114
- cursor: pointer;
114
+ cursor: var(--db-overwrite-cursor, pointer);
115
115
  background-color: var(--db-brand-origin-hovered);
116
116
  border-color: var(--db-brand-on-bg-basic-emphasis-70-hovered);
117
117
  }
@@ -122,7 +122,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
122
122
  cursor: pointer;
123
123
  }
124
124
  .db-button[data-variant=brand]:active:not(:disabled, [aria-disabled=true]) {
125
- cursor: pointer;
125
+ cursor: var(--db-overwrite-cursor, pointer);
126
126
  background-color: var(--db-brand-origin-pressed);
127
127
  border-color: var(--db-brand-on-bg-basic-emphasis-70-pressed);
128
128
  }
@@ -42,7 +42,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
42
42
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
43
43
  }
44
44
  .db-card[data-elevation-level="1"][data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]), .db-card:not([data-elevation-level])[data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]) {
45
- cursor: pointer;
45
+ cursor: var(--db-overwrite-cursor, pointer);
46
46
  background-color: var(--db-adaptive-bg-basic-level-1-hovered);
47
47
  }
48
48
  .db-card[data-elevation-level="1"][data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-card[data-elevation-level="1"][data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(input), .db-card:not([data-elevation-level])[data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-card:not([data-elevation-level])[data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(input) {
@@ -52,7 +52,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
52
52
  cursor: pointer;
53
53
  }
54
54
  .db-card[data-elevation-level="1"][data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]), .db-card:not([data-elevation-level])[data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]) {
55
- cursor: pointer;
55
+ cursor: var(--db-overwrite-cursor, pointer);
56
56
  background-color: var(--db-adaptive-bg-basic-level-1-pressed);
57
57
  }
58
58
  .db-card[data-elevation-level="1"][data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-card[data-elevation-level="1"][data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(input), .db-card:not([data-elevation-level])[data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-card:not([data-elevation-level])[data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(input) {
@@ -68,7 +68,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
68
68
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
69
69
  }
70
70
  .db-card[data-elevation-level="2"][data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]) {
71
- cursor: pointer;
71
+ cursor: var(--db-overwrite-cursor, pointer);
72
72
  background-color: var(--db-adaptive-bg-basic-level-2-hovered);
73
73
  }
74
74
  .db-card[data-elevation-level="2"][data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-card[data-elevation-level="2"][data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(input) {
@@ -78,7 +78,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
78
78
  cursor: pointer;
79
79
  }
80
80
  .db-card[data-elevation-level="2"][data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]) {
81
- cursor: pointer;
81
+ cursor: var(--db-overwrite-cursor, pointer);
82
82
  background-color: var(--db-adaptive-bg-basic-level-2-pressed);
83
83
  }
84
84
  .db-card[data-elevation-level="2"][data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-card[data-elevation-level="2"][data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(input) {
@@ -94,7 +94,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
94
94
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
95
95
  }
96
96
  .db-card[data-elevation-level="3"][data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]) {
97
- cursor: pointer;
97
+ cursor: var(--db-overwrite-cursor, pointer);
98
98
  background-color: var(--db-adaptive-bg-basic-level-3-hovered);
99
99
  }
100
100
  .db-card[data-elevation-level="3"][data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-card[data-elevation-level="3"][data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(input) {
@@ -104,7 +104,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
104
104
  cursor: pointer;
105
105
  }
106
106
  .db-card[data-elevation-level="3"][data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]) {
107
- cursor: pointer;
107
+ cursor: var(--db-overwrite-cursor, pointer);
108
108
  background-color: var(--db-adaptive-bg-basic-level-3-pressed);
109
109
  }
110
110
  .db-card[data-elevation-level="3"][data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-card[data-elevation-level="3"][data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(input) {
@@ -86,7 +86,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
86
86
  .db-checkbox .db-infotext {
87
87
  margin-block-start: var(--db-spacing-fixed-2xs);
88
88
  }
89
- .db-checkbox .db-infotext[data-semantic] {
89
+ .db-checkbox .db-infotext:is([data-semantic=successful], [data-semantic=critical]) {
90
90
  display: none;
91
91
  }
92
92
 
@@ -104,7 +104,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
104
104
  /* stylelint-disable-next-line at-rule-empty-line-before */
105
105
  }
106
106
  .db-checkbox:has(input:required):is(label)::after,
107
- .db-checkbox:has(input:required) label::after {
107
+ .db-checkbox:has(input:required) > label::after, .db-checkbox[data-required=true]:is(label)::after,
108
+ .db-checkbox[data-required=true] > label::after {
108
109
  content: "*";
109
110
  content: "*"/"";
110
111
  /* stylelint-disable-next-line db-ux/use-spacings */
@@ -144,7 +145,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
144
145
  --db-icon-color: var(--db-successful-on-bg-inverted-default);
145
146
  }
146
147
  .db-checkbox:has(input:not([data-custom-validity]):required:user-valid) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]) {
147
- cursor: pointer;
148
+ cursor: var(--db-overwrite-cursor, pointer);
148
149
  background-color: var(--db-successful-bg-inverted-contrast-high-hovered);
149
150
  }
150
151
  .db-checkbox:has(input:not([data-custom-validity]):required:user-valid) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input:not([data-custom-validity]):required:user-valid) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input) {
@@ -154,7 +155,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
154
155
  cursor: pointer;
155
156
  }
156
157
  .db-checkbox:has(input:not([data-custom-validity]):required:user-valid) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]) {
157
- cursor: pointer;
158
+ cursor: var(--db-overwrite-cursor, pointer);
158
159
  background-color: var(--db-successful-bg-inverted-contrast-high-pressed);
159
160
  }
160
161
  .db-checkbox:has(input:not([data-custom-validity]):required:user-valid) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input:not([data-custom-validity]):required:user-valid) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input) {
@@ -164,19 +165,19 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
164
165
  cursor: pointer;
165
166
  }
166
167
  .db-checkbox:has(input:not([data-custom-validity]):required:user-valid):is(label),
167
- .db-checkbox:has(input:not([data-custom-validity]):required:user-valid) label {
168
+ .db-checkbox:has(input:not([data-custom-validity]):required:user-valid) > label {
168
169
  color: var(--db-successful-on-bg-basic-emphasis-80-default);
169
170
  }
170
- .db-checkbox:has(input[data-custom-validity=valid]) .db-infotext {
171
+ .db-checkbox:has(input[data-custom-validity=valid]) .db-infotext, .db-checkbox[data-custom-validity=valid] .db-infotext {
171
172
  /* stylelint-disable-next-line at-rule-empty-line-before */
172
173
  }
173
- .db-checkbox:has(input[data-custom-validity=valid]) .db-infotext[data-semantic=successful] {
174
+ .db-checkbox:has(input[data-custom-validity=valid]) .db-infotext[data-semantic=successful], .db-checkbox[data-custom-validity=valid] .db-infotext[data-semantic=successful] {
174
175
  display: flex;
175
176
  }
176
- .db-checkbox:has(input[data-custom-validity=valid]) .db-infotext:not([data-semantic]) {
177
+ .db-checkbox:has(input[data-custom-validity=valid]) .db-infotext:not([data-semantic]), .db-checkbox[data-custom-validity=valid] .db-infotext:not([data-semantic]) {
177
178
  display: none;
178
179
  }
179
- .db-checkbox:has(input[data-custom-validity=valid]) input {
180
+ .db-checkbox:has(input[data-custom-validity=valid]) input, .db-checkbox[data-custom-validity=valid] input {
180
181
  --db-adaptive-bg-basic-transparent-semi: var(
181
182
  --db-successful-bg-basic-transparent-semi-default
182
183
  );
@@ -187,41 +188,42 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
187
188
  --db-successful-bg-basic-transparent-pressed
188
189
  );
189
190
  }
190
- .db-checkbox:has(input[data-custom-validity=valid]) input:not(:checked), .db-checkbox:has(input[data-custom-validity=valid]) input:is([type=radio]) {
191
+ .db-checkbox:has(input[data-custom-validity=valid]) input:not(:checked), .db-checkbox:has(input[data-custom-validity=valid]) input:is([type=radio]), .db-checkbox[data-custom-validity=valid] input:not(:checked), .db-checkbox[data-custom-validity=valid] input:is([type=radio]) {
191
192
  --db-check-element-border-color: var(
192
193
  --db-successful-on-bg-basic-emphasis-70-default
193
194
  );
194
195
  }
195
- .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked {
196
+ .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked, .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked {
196
197
  background-color: var(--db-successful-bg-inverted-contrast-high-default);
197
198
  color: var(--db-successful-on-bg-inverted-default);
198
199
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
199
200
  }
200
- .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked::before, .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked::after {
201
+ .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked::before, .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked::after, .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked::before, .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked::after {
201
202
  --db-icon-color: var(--db-successful-on-bg-inverted-default);
202
203
  }
203
- .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]) {
204
- cursor: pointer;
204
+ .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]), .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]) {
205
+ cursor: var(--db-overwrite-cursor, pointer);
205
206
  background-color: var(--db-successful-bg-inverted-contrast-high-hovered);
206
207
  }
207
- .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input) {
208
+ .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input), .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input) {
208
209
  cursor: initial;
209
210
  }
210
- .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
211
+ .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)), .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
211
212
  cursor: pointer;
212
213
  }
213
- .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]) {
214
- cursor: pointer;
214
+ .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]), .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]) {
215
+ cursor: var(--db-overwrite-cursor, pointer);
215
216
  background-color: var(--db-successful-bg-inverted-contrast-high-pressed);
216
217
  }
217
- .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input) {
218
+ .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input), .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input) {
218
219
  cursor: initial;
219
220
  }
220
- .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
221
+ .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox:has(input[data-custom-validity=valid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)), .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox[data-custom-validity=valid] input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
221
222
  cursor: pointer;
222
223
  }
223
224
  .db-checkbox:has(input[data-custom-validity=valid]):is(label),
224
- .db-checkbox:has(input[data-custom-validity=valid]) label {
225
+ .db-checkbox:has(input[data-custom-validity=valid]) > label, .db-checkbox[data-custom-validity=valid]:is(label),
226
+ .db-checkbox[data-custom-validity=valid] > label {
225
227
  color: var(--db-successful-on-bg-basic-emphasis-80-default);
226
228
  }
227
229
  .db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) .db-infotext[data-semantic=critical] {
@@ -255,7 +257,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
255
257
  --db-icon-color: var(--db-successful-on-bg-inverted-default);
256
258
  }
257
259
  .db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]) {
258
- cursor: pointer;
260
+ cursor: var(--db-overwrite-cursor, pointer);
259
261
  background-color: var(--db-successful-bg-inverted-contrast-high-hovered);
260
262
  }
261
263
  .db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input) {
@@ -265,7 +267,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
265
267
  cursor: pointer;
266
268
  }
267
269
  .db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]) {
268
- cursor: pointer;
270
+ cursor: var(--db-overwrite-cursor, pointer);
269
271
  background-color: var(--db-successful-bg-inverted-contrast-high-pressed);
270
272
  }
271
273
  .db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input) {
@@ -275,16 +277,16 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
275
277
  cursor: pointer;
276
278
  }
277
279
  .db-checkbox:has(input:not([data-custom-validity]):required:user-invalid):is(label),
278
- .db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) label {
280
+ .db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) > label {
279
281
  color: var(--db-critical-on-bg-basic-emphasis-80-default);
280
282
  }
281
- .db-checkbox:has(input[data-custom-validity=invalid]) .db-infotext[data-semantic=critical] {
283
+ .db-checkbox:has(input[data-custom-validity=invalid]) .db-infotext[data-semantic=critical], .db-checkbox[data-custom-validity=invalid] .db-infotext[data-semantic=critical] {
282
284
  display: flex;
283
285
  }
284
- .db-checkbox:has(input[data-custom-validity=invalid]) .db-infotext:not([data-semantic]) {
286
+ .db-checkbox:has(input[data-custom-validity=invalid]) .db-infotext:not([data-semantic]), .db-checkbox[data-custom-validity=invalid] .db-infotext:not([data-semantic]) {
285
287
  display: none;
286
288
  }
287
- .db-checkbox:has(input[data-custom-validity=invalid]) input {
289
+ .db-checkbox:has(input[data-custom-validity=invalid]) input, .db-checkbox[data-custom-validity=invalid] input {
288
290
  --db-adaptive-bg-basic-transparent-semi: var(
289
291
  --db-critical-bg-basic-transparent-semi-default
290
292
  );
@@ -295,83 +297,84 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
295
297
  --db-critical-bg-basic-transparent-pressed
296
298
  );
297
299
  }
298
- .db-checkbox:has(input[data-custom-validity=invalid]) input:not(:checked), .db-checkbox:has(input[data-custom-validity=invalid]) input:is([type=radio]) {
300
+ .db-checkbox:has(input[data-custom-validity=invalid]) input:not(:checked), .db-checkbox:has(input[data-custom-validity=invalid]) input:is([type=radio]), .db-checkbox[data-custom-validity=invalid] input:not(:checked), .db-checkbox[data-custom-validity=invalid] input:is([type=radio]) {
299
301
  --db-check-element-border-color: var(
300
302
  --db-critical-on-bg-basic-emphasis-70-default
301
303
  );
302
304
  }
303
- .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked {
305
+ .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked, .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked {
304
306
  background-color: var(--db-successful-bg-inverted-contrast-high-default);
305
307
  color: var(--db-successful-on-bg-inverted-default);
306
308
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
307
309
  }
308
- .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked::before, .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked::after {
310
+ .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked::before, .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked::after, .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked::before, .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked::after {
309
311
  --db-icon-color: var(--db-successful-on-bg-inverted-default);
310
312
  }
311
- .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]) {
312
- cursor: pointer;
313
+ .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]), .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]) {
314
+ cursor: var(--db-overwrite-cursor, pointer);
313
315
  background-color: var(--db-successful-bg-inverted-contrast-high-hovered);
314
316
  }
315
- .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input) {
317
+ .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input), .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input) {
316
318
  cursor: initial;
317
319
  }
318
- .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
320
+ .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)), .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
319
321
  cursor: pointer;
320
322
  }
321
- .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]) {
322
- cursor: pointer;
323
+ .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]), .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]) {
324
+ cursor: var(--db-overwrite-cursor, pointer);
323
325
  background-color: var(--db-successful-bg-inverted-contrast-high-pressed);
324
326
  }
325
- .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input) {
327
+ .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input), .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input) {
326
328
  cursor: initial;
327
329
  }
328
- .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
330
+ .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox:has(input[data-custom-validity=invalid]) input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)), .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox[data-custom-validity=invalid] input:not([type=radio]):checked:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
329
331
  cursor: pointer;
330
332
  }
331
333
  .db-checkbox:has(input[data-custom-validity=invalid]):is(label),
332
- .db-checkbox:has(input[data-custom-validity=invalid]) label {
334
+ .db-checkbox:has(input[data-custom-validity=invalid]) > label, .db-checkbox[data-custom-validity=invalid]:is(label),
335
+ .db-checkbox[data-custom-validity=invalid] > label {
333
336
  color: var(--db-critical-on-bg-basic-emphasis-80-default);
334
337
  }
335
338
  .db-checkbox:has(input:disabled) {
336
339
  opacity: 0.4;
337
340
  }
338
341
  .db-checkbox:is(label),
339
- .db-checkbox label {
342
+ .db-checkbox > label {
340
343
  display: flex;
341
344
  align-items: flex-start;
342
345
  position: relative;
343
346
  gap: var(--db-spacing-fixed-xs);
344
347
  }
345
348
  .db-checkbox:is(label):not(:has(input:disabled)),
346
- .db-checkbox label:not(:has(input:disabled)) {
349
+ .db-checkbox > label:not(:has(input:disabled)) {
347
350
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
348
351
  }
349
352
  .db-checkbox:is(label):not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]),
350
- .db-checkbox label:not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]) {
351
- cursor: pointer;
353
+ .db-checkbox > label:not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]) {
354
+ cursor: var(--db-overwrite-cursor, pointer);
352
355
  }
353
356
  .db-checkbox:is(label):not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:is(label):not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(input),
354
- .db-checkbox label:not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(textarea),
355
- .db-checkbox label:not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(input) {
357
+ .db-checkbox > label:not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(textarea),
358
+ .db-checkbox > label:not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(input) {
356
359
  cursor: initial;
357
360
  }
358
361
  .db-checkbox:is(label):not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox:is(label):not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)),
359
- .db-checkbox label:not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]),
360
- .db-checkbox label:not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
362
+ .db-checkbox > label:not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]),
363
+ .db-checkbox > label:not(:has(input:disabled)):hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
361
364
  cursor: pointer;
362
365
  }
363
366
  .db-checkbox:is(label):not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]),
364
- .db-checkbox label:not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]) {
365
- cursor: pointer;
367
+ .db-checkbox > label:not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]) {
368
+ cursor: var(--db-overwrite-cursor, pointer);
366
369
  }
367
370
  .db-checkbox:is(label):not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox:is(label):not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(input),
368
- .db-checkbox label:not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(textarea),
369
- .db-checkbox label:not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(input) {
371
+ .db-checkbox > label:not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(textarea),
372
+ .db-checkbox > label:not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(input) {
370
373
  cursor: initial;
371
374
  }
372
375
  .db-checkbox:is(label):not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-checkbox:is(label):not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)),
373
- .db-checkbox label:not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]),
374
- .db-checkbox label:not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
376
+ .db-checkbox > label:not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]),
377
+ .db-checkbox > label:not(:has(input:disabled)):active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
375
378
  cursor: pointer;
376
379
  }
377
380
  .db-checkbox input {
@@ -387,7 +390,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
387
390
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
388
391
  }
389
392
  .db-checkbox input:hover:not(:disabled, [aria-disabled=true]) {
390
- cursor: pointer;
393
+ cursor: var(--db-overwrite-cursor, pointer);
391
394
  background-color: var(--db-adaptive-bg-basic-transparent-hovered);
392
395
  }
393
396
  .db-checkbox input:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox input:hover:not(:disabled, [aria-disabled=true]):is(input) {
@@ -397,7 +400,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
397
400
  cursor: pointer;
398
401
  }
399
402
  .db-checkbox input:active:not(:disabled, [aria-disabled=true]) {
400
- cursor: pointer;
403
+ cursor: var(--db-overwrite-cursor, pointer);
401
404
  background-color: var(--db-adaptive-bg-basic-transparent-pressed);
402
405
  }
403
406
  .db-checkbox input:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox input:active:not(:disabled, [aria-disabled=true]):is(input) {
@@ -436,7 +439,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
436
439
  --db-icon-color: var(--db-adaptive-on-bg-inverted-default);
437
440
  }
438
441
  .db-checkbox input:checked:hover:not(:disabled, [aria-disabled=true]) {
439
- cursor: pointer;
442
+ cursor: var(--db-overwrite-cursor, pointer);
440
443
  background-color: var(--db-adaptive-bg-inverted-contrast-max-hovered);
441
444
  }
442
445
  .db-checkbox input:checked:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox input:checked:hover:not(:disabled, [aria-disabled=true]):is(input) {
@@ -446,7 +449,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
446
449
  cursor: pointer;
447
450
  }
448
451
  .db-checkbox input:checked:active:not(:disabled, [aria-disabled=true]) {
449
- cursor: pointer;
452
+ cursor: var(--db-overwrite-cursor, pointer);
450
453
  background-color: var(--db-adaptive-bg-inverted-contrast-max-pressed);
451
454
  }
452
455
  .db-checkbox input:checked:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-checkbox input:checked:active:not(:disabled, [aria-disabled=true]):is(input) {