@db-ux/core-components 4.4.2 → 4.5.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 (63) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/build/components/accordion/accordion.css +0 -14
  3. package/build/components/accordion-item/accordion-item.css +38 -29
  4. package/build/components/accordion-item/accordion-item.scss +1 -1
  5. package/build/components/badge/badge.css +75 -33
  6. package/build/components/badge/badge.scss +6 -1
  7. package/build/components/brand/brand.css +2 -18
  8. package/build/components/brand/brand.scss +2 -0
  9. package/build/components/button/button.css +245 -82
  10. package/build/components/button/button.scss +1 -105
  11. package/build/components/card/card.css +88 -30
  12. package/build/components/checkbox/checkbox.css +1 -22
  13. package/build/components/custom-button/custom-button.css +892 -0
  14. package/build/components/custom-button/custom-button.scss +78 -0
  15. package/build/components/custom-select/custom-select.css +19 -25
  16. package/build/components/custom-select-dropdown/custom-select-dropdown.css +1 -22
  17. package/build/components/custom-select-dropdown/custom-select-dropdown.scss +1 -0
  18. package/build/components/custom-select-form-field/custom-select-form-field.css +0 -22
  19. package/build/components/custom-select-list/custom-select-list.css +0 -22
  20. package/build/components/custom-select-list-item/custom-select-list-item.css +36 -28
  21. package/build/components/divider/divider.css +0 -10
  22. package/build/components/drawer/drawer.css +4 -14
  23. package/build/components/drawer/drawer.scss +4 -0
  24. package/build/components/header/header.css +0 -22
  25. package/build/components/icon/icon.css +0 -10
  26. package/build/components/infotext/infotext.css +4 -18
  27. package/build/components/infotext/infotext.scss +4 -0
  28. package/build/components/input/input.css +19 -25
  29. package/build/components/link/link.css +73 -34
  30. package/build/components/navigation/navigation.css +0 -22
  31. package/build/components/navigation-item/navigation-item.css +111 -43
  32. package/build/components/navigation-item/navigation-item.scss +2 -1
  33. package/build/components/notification/notification.css +37 -28
  34. package/build/components/page/page.css +0 -10
  35. package/build/components/popover/popover.css +26 -14
  36. package/build/components/radio/radio.css +0 -22
  37. package/build/components/section/section.css +0 -14
  38. package/build/components/select/select.css +19 -25
  39. package/build/components/stack/stack-web-component.css +0 -10
  40. package/build/components/stack/stack.css +0 -10
  41. package/build/components/switch/switch.css +1 -22
  42. package/build/components/tab-item/tab-item.css +52 -32
  43. package/build/components/tab-list/tab-list.css +0 -22
  44. package/build/components/tab-panel/tab-panel.css +0 -10
  45. package/build/components/tabs/tabs.css +2 -22
  46. package/build/components/tabs/tabs.scss +2 -0
  47. package/build/components/tag/tag.css +859 -150
  48. package/build/components/textarea/textarea.css +18 -25
  49. package/build/components/tooltip/tooltip.css +30 -23
  50. package/build/components/tooltip/tooltip.scss +12 -10
  51. package/build/styles/absolute.css +10 -10
  52. package/build/styles/index.css +9 -9
  53. package/build/styles/index.scss +1 -0
  54. package/build/styles/internal/_button-components.scss +140 -2
  55. package/build/styles/internal/_custom-elements.scss +1 -1
  56. package/build/styles/internal/_icon-passing.scss +23 -3
  57. package/build/styles/internal/_popover-component.scss +19 -9
  58. package/build/styles/internal/_tag-components.scss +1 -0
  59. package/build/styles/relative.css +10 -10
  60. package/build/styles/rollup.css +10 -10
  61. package/build/styles/wc-workarounds.css +1 -1
  62. package/build/styles/webpack.css +10 -10
  63. package/package.json +10 -9
@@ -1,13 +1,3 @@
1
- /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
2
- /* Use fixed spacings for all kind of distances (margin, padding, ...) */
3
- /* The primary use-case for responsive spacings are
4
- paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
- /* Elevation */
6
- /* Border */
7
- /* Opacity */
8
- /* Transitions */
9
- /* Screen sizes */
10
- /* Container sizes */
11
1
  .db-textarea[data-hide-label=true] > label, .db-visually-hidden,
