@db-ux/core-components 2.1.1 → 2.2.0

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 (60) hide show
  1. package/build/components/accordion/accordion.css +1 -0
  2. package/build/components/accordion-item/accordion-item.css +2 -1
  3. package/build/components/accordion-item/accordion-item.scss +1 -1
  4. package/build/components/badge/badge.css +1 -0
  5. package/build/components/brand/brand.css +1 -0
  6. package/build/components/button/button.css +2 -1
  7. package/build/components/button/button.scss +1 -1
  8. package/build/components/card/card.css +1 -0
  9. package/build/components/checkbox/checkbox.css +2 -1
  10. package/build/components/custom-select/custom-select.css +21 -46
  11. package/build/components/custom-select/custom-select.scss +2 -50
  12. package/build/components/custom-select-dropdown/custom-select-dropdown.css +1 -0
  13. package/build/components/custom-select-form-field/custom-select-form-field.css +1 -0
  14. package/build/components/custom-select-list/custom-select-list.css +1 -0
  15. package/build/components/custom-select-list-item/custom-select-list-item.css +1 -0
  16. package/build/components/divider/divider.css +1 -0
  17. package/build/components/drawer/drawer.css +4 -4
  18. package/build/components/header/header.css +1 -0
  19. package/build/components/icon/icon.css +1 -0
  20. package/build/components/infotext/infotext.css +1 -0
  21. package/build/components/input/input.css +14 -4
  22. package/build/components/link/link.css +2 -1
  23. package/build/components/navigation/navigation.css +1 -7
  24. package/build/components/navigation/navigation.scss +0 -10
  25. package/build/components/navigation-item/navigation-item.css +2 -1
  26. package/build/components/navigation-item/navigation-item.scss +1 -1
  27. package/build/components/notification/notification.css +2 -1
  28. package/build/components/page/page.css +1 -0
  29. package/build/components/popover/popover.css +80 -82
  30. package/build/components/popover/popover.scss +0 -1
  31. package/build/components/radio/radio.css +2 -1
  32. package/build/components/section/section.css +1 -0
  33. package/build/components/select/select.css +14 -4
  34. package/build/components/stack/stack-web-component.css +1 -0
  35. package/build/components/stack/stack.css +1 -0
  36. package/build/components/switch/switch.css +2 -1
  37. package/build/components/tab-item/tab-item.css +2 -1
  38. package/build/components/tab-item/tab-item.scss +1 -1
  39. package/build/components/tab-list/tab-list.css +7 -0
  40. package/build/components/tab-panel/tab-panel.css +1 -0
  41. package/build/components/tabs/tabs.css +1 -0
  42. package/build/components/tag/tag.css +2 -1
  43. package/build/components/tag/tag.scss +1 -1
  44. package/build/components/textarea/textarea.css +27 -8
  45. package/build/components/textarea/textarea.scss +16 -9
  46. package/build/components/tooltip/tooltip.css +88 -89
  47. package/build/components/tooltip/tooltip.scss +13 -13
  48. package/build/styles/absolute.css +7 -7
  49. package/build/styles/dialog-init.css +1 -1
  50. package/build/styles/dialog-init.scss +12 -7
  51. package/build/styles/index.css +7 -7
  52. package/build/styles/internal/_component.scss +0 -3
  53. package/build/styles/internal/_form-components.scss +16 -5
  54. package/build/styles/internal/_link-components.scss +1 -1
  55. package/build/styles/internal/_popover-component.scss +69 -106
  56. package/build/styles/internal/_scrollbar.scss +9 -0
  57. package/build/styles/relative.css +7 -7
  58. package/build/styles/rollup.css +7 -7
  59. package/build/styles/webpack.css +7 -7
  60. package/package.json +3 -3
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  /* Variants for adaptive components like input, select, notification, ... */
9
10
  @layer variables {}
@@ -132,15 +133,11 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
132
133
  border-radius: var(--default-card-border-radius, var(--db-border-radius-sm));
