@db-ux/core-components 3.1.16 → 3.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/agent/_instructions.md +9 -0
- package/build/components/accordion-item/accordion-item.css +3 -1
- package/build/components/accordion-item/accordion-item.scss +3 -1
- package/build/components/badge/badge.css +3 -1
- package/build/components/brand/brand.css +3 -1
- package/build/components/brand/brand.scss +2 -1
- package/build/components/button/button.css +3 -1
- package/build/components/card/card.css +3 -1
- package/build/components/card/card.scss +1 -1
- package/build/components/checkbox/checkbox.css +29 -24
- package/build/components/checkbox/checkbox.scss +2 -1
- package/build/components/custom-select/custom-select.css +34 -26
- package/build/components/custom-select/custom-select.scss +1 -1
- package/build/components/custom-select-dropdown/custom-select-dropdown.css +3 -3
- package/build/components/custom-select-dropdown/custom-select-dropdown.scss +1 -1
- package/build/components/custom-select-form-field/custom-select-form-field.css +6 -2
- package/build/components/custom-select-form-field/custom-select-form-field.scss +5 -2
- package/build/components/custom-select-list/custom-select-list.css +3 -1
- package/build/components/custom-select-list/custom-select-list.scss +4 -1
- package/build/components/custom-select-list-item/custom-select-list-item.css +3 -1
- package/build/components/custom-select-list-item/custom-select-list-item.scss +2 -1
- package/build/components/drawer/drawer.css +8 -4
- package/build/components/drawer/drawer.scss +29 -5
- package/build/components/header/header.css +46 -24
- package/build/components/header/header.scss +27 -18
- package/build/components/icon/icon.css +1 -1
- package/build/components/icon/icon.scss +2 -1
- package/build/components/infotext/infotext.css +2 -0
- package/build/components/infotext/infotext.scss +2 -2
- package/build/components/input/input.css +30 -26
- package/build/components/link/link.css +2 -2
- package/build/components/navigation/navigation.css +4 -2
- package/build/components/navigation/navigation.scss +4 -2
- package/build/components/navigation-item/navigation-item.css +15 -6
- package/build/components/navigation-item/navigation-item.scss +10 -6
- package/build/components/notification/notification-grid-non-overlay.scss +3 -1
- package/build/components/notification/notification.css +6 -4
- package/build/components/notification/notification.scss +2 -1
- package/build/components/page/page.css +12 -4
- package/build/components/page/page.scss +8 -3
- package/build/components/popover/popover.css +3 -1
- package/build/components/popover/popover.scss +4 -1
- package/build/components/radio/radio.css +4 -1
- package/build/components/select/select.css +34 -26
- package/build/components/select/select.scss +2 -1
- package/build/components/stack/stack-web-component.css +3 -1
- package/build/components/stack/stack.css +3 -1
- package/build/components/switch/switch.css +7 -2
- package/build/components/switch/switch.scss +3 -1
- package/build/components/tab-item/tab-item.css +6 -2
- package/build/components/tab-item/tab-item.scss +6 -2
- package/build/components/tab-list/tab-list.css +3 -1
- package/build/components/tab-list/tab-list.scss +2 -1
- package/build/components/tab-panel/tab-panel.css +1 -1
- package/build/components/tab-panel/tab-panel.scss +2 -1
- package/build/components/tabs/tabs.css +58 -56
- package/build/components/tabs/tabs.scss +4 -3
- package/build/components/tag/tag.css +11 -5
- package/build/components/tag/tag.scss +5 -3
- package/build/components/textarea/textarea.css +27 -25
- package/build/styles/absolute.css +16 -16
- package/build/styles/index.css +15 -15
- package/build/styles/internal/_button-components.scss +5 -1
- package/build/styles/internal/_form-components.scss +8 -6
- package/build/styles/internal/_link-components.scss +2 -2
- package/build/styles/internal/_select-components.scss +9 -0
- package/build/styles/internal/_stack-components.scss +2 -1
- package/build/styles/relative.css +16 -16
- package/build/styles/rollup.css +16 -16
- package/build/styles/webpack.css +16 -16
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ If you just need the styling follow this:
|
|
|
29
29
|
|
|
30
30
|
**No!** The `@db-ux/core-components` package **automatically includes** all the foundations (`@db-ux/core-foundations`) you need. You only need to install one package:
|
|
31
31
|
|
|
32
|
-
- **Use `@db-ux/core-components`** - If you want to use UI components (buttons, inputs, etc.)
|
|
32
|
+
- **Use `@db-ux/core-components`** - If you want to use UI components (buttons, inputs, etc.)
|
|
33
33
|
- **Use `@db-ux/core-foundations`** - If you only need design tokens, colors, spacing, fonts, and assets without any component styles
|
|
34
34
|
|
|
35
35
|
## Install
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
## Common AI mistakes
|
|
2
|
+
|
|
3
|
+
### `DBButton` or `db-button`
|
|
4
|
+
|
|
5
|
+
- available variants are `outline`, `brand`, `filled`, `ghost`
|
|
6
|
+
- always use variant `outline` as default
|
|
7
|
+
- use variant `brand` as CTA or primary action
|
|
8
|
+
- if `noText`/`no-text` property is used add a `DBTooltip` or `db-tooltip` inside the Button
|
|
9
|
+
- always add a `type` as property as best practise
|
|
@@ -304,13 +304,15 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
304
304
|
.db-accordion-item > details > summary {
|
|
305
305
|
background-color: var(--db-adaptive-bg-basic-level-1-default);
|
|
306
306
|
list-style: none;
|
|
307
|
-
display: flex;
|
|
308
307
|
justify-content: space-between;
|
|
309
308
|
padding: var(--db-spacing-fixed-md);
|
|
310
309
|
gap: var(--db-spacing-fixed-md);
|
|
311
310
|
border-radius: var(--db-border-radius-sm);
|
|
312
311
|
/* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
|
|
313
312
|
}
|
|
313
|
+
.db-accordion-item > details > summary:not([hidden]) {
|
|
314
|
+
display: flex;
|
|
315
|
+
}
|
|
314
316
|
.db-accordion-item > details > summary:hover:not(:disabled, [aria-disabled=true]) {
|
|
315
317
|
cursor: var(--db-overwrite-cursor, pointer);
|
|
316
318
|
background-color: var(--db-adaptive-bg-basic-level-1-hovered);
|
|
@@ -49,7 +49,9 @@
|
|
|
49
49
|
|
|
50
50
|
background-color: colors.$db-adaptive-bg-basic-level-1-default;
|
|
51
51
|
list-style: none;
|
|
52
|
-
|
|
52
|
+
|
|
53
|
+
@include helpers.display(flex);
|
|
54
|
+
|
|
53
55
|
justify-content: space-between;
|
|
54
56
|
padding: variables.$db-spacing-fixed-md;
|
|
55
57
|
gap: variables.$db-spacing-fixed-md;
|
|
@@ -132,10 +132,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
132
132
|
white-space: nowrap;
|
|
133
133
|
justify-content: center;
|
|
134
134
|
text-align: center;
|
|
135
|
-
display: inline-flex;
|
|
136
135
|
align-items: center;
|
|
137
136
|
vertical-align: top;
|
|
138
137
|
}
|
|
138
|
+
.db-badge:not([hidden]) {
|
|
139
|
+
display: inline-flex;
|
|
140
|
+
}
|
|
139
141
|
|
|
140
142
|
/**
|
|
141
143
|
* @mixin screen-min-max
|
|
@@ -114,11 +114,13 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
114
114
|
@layer variables {}
|
|
115
115
|
|
|
116
116
|
.db-brand {
|
|
117
|
-
display: flex;
|
|
118
117
|
gap: var(--db-spacing-fixed-sm);
|
|
119
118
|
align-items: center;
|
|
120
119
|
font-weight: 700;
|
|
121
120
|
}
|
|
121
|
+
.db-brand:not([hidden]) {
|
|
122
|
+
display: flex;
|
|
123
|
+
}
|
|
122
124
|
.db-brand::before {
|
|
123
125
|
--db-icon-font-size: var(--db-sizing-md);
|
|
124
126
|
--db-icon-margin-end: 0;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
@use "@db-ux/core-foundations/build/styles/variables";
|
|
2
2
|
@use "@db-ux/core-foundations/build/styles/colors";
|
|
3
3
|
@use "@db-ux/core-foundations/build/styles/fonts";
|
|
4
|
+
@use "@db-ux/core-foundations/build/styles/helpers/display";
|
|
4
5
|
|
|
5
6
|
.db-brand {
|
|
6
7
|
@extend %db-overwrite-font-size-md;
|
|
8
|
+
@include display.display(flex);
|
|
7
9
|
|
|
8
|
-
display: flex;
|
|
9
10
|
gap: variables.$db-spacing-fixed-sm;
|
|
10
11
|
align-items: center;
|
|
11
12
|
font-weight: 700;
|
|
@@ -144,10 +144,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
144
144
|
white-space: nowrap;
|
|
145
145
|
justify-content: center;
|
|
146
146
|
text-align: center;
|
|
147
|
-
display: inline-flex;
|
|
148
147
|
align-items: center;
|
|
149
148
|
vertical-align: top;
|
|
150
149
|
}
|
|
150
|
+
.db-button:not([hidden]) {
|
|
151
|
+
display: inline-flex;
|
|
152
|
+
}
|
|
151
153
|
|
|
152
154
|
.db-button {
|
|
153
155
|
color: var(--db-adaptive-on-bg-basic-emphasis-100-default);
|
|
@@ -94,7 +94,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
94
94
|
--db-card-background-color-hovered: var(--db-adaptive-bg-basic-level-1-hovered);
|
|
95
95
|
--db-card-background-color-pressed: var(--db-adaptive-bg-basic-level-1-pressed);
|
|
96
96
|
/* stylelint-disable-next-line at-rule-empty-line-before */
|
|
97
|
-
display: flex;
|
|
98
97
|
flex-direction: column;
|
|
99
98
|
background-color: var(--db-card-background-color-default);
|
|
100
99
|
}
|
|
@@ -113,6 +112,9 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
113
112
|
.db-card[data-spacing=none] {
|
|
114
113
|
padding: 0;
|
|
115
114
|
}
|
|
115
|
+
.db-card:not([hidden]) {
|
|
116
|
+
display: flex;
|
|
117
|
+
}
|
|
116
118
|
.db-card[data-behavior=interactive] {
|
|
117
119
|
/* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
|
|
118
120
|
}
|
|
@@ -188,8 +188,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
188
188
|
.db-checkbox > .db-infotext {
|
|
189
189
|
margin-block-start: var(--db-spacing-fixed-2xs);
|
|
190
190
|
}
|
|
191
|
-
.db-checkbox > db-infotext > .db-infotext:is([data-semantic=successful], [data-semantic=critical]),
|
|
192
|
-
.db-checkbox > .db-infotext:is([data-semantic=successful], [data-semantic=critical]) {
|
|
191
|
+
.db-checkbox > db-infotext > .db-infotext:is([data-semantic=successful], [data-semantic=critical]):not([hidden]),
|
|
192
|
+
.db-checkbox > .db-infotext:is([data-semantic=successful], [data-semantic=critical]):not([hidden]) {
|
|
193
193
|
display: none;
|
|
194
194
|
}
|
|
195
195
|
|
|
@@ -225,11 +225,14 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
225
225
|
}
|
|
226
226
|
.db-checkbox:is(label),
|
|
227
227
|
.db-checkbox > label {
|
|
228
|
-
display: flex;
|
|
229
228
|
align-items: flex-start;
|
|
230
229
|
position: relative;
|
|
231
230
|
color: var(--db-check-element-label-color, var(--db-adaptive-on-bg-basic-emphasis-100-default));
|
|
232
231
|
}
|
|
232
|
+
.db-checkbox:is(label):not([hidden]),
|
|
233
|
+
.db-checkbox > label:not([hidden]) {
|
|
234
|
+
display: flex;
|
|
235
|
+
}
|
|
233
236
|
.db-checkbox input {
|
|
234
237
|
background-color: var(--db-adaptive-bg-basic-transparent-full-default);
|
|
235
238
|
place-content: center center;
|
|
@@ -295,12 +298,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
295
298
|
.db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > .db-infotext {
|
|
296
299
|
/* stylelint-disable-next-line at-rule-empty-line-before */
|
|
297
300
|
}
|
|
298
|
-
.db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful],
|
|
299
|
-
.db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful] {
|
|
301
|
+
.db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
|
|
302
|
+
.db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]) {
|
|
300
303
|
display: flex;
|
|
301
304
|
}
|
|
302
|
-
.db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]),
|
|
303
|
-
.db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]) {
|
|
305
|
+
.db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
306
|
+
.db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]) {
|
|
304
307
|
display: none;
|
|
305
308
|
}
|
|
306
309
|
.db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) input:not(:checked) {
|
|
@@ -345,14 +348,14 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
345
348
|
.db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > .db-infotext {
|
|
346
349
|
/* stylelint-disable-next-line at-rule-empty-line-before */
|
|
347
350
|
}
|
|
348
|
-
.db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful],
|
|
349
|
-
.db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful], .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful],
|
|
350
|
-
.db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful] {
|
|
351
|
+
.db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
|
|
352
|
+
.db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]), .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
|
|
353
|
+
.db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]) {
|
|
351
354
|
display: flex;
|
|
352
355
|
}
|
|
353
|
-
.db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]),
|
|
354
|
-
.db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]), .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]),
|
|
355
|
-
.db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]) {
|
|
356
|
+
.db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
357
|
+
.db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]), .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
358
|
+
.db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]) {
|
|
356
359
|
display: none;
|
|
357
360
|
}
|
|
358
361
|
.db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) input:not(:checked), .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) input:not(:checked) {
|
|
@@ -392,12 +395,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
392
395
|
--db-critical-on-bg-basic-emphasis-80-pressed
|
|
393
396
|
);
|
|
394
397
|
}
|
|
395
|
-
.db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) > db-infotext > .db-infotext[data-semantic=critical],
|
|
396
|
-
.db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) > .db-infotext[data-semantic=critical] {
|
|
398
|
+
.db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) > db-infotext > .db-infotext[data-semantic=critical]:not([hidden]),
|
|
399
|
+
.db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) > .db-infotext[data-semantic=critical]:not([hidden]) {
|
|
397
400
|
display: flex;
|
|
398
401
|
}
|
|
399
|
-
.db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) > db-infotext > .db-infotext:not([data-semantic]),
|
|
400
|
-
.db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) > .db-infotext:not([data-semantic]) {
|
|
402
|
+
.db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
403
|
+
.db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) > .db-infotext:not([data-semantic]):not([hidden]) {
|
|
401
404
|
display: none;
|
|
402
405
|
}
|
|
403
406
|
.db-checkbox:has(input:not([data-custom-validity]):required:user-invalid) input:not(:checked) {
|
|
@@ -437,14 +440,14 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
437
440
|
--db-critical-on-bg-basic-emphasis-80-pressed
|
|
438
441
|
);
|
|
439
442
|
}
|
|
440
|
-
.db-checkbox:has(input[data-custom-validity=invalid]) > db-infotext > .db-infotext[data-semantic=critical],
|
|
441
|
-
.db-checkbox:has(input[data-custom-validity=invalid]) > .db-infotext[data-semantic=critical], .db-checkbox[data-custom-validity=invalid] > db-infotext > .db-infotext[data-semantic=critical],
|
|
442
|
-
.db-checkbox[data-custom-validity=invalid] > .db-infotext[data-semantic=critical] {
|
|
443
|
+
.db-checkbox:has(input[data-custom-validity=invalid]) > db-infotext > .db-infotext[data-semantic=critical]:not([hidden]),
|
|
444
|
+
.db-checkbox:has(input[data-custom-validity=invalid]) > .db-infotext[data-semantic=critical]:not([hidden]), .db-checkbox[data-custom-validity=invalid] > db-infotext > .db-infotext[data-semantic=critical]:not([hidden]),
|
|
445
|
+
.db-checkbox[data-custom-validity=invalid] > .db-infotext[data-semantic=critical]:not([hidden]) {
|
|
443
446
|
display: flex;
|
|
444
447
|
}
|
|
445
|
-
.db-checkbox:has(input[data-custom-validity=invalid]) > db-infotext > .db-infotext:not([data-semantic]),
|
|
446
|
-
.db-checkbox:has(input[data-custom-validity=invalid]) > .db-infotext:not([data-semantic]), .db-checkbox[data-custom-validity=invalid] > db-infotext > .db-infotext:not([data-semantic]),
|
|
447
|
-
.db-checkbox[data-custom-validity=invalid] > .db-infotext:not([data-semantic]) {
|
|
448
|
+
.db-checkbox:has(input[data-custom-validity=invalid]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
449
|
+
.db-checkbox:has(input[data-custom-validity=invalid]) > .db-infotext:not([data-semantic]):not([hidden]), .db-checkbox[data-custom-validity=invalid] > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
450
|
+
.db-checkbox[data-custom-validity=invalid] > .db-infotext:not([data-semantic]):not([hidden]) {
|
|
448
451
|
display: none;
|
|
449
452
|
}
|
|
450
453
|
.db-checkbox:has(input[data-custom-validity=invalid]) input:not(:checked), .db-checkbox[data-custom-validity=invalid] input:not(:checked) {
|
|
@@ -471,11 +474,13 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
471
474
|
);
|
|
472
475
|
}
|
|
473
476
|
.db-checkbox input {
|
|
474
|
-
display: flex;
|
|
475
477
|
border-radius: var(--db-border-radius-2xs);
|
|
476
478
|
align-items: center;
|
|
477
479
|
justify-content: center;
|
|
478
480
|
}
|
|
481
|
+
.db-checkbox input:not([hidden]) {
|
|
482
|
+
display: flex;
|
|
483
|
+
}
|
|
479
484
|
.db-checkbox input:checked {
|
|
480
485
|
--db-check-element-border-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
|
|
481
486
|
--db-icon-color: var(--db-adaptive-on-bg-inverted-default);
|
|
@@ -712,8 +712,8 @@ input[type=radio]:checked) > label {
|
|
|
712
712
|
.db-custom-select > .db-infotext {
|
|
713
713
|
margin-block-start: var(--db-spacing-fixed-2xs);
|
|
714
714
|
}
|
|
715
|
-
.db-custom-select > db-infotext > .db-infotext:is([data-semantic=successful], [data-semantic=critical]),
|
|
716
|
-
.db-custom-select > .db-infotext:is([data-semantic=successful], [data-semantic=critical]) {
|
|
715
|
+
.db-custom-select > db-infotext > .db-infotext:is([data-semantic=successful], [data-semantic=critical]):not([hidden]),
|
|
716
|
+
.db-custom-select > .db-infotext:is([data-semantic=successful], [data-semantic=critical]):not([hidden]) {
|
|
717
717
|
display: none;
|
|
718
718
|
}
|
|
719
719
|
|
|
@@ -725,6 +725,12 @@ input[type=radio]:checked) > label {
|
|
|
725
725
|
position: absolute;
|
|
726
726
|
inset-block-start: 0;
|
|
727
727
|
inset-inline-start: 0;
|
|
728
|
+
opacity: 0;
|
|
729
|
+
}
|
|
730
|
+
@media screen and (prefers-reduced-motion: no-preference) {
|
|
731
|
+
.db-custom-select-placeholder {
|
|
732
|
+
transition: opacity var(--db-transition-straight-emotional), outline var(--db-transition-duration-extra-fast), border-color var(--db-transition-straight-emotional), background-color var(--db-transition-straight-emotional);
|
|
733
|
+
}
|
|
728
734
|
}
|
|
729
735
|
|
|
730
736
|
.db-custom-select [id$=-placeholder] {
|
|
@@ -804,9 +810,11 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
|
|
|
804
810
|
.db-custom-select {
|
|
805
811
|
--db-form-has-before: 0;
|
|
806
812
|
position: relative;
|
|
807
|
-
display: flex;
|
|
808
813
|
flex-direction: column;
|
|
809
814
|
}
|
|
815
|
+
.db-custom-select:not([hidden]) {
|
|
816
|
+
display: flex;
|
|
817
|
+
}
|
|
810
818
|
.db-custom-select[data-variant=floating], .db-custom-select[data-hide-label=true] {
|
|
811
819
|
--db-label-visible-above: 0;
|
|
812
820
|
}
|
|
@@ -902,15 +910,15 @@ input[type=radio]:checked) [id$=-placeholder] {
|
|
|
902
910
|
/* stylelint-disable-next-line at-rule-empty-line-before */
|
|
903
911
|
}
|
|
904
912
|
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
|
|
905
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful],
|
|
913
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
|
|
906
914
|
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
|
|
907
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful] {
|
|
915
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]) {
|
|
908
916
|
display: flex;
|
|
909
917
|
}
|
|
910
918
|
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
|
|
911
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]),
|
|
919
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
912
920
|
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
|
|
913
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]) {
|
|
921
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]) {
|
|
914
922
|
display: none;
|
|
915
923
|
}
|
|
916
924
|
.db-custom-select:has(select[data-custom-validity=valid]):has(> .db-infotext[data-semantic=successful],
|
|
@@ -938,21 +946,21 @@ input[type=radio]:checked) [id$=-placeholder] {
|
|
|
938
946
|
/* stylelint-disable-next-line at-rule-empty-line-before */
|
|
939
947
|
}
|
|
940
948
|
.db-custom-select:has(select[data-custom-validity=valid]):has(> .db-infotext[data-semantic=successful],
|
|
941
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful],
|
|
949
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
|
|
942
950
|
.db-custom-select:has(select[data-custom-validity=valid]):has(> .db-infotext[data-semantic=successful],
|
|
943
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful], .db-custom-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
|
|
944
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful],
|
|
951
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]), .db-custom-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
|
|
952
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
|
|
945
953
|
.db-custom-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
|
|
946
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful] {
|
|
954
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]) {
|
|
947
955
|
display: flex;
|
|
948
956
|
}
|
|
949
957
|
.db-custom-select:has(select[data-custom-validity=valid]):has(> .db-infotext[data-semantic=successful],
|
|
950
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]),
|
|
958
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
951
959
|
.db-custom-select:has(select[data-custom-validity=valid]):has(> .db-infotext[data-semantic=successful],
|
|
952
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]), .db-custom-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
|
|
953
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]),
|
|
960
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]), .db-custom-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
|
|
961
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
954
962
|
.db-custom-select[data-custom-validity=valid]:has(> .db-infotext[data-semantic=successful],
|
|
955
|
-
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]) {
|
|
963
|
+
> db-infotext > .db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]) {
|
|
956
964
|
display: none;
|
|
957
965
|
}
|
|
958
966
|
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) {
|
|
@@ -963,12 +971,12 @@ input[type=radio]:checked) [id$=-placeholder] {
|
|
|
963
971
|
color: var(--db-critical-on-bg-basic-emphasis-100-default);
|
|
964
972
|
caret-color: var(--db-critical-on-bg-basic-emphasis-100-default);
|
|
965
973
|
}
|
|
966
|
-
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > db-infotext > .db-infotext[data-semantic=critical],
|
|
967
|
-
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > .db-infotext[data-semantic=critical] {
|
|
974
|
+
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > db-infotext > .db-infotext[data-semantic=critical]:not([hidden]),
|
|
975
|
+
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > .db-infotext[data-semantic=critical]:not([hidden]) {
|
|
968
976
|
display: flex;
|
|
969
977
|
}
|
|
970
|
-
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > db-infotext > .db-infotext:not([data-semantic]),
|
|
971
|
-
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > .db-infotext:not([data-semantic]) {
|
|
978
|
+
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
979
|
+
.db-custom-select:has(select:not([data-custom-validity]):is(:required):user-invalid) > .db-infotext:not([data-semantic]):not([hidden]) {
|
|
972
980
|
display: none;
|
|
973
981
|
}
|
|
974
982
|
.db-custom-select:has(select[data-custom-validity=invalid]), .db-custom-select[data-custom-validity=invalid] {
|
|
@@ -980,14 +988,14 @@ input[type=radio]:checked) [id$=-placeholder] {
|
|
|
980
988
|
color: var(--db-critical-on-bg-basic-emphasis-100-default);
|
|
981
989
|
caret-color: var(--db-critical-on-bg-basic-emphasis-100-default);
|
|
982
990
|
}
|
|
983
|
-
.db-custom-select:has(select[data-custom-validity=invalid]) > db-infotext > .db-infotext[data-semantic=critical],
|
|
984
|
-
.db-custom-select:has(select[data-custom-validity=invalid]) > .db-infotext[data-semantic=critical], .db-custom-select[data-custom-validity=invalid] > db-infotext > .db-infotext[data-semantic=critical],
|
|
985
|
-
.db-custom-select[data-custom-validity=invalid] > .db-infotext[data-semantic=critical] {
|
|
991
|
+
.db-custom-select:has(select[data-custom-validity=invalid]) > db-infotext > .db-infotext[data-semantic=critical]:not([hidden]),
|
|
992
|
+
.db-custom-select:has(select[data-custom-validity=invalid]) > .db-infotext[data-semantic=critical]:not([hidden]), .db-custom-select[data-custom-validity=invalid] > db-infotext > .db-infotext[data-semantic=critical]:not([hidden]),
|
|
993
|
+
.db-custom-select[data-custom-validity=invalid] > .db-infotext[data-semantic=critical]:not([hidden]) {
|
|
986
994
|
display: flex;
|
|
987
995
|
}
|
|
988
|
-
.db-custom-select:has(select[data-custom-validity=invalid]) > db-infotext > .db-infotext:not([data-semantic]),
|
|
989
|
-
.db-custom-select:has(select[data-custom-validity=invalid]) > .db-infotext:not([data-semantic]), .db-custom-select[data-custom-validity=invalid] > db-infotext > .db-infotext:not([data-semantic]),
|
|
990
|
-
.db-custom-select[data-custom-validity=invalid] > .db-infotext:not([data-semantic]) {
|
|
996
|
+
.db-custom-select:has(select[data-custom-validity=invalid]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
997
|
+
.db-custom-select:has(select[data-custom-validity=invalid]) > .db-infotext:not([data-semantic]):not([hidden]), .db-custom-select[data-custom-validity=invalid] > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
|
|
998
|
+
.db-custom-select[data-custom-validity=invalid] > .db-infotext:not([data-semantic]):not([hidden]) {
|
|
991
999
|
display: none;
|
|
992
1000
|
}
|
|
993
1001
|
.db-custom-select summary::placeholder,
|
|
@@ -1062,7 +1070,7 @@ summary[aria-disabled=true]) {
|
|
|
1062
1070
|
--db-form-component-padding-inline-end: calc(var(--db-icon-font-size) + var(--db-spacing-fixed-sm) + var(--db-spacing-fixed-xs));
|
|
1063
1071
|
margin-inline-end: calc(var(--db-icon-font-size) + var(--db-spacing-fixed-sm));
|
|
1064
1072
|
}
|
|
1065
|
-
.db-custom-select:has(summary span) [id$=-placeholder] {
|
|
1073
|
+
.db-custom-select:has(summary span) [id$=-placeholder]:not([hidden]) {
|
|
1066
1074
|
display: none;
|
|
1067
1075
|
}
|
|
1068
1076
|
.db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost],
|
|
@@ -483,9 +483,9 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
483
483
|
}
|
|
484
484
|
}
|
|
485
485
|
@media screen and (min-width: 48em) {
|
|
486
|
-
.db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button):not([data-force-mobile]), .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button)[data-force-mobile=false],
|
|
487
|
-
.db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button):not([data-force-mobile]),
|
|
488
|
-
.db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button)[data-force-mobile=false] {
|
|
486
|
+
.db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button):not([data-force-mobile]):not([hidden]), .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button)[data-force-mobile=false]:not([hidden]),
|
|
487
|
+
.db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button):not([data-force-mobile]):not([hidden]),
|
|
488
|
+
.db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button)[data-force-mobile=false]:not([hidden]) {
|
|
489
489
|
display: none;
|
|
490
490
|
}
|
|
491
491
|
}
|
|
@@ -128,17 +128,21 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
128
128
|
*/
|
|
129
129
|
.db-custom-select-form-field:is(summary) {
|
|
130
130
|
list-style: none;
|
|
131
|
-
display: flex;
|
|
132
131
|
align-items: center;
|
|
133
132
|
justify-content: space-between;
|
|
134
133
|
gap: var(--db-spacing-fixed-sm);
|
|
135
134
|
}
|
|
135
|
+
.db-custom-select-form-field:is(summary):not([hidden]) {
|
|
136
|
+
display: flex;
|
|
137
|
+
}
|
|
136
138
|
.db-custom-select-form-field:is(summary) span {
|
|
137
139
|
text-overflow: ellipsis;
|
|
138
140
|
overflow: hidden;
|
|
139
141
|
text-wrap: nowrap;
|
|
140
142
|
}
|
|
141
143
|
.db-custom-select-form-field:is(summary) > div {
|
|
142
|
-
display: flex;
|
|
143
144
|
gap: var(--db-spacing-fixed-sm);
|
|
144
145
|
}
|
|
146
|
+
.db-custom-select-form-field:is(summary) > div:not([hidden]) {
|
|
147
|
+
display: flex;
|
|
148
|
+
}
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
.db-custom-select-form-field {
|
|
6
6
|
&:is(summary) {
|
|
7
7
|
list-style: none;
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
@include helpers.display(flex);
|
|
10
|
+
|
|
9
11
|
align-items: center;
|
|
10
12
|
justify-content: space-between;
|
|
11
13
|
gap: variables.$db-spacing-fixed-sm;
|
|
@@ -17,7 +19,8 @@
|
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
> div {
|
|
20
|
-
display
|
|
22
|
+
@include helpers.display(flex);
|
|
23
|
+
|
|
21
24
|
gap: variables.$db-spacing-fixed-sm;
|
|
22
25
|
}
|
|
23
26
|
}
|
|
@@ -139,9 +139,11 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
139
139
|
}
|
|
140
140
|
.db-custom-select-list > ul {
|
|
141
141
|
all: unset;
|
|
142
|
-
display: flex;
|
|
143
142
|
flex-direction: column;
|
|
144
143
|
}
|
|
144
|
+
.db-custom-select-list > ul:not([hidden]) {
|
|
145
|
+
display: flex;
|
|
146
|
+
}
|
|
145
147
|
.db-custom-select-list > ul:has(span) {
|
|
146
148
|
--db-custom-select-list-item-group-padding: 1;
|
|
147
149
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
@use "@db-ux/core-foundations/build/styles/variables";
|
|
2
2
|
@use "../../styles/internal/form-components";
|
|
3
|
+
@use "@db-ux/core-foundations/build/styles/helpers/display";
|
|
3
4
|
|
|
4
5
|
.db-custom-select-list {
|
|
5
6
|
all: unset;
|
|
@@ -26,7 +27,9 @@
|
|
|
26
27
|
|
|
27
28
|
> ul {
|
|
28
29
|
all: unset;
|
|
29
|
-
|
|
30
|
+
|
|
31
|
+
@include display.display(flex);
|
|
32
|
+
|
|
30
33
|
flex-direction: column;
|
|
31
34
|
|
|
32
35
|
&:has(span) {
|
|
@@ -174,7 +174,6 @@ db-custom-select-list-item:not(:last-of-type) .db-custom-select-list-item[data-d
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
.db-custom-select-list-item {
|
|
177
|
-
display: flex;
|
|
178
177
|
block-size: 100%;
|
|
179
178
|
position: relative;
|
|
180
179
|
padding: var(--db-spacing-fixed-sm);
|
|
@@ -182,6 +181,9 @@ db-custom-select-list-item:not(:last-of-type) .db-custom-select-list-item[data-d
|
|
|
182
181
|
border-radius: var(--db-border-radius-xs);
|
|
183
182
|
box-sizing: border-box;
|
|
184
183
|
}
|
|
184
|
+
.db-custom-select-list-item:not([hidden]) {
|
|
185
|
+
display: flex;
|
|
186
|
+
}
|
|
185
187
|
.db-custom-select-list-item:has(> label):not(:has(input[type=radio]:checked)) {
|
|
186
188
|
/* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
|
|
187
189
|
}
|
|
@@ -278,7 +278,6 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
|
|
|
278
278
|
}
|
|
279
279
|
|
|
280
280
|
.db-drawer .db-drawer-container {
|
|
281
|
-
display: flex;
|
|
282
281
|
flex-direction: column;
|
|
283
282
|
background-color: var(--db-adaptive-bg-basic-level-1-default);
|
|
284
283
|
block-size: 100%;
|
|
@@ -286,6 +285,9 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
|
|
|
286
285
|
position: fixed;
|
|
287
286
|
box-shadow: var(--db-elevation-md);
|
|
288
287
|
}
|
|
288
|
+
.db-drawer .db-drawer-container:not([hidden]) {
|
|
289
|
+
display: flex;
|
|
290
|
+
}
|
|
289
291
|
.db-drawer .db-drawer-container:not([data-width=full]) {
|
|
290
292
|
max-inline-size: var(--db-drawer-max-width, calc(100% - var(--db-spacing-fixed-xl)));
|
|
291
293
|
min-inline-size: var(--db-drawer-min-width, calc(100% - var(--db-spacing-fixed-xl)));
|
|
@@ -306,10 +308,12 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
|
|
|
306
308
|
box-shadow: var(--db-elevation-md);
|
|
307
309
|
}
|
|
308
310
|
.db-drawer .db-drawer-container .db-drawer-header {
|
|
309
|
-
display: none;
|
|
310
311
|
--db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
|
|
311
312
|
position: var(--db-tooltip-parent-position, relative);
|
|
312
313
|
}
|
|
314
|
+
.db-drawer .db-drawer-container .db-drawer-header:not([hidden]) {
|
|
315
|
+
display: none;
|
|
316
|
+
}
|
|
313
317
|
.db-drawer .db-drawer-container .db-drawer-header[data-emphasis=strong] {
|
|
314
318
|
--db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
|
|
315
319
|
}
|
|
@@ -338,7 +342,7 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
|
|
|
338
342
|
.db-drawer .db-drawer-container .db-drawer-header .button-close-drawer button {
|
|
339
343
|
margin-inline-start: auto;
|
|
340
344
|
}
|
|
341
|
-
.db-drawer .db-drawer-container .db-drawer-header:has(.button-close-drawer), .db-drawer .db-drawer-container .db-drawer-header:has(:not(.db-drawer-header-text:empty)) {
|
|
345
|
+
.db-drawer .db-drawer-container .db-drawer-header:has(.button-close-drawer):not([hidden]), .db-drawer .db-drawer-container .db-drawer-header:has(:not(.db-drawer-header-text:empty)):not([hidden]) {
|
|
342
346
|
display: flex;
|
|
343
347
|
}
|
|
344
348
|
.db-drawer[data-position=absolute] {
|
|
@@ -349,7 +353,7 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
|
|
|
349
353
|
inline-size: 100%;
|
|
350
354
|
background-color: transparent;
|
|
351
355
|
}
|
|
352
|
-
.db-drawer[data-position=absolute][open] {
|
|
356
|
+
.db-drawer[data-position=absolute][open]:not([hidden]) {
|
|
353
357
|
display: flex;
|
|
354
358
|
}
|
|
355
359
|
.db-drawer[data-position=absolute]:not([data-direction]), .db-drawer[data-position=absolute][data-direction=right], .db-drawer[data-position=absolute][data-direction=left] {
|