@db-ux/core-components 4.6.1 → 4.7.0-tabs-34782eb

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 (49) hide show
  1. package/CHANGELOG.md +28 -16
  2. package/build/components/accordion-item/accordion-item.css +5 -3
  3. package/build/components/badge/badge.css +13 -7
  4. package/build/components/brand/brand.css +3 -3
  5. package/build/components/button/button.css +3 -1
  6. package/build/components/card/card.css +10 -6
  7. package/build/components/checkbox/checkbox.css +25 -21
  8. package/build/components/custom-button/custom-button.css +3 -1
  9. package/build/components/custom-select/custom-select.css +19 -15
  10. package/build/components/custom-select-dropdown/custom-select-dropdown.css +11 -3
  11. package/build/components/custom-select-form-field/custom-select-form-field.css +8 -6
  12. package/build/components/custom-select-list/custom-select-list.css +4 -2
  13. package/build/components/custom-select-list-item/custom-select-list-item.css +7 -5
  14. package/build/components/drawer/drawer.css +3 -3
  15. package/build/components/header/header.css +115 -60
  16. package/build/components/icon/icon.css +4 -2
  17. package/build/components/infotext/infotext.css +15 -15
  18. package/build/components/input/input.css +12 -10
  19. package/build/components/navigation/navigation.css +28 -12
  20. package/build/components/navigation-item/navigation-item.css +39 -19
  21. package/build/components/notification/notification.css +5 -5
  22. package/build/components/notification/notification.scss +1 -1
  23. package/build/components/page/page.css +13 -11
  24. package/build/components/popover/popover.css +25 -13
  25. package/build/components/radio/radio.css +10 -8
  26. package/build/components/section/section.css +3 -3
  27. package/build/components/select/select.css +11 -11
  28. package/build/components/select/select.scss +4 -4
  29. package/build/components/stack/stack-web-component.css +3 -3
  30. package/build/components/stack/stack.css +3 -3
  31. package/build/components/switch/switch.css +30 -20
  32. package/build/components/tab-item/tab-item.css +133 -157
  33. package/build/components/tab-item/tab-item.scss +105 -103
  34. package/build/components/tab-list/tab-list.css +46 -36
  35. package/build/components/tab-list/tab-list.scss +11 -9
  36. package/build/components/tab-panel/tab-panel.css +1 -2
  37. package/build/components/tab-panel/tab-panel.scss +2 -5
  38. package/build/components/tabs/tabs.css +227 -236
  39. package/build/components/tabs/tabs.scss +214 -234
  40. package/build/components/tag/tag.css +32 -11
  41. package/build/components/textarea/textarea.css +27 -17
  42. package/build/components/tooltip/tooltip.css +19 -9
  43. package/build/styles/absolute.css +32 -18
  44. package/build/styles/bundle.css +32 -18
  45. package/build/styles/index.css +31 -17
  46. package/build/styles/relative.css +32 -18
  47. package/build/styles/rollup.css +32 -18
  48. package/build/styles/webpack.css +32 -18
  49. package/package.json +6 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @db-ux/core-components
2
2
 
