@db-ux/core-components 4.0.0 → 4.0.1-0-540218c

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 (35) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/agent/_instructions.md +7 -2
  3. package/build/components/accordion-item/accordion-item.css +4 -1
  4. package/build/components/badge/badge.css +2 -0
  5. package/build/components/brand/brand.css +2 -0
  6. package/build/components/button/button.css +2 -0
  7. package/build/components/checkbox/checkbox.css +4 -1
  8. package/build/components/custom-select/custom-select.css +61 -1
  9. package/build/components/custom-select-dropdown/custom-select-dropdown.css +2 -0
  10. package/build/components/custom-select-form-field/custom-select-form-field.css +2 -0
  11. package/build/components/custom-select-list/custom-select-list.css +2 -0
  12. package/build/components/custom-select-list-item/custom-select-list-item.css +2 -0
  13. package/build/components/header/header.css +2 -0
  14. package/build/components/infotext/infotext.css +4 -1
  15. package/build/components/input/input.css +59 -1
  16. package/build/components/link/link.css +4 -1
  17. package/build/components/navigation/navigation.css +2 -0
  18. package/build/components/navigation-item/navigation-item.css +4 -1
  19. package/build/components/notification/notification.css +4 -1
  20. package/build/components/radio/radio.css +2 -0
  21. package/build/components/select/select.css +61 -1
  22. package/build/components/switch/switch.css +4 -1
  23. package/build/components/tab-item/tab-item.css +2 -0
  24. package/build/components/tab-list/tab-list.css +2 -0
  25. package/build/components/tabs/tabs.css +2 -0
  26. package/build/components/tag/tag.css +4 -1
  27. package/build/components/textarea/textarea.css +57 -0
  28. package/build/components/tooltip/tooltip.css +2 -0
  29. package/build/styles/absolute.css +4 -4
  30. package/build/styles/index.css +4 -4
  31. package/build/styles/internal/_form-components.scss +25 -0
  32. package/build/styles/relative.css +4 -4
  33. package/build/styles/rollup.css +4 -4
  34. package/build/styles/webpack.css +4 -4
  35. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # @db-ux/core-components
2
2
 
3
+ ## 4.0.1
4
+
5
+ _version bump_
6
+
7
+
3
8
  ## 4.0.0
4
9
 
5
10
  ### Major Changes
@@ -2,8 +2,13 @@
2
2
 
3
3
  ### `DBButton` or `db-button`
4
4
 
5
- - available variants are `outline`, `brand`, `filled`, `ghost`
6
- - always use variant `outline` as default
5
+ - available variants are `outlined`, `brand`, `filled`, `ghost`
6
+ - always use variant `outlined` as default
7
7
  - use variant `brand` as CTA or primary action
8
8
  - if `noText`/`no-text` property is used add a `DBTooltip` or `db-tooltip` inside the Button
9
9
  - always add a `type` as property as best practise
10
+
11
+ ### `DBStack` or `db-stack`
12
+
13
+ - there is no property `gap="fix-md"`, available values are `small`, `medium`, etc.
14
+ - there is no property `direction="horizontal"`, available values are `row`, `column`, etc.
@@ -161,7 +161,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
161
161
  overflow: clip;
162
162
  vertical-align: var(--db-icon-vertical-align, middle);
163
163
  block-size: var(--db-icon-font-size, 1.5rem);
164
- inline-size: var(--db-icon-font-size, 1.5rem);
164
+ aspect-ratio: 1;
165
+ flex-shrink: 0;
165
166
  content: var(--db-icon, attr(data-icon));
166
167
  }