12
2
  [data-visually-hidden=true] {
13
3
  clip: rect(0, 0, 0, 0) !important;
@@ -62,12 +52,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
62
52
 
63
53
  @layer variables {}
64
54
 
65
- /**
66
- Generates 3 types of placeholders, e.g:
67
- - %db-component-variables-md
68
- - %db-font-size-md
69
- - %db-overwrite-font-size-md
70
- */
71
55
  @layer variables {}
72
56
 
73
57
  @layer variables {}
@@ -170,12 +154,6 @@ input[type=radio]:checked) > label {
170
154
 
171
155
  @layer variables {}
172
156
 
173
- /* Use for body tags like <p> */
174
- /* Use for headline tags like <h1> */
175
- /**
176
- * @mixin screen-min-max
177
- * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
178
- */
179
157
  .db-textarea textarea {
180
158
  border: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
181
159
  }
@@ -707,14 +685,29 @@ input[type=radio]:checked) textarea:is([type=date],
707
685
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
708
686
  /* see https://developer.mozilla.org/en-US/docs/Web/CSS/field-sizing */
709
687
  }
710
- .db-textarea textarea:hover:not(:disabled, [aria-disabled=true]) {
688
+ .db-textarea textarea:hover:not(:disabled,
689
+ [aria-disabled=true],
690
+ [tabindex="-1"],
691
+ :has(:disabled)) {
711
692
  cursor: var(--db-overwrite-cursor, pointer);
712
693
  background-color: var(--db-adaptive-bg-basic-transparent-semi-hovered);
713
694
  }
714
- .db-textarea textarea:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-textarea textarea:hover:not(:disabled, [aria-disabled=true]):is(input) {
695
+ .db-textarea textarea:hover:not(:disabled,
696
+ [aria-disabled=true],
697
+ [tabindex="-1"],
698
+ :has(:disabled)):is(textarea), .db-textarea textarea:hover:not(:disabled,
699
+ [aria-disabled=true],
700
+ [tabindex="-1"],
701
+ :has(:disabled)):is(input) {
715
702
  cursor: initial;
716
703
  }
717
- .db-textarea textarea:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-textarea textarea:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
704
+ .db-textarea textarea:hover:not(:disabled,
705
+ [aria-disabled=true],
706
+ [tabindex="-1"],
707
+ :has(:disabled)):is(input[type=checkbox]), .db-textarea textarea:hover:not(:disabled,
708
+ [aria-disabled=true],
709
+ [tabindex="-1"],
710
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
718
711
  cursor: pointer;
719
712
  }
720
713
  .db-textarea textarea[data-field-sizing=content] {
@@ -1,13 +1,3 @@
1
- /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
2
- /* Use fixed spacings for all kind of distances (margin, padding, ...) */
3
- /* The primary use-case for responsive spacings are
4
- paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
- /* Elevation */
6
- /* Border */
7
- /* Opacity */
8
- /* Transitions */
9
- /* Screen sizes */
10
- /* Container sizes */
11
1
  /* Variants for adaptive components like input, select, notification, ... */
12
2
  @layer variables {}
13
3
 
@@ -43,12 +33,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
43
33
 
44
34
  @layer variables {}
45
35
 
46
- /**
47
- Generates 3 types of placeholders, e.g:
48
- - %db-component-variables-md
49
- - %db-font-size-md
50
- - %db-overwrite-font-size-md
51
- */
52
36
  @layer variables {}
53
37
 
54
38
  @layer variables {}
@@ -113,8 +97,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
113
97
 
114
98
  @layer variables {}
115
99
 
116
- /* Use for body tags like <p> */
117
- /* Use for headline tags like <h1> */
118
100
  @keyframes popover-animation {
119
101
  0% {
120
102
  opacity: 0;
@@ -130,10 +112,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
130
112
  transform: rotate(1turn);
131
113
  }
132
114
  }
133
- /**
134
- * @mixin screen-min-max
135
- * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
136
- */
137
115
  .db-tooltip[data-show-arrow=true]::after, .db-tooltip {
138
116
  border: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-60-default);
139
117
  }
@@ -146,10 +124,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
146
124
  .db-tooltip:not([data-placement], [data-corrected-placement]), [data-placement=bottom].db-tooltip:not([data-corrected-placement]), [data-placement=top].db-tooltip:not([data-corrected-placement]), [data-corrected-placement=bottom].db-tooltip, [data-corrected-placement=top].db-tooltip {
147
125
  --db-popover-center-x: -50%;
148
126
  inset-inline-start: 50%;
127
+ transform: translateX(var(--db-popover-center-x, 0));
149
128
  }
150
129
  [data-corrected-placement=left].db-tooltip, [data-corrected-placement=right].db-tooltip, [data-placement=left].db-tooltip:not([data-corrected-placement]), [data-placement=right].db-tooltip:not([data-corrected-placement]) {
151
130
  --db-popover-center-y: -50%;
152
131
  inset-block-start: 50%;
132
+ transform: translateY(var(--db-popover-center-y, 0));
153
133
  }
154
134
 
155
135
  .db-tooltip {
@@ -246,6 +226,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
246
226
  opacity: 1;
247
227
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
248
228
  }
229
+ @media screen and (prefers-reduced-motion: reduce) {
230
+ .db-tooltip[data-e2e-hover=true]:not([data-placement], [data-corrected-placement]), [data-has-tooltip=true]:hover .db-tooltip:not([data-placement], [data-corrected-placement]):first-of-type, [data-has-tooltip=true]:focus-visible .db-tooltip:not([data-placement], [data-corrected-placement]):first-of-type, [data-placement^=bottom].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement]), [data-has-tooltip=true]:hover [data-placement^=bottom].db-tooltip:not([data-corrected-placement]):first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=bottom].db-tooltip:not([data-corrected-placement]):first-of-type, [data-corrected-placement^=bottom].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=bottom].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=bottom].db-tooltip:first-of-type {
231
+ opacity: 1;
232
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
233
+ }
234
+ }
249
235
  @media screen and (prefers-reduced-motion: no-preference) {
250
236
  .db-tooltip[data-e2e-hover=true]:not([data-placement], [data-corrected-placement])[data-animation=true], [data-has-tooltip=true]:hover .db-tooltip:not([data-placement], [data-corrected-placement])[data-animation=true]:first-of-type, [data-has-tooltip=true]:focus-visible .db-tooltip:not([data-placement], [data-corrected-placement])[data-animation=true]:first-of-type, [data-placement^=bottom].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement])[data-animation=true], [data-has-tooltip=true]:hover [data-placement^=bottom].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=bottom].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-corrected-placement^=bottom][data-animation=true].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=bottom][data-animation=true].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=bottom][data-animation=true].db-tooltip:first-of-type {
251
237
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -271,6 +257,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
271
257
  opacity: 1;
272
258
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
273
259
  }