3
+ ## 4.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - DBSelect: correctly hiding empty `option` element for _placeholder_ or _floating label_ components with property `showEmptyOption=false` - [see commit ec01b5c](https://github.com/db-ux-design-system/core-web/commit/ec01b5cb56e1fc05911d33cbff0fc8f385644628)
8
+
9
+ - refactor(notification): not enforcing a paragraph for it's contents anymore. You could set any block level elements now as children. - [see commit 3170b3a](https://github.com/db-ux-design-system/core-web/commit/3170b3a6ef57bb73fa32b3176b7b8cf651a38641) and [commit 2ebe315](https://github.com/db-ux-design-system/core-web/commit/2ebe3156cd45e3702cf4acdc4224cd34da31d907)
10
+
11
+ ### Patch Changes
12
+
13
+ - docs(HTML): added Invoker Commands to header and drawer "how to use" documentation - [see commit b9d2c39](https://github.com/db-ux-design-system/core-web/commit/b9d2c396a2af7c65e0e2fab5517e257d3797ffda)
14
+
3
15
  ## 4.6.1
4
16
 
5
17
  ### Patch Changes
@@ -21,7 +33,7 @@
21
33
  - docs(vite): mentioning version 8 configuration in `README.md` file - [see commit 4c5fc92](https://github.com/db-ux-design-system/core-web/commit/4c5fc9266402d9585087f4738a1a800cff1515f1)
22
34
 
23
35
  - fix(number input): prevent from clearing on intermediate decimal entry - [see commit aa85967](https://github.com/db-ux-design-system/core-web/commit/aa85967ffeaa685f6b647069d0e1d415d812dc87):
24
- - fix(input,textarea): allow using `undefined` as `value`
36
+ - fix(input,textarea): allow using `undefined` as `value`
25
37
 
26
38
  ## 4.5.4
27
39
 
@@ -162,14 +174,14 @@ _version bump_
162
174
  - refactor(notification): update and simplify grid layout for block link variant - [see commit cb83f96](https://github.com/db-ux-design-system/core-web/commit/cb83f966eaf29c85b4cf0079750bdd563f216d6e)
163
175
 
164
176
  - fix(DBCustomSelect): properly announce selected options - [see commit 773edeb](https://github.com/db-ux-design-system/core-web/commit/773edeb943a085eb79e1c8d59059137b2830fbf0):
165
- - feat(DBCustomSelect): introduce new property `selectedPrefix`
177
+ - feat(DBCustomSelect): introduce new property `selectedPrefix`
166
178
 
167
179
  ### Patch Changes
168
180
 
169
181
  - fix(DBCustomSelect): automatically handle form reset events - [see commit 6af5246](https://github.com/db-ux-design-system/core-web/commit/6af5246b3b2e6febdc6ff6342ba1a8eb10184d14):
170
- - An event listener is now added for every form component (input, custom-select, etc.) when a `form` property is passed.
171
- - This listener detects form resets and updates the component's internal value/checked state accordingly.
172
- - > **Note**: This does not work for `ngModel` in Angular.
182
+ - An event listener is now added for every form component (input, custom-select, etc.) when a `form` property is passed.
183
+ - This listener detects form resets and updates the component's internal value/checked state accordingly.
184
+ - > **Note**: This does not work for `ngModel` in Angular.
173
185
 
174
186
  - fix(button): Replace fixed height with min-height for buttons to allow dynamic height adjustment when text wraps - [see commit d1fd2c4](https://github.com/db-ux-design-system/core-web/commit/d1fd2c4e58a5ed6f75fab44700cd2d93c7232474)
175
187
 
@@ -192,7 +204,7 @@ _version bump_
192
204
  ### Patch Changes
193
205
 
194
206
  - chore: update instructions files for better copilot outputs - [see commit e4bc905](https://github.com/db-ux-design-system/core-web/commit/e4bc90508479387371d816d5776f9f568aa5fb82):
195
- - fix: add some missing variables
207
+ - fix: add some missing variables
196
208
 
197
209
  - fix(card): Remove the obsolete but harmful declaration regarding wrapping button and link styles. - [see commit 34c78df](https://github.com/db-ux-design-system/core-web/commit/34c78dffd4f43b0ac740574358b426a562e05cd0)
198
210
 
@@ -207,9 +219,9 @@ _version bump_
207
219
  ### Major Changes
208
220
 
209
221
  - feat: Switch stable rework - [see commit cb2deb0](https://github.com/db-ux-design-system/core-web/commit/cb2deb0f1c54900d1967483aea05d81279c02f59):
210
- - **BREAKING CHANGE**: remove `emphasis` property
211
- - introduce validation (invalid and valid)
212
- - configurable label position
222
+ - **BREAKING CHANGE**: remove `emphasis` property
223
+ - introduce validation (invalid and valid)
224
+ - configurable label position
213
225
 
214
226
  - **BREAKING CHANGE**: refactor(Custom Select): renamed `ariaListLabel` property to `listLabel` - [see commit 966d5ad](https://github.com/db-ux-design-system/core-web/commit/966d5ad01f00d0ca1707cc316a63e2d431fff1e9)
215
227
 
@@ -228,12 +240,12 @@ _version bump_
228
240
  ### Patch Changes
229
241
 
230
242
  - fix(DBTabs): ensure navigation arrows appear correctly on window resize - [see commit 4e65e00](https://github.com/db-ux-design-system/core-web/commit/4e65e00d280cae18baee03b5a7a9b13eec063835):
231
- - This update resolves an issue where navigation arrows in DBTabs would not appear or update correctly when the window was resized. The component now properly responds to resize events, ensuring arrows are always shown or hidden as needed.
243
+ - This update resolves an issue where navigation arrows in DBTabs would not appear or update correctly when the window was resized. The component now properly responds to resize events, ensuring arrows are always shown or hidden as needed.
232
244
 
233
245
  - fix(select): jumping placeholder for label above - [see commit 7ed8d22](https://github.com/db-ux-design-system/core-web/commit/7ed8d2225102e0e9044437e95917e11eef4bc73f)
234
246
 
235
247
  - enabled [`@db-ux/agent-cli`](https://www.npmjs.com/package/@db-ux/agent-cli) for every package - [see commit 0233048](https://github.com/db-ux-design-system/core-web/commit/023304869e61f5a506dca66a22d69e5f3d70f4d0):
236
- - auto-generate/auto-update `.github/copilot-instructions.md`, to ensure GitHub Copilot uses DB UX Components for code generation
248
+ - auto-generate/auto-update `.github/copilot-instructions.md`, to ensure GitHub Copilot uses DB UX Components for code generation
237
249
 
238
250
  ## 3.1.17
239
251
 
@@ -241,17 +253,17 @@ _version bump_
241
253
 
242
254
  - fix: color mode for textarea resizer control set by color-mode-switch documentation UI component - [see commit 354e270](https://github.com/db-ux-design-system/core-web/commit/354e27029a4378288a97ed5e31b75c11758f0c01)
243
255
  - refactor: enabling `hidden` HTML attribute in every context in which we need to set overwriting styling declarations (`display`) - [see commit 4826455](https://github.com/db-ux-design-system/core-web/commit/4826455637590b6ae780afb93abb9effe9380342)
244
- - @db-ux/core-foundations@3.1.17
256
+ - @db-ux/core-foundations@3.1.17
245
257
 
246
258
  ## 3.1.16
247
259
 
248
260
  ### Patch Changes
249
261
 
250
262
  - a28eb71: fix(custom-select): keyboard navigation for option groups in single-select mode - [see commit 6d60bab](https://github.com/db-ux-design-system/core-web/commit/6d60bab2eb87f16a9ffa942085bffd658564769c):
251
- - Fixes a keyboard accessibility issue where users could not navigate to options in subsequent option groups using arrow keys in single-select mode.
252
- - Now, all options are accessible via keyboard regardless of group boundaries.
263
+ - Fixes a keyboard accessibility issue where users could not navigate to options in subsequent option groups using arrow keys in single-select mode.
264
+ - Now, all options are accessible via keyboard regardless of group boundaries.
253
265
  - fix: JS framework core-components packages are missing `@db-ux` dependencies - [see commit 49df866](https://github.com/db-ux-design-system/core-web/commit/49df866e753a9459f5acdca4ad1e19141b477471)
254
- - @db-ux/core-foundations@3.1.16
266
+ - @db-ux/core-foundations@3.1.16
255
267
 
256
268
  ## 3.1.15
257
269
 
@@ -260,4 +272,4 @@ _version bump_
260
272
  - 262964b: fix(Switch): double event firing with Angular signals
261
273
  - 262964b: fix(CustomSelect): tags remaining visible when form values are reset
262
274
  - 262964b: fix(CustomSelect): custom removeTagsTexts are not applied correctly
263
- - @db-ux/core-foundations@3.1.15
275
+ - @db-ux/core-foundations@3.1.15
@@ -134,15 +134,17 @@
134
134
  .db-accordion-item > details > summary {
135
135
  background-color: var(--db-adaptive-bg-basic-level-1-default);
136
136
  list-style: none;
137
+ }
138
+ .db-accordion-item > details > summary:not([hidden]) {
139
+ display: flex;
140
+ }
141
+ .db-accordion-item > details > summary {
137
142
  justify-content: space-between;
138
143
  padding: var(--db-spacing-fixed-md);
139
144
  gap: var(--db-spacing-fixed-md);
140
145
  border-radius: var(--db-border-radius-sm);
141
146
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
142
147
  }
143
- .db-accordion-item > details > summary:not([hidden]) {
144
- display: flex;
145
- }
146
148
  .db-accordion-item > details > summary:hover:not(:disabled,
147
149
  [aria-disabled=true],
148
150
  [tabindex="-1"],
@@ -37,11 +37,13 @@
37
37
  border-color: var(--db-tag-border-color);
38
38
  background-color: var(--db-adaptive-bg-vibrant-default);
39
39
  color: var(--db-adaptive-on-bg-vibrant-default);
40
- /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
41
40
  }
42
41
  .db-badge:not([data-semantic])[data-emphasis=strong] .db-tab-remove-button::before, .db-badge[data-semantic=adaptive][data-emphasis=strong] .db-tab-remove-button::before, .db-badge:not([data-semantic])[data-emphasis=strong] .db-tab-remove-button::after, .db-badge[data-semantic=adaptive][data-emphasis=strong] .db-tab-remove-button::after {
43
42
  --db-icon-color: var(--db-adaptive-on-bg-vibrant-default);
44
43
  }
44
+ .db-badge:not([data-semantic])[data-emphasis=strong] .db-tab-remove-button, .db-badge[data-semantic=adaptive][data-emphasis=strong] .db-tab-remove-button {
45
+ /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
46
+ }
45
47
  .db-badge:not([data-semantic])[data-emphasis=strong] .db-tab-remove-button:hover:not(:disabled,
46
48
  [aria-disabled=true],
47
49
  [tabindex="-1"],
@@ -150,11 +152,6 @@
150
152
 
151
153
  .db-badge {
152
154
  --badge-size: var(--db-spacing-fixed-xs);
153
- border-radius: var(--db-border-radius-full);
154
- padding-inline: var(--db-spacing-fixed-2xs);
155
- block-size: fit-content;
156
- inline-size: fit-content;
157
- font-weight: 700;
158
155
  }
159
156
  .db-badge:not([data-semantic]):not([data-emphasis]), .db-badge:not([data-semantic])[data-emphasis=weak], .db-badge[data-semantic=adaptive]:not([data-emphasis]), .db-badge[data-semantic=adaptive][data-emphasis=weak] {
160
157
  --db-tag-border-color: var(
@@ -163,11 +160,13 @@
163
160
  border-color: var(--db-tag-border-color);
164
161
  background-color: var(--db-adaptive-bg-basic-level-3-default);
165
162
  color: var(--db-adaptive-on-bg-basic-emphasis-80-default);
166
- /* stylelint-disable-next-line at-rule-empty-line-before */
167
163
  }
168
164
  .db-badge:not([data-semantic]):not([data-emphasis])::before, .db-badge:not([data-semantic]):not([data-emphasis])::after, .db-badge:not([data-semantic])[data-emphasis=weak]::before, .db-badge:not([data-semantic])[data-emphasis=weak]::after, .db-badge[data-semantic=adaptive]:not([data-emphasis])::before, .db-badge[data-semantic=adaptive]:not([data-emphasis])::after, .db-badge[data-semantic=adaptive][data-emphasis=weak]::before, .db-badge[data-semantic=adaptive][data-emphasis=weak]::after {
169
165
  --db-icon-color: var(--db-adaptive-on-bg-basic-emphasis-80-default);
170
166
  }
167
+ .db-badge:not([data-semantic]):not([data-emphasis]), .db-badge:not([data-semantic])[data-emphasis=weak], .db-badge[data-semantic=adaptive]:not([data-emphasis]), .db-badge[data-semantic=adaptive][data-emphasis=weak] {
168
+ /* stylelint-disable-next-line at-rule-empty-line-before */
169
+ }
171
170
  .db-badge:not([data-semantic])[data-emphasis=strong], .db-badge[data-semantic=adaptive][data-emphasis=strong] {
172
171
  --db-tag-border-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
173
172
  border-color: var(--db-tag-border-color);
@@ -277,6 +276,13 @@
277
276
  .db-badge[data-semantic=informational][data-emphasis=strong]::before, .db-badge[data-semantic=informational][data-emphasis=strong]::after {
278
277
  --db-icon-color: var(--db-informational-on-bg-vibrant-default);
279
278
  }
279
+ .db-badge {
280
+ border-radius: var(--db-border-radius-full);
281
+ padding-inline: var(--db-spacing-fixed-2xs);
282
+ block-size: fit-content;
283
+ inline-size: fit-content;
284
+ font-weight: 700;
285
+ }
280
286
  .db-badge:not(:empty) {
281
287
  min-inline-size: calc(1.4em - 2 * var(--db-spacing-fixed-2xs));
282
288
  box-sizing: content-box;
@@ -6,14 +6,14 @@
6
6
  --db-icon-font-size: var(--db-base-body-icon-font-size-md);
7
7
  }
8
8
 
9
+ .db-brand:not([hidden]) {
10
+ display: flex;
11
+ }
9
12
  .db-brand {
10
13
  gap: var(--db-spacing-fixed-sm);
11
14
  align-items: center;
12
15
  font-weight: 700;
13
16
  }
14
- .db-brand:not([hidden]) {
15
- display: flex;
16
- }
17
17
  .db-brand::before {
18
18
  --db-icon-font-size: var(--db-sizing-md);
19
19
  --db-icon-margin-end: 0;
@@ -256,11 +256,13 @@
256
256
  inline-size: var(--db-sizing-md);
257
257
  block-size: var(--db-sizing-md);
258
258
  font-size: 0 !important;
259
- /* stylelint-disable-next-line at-rule-empty-line-before */
260
259
  }
261
260
  .db-button[data-no-text=true]::before {
262
261
  --db-icon-margin-end: 0;
263
262
  }
263
+ .db-button[data-no-text=true] {
264
+ /* stylelint-disable-next-line at-rule-empty-line-before */
265
+ }
264
266
  .db-button[data-no-text=true]::before {
265
267
  margin: auto;
266
268
  }
@@ -8,9 +8,6 @@
8
8
  border-radius: var(--default-card-border-radius, var(--db-border-radius-sm));
9
9
  }
10
10
 
11
- :is(a[href], button) {
12
- /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
13
- }
14
11
  :is(a[href], button):has(.db-card) {
15
12
  text-decoration: unset;
16
13
  margin: unset;
@@ -19,6 +16,9 @@
19
16
  padding: unset;
20
17
  font: inherit;
21
18
  }
19
+ :is(a[href], button) {
20
+ /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
21
+ }
22
22
  :is(a[href], button):hover:not(:disabled,
23
23
  [aria-disabled=true],
24
24
  [tabindex="-1"],
@@ -92,13 +92,13 @@
92
92
  --db-card-background-color-default: var(--db-adaptive-bg-basic-level-1-default);
93
93
  --db-card-background-color-hovered: var(--db-adaptive-bg-basic-level-1-hovered);
94
94
  --db-card-background-color-pressed: var(--db-adaptive-bg-basic-level-1-pressed);
95
- /* stylelint-disable-next-line at-rule-empty-line-before */
96
- flex-direction: column;
97
- background-color: var(--db-card-background-color-default);
98
95
  }
99
96
  .db-card:not([data-spacing]) {
100
97
  padding: var(--db-spacing-fixed-sm);
101
98
  }
99
+ .db-card {
100
+ /* stylelint-disable-next-line at-rule-empty-line-before */
101
+ }
102
102
  .db-card[data-spacing=large] {
103
103
  padding: var(--db-spacing-fixed-lg);
104
104
  }
@@ -114,6 +114,10 @@
114
114
  .db-card:not([hidden]) {
115
115
  display: flex;
116
116
  }
117
+ .db-card {
118
+ flex-direction: column;
119
+ background-color: var(--db-card-background-color-default);
120
+ }
117
121
  .db-card[data-behavior=interactive] {
118
122
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
119
123
  }
@@ -91,10 +91,6 @@
91
91
  inline-size: calc(var(--db-icon-font-size) - 2 * var(--db-border-width-3xs));
92
92
  }
93
93
 
94
- .db-checkbox {
95
- /* stylelint-disable-next-line at-rule-empty-line-before */
96
- /* stylelint-disable-next-line at-rule-empty-line-before */
97
- }
98
94
  .db-checkbox:not([data-hide-asterisk=true]):has(input:required):is(label)::after,
99
95
  .db-checkbox:not([data-hide-asterisk=true]):has(input:required) > label::after, .db-checkbox:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
100
96
  .db-checkbox:not([data-hide-asterisk=true])[data-required=true] > label::after {
@@ -112,16 +108,16 @@
112
108
  .db-checkbox:has(input:disabled) {
113
109
  opacity: var(--db-opacity-md);
114
110
  }
111
+ .db-checkbox:is(label):not([hidden]),
112
+ .db-checkbox > label:not([hidden]) {
113
+ display: flex;
114
+ }
115
115
  .db-checkbox:is(label),
116
116
  .db-checkbox > label {
117
117
  align-items: flex-start;
118
118
  position: relative;
119
119
  color: var(--db-check-element-label-color, var(--db-adaptive-on-bg-basic-emphasis-100-default));
120
120
  }
121
- .db-checkbox:is(label):not([hidden]),
122
- .db-checkbox > label:not([hidden]) {
123
- display: flex;
124
- }
125
121
  .db-checkbox input {
126
122
  background-color: var(--db-adaptive-bg-basic-transparent-full-default);
127
123
  place-content: center center;
@@ -186,14 +182,14 @@
186
182
  --db-successful-on-bg-inverted-default
187
183
  );
188
184
  }
189
- .db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext,
190
- .db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > .db-infotext {
191
- /* stylelint-disable-next-line at-rule-empty-line-before */
192
- }
193
185
  .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]),
194
186
  .db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]) {
195
187
  display: flex;
196
188
  }
189
+ .db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext,
190
+ .db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > .db-infotext {
191
+ /* stylelint-disable-next-line at-rule-empty-line-before */
192
+ }
197
193
  .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]),
198
194
  .db-checkbox:has(input:not([data-custom-validity]):required:user-valid):has(.db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]) {
199
195
  display: none;
@@ -220,6 +216,9 @@
220
216
  --db-successful-bg-inverted-contrast-low-pressed
221
217
  );
222
218
  }
219
+ .db-checkbox {
220
+ /* stylelint-disable-next-line at-rule-empty-line-before */
221
+ }
223
222
  .db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]), .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) {
224
223
  --db-check-element-border-color: var(
225
224
  --db-successful-on-bg-basic-emphasis-70-default
@@ -237,16 +236,16 @@
237
236
  --db-successful-on-bg-inverted-default
238
237
  );
239
238
  }
240
- .db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext,
241
- .db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > .db-infotext, .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext,
242
- .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > .db-infotext {
243
- /* stylelint-disable-next-line at-rule-empty-line-before */
244
- }
245
239
  .db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
246
240
  .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]),
247
241
  .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > .db-infotext[data-semantic=successful]:not([hidden]) {
248
242
  display: flex;
249
243
  }
244
+ .db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext,
245
+ .db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > .db-infotext, .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext,
246
+ .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > .db-infotext {
247
+ /* stylelint-disable-next-line at-rule-empty-line-before */
248
+ }
250
249
  .db-checkbox:has(input[data-custom-validity=valid]):has(.db-infotext[data-semantic=successful]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
251
250
  .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]),
252
251
  .db-checkbox[data-custom-validity=valid]:has(.db-infotext[data-semantic=successful]) > .db-infotext:not([data-semantic]):not([hidden]) {
@@ -321,6 +320,9 @@
321
320
  --db-critical-bg-inverted-contrast-low-pressed
322
321
  );
323
322
  }
323
+ .db-checkbox {
324
+ /* stylelint-disable-next-line at-rule-empty-line-before */
325
+ }
324
326
  .db-checkbox:has(input[data-custom-validity=invalid]), .db-checkbox[data-custom-validity=invalid] {
325
327
  --db-check-element-border-color: var(
326
328
  --db-critical-on-bg-basic-emphasis-70-default
@@ -370,14 +372,14 @@
370
372
  --db-critical-bg-inverted-contrast-low-pressed
371
373
  );
372
374
  }
375
+ .db-checkbox input:not([hidden]) {
376
+ display: flex;
377
+ }
373
378
  .db-checkbox input {
374
379
  border-radius: var(--db-border-radius-2xs);
375
380
  align-items: center;
376
381
  justify-content: center;
377
382
  }
378
- .db-checkbox input:not([hidden]) {
379
- display: flex;
380
- }
381
383
  .db-checkbox input:checked {
382
384
  --db-check-element-border-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
383
385
  --db-icon-color: var(--db-adaptive-on-bg-inverted-default);
@@ -390,12 +392,14 @@
390
392
  --db-adaptive-bg-basic-transparent-full-pressed: var(
391
393
  --db-adaptive-bg-inverted-contrast-max-pressed
392
394
  );
393
- border-width: 0;
394
395
  }
395
396
  .db-checkbox input:checked:not([data-show-icon-leading=false])::before {
396
397
  --db-icon: "check";
397
398
  margin-inline-end: var(--db-icon-margin-end, var(--db-spacing-fixed-xs));
398
399
  }
400
+ .db-checkbox input:checked {
401
+ border-width: 0;
402
+ }
399
403
  .db-checkbox input:indeterminate:not([data-show-icon-leading=false])::before {
400
404
  --db-icon: "minus";
401
405
  margin-inline-end: var(--db-icon-margin-end, var(--db-spacing-fixed-xs));
@@ -563,11 +563,13 @@
563
563
  inline-size: var(--db-sizing-md);
564
564
  block-size: var(--db-sizing-md);
565
565
  font-size: 0 !important;
566
- /* stylelint-disable-next-line at-rule-empty-line-before */
567
566
  }
568
567
  .db-custom-button[data-no-text=true] label::before, .db-custom-button[data-no-text=true] button::before, .db-custom-button[data-no-text=true] a::before {
569
568
  --db-icon-margin-end: 0;
570
569
  }
570
+ .db-custom-button[data-no-text=true] label, .db-custom-button[data-no-text=true] button, .db-custom-button[data-no-text=true] a {
571
+ /* stylelint-disable-next-line at-rule-empty-line-before */
572
+ }
571
573
  .db-custom-button[data-no-text=true] label::before, .db-custom-button[data-no-text=true] button::before, .db-custom-button[data-no-text=true] a::before {
572
574
  margin: auto;
573
575
  }
@@ -655,9 +655,6 @@ dialog[class^=db-]:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dial
655
655
  );
656
656
  --db-form-component-min-inline-size: var(--db-sizing-xl);
657
657
  position: relative;
658
- min-inline-size: var(--db-form-component-min-inline-size, var(--db-sizing-lg));
659
- /* stylelint-disable-next-line block-no-redundant-nested-style-rules */
660
- /* custom elements workaround */
661
658
  }
662
659
  .db-custom-select[data-icon]:not([data-show-icon=false]) {
663
660
  --db-form-component-min-inline-size: var(--db-sizing-2xl);
@@ -671,6 +668,10 @@ dialog[class^=db-]:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dial
671
668
  --db-label-visible-height: 0;
672
669
  --db-label-visible-spacing: 1;
673
670
  }
671
+ .db-custom-select {
672
+ min-inline-size: var(--db-form-component-min-inline-size, var(--db-sizing-lg));
673
+ /* stylelint-disable-next-line block-no-redundant-nested-style-rules */
674
+ }
674
675
  .db-custom-select {
675
676
  --db-form-has-before: 0;
676
677
  position: relative;
@@ -842,14 +843,14 @@ input[type=radio]:checked) summary:is([type=date],
842
843
  color: var(--db-successful-on-bg-basic-emphasis-100-default);
843
844
  caret-color: var(--db-successful-on-bg-basic-emphasis-100-default);
844
845
  }
845
- .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) > db-infotext > .db-infotext,
846
- .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) > .db-infotext {
847
- /* stylelint-disable-next-line at-rule-empty-line-before */
848
- }
849
846
  .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