133
134
  }
134
135
 
135
- .db-popover > article:not([data-placement]), .db-popover > article[data-placement=bottom]:not([data-outside-vy]), .db-popover > article[data-placement=top]:not([data-outside-vy]), .db-popover > article:is([data-outside-vy=bottom], [data-outside-vy=top]):not([data-outside-vx],
136
- [data-placement$=end],
137
- [data-placement$=start]) {
136
+ .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] {
138
137
  --db-popover-center-x: -50%;
139
138
  inset-inline-start: 50%;
140
139
  }
141
- .db-popover > article[data-placement=left]:not([data-outside-vx]), .db-popover > article[data-placement=right]:not([data-outside-vx]), .db-popover > article[data-outside-vx=left]:not([data-placement$=end],
142
- [data-placement$=start]), .db-popover > article[data-outside-vx=right]:not([data-placement$=end],
143
- [data-placement$=start]) {
140
+ .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]) {
144
141
  --db-popover-center-y: -50%;
145
142
  inset-block-start: 50%;
146
143
  }
@@ -152,135 +149,135 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
152
149
  content: "";
153
150
  position: absolute;
154
151
  }
155
- .db-popover > article[data-gap=true] {
156
- --db-popover-gap: 1;
157
- --db-popover-distance: var(--db-spacing-fixed-md);
158
- }
159
- .db-popover > article:is(.db-tooltip) {
160
- --db-popover-distance: var(--db-spacing-fixed-sm);
161
- }
162
- .db-popover > article[data-placement^=bottom]:not([data-outside-vy])[data-placement$=end], .db-popover > article[data-placement^=top]:not([data-outside-vy])[data-placement$=end], .db-popover > article[data-outside-vy=bottom]:not([data-outside-vx])[data-placement$=end], .db-popover > article[data-outside-vy=top]:not([data-outside-vx])[data-placement$=end] {
163
- inset-inline-end: 0;
164
- }
165
- .db-popover > article[data-placement^=bottom]:not([data-outside-vy])[data-placement$=start], .db-popover > article[data-placement^=top]:not([data-outside-vy])[data-placement$=start], .db-popover > article[data-outside-vy=bottom]:not([data-outside-vx])[data-placement$=start], .db-popover > article[data-outside-vy=top]:not([data-outside-vx])[data-placement$=start] {
166
- inset-inline-start: 0;
167
- }
168
- .db-popover > article[data-placement^=left]:not([data-outside-vx])[data-placement$=end], .db-popover > article[data-placement^=right]:not([data-outside-vx])[data-placement$=end], .db-popover > article[data-outside-vx=left][data-placement$=end], .db-popover > article[data-outside-vx=right][data-placement$=end] {
169
- inset-block-end: 0;
170
- }
171
- .db-popover > article[data-placement^=left]:not([data-outside-vx])[data-placement$=start], .db-popover > article[data-placement^=right]:not([data-outside-vx])[data-placement$=start], .db-popover > article[data-outside-vx=left][data-placement$=start], .db-popover > article[data-outside-vx=right][data-placement$=start] {
172
- inset-block-start: 0;
173
- }
174
- .db-popover > article:not([data-placement], [data-outside-vy]), .db-popover > article[data-placement^=bottom]:not([data-outside-vy]), .db-popover > article[data-outside-vy=top]:not([data-outside-vx]) {
175
- inset-block-start: calc(100% + var(--db-popover-distance) * var(--db-popover-gap, 0));
176
- }
177
- .db-popover > article:not([data-placement], [data-outside-vy])::before, .db-popover > article[data-placement^=bottom]:not([data-outside-vy])::before, .db-popover > article[data-outside-vy=top]:not([data-outside-vx])::before {
178
- inset-inline-start: 0;
179
- inline-size: 100%;
152
+ .db-popover > article:not([data-placement], [data-corrected-placement])::before, .db-popover > article[data-placement^=bottom]:not([data-corrected-placement])::before, .db-popover > article[data-corrected-placement^=bottom]::before {
153
+ inset-block-end: 100%;
154
+ inset-inline: 0;
180
155
  block-size: var(--db-popover-distance);
181
- inset-block-start: calc(-1 * var(--db-popover-distance));
182
156
  }
183
- .db-popover > article[data-placement^=top]:not([data-outside-vy]), .db-popover > article[data-outside-vy=bottom]:not([data-outside-vx]) {
184
- inset-block-end: calc(100% + var(--db-popover-distance) * var(--db-popover-gap, 0));
185
- }
186
- .db-popover > article[data-placement^=top]:not([data-outside-vy])::before, .db-popover > article[data-outside-vy=bottom]:not([data-outside-vx])::before {
187
- inset-inline-end: 0;
188
- inline-size: 100%;
157
+ .db-popover > article[data-placement^=top]:not([data-corrected-placement])::before, .db-popover > article[data-corrected-placement^=top]::before {
158
+ inset-block-start: 100%;
159
+ inset-inline: 0;
189
160
  block-size: var(--db-popover-distance);
190
- inset-block-end: calc(-1 * var(--db-popover-distance));
191
161
  }
192
- .db-popover > article[data-placement^=left]:not([data-outside-vx]), .db-popover > article[data-outside-vx=right] {
193
- inset-inline-end: calc(100% + var(--db-popover-distance) * var(--db-popover-gap, 0));
162
+ .db-popover > article[data-placement^=right]:not([data-corrected-placement])::before, .db-popover > article[data-corrected-placement^=right]::before {
163
+ inset-inline-end: 100%;
164
+ inset-block: 0;
165
+ inline-size: var(--db-popover-distance);
194
166
  }
195
- .db-popover > article[data-placement^=left]:not([data-outside-vx])::before, .db-popover > article[data-outside-vx=right]::before {
196
- inset-block-end: 0;
197
- block-size: 100%;
167
+ .db-popover > article[data-placement^=left]:not([data-corrected-placement])::before, .db-popover > article[data-corrected-placement^=left]::before {
168
+ inset-inline-start: 100%;
169
+ inset-block: 0;
198
170
  inline-size: var(--db-popover-distance);
199
- inset-inline-end: calc(-1 * var(--db-popover-distance));
200
171
  }
201
- .db-popover > article[data-placement^=right]:not([data-outside-vx]), .db-popover > article[data-outside-vx=left] {
202
- inset-inline-start: calc(100% + var(--db-popover-distance) * var(--db-popover-gap, 0));
172
+ .db-popover > article[data-gap=true] {
173
+ --db-popover-gap: 1;
174
+ --db-popover-distance: var(--db-spacing-fixed-md);
203
175
  }
204
- .db-popover > article[data-placement^=right]:not([data-outside-vx])::before, .db-popover > article[data-outside-vx=left]::before {
205
- inset-block-start: 0;
206
- block-size: 100%;
207
- inline-size: var(--db-popover-distance);
208
- inset-inline-start: calc(-1 * var(--db-popover-distance));
176
+ .db-popover > article:is(.db-tooltip) {
177
+ --db-popover-distance: var(--db-spacing-fixed-sm);
209
178
  }
210
179
 
211
180
  .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-open=false]), .db-popover > article[data-open=true] {
212
- display: revert;
181
+ visibility: var(--db-show-popover-visibility, visible);
213
182
  }
214
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-outside-vy]):not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-outside-vy]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-outside-vy]):not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-outside-vy]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=top]:not([data-outside-vx]):not([data-open=false]), .db-popover > article[data-outside-vy=top][data-open=true]:not([data-outside-vx]) {
183
+ .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] {
215
184
  --db-popover-translate-y: -25%;
216
185
  }
