@db-ux/core-components 4.13.1-angular-signal-forms13-577b861 → 4.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/components/accordion/accordion.css +33 -6
  3. package/build/components/accordion/accordion.scss +25 -0
  4. package/build/components/accordion-item/accordion-item.css +9 -14
  5. package/build/components/accordion-item/accordion-item.scss +5 -3
  6. package/build/components/badge/badge.css +1 -1
  7. package/build/components/badge/badge.scss +1 -1
  8. package/build/components/button/button.css +0 -8
  9. package/build/components/button/button.scss +0 -11
  10. package/build/components/checkbox/checkbox.css +6 -11
  11. package/build/components/custom-button/custom-button.css +15 -20
  12. package/build/components/custom-button/custom-button.scss +1 -1
  13. package/build/components/custom-select/custom-select.css +17 -16
  14. package/build/components/custom-select/custom-select.scss +1 -1
  15. package/build/components/custom-select-dropdown/custom-select-dropdown.css +39 -26
  16. package/build/components/custom-select-form-field/custom-select-form-field.css +6 -11
  17. package/build/components/custom-select-list/custom-select-list.css +6 -11
  18. package/build/components/custom-select-list-item/custom-select-list-item.css +24 -19
  19. package/build/components/divider/divider.css +18 -8
  20. package/build/components/drawer/drawer.css +9 -4
  21. package/build/components/header/header.css +33 -15
  22. package/build/components/input/input.css +6 -11
  23. package/build/components/link/link.css +8 -1
  24. package/build/components/navigation/navigation.css +6 -11
  25. package/build/components/navigation-item/navigation-item.css +15 -11
  26. package/build/components/notification/notification.css +8 -1
  27. package/build/components/radio/radio.css +6 -11
  28. package/build/components/select/select.css +6 -11
  29. package/build/components/switch/switch.css +6 -11
  30. package/build/components/tab-item/tab-item.css +6 -11
  31. package/build/components/tab-list/tab-list.css +6 -11
  32. package/build/components/table/table.css +6 -11
  33. package/build/components/tabs/tabs.css +50 -33
  34. package/build/components/tabs/tabs.scss +10 -55
  35. package/build/components/tag/tag.css +7 -10
  36. package/build/components/tag/tag.scss +1 -5
  37. package/build/components/textarea/textarea.css +6 -11
  38. package/build/styles/absolute.css +7 -7
  39. package/build/styles/bundle.css +7 -7
  40. package/build/styles/index.css +6 -6
  41. package/build/styles/internal/_icon-passing.scss +20 -10
  42. package/build/styles/internal/_link-components.scss +8 -1
  43. package/build/styles/internal/_scrollbar.scss +71 -0
  44. package/build/styles/relative.css +7 -7
  45. package/build/styles/rollup.css +7 -7
  46. package/build/styles/visually-hidden.css +1 -1
  47. package/build/styles/webpack.css +7 -7
  48. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @db-ux/core-components
2
2
 
