@db-ux/core-components 2.4.4 → 3.0.1

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 (65) hide show
  1. package/README.md +1 -1
  2. package/build/components/accordion/accordion.css +2 -0
  3. package/build/components/accordion-item/accordion-item.css +12 -10
  4. package/build/components/badge/badge.css +2 -0
  5. package/build/components/brand/brand.css +2 -0
  6. package/build/components/button/button.css +43 -31
  7. package/build/components/button/button.scss +16 -19
  8. package/build/components/card/card.css +54 -60
  9. package/build/components/card/card.scss +37 -33
  10. package/build/components/checkbox/checkbox.css +46 -44
  11. package/build/components/checkbox/checkbox.scss +11 -11
  12. package/build/components/custom-select/custom-select.css +49 -32
  13. package/build/components/custom-select/custom-select.scss +5 -7
  14. package/build/components/custom-select-dropdown/custom-select-dropdown.css +14 -6
  15. package/build/components/custom-select-form-field/custom-select-form-field.css +2 -0
  16. package/build/components/custom-select-list/custom-select-list.css +2 -0
  17. package/build/components/custom-select-list-item/custom-select-list-item.css +8 -6
  18. package/build/components/custom-select-list-item/custom-select-list-item.scss +6 -6
  19. package/build/components/divider/divider.css +2 -0
  20. package/build/components/drawer/drawer.css +2 -0
  21. package/build/components/header/header.css +10 -8
  22. package/build/components/icon/icon.css +2 -0
  23. package/build/components/infotext/infotext.css +8 -6
  24. package/build/components/input/input.css +55 -41
  25. package/build/components/input/input.scss +6 -6
  26. package/build/components/link/link.css +24 -26
  27. package/build/components/link/link.scss +7 -14
  28. package/build/components/navigation/navigation.css +4 -2
  29. package/build/components/navigation/navigation.scss +2 -2
  30. package/build/components/navigation-item/navigation-item.css +25 -23
  31. package/build/components/navigation-item/navigation-item.scss +3 -3
  32. package/build/components/notification/notification.css +56 -22
  33. package/build/components/page/page.css +2 -0
  34. package/build/components/popover/popover.css +3 -2
  35. package/build/components/radio/radio.css +28 -26
  36. package/build/components/radio/radio.scss +6 -6
  37. package/build/components/section/section.css +3 -1
  38. package/build/components/select/select.css +35 -21
  39. package/build/components/select/select.scss +1 -1
  40. package/build/components/stack/stack-web-component.css +2 -0
  41. package/build/components/stack/stack.css +2 -0
  42. package/build/components/switch/switch.css +42 -28
  43. package/build/components/switch/switch.scss +3 -3
  44. package/build/components/tab-item/tab-item.css +6 -4
  45. package/build/components/tab-item/tab-item.scss +3 -3
  46. package/build/components/tab-list/tab-list.css +6 -4
  47. package/build/components/tab-panel/tab-panel.css +2 -0
  48. package/build/components/tabs/tabs.css +2 -0
  49. package/build/components/tag/tag.css +72 -40
  50. package/build/components/tag/tag.scss +1 -1
  51. package/build/components/textarea/textarea.css +48 -22
  52. package/build/components/textarea/textarea.scss +1 -1
  53. package/build/components/tooltip/tooltip.css +3 -2
  54. package/build/styles/absolute.css +238 -154
  55. package/build/styles/index.css +141 -105
  56. package/build/styles/internal/_form-components.scss +12 -6
  57. package/build/styles/internal/_icon-passing.scss +1 -1
  58. package/build/styles/internal/_link-components.scss +5 -2
  59. package/build/styles/internal/_popover-component.scss +1 -4
  60. package/build/styles/internal/_scrollbar.scss +4 -4
  61. package/build/styles/internal/_select-components.scss +1 -1
  62. package/build/styles/relative.css +238 -154
  63. package/build/styles/rollup.css +238 -154
  64. package/build/styles/webpack.css +238 -154
  65. package/package.json +24 -24
@@ -6,6 +6,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
6
6
  /* Border */
7
7
  /* Opacity */
8
8
  /* Transitions */
9
+ /* Screen sizes */
10
+ /* Container sizes */
9
11
  /* Variants for adaptive components like input, select, notification, ... */
10
12
  @layer variables {}
11
13
 
@@ -6,6 +6,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
6
6
  /* Border */
7
7
  /* Opacity */
8
8
  /* Transitions */
9
+ /* Screen sizes */
10
+ /* Container sizes */
9
11
  /* Variants for adaptive components like input, select, notification, ... */
10
12
  @layer variables {}
11
13
 
@@ -6,6 +6,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
6
6
  /* Border */