217
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-outside-vy]):not([data-animation]):not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-outside-vy]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-outside-vy])[data-animation=false]:not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-outside-vy])[data-animation=false], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-outside-vy]):not([data-animation]):not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-outside-vy]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-outside-vy])[data-animation=false]:not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-outside-vy])[data-animation=false], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=top]:not([data-outside-vx]):not([data-animation]):not([data-open=false]), .db-popover > article[data-outside-vy=top][data-open=true]:not([data-outside-vx]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=top]:not([data-outside-vx])[data-animation=false]:not([data-open=false]), .db-popover > article[data-outside-vy=top][data-open=true]:not([data-outside-vx])[data-animation=false] {
186
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-corrected-placement]):not([data-animation]):not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-corrected-placement]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-corrected-placement])[data-animation=false]:not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-corrected-placement])[data-animation=false], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-corrected-placement]):not([data-animation]):not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-corrected-placement]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-corrected-placement])[data-animation=false]:not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-corrected-placement])[data-animation=false], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=bottom]:not([data-animation]):not([data-open=false]), .db-popover > article[data-corrected-placement^=bottom][data-open=true]:not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=bottom][data-animation=false]:not([data-open=false]), .db-popover > article[data-corrected-placement^=bottom][data-animation=false][data-open=true] {
218
187
  opacity: 1;
219
188
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
220
189
  }
