@db-ux/core-components 4.4.0 → 4.4.1-floating-components-066d296

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @db-ux/core-components
2
2
 
3
+ ## 4.4.1
4
+
5
+ ### Patch Changes
6
+
7
+ - DBCustomSelect: Prevent floating label from flickering during initial render - [see commit e5ceff8](https://github.com/db-ux-design-system/core-web/commit/e5ceff861534186cf86d1f5f0a876e04aeac9e41)
8
+
3
9
  ## 4.4.0
4
10
 
5
11
  ### Minor Changes
@@ -645,7 +645,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
645
645
 
646
646
  @layer variables {}
647
647
 
648
- .db-custom-select[data-variant=floating]:has(summary:focus-within,
648
+ .db-custom-select[data-variant=floating]:has(:focus-within,
649
649
  summary:is(input, textarea):not(:placeholder-shown),
650
650
  > select option:checked:not(.placeholder),
651
651
  input[type=checkbox]:checked,
@@ -654,7 +654,7 @@ input[type=radio]:checked) > label {
654
654
  /* stylelint-disable-next-line at-rule-prelude-no-invalid,layer-name-pattern */
655
655
  }
656
656
  @layer variables {
657
- .db-custom-select[data-variant=floating]:has(summary:focus-within,
657
+ .db-custom-select[data-variant=floating]:has(:focus-within,
658
658
  summary:is(input, textarea):not(:placeholder-shown),
659
659
  > select option:checked:not(.placeholder),
660
660
  input[type=checkbox]:checked,
@@ -881,7 +881,7 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
881
881
  /* stylelint-disable-next-line db-ux/use-spacings */
882
882
  padding-block-start: var(--db-base-body-icon-font-size-2xs);
883
883
  }
884
- .db-custom-select[data-variant=floating]:has(summary:focus-within,
884
+ .db-custom-select[data-variant=floating]:has(:focus-within,
885
885
  summary:is(input, textarea):not(:placeholder-shown),
886
886
  > select option:checked:not(.placeholder),
887
887
  input[type=checkbox]:checked,
@@ -890,12 +890,12 @@ input[type=radio]:checked) > label {
890
890
  opacity: 1;
891
891
  font-style: normal;
892
892
  }
893
- .db-custom-select[data-variant=floating]:has(summary:focus-within,
893
+ .db-custom-select[data-variant=floating]:has(:focus-within,
894
894
  summary:is(input, textarea):not(:placeholder-shown),
895
895
  > select option:checked:not(.placeholder),
896
896
  input[type=checkbox]:checked,
897
897
  input[type=radio]:checked) summary::placeholder,
898
- .db-custom-select[data-variant=floating]:has(summary:focus-within,
898
+ .db-custom-select[data-variant=floating]:has(:focus-within,
899
899
  summary:is(input, textarea):not(:placeholder-shown),
900
900
  > select option:checked:not(.placeholder),
901
901
  input[type=checkbox]:checked,
@@ -907,12 +907,12 @@ input[type=radio]:checked) [id$=-placeholder] {
907
907
  padding-block-start: var(--db-base-body-icon-font-size-2xs);
908
908
  }
909
909
  @media screen and (prefers-reduced-motion: no-preference) {
910
- .db-custom-select[data-variant=floating]:has(summary:focus-within,
910
+ .db-custom-select[data-variant=floating]:has(:focus-within,
911
911
  summary:is(input, textarea):not(:placeholder-shown),
912
912
  > select option:checked:not(.placeholder),
913
913
  input[type=checkbox]:checked,
914
914
  input[type=radio]:checked) summary::placeholder,
915
- .db-custom-select[data-variant=floating]:has(summary:focus-within,
915
+ .db-custom-select[data-variant=floating]:has(:focus-within,
916
916
  summary:is(input, textarea):not(:placeholder-shown),
917
917
  > select option:checked:not(.placeholder),
918
918
  input[type=checkbox]:checked,
@@ -920,7 +920,7 @@ input[type=radio]:checked) [id$=-placeholder] {
920
920
  transition: opacity var(--db-transition-straight-emotional);
921
921
  }
922
922
  }
923
- .db-custom-select[data-variant=floating]:has(summary:focus-within,
923
+ .db-custom-select[data-variant=floating]:has(:focus-within,
924
924
  summary:is(input, textarea):not(:placeholder-shown),
925
925
  > select option:checked:not(.placeholder),
926
926
  input[type=checkbox]:checked,
@@ -946,7 +946,7 @@ input[type=radio]:checked) summary:is([type=date],
946
946
  padding-block-start: var(--db-base-body-icon-font-size-2xs);
947
947
  }
948
948
  @media screen and (prefers-reduced-motion: no-preference) {
949
- .db-custom-select[data-variant=floating]:has(summary:focus-within,
949
+ .db-custom-select[data-variant=floating]:has(:focus-within,
950
950
  summary:is(input, textarea):not(:placeholder-shown),
951
951
  > select option:checked:not(.placeholder),
952
952
  input[type=checkbox]:checked,
@@ -74,10 +74,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
74
74
  .db-popover > article:not([data-placement], [data-corrected-placement]), .db-popover > article[data-placement=bottom]:not([data-corrected-placement]), .db-popover > article[data-placement=top]:not([data-corrected-placement]), .db-popover > article[data-corrected-placement=bottom], .db-popover > article[data-corrected-placement=top] {
75
75
  --db-popover-center-x: -50%;
76
76
  inset-inline-start: 50%;
77
+ transform: translateX(var(--db-popover-center-x, 0));
77
78
  }
78
79
  .db-popover > article[data-corrected-placement=left], .db-popover > article[data-corrected-placement=right], .db-popover > article[data-placement=left]:not([data-corrected-placement]), .db-popover > article[data-placement=right]:not([data-corrected-placement]) {
79
80
  --db-popover-center-y: -50%;
80
81
  inset-block-start: 50%;
82
+ transform: translateY(var(--db-popover-center-y, 0));
81
83
  }
82
84
 
83
85
  .db-popover > article {
@@ -174,6 +176,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
174
176
  opacity: 1;
175
177
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
176
178
  }
179
+ @media screen and (prefers-reduced-motion: reduce) {
180
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-corrected-placement]):not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-corrected-placement]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-corrected-placement]):not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-corrected-placement]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=bottom]:not([data-open=false]), .db-popover > article[data-corrected-placement^=bottom][data-open=true] {
181
+ opacity: 1;
182
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
183
+ }
184
+ }
177
185
  @media screen and (prefers-reduced-motion: no-preference) {
178
186
  .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] {
179
187
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -199,6 +207,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
199
207
  opacity: 1;
200
208
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
201
209
  }
210
+ @media screen and (prefers-reduced-motion: reduce) {
211
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-corrected-placement]):not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-corrected-placement]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=top]:not([data-open=false]), .db-popover > article[data-corrected-placement^=top][data-open=true] {
212
+ opacity: 1;
213
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
214
+ }
215
+ }
202
216
  @media screen and (prefers-reduced-motion: no-preference) {
203
217
  .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] {
204
218
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -224,6 +238,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
224
238
  opacity: 1;
225
239
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
226
240
  }
241
+ @media screen and (prefers-reduced-motion: reduce) {
242
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-corrected-placement]):not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-corrected-placement]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=right]:not([data-open=false]), .db-popover > article[data-corrected-placement^=right][data-open=true] {
243
+ opacity: 1;
244
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
245
+ }
246
+ }
227
247
  @media screen and (prefers-reduced-motion: no-preference) {
228
248
  .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] {
229
249
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -249,6 +269,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
249
269
  opacity: 1;
250
270
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
251
271
  }