167
168
  @supports (content: ""/"") {
@@ -250,6 +251,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
250
251
 
251
252
  @layer variables {}
252
253
 
254
+ /* Use for body tags like <p> */
255
+ /* Use for headline tags like <h1> */
253
256
  /**
254
257
  * @mixin screen-min-max
255
258
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -127,6 +127,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
127
127
 
128
128
  @layer variables {}
129
129
 
130
+ /* Use for body tags like <p> */
131
+ /* Use for headline tags like <h1> */
130
132
  .db-badge {
131
133
  font-weight: 700;
132
134
  white-space: nowrap;
@@ -113,6 +113,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
113
113
 
114
114
  @layer variables {}
115
115
 
116
+ /* Use for body tags like <p> */
117
+ /* Use for headline tags like <h1> */
116
118
  .db-brand {
117
119
  gap: var(--db-spacing-fixed-sm);
118
120
  align-items: center;
@@ -123,6 +123,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
123
123
 
124
124
  @layer variables {}
125
125
 
126
+ /* Use for body tags like <p> */
127
+ /* Use for headline tags like <h1> */
126
128
  /**
127
129
  * @mixin screen-min-max
128
130
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -82,7 +82,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
82
82
  overflow: clip;
83
83
  vertical-align: var(--db-icon-vertical-align, middle);
84
84
  block-size: var(--db-icon-font-size, 1.5rem);
85
- inline-size: var(--db-icon-font-size, 1.5rem);
85
+ aspect-ratio: 1;
86
+ flex-shrink: 0;
86
87
  content: var(--db-icon, attr(data-icon));
87
88
  }
88
89
  @supports (content: ""/"") {
@@ -181,6 +182,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
181
182
 
182
183
  @layer variables {}
183
184
 
185
+ /* Use for body tags like <p> */
186
+ /* Use for headline tags like <h1> */
184
187
  /**
185
188
  * @mixin screen-min-max
186
189
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -551,7 +551,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
551
551
  overflow: clip;
552
552
  vertical-align: var(--db-icon-vertical-align, middle);
553
553
  block-size: var(--db-icon-font-size, 1.5rem);
554
- inline-size: var(--db-icon-font-size, 1.5rem);
554
+ aspect-ratio: 1;
555
+ flex-shrink: 0;
555
556
  content: var(--db-icon, attr(data-icon));
556
557
  }
557
558
  @supports (content: ""/"") {
@@ -678,6 +679,8 @@ input[type=radio]:checked) > label {
678
679
 
679
680
  @layer variables {}
680
681
 
682
+ /* Use for body tags like <p> */
683
+ /* Use for headline tags like <h1> */
681
684
  .db-custom-select summary {
682
685
  border: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
683
686
  }
@@ -833,6 +836,18 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
833
836
  content: "*"/"";
834
837
  }
835
838
  }
839
+ .db-custom-select[data-variant=floating]:has(select:not([data-custom-validity]):is(:required):user-valid) label {
840
+ color: var(--db-successful-on-bg-basic-emphasis-80-default);
841
+ }
842
+ .db-custom-select[data-variant=floating]:has(select[data-custom-validity=valid]) label, .db-custom-select[data-variant=floating][data-custom-validity=valid] label {
843
+ color: var(--db-successful-on-bg-basic-emphasis-80-default);
844
+ }
845
+ .db-custom-select[data-variant=floating]:has(select:not([data-custom-validity]):is(:required):user-invalid) label {
846
+ color: var(--db-critical-on-bg-basic-emphasis-80-default);
847
+ }
848
+ .db-custom-select[data-variant=floating]:has(select[data-custom-validity=invalid]) label, .db-custom-select[data-variant=floating][data-custom-validity=invalid] label {
849
+ color: var(--db-critical-on-bg-basic-emphasis-80-default);
850
+ }
836
851
  .db-custom-select[data-variant=floating] > label {
837
852
  opacity: var(--db-opacity-xl);
838
853
  position: absolute;
@@ -850,6 +865,14 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
850
865
  transition: none;
851
866
  opacity: 0;
852
867
  }
868
+ .db-custom-select[data-variant=floating] summary:is([type=date],
869
+ [type=datetime-local],
870
+ [type=month],
871
+ [type=week],
872
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
873
+ transition: none;
874
+ opacity: 0;
875
+ }
853
876
  .db-custom-select[data-variant=floating] summary {
854
877
  /* stylelint-disable-next-line db-ux/use-spacings */
855
878
  padding-block-start: var(--db-base-body-icon-font-size-2xs);
@@ -893,6 +916,34 @@ input[type=radio]:checked) [id$=-placeholder] {
893
916
  transition: opacity var(--db-transition-straight-emotional);
894
917
  }
895
918
  }