221
190
  @media screen and (prefers-reduced-motion: no-preference) {
222
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-outside-vy])[data-animation=true]:not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-outside-vy])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-outside-vy])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-outside-vy])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=top]:not([data-outside-vx])[data-animation=true]:not([data-open=false]), .db-popover > article[data-outside-vy=top][data-open=true]:not([data-outside-vx])[data-animation=true] {
191
+ .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] {
223
192
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
193
+ /* stylelint-disable-next-line media-query-no-invalid */
194
+ /* stylelint-disable-next-line at-rule-empty-line-before */
224
195
  }
225
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-outside-vy])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-outside-vy])[data-animation=true][data-delay=slow], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-outside-vy])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-outside-vy])[data-animation=true][data-delay=slow], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=top]:not([data-outside-vx])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-outside-vy=top][data-open=true]:not([data-outside-vx])[data-animation=true][data-delay=slow] {
196
+ .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] {
226
197
  animation-delay: var(--db-transition-duration-extra-slow);
227
198
  }
228
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article:not([data-placement], [data-outside-vy])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-open=true]:not([data-placement], [data-outside-vy])[data-animation=true][data-delay=fast], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=bottom]:not([data-outside-vy])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-placement^=bottom][data-open=true]:not([data-outside-vy])[data-animation=true][data-delay=fast], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=top]:not([data-outside-vx])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-outside-vy=top][data-open=true]:not([data-outside-vx])[data-animation=true][data-delay=fast] {
229
- animation-delay: calc(var(--db-transition-duration-medium));
199
+ .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] {
200
+ animation-delay: var(--db-transition-duration-medium);
230
201
  }
231
202
  }
232
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-outside-vy]):not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-outside-vy]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=bottom]:not([data-outside-vx]):not([data-open=false]), .db-popover > article[data-outside-vy=bottom][data-open=true]:not([data-outside-vx]) {
203
+ @media screen and (prefers-reduced-motion: no-preference) and (width <= 64em) {
204
+ .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]) {
205
+ animation-delay: var(--db-transition-duration-medium);
206
+ }
207
+ }
208
+ .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] {
233
209
  --db-popover-translate-y: 25%;
234
210
  }
235
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-outside-vy]):not([data-animation]):not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-outside-vy]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-outside-vy])[data-animation=false]:not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-outside-vy])[data-animation=false], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=bottom]:not([data-outside-vx]):not([data-animation]):not([data-open=false]), .db-popover > article[data-outside-vy=bottom][data-open=true]:not([data-outside-vx]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=bottom]:not([data-outside-vx])[data-animation=false]:not([data-open=false]), .db-popover > article[data-outside-vy=bottom][data-open=true]:not([data-outside-vx])[data-animation=false] {
211
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-corrected-placement]):not([data-animation]):not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-corrected-placement]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-corrected-placement])[data-animation=false]:not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-corrected-placement])[data-animation=false], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=top]:not([data-animation]):not([data-open=false]), .db-popover > article[data-corrected-placement^=top][data-open=true]:not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=top][data-animation=false]:not([data-open=false]), .db-popover > article[data-corrected-placement^=top][data-animation=false][data-open=true] {
236
212
  opacity: 1;
237
213
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
238
214
  }