272
+ @media screen and (prefers-reduced-motion: reduce) {
273
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-corrected-placement]):not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-corrected-placement]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=left]:not([data-open=false]), .db-popover > article[data-corrected-placement^=left][data-open=true] {
274
+ opacity: 1;
275
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
276
+ }
277
+ }
252
278
  @media screen and (prefers-reduced-motion: no-preference) {
253
279
  .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] {
254
280
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -146,10 +146,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
146
146
  .db-tooltip:not([data-placement], [data-corrected-placement]), [data-placement=bottom].db-tooltip:not([data-corrected-placement]), [data-placement=top].db-tooltip:not([data-corrected-placement]), [data-corrected-placement=bottom].db-tooltip, [data-corrected-placement=top].db-tooltip {
147
147
  --db-popover-center-x: -50%;
148
148
  inset-inline-start: 50%;
149
+ transform: translateX(var(--db-popover-center-x, 0));
149
150
  }
150
151
  [data-corrected-placement=left].db-tooltip, [data-corrected-placement=right].db-tooltip, [data-placement=left].db-tooltip:not([data-corrected-placement]), [data-placement=right].db-tooltip:not([data-corrected-placement]) {
151
152
  --db-popover-center-y: -50%;
152
153
  inset-block-start: 50%;
154
+ transform: translateY(var(--db-popover-center-y, 0));
153
155
  }
154
156
 
155
157
  .db-tooltip {
@@ -246,6 +248,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
246
248
  opacity: 1;
247
249
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
248
250
  }
251
+ @media screen and (prefers-reduced-motion: reduce) {
252
+ .db-tooltip[data-e2e-hover=true]:not([data-placement], [data-corrected-placement]), [data-has-tooltip=true]:hover .db-tooltip:not([data-placement], [data-corrected-placement]):first-of-type, [data-has-tooltip=true]:focus-visible .db-tooltip:not([data-placement], [data-corrected-placement]):first-of-type, [data-placement^=bottom].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement]), [data-has-tooltip=true]:hover [data-placement^=bottom].db-tooltip:not([data-corrected-placement]):first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=bottom].db-tooltip:not([data-corrected-placement]):first-of-type, [data-corrected-placement^=bottom].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=bottom].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=bottom].db-tooltip:first-of-type {
253
+ opacity: 1;
254
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
255
+ }
256
+ }
249
257
  @media screen and (prefers-reduced-motion: no-preference) {
250
258
  .db-tooltip[data-e2e-hover=true]:not([data-placement], [data-corrected-placement])[data-animation=true], [data-has-tooltip=true]:hover .db-tooltip:not([data-placement], [data-corrected-placement])[data-animation=true]:first-of-type, [data-has-tooltip=true]:focus-visible .db-tooltip:not([data-placement], [data-corrected-placement])[data-animation=true]:first-of-type, [data-placement^=bottom].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement])[data-animation=true], [data-has-tooltip=true]:hover [data-placement^=bottom].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=bottom].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-corrected-placement^=bottom][data-animation=true].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=bottom][data-animation=true].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=bottom][data-animation=true].db-tooltip:first-of-type {
251
259
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -271,6 +279,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
271
279
  opacity: 1;
272
280
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
273
281
  }
