@db-ux/core-components 4.6.1 → 4.7.0-tabs-34782eb

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 (49) hide show
  1. package/CHANGELOG.md +28 -16
  2. package/build/components/accordion-item/accordion-item.css +5 -3
  3. package/build/components/badge/badge.css +13 -7
  4. package/build/components/brand/brand.css +3 -3
  5. package/build/components/button/button.css +3 -1
  6. package/build/components/card/card.css +10 -6
  7. package/build/components/checkbox/checkbox.css +25 -21
  8. package/build/components/custom-button/custom-button.css +3 -1
  9. package/build/components/custom-select/custom-select.css +19 -15
  10. package/build/components/custom-select-dropdown/custom-select-dropdown.css +11 -3
  11. package/build/components/custom-select-form-field/custom-select-form-field.css +8 -6
  12. package/build/components/custom-select-list/custom-select-list.css +4 -2
  13. package/build/components/custom-select-list-item/custom-select-list-item.css +7 -5
  14. package/build/components/drawer/drawer.css +3 -3
  15. package/build/components/header/header.css +115 -60
  16. package/build/components/icon/icon.css +4 -2
  17. package/build/components/infotext/infotext.css +15 -15
  18. package/build/components/input/input.css +12 -10
  19. package/build/components/navigation/navigation.css +28 -12
  20. package/build/components/navigation-item/navigation-item.css +39 -19
  21. package/build/components/notification/notification.css +5 -5
  22. package/build/components/notification/notification.scss +1 -1
  23. package/build/components/page/page.css +13 -11
  24. package/build/components/popover/popover.css +25 -13
  25. package/build/components/radio/radio.css +10 -8
  26. package/build/components/section/section.css +3 -3
  27. package/build/components/select/select.css +11 -11
  28. package/build/components/select/select.scss +4 -4
  29. package/build/components/stack/stack-web-component.css +3 -3
  30. package/build/components/stack/stack.css +3 -3
  31. package/build/components/switch/switch.css +30 -20
  32. package/build/components/tab-item/tab-item.css +133 -157
  33. package/build/components/tab-item/tab-item.scss +105 -103
  34. package/build/components/tab-list/tab-list.css +46 -36
  35. package/build/components/tab-list/tab-list.scss +11 -9
  36. package/build/components/tab-panel/tab-panel.css +1 -2
  37. package/build/components/tab-panel/tab-panel.scss +2 -5
  38. package/build/components/tabs/tabs.css +227 -236
  39. package/build/components/tabs/tabs.scss +214 -234
  40. package/build/components/tag/tag.css +32 -11
  41. package/build/components/textarea/textarea.css +27 -17
  42. package/build/components/tooltip/tooltip.css +19 -9
  43. package/build/styles/absolute.css +32 -18
  44. package/build/styles/bundle.css +32 -18
  45. package/build/styles/index.css +31 -17
  46. package/build/styles/relative.css +32 -18
  47. package/build/styles/rollup.css +32 -18
  48. package/build/styles/webpack.css +32 -18
  49. package/package.json +6 -6
@@ -29,10 +29,6 @@
29
29
  }
30
30
  }
31
31
 
32
- .db-navigation > menu .db-navigation-item {
33
- /* stylelint-disable-next-line media-query-no-invalid */
34
- /* stylelint-disable-next-line at-rule-empty-line-before */
35
- }
36
32
  .db-navigation > menu .db-navigation-item::after {
37
33
  block-size: 0;
38
34
  inline-size: var(--db-border-width-xs);
@@ -41,6 +37,9 @@
41
37
  background-color: var(--db-brand-on-bg-basic-emphasis-70-default);
42
38
  inset-inline-start: calc(-1 * var(--db-spacing-fixed-xs));
43
39
  }
40
+ .db-navigation > menu .db-navigation-item {
41
+ /* stylelint-disable-next-line media-query-no-invalid */
42
+ }
44
43
  @media (min-width: 64em) {
45
44
  .db-navigation > menu .db-navigation-item:not([data-force-mobile])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item::after {
46
45
  block-size: var(--db-border-width-xs);
@@ -51,11 +50,10 @@
51
50
  inset-block: auto calc(-1 * var(--db-spacing-fixed-xs));
52
51
  }
53
52
  }
54
-
55
- .db-navigation > menu .db-navigation-item:has([aria-current=page]), .db-navigation > menu .db-navigation-item:has([data-active=true]), .db-navigation > menu .db-navigation-item[aria-current=page], .db-navigation > menu .db-navigation-item[data-active=true] {
56
- /* stylelint-disable-next-line media-query-no-invalid */
53
+ .db-navigation > menu .db-navigation-item {
57
54
  /* stylelint-disable-next-line at-rule-empty-line-before */
58
55
  }
56
+
59
57
  .db-navigation > menu .db-navigation-item:has([aria-current=page])::after, .db-navigation > menu .db-navigation-item:has([data-active=true])::after, .db-navigation > menu .db-navigation-item[aria-current=page]::after, .db-navigation > menu .db-navigation-item[data-active=true]::after {
60
58
  block-size: 100%;
61
59
  inline-size: var(--db-border-width-xs);
@@ -65,6 +63,9 @@
65
63
  border: calc(var(--db-border-width-xs) - 1px) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
66
64
  }
67
65
  }
