@db-ux/core-components 3.1.15 → 3.1.17

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 (69) hide show
  1. package/build/components/accordion-item/accordion-item.css +3 -1
  2. package/build/components/accordion-item/accordion-item.scss +3 -1
  3. package/build/components/badge/badge.css +3 -1
  4. package/build/components/brand/brand.css +3 -1
  5. package/build/components/brand/brand.scss +2 -1
  6. package/build/components/button/button.css +3 -1
  7. package/build/components/card/card.css +3 -1
  8. package/build/components/card/card.scss +1 -1
  9. package/build/components/checkbox/checkbox.css +29 -24
  10. package/build/components/checkbox/checkbox.scss +2 -1
  11. package/build/components/custom-select/custom-select.css +28 -26
  12. package/build/components/custom-select/custom-select.scss +1 -1
  13. package/build/components/custom-select-dropdown/custom-select-dropdown.css +3 -3
  14. package/build/components/custom-select-dropdown/custom-select-dropdown.scss +1 -1
  15. package/build/components/custom-select-form-field/custom-select-form-field.css +6 -2
  16. package/build/components/custom-select-form-field/custom-select-form-field.scss +5 -2
  17. package/build/components/custom-select-list/custom-select-list.css +3 -1
  18. package/build/components/custom-select-list/custom-select-list.scss +4 -1
  19. package/build/components/custom-select-list-item/custom-select-list-item.css +3 -1
  20. package/build/components/custom-select-list-item/custom-select-list-item.scss +2 -1
  21. package/build/components/drawer/drawer.css +8 -4
  22. package/build/components/drawer/drawer.scss +4 -5
  23. package/build/components/header/header.css +46 -24
  24. package/build/components/header/header.scss +27 -18
  25. package/build/components/icon/icon.css +1 -1
  26. package/build/components/icon/icon.scss +2 -1
  27. package/build/components/infotext/infotext.css +2 -0
  28. package/build/components/infotext/infotext.scss +2 -2
  29. package/build/components/input/input.css +30 -26
  30. package/build/components/link/link.css +2 -2
  31. package/build/components/navigation/navigation.css +4 -2
  32. package/build/components/navigation/navigation.scss +4 -2
  33. package/build/components/navigation-item/navigation-item.css +15 -6
  34. package/build/components/navigation-item/navigation-item.scss +10 -6
  35. package/build/components/notification/notification-grid-non-overlay.scss +3 -1
  36. package/build/components/notification/notification.css +6 -4
  37. package/build/components/notification/notification.scss +2 -1
  38. package/build/components/page/page.css +12 -4
  39. package/build/components/page/page.scss +8 -3
  40. package/build/components/popover/popover.css +3 -1
  41. package/build/components/popover/popover.scss +4 -1
  42. package/build/components/radio/radio.css +4 -1
  43. package/build/components/select/select.css +28 -26
  44. package/build/components/select/select.scss +2 -1
  45. package/build/components/stack/stack-web-component.css +3 -1
  46. package/build/components/stack/stack.css +3 -1
  47. package/build/components/switch/switch.css +7 -2
  48. package/build/components/switch/switch.scss +3 -1
  49. package/build/components/tab-item/tab-item.css +6 -2
  50. package/build/components/tab-item/tab-item.scss +6 -2
  51. package/build/components/tab-list/tab-list.css +3 -1
  52. package/build/components/tab-list/tab-list.scss +2 -1
  53. package/build/components/tab-panel/tab-panel.css +1 -1
  54. package/build/components/tab-panel/tab-panel.scss +2 -1
  55. package/build/components/tabs/tabs.css +58 -56
  56. package/build/components/tabs/tabs.scss +4 -3
  57. package/build/components/tag/tag.css +11 -5
  58. package/build/components/tag/tag.scss +5 -3
  59. package/build/components/textarea/textarea.css +27 -25
  60. package/build/styles/absolute.css +16 -16
  61. package/build/styles/index.css +15 -15
  62. package/build/styles/internal/_button-components.scss +5 -1
  63. package/build/styles/internal/_form-components.scss +8 -6
  64. package/build/styles/internal/_link-components.scss +2 -2
  65. package/build/styles/internal/_stack-components.scss +2 -1
  66. package/build/styles/relative.css +16 -16
  67. package/build/styles/rollup.css +16 -16
  68. package/build/styles/webpack.css +16 -16
  69. package/package.json +4 -3