282
+ @media screen and (prefers-reduced-motion: reduce) {
283
+ [data-placement^=top].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement]), [data-has-tooltip=true]:hover [data-placement^=top].db-tooltip:not([data-corrected-placement]):first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=top].db-tooltip:not([data-corrected-placement]):first-of-type, [data-corrected-placement^=top].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=top].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=top].db-tooltip:first-of-type {
284
+ opacity: 1;
285
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
286
+ }
287
+ }
274
288
  @media screen and (prefers-reduced-motion: no-preference) {
275
289
  [data-placement^=top].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement])[data-animation=true], [data-has-tooltip=true]:hover [data-placement^=top].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=top].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-corrected-placement^=top][data-animation=true].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=top][data-animation=true].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=top][data-animation=true].db-tooltip:first-of-type {
276
290
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -296,6 +310,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
296
310
  opacity: 1;
297
311
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
298
312
  }
313
+ @media screen and (prefers-reduced-motion: reduce) {
314
+ [data-placement^=right].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement]), [data-has-tooltip=true]:hover [data-placement^=right].db-tooltip:not([data-corrected-placement]):first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=right].db-tooltip:not([data-corrected-placement]):first-of-type, [data-corrected-placement^=right].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=right].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=right].db-tooltip:first-of-type {
315
+ opacity: 1;
316
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
317
+ }
318
+ }
299
319
  @media screen and (prefers-reduced-motion: no-preference) {
300
320
  [data-placement^=right].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement])[data-animation=true], [data-has-tooltip=true]:hover [data-placement^=right].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=right].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-corrected-placement^=right][data-animation=true].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=right][data-animation=true].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=right][data-animation=true].db-tooltip:first-of-type {
301
321
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -321,6 +341,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
321
341
  opacity: 1;
322
342
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
323
343
  }
344
+ @media screen and (prefers-reduced-motion: reduce) {
345
+ [data-placement^=left].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement]), [data-has-tooltip=true]:hover [data-placement^=left].db-tooltip:not([data-corrected-placement]):first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=left].db-tooltip:not([data-corrected-placement]):first-of-type, [data-corrected-placement^=left].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=left].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=left].db-tooltip:first-of-type {
346
+ opacity: 1;
347
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
348
+ }
349
+ }
324
350
  @media screen and (prefers-reduced-motion: no-preference) {
325
351
  [data-placement^=left].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement])[data-animation=true], [data-has-tooltip=true]:hover [data-placement^=left].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=left].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-corrected-placement^=left][data-animation=true].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=left][data-animation=true].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=left][data-animation=true].db-tooltip:first-of-type {
326
352
  animation: popover-animation var(--db-transition-straight-emotional) normal both;