@db-ux/core-components 1.1.1 → 2.0.0-0-custom-select-16b8cce

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 (75) hide show
  1. package/README.md +1 -1
  2. package/build/assets/icons/LICENCES.json +6 -0
  3. package/build/assets/icons/circular_arrows.svg +1 -0
  4. package/build/assets/icons/fonts/all/db-ux.woff2 +0 -0
  5. package/build/assets/icons/fonts/default/db-ux.woff2 +0 -0
  6. package/build/assets/icons/fonts/default_12/db-ux.woff2 +0 -0
  7. package/build/assets/icons/fonts/default_14/db-ux.woff2 +0 -0
  8. package/build/assets/icons/fonts/default_16/db-ux.woff2 +0 -0
  9. package/build/assets/icons/fonts/default_20/db-ux.woff2 +0 -0
  10. package/build/assets/icons/fonts/default_24/db-ux.woff2 +0 -0
  11. package/build/assets/icons/fonts/default_28/db-ux.woff2 +0 -0
  12. package/build/assets/icons/fonts/default_32/db-ux.woff2 +0 -0
  13. package/build/assets/icons/fonts/default_48/db-ux.woff2 +0 -0
  14. package/build/assets/icons/fonts/default_64/db-ux.woff2 +0 -0
  15. package/build/assets/icons/fonts/filled/db-ux.woff2 +0 -0
  16. package/build/assets/icons/fonts/filled_12/db-ux.woff2 +0 -0
  17. package/build/assets/icons/fonts/filled_14/db-ux.woff2 +0 -0
  18. package/build/assets/icons/fonts/filled_16/db-ux.woff2 +0 -0
  19. package/build/assets/icons/fonts/filled_20/db-ux.woff2 +0 -0
  20. package/build/assets/icons/fonts/filled_24/db-ux.woff2 +0 -0
  21. package/build/assets/icons/fonts/filled_28/db-ux.woff2 +0 -0
  22. package/build/assets/icons/fonts/filled_32/db-ux.woff2 +0 -0
  23. package/build/assets/icons/fonts/filled_48/db-ux.woff2 +0 -0
  24. package/build/assets/icons/fonts/filled_64/db-ux.woff2 +0 -0
  25. package/build/components/accordion/accordion.css +1 -1
  26. package/build/components/accordion-item/accordion-item.css +7 -2
  27. package/build/components/badge/badge.css +56 -4
  28. package/build/components/badge/badge.scss +1 -1
  29. package/build/components/button/button.css +4 -4
  30. package/build/components/card/card.css +6 -6
  31. package/build/components/checkbox/checkbox.css +60 -57
  32. package/build/components/custom-select/custom-select.css +1028 -0
  33. package/build/components/custom-select/custom-select.scss +172 -0
  34. package/build/components/custom-select-dropdown/custom-select-dropdown.css +402 -0
  35. package/build/components/custom-select-dropdown/custom-select-dropdown.scss +86 -0
  36. package/build/components/custom-select-form-field/custom-select-form-field.css +49 -0
  37. package/build/components/custom-select-form-field/custom-select-form-field.scss +24 -0
  38. package/build/components/custom-select-list/custom-select-list.css +48 -0
  39. package/build/components/custom-select-list/custom-select-list.scss +35 -0
  40. package/build/components/custom-select-list-item/custom-select-list-item.css +187 -0
  41. package/build/components/custom-select-list-item/custom-select-list-item.scss +99 -0
  42. package/build/components/divider/divider.css +2 -2
  43. package/build/components/drawer/drawer.css +6 -1
  44. package/build/components/header/header.css +4 -4
  45. package/build/components/input/input.css +71 -61
  46. package/build/components/input/input.scss +1 -5
  47. package/build/components/link/link.css +9 -4
  48. package/build/components/navigation-item/navigation-item.css +8 -3
  49. package/build/components/notification/notification.css +7 -2
  50. package/build/components/popover/popover.css +5 -0
  51. package/build/components/radio/radio.css +57 -54
  52. package/build/components/select/select.css +84 -75
  53. package/build/components/select/select.scss +4 -49
  54. package/build/components/switch/switch.css +64 -61
  55. package/build/components/tab-item/tab-item.css +5 -5
  56. package/build/components/tab-list/tab-list.css +17 -3
  57. package/build/components/tag/tag.css +40 -35
  58. package/build/components/textarea/textarea.css +93 -65
  59. package/build/components/textarea/textarea.scss +1 -1
  60. package/build/components/tooltip/tooltip.css +6 -1
  61. package/build/components/tooltip/tooltip.scss +2 -2
  62. package/build/styles/_select-components.scss +50 -0
  63. package/build/styles/absolute.css +32 -32
  64. package/build/styles/component-animations.css +1 -1
  65. package/build/styles/index.css +31 -31
  66. package/build/styles/index.scss +5 -0
  67. package/build/styles/internal/_custom-elements.scss +3 -0
  68. package/build/styles/internal/_form-components.scss +81 -70
  69. package/build/styles/internal/_scrollbar.scss +14 -3
  70. package/build/styles/internal/_tag-components.scss +20 -2
  71. package/build/styles/relative.css +32 -32
  72. package/build/styles/rollup.css +32 -32
  73. package/build/styles/wc-workarounds.css +1 -1
  74. package/build/styles/webpack.css +32 -32
  75. package/package.json +6 -5