850
847
  .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) > .db-infotext[data-semantic=successful]:not([hidden]) {
851
848
  display: flex;
852
849
  }
850
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) > db-infotext > .db-infotext,
851
+ .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) > .db-infotext {
852
+ /* stylelint-disable-next-line at-rule-empty-line-before */
853
+ }
853
854
  .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
854
855
  .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid) > .db-infotext:not([data-semantic]):not([hidden]) {
855
856
  display: none;
@@ -863,16 +864,16 @@ input[type=radio]:checked) summary:is([type=date],
863
864
  color: var(--db-successful-on-bg-basic-emphasis-100-default);
864
865
  caret-color: var(--db-successful-on-bg-basic-emphasis-100-default);
865
866
  }
866
- .db-custom-select:has(select[data-custom-validity=valid]) > db-infotext > .db-infotext,
867
- .db-custom-select:has(select[data-custom-validity=valid]) > .db-infotext, .db-custom-select[data-custom-validity=valid] > db-infotext > .db-infotext,
868
- .db-custom-select[data-custom-validity=valid] > .db-infotext {
869
- /* stylelint-disable-next-line at-rule-empty-line-before */
870
- }
871
867
  .db-custom-select:has(select[data-custom-validity=valid]) > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
872
868
  .db-custom-select:has(select[data-custom-validity=valid]) > .db-infotext[data-semantic=successful]:not([hidden]), .db-custom-select[data-custom-validity=valid] > db-infotext > .db-infotext[data-semantic=successful]:not([hidden]),