239
215
  @media screen and (prefers-reduced-motion: no-preference) {
240
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-outside-vy])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-outside-vy])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=bottom]:not([data-outside-vx])[data-animation=true]:not([data-open=false]), .db-popover > article[data-outside-vy=bottom][data-open=true]:not([data-outside-vx])[data-animation=true] {
216
+ .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] {
241
217
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
218
+ /* stylelint-disable-next-line media-query-no-invalid */
219
+ /* stylelint-disable-next-line at-rule-empty-line-before */
242
220
  }
243
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-outside-vy])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-outside-vy])[data-animation=true][data-delay=slow], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=bottom]:not([data-outside-vx])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-outside-vy=bottom][data-open=true]:not([data-outside-vx])[data-animation=true][data-delay=slow] {
221
+ .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] {
244
222
  animation-delay: var(--db-transition-duration-extra-slow);
245
223
  }
246
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=top]:not([data-outside-vy])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-placement^=top][data-open=true]:not([data-outside-vy])[data-animation=true][data-delay=fast], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vy=bottom]:not([data-outside-vx])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-outside-vy=bottom][data-open=true]:not([data-outside-vx])[data-animation=true][data-delay=fast] {
247
- animation-delay: calc(var(--db-transition-duration-medium));
224
+ .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] {
225
+ animation-delay: var(--db-transition-duration-medium);
226
+ }
227
+ }
228
+ @media screen and (prefers-reduced-motion: no-preference) and (width <= 64em) {
229
+ .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]) {
230
+ animation-delay: var(--db-transition-duration-medium);
248
231
  }
249
232
  }
250
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-outside-vx]):not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-outside-vx]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=left]:not([data-open=false]), .db-popover > article[data-outside-vx=left][data-open=true] {
233
+ .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] {
251
234
  --db-popover-translate-x: -25%;
252
235
  }
253
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-outside-vx]):not([data-animation]):not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-outside-vx]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-outside-vx])[data-animation=false]:not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-outside-vx])[data-animation=false], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=left]:not([data-animation]):not([data-open=false]), .db-popover > article[data-outside-vx=left][data-open=true]:not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=left][data-animation=false]:not([data-open=false]), .db-popover > article[data-outside-vx=left][data-animation=false][data-open=true] {
236
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-corrected-placement]):not([data-animation]):not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-corrected-placement]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-corrected-placement])[data-animation=false]:not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-corrected-placement])[data-animation=false], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=right]:not([data-animation]):not([data-open=false]), .db-popover > article[data-corrected-placement^=right][data-open=true]:not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=right][data-animation=false]:not([data-open=false]), .db-popover > article[data-corrected-placement^=right][data-animation=false][data-open=true] {
254
237
  opacity: 1;
255
238
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
256
239
  }
257
240
  @media screen and (prefers-reduced-motion: no-preference) {
258
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-outside-vx])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-outside-vx])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=left][data-animation=true]:not([data-open=false]), .db-popover > article[data-outside-vx=left][data-animation=true][data-open=true] {
241
+ .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] {
259
242
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
243
+ /* stylelint-disable-next-line media-query-no-invalid */
244
+ /* stylelint-disable-next-line at-rule-empty-line-before */
260
245
  }
261
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-outside-vx])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-outside-vx])[data-animation=true][data-delay=slow], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=left][data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-outside-vx=left][data-animation=true][data-delay=slow][data-open=true] {
246
+ .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] {
262
247
  animation-delay: var(--db-transition-duration-extra-slow);
263
248
  }