66
+ .db-navigation > menu .db-navigation-item:has([aria-current=page]), .db-navigation > menu .db-navigation-item:has([data-active=true]), .db-navigation > menu .db-navigation-item[aria-current=page], .db-navigation > menu .db-navigation-item[data-active=true] {
67
+ /* stylelint-disable-next-line media-query-no-invalid */
68
+ }
68
69
  @media (min-width: 64em) {
69
70
  .db-navigation > menu .db-navigation-item:not([data-force-mobile]):has([aria-current=page])::after, .db-navigation > menu .db-navigation-item:not([data-force-mobile]):has([data-active=true])::after, .db-navigation > menu .db-navigation-item[aria-current=page]:not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item[data-active=true]:not([data-force-mobile])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item:has([aria-current=page])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item:has([data-active=true])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item[aria-current=page]::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item[data-active=true]::after {
70
71
  block-size: var(--db-border-width-xs);
@@ -76,12 +77,14 @@
76
77
  border: calc(var(--db-border-width-xs) - 1px) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
77
78
  }
78
79
  }
80
+ .db-navigation > menu .db-navigation-item:has([aria-current=page]), .db-navigation > menu .db-navigation-item:has([data-active=true]), .db-navigation > menu .db-navigation-item[aria-current=page], .db-navigation > menu .db-navigation-item[data-active=true] {
81
+ /* stylelint-disable-next-line at-rule-empty-line-before */
82
+ }
79
83
 
80
84
  .db-navigation {
81
85
  -webkit-tap-highlight-color: transparent; /* for removing the highlight */
82
86
  inline-size: 100%;
83
87
  /* stylelint-disable-next-line media-query-no-invalid */
84
- /* stylelint-disable-next-line at-rule-empty-line-before */
85
88
  }
86
89
  @media (min-width: 64em) {
87
90
  .db-navigation:not([data-force-mobile]), .db-navigation[data-force-mobile=false] {
@@ -89,6 +92,9 @@
89
92
  inline-size: auto;
90
93
  }
91
94
  }
95
+ .db-navigation {
96
+ /* stylelint-disable-next-line at-rule-empty-line-before */
97
+ }
92
98
  .db-navigation > menu {
93
99
  display: flex;
94
100
  flex-direction: column;
@@ -96,17 +102,18 @@
96
102
  margin: 0;
97
103
  gap: var(--db-spacing-fixed-sm);
98
104
  /* stylelint-disable-next-line media-query-no-invalid */
99
- /* stylelint-disable-next-line at-rule-empty-line-before */
100
105
  }
101
106
  @media (min-width: 64em) {
102
107
  .db-navigation > menu:not([data-force-mobile]), .db-navigation > menu[data-force-mobile=false] {
103
108
  flex-direction: row;
104
109
  }
105
110
  }
111
+ .db-navigation > menu {
112
+ /* stylelint-disable-next-line at-rule-empty-line-before */
113
+ }
106
114
  .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button),
107
115
  .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button {
108
116
  /* stylelint-disable-next-line media-query-no-invalid */
109
- /* stylelint-disable-next-line at-rule-empty-line-before */
110
117
  }
111
118
  @media (min-width: 64em) {
112
119
  .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button)[data-force-mobile=false]::after,
@@ -140,10 +147,13 @@
140
147
  transform: rotate(-180deg);
141
148
  }
142
149
  }
150
+ .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button),
151
+ .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button {
152
+ /* stylelint-disable-next-line at-rule-empty-line-before */
153
+ }
143
154
  .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button),
144
155
  .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button {
145
156
  /* stylelint-disable-next-line media-query-no-invalid */
146
- /* stylelint-disable-next-line at-rule-empty-line-before */
147
157
  }
148
158
  @media (min-width: 64em) {
149
159
  .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button):not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button)[data-force-mobile=false]::after,
@@ -170,15 +180,21 @@
170
180
  transform: none;
171
181
  }
172
182
  }
183
+ .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button),
184
+ .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button {
185
+ /* stylelint-disable-next-line at-rule-empty-line-before */
186
+ }
173
187
  .db-navigation > menu .db-navigation-item .db-navigation-item::after {
174
188
  display: none;
175
189
  }
176
190
  .db-navigation[data-force-close=true] > menu menu {
177
191
  /* stylelint-disable-next-line media-query-no-invalid */
178
- /* stylelint-disable-next-line at-rule-empty-line-before */
179
192
  }
180
193
  @media (min-width: 64em) {
181
194
  .db-navigation[data-force-close=true] > menu menu:not([data-force-mobile]):not([hidden]), .db-navigation[data-force-close=true] > menu menu[data-force-mobile=false]:not([hidden]) {
182
195
  display: none;
183
196
  }
184
197
  }
198
+ .db-navigation[data-force-close=true] > menu menu {
199
+ /* stylelint-disable-next-line at-rule-empty-line-before */
200
+ }
@@ -91,7 +91,6 @@
91
91
  .db-navigation-item .db-navigation-item-expand-button:is(button),