3
+ ## 4.14.0
4
+
5
+ ### Minor Changes
6
+
7
+ - refactor: consolidate floating component listeners into shared abstractions - [see commit de676fe](https://github.com/db-ux-design-system/core-web/commit/de676fe17e8a8157acd2e574fcea28ab6022389c)
8
+
9
+ ### Patch Changes
10
+
11
+ - fix: correct accordion variant backgrounds to match design (divider is transparent, card is level-1 including the open content area) - [see commit b611b84](https://github.com/db-ux-design-system/core-web/commit/b611b845e6aded8f50dd07f3727ebf5fdf902b69)
12
+
13
+ - fix: use inline-flex with align-items center for link components to vertically center text with fixed height across densities - [see commit 5ebdef8](https://github.com/db-ux-design-system/core-web/commit/5ebdef89b14d56d901630aa61e098213704ba603)
14
+
3
15
  ## 4.13.0
4
16
 
5
17
  _version bump_
@@ -32,21 +32,28 @@ The spacings are not part of the styling of the accordion items themselves.
32
32
  content: "";
33
33
  background-color: var(--db-divider-bg-color);
34
34
  position: absolute;
35
+ /* jscpd:ignore-start */
35
36
  block-size: var(--db-border-width-3xs);
36
37
  inset-block-start: 0;
37
38
  inset-inline: 0;
38
- /* stylelint-disable-next-line at-rule-empty-line-before */
39
+ /* stylelint-disable-next-line db-ux/use-border-color */
39
40
  }
40
41
  @media (forced-colors: active) {
41
- .db-accordion[data-variant=divider] db-accordion-item + db-accordion-item .db-accordion-item,
42
- .db-accordion[data-variant=divider] .db-accordion-item + .db-accordion-item, .db-accordion:not([data-variant]) db-accordion-item + db-accordion-item .db-accordion-item,
43
- .db-accordion:not([data-variant]) .db-accordion-item + .db-accordion-item {
44
- /* stylelint-disable-next-line no-invalid-position-declaration, db-ux/use-border-color */
45
- border: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
42
+ .db-accordion[data-variant=divider] db-accordion-item + db-accordion-item .db-accordion-item::before,
43
+ .db-accordion[data-variant=divider] .db-accordion-item + .db-accordion-item::before, .db-accordion:not([data-variant]) db-accordion-item + db-accordion-item .db-accordion-item::before,
44
+ .db-accordion:not([data-variant]) .db-accordion-item + .db-accordion-item::before {
45
+ /* stylelint-disable-next-line db-ux/use-border-color */
46
+ border-block-start: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
46
47
  }
47
48
  }
48
49
  .db-accordion[data-variant=divider] db-accordion-item + db-accordion-item .db-accordion-item::before,
49
50
  .db-accordion[data-variant=divider] .db-accordion-item + .db-accordion-item::before, .db-accordion:not([data-variant]) db-accordion-item + db-accordion-item .db-accordion-item::before,
51
+ .db-accordion:not([data-variant]) .db-accordion-item + .db-accordion-item::before {
52
+ /* stylelint-disable-next-line at-rule-empty-line-before */
53
+ /* jscpd:ignore-end */
54
+ }
55
+ .db-accordion[data-variant=divider] db-accordion-item + db-accordion-item .db-accordion-item::before,
56
+ .db-accordion[data-variant=divider] .db-accordion-item + .db-accordion-item::before, .db-accordion:not([data-variant]) db-accordion-item + db-accordion-item .db-accordion-item::before,
50
57
  .db-accordion:not([data-variant]) .db-accordion-item + .db-accordion-item::before {
51
58
  inset-block-start: calc(-1 * var(--db-spacing-fixed-sm));
52
59
  }
@@ -54,6 +61,26 @@ The spacings are not part of the styling of the accordion items themselves.
54
61
  .db-accordion[data-variant=card] .db-accordion-item + .db-accordion-item {
55
62
  margin-block-start: var(--db-spacing-fixed-sm);
56
63
  }
64
+ .db-accordion[data-variant=card] .db-accordion-item {
65
+ background-color: var(--db-adaptive-bg-basic-level-1-default);
66
+ }
67
+ .db-accordion[data-variant=card] .db-accordion-item > details > summary:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)) {
68
+ /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
69
+ }
70
+ .db-accordion[data-variant=card] .db-accordion-item > details > summary:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):hover {
71
+ cursor: var(--db-overwrite-cursor, pointer);
72
+ background-color: var(--db-adaptive-bg-basic-level-1-hovered);
73
+ }
74
+ .db-accordion[data-variant=card] .db-accordion-item > details > summary:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):active {
75
+ cursor: var(--db-overwrite-cursor, pointer);
76
+ background-color: var(--db-adaptive-bg-basic-level-1-pressed);
77
+ }
78
+ .db-accordion[data-variant=card] .db-accordion-item:has(> details[aria-disabled=true]) {
79
+ opacity: var(--db-opacity-md);
80
+ }
81
+ .db-accordion[data-variant=card] .db-accordion-item:has(> details[aria-disabled=true]) > details[aria-disabled=true] {
82
+ opacity: 1;
83
+ }
57
84
  .db-accordion[data-variant=card] .db-accordion-item {
58
85
  /*
59
86
  Adding the component-border to the item itself leads to a render error (tested in Chrome and Safari):
@@ -1,5 +1,6 @@
1
1
  @use "@db-ux/core-foundations/build/styles/helpers";
2
2
  @use "@db-ux/core-foundations/build/styles/variables";
3
+ @use "@db-ux/core-foundations/build/styles/colors";
3
4
  @use "../../styles/internal/component";
4
5
 
5
6
  @mixin accordion-subsequent-item-selector() {
@@ -40,6 +41,30 @@ The spacings are not part of the styling of the accordion items themselves.
40
41
  }
41
42
 
42
43
  .db-accordion-item {
44
+ // The whole card (summary + expanded content) is filled with a
45
+ // level-1 background, so an open item stays level-1 throughout.
46
+ background-color: colors.$db-adaptive-bg-basic-level-1-default;
47
+
48
+ > details > summary {
49
+ @include helpers.interactive-bg(
50
+ colors.$db-adaptive-bg-basic-level-1-hovered,
51
+ colors.$db-adaptive-bg-basic-level-1-pressed
52
+ );
53
+ }
54
+
55
+ // A disabled card must dim as a whole. The base disabled opacity
56
+ // sits on the inner `<details>` (see accordion-item.scss), which
57
+ // would leave the level-1 fill and border on the item fully
58
+ // opaque. Mirror the disabled state on the item and reset the
59
+ // inner one so the opacity does not stack.
60
+ &:has(> details[aria-disabled="true"]) {
61
+ opacity: variables.$db-opacity-md;
62
+
63
+ > details[aria-disabled="true"] {
64
+ opacity: 1;
65
+ }
66
+ }
67
+
43
68
  /*
44
69
  Adding the component-border to the item itself leads to a render error (tested in Chrome and Safari):
45
70
  On mouseover, a small white gap appears between the rounded border and the rounded gray area.
@@ -1,18 +1,13 @@
1
1
  .db-visually-hidden,
2
2
  [data-visually-hidden=true] {
3
- clip: rect(0, 0, 0, 0) !important;
4
- overflow: hidden !important;
5
- white-space: nowrap !important;
6
- font-size: 0 !important;
7
- all: initial;
8
- inset-block-start: 0 !important;
9
- block-size: 1px !important;
10
3
  position: absolute !important;
4
+ inset-block-start: 0 !important;
11
5
  inline-size: 1px !important;
12
- border-width: 0 !important;
13
- border-style: initial !important;
14
- border-color: initial !important;
15
- border-image: initial !important;
6
+ block-size: 1px !important;
7
+ overflow: hidden !important;
8
+ clip: rect(0, 0, 0, 0) !important;
9
+ white-space: nowrap !important;
10
+ border: 0 !important;
16
11
  padding: 0 !important;
17
12
  pointer-events: none !important;
18
13
  }
@@ -136,7 +131,7 @@
136
131
  padding-block-end: var(--db-spacing-fixed-lg);
137
132
  }
138
133
  .db-accordion-item > details > summary {
139
- background-color: var(--db-adaptive-bg-basic-level-1-default);
134
+ background-color: var(--db-adaptive-bg-basic-transparent-full-default);
140
135
  list-style: none;
141
136
  }
142
137
  .db-accordion-item > details > summary:not([hidden]) {
@@ -153,11 +148,11 @@
153
148
  }
154
149
  .db-accordion-item > details > summary:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):hover {
155
150
  cursor: var(--db-overwrite-cursor, pointer);
156
- background-color: var(--db-adaptive-bg-basic-level-1-hovered);
151
+ background-color: var(--db-adaptive-bg-basic-transparent-full-hovered);
157
152
  }
158
153
  .db-accordion-item > details > summary:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):active {
159
154
  cursor: var(--db-overwrite-cursor, pointer);
160
- background-color: var(--db-adaptive-bg-basic-level-1-pressed);
155
+ background-color: var(--db-adaptive-bg-basic-transparent-full-pressed);
161
156
  }
162
157
  .db-accordion-item > details > summary::-webkit-details-marker {
163
158
  display: none;
@@ -47,7 +47,9 @@
47
47
  @extend %dropdown-icon;
48
48
  @extend %db-overwrite-font-size-md;
49
49
 
50
- background-color: colors.$db-adaptive-bg-basic-level-1-default;
50
+ // Default (divider) variant: the summary blends into the page.
51
+ // The "card" variant overrides this with a level-1 fill in accordion.scss.
52
+ background-color: colors.$db-adaptive-bg-basic-transparent-full-default;
51
53
  list-style: none;
52
54
 
53
55
  @include helpers.display(flex);
@@ -58,8 +60,8 @@
58
60
  border-radius: variables.$db-border-radius-sm;
59
61
 
60
62
  @include helpers.interactive-bg(
61
- colors.$db-adaptive-bg-basic-level-1-hovered,
62
- colors.$db-adaptive-bg-basic-level-1-pressed
63
+ colors.$db-adaptive-bg-basic-transparent-full-hovered,
64
+ colors.$db-adaptive-bg-basic-transparent-full-pressed
63
65
  );
64
66
 
65
67
  &::-webkit-details-marker {
@@ -245,5 +245,5 @@
245
245
  }
246
246
 
247
247
  [data-has-badge=true] {
248
- position: relative;
248
+ position: var(--db-has-badge-position, relative);
249
249
  }
@@ -116,5 +116,5 @@
116
116
  // Global styles
117
117
 
118
118
  [data-has-badge="true"] {
119
- position: relative;
119
+ position: var(--db-has-badge-position, relative);
120
120
  }
@@ -135,11 +135,3 @@
135
135
  .db-button:is(:disabled, [aria-disabled=true]) {
136
136
  opacity: var(--db-opacity-md);
137
137
  }
138
- .db-button:has(> .db-button) {
139
- margin: 0;
140
- padding: 0;
141
- block-size: var(--db-sizing-md);
142
- }
143
- .db-button:has(> .db-button)::before {
144
- content: none;
145
- }
@@ -8,15 +8,4 @@
8
8
  &:is(:disabled, [aria-disabled="true"]) {
9
9
  opacity: variables.$db-opacity-md;
10
10
  }
11
-
12
- // Workaround for current stencil implementation for header
13
- &:has(> .db-button) {
14
- margin: 0;
15
- padding: 0;
16
- block-size: variables.$db-sizing-md;
17
-
18
- &::before {
19
- content: none;
20
- }
21
- }
22
11
  }
@@ -1,18 +1,13 @@
1
1
  .db-visually-hidden,
2
2
  [data-visually-hidden=true] {
3
- clip: rect(0, 0, 0, 0) !important;
4
- overflow: hidden !important;
5
- white-space: nowrap !important;
6
- font-size: 0 !important;
7
- all: initial;
8
- inset-block-start: 0 !important;
9
- block-size: 1px !important;
10
3
  position: absolute !important;
4
+ inset-block-start: 0 !important;
11
5
  inline-size: 1px !important;
12
- border-width: 0 !important;
13
- border-style: initial !important;
14
- border-color: initial !important;
15
- border-image: initial !important;
6
+ block-size: 1px !important;
7
+ overflow: hidden !important;
8
+ clip: rect(0, 0, 0, 0) !important;
9
+ white-space: nowrap !important;
10
+ border: 0 !important;
16
11
  padding: 0 !important;
17
12
  pointer-events: none !important;
18
13
  }
@@ -2,19 +2,14 @@
2
2
  /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
3
3
  /* Variants for adaptive components like input, select, notification, ... */
4
4
  .db-custom-button input {
5
- clip: rect(0, 0, 0, 0) !important;
6
- overflow: hidden !important;
7
- white-space: nowrap !important;
8
- font-size: 0 !important;
9
- all: initial;
10
- inset-block-start: 0 !important;
11
- block-size: 1px !important;
12
5
  position: absolute !important;
6
+ inset-block-start: 0 !important;
13
7
  inline-size: 1px !important;
14
- border-width: 0 !important;
15
- border-style: initial !important;
16
- border-color: initial !important;
17
- border-image: initial !important;
8
+ block-size: 1px !important;
9
+ overflow: hidden !important;
10
+ clip: rect(0, 0, 0, 0) !important;
11
+ white-space: nowrap !important;
12
+ border: 0 !important;
18
13
  padding: 0 !important;
19
14
  pointer-events: none !important;
20
15
  }
@@ -166,17 +161,16 @@
166
161
  }