@@ -277,7 +277,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
277
277
  background-color: var(--db-adaptive-bg-basic-transparent-full-default);
278
278
  cursor: pointer;
279
279
  inline-size: 100%;
280
- display: inline-flex;
281
280
  border-radius: var(--db-border-radius-sm);
282
281
  padding: var(--db-spacing-fixed-xs) var(--db-spacing-fixed-sm);
283
282
  white-space: nowrap;
@@ -286,6 +285,10 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
286
285
  justify-content: space-between;
287
286
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
288
287
  }
288
+ .db-navigation-item .db-navigation-item-expand-button:not([hidden]):is(button),
289
+ .db-navigation-item .db-navigation-item-expand-button > button:not([hidden]), .db-navigation-item a:not([hidden]) {
290
+ display: inline-flex;
291
+ }
289
292
  .db-navigation-item .db-navigation-item-expand-button:hover:not(:disabled, [aria-disabled=true]):is(button),
290
293
  .db-navigation-item .db-navigation-item-expand-button > button:hover:not(:disabled, [aria-disabled=true]), .db-navigation-item a:hover:not(:disabled, [aria-disabled=true]) {
291
294
  cursor: var(--db-overwrite-cursor, pointer);
@@ -323,7 +326,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
323
326
 
324
327
  .db-navigation-item {
325
328
  --db-has-before: 0;
326
- display: inline-flex;
327
329
  position: relative;
328
330
  inline-size: auto;
329
331
  /* stylelint-disable-next-line media-query-no-invalid */
@@ -345,6 +347,9 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
345
347
  /* stylelint-disable-next-line db-ux/use-spacings */
346
348
  padding-inline-start: var(--db-padding-inline-start);
347
349
  }
350
+ .db-navigation-item:not([hidden]) {
351
+ display: inline-flex;
352
+ }
348
353
  .db-navigation-item[data-wrap=true] :is(a, .db-navigation-item-expand-button):first-of-type {
349
354
  white-space: normal;
350
355
  text-align: start;
@@ -441,7 +446,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
441
446
 
442
447
  .db-sub-navigation {
443
448
  margin: 0;
444
- display: flex;
445
449
  flex-direction: column;
446
450
  z-index: 70;
447
451
  inset-inline-start: 0;
@@ -453,6 +457,9 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
453
457
  /* stylelint-disable-next-line media-query-no-invalid */
454
458
  /* stylelint-disable-next-line at-rule-empty-line-before */
455
459
  }
460
+ .db-sub-navigation:not([hidden]) {
461
+ display: flex;
462
+ }
456
463
  .db-sub-navigation[data-force-mobile=true] {
457
464
  padding: var(--db-spacing-fixed-md);
458
465
  inline-size: 100%;
@@ -470,7 +477,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
470
477
  }
471
478
  }
472
479
  @media screen and (min-width: 64em) {
473
- .db-sub-navigation:not([data-force-mobile]) .db-mobile-navigation-back, .db-sub-navigation[data-force-mobile=false] .db-mobile-navigation-back {
480
+ .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]) {
474
481
  display: none;
475
482
  }
476
483
  }
@@ -542,7 +549,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
542
549
  inline-size: var(--db-spacing-fixed-xs);
543
550
  }
544
551
  }