92
92
  .db-navigation-item .db-navigation-item-expand-button > button {
93
93
  /* stylelint-disable-next-line media-query-no-invalid */
94
- /* stylelint-disable-next-line at-rule-empty-line-before */
95
94
  }
96
95
  @media (min-width: 64em) {
97
96
  .db-navigation-item .db-navigation-item-expand-button:not([data-force-mobile]):is(:hover, :focus-visible):is(button) ~ .db-sub-navigation,
@@ -100,6 +99,10 @@
100
99
  visibility: visible;
101
100
  }
102
101
  }
102
+ .db-navigation-item .db-navigation-item-expand-button:is(button),
103
+ .db-navigation-item .db-navigation-item-expand-button > button {
104
+ /* stylelint-disable-next-line at-rule-empty-line-before */
105
+ }
103
106
 
104
107
  .db-navigation-item .db-navigation-item-expand-button:is(button),
105
108
  .db-navigation-item .db-navigation-item-expand-button > button, .db-navigation-item a {
@@ -112,12 +115,15 @@
112
115
  text-align: center;
113
116
  align-items: center;
114
117
  justify-content: space-between;
115
- /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
116
118
  }
117
119
  .db-navigation-item .db-navigation-item-expand-button:not([hidden]):is(button),
118
120
  .db-navigation-item .db-navigation-item-expand-button > button:not([hidden]), .db-navigation-item a:not([hidden]) {
119
121
  display: inline-flex;
120
122
  }