@@ -0,0 +1,1028 @@
1
+ /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
2
+ /* Use fixed spacings for all kind of distances (margin, padding, ...) */
3
+ /* The primary use-case for responsive spacings are
4
+ paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
+ /* Elevation */
6
+ /* Border */
7
+ /* Transitions */
8
+ /* Variants for adaptive components like input, select, notification, ... */
9
+ .db-custom-select[data-hide-label=true] > label, .db-visually-hidden,
10
+ [data-visually-hidden=true] {
11
+ clip: rect(0, 0, 0, 0) !important;
12
+ overflow: hidden !important;
13
+ white-space: nowrap !important;
14
+ font-size: 0 !important;
15
+ all: initial;
16
+ inset-block-start: 0 !important;
17
+ block-size: 1px !important;
18
+ position: absolute !important;
19
+ inline-size: 1px !important;
20
+ border-width: 0 !important;
21
+ border-style: initial !important;
22
+ border-color: initial !important;
23
+ border-image: initial !important;
24
+ padding: 0 !important;
25
+ pointer-events: none !important;
26
+ }
27
+
28
+ .db-custom-select .db-tooltip {
29
+ --db-adaptive-bg-basic-level-1-default: var(
30
+ --db-neutral-bg-basic-level-1-default
31
+ );
32
+ --db-adaptive-bg-basic-level-1-hovered: var(
33
+ --db-neutral-bg-basic-level-1-hovered
34
+ );
35
+ --db-adaptive-bg-basic-level-1-pressed: var(
36
+ --db-neutral-bg-basic-level-1-pressed
37
+ );
38
+ --db-adaptive-bg-basic-level-2-default: var(
39
+ --db-neutral-bg-basic-level-2-default
40
+ );
41
+ --db-adaptive-bg-basic-level-2-hovered: var(
42
+ --db-neutral-bg-basic-level-2-hovered
43
+ );
44
+ --db-adaptive-bg-basic-level-2-pressed: var(
45
+ --db-neutral-bg-basic-level-2-pressed
46
+ );
47
+ --db-adaptive-bg-basic-level-3-default: var(
48
+ --db-neutral-bg-basic-level-3-default
49
+ );
50
+ --db-adaptive-bg-basic-level-3-hovered: var(
51
+ --db-neutral-bg-basic-level-3-hovered
52
+ );
53
+ --db-adaptive-bg-basic-level-3-pressed: var(
54
+ --db-neutral-bg-basic-level-3-pressed
55
+ );
56
+ --db-adaptive-bg-basic-transparent-full-default: var(
57
+ --db-neutral-bg-basic-transparent-full-default
58
+ );
59
+ --db-adaptive-bg-basic-transparent-semi-default: var(
60
+ --db-neutral-bg-basic-transparent-semi-default
61
+ );
62
+ --db-adaptive-bg-basic-transparent-hovered: var(
63
+ --db-neutral-bg-basic-transparent-hovered
64
+ );
65
+ --db-adaptive-bg-basic-transparent-pressed: var(
66
+ --db-neutral-bg-basic-transparent-pressed
67
+ );
68
+ --db-adaptive-on-bg-basic-emphasis-100-default: var(
69
+ --db-neutral-on-bg-basic-emphasis-100-default
70
+ );
71
+ --db-adaptive-on-bg-basic-emphasis-100-hovered: var(
72
+ --db-neutral-on-bg-basic-emphasis-100-hovered
73
+ );
74
+ --db-adaptive-on-bg-basic-emphasis-100-pressed: var(
75
+ --db-neutral-on-bg-basic-emphasis-100-pressed
76
+ );
77
+ --db-adaptive-on-bg-basic-emphasis-90-default: var(
78
+ --db-neutral-on-bg-basic-emphasis-90-default
79
+ );
80
+ --db-adaptive-on-bg-basic-emphasis-90-hovered: var(
81
+ --db-neutral-on-bg-basic-emphasis-90-hovered
82
+ );
83
+ --db-adaptive-on-bg-basic-emphasis-90-pressed: var(
84
+ --db-neutral-on-bg-basic-emphasis-90-pressed
85
+ );
86
+ --db-adaptive-on-bg-basic-emphasis-80-default: var(
87
+ --db-neutral-on-bg-basic-emphasis-80-default
88
+ );
89
+ --db-adaptive-on-bg-basic-emphasis-80-hovered: var(
90
+ --db-neutral-on-bg-basic-emphasis-80-hovered
91
+ );
92
+ --db-adaptive-on-bg-basic-emphasis-80-pressed: var(
93
+ --db-neutral-on-bg-basic-emphasis-80-pressed
94
+ );
95
+ --db-adaptive-on-bg-basic-emphasis-70-default: var(
96
+ --db-neutral-on-bg-basic-emphasis-70-default
97
+ );
98
+ --db-adaptive-on-bg-basic-emphasis-70-hovered: var(
99
+ --db-neutral-on-bg-basic-emphasis-70-hovered
100
+ );
101
+ --db-adaptive-on-bg-basic-emphasis-70-pressed: var(
102
+ --db-neutral-on-bg-basic-emphasis-70-pressed
103
+ );
104
+ --db-adaptive-on-bg-basic-emphasis-60-default: var(
105
+ --db-neutral-on-bg-basic-emphasis-60-default
106
+ );
107
+ --db-adaptive-on-bg-basic-emphasis-60-hovered: var(
108
+ --db-neutral-on-bg-basic-emphasis-60-hovered
109
+ );
110
+ --db-adaptive-on-bg-basic-emphasis-60-pressed: var(
111
+ --db-neutral-on-bg-basic-emphasis-60-pressed
112
+ );
113
+ --db-adaptive-on-bg-basic-emphasis-50-default: var(
114
+ --db-neutral-on-bg-basic-emphasis-50-default
115
+ );
116
+ --db-adaptive-on-bg-basic-emphasis-50-hovered: var(
117
+ --db-neutral-on-bg-basic-emphasis-50-hovered
118
+ );
119
+ --db-adaptive-on-bg-basic-emphasis-50-pressed: var(
120
+ --db-neutral-on-bg-basic-emphasis-50-pressed
121
+ );
122
+ --db-adaptive-bg-inverted-contrast-max-default: var(
123
+ --db-neutral-bg-inverted-contrast-max-default
124
+ );
125
+ --db-adaptive-bg-inverted-contrast-max-hovered: var(
126
+ --db-neutral-bg-inverted-contrast-max-hovered
127
+ );
128
+ --db-adaptive-bg-inverted-contrast-max-pressed: var(
129
+ --db-neutral-bg-inverted-contrast-max-pressed
130
+ );
131
+ --db-adaptive-bg-inverted-contrast-high-default: var(
132
+ --db-neutral-bg-inverted-contrast-high-default
133
+ );
134
+ --db-adaptive-bg-inverted-contrast-high-hovered: var(
135
+ --db-neutral-bg-inverted-contrast-high-hovered
136
+ );
137
+ --db-adaptive-bg-inverted-contrast-high-pressed: var(
138
+ --db-neutral-bg-inverted-contrast-high-pressed
139
+ );
140
+ --db-adaptive-bg-inverted-contrast-low-default: var(
141
+ --db-neutral-bg-inverted-contrast-low-default
142
+ );
143
+ --db-adaptive-bg-inverted-contrast-low-hovered: var(
144
+ --db-neutral-bg-inverted-contrast-low-hovered
145
+ );
146
+ --db-adaptive-bg-inverted-contrast-low-pressed: var(
147
+ --db-neutral-bg-inverted-contrast-low-pressed
148
+ );
149
+ --db-adaptive-on-bg-inverted-default: var(
150
+ --db-neutral-on-bg-inverted-default
151
+ );
152
+ --db-adaptive-on-bg-inverted-hovered: var(
153
+ --db-neutral-on-bg-inverted-hovered
154
+ );
155
+ --db-adaptive-on-bg-inverted-pressed: var(
156
+ --db-neutral-on-bg-inverted-pressed
157
+ );
158
+ --db-adaptive-origin-default: var(--db-neutral-origin-default);
159
+ --db-adaptive-origin-hovered: var(--db-neutral-origin-hovered);
160
+ --db-adaptive-origin-pressed: var(--db-neutral-origin-pressed);
161
+ --db-adaptive-on-origin-default: var(
162
+ --db-neutral-on-origin-default
163
+ );
164
+ --db-adaptive-on-origin-hovered: var(
165
+ --db-neutral-on-origin-hovered
166
+ );
167
+ --db-adaptive-on-origin-pressed: var(
168
+ --db-neutral-on-origin-pressed
169
+ );
170
+ }
171
+
172
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid), .db-custom-select:has(select[data-custom-validity=invalid]), .db-custom-select[data-custom-validity=invalid] {
173
+ --db-adaptive-bg-basic-level-1-default: var(
174
+ --db-critical-bg-basic-level-1-default
175
+ );
176
+ --db-adaptive-bg-basic-level-1-hovered: var(
177
+ --db-critical-bg-basic-level-1-hovered
178
+ );
179
+ --db-adaptive-bg-basic-level-1-pressed: var(
180
+ --db-critical-bg-basic-level-1-pressed
181
+ );
182
+ --db-adaptive-bg-basic-level-2-default: var(
183
+ --db-critical-bg-basic-level-2-default
184
+ );
185
+ --db-adaptive-bg-basic-level-2-hovered: var(
186
+ --db-critical-bg-basic-level-2-hovered
187
+ );
188
+ --db-adaptive-bg-basic-level-2-pressed: var(
189
+ --db-critical-bg-basic-level-2-pressed
190
+ );
191
+ --db-adaptive-bg-basic-level-3-default: var(
192
+ --db-critical-bg-basic-level-3-default
193
+ );
194
+ --db-adaptive-bg-basic-level-3-hovered: var(
195
+ --db-critical-bg-basic-level-3-hovered
196
+ );
197
+ --db-adaptive-bg-basic-level-3-pressed: var(
198
+ --db-critical-bg-basic-level-3-pressed
199
+ );
200
+ --db-adaptive-bg-basic-transparent-full-default: var(
201
+ --db-critical-bg-basic-transparent-full-default
202
+ );
203
+ --db-adaptive-bg-basic-transparent-semi-default: var(
204
+ --db-critical-bg-basic-transparent-semi-default
205
+ );
206
+ --db-adaptive-bg-basic-transparent-hovered: var(
207
+ --db-critical-bg-basic-transparent-hovered
208
+ );
209
+ --db-adaptive-bg-basic-transparent-pressed: var(
210
+ --db-critical-bg-basic-transparent-pressed
211
+ );
212
+ --db-adaptive-on-bg-basic-emphasis-100-default: var(
213
+ --db-critical-on-bg-basic-emphasis-100-default
214
+ );
215
+ --db-adaptive-on-bg-basic-emphasis-100-hovered: var(
216
+ --db-critical-on-bg-basic-emphasis-100-hovered
217
+ );
218
+ --db-adaptive-on-bg-basic-emphasis-100-pressed: var(
219
+ --db-critical-on-bg-basic-emphasis-100-pressed
220
+ );
221
+ --db-adaptive-on-bg-basic-emphasis-90-default: var(
222
+ --db-critical-on-bg-basic-emphasis-90-default
223
+ );
224
+ --db-adaptive-on-bg-basic-emphasis-90-hovered: var(
225
+ --db-critical-on-bg-basic-emphasis-90-hovered
226
+ );
227
+ --db-adaptive-on-bg-basic-emphasis-90-pressed: var(
228
+ --db-critical-on-bg-basic-emphasis-90-pressed
229
+ );
230
+ --db-adaptive-on-bg-basic-emphasis-80-default: var(
231
+ --db-critical-on-bg-basic-emphasis-80-default
232
+ );
233
+ --db-adaptive-on-bg-basic-emphasis-80-hovered: var(
234
+ --db-critical-on-bg-basic-emphasis-80-hovered
235
+ );
236
+ --db-adaptive-on-bg-basic-emphasis-80-pressed: var(
237
+ --db-critical-on-bg-basic-emphasis-80-pressed
238
+ );
239
+ --db-adaptive-on-bg-basic-emphasis-70-default: var(
240
+ --db-critical-on-bg-basic-emphasis-70-default
241
+ );
242
+ --db-adaptive-on-bg-basic-emphasis-70-hovered: var(
243
+ --db-critical-on-bg-basic-emphasis-70-hovered
244
+ );
245
+ --db-adaptive-on-bg-basic-emphasis-70-pressed: var(
246
+ --db-critical-on-bg-basic-emphasis-70-pressed
247
+ );
248
+ --db-adaptive-on-bg-basic-emphasis-60-default: var(
249
+ --db-critical-on-bg-basic-emphasis-60-default
250
+ );
251
+ --db-adaptive-on-bg-basic-emphasis-60-hovered: var(
252
+ --db-critical-on-bg-basic-emphasis-60-hovered
253
+ );
254
+ --db-adaptive-on-bg-basic-emphasis-60-pressed: var(
255
+ --db-critical-on-bg-basic-emphasis-60-pressed
256
+ );
257
+ --db-adaptive-on-bg-basic-emphasis-50-default: var(
258
+ --db-critical-on-bg-basic-emphasis-50-default
259
+ );
260
+ --db-adaptive-on-bg-basic-emphasis-50-hovered: var(
261
+ --db-critical-on-bg-basic-emphasis-50-hovered
262
+ );
263
+ --db-adaptive-on-bg-basic-emphasis-50-pressed: var(
264
+ --db-critical-on-bg-basic-emphasis-50-pressed
265
+ );
266
+ --db-adaptive-bg-inverted-contrast-max-default: var(
267
+ --db-critical-bg-inverted-contrast-max-default
268
+ );
269
+ --db-adaptive-bg-inverted-contrast-max-hovered: var(
270
+ --db-critical-bg-inverted-contrast-max-hovered
271
+ );
272
+ --db-adaptive-bg-inverted-contrast-max-pressed: var(
273
+ --db-critical-bg-inverted-contrast-max-pressed
274
+ );
275
+ --db-adaptive-bg-inverted-contrast-high-default: var(
276
+ --db-critical-bg-inverted-contrast-high-default
277
+ );
278
+ --db-adaptive-bg-inverted-contrast-high-hovered: var(
279
+ --db-critical-bg-inverted-contrast-high-hovered
280
+ );
281
+ --db-adaptive-bg-inverted-contrast-high-pressed: var(
282
+ --db-critical-bg-inverted-contrast-high-pressed
283
+ );
284
+ --db-adaptive-bg-inverted-contrast-low-default: var(
285
+ --db-critical-bg-inverted-contrast-low-default
286
+ );
287
+ --db-adaptive-bg-inverted-contrast-low-hovered: var(
288
+ --db-critical-bg-inverted-contrast-low-hovered
289
+ );
290
+ --db-adaptive-bg-inverted-contrast-low-pressed: var(
291
+ --db-critical-bg-inverted-contrast-low-pressed
292
+ );
293
+ --db-adaptive-on-bg-inverted-default: var(
294
+ --db-critical-on-bg-inverted-default
295
+ );
296
+ --db-adaptive-on-bg-inverted-hovered: var(
297
+ --db-critical-on-bg-inverted-hovered
298
+ );
299
+ --db-adaptive-on-bg-inverted-pressed: var(
300
+ --db-critical-on-bg-inverted-pressed
301
+ );
302
+ --db-adaptive-origin-default: var(--db-critical-origin-default);
303
+ --db-adaptive-origin-hovered: var(--db-critical-origin-hovered);
304
+ --db-adaptive-origin-pressed: var(--db-critical-origin-pressed);
305
+ --db-adaptive-on-origin-default: var(
306
+ --db-critical-on-origin-default
307
+ );
308
+ --db-adaptive-on-origin-hovered: var(
309
+ --db-critical-on-origin-hovered
310
+ );
311
+ --db-adaptive-on-origin-pressed: var(
312
+ --db-critical-on-origin-pressed
313
+ );
314
+ }
315
+
316
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid), .db-custom-select:has(select[data-custom-validity=valid]), .db-custom-select[data-custom-validity=valid] {
317
+ --db-adaptive-bg-basic-level-1-default: var(
318
+ --db-successful-bg-basic-level-1-default
319
+ );
320
+ --db-adaptive-bg-basic-level-1-hovered: var(
321
+ --db-successful-bg-basic-level-1-hovered
322
+ );
323
+ --db-adaptive-bg-basic-level-1-pressed: var(
324
+ --db-successful-bg-basic-level-1-pressed
325
+ );
326
+ --db-adaptive-bg-basic-level-2-default: var(
327
+ --db-successful-bg-basic-level-2-default
328
+ );
329
+ --db-adaptive-bg-basic-level-2-hovered: var(
330
+ --db-successful-bg-basic-level-2-hovered
331
+ );
332
+ --db-adaptive-bg-basic-level-2-pressed: var(
333
+ --db-successful-bg-basic-level-2-pressed
334
+ );
335
+ --db-adaptive-bg-basic-level-3-default: var(
336
+ --db-successful-bg-basic-level-3-default
337
+ );
338
+ --db-adaptive-bg-basic-level-3-hovered: var(
339
+ --db-successful-bg-basic-level-3-hovered
340
+ );
341
+ --db-adaptive-bg-basic-level-3-pressed: var(
342
+ --db-successful-bg-basic-level-3-pressed
343
+ );
344
+ --db-adaptive-bg-basic-transparent-full-default: var(
345
+ --db-successful-bg-basic-transparent-full-default
346
+ );
347
+ --db-adaptive-bg-basic-transparent-semi-default: var(
348
+ --db-successful-bg-basic-transparent-semi-default
349
+ );
350
+ --db-adaptive-bg-basic-transparent-hovered: var(
351
+ --db-successful-bg-basic-transparent-hovered
352
+ );
353
+ --db-adaptive-bg-basic-transparent-pressed: var(
354
+ --db-successful-bg-basic-transparent-pressed
355
+ );
356
+ --db-adaptive-on-bg-basic-emphasis-100-default: var(
357
+ --db-successful-on-bg-basic-emphasis-100-default
358
+ );
359
+ --db-adaptive-on-bg-basic-emphasis-100-hovered: var(
360
+ --db-successful-on-bg-basic-emphasis-100-hovered
361
+ );
362
+ --db-adaptive-on-bg-basic-emphasis-100-pressed: var(
363
+ --db-successful-on-bg-basic-emphasis-100-pressed
364
+ );
365
+ --db-adaptive-on-bg-basic-emphasis-90-default: var(
366
+ --db-successful-on-bg-basic-emphasis-90-default
367
+ );
368
+ --db-adaptive-on-bg-basic-emphasis-90-hovered: var(
369
+ --db-successful-on-bg-basic-emphasis-90-hovered
370
+ );
371
+ --db-adaptive-on-bg-basic-emphasis-90-pressed: var(
372
+ --db-successful-on-bg-basic-emphasis-90-pressed
373
+ );
374
+ --db-adaptive-on-bg-basic-emphasis-80-default: var(
375
+ --db-successful-on-bg-basic-emphasis-80-default
376
+ );
377
+ --db-adaptive-on-bg-basic-emphasis-80-hovered: var(
378
+ --db-successful-on-bg-basic-emphasis-80-hovered
379
+ );
380
+ --db-adaptive-on-bg-basic-emphasis-80-pressed: var(
381
+ --db-successful-on-bg-basic-emphasis-80-pressed
382
+ );
383
+ --db-adaptive-on-bg-basic-emphasis-70-default: var(
384
+ --db-successful-on-bg-basic-emphasis-70-default
385
+ );
386
+ --db-adaptive-on-bg-basic-emphasis-70-hovered: var(
387
+ --db-successful-on-bg-basic-emphasis-70-hovered
388
+ );
389
+ --db-adaptive-on-bg-basic-emphasis-70-pressed: var(
390
+ --db-successful-on-bg-basic-emphasis-70-pressed
391
+ );
392
+ --db-adaptive-on-bg-basic-emphasis-60-default: var(
393
+ --db-successful-on-bg-basic-emphasis-60-default
394
+ );
395
+ --db-adaptive-on-bg-basic-emphasis-60-hovered: var(
396
+ --db-successful-on-bg-basic-emphasis-60-hovered
397
+ );
398
+ --db-adaptive-on-bg-basic-emphasis-60-pressed: var(
399
+ --db-successful-on-bg-basic-emphasis-60-pressed
400
+ );
401
+ --db-adaptive-on-bg-basic-emphasis-50-default: var(
402
+ --db-successful-on-bg-basic-emphasis-50-default
403
+ );
404
+ --db-adaptive-on-bg-basic-emphasis-50-hovered: var(
405
+ --db-successful-on-bg-basic-emphasis-50-hovered
406
+ );
407
+ --db-adaptive-on-bg-basic-emphasis-50-pressed: var(
408
+ --db-successful-on-bg-basic-emphasis-50-pressed
409
+ );
410
+ --db-adaptive-bg-inverted-contrast-max-default: var(
411
+ --db-successful-bg-inverted-contrast-max-default
412
+ );
413
+ --db-adaptive-bg-inverted-contrast-max-hovered: var(
414
+ --db-successful-bg-inverted-contrast-max-hovered
415
+ );
416
+ --db-adaptive-bg-inverted-contrast-max-pressed: var(
417
+ --db-successful-bg-inverted-contrast-max-pressed
418
+ );
419
+ --db-adaptive-bg-inverted-contrast-high-default: var(
420
+ --db-successful-bg-inverted-contrast-high-default
421
+ );
422
+ --db-adaptive-bg-inverted-contrast-high-hovered: var(
423
+ --db-successful-bg-inverted-contrast-high-hovered
424
+ );
425
+ --db-adaptive-bg-inverted-contrast-high-pressed: var(
426
+ --db-successful-bg-inverted-contrast-high-pressed
427
+ );
428
+ --db-adaptive-bg-inverted-contrast-low-default: var(
429
+ --db-successful-bg-inverted-contrast-low-default
430
+ );
431
+ --db-adaptive-bg-inverted-contrast-low-hovered: var(
432
+ --db-successful-bg-inverted-contrast-low-hovered
433
+ );
434
+ --db-adaptive-bg-inverted-contrast-low-pressed: var(
435
+ --db-successful-bg-inverted-contrast-low-pressed
436
+ );
437
+ --db-adaptive-on-bg-inverted-default: var(
438
+ --db-successful-on-bg-inverted-default
439
+ );
440
+ --db-adaptive-on-bg-inverted-hovered: var(
441
+ --db-successful-on-bg-inverted-hovered
442
+ );
443
+ --db-adaptive-on-bg-inverted-pressed: var(
444
+ --db-successful-on-bg-inverted-pressed
445
+ );
446
+ --db-adaptive-origin-default: var(--db-successful-origin-default);
447
+ --db-adaptive-origin-hovered: var(--db-successful-origin-hovered);
448
+ --db-adaptive-origin-pressed: var(--db-successful-origin-pressed);
449
+ --db-adaptive-on-origin-default: var(
450
+ --db-successful-on-origin-default
451
+ );
452
+ --db-adaptive-on-origin-hovered: var(
453
+ --db-successful-on-origin-hovered
454
+ );
455
+ --db-adaptive-on-origin-pressed: var(
456
+ --db-successful-on-origin-pressed
457
+ );
458
+ }
459
+
460
+ .db-custom-select:not([data-hide-icon-after=true])::after {
461
+ content: var(--db-icon, attr(data-icon));
462
+ content: var(--db-icon, attr(data-icon))/"";
463
+ -webkit-alt: "";
464
+ alt: "";
465
+ color: var(--db-icon-color, inherit);
466
+ display: inline-block;
467
+ /*** icon - placeholder ***/
468
+ font-family: var(--db-icon-font-family, var(--db-icon-default-font-family, "db-ux-default")) !important;
469
+ font-size: var(--db-icon-font-size, 1.5rem);
470
+ -webkit-font-smoothing: antialiased;
471
+ -moz-osx-font-smoothing: grayscale;
472
+ font-style: normal;
473
+ font-variant: normal;
474
+ font-weight: var(--db-icon-font-weight, normal);
475
+ line-height: 1;
476
+ /* stylelint-disable-next-line declaration-property-value-no-unknown */
477
+ speak: none;
478
+ /* stylelint-disable-next-line declaration-property-value-no-unknown */
479
+ speak: never;
480
+ text-transform: none;
481
+ vertical-align: middle;
482
+ block-size: var(--db-icon-font-size, 1.5rem);
483
+ inline-size: var(--db-icon-font-size, 1.5rem);
484
+ }
485
+ @media aural {
486
+ .db-custom-select:not([data-hide-icon-after=true])::after {
487
+ content: none;
488
+ }
489
+ }
490
+ @media speech {
491
+ .db-custom-select:not([data-hide-icon-after=true])::after {
492
+ content: none;
493
+ }
494
+ }
495
+
496
+ /**
497
+ Generates 3 types of placeholders, e.g:
498
+ - %db-component-variables-md
499
+ - %db-font-size-md
500
+ - %db-overwrite-font-size-md
501
+ */
502
+ .db-custom-select[data-variant=floating] > label, .db-custom-select summary, .db-custom-select [id$=-placeholder] {
503
+ /* Those variables are only for components to calculate heights and change icons */
504
+ --db-icon-font-weight: var(--db-base-body-icon-weight-md);
505
+ --db-icon-font-size: var(--db-base-body-icon-font-size-md);
506
+ line-height: var(--db-type-body-line-height-md);
507
+ font-size: var(--db-type-body-font-size-md);
508
+ }
509
+
510
+ .db-custom-select, .db-custom-select[data-variant=floating] [id$=-placeholder], .db-custom-select[data-variant=floating] summary {
511
+ /* Those variables are only for components to calculate heights and change icons */
512
+ --db-icon-font-weight: var(--db-base-body-icon-weight-sm);
513
+ --db-icon-font-size: var(--db-base-body-icon-font-size-sm);
514
+ line-height: var(--db-type-body-line-height-sm);
515
+ font-size: var(--db-type-body-font-size-sm);
516
+ }
517
+
518
+ .db-custom-select > label {
519
+ /* Those variables are only for components to calculate heights and change icons */
520
+ --db-icon-font-weight: var(--db-base-body-icon-weight-xs);
521
+ --db-icon-font-size: var(--db-base-body-icon-font-size-xs);
522
+ line-height: var(--db-type-body-line-height-xs);
523
+ font-size: var(--db-type-body-font-size-xs);
524
+ }
525
+
526
+ .db-custom-select[data-variant=floating]:has(summary:focus-within,
527
+ summary:is(input, textarea):not(:placeholder-shown),
528
+ > select option:checked:not([hidden]),
529
+ input[type=checkbox]:checked) > label {
530
+ /* Those variables are only for components to calculate heights and change icons */
531
+ --db-icon-font-weight: var(--db-base-body-icon-weight-2xs);
532
+ --db-icon-font-size: var(--db-base-body-icon-font-size-2xs);
533
+ line-height: var(--db-type-body-line-height-2xs);
534
+ font-size: var(--db-type-body-font-size-2xs);
535
+ }
536
+
537
+ .db-custom-select summary {
538
+ border: var(--db-border-height-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
539
+ }
540
+
541
+ .db-custom-select summary {
542
+ border: var(--db-border-height-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-70-default);
543
+ }
544
+
545
+ .db-custom-select summary {
546
+ border-radius: var(--db-border-radius-xs);
547
+ }
548
+
549
+ .db-custom-select:not([data-hide-icon-after=true])::after {
550
+ --db-icon-after: "chevron_down";
551
+ content: var(--db-icon-after, attr(data-icon-after));
552
+ content: var(--db-icon-after, attr(data-icon-after))/"";
553
+ margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
554
+ }
555
+ .db-custom-select::after {
556
+ pointer-events: none;
557
+ }
558
+ @media screen and (prefers-reduced-motion: no-preference) {
559
+ .db-custom-select::after {
560
+ transition: transform var(--db-transition-straight-emotional);
561
+ }
562
+ }
563
+
564
+ .db-custom-select .db-infotext {
565
+ margin-block-start: var(--db-spacing-fixed-2xs);
566
+ }
567
+ .db-custom-select .db-infotext:is([data-semantic=successful], [data-semantic=critical]) {
568
+ display: none;
569
+ }
570
+
571
+ [data-icon].db-custom-select:not([data-hide-icon=true]) {
572
+ --db-form-has-before: 1;
573
+ }
574
+
575
+ .db-custom-select [id$=-placeholder] {
576
+ position: absolute;
577
+ pointer-events: none;
578
+ inset-block-start: calc(0% + (var(--db-base-body-icon-font-size-xs) + var(--db-spacing-fixed-xs)) * var(--db-label-visible-above, 1) + var(--db-type-body-font-size-md) / 2 - var(--db-density-functional, 0) * 1px);
579
+ inset-inline: calc(var(--db-form-has-before) * (var(--db-base-body-icon-font-size-sm) + var(--db-spacing-fixed-sm)));
580
+ margin-inline-start: var(--db-spacing-fixed-sm);
581
+ overflow: hidden;
582
+ white-space: nowrap;
583
+ text-overflow: ellipsis;
584
+ inline-size: calc(100% - var(--db-form-component-padding-inline-end) - calc(var(--db-form-has-before) * (var(--db-base-body-icon-font-size-sm) + var(--db-spacing-fixed-sm))) - var(--db-spacing-fixed-sm));
585
+ }
586
+
587
+ @keyframes show-right-to-left {
588
+ from {
589
+ transform: translateX(110%);
590
+ }
591
+ to {
592
+ transform: translateX(0%);
593
+ }
594
+ }
595
+ @keyframes hide-right-to-left {
596
+ from {
597
+ transform: translateX(0%);
598
+ }
599
+ to {
600
+ transform: translateX(110%);
601
+ }
602
+ }
603
+ @keyframes show-left-to-right {
604
+ from {
605
+ transform: translateX(-110%);
606
+ }
607
+ to {
608
+ transform: translateX(0%);
609
+ }
610
+ }
611
+ @keyframes hide-left-to-right {
612
+ from {
613
+ transform: translateX(0%);
614
+ }
615
+ to {
616
+ transform: translateX(-110%);
617
+ }
618
+ }
619
+ @keyframes show-bottom-to-top {
620
+ from {
621
+ transform: translateY(110%);
622
+ }
623
+ to {
624
+ transform: translateY(0%);
625
+ }
626
+ }
627
+ @keyframes hide-bottom-to-top {
628
+ from {
629
+ transform: translateY(0%);
630
+ }
631
+ to {
632
+ transform: translateY(110%);
633
+ }
634
+ }
635
+ @keyframes show-top-to-bottom {
636
+ from {
637
+ transform: translateY(-110%);
638
+ }
639
+ to {
640
+ transform: translateY(0%);
641
+ }
642
+ }
643
+ @keyframes hide-top-to-bottom {
644
+ from {
645
+ transform: translateY(0%);
646
+ }
647
+ to {
648
+ transform: translateY(-110%);
649
+ }
650
+ }
651
+ @keyframes popover-animation {
652
+ 0% {
653
+ opacity: 0;
654
+ transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
655
+ }
656
+ 100% {
657
+ opacity: 1;
658
+ transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
659
+ }
660
+ }
661
+ @keyframes rotate {
662
+ 100% {
663
+ transform: rotate(1turn);
664
+ }
665
+ }
666
+ dialog[data-variant], dialog[data-backdrop] {
667
+ position: fixed;
668
+ inset: 0;
669
+ z-index: 9995;
670
+ }
671
+
672
+ dialog {
673
+ padding: 0;
674
+ margin: 0;
675
+ border: 0;
676
+ z-index: 9996;
677
+ color: inherit;
678
+ }
679
+ dialog[data-variant=inside]:not([data-backdrop=none])::before {
680
+ content: "";
681
+ position: fixed;
682
+ inset: 0;
683
+ }
684
+ dialog:not([data-backdrop=none])::backdrop, dialog:not([data-backdrop=none])::before {
685
+ background-color: var(--db-adaptive-on-bg-basic-emphasis-100-default);
686
+ opacity: 0.64;
687
+ }
688
+ dialog:not([data-backdrop=none])[data-backdrop=invisible]::backdrop, dialog:not([data-backdrop=none])[data-backdrop=invisible]::before {
689
+ opacity: 0;
690
+ }
691
+ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data-backdrop=none])[data-backdrop=weak]::before {
692
+ opacity: 0.32;
693
+ }
694
+
695
+ [data-placement^=top].db-custom-select .db-custom-select-dropdown:not([data-outside-vy=top]), .db-custom-select:not([data-placement]) .db-custom-select-dropdown[data-outside-vy=bottom], [data-placement^=bottom].db-custom-select .db-custom-select-dropdown[data-outside-vy=bottom] {
696
+ /* stylelint-disable at-rule-empty-line-before */
697
+ /* stylelint-enable at-rule-empty-line-before */
698
+ /* stylelint-disable-next-line media-query-no-invalid */
699
+ /* stylelint-disable-next-line at-rule-empty-line-before */
700
+ }
701
+ @media screen and (min-width: 45em) {
702
+ [data-placement^=top].db-custom-select .db-custom-select-dropdown:not([data-force-mobile]):not([data-outside-vy=top]), .db-custom-select:not([data-placement]) .db-custom-select-dropdown[data-outside-vy=bottom]:not([data-force-mobile]), [data-placement^=bottom].db-custom-select .db-custom-select-dropdown[data-outside-vy=bottom]:not([data-force-mobile]), [data-placement^=top].db-custom-select [data-force-mobile=false].db-custom-select-dropdown:not([data-outside-vy=top]), .db-custom-select:not([data-placement]) [data-force-mobile=false].db-custom-select-dropdown[data-outside-vy=bottom], [data-placement^=bottom].db-custom-select [data-force-mobile=false].db-custom-select-dropdown[data-outside-vy=bottom] {
703
+ inset-block-end: 100%;
704
+ margin-block-start: var(--db-spacing-fixed-md);
705
+ }
706
+ }
707
+
708
+ [data-placement^=top].db-custom-select, .db-custom-select:not([data-placement]), [data-placement^=bottom].db-custom-select {
709
+ /* stylelint-disable at-rule-empty-line-before */
710
+ /* stylelint-enable at-rule-empty-line-before */
711
+ /* stylelint-disable-next-line media-query-no-invalid */
712
+ /* stylelint-disable-next-line at-rule-empty-line-before */
713
+ }
714
+ @media screen and (min-width: 45em) {
715
+ [data-placement^=top].db-custom-select:not([data-force-mobile])[data-placement$=end] .db-custom-select-dropdown:not([data-outside-vx=right]), .db-custom-select:not([data-force-mobile])[data-placement$=end]:not([data-placement]) .db-custom-select-dropdown:not([data-outside-vx=right]), [data-placement^=bottom].db-custom-select:not([data-force-mobile])[data-placement$=end] .db-custom-select-dropdown:not([data-outside-vx=right]), [data-force-mobile=false][data-placement$=end][data-placement^=top].db-custom-select .db-custom-select-dropdown:not([data-outside-vx=right]), [data-force-mobile=false][data-placement$=end].db-custom-select:not([data-placement]) .db-custom-select-dropdown:not([data-outside-vx=right]), [data-force-mobile=false][data-placement$=end][data-placement^=bottom].db-custom-select .db-custom-select-dropdown:not([data-outside-vx=right]) {
716
+ inset-inline-end: 0;
717
+ }
718
+ [data-placement^=top].db-custom-select:not([data-force-mobile]) .db-custom-select-dropdown[data-outside-vx=right], .db-custom-select:not([data-force-mobile]):not([data-placement]) .db-custom-select-dropdown[data-outside-vx=right], [data-placement^=bottom].db-custom-select:not([data-force-mobile]) .db-custom-select-dropdown[data-outside-vx=right], [data-force-mobile=false][data-placement^=top].db-custom-select .db-custom-select-dropdown[data-outside-vx=right], [data-force-mobile=false].db-custom-select:not([data-placement]) .db-custom-select-dropdown[data-outside-vx=right], [data-force-mobile=false][data-placement^=bottom].db-custom-select .db-custom-select-dropdown[data-outside-vx=right] {
719
+ inset-inline-end: 0;
720
+ }
721
+ }
722
+
723
+ .db-custom-select:not([data-placement]) .db-custom-select-dropdown:not([data-outside-vy=bottom]), [data-placement^=bottom].db-custom-select .db-custom-select-dropdown:not([data-outside-vy=bottom]) {
724
+ /* stylelint-disable at-rule-empty-line-before */
725
+ /* stylelint-enable at-rule-empty-line-before */
726
+ /* stylelint-disable-next-line media-query-no-invalid */
727
+ /* stylelint-disable-next-line at-rule-empty-line-before */
728
+ }
729
+ @media screen and (min-width: 45em) {
730
+ .db-custom-select:not([data-placement]) .db-custom-select-dropdown:not([data-outside-vy=bottom]):not([data-force-mobile]), .db-custom-select:not([data-placement]) .db-custom-select-dropdown:not([data-outside-vy=bottom])[data-force-mobile=false], [data-placement^=bottom].db-custom-select .db-custom-select-dropdown:not([data-outside-vy=bottom]):not([data-force-mobile]), [data-placement^=bottom].db-custom-select .db-custom-select-dropdown:not([data-outside-vy=bottom])[data-force-mobile=false] {
731
+ inset-block-start: 100%;
732
+ margin-block-end: var(--db-spacing-fixed-md);
733
+ }
734
+ }
735
+ .db-custom-select {
736
+ --db-form-component-padding-inline-end: calc(
737
+ calc(var(--db-icon-font-size) + var(--db-spacing-fixed-sm) + var(--db-spacing-fixed-xs)) + var(--db-sizing-sm) +
738
+ var(--db-spacing-fixed-sm)
739
+ );
740
+ --db-form-component-padding-inline-start: calc(
741
+ calc(var(--db-form-has-before) * (var(--db-base-body-icon-font-size-sm) + var(--db-spacing-fixed-sm))) +
742
+ var(--db-spacing-fixed-xs)
743
+ );
744
+ position: relative;
745
+ min-inline-size: var(--db-sizing-xl);
746
+ /* stylelint-disable-next-line scss/selector-no-redundant-nesting-selector */
747
+ /* custom elements workaround */
748
+ }
749
+ .db-custom-select:not([data-width]),
750
+ .db-custom-select:not([data-width]) .db-custom-select-form-field, .db-custom-select[data-width=full],
751
+ .db-custom-select[data-width=full] .db-custom-select-form-field {
752
+ inline-size: 100%;
753
+ }
754
+ .db-custom-select {
755
+ --db-form-has-before: 0;
756
+ position: relative;
757
+ display: flex;
758
+ flex-direction: column;
759
+ }
760
+ .db-custom-select[data-variant=floating], .db-custom-select[data-hide-label=true] {
761
+ --db-label-visible-above: 0;
762
+ }
763
+ .db-custom-select[data-variant=floating] > label {
764
+ opacity: 0.69;
765
+ position: absolute;
766
+ z-index: 2;
767
+ inset-block-start: calc((var(--db-sizing-md) - var(--db-icon-font-size)) / 2);
768
+ inset-inline: var(--db-form-component-padding-inline-start, var(--db-spacing-fixed-sm)) var(--db-form-component-padding-inline-end, var(--db-spacing-fixed-sm));
769
+ pointer-events: none;
770
+ }
771
+ .db-custom-select[data-variant=floating] [id$=-placeholder] {
772
+ inset-block-start: calc(50% - 0.5em + var(--db-spacing-fixed-3xs));
773
+ }
774
+ .db-custom-select[data-variant=floating] summary::placeholder,
775
+ .db-custom-select[data-variant=floating] [id$=-placeholder] {
776
+ transition: none;
777
+ opacity: 0;
778
+ }
779
+ .db-custom-select[data-variant=floating]:has(summary:focus-within,
780
+ summary:is(input, textarea):not(:placeholder-shown),
781
+ > select option:checked:not([hidden]),
782
+ input[type=checkbox]:checked) > label {
783
+ inset-block-start: var(--db-spacing-fixed-2xs);
784
+ opacity: 1;
785
+ }
786
+ .db-custom-select[data-variant=floating]:has(summary:focus-within,
787
+ summary:is(input, textarea):not(:placeholder-shown),
788
+ > select option:checked:not([hidden]),
789
+ input[type=checkbox]:checked) summary::placeholder,
790
+ .db-custom-select[data-variant=floating]:has(summary:focus-within,
791
+ summary:is(input, textarea):not(:placeholder-shown),
792
+ > select option:checked:not([hidden]),
793
+ input[type=checkbox]:checked) [id$=-placeholder] {
794
+ opacity: 0.69;
795
+ }
796
+ @media screen and (prefers-reduced-motion: no-preference) {
797
+ .db-custom-select[data-variant=floating]:has(summary:focus-within,
798
+ summary:is(input, textarea):not(:placeholder-shown),
799
+ > select option:checked:not([hidden]),
800
+ input[type=checkbox]:checked) summary::placeholder,
801
+ .db-custom-select[data-variant=floating]:has(summary:focus-within,
802
+ summary:is(input, textarea):not(:placeholder-shown),
803
+ > select option:checked:not([hidden]),
804
+ input[type=checkbox]:checked) [id$=-placeholder] {
805
+ transition: opacity var(--db-transition-straight-emotional);
806
+ }
807
+ }
808
+ .db-custom-select:has(summary:required):is(label)::after,
809
+ .db-custom-select:has(summary:required) > label::after, .db-custom-select[data-required=true]:is(label)::after,
810
+ .db-custom-select[data-required=true] > label::after {
811
+ content: "*";
812
+ content: "*"/"";
813
+ /* stylelint-disable-next-line db-ux/use-spacings */
814
+ padding-inline-start: 1px;
815
+ }
816
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) {
817
+ /* stylelint-disable-next-line at-rule-empty-line-before */
818
+ }
819
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) summary,
820
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) [id$=-placeholder] {
821
+ color: var(--db-successful-on-bg-basic-emphasis-100-default);
822
+ caret-color: var(--db-successful-on-bg-basic-emphasis-100-default);
823
+ }
824
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) .db-infotext {
825
+ /* stylelint-disable-next-line at-rule-empty-line-before */
826
+ }
827
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) .db-infotext[data-semantic=successful] {
828
+ display: flex;
829
+ }
830
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) .db-infotext:not([data-semantic]) {
831
+ display: none;
832
+ }
833
+ .db-custom-select:has(select[data-custom-validity=valid]), .db-custom-select[data-custom-validity=valid] {
834
+ /* stylelint-disable-next-line at-rule-empty-line-before */
835
+ }
836
+ .db-custom-select:has(select[data-custom-validity=valid]) summary,
837
+ .db-custom-select:has(select[data-custom-validity=valid]) [id$=-placeholder], .db-custom-select[data-custom-validity=valid] summary,
838
+ .db-custom-select[data-custom-validity=valid] [id$=-placeholder] {
839
+ color: var(--db-successful-on-bg-basic-emphasis-100-default);
840
+ caret-color: var(--db-successful-on-bg-basic-emphasis-100-default);
841
+ }
842
+ .db-custom-select:has(select[data-custom-validity=valid]) .db-infotext, .db-custom-select[data-custom-validity=valid] .db-infotext {
843
+ /* stylelint-disable-next-line at-rule-empty-line-before */
844
+ }
845
+ .db-custom-select:has(select[data-custom-validity=valid]) .db-infotext[data-semantic=successful], .db-custom-select[data-custom-validity=valid] .db-infotext[data-semantic=successful] {
846
+ display: flex;
847
+ }
848
+ .db-custom-select:has(select[data-custom-validity=valid]) .db-infotext:not([data-semantic]), .db-custom-select[data-custom-validity=valid] .db-infotext:not([data-semantic]) {
849
+ display: none;
850
+ }
851
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) {
852
+ /* stylelint-disable-next-line at-rule-empty-line-before */
853
+ }
854
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) summary,
855
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) [id$=-placeholder] {
856
+ color: var(--db-critical-on-bg-basic-emphasis-100-default);
857
+ caret-color: var(--db-critical-on-bg-basic-emphasis-100-default);
858
+ }
859
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) .db-infotext[data-semantic=critical] {
860
+ display: flex;
861
+ }
862
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) .db-infotext:not([data-semantic]) {
863
+ display: none;
864
+ }
865
+ .db-custom-select:has(select[data-custom-validity=invalid]), .db-custom-select[data-custom-validity=invalid] {
866
+ /* stylelint-disable-next-line at-rule-empty-line-before */
867
+ }
868
+ .db-custom-select:has(select[data-custom-validity=invalid]) summary,
869
+ .db-custom-select:has(select[data-custom-validity=invalid]) [id$=-placeholder], .db-custom-select[data-custom-validity=invalid] summary,
870
+ .db-custom-select[data-custom-validity=invalid] [id$=-placeholder] {
871
+ color: var(--db-critical-on-bg-basic-emphasis-100-default);
872
+ caret-color: var(--db-critical-on-bg-basic-emphasis-100-default);
873
+ }
874
+ .db-custom-select:has(select[data-custom-validity=invalid]) .db-infotext[data-semantic=critical], .db-custom-select[data-custom-validity=invalid] .db-infotext[data-semantic=critical] {
875
+ display: flex;
876
+ }
877
+ .db-custom-select:has(select[data-custom-validity=invalid]) .db-infotext:not([data-semantic]), .db-custom-select[data-custom-validity=invalid] .db-infotext:not([data-semantic]) {
878
+ display: none;
879
+ }
880
+ .db-custom-select summary::placeholder,
881
+ .db-custom-select [id$=-placeholder] {
882
+ opacity: 0.69;
883
+ }
884
+ .db-custom-select summary {
885
+ background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
886
+ caret-color: var(--db-adaptive-on-bg-basic-emphasis-100-default);
887
+ appearance: none;
888
+ max-inline-size: 100%;
889
+ inline-size: 100%;
890
+ /* stylelint-disable-next-line db-ux/use-spacings */
891
+ padding-inline: var(--db-form-component-padding-inline-start, var(--db-spacing-fixed-sm)) var(--db-form-component-padding-inline-end, var(--db-spacing-fixed-sm));
892
+ /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
893
+ }
894
+ .db-custom-select summary:hover:not(:disabled, [aria-disabled=true]) {
895
+ cursor: var(--db-overwrite-cursor, pointer);
896
+ background-color: var(--db-adaptive-bg-basic-transparent-hovered);
897
+ }
898
+ .db-custom-select summary:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-custom-select summary:hover:not(:disabled, [aria-disabled=true]):is(input) {
899
+ cursor: initial;
900
+ }
901
+ .db-custom-select summary:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-custom-select summary:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
902
+ cursor: pointer;
903
+ }
904
+ .db-custom-select summary:is(input, textarea):not(:disabled):read-only {
905
+ background-color: var(--db-textarea-read-only, var(--db-adaptive-bg-basic-level-1-default)) !important;
906
+ }
907
+ .db-custom-select > label {
908
+ padding-block-end: var(--db-spacing-fixed-xs);
909
+ max-inline-size: 25ch;
910
+ text-overflow: ellipsis;
911
+ white-space: nowrap;
912
+ overflow: hidden;
913
+ }
914
+ @media screen and (prefers-reduced-motion: no-preference) {
915
+ .db-custom-select > label {
916
+ transition: font-size var(--db-transition-straight-emotional);
917
+ }
918
+ }
919
+ .db-custom-select[data-hide-label=true] > label {
920
+ padding: 0;
921
+ }
922
+ .db-custom-select:has(summary:disabled, summary[data-disabled=true]) {
923
+ opacity: 0.4;
924
+ pointer-events: none;
925
+ }
926
+ .db-custom-select::after, .db-custom-select::before {
927
+ position: absolute;
928
+ pointer-events: none;
929
+ inset-block-start: calc((var(--db-spacing-fixed-xs) + var(--db-base-body-icon-font-size-xs)) * var(--db-label-visible-above, 1) + var(--db-sizing-md) / 2);
930
+ color: var(--db-adaptive-on-bg-basic-emphasis-100-default);
931
+ transform: translateY(-50%);
932
+ }
933
+ .db-custom-select::before {
934
+ margin-inline-end: var(--db-spacing-fixed-sm);
935
+ inset-inline-start: var(--db-spacing-fixed-sm);
936
+ }
937
+ .db-custom-select::after {
938
+ margin-inline-start: var(--db-spacing-fixed-sm);
939
+ inset-inline-end: var(--db-spacing-fixed-sm);
940
+ }
941
+ .db-custom-select summary {
942
+ block-size: var(--db-sizing-md);
943
+ text-overflow: ellipsis;
944
+ }
945
+ .db-custom-select [id$=-placeholder] {
946
+ display: none;
947
+ margin-inline-end: calc(var(--db-icon-font-size) + var(--db-spacing-fixed-sm));
948
+ }
949
+ .db-custom-select:has(.db-custom-select-form-field:empty), .db-custom-select:has(.db-custom-select-form-field > :empty) {
950
+ --db-form-component-padding-inline-end: calc(var(--db-icon-font-size) + var(--db-spacing-fixed-sm) + var(--db-spacing-fixed-xs));
951
+ }
952
+ .db-custom-select:has(.db-custom-select-form-field:empty) [id$=-placeholder], .db-custom-select:has(.db-custom-select-form-field > :empty) [id$=-placeholder] {
953
+ display: block;
954
+ }
955
+ .db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost],
956
+ .db-custom-select > .db-button[data-icon=cross][data-variant=ghost] {
957
+ --db-tooltip-parent-position: absolute;
958
+ inset-block-start: calc((var(--db-spacing-fixed-xs) + var(--db-base-body-icon-font-size-xs)) * var(--db-label-visible-above, 1) + var(--db-sizing-md) / 2);
959
+ transform: translateY(-50%);
960
+ /* padding form field + gap + icon size */
961
+ inset-inline-end: calc(calc(var(--db-icon-font-size) + var(--db-spacing-fixed-sm) + var(--db-spacing-fixed-xs)) + var(--db-spacing-fixed-xs));
962
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
963
+ position: var(--db-tooltip-parent-position, relative);
964
+ }
965
+ .db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost][data-emphasis=strong],
966
+ .db-custom-select > .db-button[data-icon=cross][data-variant=ghost][data-emphasis=strong] {
967
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
968
+ }
969
+ .db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost]::after,
970
+ .db-custom-select > .db-button[data-icon=cross][data-variant=ghost]::after {
971
+ content: "";
972
+ background-color: var(--db-divider-bg-color);
973
+ position: absolute;
974
+ inline-size: var(--db-border-height-3xs);
975
+ inset-inline-end: 0;
976
+ inset-block: 0;
977
+ }
978
+ @media (forced-colors: active) {
979
+ .db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost],
980
+ .db-custom-select > .db-button[data-icon=cross][data-variant=ghost] {
981
+ /* stylelint-disable-next-line db-ux/use-border-color */
982
+ border: var(--db-border-height-3xs) solid var(--db-divider-bg-color);
983
+ }
984
+ }
985
+ .db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost]::after,
986
+ .db-custom-select > .db-button[data-icon=cross][data-variant=ghost]::after {
987
+ position: absolute;
988
+ inset-inline-end: calc(-1 * var(--db-spacing-fixed-xs) - var(--db-border-height-3xs));
989
+ }
990
+ .db-custom-select[data-selected-type=tag] .db-custom-select-form-field:has(:not(div:empty)) {
991
+ padding-block: var(--db-spacing-fixed-xs);
992
+ block-size: auto;
993
+ }
994
+ .db-custom-select[data-selected-type=tag] .db-custom-select-form-field:has(:not(div:empty)) > div {
995
+ flex-wrap: wrap;
996
+ }
997
+ .db-custom-select[data-selected-type=tag] .db-custom-select-form-field > button {
998
+ align-self: start;
999
+ }
1000
+ .db-custom-select > details[open] > summary {
1001
+ /* stylelint-disable at-rule-empty-line-before */
1002
+ /* stylelint-enable at-rule-empty-line-before */
1003
+ /* stylelint-disable-next-line media-query-no-invalid */
1004
+ }
1005
+ .db-custom-select > details[open] > summary[data-force-mobile=true]::before {
1006
+ position: fixed;
1007
+ z-index: 9998;
1008
+ inset: 0;
1009
+ content: "";
1010
+ cursor: default;
1011
+ background-color: var(--db-adaptive-on-bg-basic-emphasis-100-default);
1012
+ opacity: 0.64;
1013
+ }
1014
+ @media screen and (max-width: 44.9375em) {
1015
+ .db-custom-select > details[open] > summary::before {
1016
+ position: fixed;
1017
+ z-index: 9998;
1018
+ inset: 0;
1019
+ content: "";
1020
+ cursor: default;
1021
+ background-color: var(--db-adaptive-on-bg-basic-emphasis-100-default);
1022
+ opacity: 0.64;
1023
+ }
1024
+ }
1025
+ .db-custom-select[data-variant=floating] .db-custom-select-form-field > span {
1026
+ /* stylelint-disable-next-line db-ux/use-spacings */
1027
+ padding-block-start: calc(var(--db-type-body-font-size-2xs) + var(--db-spacing-fixed-3xs));
1028
+ }