919
+ .db-custom-select[data-variant=floating]:has(summary:focus-within,
920
+ summary:is(input, textarea):not(:placeholder-shown),
921
+ > select option:checked:not(.placeholder),
922
+ input[type=checkbox]:checked,
923
+ input[type=radio]:checked) summary:is([type=date],
924
+ [type=datetime-local],
925
+ [type=month],
926
+ [type=week],
927
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
928
+ opacity: var(--db-opacity-xl);
929
+ font-family: var(--db-font-family-sans);
930
+ font-style: italic;
931
+ /* stylelint-disable-next-line db-ux/use-spacings */
932
+ padding-block-start: var(--db-base-body-icon-font-size-2xs);
933
+ }
934
+ @media screen and (prefers-reduced-motion: no-preference) {
935
+ .db-custom-select[data-variant=floating]:has(summary:focus-within,
936
+ summary:is(input, textarea):not(:placeholder-shown),
937
+ > select option:checked:not(.placeholder),
938
+ input[type=checkbox]:checked,
939
+ input[type=radio]:checked) summary:is([type=date],
940
+ [type=datetime-local],
941
+ [type=month],
942
+ [type=week],
943
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
944
+ transition: opacity var(--db-transition-straight-emotional);
945
+ }
946
+ }
896
947
  .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
897
948
  > db-infotext > .db-infotext[data-semantic=successful]) {
898
949
  /* stylelint-disable-next-line at-rule-empty-line-before */
@@ -1005,6 +1056,15 @@ input[type=radio]:checked) [id$=-placeholder] {
1005
1056
  font-family: var(--db-font-family-sans);
1006
1057
  font-style: italic;
1007
1058
  }