7
7
  /* Opacity */
8
8
  /* Transitions */
9
+ /* Screen sizes */
10
+ /* Container sizes */
9
11
  /* Variants for adaptive components like input, select, notification, ... */
10
12
  @layer variables {}
11
13
 
@@ -149,7 +151,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
149
151
  /* stylelint-disable-next-line media-query-no-invalid */
150
152
  /* stylelint-disable-next-line at-rule-empty-line-before */
151
153
  }
152
- @media screen and (width <= 45em) {
154
+ @media screen and (width <= 48em) {
153
155
  .db-header-meta-navigation {
154
156
  --db-spacing-responsive-3xs: var(--db-spacing-responsive-functional-mobile-3xs);
155
157
  --db-spacing-responsive-2xs: var(--db-spacing-responsive-functional-mobile-2xs);
@@ -162,7 +164,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
162
164
  --db-spacing-responsive-3xl: var(--db-spacing-responsive-functional-mobile-3xl);
163
165
  }
164
166
  }
165
- @media screen and (45em < width <= 64em) {
167
+ @media screen and (48em < width <= 64em) {
166
168
  .db-header-meta-navigation {
167
169
  --db-spacing-responsive-3xs: var(--db-spacing-responsive-functional-tablet-3xs);
168
170
  --db-spacing-responsive-2xs: var(--db-spacing-responsive-functional-tablet-2xs);
@@ -210,7 +212,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
210
212
  /* stylelint-disable-next-line media-query-no-invalid */
211
213
  /* stylelint-disable-next-line at-rule-empty-line-before */
212
214
  }
213
- @media screen and (width <= 45em) {
215
+ @media screen and (width <= 48em) {
214
216
  .db-header-meta-navigation {
215
217
  --db-type-headline-3xs: var(--db-typography-functional-mobile-headline-3xs);
216
218
  --db-base-headline-icon-weight-3xs: var(--db-base-icon-weight-functional-mobile-headline-3xs);
@@ -241,7 +243,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
241
243
  --db-base-headline-icon-font-size-3xl: var(--db-base-icon-font-size-functional-mobile-headline-3xl);
242
244
  }
243
245
  }
244
- @media screen and (45em < width <= 64em) {
246
+ @media screen and (48em < width <= 64em) {
245
247
  .db-header-meta-navigation {
246
248
  --db-type-headline-3xs: var(--db-typography-functional-tablet-headline-3xs);
247
249
  --db-base-headline-icon-weight-3xs: var(--db-base-icon-weight-functional-tablet-headline-3xs);
@@ -317,7 +319,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
317
319
  /* stylelint-disable-next-line media-query-no-invalid */
318
320
  /* stylelint-disable-next-line at-rule-empty-line-before */
319
321
  }
320
- @media screen and (width <= 45em) {
322
+ @media screen and (width <= 48em) {
321
323
  .db-header-meta-navigation {
322
324
  --db-type-body-3xs: var(--db-typography-functional-mobile-body-3xs);
323
325
  --db-base-body-icon-weight-3xs: var(--db-base-icon-weight-functional-mobile-body-3xs);
@@ -348,7 +350,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
348
350
  --db-base-body-icon-font-size-3xl: var(--db-base-icon-font-size-functional-mobile-body-3xl);
349
351
  }
350
352
  }
351
- @media screen and (45em < width <= 64em) {
353
+ @media screen and (48em < width <= 64em) {
352
354
  .db-header-meta-navigation {
353
355
  --db-type-body-3xs: var(--db-typography-functional-tablet-body-3xs);
354
356
  --db-base-body-icon-weight-3xs: var(--db-base-icon-weight-functional-tablet-body-3xs);
@@ -428,12 +430,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
428
430
  }
429
431
  @media screen and (min-width: 64em) {
430
432
  .db-header:not([data-force-mobile]), .db-header[data-force-mobile=false] {
431
- --db-drawer-max-width: 45em;
433
+ --db-drawer-max-width: 48em;
432
434
  }
433
435
  }
434
436
  .db-header[data-width=small] {
435
437
  margin-inline: auto;
436
- max-inline-size: 45em;
438
+ max-inline-size: 48em;
437
439
  }
438
440
  .db-header[data-width=medium] {
439
441
  margin-inline: auto;
@@ -6,6 +6,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
6
6
  /* Border */
7
7
  /* Opacity */
8
8
  /* Transitions */
9
+ /* Screen sizes */
10
+ /* Container sizes */
9
11
  /* Variants for adaptive components like input, select, notification, ... */
10
12
  @layer variables {}
11
13
 
@@ -6,6 +6,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
6
6
  /* Border */
7
7
  /* Opacity */
8
8
  /* Transitions */
9
+ /* Screen sizes */
10
+ /* Container sizes */
9
11
  /* Variants for adaptive components like input, select, notification, ... */
10
12
  @layer variables {}
11
13
 
@@ -121,7 +123,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
121
123
 
122
124
  @layer variables {}
123
125
 
124
- .db-infotext:not([data-icon]):not([data-hide-icon-before=true])::before {
126
+ .db-infotext:not([data-icon]):not([data-show-icon-leading=false])::before {
125
127
  color: var(--db-icon-color, inherit);
126
128
  display: inline-block;
127
129
  /*** icon - placeholder ***/
@@ -138,23 +140,23 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
138
140
  /* stylelint-disable-next-line declaration-property-value-no-unknown */
139
141
  speak: never;
140
142
  text-transform: none;
141
- vertical-align: middle;
143
+ vertical-align: var(--db-icon-vertical-align, middle);
142
144
  block-size: var(--db-icon-font-size, 1.5rem);
143
145
  inline-size: var(--db-icon-font-size, 1.5rem);
144
146
  content: var(--db-icon, attr(data-icon));
145
147
  }
146
148
  @supports (content: ""/"") {
147
- .db-infotext:not([data-icon]):not([data-hide-icon-before=true])::before {
149
+ .db-infotext:not([data-icon]):not([data-show-icon-leading=false])::before {
148
150
  content: var(--db-icon, attr(data-icon))/"";
149
151
  }
150
152
  }
151
153
  @media aural {
152
- .db-infotext:not([data-icon]):not([data-hide-icon-before=true])::before {
154
+ .db-infotext:not([data-icon]):not([data-show-icon-leading=false])::before {
153
155
  content: none;
154
156
  }
155
157
  }
156
158
  @media speech {
157
- .db-infotext:not([data-icon]):not([data-hide-icon-before=true])::before {
159
+ .db-infotext:not([data-icon]):not([data-show-icon-leading=false])::before {
158
160
  content: none;
159
161
  }
160
162
  }
@@ -166,7 +168,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
166
168
  .db-infotext:not([data-icon]) {
167
169
  --db-icon-font-family: var(--db-icon-filled-font-family, "db-ux-filled");
168
170
  }
169
- .db-infotext:not([data-icon]):not([data-hide-icon-before=true])::before {
171
+ .db-infotext:not([data-icon]):not([data-show-icon-leading=false])::before {
170
172
  --db-icon: "information_circle";
171
173
  margin-inline-end: var(--db-icon-margin-end, var(--db-spacing-fixed-xs));
172
174
  }
@@ -6,6 +6,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
6
6
  /* Border */
7
7
  /* Opacity */
8
8
  /* Transitions */
9
+ /* Screen sizes */
10
+ /* Container sizes */
9
11
  .db-input[data-hide-label=true] > label, .db-visually-hidden,
10
12
  [data-visually-hidden=true] {
11
13
  clip: rect(0, 0, 0, 0) !important;
@@ -68,11 +70,17 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
68
70
  --db-adaptive-bg-basic-transparent-semi-default: var(
69
71
  --db-critical-bg-basic-transparent-semi-default
70
72
  );
71
- --db-adaptive-bg-basic-transparent-hovered: var(
72
- --db-critical-bg-basic-transparent-hovered
73
+ --db-adaptive-bg-basic-transparent-full-hovered: var(
74
+ --db-critical-bg-basic-transparent-full-hovered
73
75
  );
74
- --db-adaptive-bg-basic-transparent-pressed: var(
75
- --db-critical-bg-basic-transparent-pressed
76
+ --db-adaptive-bg-basic-transparent-full-pressed: var(
77
+ --db-critical-bg-basic-transparent-full-pressed
78
+ );
79
+ --db-adaptive-bg-basic-transparent-semi-hovered: var(
80
+ --db-critical-bg-basic-transparent-semi-hovered
81
+ );
82
+ --db-adaptive-bg-basic-transparent-semi-pressed: var(
83
+ --db-critical-bg-basic-transparent-semi-pressed
76
84
  );
77
85
  --db-adaptive-on-bg-basic-emphasis-100-default: var(
78
86
  --db-critical-on-bg-basic-emphasis-100-default
@@ -223,11 +231,17 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
223
231
  --db-adaptive-bg-basic-transparent-semi-default: var(
224
232
  --db-successful-bg-basic-transparent-semi-default
225
233
  );
226
- --db-adaptive-bg-basic-transparent-hovered: var(
227
- --db-successful-bg-basic-transparent-hovered
234
+ --db-adaptive-bg-basic-transparent-full-hovered: var(
235
+ --db-successful-bg-basic-transparent-full-hovered
236
+ );
237
+ --db-adaptive-bg-basic-transparent-full-pressed: var(
238
+ --db-successful-bg-basic-transparent-full-pressed
239
+ );
240
+ --db-adaptive-bg-basic-transparent-semi-hovered: var(
241
+ --db-successful-bg-basic-transparent-semi-hovered
228
242
  );
229
- --db-adaptive-bg-basic-transparent-pressed: var(
230
- --db-successful-bg-basic-transparent-pressed
243
+ --db-adaptive-bg-basic-transparent-semi-pressed: var(
244
+ --db-successful-bg-basic-transparent-semi-pressed
231
245
  );
232
246
  --db-adaptive-on-bg-basic-emphasis-100-default: var(
233
247
  --db-successful-on-bg-basic-emphasis-100-default
@@ -360,7 +374,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
360
374
 
361
375
  @layer variables {}
362
376
 
363
- .db-input:has(input[type=search]):not([data-hide-icon-before=true])::before, .db-input:has(input[type=search]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=date]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=week]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=datetime-local]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=month]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=time]):not([data-hide-icon-after=true])::after, .db-input:not([data-hide-icon-after=true]):has(datalist)::after {
377
+ .db-input:has(input[type=search]):not([data-show-icon-leading=false])::before, .db-input:has(input[type=search]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=date]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=week]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=datetime-local]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=month]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=time]):not([data-show-icon-trailing=false])::after, .db-input:not([data-show-icon-trailing=false]):has(datalist)::after {
364
378
  color: var(--db-icon-color, inherit);
365
379
  display: inline-block;
366
380
  /*** icon - placeholder ***/
@@ -377,23 +391,23 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
377
391
  /* stylelint-disable-next-line declaration-property-value-no-unknown */
378
392
  speak: never;
379
393
  text-transform: none;
380
- vertical-align: middle;
394
+ vertical-align: var(--db-icon-vertical-align, middle);
381
395
  block-size: var(--db-icon-font-size, 1.5rem);
382
396
  inline-size: var(--db-icon-font-size, 1.5rem);
383
397
  content: var(--db-icon, attr(data-icon));
384
398
  }
385
399
  @supports (content: ""/"") {
386
- .db-input:has(input[type=search]):not([data-hide-icon-before=true])::before, .db-input:has(input[type=search]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=date]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=week]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=datetime-local]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=month]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=time]):not([data-hide-icon-after=true])::after, .db-input:not([data-hide-icon-after=true]):has(datalist)::after {
400
+ .db-input:has(input[type=search]):not([data-show-icon-leading=false])::before, .db-input:has(input[type=search]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=date]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=week]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=datetime-local]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=month]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=time]):not([data-show-icon-trailing=false])::after, .db-input:not([data-show-icon-trailing=false]):has(datalist)::after {
387
401
  content: var(--db-icon, attr(data-icon))/"";
388
402
  }
389
403
  }
390
404
  @media aural {
391
- .db-input:has(input[type=search]):not([data-hide-icon-before=true])::before, .db-input:has(input[type=search]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=date]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=week]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=datetime-local]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=month]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=time]):not([data-hide-icon-after=true])::after, .db-input:not([data-hide-icon-after=true]):has(datalist)::after {
405
+ .db-input:has(input[type=search]):not([data-show-icon-leading=false])::before, .db-input:has(input[type=search]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=date]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=week]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=datetime-local]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=month]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=time]):not([data-show-icon-trailing=false])::after, .db-input:not([data-show-icon-trailing=false]):has(datalist)::after {
392
406
  content: none;
393
407
  }