873
869
  .db-custom-select[data-custom-validity=valid] > .db-infotext[data-semantic=successful]:not([hidden]) {
874
870
  display: flex;
875
871
  }
872
+ .db-custom-select:has(select[data-custom-validity=valid]) > db-infotext > .db-infotext,
873
+ .db-custom-select:has(select[data-custom-validity=valid]) > .db-infotext, .db-custom-select[data-custom-validity=valid] > db-infotext > .db-infotext,
874
+ .db-custom-select[data-custom-validity=valid] > .db-infotext {
875
+ /* stylelint-disable-next-line at-rule-empty-line-before */
876
+ }
876
877
  .db-custom-select:has(select[data-custom-validity=valid]) > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
877
878
  .db-custom-select:has(select[data-custom-validity=valid]) > .db-infotext:not([data-semantic]):not([hidden]), .db-custom-select[data-custom-validity=valid] > db-infotext > .db-infotext:not([data-semantic]):not([hidden]),
878
879
  .db-custom-select[data-custom-validity=valid] > .db-infotext:not([data-semantic]):not([hidden]) {
@@ -1022,6 +1023,9 @@ summary[aria-disabled=true]) {
1022
1023
  .db-custom-select:has(summary span) [id$=-placeholder]:not([hidden]) {
1023
1024
  display: none;
1024
1025
  }
1026
+ .db-custom-select {
1027
+ /* custom elements workaround */
1028
+ }
1025
1029
  .db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost],