167
162
  .db-custom-button[data-icon-leading]:not([data-show-icon-leading=false])::before, .db-custom-button[data-icon]:not([data-show-icon=false])::before {
168
163
  position: absolute;
169
- inset-block-start: calc(50% - 0.5em);
170
- inset-inline-start: var(--db-icon-passing-inline-start, var(--db-spacing-fixed-sm));
164
+ inset-block-start: var(--db-icon-passing-inset-block-start, calc(50% - 0.5em));
165
+ inset-inline-start: var(--db-icon-passing-inset-inline-start, var(--db-spacing-fixed-sm));
171
166
  pointer-events: none;
172
167
  z-index: 1;
173
168
  }
174
- .db-custom-button[data-icon-leading]:not([data-show-icon-leading=false]) label, .db-custom-button[data-icon-leading]:not([data-show-icon-leading=false]) button, .db-custom-button[data-icon-leading]:not([data-show-icon-leading=false]) a, .db-custom-button[data-icon]:not([data-show-icon=false]) label, .db-custom-button[data-icon]:not([data-show-icon=false]) button, .db-custom-button[data-icon]:not([data-show-icon=false]) a {
175
- --db-padding-inline-start: calc(
176
- var(--db-spacing-fixed-sm) + var(--db-icon-margin-end, var(--db-spacing-fixed-xs)) + 1lh
177
- );
169
+ .db-custom-button[data-icon-leading]:not([data-show-icon-leading=false]) > :is(label, button, a),
170
+ .db-custom-button[data-icon-leading]:not([data-show-icon-leading=false]) > * > :is(label, button, a), .db-custom-button[data-icon]:not([data-show-icon=false]) > :is(label, button, a),
171
+ .db-custom-button[data-icon]:not([data-show-icon=false]) > * > :is(label, button, a) {
178
172
  /* stylelint-disable-next-line db-ux/use-spacings */
179
- padding-inline-start: var(--db-padding-inline-start);
173
+ padding-inline-start: var(--db-icon-passing-padding-inline-start, calc(var(--db-spacing-fixed-sm) + var(--db-icon-margin-end, var(--db-spacing-fixed-xs)) + var(--db-icon-font-size)));
180
174
  }
181
175
  .db-custom-button[data-icon-trailing]:not([data-show-icon-trailing=false])::after {
182
176
  position: absolute;
@@ -185,7 +179,8 @@
185
179
  pointer-events: none;
186
180
  z-index: 1;
187
181
  }
188
- .db-custom-button[data-icon-trailing]:not([data-show-icon-trailing=false]) label, .db-custom-button[data-icon-trailing]:not([data-show-icon-trailing=false]) button, .db-custom-button[data-icon-trailing]:not([data-show-icon-trailing=false]) a {
182
+ .db-custom-button[data-icon-trailing]:not([data-show-icon-trailing=false]) > :is(label, button, a),
183
+ .db-custom-button[data-icon-trailing]:not([data-show-icon-trailing=false]) > * > :is(label, button, a) {
189
184
  padding-inline-end: calc(var(--db-spacing-fixed-sm) + var(--db-icon-margin-end, var(--db-spacing-fixed-xs)) + var(--db-icon-font-size));
190
185
  }
191
186
  .db-custom-button:has(:is(input, button):disabled,
@@ -194,7 +189,7 @@
194
189
  }
195
190
  .db-custom-button[data-no-text=true] {
196
191
  --db-icon-margin-end: 0;
197
- --db-icon-passing-inline-start: calc(50% - 0.5em);
192
+ --db-icon-passing-inset-inline-start: calc(50% - 0.5em);
198
193
  }
199
194
  .db-custom-button label:has(input:checked) {
200
195
  color: var(--db-adaptive-on-bg-inverted-default);
@@ -49,7 +49,7 @@ $icon-padding-custom-button: calc(
49
49
 
50
50
  &[data-no-text="true"] {
51
51
  --db-icon-margin-end: 0;
52
- --db-icon-passing-inline-start: calc(50% - 0.5em);
52
+ --db-icon-passing-inset-inline-start: calc(50% - 0.5em);
53
53
  }
54
54
 
55
55
  label:has(input:checked) {
@@ -3,19 +3,14 @@
3
3
  /* Variants for adaptive components like input, select, notification, ... */
4
4
  .db-custom-select[data-hide-label=true] > label, .db-visually-hidden,
5
5
  [data-visually-hidden=true] {
6
- clip: rect(0, 0, 0, 0) !important;
7
- overflow: hidden !important;
8
- white-space: nowrap !important;
9
- font-size: 0 !important;
10
- all: initial;
11
- inset-block-start: 0 !important;
12
- block-size: 1px !important;
13
6
  position: absolute !important;
7
+ inset-block-start: 0 !important;
14
8
  inline-size: 1px !important;
15
- border-width: 0 !important;
16
- border-style: initial !important;
17
- border-color: initial !important;
18
- border-image: initial !important;
9
+ block-size: 1px !important;
10
+ overflow: hidden !important;
11
+ clip: rect(0, 0, 0, 0) !important;
12
+ white-space: nowrap !important;
13
+ border: 0 !important;
19
14
  padding: 0 !important;
20
15
  pointer-events: none !important;
21
16
  }
@@ -1030,18 +1025,24 @@ summary[aria-disabled=true]) {
1030
1025
  content: "";
1031
1026
  background-color: var(--db-divider-bg-color);
1032
1027
  position: absolute;
1028
+ /* jscpd:ignore-start */
1033
1029
  inline-size: var(--db-border-width-3xs);
1034
1030
  inset-inline-end: 0;
1035
1031
  inset-block: 0;
1032
+ /* stylelint-disable-next-line db-ux/use-border-color */
1036
1033
  }
1037
1034
  @media (forced-colors: active) {
1038
- .db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost],
1039
- .db-custom-select > .db-button[data-icon=cross][data-variant=ghost] {
1040
- /* stylelint-disable-next-line no-invalid-position-declaration, db-ux/use-border-color */
1041
- border: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
1035
+ .db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost]::after,
1036
+ .db-custom-select > .db-button[data-icon=cross][data-variant=ghost]::after {
1037
+ /* stylelint-disable-next-line db-ux/use-border-color */
1038
+ border-inline-end: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
1042
1039
  }
1043
1040
  }
1044
1041
  .db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost]::after,
1042
+ .db-custom-select > .db-button[data-icon=cross][data-variant=ghost]::after {
1043
+ /* jscpd:ignore-end */
1044
+ }
1045
+ .db-custom-select > db-button > .db-button[data-icon=cross][data-variant=ghost]::after,
1045
1046
  .db-custom-select > .db-button[data-icon=cross][data-variant=ghost]::after {
1046
1047
  position: absolute;
1047
1048
  inset-inline-end: calc(-1 * var(--db-spacing-fixed-xs) - var(--db-border-width-3xs));
@@ -1054,7 +1055,7 @@ summary[aria-disabled=true]) {
1054
1055
  flex-wrap: wrap;
1055
1056
  }
1056
1057
  .db-custom-select[data-selected-type=tag] .db-custom-select-form-field > button {
1057
- align-self: start;
1058
+ align-self: flex-start;
1058
1059
  }
1059
1060
  .db-custom-select > details[open] > summary[data-force-mobile=true]::before {
1060
1061
  position: fixed;
@@ -102,7 +102,7 @@
102
102
  }
103
103
 
104
104
  > button {
105
- align-self: start;
105
+ align-self: flex-start;
106
106
  }
107
107
  }
108
108
  }
