@db-ux/core-components 4.4.3 → 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 (47) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/components/accordion-item/accordion-item.css +38 -7
  3. package/build/components/accordion-item/accordion-item.scss +1 -1
  4. package/build/components/badge/badge.css +75 -11
  5. package/build/components/badge/badge.scss +6 -1
  6. package/build/components/brand/brand.css +2 -0
  7. package/build/components/brand/brand.scss +2 -0
  8. package/build/components/button/button.css +245 -60
  9. package/build/components/button/button.scss +1 -105
  10. package/build/components/card/card.css +88 -16
  11. package/build/components/checkbox/checkbox.css +1 -0
  12. package/build/components/custom-button/custom-button.css +892 -0
  13. package/build/components/custom-button/custom-button.scss +78 -0
  14. package/build/components/custom-select/custom-select.css +19 -3
  15. package/build/components/custom-select-dropdown/custom-select-dropdown.css +1 -0
  16. package/build/components/custom-select-dropdown/custom-select-dropdown.scss +1 -0
  17. package/build/components/custom-select-list-item/custom-select-list-item.css +36 -6
  18. package/build/components/drawer/drawer.css +4 -0
  19. package/build/components/drawer/drawer.scss +4 -0
  20. package/build/components/infotext/infotext.css +4 -0
  21. package/build/components/infotext/infotext.scss +4 -0
  22. package/build/components/input/input.css +19 -3
  23. package/build/components/link/link.css +73 -12
  24. package/build/components/navigation-item/navigation-item.css +111 -21
  25. package/build/components/navigation-item/navigation-item.scss +2 -1
  26. package/build/components/notification/notification.css +37 -6
  27. package/build/components/select/select.css +19 -3
  28. package/build/components/switch/switch.css +1 -0
  29. package/build/components/tab-item/tab-item.css +52 -10
  30. package/build/components/tabs/tabs.css +2 -0
  31. package/build/components/tabs/tabs.scss +2 -0
  32. package/build/components/tag/tag.css +856 -125
  33. package/build/components/textarea/textarea.css +18 -3
  34. package/build/components/tooltip/tooltip.css +4 -1
  35. package/build/components/tooltip/tooltip.scss +12 -10
  36. package/build/styles/absolute.css +9 -9
  37. package/build/styles/index.css +8 -8
  38. package/build/styles/index.scss +1 -0
  39. package/build/styles/internal/_button-components.scss +140 -2
  40. package/build/styles/internal/_custom-elements.scss +1 -1
  41. package/build/styles/internal/_icon-passing.scss +23 -3
  42. package/build/styles/internal/_popover-component.scss +4 -4
  43. package/build/styles/relative.css +9 -9
  44. package/build/styles/rollup.css +9 -9
  45. package/build/styles/wc-workarounds.css +1 -1
  46. package/build/styles/webpack.css +9 -9
  47. package/package.json +5 -5
@@ -1,113 +1,9 @@
1
- @charset "utf-8";
2
- @use "@db-ux/core-foundations/build/styles/fonts";
3
1
  @use "@db-ux/core-foundations/build/styles/variables";
4
- @use "@db-ux/core-foundations/build/styles/colors";
5
- @use "@db-ux/core-foundations/build/styles/icons";
6
- @use "@db-ux/core-foundations/build/styles/helpers";
7
- @use "../../styles/internal/component";
8
2
  @use "../../styles/internal/button-components";
9
3
 
10
4
  // generic styles can be found in _button-components.scss