1026
1030
  .db-custom-select > .db-button[data-icon=cross][data-variant=ghost] {
1027
1031
  --db-tooltip-parent-position: absolute;
@@ -1067,9 +1071,6 @@ summary[aria-disabled=true]) {
1067
1071
  .db-custom-select[data-selected-type=tag] .db-custom-select-form-field > button {
1068
1072
  align-self: start;
1069
1073
  }
1070
- .db-custom-select > details[open] > summary {
1071
- /* stylelint-disable-next-line media-query-no-invalid */
1072
- }
1073
1074
  .db-custom-select > details[open] > summary[data-force-mobile=true]::before {
1074
1075
  position: fixed;
1075
1076
  z-index: 9998;
@@ -1079,6 +1080,9 @@ summary[aria-disabled=true]) {
1079
1080
  background-color: color(from var(--db-adaptive-on-bg-basic-emphasis-100-default) srgb r g b/var(--db-opacity-lg));
1080
1081
  opacity: var(--db-opacity-lg);
1081
1082
  }
1083
+ .db-custom-select > details[open] > summary {
1084
+ /* stylelint-disable-next-line media-query-no-invalid */
1085
+ }
1082
1086
  @media (max-width: 47.9375em) {
1083
1087
  .db-custom-select > details[open] > summary::before {
1084
1088
  position: fixed;
@@ -192,7 +192,6 @@
192
192
  min-inline-size: var(--db-sizing-xl);
193
193
  max-inline-size: calc(100vw - 2 * var(--db-spacing-fixed-sm));
194
194
  max-block-size: calc(100vh - 2 * var(--db-spacing-fixed-sm));
195
- /* stylelint-disable-next-line media-query-no-invalid */
196
195
  }
197
196
  .db-custom-select-dropdown:not([data-width]), .db-custom-select-dropdown[data-width=fixed] {
198
197
  /* stylelint-disable-next-line db-ux/use-sizing */
@@ -210,6 +209,9 @@
210
209
  block-size: fit-content;
211
210
  margin: auto;
212
211
  }
212
+ .db-custom-select-dropdown {
213
+ /* stylelint-disable-next-line media-query-no-invalid */
214
+ }
213
215
  @media (max-width: 47.9375em) {
214
216
  .db-custom-select-dropdown {
215
217
  position: fixed;
@@ -286,8 +288,6 @@
286
288
  .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button) {
287
289
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
288
290
  position: var(--db-tooltip-parent-position, relative);
289
- /* stylelint-disable-next-line media-query-no-invalid */
290
- /* stylelint-disable-next-line at-rule-empty-line-before */
291
291
  }
292
292
  .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button)[data-emphasis=strong],
293
293
  .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button)[data-emphasis=strong] {
@@ -310,6 +310,10 @@
310
310
  border: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
311
311
  }
312
312
  }