@@ -3,19 +3,14 @@
3
3
  /* Variants for adaptive components like input, select, notification, ... */
4
4
  .db-visually-hidden,
5
5
  [data-visually-hidden=true] {
6
- clip: rect(0, 0, 0, 0) !important;
7
- overflow: hidden !important;
8
- white-space: nowrap !important;
9
- font-size: 0 !important;
10
- all: initial;
11
- inset-block-start: 0 !important;
12
- block-size: 1px !important;
13
6
  position: absolute !important;
7
+ inset-block-start: 0 !important;
14
8
  inline-size: 1px !important;
15
- border-width: 0 !important;
16
- border-style: initial !important;
17
- border-color: initial !important;
18
- border-image: initial !important;
9
+ block-size: 1px !important;
10
+ overflow: hidden !important;
11
+ clip: rect(0, 0, 0, 0) !important;
12
+ white-space: nowrap !important;
13
+ border: 0 !important;
19
14
  padding: 0 !important;
20
15
  pointer-events: none !important;
21
16
  }
@@ -249,18 +244,24 @@
249
244
  content: "";
250
245
  background-color: var(--db-divider-bg-color);
251
246
  position: absolute;
247
+ /* jscpd:ignore-start */
252
248
  block-size: var(--db-border-width-3xs);