123
+ .db-navigation-item .db-navigation-item-expand-button:is(button),
124
+ .db-navigation-item .db-navigation-item-expand-button > button, .db-navigation-item a {
125
+ /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
126
+ }
121
127
  .db-navigation-item .db-navigation-item-expand-button:hover:not(:disabled,
122
128
  [aria-disabled=true],
123
129
  [tabindex="-1"],
@@ -245,9 +251,6 @@
245
251
 
246
252
  .db-navigation-item {
247
253
  --db-has-before: 0;
248
- position: relative;
249
- inline-size: auto;
250
- /* stylelint-disable-next-line media-query-no-invalid */
251
254
  }
252
255
  .db-navigation-item[data-icon-leading]:not([data-show-icon-leading=false])::before, .db-navigation-item[data-icon]:not([data-show-icon=false])::before {
253
256
  position: absolute;
@@ -266,6 +269,10 @@
266
269
  .db-navigation-item:not([hidden]) {
267
270
  display: inline-flex;
268
271
  }
272
+ .db-navigation-item {
273
+ position: relative;
274
+ inline-size: auto;
275
+ }
269
276
  .db-navigation-item[data-wrap=true] :is(a, .db-navigation-item-expand-button):first-of-type {
270
277
  white-space: normal;
271
278
  text-align: start;
@@ -276,6 +283,9 @@
276
283
  .db-navigation-item[data-force-mobile=true]:not([data-width=full]) .db-navigation-item-expand-button::after {
277
284
  --db-icon-margin-start: auto;
278
285
  }
286
+ .db-navigation-item {
287
+ /* stylelint-disable-next-line media-query-no-invalid */
288
+ }
279
289
  @media (max-width: 63.9375em) {
280
290
  .db-navigation-item:not([data-width=full]) {
281
291
  inline-size: 100%;
@@ -290,9 +300,6 @@
290
300
  .db-navigation-item a:focus-visible {
291
301
  z-index: 1;
292
302
  }
293
- .db-navigation-item .db-navigation-item-expand-button {
294
- /* stylelint-disable-next-line media-query-no-invalid */
295
- }
296
303
  .db-navigation-item .db-navigation-item-expand-button[data-force-mobile=true][aria-expanded=true] ~ .db-sub-navigation {
297
304
  visibility: visible;
298
305
  transform: translateX(0%);
@@ -315,6 +322,9 @@
315
322
  transition: visibility 0ms linear 410ms, transform var(--db-transition-duration-slow) var(--db-transition-timing-emotional);
316
323
  }
317
324
  }
325
+ .db-navigation-item .db-navigation-item-expand-button {
326
+ /* stylelint-disable-next-line media-query-no-invalid */
327
+ }
318
328
  @media (max-width: 63.9375em) {
319
329
  .db-navigation-item .db-navigation-item-expand-button[aria-expanded=true] ~ .db-sub-navigation {
320
330
  visibility: visible;
@@ -376,19 +386,16 @@
376
386
 
377
387
  .db-sub-navigation {
378
388
  margin: 0;
389
+ }
390
+ .db-sub-navigation:not([hidden]) {
391
+ display: flex;
392
+ }
393
+ .db-sub-navigation {
379
394
  flex-direction: column;
380
395
  z-index: 70;
381
396
  inset-inline-start: 0;
382
397
  background-color: var(--db-adaptive-bg-basic-level-1-default);
383
398
  visibility: hidden;
384
- /* stylelint-disable-next-line media-query-no-invalid */
385
- /* stylelint-disable-next-line media-query-no-invalid */
386
- /* stylelint-disable-next-line at-rule-empty-line-before */
387
- /* stylelint-disable-next-line media-query-no-invalid */
388
- /* stylelint-disable-next-line at-rule-empty-line-before */
389
- }
390
- .db-sub-navigation:not([hidden]) {
391
- display: flex;
392
399
  }
393
400
  .db-sub-navigation[data-force-mobile=true] {
394
401
  padding: var(--db-spacing-fixed-md);
@@ -398,6 +405,9 @@
398
405
  inset-inline-start: var(--db-spacing-fixed-xl);
399
406
  inset-block: calc(calc(var(--db-sizing-md) + 2 * var(--db-spacing-fixed-xs))) calc(var(--db-sizing-md) + var(--db-spacing-fixed-xs) * 2);
400
407
  }
408
+ .db-sub-navigation {
409
+ /* stylelint-disable-next-line media-query-no-invalid */
410
+ }
401
411
  @media (max-width: 63.9375em) {
402
412
  .db-sub-navigation {
403
413
  padding: var(--db-spacing-fixed-md);
@@ -408,11 +418,18 @@
408
418
  inset-block: calc(calc(var(--db-sizing-md) + 2 * var(--db-spacing-fixed-xs))) calc(var(--db-sizing-md) + var(--db-spacing-fixed-xs) * 2);
409
419
  }
410
420
  }
421
+ .db-sub-navigation {
422
+ /* stylelint-disable-next-line media-query-no-invalid */
423
+ }
411
424
  @media (min-width: 64em) {
412
425
  .db-sub-navigation:not([data-force-mobile]) .db-mobile-navigation-back:not([hidden]), .db-sub-navigation[data-force-mobile=false] .db-mobile-navigation-back:not([hidden]) {
413
426
  display: none;
414
427
  }
415
428
  }
429
+ .db-sub-navigation {
430
+ /* stylelint-disable-next-line at-rule-empty-line-before */
431
+ /* stylelint-disable-next-line media-query-no-invalid */
432
+ }
416
433
  @media (min-width: 64em) {
417
434
  .db-sub-navigation:not([data-force-mobile]), .db-sub-navigation[data-force-mobile=false] {
418
435
  border-radius: var(--db-border-radius-sm);
@@ -482,6 +499,9 @@
482
499
  inline-size: var(--db-spacing-fixed-xs);
483
500
  }
484
501
  }
502
+ .db-sub-navigation {
503
+ /* stylelint-disable-next-line at-rule-empty-line-before */
504
+ }
485
505
  .db-sub-navigation:empty:not([hidden]) {
486
506
  display: none;
487
507
  }
@@ -492,6 +512,9 @@
492
512
  margin-inline-start: auto;
493
513
  }
494
514
 
515
+ .db-mobile-navigation-back:not([hidden]) {
516
+ display: flex;
517
+ }
495
518
  .db-mobile-navigation-back {
496
519
  font-weight: normal;
497
520
  background-color: var(--db-adaptive-bg-basic-level-1-default);
@@ -500,9 +523,6 @@
500
523
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
501
524
  position: var(--db-tooltip-parent-position, relative);
502
525
  }
503
- .db-mobile-navigation-back:not([hidden]) {
504
- display: flex;
505
- }
506
526
  .db-mobile-navigation-back[data-emphasis=strong] {
507
527
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
508
528
  }
@@ -749,7 +749,7 @@
749
749
  );
750
750
  }
751
751
 
752
- .db-notification a[data-size=small], .db-notification p, .db-notification[data-link-variant=inline] a {
752
+ .db-notification a[data-size=small], .db-notification > [data-area=content], .db-notification[data-link-variant=inline] a {
753
753
  font: var(--db-type-body-md);
754
754
  /* Those variables are only for components to calculate heights and change icons */
755
755
  --db-icon-font-weight: var(--db-base-body-icon-weight-md);
@@ -1136,15 +1136,15 @@
1136
1136
  margin-block-start: -2px;
1137
1137
  }
1138
1138
 
1139
+ .db-notification:not([hidden]) {
1140
+ display: grid;
1141
+ }
1139
1142
  .db-notification {
1140
1143
  padding: var(--db-spacing-fixed-md);
1141
1144
  gap: var(--db-spacing-fixed-xs) var(--db-spacing-fixed-md);
1142
1145
  inline-size: inherit;
1143
1146
  background-color: var(--db-adaptive-bg-basic-level-2-default);
1144
1147
  }
1145
- .db-notification:not([hidden]) {
1146
- display: grid;
1147
- }
1148
1148
  .db-notification::before {
1149
1149
  --db-icon-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
1150
1150
  }
@@ -1182,7 +1182,7 @@
1182
1182
  --db-icon-font-size: var(--db-base-body-icon-font-size-md);
1183
1183
  --db-icon-font-weight: var(--db-base-body-icon-weight-md);
1184
1184
  }
1185
- .db-notification p {
1185
+ .db-notification > [data-area=content] {
1186
1186
  grid-area: content;
1187
1187
  margin: 0;
1188
1188
  }
@@ -82,7 +82,7 @@
82
82
  }
83
83
 
84
84
  // content
85
- p {
85
+ & > [data-area="content"] {
86
86
  @extend %db-overwrite-font-size-md;
87
87
 
88
88
  grid-area: content;
@@ -20,29 +20,34 @@
20
20
  .db-page:not([data-fonts-loaded]), .db-page[data-fonts-loaded=true] {
21
21
  opacity: 1;
22
22
  }
23
- .db-page[data-variant=fixed] {
24
- block-size: 100%;
25
- min-block-size: 100%;
26
- flex-direction: column;
27
- /* workaround for angular */
23
+ .db-page[data-variant=fixed] > :is(.db-header, .db-footer, header, footer):not([hidden]) {
24
+ display: flex;
28
25
  }
29
26
  .db-page[data-variant=fixed] > :is(.db-header, .db-footer, header, footer) {
30
27
  flex: 0 1 auto;
31
28
  flex-grow: 0;
32
29
  flex-shrink: 0;
33
30
  }
34
- .db-page[data-variant=fixed] > :is(.db-header, .db-footer, header, footer):not([hidden]) {
35
- display: flex;
31
+ .db-page[data-variant=fixed] {
32
+ block-size: 100%;
33
+ min-block-size: 100%;
36
34
  }
37
35
  .db-page[data-variant=fixed]:not([hidden]) {
38
36
  display: flex;
39
37
  }
38
+ .db-page[data-variant=fixed] {
39
+ flex-direction: column;
40
+ /* workaround for angular */
41
+ }
42
+ .db-page[data-variant=fixed] > :is(db-header, dbheader, dbfooter, db-footer) > :is(.db-header, .db-footer, header, footer):not([hidden]) {
43
+ display: flex;
44
+ }
40
45
  .db-page[data-variant=fixed] > :is(db-header, dbheader, dbfooter, db-footer) > :is(.db-header, .db-footer, header, footer) {
41
46
  flex: 0 1 auto;
42
47
  flex-grow: 0;
43
48
  flex-shrink: 0;
44
49
  }
45
- .db-page[data-variant=fixed] > :is(db-header, dbheader, dbfooter, db-footer) > :is(.db-header, .db-footer, header, footer):not([hidden]) {
50
+ .db-page[data-variant=fixed] > .db-main:not([hidden]) {
46
51
  display: flex;
47
52
  }
48
53
  .db-page[data-variant=fixed] > .db-main {
@@ -51,7 +56,4 @@
51
56
  flex: 1 1 auto;
52
57
  inline-size: 100%;
53
58
  }
54
- .db-page[data-variant=fixed] > .db-main:not([hidden]) {
55
- display: flex;
56
- }
57
59
  }
@@ -38,7 +38,6 @@
38
38
 
39
39
  .db-popover > article {
40
40
  --db-popover-distance: var(--db-spacing-fixed-2xs);
41
- /* This is for pure html css without using JS */
42
41
  }
43
42
  .db-popover > article::before {
44
43
  content: "";
@@ -71,6 +70,9 @@
71
70
  .db-popover > article:is(.db-tooltip) {
72
71
  --db-popover-distance: var(--db-spacing-fixed-sm);
73
72
  }
73
+ .db-popover > article {
74
+ /* This is for pure html css without using JS */
75
+ }
74
76
  .db-popover > article:not([data-corrected-placement])[data-placement^=bottom][data-placement$=end], .db-popover > article:not([data-corrected-placement])[data-placement^=top][data-placement$=end] {
75
77
  inset-inline-end: 0;
76
78
  }
@@ -139,8 +141,6 @@
139
141
  @media (prefers-reduced-motion: no-preference) {
140
142
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-corrected-placement])[data-animation=true]:not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-corrected-placement])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-corrected-placement])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-corrected-placement])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=bottom][data-animation=true]:not([data-open=false]), .db-popover > article[data-corrected-placement^=bottom][data-animation=true][data-open=true] {
141
143
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
142
- /* stylelint-disable-next-line media-query-no-invalid */
143
- /* stylelint-disable-next-line at-rule-empty-line-before */
144
144
  }