313
+ .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button),
314
+ .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button) {
315
+ /* stylelint-disable-next-line media-query-no-invalid */
316
+ }
313
317
  @media (min-width: 48em) {
314
318
  .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]),
315
319
  .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button):not([data-force-mobile]):not([hidden]),
@@ -317,6 +321,10 @@
317
321
  display: none;
318
322
  }
319
323
  }
324
+ .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button),
325
+ .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button) {
326
+ /* stylelint-disable-next-line at-rule-empty-line-before */
327
+ }
320
328
  .db-custom-select-dropdown > db-infotext > .db-infotext,
321
329
  .db-custom-select-dropdown > .db-infotext {
322
330
  padding: var(--db-spacing-fixed-lg) var(--db-spacing-fixed-md);
@@ -20,21 +20,23 @@
20
20
  /* Variants for adaptive components like input, select, notification, ... */
21
21
  .db-custom-select-form-field:is(summary) {
22
22
  list-style: none;
23
- align-items: center;
24
- justify-content: space-between;
25
- gap: var(--db-spacing-fixed-sm);
26
23
  }
27
24
  .db-custom-select-form-field:is(summary):not([hidden]) {
28
25
  display: flex;
29
26
  }
27
+ .db-custom-select-form-field:is(summary) {
28
+ align-items: center;
29
+ justify-content: space-between;
30
+ gap: var(--db-spacing-fixed-sm);
31
+ }
30
32
  .db-custom-select-form-field:is(summary) span {
31
33
  text-overflow: ellipsis;
32
34
  overflow: hidden;
33
35
  text-wrap: nowrap;
34
36
  }
35
- .db-custom-select-form-field:is(summary) > div {
36
- gap: var(--db-spacing-fixed-sm);
37
- }
38
37
  .db-custom-select-form-field:is(summary) > div:not([hidden]) {
39
38
  display: flex;
40
39
  }
40
+ .db-custom-select-form-field:is(summary) > div {
41
+ gap: var(--db-spacing-fixed-sm);
42
+ }
@@ -23,12 +23,14 @@
23
23
  padding: var(--db-spacing-fixed-sm);
24
24
  overflow-y: auto;
25
25
  overflow-block: auto;
26
- /* (checkbox height + list-item padding) * 6 items + list padding */
27
- max-block-size: calc(5.5 * (var(--db-icon-font-size) - 2 * var(--db-border-width-3xs) + 2 * var(--db-spacing-fixed-sm)) + var(--db-spacing-fixed-sm) * 2);
28
26
  }