1059
+ .db-custom-select summary:is([type=date],
1060
+ [type=datetime-local],
1061
+ [type=month],
1062
+ [type=week],
1063
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
1064
+ opacity: var(--db-opacity-xl);
1065
+ font-family: var(--db-font-family-sans);
1066
+ font-style: italic;
1067
+ }
1008
1068
  .db-custom-select summary {
1009
1069
  background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
1010
1070
  caret-color: var(--db-adaptive-on-bg-basic-emphasis-100-default);
@@ -358,6 +358,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
358
358
 
359
359
  @layer variables {}
360
360
 
361
+ /* Use for body tags like <p> */
362
+ /* Use for headline tags like <h1> */
361
363
  .db-custom-select-dropdown {
362
364
  position: absolute;
363
365
  z-index: 32;
@@ -122,6 +122,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
122
122
 
123
123
  @layer variables {}
124
124
 
125
+ /* Use for body tags like <p> */
126
+ /* Use for headline tags like <h1> */
125
127
  /**
126
128
  * @mixin screen-min-max
127
129
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -122,6 +122,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
122
122
 
123
123
  @layer variables {}
124
124
 
125
+ /* Use for body tags like <p> */
126
+ /* Use for headline tags like <h1> */
125
127
  /**
126
128
  * @mixin screen-min-max
127
129
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -146,6 +146,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
146
146
 
147
147
  @layer variables {}
148
148
 
149
+ /* Use for body tags like <p> */
150
+ /* Use for headline tags like <h1> */
149
151
  /**
150
152
  * @mixin screen-min-max
151
153
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -117,6 +117,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
117
117
 
118
118
  @layer variables {}
119
119
 
120
+ /* Use for body tags like <p> */
121
+ /* Use for headline tags like <h1> */
120
122
  @layer variables {}
121
123
 
122
124
  @layer variables {}
@@ -123,6 +123,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
123
123
 
124
124
  @layer variables {}
125
125
 
126
+ /* Use for body tags like <p> */
127
+ /* Use for headline tags like <h1> */
126
128
  .db-infotext:not([data-icon]):not([data-show-icon-leading=false])::before {
127
129
  color: var(--db-icon-color, inherit);
128
130
  display: inline-block;
@@ -143,7 +145,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
143
145
  overflow: clip;
144
146
  vertical-align: var(--db-icon-vertical-align, middle);
145
147
  block-size: var(--db-icon-font-size, 1.5rem);
146
- inline-size: var(--db-icon-font-size, 1.5rem);
148
+ aspect-ratio: 1;
149
+ flex-shrink: 0;
147
150
  content: var(--db-icon, attr(data-icon));
148
151
  }
149
152
  @supports (content: ""/"") {
@@ -394,7 +394,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
394
394
  overflow: clip;
395
395
  vertical-align: var(--db-icon-vertical-align, middle);
396
396
  block-size: var(--db-icon-font-size, 1.5rem);
397
- inline-size: var(--db-icon-font-size, 1.5rem);
397
+ aspect-ratio: 1;
398
+ flex-shrink: 0;
398
399
  content: var(--db-icon, attr(data-icon));
399
400
  }
400
401
  @supports (content: ""/"") {
@@ -521,6 +522,8 @@ input[type=radio]:checked) > label {
521
522
 
522
523
  @layer variables {}
523
524
 
525
+ /* Use for body tags like <p> */
526
+ /* Use for headline tags like <h1> */
524
527
  /**
525
528
  * @mixin screen-min-max
526
529
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -606,6 +609,18 @@ input[type=radio]:checked) > label {
606
609
  content: "*"/"";
607
610
  }
608
611
  }
612
+ .db-input[data-variant=floating]:has(input:not([data-custom-validity]):is(:required, [minlength], [maxlength], [pattern], [type=color], [type=date], [type=datetime-local], [type=email], [type=file], [type=hidden], [type=month], [type=number], [type=range], [type=tel], [type=time], [type=url], [type=week]):user-valid) label {
613
+ color: var(--db-successful-on-bg-basic-emphasis-80-default);
614
+ }
615
+ .db-input[data-variant=floating]:has(input[data-custom-validity=valid]) label, .db-input[data-variant=floating][data-custom-validity=valid] label {
616
+ color: var(--db-successful-on-bg-basic-emphasis-80-default);
617
+ }
618
+ .db-input[data-variant=floating]:has(input:not([data-custom-validity]):is(:required, [minlength], [maxlength], [pattern], [type=color], [type=date], [type=datetime-local], [type=email], [type=file], [type=hidden], [type=month], [type=number], [type=range], [type=tel], [type=time], [type=url], [type=week]):user-invalid) label {
619
+ color: var(--db-critical-on-bg-basic-emphasis-80-default);
620
+ }
621
+ .db-input[data-variant=floating]:has(input[data-custom-validity=invalid]) label, .db-input[data-variant=floating][data-custom-validity=invalid] label {
622
+ color: var(--db-critical-on-bg-basic-emphasis-80-default);
623
+ }
609
624
  .db-input[data-variant=floating] > label {
610
625
  opacity: var(--db-opacity-xl);
611
626
  position: absolute;
@@ -623,6 +638,14 @@ input[type=radio]:checked) > label {
623
638
  transition: none;
624
639
  opacity: 0;
625
640
  }
641
+ .db-input[data-variant=floating] input:is([type=date],
642
+ [type=datetime-local],
643
+ [type=month],
644
+ [type=week],
645
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
646
+ transition: none;
647
+ opacity: 0;
648
+ }
626
649
  .db-input[data-variant=floating] input {
627
650
  /* stylelint-disable-next-line db-ux/use-spacings */
628
651
  padding-block-start: var(--db-base-body-icon-font-size-2xs);
@@ -664,6 +687,32 @@ input[type=radio]:checked) [id$=-placeholder] {
664
687
  transition: opacity var(--db-transition-straight-emotional);
665
688
  }
666
689
  }
690
+ .db-input[data-variant=floating]:has(input:focus-within,
691
+ input:is(input, textarea):not(:placeholder-shown),
692
+ > select option:checked:not(.placeholder),
693
+ input[type=checkbox]:checked,
694
+ input[type=radio]:checked) input:is([type=date],
695
+ [type=datetime-local],
696
+ [type=month],
697
+ [type=week],
698
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
699
+ opacity: var(--db-opacity-xl);
700
+ font-family: var(--db-font-family-sans);
701
+ font-style: italic;
702
+ }
703
+ @media screen and (prefers-reduced-motion: no-preference) {
704
+ .db-input[data-variant=floating]:has(input:focus-within,
705
+ input:is(input, textarea):not(:placeholder-shown),
706
+ > select option:checked:not(.placeholder),
707
+ input[type=checkbox]:checked,
708
+ input[type=radio]:checked) input:is([type=date],
709
+ [type=datetime-local],
710
+ [type=month],
711
+ [type=week],
712
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
713
+ transition: opacity var(--db-transition-straight-emotional);
714
+ }
715
+ }
667
716
  .db-input:has(input:not([data-custom-validity]):is(:required, [minlength], [maxlength], [pattern], [type=color], [type=date], [type=datetime-local], [type=email], [type=file], [type=hidden], [type=month], [type=number], [type=range], [type=tel], [type=time], [type=url], [type=week]):user-valid):has(> .db-infotext[data-semantic=successful],
668
717
  > db-infotext > .db-infotext[data-semantic=successful]) {
669
718
  /* stylelint-disable-next-line at-rule-empty-line-before */
@@ -791,6 +840,15 @@ input[type=radio]:checked) [id$=-placeholder] {
791
840
  font-family: var(--db-font-family-sans);
792
841
  font-style: italic;
793
842
  }
843
+ .db-input input:is([type=date],
844
+ [type=datetime-local],
845
+ [type=month],
846
+ [type=week],
847
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
848
+ opacity: var(--db-opacity-xl);
849
+ font-family: var(--db-font-family-sans);
850
+ font-style: italic;
851
+ }
794
852
  .db-input input {
795
853
  background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
796
854
  caret-color: var(--db-adaptive-on-bg-basic-emphasis-100-default);
@@ -123,6 +123,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
123
123
 
124
124
  @layer variables {}
125
125
 
126
+ /* Use for body tags like <p> */
127
+ /* Use for headline tags like <h1> */
126
128
  .db-link {
127
129
  transition: outline var(--db-transition-duration-extra-fast), color var(--db-transition-straight-emotional);
128
130
  }
@@ -226,7 +228,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
226
228
  overflow: clip;
227
229
  vertical-align: var(--db-icon-vertical-align, middle);
228
230
  block-size: var(--db-icon-font-size, 1.5rem);
229
- inline-size: var(--db-icon-font-size, 1.5rem);
231
+ aspect-ratio: 1;
232
+ flex-shrink: 0;
230
233
  content: var(--db-icon, attr(data-icon));
231
234
  }
232
235
  @supports (content: ""/"") {
@@ -126,6 +126,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
126
126
 
127
127
  @layer variables {}
128
128
 
129
+ /* Use for body tags like <p> */
130
+ /* Use for headline tags like <h1> */
129
131
  .db-navigation > menu .db-navigation-item::after {
130
132
  content: "";
131
133
  position: absolute;
@@ -115,6 +115,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
115
115
 
116
116
  @layer variables {}
117
117
 
118
+ /* Use for body tags like <p> */
119
+ /* Use for headline tags like <h1> */
118
120
  /**
119
121
  * @mixin screen-min-max
120
122
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -219,7 +221,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
219
221
  overflow: clip;
220
222
  vertical-align: var(--db-icon-vertical-align, middle);
221
223
  block-size: var(--db-icon-font-size, 1.5rem);
222
- inline-size: var(--db-icon-font-size, 1.5rem);
224
+ aspect-ratio: 1;
225
+ flex-shrink: 0;
223
226
  content: var(--db-icon, attr(data-icon));
224
227
  }
225
228
  @supports (content: ""/"") {
@@ -888,6 +888,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
888
888
 
889
889
  @layer variables {}
890
890
 
891
+ /* Use for body tags like <p> */
892
+ /* Use for headline tags like <h1> */
891
893
  /**
892
894
  * @mixin screen-min-max
893
895
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -930,7 +932,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
930
932
  overflow: clip;
931
933
  vertical-align: var(--db-icon-vertical-align, middle);
932
934
  block-size: var(--db-icon-font-size, 1.5rem);
933
- inline-size: var(--db-icon-font-size, 1.5rem);
935
+ aspect-ratio: 1;
936
+ flex-shrink: 0;
934
937
  content: var(--db-icon, attr(data-icon));
935
938
  }
936
939
  @supports (content: ""/"") {
@@ -142,6 +142,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
142
142
 
143
143
  @layer variables {}
144
144
 
145
+ /* Use for body tags like <p> */
146
+ /* Use for headline tags like <h1> */
145
147
  /**
146
148
  * @mixin screen-min-max
147
149
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -394,7 +394,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
394
394
  overflow: clip;
395
395
  vertical-align: var(--db-icon-vertical-align, middle);
396
396
  block-size: var(--db-icon-font-size, 1.5rem);
397
- inline-size: var(--db-icon-font-size, 1.5rem);
397
+ aspect-ratio: 1;
398
+ flex-shrink: 0;
398
399
  content: var(--db-icon, attr(data-icon));
399
400
  }
400
401
  @supports (content: ""/"") {
@@ -521,6 +522,8 @@ input[type=radio]:checked) > label {
521
522
 
522
523
  @layer variables {}
523
524
 
525
+ /* Use for body tags like <p> */
526
+ /* Use for headline tags like <h1> */
524
527
  /**
525
528
  * @mixin screen-min-max
526
529
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -632,6 +635,18 @@ input[type=radio]:checked) > label {
632
635
  content: "*"/"";
633
636
  }
634
637
  }
638
+ .db-select[data-variant=floating]:has(select:not([data-custom-validity]):is(:required):user-valid) label {
639
+ color: var(--db-successful-on-bg-basic-emphasis-80-default);
640
+ }
641
+ .db-select[data-variant=floating]:has(select[data-custom-validity=valid]) label, .db-select[data-variant=floating][data-custom-validity=valid] label {
642
+ color: var(--db-successful-on-bg-basic-emphasis-80-default);
643
+ }
644
+ .db-select[data-variant=floating]:has(select:not([data-custom-validity]):is(:required):user-invalid) label {
645
+ color: var(--db-critical-on-bg-basic-emphasis-80-default);
646
+ }
647
+ .db-select[data-variant=floating]:has(select[data-custom-validity=invalid]) label, .db-select[data-variant=floating][data-custom-validity=invalid] label {
648
+ color: var(--db-critical-on-bg-basic-emphasis-80-default);
649
+ }
635
650
  .db-select[data-variant=floating] > label {
636
651
  opacity: var(--db-opacity-xl);
637
652
  position: absolute;
@@ -649,6 +664,14 @@ input[type=radio]:checked) > label {
649
664
  transition: none;
650
665
  opacity: 0;
651
666
  }
667
+ .db-select[data-variant=floating] select:is([type=date],
668
+ [type=datetime-local],
669
+ [type=month],
670
+ [type=week],
671
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
672
+ transition: none;
673
+ opacity: 0;
674
+ }
652
675
  .db-select[data-variant=floating] select {
653
676
  /* stylelint-disable-next-line db-ux/use-spacings */
654
677
  padding-block-start: var(--db-base-body-icon-font-size-2xs);
@@ -692,6 +715,34 @@ input[type=radio]:checked) [id$=-placeholder] {
692
715
  transition: opacity var(--db-transition-straight-emotional);
693
716
  }
694
717
  }
718
+ .db-select[data-variant=floating]:has(select:focus-within,
719
+ select:is(input, textarea):not(:placeholder-shown),
720
+ > select option:checked:not(.placeholder),
721
+ input[type=checkbox]:checked,
722
+ input[type=radio]:checked) select:is([type=date],
723
+ [type=datetime-local],
724
+ [type=month],
725
+ [type=week],
726
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
727
+ opacity: var(--db-opacity-xl);
728
+ font-family: var(--db-font-family-sans);
729
+ font-style: italic;
730
+ /* stylelint-disable-next-line db-ux/use-spacings */
731
+ padding-block-start: var(--db-base-body-icon-font-size-2xs);
732
+ }
733
+ @media screen and (prefers-reduced-motion: no-preference) {
734
+ .db-select[data-variant=floating]:has(select:focus-within,
735
+ select:is(input, textarea):not(:placeholder-shown),
736
+ > select option:checked:not(.placeholder),
737
+ input[type=checkbox]:checked,
738
+ input[type=radio]:checked) select:is([type=date],
739
+ [type=datetime-local],
740
+ [type=month],
741
+ [type=week],
742
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
743
+ transition: opacity var(--db-transition-straight-emotional);
744
+ }
745
+ }
695
746
  .db-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
696
747
  > db-infotext > .db-infotext[data-semantic=successful]) {
697
748
  /* stylelint-disable-next-line at-rule-empty-line-before */
@@ -804,6 +855,15 @@ input[type=radio]:checked) [id$=-placeholder] {
804
855
  font-family: var(--db-font-family-sans);
805
856
  font-style: italic;
806
857
  }