264
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=right]:not([data-outside-vx])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-placement^=right][data-open=true]:not([data-outside-vx])[data-animation=true][data-delay=fast], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=left][data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-outside-vx=left][data-animation=true][data-delay=fast][data-open=true] {
265
- animation-delay: calc(var(--db-transition-duration-medium));
249
+ .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] {
250
+ animation-delay: var(--db-transition-duration-medium);
266
251
  }
267
252
  }
268
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-outside-vx]):not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-outside-vx]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=right]:not([data-open=false]), .db-popover > article[data-outside-vx=right][data-open=true] {
253
+ @media screen and (prefers-reduced-motion: no-preference) and (width <= 64em) {
254
+ .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]) {
255
+ animation-delay: var(--db-transition-duration-medium);
256
+ }
257
+ }
258
+ .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] {
269
259
  --db-popover-translate-x: 25%;
270
260
  }
271
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-outside-vx]):not([data-animation]):not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-outside-vx]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-outside-vx])[data-animation=false]:not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-outside-vx])[data-animation=false], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=right]:not([data-animation]):not([data-open=false]), .db-popover > article[data-outside-vx=right][data-open=true]:not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=right][data-animation=false]:not([data-open=false]), .db-popover > article[data-outside-vx=right][data-animation=false][data-open=true] {
261
+ .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-corrected-placement]):not([data-animation]):not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-corrected-placement]):not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-corrected-placement])[data-animation=false]:not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-corrected-placement])[data-animation=false], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=left]:not([data-animation]):not([data-open=false]), .db-popover > article[data-corrected-placement^=left][data-open=true]:not([data-animation]), .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-corrected-placement^=left][data-animation=false]:not([data-open=false]), .db-popover > article[data-corrected-placement^=left][data-animation=false][data-open=true] {
272
262
  opacity: 1;
273
263
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
274
264
  }
275
265
  @media screen and (prefers-reduced-motion: no-preference) {
276
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-outside-vx])[data-animation=true]:not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-outside-vx])[data-animation=true], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=right][data-animation=true]:not([data-open=false]), .db-popover > article[data-outside-vx=right][data-animation=true][data-open=true] {
266
+ .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] {
277
267
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
268
+ /* stylelint-disable-next-line media-query-no-invalid */
269
+ /* stylelint-disable-next-line at-rule-empty-line-before */
278
270
  }
279
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-outside-vx])[data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-outside-vx])[data-animation=true][data-delay=slow], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=right][data-animation=true][data-delay=slow]:not([data-open=false]), .db-popover > article[data-outside-vx=right][data-animation=true][data-delay=slow][data-open=true] {
271
+ .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] {
280
272
  animation-delay: var(--db-transition-duration-extra-slow);
281
273
  }
282
- .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-placement^=left]:not([data-outside-vx])[data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-placement^=left][data-open=true]:not([data-outside-vx])[data-animation=true][data-delay=fast], .db-popover:is([data-e2e-hover=true], :hover, :focus-within) > article[data-outside-vx=right][data-animation=true][data-delay=fast]:not([data-open=false]), .db-popover > article[data-outside-vx=right][data-animation=true][data-delay=fast][data-open=true] {
283
- animation-delay: calc(var(--db-transition-duration-medium));
274
+ .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] {
275
+ animation-delay: var(--db-transition-duration-medium);
276
+ }
277
+ }
278
+ @media screen and (prefers-reduced-motion: no-preference) and (width <= 64em) {
279
+ .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]) {
280
+ animation-delay: var(--db-transition-duration-medium);
284
281
  }
285
282
  }
286
283
 
@@ -288,21 +285,22 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
288
285
  position: absolute;
289
286
  background-color: var(--db-adaptive-bg-basic-level-1-default);
290
287
  box-shadow: var(--db-elevation-md);
291
- display: none;
288
+ visibility: hidden;
292
289
  z-index: 1337;
293
- white-space: nowrap;
290
+ white-space: normal;
291
+ max-inline-size: calc(100vw - 2 * var(--db-spacing-fixed-md));
292
+ block-size: fit-content;
293
+ inline-size: fit-content;
294
294
  }