145
145
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-corrected-placement])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-corrected-placement])[data-animation=true][data-delay=slow], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-corrected-placement])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-corrected-placement])[data-animation=true][data-delay=slow], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=bottom][data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-corrected-placement^=bottom][data-animation=true][data-delay=slow][data-open=true] {
146
146
  animation-delay: var(--db-transition-duration-extra-slow);
@@ -148,6 +148,10 @@
148
148
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-corrected-placement])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-corrected-placement])[data-animation=true][data-delay=fast], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-corrected-placement])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-corrected-placement])[data-animation=true][data-delay=fast], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=bottom][data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-corrected-placement^=bottom][data-animation=true][data-delay=fast][data-open=true] {
149
149
  animation-delay: var(--db-transition-duration-medium);
150
150
  }
151
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-corrected-placement])[data-animation=true]:not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-corrected-placement])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-corrected-placement])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-corrected-placement])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=bottom][data-animation=true]:not([data-open=false]), .db-popover > article[data-corrected-placement^=bottom][data-animation=true][data-open=true] {
152
+ /* stylelint-disable-next-line media-query-no-invalid */
153
+ /* stylelint-disable-next-line at-rule-empty-line-before */
154
+ }
151
155
  }
152
156
  @media (prefers-reduced-motion: no-preference) and (width <= 64em) {
153
157
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-corrected-placement])[data-animation=true]:not([data-delay]):not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-corrected-placement])[data-animation=true]:not([data-delay]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-corrected-placement])[data-animation=true]:not([data-delay]):not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-corrected-placement])[data-animation=true]:not([data-delay]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=bottom][data-animation=true]:not([data-delay]):not([data-open=false]), .db-popover > article[data-corrected-placement^=bottom][data-animation=true][data-open=true]:not([data-delay]) {
@@ -170,8 +174,6 @@
170
174
  @media (prefers-reduced-motion: no-preference) {
171
175
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-corrected-placement])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-corrected-placement])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=top][data-animation=true]:not([data-open=false]), .db-popover > article[data-corrected-placement^=top][data-animation=true][data-open=true] {
172
176
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
173
- /* stylelint-disable-next-line media-query-no-invalid */
174
- /* stylelint-disable-next-line at-rule-empty-line-before */
175
177
  }