394
408
  }
395
409
  @media speech {
396
- .db-input:has(input[type=search]):not([data-hide-icon-before=true])::before, .db-input:has(input[type=search]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=date]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=week]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=datetime-local]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=month]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=time]):not([data-hide-icon-after=true])::after, .db-input:not([data-hide-icon-after=true]):has(datalist)::after {
410
+ .db-input:has(input[type=search]):not([data-show-icon-leading=false])::before, .db-input:has(input[type=search]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=date]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=week]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=datetime-local]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=month]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=time]):not([data-show-icon-trailing=false])::after, .db-input:not([data-show-icon-trailing=false]):has(datalist)::after {
397
411
  content: none;
398
412
  }
399
413
  }
@@ -522,14 +536,14 @@ input[type=radio]:checked) > label {
522
536
  border-radius: var(--db-border-radius-xs);
523
537
  }
524
538
 
525
- .db-input:not([data-hide-icon-after=true]):has(datalist)::after {
526
- --db-icon-after: "chevron_down";
539
+ .db-input:not([data-show-icon-trailing=false]):has(datalist)::after {
540
+ --db-icon-trailing: "chevron_down";
527
541
  margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
528
- content: var(--db-icon-after, attr(data-icon-after));
542
+ content: var(--db-icon-trailing, attr(data-icon-trailing));
529
543
  }
530
544
  @supports (content: ""/"") {
531
- .db-input:not([data-hide-icon-after=true]):has(datalist)::after {
532
- content: var(--db-icon-after, attr(data-icon-after))/"";
545
+ .db-input:not([data-show-icon-trailing=false]):has(datalist)::after {
546
+ content: var(--db-icon-trailing, attr(data-icon-trailing))/"";
533
547
  }
534
548
  }
535
549
  .db-input:has(datalist)::after {
@@ -769,7 +783,7 @@ input[type=radio]:checked) [id$=-placeholder] {
769
783
  }
770
784
  .db-input input:hover:not(:disabled, [aria-disabled=true]) {
771
785
  cursor: var(--db-overwrite-cursor, pointer);
772
- background-color: var(--db-adaptive-bg-basic-transparent-hovered);
786
+ background-color: var(--db-adaptive-bg-basic-transparent-semi-hovered);
773
787
  }
774
788
  .db-input input:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-input input:hover:not(:disabled, [aria-disabled=true]):is(input) {
775
789
  cursor: initial;
@@ -830,7 +844,7 @@ input[aria-disabled=true]) {
830
844
  block-size: var(--db-sizing-md);
831
845
  text-overflow: ellipsis;
832
846
  }
833
- .db-input:is([data-icon], [data-icon-after]):not([data-hide-icon=true]), .db-input:has(input[type=search],
847
+ .db-input:is([data-icon], [data-icon-trailing]):not([data-show-icon=false]), .db-input:has(input[type=search],
834
848
  input[type=date],
835
849
  input[type=month],
836
850
  input[type=week],
@@ -838,27 +852,27 @@ input[type=datetime-local],
838
852
  input[type=time]) {
839
853
  --db-form-component-min-inline-size: var(--db-sizing-xl);
840
854
  }
841
- .db-input[data-icon][data-icon-after] {
855
+ .db-input[data-icon][data-icon-trailing] {
842
856
  --db-form-component-min-inline-size: var(--db-sizing-2xl);
843
857
  }
844
- .db-input[data-icon], .db-input:has(input[type=search]) {
858
+ .db-input[data-icon]:not([data-show-icon=false]), .db-input:has(input[type=search]) {
845
859
  --db-form-component-padding-inline-start: calc(var(--db-icon-font-size) + var(--db-spacing-fixed-sm) + var(--db-spacing-fixed-xs));
846
860
  }
847
- .db-input[data-icon-after], .db-input:has(input[type=search]), .db-input:has(datalist) {
861
+ .db-input[data-icon-trailing]:not([data-show-icon-trailing=false]), .db-input:has(input[type=search]), .db-input:has(datalist) {
848
862
  --db-form-component-padding-inline-end: calc(var(--db-icon-font-size) + var(--db-spacing-fixed-sm) + var(--db-spacing-fixed-xs));
849
863
  }
850
- .db-input:has(input[type=search]):not([data-hide-icon-before=true])::before {
864
+ .db-input:has(input[type=search]):not([data-show-icon-leading=false])::before {
851
865
  --db-icon: "magnifying_glass";
852
866
  margin-inline-end: var(--db-icon-margin-end, var(--db-spacing-fixed-xs));
853
867
  }
854
- .db-input:has(input[type=search]):not([data-hide-icon-after=true])::after {
855
- --db-icon-after: "cross";
868
+ .db-input:has(input[type=search]):not([data-show-icon-trailing=false])::after {
869
+ --db-icon-trailing: "cross";
856
870
  margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
857
- content: var(--db-icon-after, attr(data-icon-after));
871
+ content: var(--db-icon-trailing, attr(data-icon-trailing));
858
872
  }
859
873
  @supports (content: ""/"") {
860
- .db-input:has(input[type=search]):not([data-hide-icon-after=true])::after {
861
- content: var(--db-icon-after, attr(data-icon-after))/"";
874
+ .db-input:has(input[type=search]):not([data-show-icon-trailing=false])::after {
875
+ content: var(--db-icon-trailing, attr(data-icon-trailing))/"";
862
876
  }
863
877
  }
864
878
  .db-input:has(input[type=search])::after {
@@ -874,24 +888,24 @@ input:focus-visible)::after {
874
888
  opacity: 1;
875
889
  }
876
890
  @supports selector(::-webkit-calendar-picker-indicator) {
877
- .db-input:has(input[type=date]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=week]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=datetime-local]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=month]):not([data-hide-icon-after=true])::after {
878
- --db-icon-after: "calendar";
891
+ .db-input:has(input[type=date]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=week]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=datetime-local]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=month]):not([data-show-icon-trailing=false])::after {
892
+ --db-icon-trailing: "calendar";
879
893
  margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
880
- content: var(--db-icon-after, attr(data-icon-after));
894
+ content: var(--db-icon-trailing, attr(data-icon-trailing));
881
895
  }
882
896
  @supports (content: ""/"") {
883
- .db-input:has(input[type=date]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=week]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=datetime-local]):not([data-hide-icon-after=true])::after, .db-input:has(input[type=month]):not([data-hide-icon-after=true])::after {
884
- content: var(--db-icon-after, attr(data-icon-after))/"";
897
+ .db-input:has(input[type=date]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=week]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=datetime-local]):not([data-show-icon-trailing=false])::after, .db-input:has(input[type=month]):not([data-show-icon-trailing=false])::after {
898
+ content: var(--db-icon-trailing, attr(data-icon-trailing))/"";
885
899
  }
886
900
  }
887
- .db-input:has(input[type=time]):not([data-hide-icon-after=true])::after {
888
- --db-icon-after: "clock";
901
+ .db-input:has(input[type=time]):not([data-show-icon-trailing=false])::after {
902
+ --db-icon-trailing: "clock";
889
903
  margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
890
- content: var(--db-icon-after, attr(data-icon-after));
904
+ content: var(--db-icon-trailing, attr(data-icon-trailing));
891
905
  }
892
906
  @supports (content: ""/"") {
893
- .db-input:has(input[type=time]):not([data-hide-icon-after=true])::after {
894
- content: var(--db-icon-after, attr(data-icon-after))/"";
907
+ .db-input:has(input[type=time]):not([data-show-icon-trailing=false])::after {
908
+ content: var(--db-icon-trailing, attr(data-icon-trailing))/"";
895
909
  }
896
910
  }
897
911
  }
@@ -945,10 +959,10 @@ input:focus-visible)::after {
945
959
  margin-inline-end: var(--db-spacing-fixed-sm);
946
960
  }
947
961
  .db-input input::file-selector-button:hover, .db-input input::file-selector-button:focus {
948
- background-color: var(--db-adaptive-bg-basic-transparent-hovered);
962
+ background-color: var(--db-adaptive-bg-basic-transparent-full-hovered);
949
963
  }
950
964
  .db-input input::file-selector-button:active {
951
- background-color: var(--db-adaptive-bg-basic-transparent-pressed);
965
+ background-color: var(--db-adaptive-bg-basic-transparent-full-pressed);
952
966
  }
953
967
  .db-input:has(datalist) input::-webkit-calendar-picker-indicator {
954
968
  display: none !important;
@@ -16,7 +16,7 @@ $icon-padding: calc(
16
16
  @include form-components.set-default-form-component(input);
17
17
 
18
18
  // increased inline size for elements with icons or specific input types that have icons
19
- &:is([data-icon], [data-icon-after]):not([data-hide-icon="true"]),
19
+ &:is([data-icon], [data-icon-trailing]):not([data-show-icon="false"]),
20
20
  &:has(
21
21
  input[type="search"],
22
22
  input[type="date"],
@@ -29,17 +29,17 @@ $icon-padding: calc(
29
29
  }
30
30
 
31
31
  // even larger size when both - leading and trailing icons - are present
32
- &[data-icon][data-icon-after] {
32
+ &[data-icon][data-icon-trailing] {
33
33
  --db-form-component-min-inline-size: #{variables.$db-sizing-2xl};
34
34
  }
35
35
 
36
36
  // padding-inline-end according to current amount of icons
37
- &[data-icon],
37
+ &[data-icon]:not([data-show-icon="false"]),
38
38
  &:has(input[type="search"]) {
39
39
  --db-form-component-padding-inline-start: #{$icon-padding};
40
40
  }
41
41
 
42
- &[data-icon-after],
42
+ &[data-icon-trailing]:not([data-show-icon-trailing="false"]),
43
43
  &:has(input[type="search"]),
44
44
  &:has(datalist) {
45
45
  --db-form-component-padding-inline-end: #{$icon-padding};
@@ -162,11 +162,11 @@ $icon-padding: calc(
162
162
 
163
163
  &:hover,
164
164
  &:focus {
165
- background-color: colors.$db-adaptive-bg-basic-transparent-hovered;
165
+ background-color: colors.$db-adaptive-bg-basic-transparent-full-hovered;
166
166
  }
167
167
 
168
168
  &:active {
169
- background-color: colors.$db-adaptive-bg-basic-transparent-pressed;
169
+ background-color: colors.$db-adaptive-bg-basic-transparent-full-pressed;
170
170
  }
171
171
  }
172
172
  }
@@ -6,6 +6,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
6
6
  /* Border */
7
7
  /* Opacity */
8
8
  /* Transitions */
9
+ /* Screen sizes */
10
+ /* Container sizes */
9
11
  /* Variants for adaptive components like input, select, notification, ... */
10
12
  @layer variables {}
11
13
 
@@ -204,7 +206,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
204
206
  transform: rotate(1turn);
205
207
  }
206
208
  }
207
- .db-link[data-content=internal]:not([data-hide-icon-after=true])::after, .db-link[data-content=external]:not([data-hide-icon-after=true])::after {
209
+ .db-link[data-content=internal]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after, .db-link[data-content=external]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after {
208
210
  color: var(--db-icon-color, inherit);
209
211
  display: inline-block;
210
212
  /*** icon - placeholder ***/
@@ -221,23 +223,23 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
221
223
  /* stylelint-disable-next-line declaration-property-value-no-unknown */
222
224
  speak: never;
223
225
  text-transform: none;
224
- vertical-align: middle;
226
+ vertical-align: var(--db-icon-vertical-align, middle);
225
227
  block-size: var(--db-icon-font-size, 1.5rem);
226
228
  inline-size: var(--db-icon-font-size, 1.5rem);
227
229
  content: var(--db-icon, attr(data-icon));
228
230
  }
229
231
  @supports (content: ""/"") {
230
- .db-link[data-content=internal]:not([data-hide-icon-after=true])::after, .db-link[data-content=external]:not([data-hide-icon-after=true])::after {
232
+ .db-link[data-content=internal]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after, .db-link[data-content=external]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after {
231
233
  content: var(--db-icon, attr(data-icon))/"";
232
234
  }
233
235
  }
234
236
  @media aural {
235
- .db-link[data-content=internal]:not([data-hide-icon-after=true])::after, .db-link[data-content=external]:not([data-hide-icon-after=true])::after {
237
+ .db-link[data-content=internal]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after, .db-link[data-content=external]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after {
236
238
  content: none;
237
239
  }
238
240
  }
239
241
  @media speech {
240
- .db-link[data-content=internal]:not([data-hide-icon-after=true])::after, .db-link[data-content=external]:not([data-hide-icon-after=true])::after {
242
+ .db-link[data-content=internal]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after, .db-link[data-content=external]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after {
241
243
  content: none;
242
244
  }
243
245
  }
@@ -248,6 +250,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
248
250
  */
249
251
  .db-link a, .db-link {
250
252
  display: inline-block;
253
+ }
254
+ .db-link a:not([data-wrap=true]), .db-link:not([data-wrap=true]) {
251
255
  block-size: var(--db-sizing-sm);
252
256
  }
253
257
 
@@ -282,7 +286,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
282
286
  text-decoration-thickness: 0.0625rem;
283
287
  text-decoration-line: underline;
284
288
  }
285
- .db-link:not([data-variant=inline]) {
289
+ .db-link:not([data-wrap=true], [data-variant=inline]) {
286
290
  white-space: nowrap;
287
291
  }
288
292
  [data-variant=inline].db-link {
@@ -296,36 +300,30 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
296
300
  pointer-events: none;
297
301
  }
298
302
 
299
- .db-link[data-content=internal]:not([data-hide-icon-after=true])::after {
300
- --db-icon-after: "arrow_right";
303
+ .db-link {
304
+ --db-icon-margin-start: var(--db-spacing-fixed-2xs);
305
+ --db-icon-vertical-align: top;
306
+ }
307
+ .db-link[data-content=internal]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after {
308
+ --db-icon-trailing: "arrow_right";
301
309
  margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
302
- content: var(--db-icon-after, attr(data-icon-after));
310
+ content: var(--db-icon-trailing, attr(data-icon-trailing));
303
311
  }
304
312
  @supports (content: ""/"") {
305
- .db-link[data-content=internal]:not([data-hide-icon-after=true])::after {
306
- content: var(--db-icon-after, attr(data-icon-after))/"";
313
+ .db-link[data-content=internal]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after {
314
+ content: var(--db-icon-trailing, attr(data-icon-trailing))/"";
307
315
  }
308
316
  }
309
- .db-link[data-content=internal]:not([data-hide-icon-after=true])::after {
310
- vertical-align: top;
311
- }
312
- .db-link[data-content=external]:not([data-hide-icon-after=true])::after {
313
- --db-icon-after: "arrow_up_right";
317
+ .db-link[data-content=external]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after {
318
+ --db-icon-trailing: "arrow_up_right";
314
319
  margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
315
- content: var(--db-icon-after, attr(data-icon-after));
320
+ content: var(--db-icon-trailing, attr(data-icon-trailing));
316
321
  }
317
322
  @supports (content: ""/"") {
318
- .db-link[data-content=external]:not([data-hide-icon-after=true])::after {
319
- content: var(--db-icon-after, attr(data-icon-after))/"";
323
+ .db-link[data-content=external]:not([data-variant=inline]):not([data-show-icon-trailing=false])::after {
324
+ content: var(--db-icon-trailing, attr(data-icon-trailing))/"";
320
325
  }
321
326
  }
322
- .db-link[data-content=internal], .db-link[data-content=external] {
323
- --db-icon-margin-start: var(--db-spacing-fixed-2xs);
324
- }
325
- .db-link[data-content=internal]::after, .db-link[data-content=external]::after {
326
- /* stylelint-disable-next-line db-ux/use-spacings */
327
- margin-inline-start: var(--db-icon-margin-start);
328
- }
329
327
  .db-link[data-variant=brand] {
330
328
  color: var(--db-brand-on-bg-basic-emphasis-80-default);
331
329
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
@@ -9,6 +9,9 @@
9
9
  @use "../../styles/internal/link-components";
10
10
 
11
11
  .db-link {
12
+ --db-icon-margin-start: #{variables.$db-spacing-fixed-2xs};
13
+ --db-icon-vertical-align: top;
14
+
12
15
  @extend %db-default-link;
13
16
  @extend %db-overwrite-font-size-md;
14
17
 
@@ -18,24 +21,14 @@
18
21
  }
19
22
 
20
23
  &[data-content="internal"] {
21
- @include icons.set-icon("arrow_right", "after");
22
-
23
- &:not([data-hide-icon-after="true"])::after {
24
- vertical-align: top;
24
+ &:not([data-variant="inline"]) {
25
+ @include icons.set-icon("arrow_right", "after");
25
26
  }
26
27
  }
27
28
 
28
29
  &[data-content="external"] {
29
- @include icons.set-icon("arrow_up_right", "after");
30
- }
31
-
32
- &[data-content="internal"],
33
- &[data-content="external"] {
34
- --db-icon-margin-start: #{variables.$db-spacing-fixed-2xs};
35
-
36
- &::after {
37
- /* stylelint-disable-next-line db-ux/use-spacings */
38
- margin-inline-start: var(--db-icon-margin-start);
30
+ &:not([data-variant="inline"]) {
31
+ @include icons.set-icon("arrow_up_right", "after");
39
32
  }
40
33
  }
41
34
 
@@ -6,6 +6,8 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
6
6
  /* Border */
7
7
  /* Opacity */
8
8
  /* Transitions */
9
+ /* Screen sizes */
10
+ /* Container sizes */
9
11
  .db-visually-hidden,
10
12
  [data-visually-hidden=true] {
11
13
  clip: rect(0, 0, 0, 0) !important;
@@ -219,7 +221,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
219
221
  .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button:not([data-force-mobile])::after,
220
222
  .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]::after {
221
223
  --db-icon-margin-start: var(--db-spacing-fixed-sm);
222
- --db-icon-after: "chevron_down";
224
+ --db-icon-trailing: "chevron_down";
223
225
  }
224
226
  }
225
227
  @media screen and (min-width: 64em) and (prefers-reduced-motion: no-preference) {
@@ -255,7 +257,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
255
257
  .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button):not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button)[data-force-mobile=false]::after,
256
258
  .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button:not([data-force-mobile])::after,
257
259
  .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button[data-force-mobile=false]::after {
258
- --db-icon-after: "chevron_right";
260
+ --db-icon-trailing: "chevron_right";
259
261
  --db-icon-margin-start: auto;
260
262
  }
261
263
  .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button):not([data-force-mobile]):is(:hover, :focus-visible)::after,
@@ -33,7 +33,7 @@
33
33
  @include screen-sizes.screen("md") {
34
34
  &::after {
35
35
  --db-icon-margin-start: #{variables.$db-spacing-fixed-sm};
36
- --db-icon-after: "chevron_down";
36
+ --db-icon-trailing: "chevron_down";
37
37
 
38
38
  @media screen and (prefers-reduced-motion: no-preference) {
39
39
  transition: form-components.$dropdown-icon-transition;
@@ -61,7 +61,7 @@
61
61
  .db-navigation-item-expand-button > button {
62
62
  @include screen-sizes.screen("md") {
63
63
  &::after {
64
- --db-icon-after: "chevron_right";
64
+ --db-icon-trailing: "chevron_right";
65
65
  --db-icon-margin-start: auto;
66
66
  }
67
67