@db-ux/core-components 4.3.2 → 4.4.0-loading-567cd0c
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.
- package/CHANGELOG.md +8 -0
- package/build/components/accordion-item/accordion-item.css +6 -0
- package/build/components/button/button.css +43 -0
- package/build/components/button/button.scss +4 -0
- package/build/components/custom-select/custom-select.css +9 -9
- package/build/components/custom-select-dropdown/custom-select-dropdown.css +2 -21
- package/build/components/custom-select-dropdown/custom-select-dropdown.scss +2 -10
- package/build/components/drawer/drawer.css +6 -0
- package/build/components/link/link.css +6 -0
- package/build/components/loading-indicator/loading-indicator.css +591 -0
- package/build/components/loading-indicator/loading-indicator.scss +515 -0
- package/build/components/navigation-item/navigation-item.css +6 -0
- package/build/components/notification/notification.css +6 -0
- package/build/components/popover/popover.css +6 -0
- package/build/components/select/select.css +2 -1
- package/build/components/select/select.scss +4 -1
- package/build/components/tab-list/tab-list.css +6 -0
- package/build/components/tag/tag.css +6 -0
- package/build/components/textarea/textarea.css +6 -0
- package/build/components/tooltip/tooltip.css +6 -0
- package/build/styles/absolute.css +18 -4
- package/build/styles/component-animations.css +1 -1
- package/build/styles/index.css +17 -3
- package/build/styles/index.scss +2 -0
- package/build/styles/internal/_custom-elements.scss +2 -0
- package/build/styles/internal/_form-components.scss +7 -1
- package/build/styles/internal/_loading.scss +76 -0
- package/build/styles/relative.css +18 -4
- package/build/styles/rollup.css +18 -4
- package/build/styles/wc-workarounds.css +1 -1
- package/build/styles/wc-workarounds.scss +1 -0
- package/build/styles/webpack.css +18 -4
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @db-ux/core-components
|
|
2
2
|
|
|
3
|
+
## 4.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- feat: add `role` property to DBNotification & automatically add role based on semantic if no `role` or `ariaLive` is provided to increase UX for screen-reader users - [see commit 177d71e](https://github.com/db-ux-design-system/core-web/commit/177d71e287a64a6491ba446e7812d0adbda1717e)
|
|
8
|
+
|
|
9
|
+
- feat(DBSelect): hide empty first option in `required` selects with placeholder after the first user selection, and add `showEmptyOption` prop to overwrite this - [see commit 4280bc4](https://github.com/db-ux-design-system/core-web/commit/4280bc47538d6983d6bb5575f012b6c6b25b40e8)
|
|
10
|
+
|
|
3
11
|
## 4.3.2
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
|
@@ -77,6 +77,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
77
77
|
transform: rotate(1turn);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
+
@keyframes wobbling {
|
|
81
|
+
50% {
|
|
82
|
+
inset-inline-start: 100%;
|
|
83
|
+
transform: translateX(calc(-100% - var(--db-loading-indicator-progress-bar-segment-padding, 2px)));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
80
86
|
.db-accordion-item > details > summary:not([data-show-icon-trailing=false])::after {
|
|
81
87
|
color: var(--db-icon-color, inherit);
|
|
82
88
|
display: inline-block;
|
|
@@ -154,6 +154,48 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
154
154
|
display: inline-flex;
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
+
.db-button .db-loading-indicator:not([data-overlay]) div label, .db-button .db-loading-indicator:not([data-overlay=true]) div label,
|
|
158
|
+
.db-button .db-loading-indicator:not([data-overlay]) div span,
|
|
159
|
+
.db-button .db-loading-indicator:not([data-overlay=true]) div span {
|
|
160
|
+
display: none;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.db-button:has(.db-loading-indicator:not([data-overlay=true]))[data-icon]::before, .db-button:has(.db-loading-indicator:not([data-overlay=true]))[data-icon-before]::before {
|
|
164
|
+
display: none;
|
|
165
|
+
}
|
|
166
|
+
.db-button:has(.db-loading-indicator:not([data-overlay=true]))[data-icon-after]::after {
|
|
167
|
+
display: none;
|
|
168
|
+
}
|
|
169
|
+
.db-button:has(.db-loading-indicator[data-state=inactive]) .db-loading-indicator {
|
|
170
|
+
display: none;
|
|
171
|
+
}
|
|
172
|
+
.db-button .db-loading-indicator:not([data-state=successful], [data-state=critical]) {
|
|
173
|
+
--db-loading-indicator-segment-color: currentcolor;
|
|
174
|
+
--db-loading-indicator-segment-color-overlay: currentcolor;
|
|
175
|
+
}
|
|
176
|
+
.db-button .db-loading-indicator:not([data-overlay]), .db-button .db-loading-indicator:not([data-overlay=true]) {
|
|
177
|
+
margin-inline-end: var(--db-spacing-fixed-xs);
|
|
178
|
+
}
|
|
179
|
+
.db-button .db-loading-indicator[data-overlay=true] {
|
|
180
|
+
background-color: transparent;
|
|
181
|
+
}
|
|
182
|
+
.db-button .db-loading-indicator[data-overlay=true]::before {
|
|
183
|
+
z-index: 1;
|
|
184
|
+
background-color: var(--db-loading-indicator-button-overlay-color, inherit);
|
|
185
|
+
}
|
|
186
|
+
.db-button .db-loading-indicator[data-overlay=true]::after {
|
|
187
|
+
z-index: 0;
|
|
188
|
+
content: "";
|
|
189
|
+
position: absolute;
|
|
190
|
+
inset: 0;
|
|
191
|
+
border-radius: inherit;
|
|
192
|
+
background-color: var(--db-adaptive-bg-basic-level-1-default);
|
|
193
|
+
}
|
|
194
|
+
.db-button .db-loading-indicator[data-overlay=true] svg,
|
|
195
|
+
.db-button .db-loading-indicator[data-overlay=true] div {
|
|
196
|
+
z-index: 2;
|
|
197
|
+
}
|
|
198
|
+
|
|
157
199
|
.db-button {
|
|
158
200
|
max-inline-size: 100%;
|
|
159
201
|
color: var(--db-adaptive-on-bg-basic-emphasis-100-default);
|
|
@@ -193,6 +235,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
193
235
|
inline-size: 100%;
|
|
194
236
|
}
|
|
195
237
|
.db-button[data-variant=brand] {
|
|
238
|
+
--db-loading-indicator-button-overlay-color: var(--db-brand-origin-default);
|
|
196
239
|
background-color: var(--db-brand-origin-default);
|
|
197
240
|
color: var(--db-brand-on-origin-default);
|
|
198
241
|
border-color: var(--db-brand-on-bg-basic-emphasis-70-default);
|
|
@@ -6,11 +6,13 @@
|
|
|
6
6
|
@use "@db-ux/core-foundations/build/styles/helpers";
|
|
7
7
|
@use "../../styles/internal/component";
|
|
8
8
|
@use "../../styles/internal/button-components";
|
|
9
|
+
@use "../../styles/internal/loading";
|
|
9
10
|
|
|
10
11
|
// generic styles can be found in _button-components.scss
|
|
11
12
|
.db-button {
|
|
12
13
|
@extend %default-interactive-component;
|
|
13
14
|
@extend %default-button;
|
|
15
|
+
@extend %interactive-element-with-loading;
|
|
14
16
|
@extend %db-overwrite-font-size-md;
|
|
15
17
|
|
|
16
18
|
max-inline-size: 100%;
|
|
@@ -62,6 +64,8 @@
|
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
&[data-variant="brand"] {
|
|
67
|
+
--db-loading-indicator-button-overlay-color: #{colors.$db-brand-origin-default};
|
|
68
|
+
|
|
65
69
|
background-color: colors.$db-brand-origin-default;
|
|
66
70
|
color: colors.$db-brand-on-origin-default;
|
|
67
71
|
border-color: colors.$db-brand-on-bg-basic-emphasis-70-default;
|
|
@@ -645,7 +645,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
645
645
|
|
|
646
646
|
@layer variables {}
|
|
647
647
|
|
|
648
|
-
.db-custom-select[data-variant=floating]:has(
|
|
648
|
+
.db-custom-select[data-variant=floating]:has(:focus-within,
|
|
649
649
|
summary:is(input, textarea):not(:placeholder-shown),
|
|
650
650
|
> select option:checked:not(.placeholder),
|
|
651
651
|
input[type=checkbox]:checked,
|
|
@@ -654,7 +654,7 @@ input[type=radio]:checked) > label {
|
|
|
654
654
|
/* stylelint-disable-next-line at-rule-prelude-no-invalid,layer-name-pattern */
|
|
655
655
|
}
|
|
656
656
|
@layer variables {
|
|
657
|
-
.db-custom-select[data-variant=floating]:has(
|
|
657
|
+
.db-custom-select[data-variant=floating]:has(:focus-within,
|
|
658
658
|
summary:is(input, textarea):not(:placeholder-shown),
|
|
659
659
|
> select option:checked:not(.placeholder),
|
|
660
660
|
input[type=checkbox]:checked,
|
|
@@ -881,7 +881,7 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
|
|
|
881
881
|
/* stylelint-disable-next-line db-ux/use-spacings */
|
|
882
882
|
padding-block-start: var(--db-base-body-icon-font-size-2xs);
|
|
883
883
|
}
|
|
884
|
-
.db-custom-select[data-variant=floating]:has(
|
|
884
|
+
.db-custom-select[data-variant=floating]:has(:focus-within,
|
|
885
885
|
summary:is(input, textarea):not(:placeholder-shown),
|
|
886
886
|
> select option:checked:not(.placeholder),
|
|
887
887
|
input[type=checkbox]:checked,
|
|
@@ -890,12 +890,12 @@ input[type=radio]:checked) > label {
|
|
|
890
890
|
opacity: 1;
|
|
891
891
|
font-style: normal;
|
|
892
892
|
}
|
|
893
|
-
.db-custom-select[data-variant=floating]:has(
|
|
893
|
+
.db-custom-select[data-variant=floating]:has(:focus-within,
|
|
894
894
|
summary:is(input, textarea):not(:placeholder-shown),
|
|
895
895
|
> select option:checked:not(.placeholder),
|
|
896
896
|
input[type=checkbox]:checked,
|
|
897
897
|
input[type=radio]:checked) summary::placeholder,
|
|
898
|
-
.db-custom-select[data-variant=floating]:has(
|
|
898
|
+
.db-custom-select[data-variant=floating]:has(:focus-within,
|
|
899
899
|
summary:is(input, textarea):not(:placeholder-shown),
|
|
900
900
|
> select option:checked:not(.placeholder),
|
|
901
901
|
input[type=checkbox]:checked,
|
|
@@ -907,12 +907,12 @@ input[type=radio]:checked) [id$=-placeholder] {
|
|
|
907
907
|
padding-block-start: var(--db-base-body-icon-font-size-2xs);
|
|
908
908
|
}
|
|
909
909
|
@media screen and (prefers-reduced-motion: no-preference) {
|
|
910
|
-
.db-custom-select[data-variant=floating]:has(
|
|
910
|
+
.db-custom-select[data-variant=floating]:has(:focus-within,
|
|
911
911
|
summary:is(input, textarea):not(:placeholder-shown),
|
|
912
912
|
> select option:checked:not(.placeholder),
|
|
913
913
|
input[type=checkbox]:checked,
|
|
914
914
|
input[type=radio]:checked) summary::placeholder,
|
|
915
|
-
.db-custom-select[data-variant=floating]:has(
|
|
915
|
+
.db-custom-select[data-variant=floating]:has(:focus-within,
|
|
916
916
|
summary:is(input, textarea):not(:placeholder-shown),
|
|
917
917
|
> select option:checked:not(.placeholder),
|
|
918
918
|
input[type=checkbox]:checked,
|
|
@@ -920,7 +920,7 @@ input[type=radio]:checked) [id$=-placeholder] {
|
|
|
920
920
|
transition: opacity var(--db-transition-straight-emotional);
|
|
921
921
|
}
|
|
922
922
|
}
|
|
923
|
-
.db-custom-select[data-variant=floating]:has(
|
|
923
|
+
.db-custom-select[data-variant=floating]:has(:focus-within,
|
|
924
924
|
summary:is(input, textarea):not(:placeholder-shown),
|
|
925
925
|
> select option:checked:not(.placeholder),
|
|
926
926
|
input[type=checkbox]:checked,
|
|
@@ -946,7 +946,7 @@ input[type=radio]:checked) summary:is([type=date],
|
|
|
946
946
|
padding-block-start: var(--db-base-body-icon-font-size-2xs);
|
|
947
947
|
}
|
|
948
948
|
@media screen and (prefers-reduced-motion: no-preference) {
|
|
949
|
-
.db-custom-select[data-variant=floating]:has(
|
|
949
|
+
.db-custom-select[data-variant=floating]:has(:focus-within,
|
|
950
950
|
summary:is(input, textarea):not(:placeholder-shown),
|
|
951
951
|
> select option:checked:not(.placeholder),
|
|
952
952
|
input[type=checkbox]:checked,
|
|
@@ -219,21 +219,6 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
219
219
|
* @mixin screen-min-max
|
|
220
220
|
* @param $data an object like (min:"sm", max:"lg") or (min: "sm")
|
|
221
221
|
*/
|
|
222
|
-
@keyframes popover-animation {
|
|
223
|
-
0% {
|
|
224
|
-
opacity: 0;
|
|
225
|
-
transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
|
|
226
|
-
}
|
|
227
|
-
100% {
|
|
228
|
-
opacity: 1;
|
|
229
|
-
transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
@keyframes rotate {
|
|
233
|
-
100% {
|
|
234
|
-
transform: rotate(1turn);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
222
|
/**
|
|
238
223
|
Generates 3 types of placeholders, e.g:
|
|
239
224
|
- %db-component-variables-md
|
|
@@ -427,14 +412,10 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
427
412
|
display: none;
|
|
428
413
|
}
|
|
429
414
|
}
|
|
415
|
+
.db-custom-select-dropdown > db-loading-indicator > .db-loading-indicator,
|
|
416
|
+
.db-custom-select-dropdown > .db-loading-indicator,
|
|
430
417
|
.db-custom-select-dropdown > db-infotext > .db-infotext,
|
|
431
418
|
.db-custom-select-dropdown > .db-infotext {
|
|
432
419
|
padding: var(--db-spacing-fixed-lg) var(--db-spacing-fixed-md);
|
|
433
420
|
margin: auto;
|
|
434
421
|
}
|
|
435
|
-
@media screen and (prefers-reduced-motion: no-preference) {
|
|
436
|
-
.db-custom-select-dropdown > db-infotext > .db-infotext[data-icon=circular_arrows]::before,
|
|
437
|
-
.db-custom-select-dropdown > .db-infotext[data-icon=circular_arrows]::before {
|
|
438
|
-
animation: rotate 1.5s linear 0s infinite normal none running;
|
|
439
|
-
}
|
|
440
|
-
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
@use "@db-ux/core-foundations/build/styles/colors";
|
|
3
3
|
@use "@db-ux/core-foundations/build/styles/screen-sizes";
|
|
4
4
|
@use "@db-ux/core-foundations/build/styles/helpers";
|
|
5
|
-
@use "@db-ux/core-foundations/build/styles/animation";
|
|
6
5
|
@use "../../styles/internal/form-components";
|
|
7
6
|
|
|
8
7
|
.db-custom-select-dropdown {
|
|
@@ -69,18 +68,11 @@
|
|
|
69
68
|
}
|
|
70
69
|
}
|
|
71
70
|
|
|
71
|
+
> db-loading-indicator > .db-loading-indicator,
|
|
72
|
+
> .db-loading-indicator,
|
|
72
73
|
> db-infotext > .db-infotext,
|
|
73
74
|
> .db-infotext {
|
|
74
75
|
padding: variables.$db-spacing-fixed-lg variables.$db-spacing-fixed-md;
|
|
75
76
|
margin: auto;
|
|
76
|
-
|
|
77
|
-
&[data-icon="circular_arrows"] {
|
|
78
|
-
&::before {
|
|
79
|
-
@media screen and (prefers-reduced-motion: no-preference) {
|
|
80
|
-
animation: rotate 1.5s linear 0s infinite normal none
|
|
81
|
-
running;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
77
|
}
|
|
86
78
|
}
|
|
@@ -58,6 +58,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
58
58
|
transform: rotate(1turn);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
+
@keyframes wobbling {
|
|
62
|
+
50% {
|
|
63
|
+
inset-inline-start: 100%;
|
|
64
|
+
transform: translateX(calc(-100% - var(--db-loading-indicator-progress-bar-segment-padding, 2px)));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
61
67
|
/**
|
|
62
68
|
* @mixin screen-min-max
|
|
63
69
|
* @param $data an object like (min:"sm", max:"lg") or (min: "sm")
|
|
@@ -144,6 +144,12 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
|
|
|
144
144
|
transform: rotate(1turn);
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
|
+
@keyframes wobbling {
|
|
148
|
+
50% {
|
|
149
|
+
inset-inline-start: 100%;
|
|
150
|
+
transform: translateX(calc(-100% - var(--db-loading-indicator-progress-bar-segment-padding, 2px)));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
147
153
|
.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 {
|
|
148
154
|
color: var(--db-icon-color, inherit);
|
|
149
155
|
display: inline-block;
|