260
+ @media screen and (prefers-reduced-motion: reduce) {
261
+ [data-placement^=top].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement]), [data-has-tooltip=true]:hover [data-placement^=top].db-tooltip:not([data-corrected-placement]):first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=top].db-tooltip:not([data-corrected-placement]):first-of-type, [data-corrected-placement^=top].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=top].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=top].db-tooltip:first-of-type {
262
+ opacity: 1;
263
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
264
+ }
265
+ }
274
266
  @media screen and (prefers-reduced-motion: no-preference) {
275
267
  [data-placement^=top].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement])[data-animation=true], [data-has-tooltip=true]:hover [data-placement^=top].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=top].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-corrected-placement^=top][data-animation=true].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=top][data-animation=true].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=top][data-animation=true].db-tooltip:first-of-type {
276
268
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -296,6 +288,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
296
288
  opacity: 1;
297
289
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
298
290
  }
291
+ @media screen and (prefers-reduced-motion: reduce) {
292
+ [data-placement^=right].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement]), [data-has-tooltip=true]:hover [data-placement^=right].db-tooltip:not([data-corrected-placement]):first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=right].db-tooltip:not([data-corrected-placement]):first-of-type, [data-corrected-placement^=right].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=right].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=right].db-tooltip:first-of-type {
293
+ opacity: 1;
294
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
295
+ }
296
+ }
299
297
  @media screen and (prefers-reduced-motion: no-preference) {
300
298
  [data-placement^=right].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement])[data-animation=true], [data-has-tooltip=true]:hover [data-placement^=right].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=right].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-corrected-placement^=right][data-animation=true].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=right][data-animation=true].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=right][data-animation=true].db-tooltip:first-of-type {
301
299
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -321,6 +319,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
321
319
  opacity: 1;
322
320
  transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
323
321
  }