253
249
  inset-block-end: 0;
254
250
  inset-inline: 0;
255
- /* stylelint-disable-next-line at-rule-empty-line-before */
251
+ /* stylelint-disable-next-line db-ux/use-border-color */
256
252
  }
257
253
  @media (forced-colors: active) {
258
- .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-checkbox),
259
- .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-checkbox) {
260
- /* stylelint-disable-next-line no-invalid-position-declaration, db-ux/use-border-color */
261
- border: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
254
+ .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-checkbox)::after,
255
+ .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-checkbox)::after {
256
+ /* stylelint-disable-next-line db-ux/use-border-color */
257
+ border-block-end: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
262
258
  }
263
259
  }
260
+ .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-checkbox)::after,
261
+ .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-checkbox)::after {
262
+ /* stylelint-disable-next-line at-rule-empty-line-before */
263
+ /* jscpd:ignore-end */
264
+ }
264
265
  .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button), .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-input),
265
266
  .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button),
266
267
  .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-input) {
@@ -280,18 +281,24 @@
280
281
  content: "";
281
282
  background-color: var(--db-divider-bg-color);
282
283
  position: absolute;
284
+ /* jscpd:ignore-start */
283
285
  block-size: var(--db-border-width-3xs);
284
286
  inset-block-end: 0;
285
287
  inset-inline: 0;
286
- /* stylelint-disable-next-line at-rule-empty-line-before */
288
+ /* stylelint-disable-next-line db-ux/use-border-color */
287
289
  }