176
178
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-corrected-placement])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-corrected-placement])[data-animation=true][data-delay=slow], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=top][data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-corrected-placement^=top][data-animation=true][data-delay=slow][data-open=true] {
177
179
  animation-delay: var(--db-transition-duration-extra-slow);
@@ -179,6 +181,10 @@
179
181
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-corrected-placement])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-corrected-placement])[data-animation=true][data-delay=fast], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=top][data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-corrected-placement^=top][data-animation=true][data-delay=fast][data-open=true] {
180
182
  animation-delay: var(--db-transition-duration-medium);
181
183
  }
184
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-corrected-placement])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-corrected-placement])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=top][data-animation=true]:not([data-open=false]), .db-popover > article[data-corrected-placement^=top][data-animation=true][data-open=true] {
185
+ /* stylelint-disable-next-line media-query-no-invalid */
186
+ /* stylelint-disable-next-line at-rule-empty-line-before */
187
+ }
182
188
  }
183
189
  @media (prefers-reduced-motion: no-preference) and (width <= 64em) {
184
190
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-corrected-placement])[data-animation=true]:not([data-delay]):not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-corrected-placement])[data-animation=true]:not([data-delay]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=top][data-animation=true]:not([data-delay]):not([data-open=false]), .db-popover > article[data-corrected-placement^=top][data-animation=true][data-open=true]:not([data-delay]) {
@@ -201,8 +207,6 @@
201
207
  @media (prefers-reduced-motion: no-preference) {
202
208
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-corrected-placement])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-corrected-placement])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=right][data-animation=true]:not([data-open=false]), .db-popover > article[data-corrected-placement^=right][data-animation=true][data-open=true] {
203
209
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
204
- /* stylelint-disable-next-line media-query-no-invalid */
205
- /* stylelint-disable-next-line at-rule-empty-line-before */
206
210
  }
207
211
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-corrected-placement])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-corrected-placement])[data-animation=true][data-delay=slow], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=right][data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-corrected-placement^=right][data-animation=true][data-delay=slow][data-open=true] {
208
212
  animation-delay: var(--db-transition-duration-extra-slow);
@@ -210,6 +214,10 @@
210
214
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-corrected-placement])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-corrected-placement])[data-animation=true][data-delay=fast], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=right][data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-corrected-placement^=right][data-animation=true][data-delay=fast][data-open=true] {
211
215
  animation-delay: var(--db-transition-duration-medium);
212
216
  }
217
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-corrected-placement])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-corrected-placement])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=right][data-animation=true]:not([data-open=false]), .db-popover > article[data-corrected-placement^=right][data-animation=true][data-open=true] {
218
+ /* stylelint-disable-next-line media-query-no-invalid */
219
+ /* stylelint-disable-next-line at-rule-empty-line-before */
220
+ }
213
221
  }
214
222
  @media (prefers-reduced-motion: no-preference) and (width <= 64em) {
215
223
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-corrected-placement])[data-animation=true]:not([data-delay]):not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-corrected-placement])[data-animation=true]:not([data-delay]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=right][data-animation=true]:not([data-delay]):not([data-open=false]), .db-popover > article[data-corrected-placement^=right][data-animation=true][data-open=true]:not([data-delay]) {
@@ -232,8 +240,6 @@
232
240
  @media (prefers-reduced-motion: no-preference) {
233
241
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-corrected-placement])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-corrected-placement])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=left][data-animation=true]:not([data-open=false]), .db-popover > article[data-corrected-placement^=left][data-animation=true][data-open=true] {
234
242
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
235
- /* stylelint-disable-next-line media-query-no-invalid */
236
- /* stylelint-disable-next-line at-rule-empty-line-before */
237
243
  }