29
27
  .db-custom-select-list::-webkit-scrollbar-button:single-button:vertical:decrement {
30
28
  border-start-end-radius: 0;
31
29
  }
30
+ .db-custom-select-list {
31
+ /* (checkbox height + list-item padding) * 6 items + list padding */
32
+ max-block-size: calc(5.5 * (var(--db-icon-font-size) - 2 * var(--db-border-width-3xs) + 2 * var(--db-spacing-fixed-sm)) + var(--db-spacing-fixed-sm) * 2);
33
+ }
32
34
  .db-custom-select-list > ul {
33
35
  all: unset;
34
36
  display: flex;
@@ -62,6 +62,9 @@ db-custom-select-list-item:not(:last-of-type) .db-custom-select-list-item[data-d
62
62
  }
63
63
  }
64
64
 
65
+ .db-custom-select-list-item:not([hidden]) {
66
+ display: flex;
67
+ }
65
68
  .db-custom-select-list-item {
66
69
  block-size: 100%;
67
70
  position: relative;
@@ -70,9 +73,6 @@ db-custom-select-list-item:not(:last-of-type) .db-custom-select-list-item[data-d
70
73
  border-radius: var(--db-border-radius-xs);
71
74
  box-sizing: border-box;
72
75
  }
73
- .db-custom-select-list-item:not([hidden]) {
74
- display: flex;
75
- }
76
76
  .db-custom-select-list-item:has(> label):not(:has(input[type=radio]:checked)) {
77
77
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
78
78
  }
@@ -170,8 +170,6 @@ db-custom-select-list-item:not(:last-of-type) .db-custom-select-list-item[data-d
170
170
  .db-custom-select-list-item > label > input {
171
171
  --db-adaptive-bg-basic-transparent-full-hovered: var(--db-adaptive-bg-basic-transparent-full-default);
172
172
  --db-adaptive-bg-basic-transparent-full-pressed: var(--db-adaptive-bg-basic-transparent-full-default);
173
- /* We set focus on complete list element, we remove it from checkbox with this trick */
174
- /* stylelint-disable-next-line a11y/no-outline-none */
175
173
  }
176
174
  .db-custom-select-list-item > label > input::after {
177
175
  position: absolute;
@@ -182,6 +180,10 @@ db-custom-select-list-item:not(:last-of-type) .db-custom-select-list-item[data-d
182
180
  .db-custom-select-list-item > label > input[type=radio] {
183
181
  all: unset;
184
182
  }
183
+ .db-custom-select-list-item > label > input {
184
+ /* We set focus on complete list element, we remove it from checkbox with this trick */
185
+ /* stylelint-disable-next-line a11y/no-outline-none */
186
+ }
185
187
  .db-custom-select-list-item > label > input:focus-visible {
186
188
  outline: none !important;
187
189
  }
@@ -87,9 +87,6 @@ dialog[class^=db-]:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dial
87
87
  border-end-start-radius: var(--db-border-radius-sm);
88
88
  }
89
89
 
90
- .db-drawer .db-drawer-container {
91
- /* stylelint-disable-next-line block-no-redundant-nested-style-rules */
92
- }
93
90
  .db-drawer [data-spacing=small].db-drawer-container {
94
91
  /* stylelint-disable-next-line block-no-redundant-nested-style-rules */
95
92
  }
@@ -107,6 +104,9 @@ dialog[class^=db-]:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dial
107
104
  overflow-y: auto;
108
105
  overflow-block: auto;
109
106
  }
107
+ .db-drawer .db-drawer-container {
108
+ /* stylelint-disable-next-line block-no-redundant-nested-style-rules */
109
+ }
110
110
  .db-drawer .db-drawer-container {
111
111
  padding-block: var(--db-spacing-fixed-sm);
112
112
  }