288
290
  @media (forced-colors: active) {
289
- .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-input),
290
- .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-input) {
291
- /* stylelint-disable-next-line no-invalid-position-declaration, db-ux/use-border-color */
292
- border: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
291
+ .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-input)::after,
292
+ .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-input)::after {
293
+ /* stylelint-disable-next-line db-ux/use-border-color */
294
+ border-block-end: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
293
295
  }
294
296
  }
297
+ .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-input)::after,
298
+ .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-input)::after {
299
+ /* stylelint-disable-next-line at-rule-empty-line-before */
300
+ /* jscpd:ignore-end */
301
+ }
295
302
  .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button),
296
303
  .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button) {
297
304
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
@@ -306,18 +313,24 @@
306
313
  content: "";
307
314
  background-color: var(--db-divider-bg-color);
308
315
  position: absolute;
316
+ /* jscpd:ignore-start */
309
317
  block-size: var(--db-border-width-3xs);
310
318
  inset-block-start: 0;
311
319
  inset-inline: 0;
312
- /* stylelint-disable-next-line at-rule-empty-line-before */
320
+ /* stylelint-disable-next-line db-ux/use-border-color */
313
321
  }
314
322
  @media (forced-colors: active) {
315
- .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button),
316
- .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button) {
317
- /* stylelint-disable-next-line no-invalid-position-declaration, db-ux/use-border-color */
318
- border: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
323
+ .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button)::after,
324
+ .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button)::after {
325
+ /* stylelint-disable-next-line db-ux/use-border-color */
326
+ border-block-start: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
319
327
  }