545
- .db-sub-navigation:empty {
552
+ .db-sub-navigation:empty:not([hidden]) {
546
553
  display: none;
547
554
  }
548
555
  .db-sub-navigation .db-navigation-item {
@@ -553,7 +560,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
553
560
  }
554
561
 
555
562
  .db-mobile-navigation-back {
556
- display: flex;
557
563
  font-weight: normal;
558
564
  background-color: var(--db-adaptive-bg-basic-level-1-default);
559
565
  padding-block-end: var(--db-spacing-fixed-md);
@@ -561,6 +567,9 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
561
567
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
562
568
  position: var(--db-tooltip-parent-position, relative);
563
569
  }
570
+ .db-mobile-navigation-back:not([hidden]) {
571
+ display: flex;
572
+ }
564
573
  .db-mobile-navigation-back[data-emphasis=strong] {
565
574
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
566
575
  }
@@ -56,7 +56,6 @@
56
56
  background-color: colors.$db-adaptive-bg-basic-transparent-full-default;
57
57
  cursor: pointer;
58
58
  inline-size: 100%;
59
- display: inline-flex;
60
59
  border-radius: variables.$db-border-radius-sm;
61
60
  padding: variables.$db-spacing-fixed-xs variables.$db-spacing-fixed-sm;
62
61
  white-space: nowrap; // we don't want to break
@@ -64,6 +63,8 @@
64
63
  align-items: center; // Centering the content vertically and horizontally
65
64
  justify-content: space-between;
66
65
 
66
+ @include helpers.display(inline-flex);
67
+
67
68
  @include helpers.hover {
68
69
  background-color: colors.$db-adaptive-bg-basic-transparent-full-hovered;
69
70
  }
@@ -82,8 +83,8 @@
82
83
 
83
84
  @extend %db-overwrite-font-size-md;
84
85
  @include icon-passing.icon-passing;
86
+ @include helpers.display(inline-flex);
85
87
 
86
- display: inline-flex;
87
88
  position: relative;
88
89
  inline-size: auto;
89
90
 
@@ -186,7 +187,9 @@
186
187
  @extend %component-border;
187
188
 
188
189
  margin: 0;
189
- display: flex;
190
+
191
+ @include helpers.display(flex);
192
+
190
193
  flex-direction: column;
191
194
  z-index: 70;
192
195
  inset-inline-start: 0;
@@ -199,7 +202,7 @@
199
202
 
200
203
  @include screen-sizes.screen("md") {
201
204
  .db-mobile-navigation-back {
202
- display: none;
205
+ @include helpers.display(none);
203
206
  }
204
207
  }
205
208
 
@@ -304,7 +307,7 @@
304
307
  }
305
308
 
306
309
  &:empty {
307
- display: none;
310
+ @include helpers.display(none);
308
311
  }
309
312
 
310
313
  .db-navigation-item {
@@ -317,7 +320,8 @@
317
320
  }
318
321
 
319
322
  .db-mobile-navigation-back {
320
- display: flex;
323
+ @include helpers.display(flex);
324
+
321
325
  font-weight: normal;
322
326
  background-color: colors.$db-adaptive-bg-basic-level-1-default;
323
327
  padding-block-end: variables.$db-spacing-fixed-md;
@@ -1,6 +1,8 @@
1
+ @use "@db-ux/core-foundations/build/styles/helpers/display";
2
+
1
3
  %grid-layout-variant-not-overlay {
2
4
  span {
3
- display: none;
5
+ @include display.display(none);
4
6
  }
5
7
 
6
8
  // has link
@@ -1040,7 +1040,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
1040
1040
  transform: rotate(1turn);
1041
1041
  }
1042
1042
  }