858
+ .db-select select:is([type=date],
859
+ [type=datetime-local],
860
+ [type=month],
861
+ [type=week],
862
+ [type=time]):not(:user-valid)::-webkit-datetime-edit {
863
+ opacity: var(--db-opacity-xl);
864
+ font-family: var(--db-font-family-sans);
865
+ font-style: italic;
866
+ }
807
867
  .db-select select {
808
868
  background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
809
869
  caret-color: var(--db-adaptive-on-bg-basic-emphasis-100-default);
@@ -153,6 +153,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
153
153
 
154
154
  @layer variables {}
155
155
 
156
+ /* Use for body tags like <p> */
157
+ /* Use for headline tags like <h1> */
156
158
  .db-switch input:not([data-show-icon-trailing=false])::after, .db-switch[data-visual-aid=true] input:checked:not([data-aid-icon]):not([data-show-icon-trailing=false])::after {
157
159
  color: var(--db-icon-color, inherit);
158
160
  display: inline-block;
@@ -173,7 +175,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
173
175
  overflow: clip;
174
176
  vertical-align: var(--db-icon-vertical-align, middle);
175
177
  block-size: var(--db-icon-font-size, 1.5rem);
176
- inline-size: var(--db-icon-font-size, 1.5rem);
178
+ aspect-ratio: 1;
179
+ flex-shrink: 0;
177
180
  content: var(--db-icon, attr(data-icon));
178
181
  }
179
182
  @supports (content: ""/"") {
@@ -140,6 +140,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
140
140
 
141
141
  @layer variables {}
142
142
 
143
+ /* Use for body tags like <p> */
144
+ /* Use for headline tags like <h1> */
143
145
  .db-tab-item {
144
146
  position: relative;
145
147
  list-style-type: "";
@@ -215,6 +215,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
215
215
 
216
216
  @layer variables {}
217
217
 
218
+ /* Use for body tags like <p> */
219
+ /* Use for headline tags like <h1> */
218
220
  /**
219
221
  * @mixin screen-min-max
220
222
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -122,6 +122,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
122
122
 
123
123
  @layer variables {}
124
124
 
125
+ /* Use for body tags like <p> */
126
+ /* Use for headline tags like <h1> */
125
127
  /**
126
128
  * @mixin screen-min-max
127
129
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
@@ -965,6 +965,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
965
965
 
966
966
  @layer variables {}
967
967
 
968
+ /* Use for body tags like <p> */
969
+ /* Use for headline tags like <h1> */
968
970
  .db-tag[data-show-check-state=true] label:not([data-show-icon-trailing=false])::after, .db-tag[data-show-check-state=true] label:has(input:checked):not([data-show-icon-trailing=false])::after {
969
971
  color: var(--db-icon-color, inherit);
970
972
  display: inline-block;
@@ -985,7 +987,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
985
987
  overflow: clip;
986
988
  vertical-align: var(--db-icon-vertical-align, middle);
987
989
  block-size: var(--db-icon-font-size, 1.5rem);
988
- inline-size: var(--db-icon-font-size, 1.5rem);
990
+ aspect-ratio: 1;
991
+ flex-shrink: 0;
989
992
  content: var(--db-icon, attr(data-icon));
990
993
  }
991
994
  @supports (content: ""/"") {