238
244
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-corrected-placement])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-corrected-placement])[data-animation=true][data-delay=slow], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=left][data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-corrected-placement^=left][data-animation=true][data-delay=slow][data-open=true] {
239
245
  animation-delay: var(--db-transition-duration-extra-slow);
@@ -241,6 +247,10 @@
241
247
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-corrected-placement])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-corrected-placement])[data-animation=true][data-delay=fast], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=left][data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-corrected-placement^=left][data-animation=true][data-delay=fast][data-open=true] {
242
248
  animation-delay: var(--db-transition-duration-medium);
243
249
  }
250
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-corrected-placement])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-corrected-placement])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=left][data-animation=true]:not([data-open=false]), .db-popover > article[data-corrected-placement^=left][data-animation=true][data-open=true] {
251
+ /* stylelint-disable-next-line media-query-no-invalid */
252
+ /* stylelint-disable-next-line at-rule-empty-line-before */
253
+ }
244
254
  }
245
255
  @media (prefers-reduced-motion: no-preference) and (width <= 64em) {
246
256
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-corrected-placement])[data-animation=true]:not([data-delay]):not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-corrected-placement])[data-animation=true]:not([data-delay]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=left][data-animation=true]:not([data-delay]):not([data-open=false]), .db-popover > article[data-corrected-placement^=left][data-animation=true][data-open=true]:not([data-delay]) {
@@ -266,18 +276,20 @@
266
276
 
267
277
  .db-popover {
268
278
  position: relative;
269
- block-size: fit-content;
270
- inline-size: fit-content;
271
279
  }
272
280
  .db-popover:not([hidden]) {
273
281
  display: flex;
274
282
  }
275
- .db-popover > article {
276
- /* stylelint-disable-next-line at-rule-empty-line-before */
283
+ .db-popover {
284
+ block-size: fit-content;
285
+ inline-size: fit-content;
277
286
  }
278
287
  .db-popover > article:not([data-spacing]) {
279
288
  padding: var(--db-spacing-fixed-sm);
280
289
  }
290
+ .db-popover > article {
291
+ /* stylelint-disable-next-line at-rule-empty-line-before */
292
+ }
281
293
  .db-popover > article[data-spacing=large] {
282
294
  padding: var(--db-spacing-fixed-lg);
283
295
  }
@@ -32,10 +32,6 @@
32
32
  --db-icon-font-size: var(--db-base-body-icon-font-size-sm);
33
33
  }
34
34
 
35
- .db-radio {
36
- /* stylelint-disable-next-line at-rule-empty-line-before */
37
- /* stylelint-disable-next-line at-rule-empty-line-before */
38
- }
39
35
  .db-radio:not([data-hide-asterisk=true]):has(input:required):is(label)::after,
40
36
  .db-radio:not([data-hide-asterisk=true]):has(input:required) > label::after, .db-radio:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
41
37
  .db-radio:not([data-hide-asterisk=true])[data-required=true] > label::after {
@@ -53,16 +49,16 @@
53
49
  .db-radio:has(input:disabled) {
54
50
  opacity: var(--db-opacity-md);
55
51
  }
52
+ .db-radio:is(label):not([hidden]),
53
+ .db-radio > label:not([hidden]) {
54
+ display: flex;
55
+ }
56
56
  .db-radio:is(label),
57
57
  .db-radio > label {
58
58
  align-items: flex-start;
59
59
  position: relative;
60
60
  color: var(--db-check-element-label-color, var(--db-adaptive-on-bg-basic-emphasis-100-default));
61
61
  }
62
- .db-radio:is(label):not([hidden]),
63
- .db-radio > label:not([hidden]) {
64
- display: flex;
65
- }
66
62
  .db-radio input {
67
63
  background-color: var(--db-adaptive-bg-basic-transparent-full-default);
68
64
  place-content: center center;
@@ -133,6 +129,9 @@
133
129
  --db-successful-bg-basic-transparent-full-pressed
134
130
  );
135
131
  }
132
+ .db-radio {
133
+ /* stylelint-disable-next-line at-rule-empty-line-before */
134
+ }
136
135
  .db-radio:has(input[data-custom-validity=valid]), .db-radio[data-custom-validity=valid] {
137
136
  --db-check-element-border-color: var(
138
137
  --db-successful-on-bg-basic-emphasis-70-default
@@ -179,6 +178,9 @@
179
178
  --db-critical-bg-basic-transparent-full-pressed
180
179
  );
181
180
  }
181
+ .db-radio {
182
+ /* stylelint-disable-next-line at-rule-empty-line-before */
183
+ }
182
184
  .db-radio:has(input[data-custom-validity=invalid]), .db-radio[data-custom-validity=invalid] {
183
185
  --db-check-element-border-color: var(
184
186
  --db-critical-on-bg-basic-emphasis-70-default
@@ -1,7 +1,4 @@
1
1
  /* Variants for adaptive components like input, select, notification, ... */
2
- .db-section {
3
- /* stylelint-disable-next-line at-rule-empty-line-before */
4
- }
5
2
  .db-section:not([data-width]), .db-section[data-width=full] {
6
3
  padding-inline: var(--db-spacing-fixed-md);
7
4
  }
@@ -17,6 +14,9 @@
17
14
  .db-section:not([data-spacing]) {
18
15
  padding-block: var(--db-spacing-responsive-md);
19
16
  }
17
+ .db-section {
18
+ /* stylelint-disable-next-line at-rule-empty-line-before */
19
+ }
20
20
  .db-section[data-spacing=large] {
21
21
  padding-block: var(--db-spacing-responsive-lg);
22
22
  }
@@ -644,14 +644,14 @@ input[type=radio]:checked) select:is([type=date],
644
644
  color: var(--db-successful-on-bg-basic-emphasis-100-default);
645
645
  caret-color: var(--db-successful-on-bg-basic-emphasis-100-default);
646
646
  }
647
- .db-select:has(select:not([data-custom-validity]):is(:required):user-valid) > db-infotext > .db-infotext,
648
- .db-select:has(select:not([data-custom-validity]):is(:required):user-valid) > .db-infotext {
649
- /* stylelint-disable-next-line at-rule-empty-line-before */
650
- }
651
647
  .db-select:has(select:not([data-custom-validity]):is(:required):user-valid) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
652
648
  .db-select:has(select:not([data-custom-validity]):is(:required):user-valid) > .db-infotext[data-semantic=successful]:not([hidden]) {
653
649
  display: flex;
654
650
  }
651
+ .db-select:has(select:not([data-custom-validity]):is(:required):user-valid) > db-infotext > .db-infotext,
652
+ .db-select:has(select:not([data-custom-validity]):is(:required):user-valid) > .db-infotext {
653
+ /* stylelint-disable-next-line at-rule-empty-line-before */
654
+ }
655
655
  .db-select:has(select:not([data-custom-validity]):is(:required):user-valid) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
656
656
  .db-select:has(select:not([data-custom-validity]):is(:required):user-valid) > .db-infotext:not([data-semantic]):not([hidden]) {
657
657
  display: none;
@@ -665,16 +665,16 @@ input[type=radio]:checked) select:is([type=date],
665
665
  color: var(--db-successful-on-bg-basic-emphasis-100-default);
666
666
  caret-color: var(--db-successful-on-bg-basic-emphasis-100-default);
667
667
  }
668
- .db-select:has(select[data-custom-validity=valid]) > db-infotext > .db-infotext,
669
- .db-select:has(select[data-custom-validity=valid]) > .db-infotext, .db-select[data-custom-validity=valid] > db-infotext > .db-infotext,
670
- .db-select[data-custom-validity=valid] > .db-infotext {
671
- /* stylelint-disable-next-line at-rule-empty-line-before */
672
- }
673
668
  .db-select:has(select[data-custom-validity=valid]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
674
669
  .db-select:has(select[data-custom-validity=valid]) > .db-infotext[data-semantic=successful]:not([hidden]), .db-select[data-custom-validity=valid] > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
675
670
  .db-select[data-custom-validity=valid] > .db-infotext[data-semantic=successful]:not([hidden]) {
676
671
  display: flex;
677
672
  }
673
+ .db-select:has(select[data-custom-validity=valid]) > db-infotext > .db-infotext,
674
+ .db-select:has(select[data-custom-validity=valid]) > .db-infotext, .db-select[data-custom-validity=valid] > db-infotext > .db-infotext,
675
+ .db-select[data-custom-validity=valid] > .db-infotext {
676
+ /* stylelint-disable-next-line at-rule-empty-line-before */
677
+ }
678
678
  .db-select:has(select[data-custom-validity=valid]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
679
679
  .db-select:has(select[data-custom-validity=valid]) > .db-infotext:not([data-semantic]):not([hidden]), .db-select[data-custom-validity=valid] > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
680
680
  .db-select[data-custom-validity=valid] > .db-infotext:not([data-semantic]):not([hidden]) {
@@ -834,7 +834,7 @@ select[aria-disabled=true]) {
834
834
  .db-select optgroup {
835
835
  background-color: var(--db-adaptive-bg-basic-level-3-default);
836
836
  }
837
- .db-select:has(> select option:checked:not(.placeholder)) [id$=-placeholder],
838
- .db-select:has(> select option:checked:not(.placeholder)) option[data-show-empty-option=false] {
837
+ .db-select select:is(:has(option:checked:not(.placeholder)), :open) ~ [id$=-placeholder],
838
+ .db-select select:is(:has(option:checked:not(.placeholder)), :open) option[data-show-empty-option=false] {
839
839
  display: none;
840
840
  }
@@ -44,10 +44,10 @@
44
44
  background-color: colors.$db-adaptive-bg-basic-level-3-default;
45
45
  }
46
46
 
47
- &:has(> select option:checked:not(.placeholder)) {
48
- [id$="-placeholder"],
49
- // Hide placeholder option in dropdown for required selects after a selection has been made
50
- // This prevents users from selecting an invalid empty option when the field is required
47
+ select:is(:has(option:checked:not(.placeholder)), :open) {
48
+ & ~ [id$="-placeholder"],
49
+ // Hide the placeholder and an inserted empty `option` with
50
+ // `data-show-empty-option="false"` once a non-placeholder option is selected or the `select` is open
51
51
  option[data-show-empty-option="false"] {
52
52
  display: none;
53
53
  }