295
295
  .db-popover > article[data-width=fixed] {
296
296
  inline-size: max-content;
297
- max-inline-size: var(--db-sizing-3xl);
298
- white-space: normal;
297
+ max-inline-size: min(var(--db-sizing-3xl), calc(100vw - 2 * var(--db-spacing-fixed-md)));
299
298
  text-align: initial;
300
299
  }
301
300
 
302
301
  .db-popover {
303
302
  position: relative;
304
303
  display: flex;
305
- inline-size: fit-content;
306
304
  }
307
305
  .db-popover > article {
308
306
  /* stylelint-disable-next-line at-rule-empty-line-before */
@@ -5,7 +5,6 @@
5
5
  .db-popover {
6
6
  position: relative;
7
7
  display: flex;
8
- inline-size: fit-content;
9
8
 
10
9
  &:is([data-e2e-hover="true"], :hover, :focus-within) {
11
10
  > article:not([data-open="false"]) {
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  /* Variants for adaptive components like input, select, notification, ... */
9
10
  .db-visually-hidden,
@@ -162,7 +163,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
162
163
  }
163
164
  }
164
165
  .db-radio:has(input:disabled) {
165
- opacity: 0.4;
166
+ opacity: var(--db-opacity-md);
166
167
  }
167
168
  .db-radio:is(label),
168
169
  .db-radio > label {
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  /* Variants for adaptive components like input, select, notification, ... */
9
10
  @layer variables {}
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  /* Variants for adaptive components like input, select, notification, ... */
9
10
  .db-select[data-hide-label=true] > label, .db-visually-hidden,
@@ -618,7 +619,7 @@ input[type=radio]:checked) > label {
618
619
  --db-label-visible-above: 0;
619
620
  }
620
621
  .db-select[data-variant=floating] > label {
621
- opacity: 0.75;
622
+ opacity: var(--db-opacity-xl);
622
623
  position: absolute;
623
624
  z-index: 2;
624
625
  inset-block-start: calc((var(--db-sizing-md) - var(--db-icon-font-size)) / 2);
@@ -657,7 +658,7 @@ select:is(input, textarea):not(:placeholder-shown),
657
658
  > select option:checked:not([hidden]),
658
659
  input[type=checkbox]:checked,
659
660
  input[type=radio]:checked) [id$=-placeholder] {
660
- opacity: 0.75;
661
+ opacity: var(--db-opacity-xl);
661
662
  font-family: var(--db-font-family-sans);
662
663
  font-style: italic;
663
664
  /* stylelint-disable-next-line db-ux/use-spacings */
@@ -799,7 +800,7 @@ input[type=radio]:checked) [id$=-placeholder] {
799
800
  }
800
801
  .db-select select::placeholder,
801
802
  .db-select [id$=-placeholder] {
802
- opacity: 0.75;
803
+ opacity: var(--db-opacity-xl);
803
804
  font-family: var(--db-font-family-sans);
804
805
  font-style: italic;
805
806
  }
@@ -824,6 +825,15 @@ input[type=radio]:checked) [id$=-placeholder] {
824
825
  .db-select select:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-select select:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
825
826
  cursor: pointer;
826
827
  }
828
+ .db-select select:is(input, textarea) {
829
+ /* see https://developer.mozilla.org/en-US/docs/Web/CSS/field-sizing */
830
+ }
831
+ .db-select select:is(input, textarea)[data-field-sizing=content] {
832
+ field-sizing: content;
833
+ }
834
+ .db-select select:is(input, textarea)[data-field-sizing=fixed] {
835
+ field-sizing: fixed;
836
+ }
827
837
  .db-select select:is(input, textarea):not(:disabled):read-only {
828
838
  background-color: var(--db-textarea-read-only, var(--db-adaptive-bg-basic-level-1-default)) !important;
829
839
  }
@@ -845,7 +855,7 @@ input[type=radio]:checked) [id$=-placeholder] {
845
855
  .db-select:has(select:disabled,
846
856
  select[data-disabled=true],
847
857
  select[aria-disabled=true]) {
848
- opacity: 0.4;
858
+ opacity: var(--db-opacity-md);
849
859
  pointer-events: none;
850
860
  }
851
861
  .db-select::after, .db-select::before {
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  /* Variants for adaptive components like input, select, notification, ... */
9
10
  @layer variables {}
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  /* Variants for adaptive components like input, select, notification, ... */
9
10
  @layer variables {}
@@ -5,6 +5,7 @@
5
5
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
6
6
  /* Elevation */
7
7
  /* Border */
8
+ /* Opacity */
8
9
  /* Transitions */
9
10
  /* Variants for adaptive components like input, select, notification, ... */
10
11
  .db-visually-hidden,
@@ -513,7 +514,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
513
514
  }
514
515
  }