1043
- .db-notification a {
1043
+ .db-notification a:not([hidden]) {
1044
1044
  display: inline-block;
1045
1045
  }
1046
1046
  .db-notification a:not([data-wrap=true]) {
@@ -1081,7 +1081,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
1081
1081
  .db-notification a:not([data-wrap=true], [data-variant=inline]) {
1082
1082
  white-space: nowrap;
1083
1083
  }
1084
- .db-notification a[data-variant=inline] {
1084
+ .db-notification a[data-variant=inline]:not([hidden]) {
1085
1085
  display: inline;
1086
1086
  }
1087
1087
  .db-notification a:focus-visible {
@@ -1158,7 +1158,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
1158
1158
  grid-template-areas: "icon head timestamp close" "icon content content content";
1159
1159
  }
1160
1160
 
1161
- .db-notification:not([data-variant=overlay]) span {
1161
+ .db-notification:not([data-variant=overlay]) span:not([hidden]) {
1162
1162
  display: none;
1163
1163
  }
1164
1164
  .db-notification:has(a):not([data-link-variant=inline]):not([data-variant=overlay]) {
@@ -1198,12 +1198,14 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
1198
1198
  }
1199
1199
 
1200
1200
  .db-notification {
1201
- display: grid;
1202
1201
  padding: var(--db-spacing-fixed-md);
1203
1202
  gap: var(--db-spacing-fixed-xs) var(--db-spacing-fixed-md);
1204
1203
  inline-size: inherit;
1205
1204
  background-color: var(--db-adaptive-bg-basic-level-2-default);
1206
1205
  }
1206
+ .db-notification:not([hidden]) {
1207
+ display: grid;
1208
+ }
1207
1209
  .db-notification::before {
1208
1210
  --db-icon-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
1209
1211
  }
@@ -1,6 +1,7 @@
1
1
  @use "sass:map";
2
2
  @use "@db-ux/core-foundations/build/styles/density";
3
3
  @use "@db-ux/core-foundations/build/styles/variables";
4
+ @use "@db-ux/core-foundations/build/styles/helpers/display";
4
5
  @use "@db-ux/core-foundations/build/styles/colors";
5
6
  @use "@db-ux/core-foundations/build/styles/icons";
6
7
  @use "@db-ux/core-foundations/build/styles/screen-sizes";
@@ -27,8 +28,8 @@
27
28
  @extend %component-border;
28
29
  @extend %grid-layout-default;
29
30
  @extend %ugly-line-height-workarounds;
31
+ @include display.display(grid);
30
32
 
31
- display: grid;
32
33
  padding: variables.$db-spacing-fixed-md;
33
34
  gap: variables.$db-spacing-fixed-xs variables.$db-spacing-fixed-md;
34
35
  inline-size: inherit;
@@ -27,26 +27,34 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
27
27
  .db-page[data-variant=fixed] {
28
28
  block-size: 100%;
29
29
  min-block-size: 100%;
30
- display: flex;
31
30
  flex-direction: column;
32
31
  /* workaround for angular */
33
32
  }
34
33
  .db-page[data-variant=fixed] > :is(.db-header, .db-footer, header, footer) {
35
- display: flex;
36
34
  flex: 0 1 auto;
37
35
  flex-grow: 0;
38
36
  flex-shrink: 0;
39
37
  }
40
- .db-page[data-variant=fixed] > :is(db-header, dbheader, dbfooter, db-footer) > :is(.db-header, .db-footer, header, footer) {
38
+ .db-page[data-variant=fixed] > :is(.db-header, .db-footer, header, footer):not([hidden]) {
41
39
  display: flex;
40
+ }
41
+ .db-page[data-variant=fixed]:not([hidden]) {
42
+ display: flex;
43
+ }
44
+ .db-page[data-variant=fixed] > :is(db-header, dbheader, dbfooter, db-footer) > :is(.db-header, .db-footer, header, footer) {
42
45
  flex: 0 1 auto;
43
46
  flex-grow: 0;
44
47
  flex-shrink: 0;
45
48
  }
46
- .db-page[data-variant=fixed] > .db-main {
49
+ .db-page[data-variant=fixed] > :is(db-header, dbheader, dbfooter, db-footer) > :is(.db-header, .db-footer, header, footer):not([hidden]) {
47
50
  display: flex;
51
+ }
52
+ .db-page[data-variant=fixed] > .db-main {
48
53
  flex-direction: column;
49
54
  overflow: auto;
50
55
  flex: 1 1 auto;
51
56
  inline-size: 100%;
52
57
  }
58
+ .db-page[data-variant=fixed] > .db-main:not([hidden]) {
59
+ display: flex;
60
+ }
@@ -1,4 +1,5 @@
1
1
  @use "@db-ux/core-foundations/build/styles/variables";
2
+ @use "@db-ux/core-foundations/build/styles/helpers/display";
2
3
 
3
4
  .db-page-document {
4
5
  block-size: 100%;
@@ -7,7 +8,8 @@
7
8
 
8
9
  @mixin header-footer-style {
9
10
  > :is(.db-header, .db-footer, header, footer) {
10
- display: flex;
11
+ @include display.display(flex);
12
+
11
13
  flex: 0 1 auto;
12
14
  flex-grow: 0;
13
15
  flex-shrink: 0;
@@ -33,7 +35,9 @@
33
35
 
34
36
  block-size: 100%;
35
37
  min-block-size: 100%;
36
- display: flex;
38
+
39
+ @include display.display(flex);
40
+
37
41
  flex-direction: column;
38
42
 
39
43
  /* workaround for angular */
@@ -42,7 +46,8 @@
42
46
  }
43
47
 
44
48
  > .db-main {
45
- display: flex;
49
+ @include display.display(flex);
50
+
46
51
  flex-direction: column;
47
52
  overflow: auto;
48
53
  flex: 1 1 auto;
@@ -350,10 +350,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
350
350
 
351
351
  .db-popover {
352
352
  position: relative;
353
- display: flex;
354
353
  block-size: fit-content;
355
354
  inline-size: fit-content;
356
355
  }
356
+ .db-popover:not([hidden]) {
357
+ display: flex;
358
+ }
357
359
  .db-popover > article {
358
360
  /* stylelint-disable-next-line at-rule-empty-line-before */
359
361
  }
@@ -1,10 +1,13 @@
1
1
  @use "@db-ux/core-foundations/build/styles/variables";
2
+ @use "@db-ux/core-foundations/build/styles/helpers/display";
2
3
  @use "../../styles/internal/popover-component";
3
4
  @use "../../styles/internal/component";
4
5
 
5
6
  .db-popover {
6
7
  position: relative;
7
- display: flex;
8
+
9
+ @include display.display(flex);
10
+
8
11
  block-size: fit-content;
9
12
  inline-size: fit-content;
10
13
 
@@ -169,11 +169,14 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
169
169
  }
170
170
  .db-radio:is(label),
171
171
  .db-radio > label {
172
- display: flex;
173
172
  align-items: flex-start;
174
173
  position: relative;
175
174
  color: var(--db-check-element-label-color, var(--db-adaptive-on-bg-basic-emphasis-100-default));
176
175
  }
176
+ .db-radio:is(label):not([hidden]),
177
+ .db-radio > label:not([hidden]) {
178
+ display: flex;
179
+ }
177
180
  .db-radio input {
178
181
  background-color: var(--db-adaptive-bg-basic-transparent-full-default);
179
182
  place-content: center center;
@@ -559,8 +559,8 @@ input[type=radio]:checked) > label {
559
559
  .db-select > .db-infotext {
560
560
  margin-block-start: var(--db-spacing-fixed-2xs);
561
561
  }
562
- .db-select > db-infotext > .db-infotext:is([data-semantic=successful], [data-semantic=critical]),
563
- .db-select > .db-infotext:is([data-semantic=successful], [data-semantic=critical]) {
562
+ .db-select > db-infotext > .db-infotext:is([data-semantic=successful], [data-semantic=critical]):not([hidden]),
563
+ .db-select > .db-infotext:is([data-semantic=successful], [data-semantic=critical]):not([hidden]) {
564
564
  display: none;
565
565
  }
566
566
 
@@ -603,9 +603,11 @@ input[type=radio]:checked) > label {
603
603
  .db-select {
604
604
  --db-form-has-before: 0;
605
605
  position: relative;
606
- display: flex;
607
606
  flex-direction: column;
608
607
  }
608
+ .db-select:not([hidden]) {
609
+ display: flex;
610
+ }
609
611
  .db-select[data-variant=floating], .db-select[data-hide-label=true] {
610
612
  --db-label-visible-above: 0;
611
613
  }
@@ -701,15 +703,15 @@ input[type=radio]:checked) [id$=-placeholder] {
701
703
  /* stylelint-disable-next-line at-rule-empty-line-before */
702
704
  }
703
705
  .db-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
704
- > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful],
706
+ > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
705
707
  .db-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
706
- > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful] {
708
+ > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]) {
707
709
  display: flex;
708
710
  }
709
711
  .db-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
710
- > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]),
712
+ > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
711
713
  .db-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
712
- > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]) {
714
+ > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]) {
713
715
  display: none;
714
716
  }
715
717
  .db-select:has(select[data-custom-validity=valid]):has(> .db-infotext[data-semantic=successful],
@@ -737,21 +739,21 @@ input[type=radio]:checked) [id$=-placeholder] {
737
739
  /* stylelint-disable-next-line at-rule-empty-line-before */
738
740
  }
739
741
  .db-select:has(select[data-custom-validity=valid]):has(> .db-infotext[data-semantic=successful],
740
- > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful],
742
+ > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
741
743
  .db-select:has(select[data-custom-validity=valid]):has(> .db-infotext[data-semantic=successful],
742
- > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful], .db-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
743
- > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful],
744
+ > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]), .db-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
745
+ > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
744
746
  .db-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