320
328
  }
329
+ .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button)::after,
330
+ .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button)::after {
331
+ /* stylelint-disable-next-line at-rule-empty-line-before */
332
+ /* jscpd:ignore-end */
333
+ }
321
334
  .db-custom-select-dropdown > db-custom-select-list > div:not([class~=db-custom-select-list]):has(.db-button),
322
335
  .db-custom-select-dropdown > div:not([class~=db-custom-select-list]):has(.db-button) {
323
336
  /* stylelint-disable-next-line media-query-no-invalid */
@@ -1,18 +1,13 @@
1
1
  .db-visually-hidden,
2
2
  [data-visually-hidden=true] {
3
- clip: rect(0, 0, 0, 0) !important;
4
- overflow: hidden !important;
5
- white-space: nowrap !important;
6
- font-size: 0 !important;
7
- all: initial;
8
- inset-block-start: 0 !important;
9
- block-size: 1px !important;
10
3
  position: absolute !important;
4
+ inset-block-start: 0 !important;
11
5
  inline-size: 1px !important;
12
- border-width: 0 !important;
13
- border-style: initial !important;
14
- border-color: initial !important;
15
- border-image: initial !important;
6
+ block-size: 1px !important;
7
+ overflow: hidden !important;
8
+ clip: rect(0, 0, 0, 0) !important;
9
+ white-space: nowrap !important;
10
+ border: 0 !important;
16
11
  padding: 0 !important;
17
12
  pointer-events: none !important;
18
13
  }
@@ -1,18 +1,13 @@
1
1
  .db-custom-select-list > legend, .db-visually-hidden,
2
2
  [data-visually-hidden=true] {
3
- clip: rect(0, 0, 0, 0) !important;
4
- overflow: hidden !important;
5
- white-space: nowrap !important;
6
- font-size: 0 !important;
7
- all: initial;
8
- inset-block-start: 0 !important;
9
- block-size: 1px !important;
10
3
  position: absolute !important;
4
+ inset-block-start: 0 !important;
11
5
  inline-size: 1px !important;
12
- border-width: 0 !important;
13
- border-style: initial !important;
14
- border-color: initial !important;
15
- border-image: initial !important;
6
+ block-size: 1px !important;
7
+ overflow: hidden !important;
8
+ clip: rect(0, 0, 0, 0) !important;
9
+ white-space: nowrap !important;
10
+ border: 0 !important;
16
11
  padding: 0 !important;
17
12
  pointer-events: none !important;
18
13
  }