322
+ @media screen and (prefers-reduced-motion: reduce) {
323
+ [data-placement^=left].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement]), [data-has-tooltip=true]:hover [data-placement^=left].db-tooltip:not([data-corrected-placement]):first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=left].db-tooltip:not([data-corrected-placement]):first-of-type, [data-corrected-placement^=left].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=left].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=left].db-tooltip:first-of-type {
324
+ opacity: 1;
325
+ transform: translate(var(--db-popover-center-x, 0), var(--db-popover-center-y, 0));
326
+ }
327
+ }
324
328
  @media screen and (prefers-reduced-motion: no-preference) {
325
329
  [data-placement^=left].db-tooltip[data-e2e-hover=true]:not([data-corrected-placement])[data-animation=true], [data-has-tooltip=true]:hover [data-placement^=left].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-has-tooltip=true]:focus-visible [data-placement^=left].db-tooltip:not([data-corrected-placement])[data-animation=true]:first-of-type, [data-corrected-placement^=left][data-animation=true].db-tooltip[data-e2e-hover=true], [data-has-tooltip=true]:hover [data-corrected-placement^=left][data-animation=true].db-tooltip:first-of-type, [data-has-tooltip=true]:focus-visible [data-corrected-placement^=left][data-animation=true].db-tooltip:first-of-type {
326
330
  animation: popover-animation var(--db-transition-straight-emotional) normal both;
@@ -374,7 +378,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
374
378
  position: absolute;
375
379
  background-color: var(--db-adaptive-bg-basic-level-1-default);
376
380
  inline-size: var(--db-sizing-2xs);
377
- block-size: var(--db-sizing-2xs);
381
+ aspect-ratio: 1;
378
382
  clip-path: polygon(calc(var(--db-sizing-2xs) * -1) calc(var(--db-sizing-2xs) * -1), calc(100% + var(--db-sizing-2xs)) calc(var(--db-sizing-2xs) * -1), calc(100% + var(--db-sizing-2xs)) calc(100% + var(--db-sizing-2xs)));
379
383
  /* stylelint-disable-next-line db-ux/use-border-radius */
380
384
  border-radius: 0 2px;
@@ -414,6 +418,9 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
414
418
  .db-tooltip[data-emphasis=strong]::after {
415
419
  background-color: var(--db-adaptive-bg-inverted-contrast-high-default);
416
420
  }
421
+ .db-tooltip[data-wrap=false] {
422
+ white-space: nowrap;
423
+ }
417
424
 
418
425
  [data-has-tooltip=true] {
419
426
  position: var(--db-tooltip-parent-position, relative);
@@ -5,8 +5,6 @@
5
5
  @use "../../styles/internal/popover-component";
6
6
  @use "../../styles/internal/component";
7
7
 
8
- $tooltip-arrow-shadow-size: variables.$db-sizing-2xs;
9
-
10
8
  .db-tooltip {
11
9
  --default-card-elevation: #{variables.$db-elevation-sm};
12
10
  --default-card-border-radius: #{variables.$db-border-radius-xs};
@@ -43,15 +41,15 @@ $tooltip-arrow-shadow-size: variables.$db-sizing-2xs;
43
41
  box-shadow: variables.$db-elevation-md;
44
42
  position: absolute;
45
43
  background-color: colors.$db-adaptive-bg-basic-level-1-default;
46
- inline-size: $tooltip-arrow-shadow-size;
47
- block-size: $tooltip-arrow-shadow-size;
44
+ inline-size: variables.$db-sizing-2xs;
45
+ aspect-ratio: 1;
48
46
  clip-path: polygon(
49
- calc(#{$tooltip-arrow-shadow-size} * -1)
50
- calc(#{$tooltip-arrow-shadow-size} * -1),
51
- calc(100% + #{$tooltip-arrow-shadow-size})
52
- calc(#{$tooltip-arrow-shadow-size} * -1),
53
- calc(100% + #{$tooltip-arrow-shadow-size})
54
- calc(100% + #{$tooltip-arrow-shadow-size})
47
+ calc(#{variables.$db-sizing-2xs} * -1)
48
+ calc(#{variables.$db-sizing-2xs} * -1),
49
+ calc(100% + #{variables.$db-sizing-2xs})
50
+ calc(#{variables.$db-sizing-2xs} * -1),
51
+ calc(100% + #{variables.$db-sizing-2xs})
52
+ calc(100% + #{variables.$db-sizing-2xs})
55
53
  );
56
54
  /* stylelint-disable-next-line db-ux/use-border-radius */
57
55
  border-radius: 0 2px;
@@ -112,6 +110,10 @@ $tooltip-arrow-shadow-size: variables.$db-sizing-2xs;
112
110
  background-color: colors.$db-adaptive-bg-inverted-contrast-high-default;
113
111
  }
114
112
  }
113
+
114
+ &[data-wrap="false"] {
115
+ white-space: nowrap;
116
+ }
115
117
  }
116
118
 
117
119
  // Global styles