11
5
  .db-button {
12
- @extend %default-interactive-component;
13
- @extend %default-button;
14
- @extend %db-overwrite-font-size-md;
15
-
16
- max-inline-size: 100%;
17
- color: colors.$db-adaptive-on-bg-basic-emphasis-100-default;
18
- min-block-size: variables.$db-sizing-md;
19
- block-size: max-content;
20
- inline-size: fit-content;
21
- padding: variables.$db-spacing-fixed-2xs variables.$db-spacing-fixed-md;
22
-
23
- // disable text-decoration if someone wants to use the button for an <a> tag
24
- text-decoration: none;
25
-
26
- // Square icon only buttons
27
- &[data-no-text="true"] {
28
- @include icons.is-icon-text-replace;
29
-
30
- padding: 0;
31
- aspect-ratio: 1;
32
- inline-size: variables.$db-sizing-md;
33
-
34
- &::before {
35
- margin: auto;
36
- }
37
- }
38
-
39
- &[data-size="small"] {
40
- @extend %db-overwrite-font-size-sm;
41
-
42
- font-weight: 700;
43
- min-block-size: variables.$db-sizing-sm;
44
-
45
- &:not([data-no-text="true"]) {
46
- // stylelint-disable-next-line db-ux/use-spacings
47
- padding: 1px variables.$db-spacing-fixed-sm;
48
-
49
- &::before {
50
- margin-inline-end: variables.$db-spacing-fixed-2xs;
51
- }
52
- }
53
-
54
- // Square icon only buttons
55
- &[data-no-text="true"] {
56
- inline-size: variables.$db-sizing-sm;
57
- }
58
- }
59
-
60
- &[data-width="full"] {
61
- inline-size: 100%;
62
- }
63
-
64
- &[data-variant="brand"] {
65
- background-color: colors.$db-brand-origin-default;
66
- color: colors.$db-brand-on-origin-default;
67
- border-color: colors.$db-brand-on-bg-basic-emphasis-70-default;
68
-
69
- @include helpers.hover {
70
- background-color: colors.$db-brand-origin-hovered;
71
- border-color: colors.$db-brand-on-bg-basic-emphasis-70-default;
72
- }
73
-
74
- @include helpers.active {
75
- background-color: colors.$db-brand-origin-pressed;
76
- border-color: colors.$db-brand-on-bg-basic-emphasis-70-default;
77
- }
78
- }
79
-
80
- &[data-variant="filled"],
81
- &[data-variant="ghost"] {
82
- @extend %transparent-border;
83
- }
84
-
85
- &[data-variant="outlined"],
86
- &:not([data-variant]),
87
- &[data-variant=""],
88
- &[data-variant="ghost"] {
89
- background-color: colors.$db-adaptive-bg-basic-transparent-full-default;
90
-
91
- @include helpers.hover {
92
- background-color: colors.$db-adaptive-bg-basic-transparent-full-hovered;
93
- }
94
-
95
- @include helpers.active {
96
- background-color: colors.$db-adaptive-bg-basic-transparent-full-pressed;
97
- }
98
- }
99
-
100
- &[data-variant="filled"] {
101
- background-color: colors.$db-adaptive-bg-basic-transparent-semi-default;
102
-
103
- @include helpers.hover {
104
- background-color: colors.$db-adaptive-bg-basic-transparent-semi-hovered;
105
- }
106
-
107
- @include helpers.active {
108
- background-color: colors.$db-adaptive-bg-basic-transparent-semi-pressed;
109
- }
110
- }
6
+ @include button-components.set-basic-button;
111
7
 
112
8
  &:is(:disabled, [aria-disabled="true"]) {
113
9
  opacity: variables.$db-opacity-md;
@@ -53,30 +53,72 @@
53
53
  padding: unset;
54
54
  font: inherit;
55
55
  }
56
- :is(a[href], button):hover:not(:disabled, [aria-disabled=true]) {
56
+ :is(a[href], button):hover:not(:disabled,
57
+ [aria-disabled=true],
58
+ [tabindex="-1"],
59
+ :has(:disabled)) {
57
60
  cursor: var(--db-overwrite-cursor, pointer);
58
61
  }
59
- :is(a[href], button):hover:not(:disabled, [aria-disabled=true]) > .db-card,
60
- :is(a[href], button):hover:not(:disabled, [aria-disabled=true]) > db-card > .db-card {
62
+ :is(a[href], button):hover:not(:disabled,
63
+ [aria-disabled=true],
64
+ [tabindex="-1"],
65
+ :has(:disabled)) > .db-card,
66
+ :is(a[href], button):hover:not(:disabled,
67
+ [aria-disabled=true],
68
+ [tabindex="-1"],
69
+ :has(:disabled)) > db-card > .db-card {
61
70
  background-color: var(--db-card-background-color-hovered);
62
71
  }
63
- :is(a[href], button):hover:not(:disabled, [aria-disabled=true]):is(textarea), :is(a[href], button):hover:not(:disabled, [aria-disabled=true]):is(input) {
72
+ :is(a[href], button):hover:not(:disabled,
73
+ [aria-disabled=true],
74
+ [tabindex="-1"],
75
+ :has(:disabled)):is(textarea), :is(a[href], button):hover:not(:disabled,
76
+ [aria-disabled=true],
77
+ [tabindex="-1"],
78
+ :has(:disabled)):is(input) {
64
79
  cursor: initial;
65
80
  }
66
- :is(a[href], button):hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), :is(a[href], button):hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
81
+ :is(a[href], button):hover:not(:disabled,
82
+ [aria-disabled=true],
83
+ [tabindex="-1"],
84
+ :has(:disabled)):is(input[type=checkbox]), :is(a[href], button):hover:not(:disabled,
85
+ [aria-disabled=true],
86
+ [tabindex="-1"],
87
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
67
88
  cursor: pointer;
68
89
  }
69
- :is(a[href], button):active:not(:disabled, [aria-disabled=true]) {
90
+ :is(a[href], button):active:not(:disabled,
91
+ [aria-disabled=true],
92
+ [tabindex="-1"],
93
+ :has(:disabled)) {
70
94
  cursor: var(--db-overwrite-cursor, pointer);
71
95
  }
72
- :is(a[href], button):active:not(:disabled, [aria-disabled=true]) > .db-card,
73
- :is(a[href], button):active:not(:disabled, [aria-disabled=true]) > db-card > .db-card {
96
+ :is(a[href], button):active:not(:disabled,
97
+ [aria-disabled=true],
98
+ [tabindex="-1"],
99
+ :has(:disabled)) > .db-card,
100
+ :is(a[href], button):active:not(:disabled,
101
+ [aria-disabled=true],
102
+ [tabindex="-1"],
103
+ :has(:disabled)) > db-card > .db-card {
74
104
  background-color: var(--db-card-background-color-pressed);
75
105
  }
76
- :is(a[href], button):active:not(:disabled, [aria-disabled=true]):is(textarea), :is(a[href], button):active:not(:disabled, [aria-disabled=true]):is(input) {
106
+ :is(a[href], button):active:not(:disabled,
107
+ [aria-disabled=true],
108
+ [tabindex="-1"],
109
+ :has(:disabled)):is(textarea), :is(a[href], button):active:not(:disabled,
110
+ [aria-disabled=true],
111
+ [tabindex="-1"],
112
+ :has(:disabled)):is(input) {
77
113
  cursor: initial;
78
114
  }
79
- :is(a[href], button):active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), :is(a[href], button):active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
115
+ :is(a[href], button):active:not(:disabled,
116
+ [aria-disabled=true],
117
+ [tabindex="-1"],
118
+ :has(:disabled)):is(input[type=checkbox]), :is(a[href], button):active:not(:disabled,
119
+ [aria-disabled=true],
120
+ [tabindex="-1"],
121
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
80
122
  cursor: pointer;
81
123
  }
82
124
 
@@ -109,24 +151,54 @@
109
151
  .db-card[data-behavior=interactive] {
110
152
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
111
153
  }
112
- .db-card[data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]) {
154
+ .db-card[data-behavior=interactive]:hover:not(:disabled,
155
+ [aria-disabled=true],
156
+ [tabindex="-1"],
157
+ :has(:disabled)) {
113
158
  cursor: var(--db-overwrite-cursor, pointer);
114
159
  background-color: var(--db-card-background-color-hovered);
115
160
  }
116
- .db-card[data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-card[data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(input) {
161
+ .db-card[data-behavior=interactive]:hover:not(:disabled,
162
+ [aria-disabled=true],
163
+ [tabindex="-1"],
164
+ :has(:disabled)):is(textarea), .db-card[data-behavior=interactive]:hover:not(:disabled,
165
+ [aria-disabled=true],
166
+ [tabindex="-1"],
167
+ :has(:disabled)):is(input) {
117
168
  cursor: initial;
118
169
  }
119
- .db-card[data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-card[data-behavior=interactive]:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
170
+ .db-card[data-behavior=interactive]:hover:not(:disabled,
171
+ [aria-disabled=true],
172
+ [tabindex="-1"],
173
+ :has(:disabled)):is(input[type=checkbox]), .db-card[data-behavior=interactive]:hover:not(:disabled,
174
+ [aria-disabled=true],
175
+ [tabindex="-1"],
176
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
120
177
  cursor: pointer;
121
178
  }
122
- .db-card[data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]) {
179
+ .db-card[data-behavior=interactive]:active:not(:disabled,
180
+ [aria-disabled=true],
181
+ [tabindex="-1"],
182
+ :has(:disabled)) {
123
183
  cursor: var(--db-overwrite-cursor, pointer);
124
184
  background-color: var(--db-card-background-color-pressed);
125
185
  }
126
- .db-card[data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-card[data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(input) {
186
+ .db-card[data-behavior=interactive]:active:not(:disabled,
187
+ [aria-disabled=true],
188
+ [tabindex="-1"],
189
+ :has(:disabled)):is(textarea), .db-card[data-behavior=interactive]:active:not(:disabled,
190
+ [aria-disabled=true],
191
+ [tabindex="-1"],
192
+ :has(:disabled)):is(input) {
127
193
  cursor: initial;
128
194
  }
129
- .db-card[data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-card[data-behavior=interactive]:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
195
+ .db-card[data-behavior=interactive]:active:not(:disabled,
196
+ [aria-disabled=true],
197
+ [tabindex="-1"],
198
+ :has(:disabled)):is(input[type=checkbox]), .db-card[data-behavior=interactive]:active:not(:disabled,
199
+ [aria-disabled=true],
200
+ [tabindex="-1"],
201
+ :has(:disabled)):is(input[type=radio]:not(:checked)) {
130
202
  cursor: pointer;
131
203
  }
132
204
  .db-card[data-elevation-level="2"] {
@@ -71,6 +71,7 @@
71
71
  text-transform: none;
72
72
  overflow: clip;
73
73
  vertical-align: var(--db-icon-vertical-align, middle);
74
+ /* stylelint-disable-next-line db-ux/use-sizing */
74
75
  block-size: var(--db-icon-font-size, 1.5rem);
75
76
  aspect-ratio: 1;
76
77
  flex-shrink: 0;