515
516
  .db-switch:has(input:disabled) {
516
- opacity: 0.4;
517
+ opacity: var(--db-opacity-md);
517
518
  }
518
519
  .db-switch:is(label),
519
520
  .db-switch > label {
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  /* Variants for adaptive components like input, select, notification, ... */
9
10
  .db-visually-hidden,
@@ -144,7 +145,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
144
145
  border-radius: var(--db-border-radius-sm);
145
146
  }
146
147
  .db-tab-item:has(input:disabled) {
147
- opacity: 0.4;
148
+ opacity: var(--db-opacity-md);
148
149
  }
149
150
  .db-tab-item label {
150
151
  background-color: var(--db-adaptive-bg-basic-transparent-full-default);
@@ -18,7 +18,7 @@ $with-icon-padding-calc: calc(
18
18
  border-radius: variables.$db-border-radius-sm;
19
19
 
20
20
  &:has(input:disabled) {
21
- opacity: component.$default-disabled;
21
+ opacity: variables.$db-opacity-md;
22
22
  }
23
23
 
24
24
  label {
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  /* Variants for adaptive components like input, select, notification, ... */
9
10
  .db-visually-hidden,
@@ -223,6 +224,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
223
224
  /* Left */
224
225
  /* Right */
225
226
  }
227
+ @supports (field-sizing: content) {
228
+ .db-tab-list > ul[data-field-sizing=content]:is([data-hide-resizer=true], [data-resize=none]) {
229
+ /* We don't show a scrollbar if we use field-sizing: content and no resizer is available */
230
+ scrollbar-width: none;
231
+ }
232
+ }
226
233
  .db-tab-list > ul::-webkit-scrollbar {
227
234
  z-index: 3;
228
235
  inline-size: 0.5rem;
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  .db-tab-panel {
9
10
  display: none;
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  /* Variants for adaptive components like input, select, notification, ... */
9
10
  .db-visually-hidden,
@@ -4,6 +4,7 @@
4
4
  paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
5
  /* Elevation */
6
6
  /* Border */
7
+ /* Opacity */
7
8
  /* Transitions */
8
9
  .db-tag label, .db-tag a {
9
10
  transition: outline var(--db-transition-duration-extra-fast), border-color var(--db-transition-straight-emotional), background-color var(--db-transition-straight-emotional);
@@ -1512,7 +1513,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
1512
1513
  block-size: inherit;
1513
1514
  }
1514
1515
  .db-tag:has(:disabled), .db-tag[data-disabled=true] {
1515
- opacity: 0.4;
1516
+ opacity: var(--db-opacity-md);
1516
1517
  pointer-events: none;
1517
1518
  }
1518
1519
  .db-tag[data-overflow=true] {
@@ -209,7 +209,7 @@
209
209
 
210
210
  &:has(:disabled),
211
211
  &[data-disabled="true"] {
212
- opacity: component.$default-disabled;
212
+ opacity: variables.$db-opacity-md;
213
213
  pointer-events: none;
214
214
  }
215
215