745
- > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful] {
747
+ > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]) {
746
748
  display: flex;
747
749
  }
748
750
  .db-select:has(select[data-custom-validity=valid]):has(> .db-infotext[data-semantic=successful],
749
- > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]),
751
+ > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
750
752
  .db-select:has(select[data-custom-validity=valid]):has(> .db-infotext[data-semantic=successful],
751
- > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]), .db-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
752
- > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]),
753
+ > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]), .db-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
754
+ > db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
753
755
  .db-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
754
- > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]) {
756
+ > db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]) {
755
757
  display: none;
756
758
  }
757
759
  .db-select:has(select:not([data-custom-validity]):is(:required):user-invalid) {
@@ -762,12 +764,12 @@ input[type=radio]:checked) [id$=-placeholder] {
762
764
  color: var(--db-critical-on-bg-basic-emphasis-100-default);
763
765
  caret-color: var(--db-critical-on-bg-basic-emphasis-100-default);
764
766
  }
765
- .db-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > db-infotext > .db-infotext[data-semantic=critical],
766
- .db-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > .db-infotext[data-semantic=critical] {
767
+ .db-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > db-infotext > .db-infotext[data-semantic=critical]:not([hidden]),
768
+ .db-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > .db-infotext[data-semantic=critical]:not([hidden]) {
767
769
  display: flex;
768
770
  }
769
- .db-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > db-infotext > .db-infotext:not([data-semantic]),
770
- .db-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > .db-infotext:not([data-semantic]) {
771
+ .db-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
772
+ .db-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > .db-infotext:not([data-semantic]):not([hidden]) {
771
773
  display: none;
772
774
  }
773
775
  .db-select:has(select[data-custom-validity=invalid]), .db-select[data-custom-validity=invalid] {
@@ -779,14 +781,14 @@ input[type=radio]:checked) [id$=-placeholder] {
779
781
  color: var(--db-critical-on-bg-basic-emphasis-100-default);
780
782
  caret-color: var(--db-critical-on-bg-basic-emphasis-100-default);
781
783
  }
782
- .db-select:has(select[data-custom-validity=invalid]) > db-infotext > .db-infotext[data-semantic=critical],
783
- .db-select:has(select[data-custom-validity=invalid]) > .db-infotext[data-semantic=critical], .db-select[data-custom-validity=invalid] > db-infotext > .db-infotext[data-semantic=critical],
784
- .db-select[data-custom-validity=invalid] > .db-infotext[data-semantic=critical] {
784
+ .db-select:has(select[data-custom-validity=invalid]) > db-infotext > .db-infotext[data-semantic=critical]:not([hidden]),
785
+ .db-select:has(select[data-custom-validity=invalid]) > .db-infotext[data-semantic=critical]:not([hidden]), .db-select[data-custom-validity=invalid] > db-infotext > .db-infotext[data-semantic=critical]:not([hidden]),
786
+ .db-select[data-custom-validity=invalid] > .db-infotext[data-semantic=critical]:not([hidden]) {
785
787
  display: flex;
786
788
  }
787
- .db-select:has(select[data-custom-validity=invalid]) > db-infotext > .db-infotext:not([data-semantic]),
788
- .db-select:has(select[data-custom-validity=invalid]) > .db-infotext:not([data-semantic]), .db-select[data-custom-validity=invalid] > db-infotext > .db-infotext:not([data-semantic]),
789
- .db-select[data-custom-validity=invalid] > .db-infotext:not([data-semantic]) {
789
+ .db-select:has(select[data-custom-validity=invalid]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
790
+ .db-select:has(select[data-custom-validity=invalid]) > .db-infotext:not([data-semantic]):not([hidden]), .db-select[data-custom-validity=invalid] > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
791
+ .db-select[data-custom-validity=invalid] > .db-infotext:not([data-semantic]):not([hidden]) {
790
792
  display: none;
791
793
  }
792
794
  .db-select select::placeholder,
@@ -874,6 +876,6 @@ select[aria-disabled=true]) {
874
876
  .db-select optgroup {
875
877
  background-color: var(--db-adaptive-bg-basic-level-3-default);
876
878
  }
877
- .db-select:has(> select option:checked:not(.placeholder)) [id$=-placeholder] {
879
+ .db-select:has(> select option:checked:not(.placeholder)) [id$=-placeholder]:not([hidden]) {
878
880
  display: none;
879
881
  }
@@ -6,6 +6,7 @@
6
6
  @use "../../styles/internal/form-components";
7
7
  @use "../../styles/internal/component";
8
8
  @use "../../styles/internal/select-components";
9
+ @use "@db-ux/core-foundations/build/styles/helpers/display";
9
10
 
10
11
  .db-select-placeholder {
11
12
  @extend %select-absolute-placeholder;
@@ -46,7 +47,7 @@
46
47
 
47
48
  &:has(> select option:checked:not(.placeholder)) {
48
49
  [id$="-placeholder"] {
49
- display: none;
50
+ @include display.display(none);
50
51
  }
51
52
  }
52
53
  }
@@ -44,13 +44,15 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
44
44
  @layer variables {}
45
45
 
46
46
  .db-stack {
47
- display: flex;
48
47
  gap: var(--db-spacing-fixed-sm);
49
48
  justify-content: flex-start;
50
49
  block-size: 100%;
51
50
  inline-size: 100%;
52
51
  overflow: auto;
53
52
  }
53
+ .db-stack:not([hidden]) {
54
+ display: flex;
55
+ }
54
56
  .db-stack:is([data-direction=column], :not([data-direction])) {
55
57
  flex-direction: column;
56
58
  }
@@ -44,13 +44,15 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
44
44
  @layer variables {}
45
45
 
46
46
  .db-stack {
47
- display: flex;
48
47
  gap: var(--db-spacing-fixed-sm);
49
48
  justify-content: flex-start;
50
49
  block-size: 100%;
51
50
  inline-size: 100%;
52
51
  overflow: auto;
53
52
  }
53
+ .db-stack:not([hidden]) {
54
+ display: flex;
55
+ }
54
56
  .db-stack:is([data-direction=column], :not([data-direction])) {
55
57
  flex-direction: column;
56
58
  }
@@ -532,11 +532,14 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
532
532
  }
533
533
  .db-switch:is(label),
534
534
  .db-switch > label {
535
- display: flex;
536
535
  align-items: flex-start;
537
536
  position: relative;
538
537
  color: var(--db-check-element-label-color, var(--db-adaptive-on-bg-basic-emphasis-100-default));
539
538
  }
539
+ .db-switch:is(label):not([hidden]),
540
+ .db-switch > label:not([hidden]) {
541
+ display: flex;
542
+ }
540
543
  .db-switch input {
541
544
  background-color: var(--db-adaptive-bg-basic-transparent-full-default);
542
545
  place-content: center center;
@@ -591,13 +594,15 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
591
594
  inline-size: calc(var(--db-icon-font-size) * 2 + 0.125rem);
592
595
  block-size: var(--db-icon-font-size);
593
596
  box-sizing: content-box;
594
- display: flex;
595
597
  align-items: center;
596
598
  /* stylelint-disable-next-line db-ux/use-spacings */
597
599
  gap: 0.125rem;
598
600
  border-radius: var(--db-border-radius-full);
599
601
  /* positioned at the end of the track: track length - 100% (thumb width) */
600
602
  }
603
+ .db-switch > input:not([hidden]) {
604
+ display: flex;
605
+ }
601
606
  .db-switch > input:not([data-show-icon-trailing=false])::after {
602
607
  --db-icon-trailing: "cross";
603
608
  margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
@@ -57,7 +57,9 @@ $checked-active-transition-size: calc(
57
57
  );
58
58
  block-size: form-components.$font-size-height;
59
59
  box-sizing: content-box;
60
- display: flex;
60
+
61
+ @include helpers.display(flex);
62
+
61
63
  align-items: center;
62
64
  /* stylelint-disable-next-line db-ux/use-spacings */
63
65
  gap: $switch-fixed-padding;
@@ -142,10 +142,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
142
142
 
143
143
  .db-tab-item {
144
144
  position: relative;
145
- display: inline-flex;
146
145
  list-style-type: "";
147
146
  border-radius: var(--db-border-radius-sm);
148
147
  }
148
+ .db-tab-item:not([hidden]) {
149
+ display: inline-flex;
150
+ }
149
151
  .db-tab-item:has(input:disabled) {
150
152
  opacity: var(--db-opacity-md);
151
153
  }
@@ -153,7 +155,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
153
155
  background-color: var(--db-adaptive-bg-basic-transparent-full-default);
154
156
  padding: var(--db-spacing-fixed-xs);
155
157
  align-items: center;
156
- display: inline-block;
157
158
  white-space: nowrap;
158
159
  border: 0;
159
160
  border-radius: var(--db-border-radius-sm);
@@ -162,6 +163,9 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
162
163
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
163
164
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
164
165
  }
166
+ .db-tab-item label:not([hidden]) {
167
+ display: inline-block;
168
+ }
165
169
  .db-tab-item label:hover:not(:disabled, [aria-disabled=true]) {
166
170
  cursor: var(--db-overwrite-cursor, pointer);
167
171
  }
@@ -13,7 +13,9 @@ $with-icon-padding-calc: calc(
13
13
 
14
14
  .db-tab-item {
15
15
  position: relative;
16
- display: inline-flex;
16
+
17
+ @include helpers.display(inline-flex);
18
+
17
19
  list-style-type: "";
18
20
  border-radius: variables.$db-border-radius-sm;
19
21
 
@@ -25,7 +27,9 @@ $with-icon-padding-calc: calc(
25
27
  background-color: colors.$db-adaptive-bg-basic-transparent-full-default;
26
28
  padding: variables.$db-spacing-fixed-xs;
27
29
  align-items: center;
28
- display: inline-block;
30
+
31
+ @include helpers.display(inline-block);
32
+
29
33
  white-space: nowrap;
30
34
  border: 0;
31
35
  border-radius: variables.$db-border-radius-sm;
@@ -299,9 +299,11 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
299
299
  position: relative;
300
300
  }
301
301
  .db-tab-list > ul {
302
- display: flex;
303
302
  gap: var(--db-spacing-fixed-sm);
304
303
  scroll-behavior: smooth;
305
304
  padding: 0;
306
305
  margin: 0;
307
306
  }
307
+ .db-tab-list > ul:not([hidden]) {
308
+ display: flex;
309
+ }
@@ -1,4 +1,5 @@
1
1
  @use "@db-ux/core-foundations/build/styles/variables";
2
+ @use "@db-ux/core-foundations/build/styles/helpers/display";
2
3
  @use "../../styles/internal/scrollbar";
3
4
 
4
5
  .db-tab-list {
@@ -8,8 +9,8 @@
8
9
 
9
10
  > ul {
10
11
  @extend %scrollbar;
12
+ @include display.display(flex);
11
13
 
12
- display: flex;
13
14
  gap: variables.$db-spacing-fixed-sm;
14
15
  scroll-behavior: smooth;
15
16
  padding: 0;
@@ -8,6 +8,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
8
8
  /* Transitions */
9
9
  /* Screen sizes */
10
10
  /* Container sizes */
11
- .db-tab-panel {
11
+ .db-tab-panel:not([hidden]) {
12
12
  display: none;
13
13
  }