@db-ux/core-components 4.4.0-loading-567cd0c → 4.4.1-floating-components-066d296

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 (30) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/components/accordion-item/accordion-item.css +0 -6
  3. package/build/components/button/button.css +0 -43
  4. package/build/components/button/button.scss +0 -4
  5. package/build/components/custom-select-dropdown/custom-select-dropdown.css +21 -2
  6. package/build/components/custom-select-dropdown/custom-select-dropdown.scss +10 -2
  7. package/build/components/drawer/drawer.css +0 -6
  8. package/build/components/link/link.css +0 -6
  9. package/build/components/navigation-item/navigation-item.css +0 -6
  10. package/build/components/notification/notification.css +0 -6
  11. package/build/components/popover/popover.css +26 -6
  12. package/build/components/tab-list/tab-list.css +0 -6
  13. package/build/components/tag/tag.css +0 -6
  14. package/build/components/textarea/textarea.css +0 -6
  15. package/build/components/tooltip/tooltip.css +26 -6
  16. package/build/styles/absolute.css +4 -18
  17. package/build/styles/component-animations.css +1 -1
  18. package/build/styles/index.css +3 -17
  19. package/build/styles/index.scss +0 -2
  20. package/build/styles/internal/_custom-elements.scss +0 -2
  21. package/build/styles/internal/_popover-component.scss +15 -5
  22. package/build/styles/relative.css +4 -18
  23. package/build/styles/rollup.css +4 -18
  24. package/build/styles/wc-workarounds.css +1 -1
  25. package/build/styles/wc-workarounds.scss +0 -1
  26. package/build/styles/webpack.css +4 -18
  27. package/package.json +2 -2
  28. package/build/components/loading-indicator/loading-indicator.css +0 -591
  29. package/build/components/loading-indicator/loading-indicator.scss +0 -515
  30. package/build/styles/internal/_loading.scss +0 -76
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@db-ux/core-components",
3
- "version": "4.4.0-loading-567cd0c",
3
+ "version": "4.4.1-floating-components-066d296",
4
4
  "type": "module",
5
5
  "description": "General technical components (styling, fonts and icons) out of DB UX Design System (Version 3)",
6
6
  "repository": {
@@ -49,7 +49,7 @@
49
49
  "start": "nodemon --watch src --watch scripts --watch scripts --ext js,tsx,ts,scss,json --exec \"npm run build\""
50
50
  },
51
51
  "dependencies": {
52
- "@db-ux/core-foundations": "4.4.0-loading-567cd0c"
52
+ "@db-ux/core-foundations": "4.4.1-floating-components-066d296"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@builder.io/eslint-plugin-mitosis": "0.0.17",
@@ -1,591 +0,0 @@
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
- @keyframes popover-animation {
12
- 0% {
13
- opacity: 0;
14
- transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
15
- }
16
- 100% {
17
- opacity: 1;
18
- transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
19
- }
20
- }
21
- @keyframes rotate {
22
- 100% {
23
- transform: rotate(1turn);
24
- }
25
- }
26
- @keyframes wobbling {
27
- 50% {
28
- inset-inline-start: 100%;
29
- transform: translateX(calc(-100% - var(--db-loading-indicator-progress-bar-segment-padding, 2px)));
30
- }
31
- }
32
- /* Variants for adaptive components like input, select, notification, ... */
33
- @layer variables {}
34
-
35
- @layer variables {}
36
-
37
- @layer variables {}
38
-
39
- @layer variables {}
40
-
41
- @layer variables {}
42
-
43
- @layer variables {}
44
-
45
- @layer variables {}
46
-
47
- @layer variables {}
48
-
49
- @layer variables {}
50
-
51
- @layer variables {}
52
-
53
- @layer variables {}
54
-
55
- @layer variables {}
56
-
57
- @layer variables {}
58
-
59
- @layer variables {}
60
-
61
- @layer variables {}
62
-
63
- @layer variables {}
64
-
65
- @layer variables {}
66
-
67
- /**
68
- Generates 3 types of placeholders, e.g:
69
- - %db-component-variables-md
70
- - %db-font-size-md
71
- - %db-overwrite-font-size-md
72
- */
73
- @layer variables {}
74
-
75
- @layer variables {}
76
-
77
- @layer variables {}
78
-
79
- @layer variables {}
80
-
81
- @layer variables {}
82
-
83
- @layer variables {}
84
-
85
- @layer variables {}
86
-
87
- @layer variables {}
88
-
89
- @layer variables {}
90
-
91
- @layer variables {}
92
-
93
- @layer variables {}
94
-
95
- @layer variables {}
96
-
97
- @layer variables {}
98
-
99
- .db-loading-indicator:not([data-variant]):not([data-size]) svg, .db-loading-indicator:not([data-variant])[data-size=medium] svg, [data-variant=inline].db-loading-indicator:not([data-size]) svg, [data-variant=inline][data-size=medium].db-loading-indicator svg {
100
- font: var(--db-type-body-md);
101
- /* stylelint-disable-next-line at-rule-prelude-no-invalid,layer-name-pattern */
102
- }
103
- @layer variables {
104
- .db-loading-indicator:not([data-variant]):not([data-size]) svg, .db-loading-indicator:not([data-variant])[data-size=medium] svg, [data-variant=inline].db-loading-indicator:not([data-size]) svg, [data-variant=inline][data-size=medium].db-loading-indicator svg {
105
- /* Those variables are only for components to calculate heights and change icons */
106
- --db-icon-font-weight: var(--db-base-body-icon-weight-md);
107
- --db-icon-font-size: var(--db-base-body-icon-font-size-md);
108
- }
109
- }
110
-
111
- @layer variables {}
112
-
113
- @layer variables {}
114
-
115
- .db-loading-indicator:not([data-variant])[data-size=small] svg, [data-variant=inline][data-size=small].db-loading-indicator svg, .db-loading-indicator:not([data-variant]):not([data-size]) div > label::before, .db-loading-indicator:not([data-variant])[data-size=medium] div > label::before, [data-variant=inline].db-loading-indicator:not([data-size]) div > label::before, [data-variant=inline][data-size=medium].db-loading-indicator div > label::before {
116
- font: var(--db-type-body-sm);
117
- /* stylelint-disable-next-line at-rule-prelude-no-invalid,layer-name-pattern */
118
- }
119
- @layer variables {
120
- .db-loading-indicator:not([data-variant])[data-size=small] svg, [data-variant=inline][data-size=small].db-loading-indicator svg, .db-loading-indicator:not([data-variant]):not([data-size]) div > label::before, .db-loading-indicator:not([data-variant])[data-size=medium] div > label::before, [data-variant=inline].db-loading-indicator:not([data-size]) div > label::before, [data-variant=inline][data-size=medium].db-loading-indicator div > label::before {
121
- /* Those variables are only for components to calculate heights and change icons */
122
- --db-icon-font-weight: var(--db-base-body-icon-weight-sm);
123
- --db-icon-font-size: var(--db-base-body-icon-font-size-sm);
124
- }
125
- }
126
-
127
- @layer variables {}
128
-
129
- @layer variables {}
130
-
131
- .db-loading-indicator div > span,
132
- .db-loading-indicator div > label, .db-loading-indicator:not([data-variant])[data-size=small] div > label::before, [data-variant=inline][data-size=small].db-loading-indicator div > label::before {
133
- font: var(--db-type-body-xs);
134
- /* stylelint-disable-next-line at-rule-prelude-no-invalid,layer-name-pattern */
135
- }
136
- @layer variables {
137
- .db-loading-indicator div > span,
138
- .db-loading-indicator div > label, .db-loading-indicator:not([data-variant])[data-size=small] div > label::before, [data-variant=inline][data-size=small].db-loading-indicator div > label::before {
139
- /* Those variables are only for components to calculate heights and change icons */
140
- --db-icon-font-weight: var(--db-base-body-icon-weight-xs);
141
- --db-icon-font-size: var(--db-base-body-icon-font-size-xs);
142
- }
143
- }
144
-
145
- @layer variables {}
146
-
147
- @layer variables {}
148
-
149
- @layer variables {}
150
-
151
- @layer variables {}
152
-
153
- @layer variables {}
154
-
155
- @layer variables {}
156
-
157
- @layer variables {}
158
-
159
- /* Use for body tags like <p> */
160
- /* Use for headline tags like <h1> */
161
- [data-state=successful].db-loading-indicator:not([data-variant]) div:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=inline].db-loading-indicator div:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=progress-bar].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=onsite].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=critical].db-loading-indicator:not([data-variant]) div:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=inline].db-loading-indicator div:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=progress-bar].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=onsite].db-loading-indicator div > label:not([data-show-icon-leading=false])::before {
162
- color: var(--db-icon-color, inherit);
163
- display: inline-block;
164
- /*** icon - placeholder ***/
165
- font-family: var(--db-icon-font-family, var(--db-icon-default-font-family, "db-ux-default", "icon-font-fallback")) !important;
166
- font-size: var(--db-icon-font-size, 1.5rem);
167
- -webkit-font-smoothing: antialiased;
168
- -moz-osx-font-smoothing: grayscale;
169
- font-style: normal;
170
- font-variant: normal;
171
- font-weight: var(--db-icon-font-weight, normal);
172
- line-height: 1;
173
- /* stylelint-disable-next-line declaration-property-value-no-unknown */
174
- speak: none;
175
- /* stylelint-disable-next-line declaration-property-value-no-unknown */
176
- speak: never;
177
- text-transform: none;
178
- overflow: clip;
179
- vertical-align: var(--db-icon-vertical-align, middle);
180
- block-size: var(--db-icon-font-size, 1.5rem);
181
- aspect-ratio: 1;
182
- flex-shrink: 0;
183
- content: var(--db-icon, attr(data-icon));
184
- }
185
- @supports (content: ""/"") {
186
- [data-state=successful].db-loading-indicator:not([data-variant]) div:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=inline].db-loading-indicator div:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=progress-bar].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=onsite].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=critical].db-loading-indicator:not([data-variant]) div:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=inline].db-loading-indicator div:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=progress-bar].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=onsite].db-loading-indicator div > label:not([data-show-icon-leading=false])::before {
187
- content: var(--db-icon, attr(data-icon))/"";
188
- }
189
- }
190
- @media aural {
191
- [data-state=successful].db-loading-indicator:not([data-variant]) div:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=inline].db-loading-indicator div:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=progress-bar].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=onsite].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=critical].db-loading-indicator:not([data-variant]) div:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=inline].db-loading-indicator div:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=progress-bar].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=onsite].db-loading-indicator div > label:not([data-show-icon-leading=false])::before {
192
- content: none;
193
- }
194
- }
195
- @media speech {
196
- [data-state=successful].db-loading-indicator:not([data-variant]) div:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=inline].db-loading-indicator div:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=progress-bar].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=onsite].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=critical].db-loading-indicator:not([data-variant]) div:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=inline].db-loading-indicator div:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=progress-bar].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=onsite].db-loading-indicator div > label:not([data-show-icon-leading=false])::before {
197
- content: none;
198
- }
199
- }
200
-
201
- dialog {
202
- padding: 0;
203
- margin: 0;
204
- border: 0;
205
- z-index: 9996;
206
- color: inherit;
207
- }
208
- dialog:not([data-position=absolute])[data-variant], dialog:not([data-position=absolute])[data-backdrop] {
209
- position: fixed;
210
- inset: 0;
211
- z-index: 9995;
212
- }
213
- dialog:not([data-position=absolute])[data-variant=inside]:not([data-backdrop=none])::before {
214
- content: "";
215
- position: fixed;
216
- inset: 0;
217
- }
218
- dialog:not([data-backdrop=none])::backdrop, dialog:not([data-backdrop=none])::before {
219
- background-color: color(from var(--db-adaptive-on-bg-basic-emphasis-100-default) srgb r g b/var(--db-opacity-lg));
220
- }
221
- dialog:not([data-backdrop=none])[data-backdrop=invisible]::backdrop, dialog:not([data-backdrop=none])[data-backdrop=invisible]::before {
222
- background-color: transparent;
223
- }
224
- dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data-backdrop=none])[data-backdrop=weak]::before {
225
- background-color: color(from var(--db-adaptive-on-bg-basic-emphasis-100-default) srgb r g b/var(--db-opacity-sm));
226
- }
227
-
228
- [data-overlay=true].db-loading-indicator div label,
229
- [data-overlay=true].db-loading-indicator div span {
230
- display: none;
231
- }
232
-
233
- .db-loading-indicator div {
234
- display: flex;
235
- }
236
- .db-loading-indicator div > label {
237
- display: inline-flex;
238
- align-items: center;
239
- }
240
- .db-loading-indicator div > label > progress {
241
- display: none;
242
- }
243
- .db-loading-indicator div > span,
244
- .db-loading-indicator div > label {
245
- color: var(--db-adaptive-on-bg-basic-emphasis-80-default);
246
- }
247
- .db-loading-indicator:not([data-variant]), [data-variant=inline].db-loading-indicator {
248
- flex-direction: row;
249
- }
250
- .db-loading-indicator:not([data-variant]) div, [data-variant=inline].db-loading-indicator div {
251
- flex-direction: column;
252
- }
253
- [data-variant=progress-bar].db-loading-indicator, [data-variant=onsite].db-loading-indicator {
254
- flex-direction: column;
255
- }
256
- [data-variant=onsite].db-loading-indicator div > span {
257
- position: absolute;
258
- inset-block-start: calc(var(--db-loading-indicator-spinner-inline-size) / 2);
259
- inset-inline-start: calc(var(--db-loading-indicator-spinner-inline-size) / 2);
260
- transform: translate(-50%, -50%);
261
- }
262
- .db-loading-indicator [data-show-label=false],
263
- .db-loading-indicator [data-show-progress-text=false] {
264
- display: none;
265
- }
266
-
267
- .db-loading-indicator:not([data-state]):not([data-indeterminate]):not([data-variant]) svg, .db-loading-indicator[data-variant=inline]:not([data-state]):not([data-indeterminate]) svg, .db-loading-indicator[data-variant=onsite]:not([data-state]):not([data-indeterminate]) svg, .db-loading-indicator:not([data-state])[data-indeterminate=true]:not([data-variant]) svg, .db-loading-indicator[data-variant=inline]:not([data-state])[data-indeterminate=true] svg, .db-loading-indicator[data-variant=onsite]:not([data-state])[data-indeterminate=true] svg, [data-state=active].db-loading-indicator:not([data-indeterminate]):not([data-variant]) svg, [data-state=active].db-loading-indicator[data-variant=inline]:not([data-indeterminate]) svg, [data-state=active].db-loading-indicator[data-variant=onsite]:not([data-indeterminate]) svg, [data-state=active][data-indeterminate=true].db-loading-indicator:not([data-variant]) svg, [data-state=active][data-indeterminate=true].db-loading-indicator[data-variant=inline] svg, [data-state=active][data-indeterminate=true].db-loading-indicator[data-variant=onsite] svg {
268
- animation: rotate 1.5s linear 0s infinite normal none running;
269
- }
270
- @media screen and (prefers-reduced-motion: reduce) {
271
- .db-loading-indicator:not([data-state]):not([data-indeterminate]):not([data-variant]) svg, .db-loading-indicator[data-variant=inline]:not([data-state]):not([data-indeterminate]) svg, .db-loading-indicator[data-variant=onsite]:not([data-state]):not([data-indeterminate]) svg, .db-loading-indicator:not([data-state])[data-indeterminate=true]:not([data-variant]) svg, .db-loading-indicator[data-variant=inline]:not([data-state])[data-indeterminate=true] svg, .db-loading-indicator[data-variant=onsite]:not([data-state])[data-indeterminate=true] svg, [data-state=active].db-loading-indicator:not([data-indeterminate]):not([data-variant]) svg, [data-state=active].db-loading-indicator[data-variant=inline]:not([data-indeterminate]) svg, [data-state=active].db-loading-indicator[data-variant=onsite]:not([data-indeterminate]) svg, [data-state=active][data-indeterminate=true].db-loading-indicator:not([data-variant]) svg, [data-state=active][data-indeterminate=true].db-loading-indicator[data-variant=inline] svg, [data-state=active][data-indeterminate=true].db-loading-indicator[data-variant=onsite] svg {
272
- animation-duration: 5s;
273
- }
274
- }
275
- .db-loading-indicator:not([data-state]):not([data-indeterminate]):not([data-variant]) .db-loading-indicator-circle-segment, .db-loading-indicator:not([data-state]):not([data-indeterminate])[data-variant=inline] .db-loading-indicator-circle-segment, .db-loading-indicator:not([data-state])[data-indeterminate=true]:not([data-variant]) .db-loading-indicator-circle-segment, .db-loading-indicator:not([data-state])[data-indeterminate=true][data-variant=inline] .db-loading-indicator-circle-segment, [data-state=active].db-loading-indicator:not([data-indeterminate]):not([data-variant]) .db-loading-indicator-circle-segment, [data-state=active].db-loading-indicator:not([data-indeterminate])[data-variant=inline] .db-loading-indicator-circle-segment, [data-state=active][data-indeterminate=true].db-loading-indicator:not([data-variant]) .db-loading-indicator-circle-segment, [data-state=active][data-indeterminate=true][data-variant=inline].db-loading-indicator .db-loading-indicator-circle-segment {
276
- stroke-dashoffset: calc(calc(var(--circle) * 2 - var(--stroke-width)) - calc(var(--circle) / 2 - var(--stroke-width)));
277
- }
278
- .db-loading-indicator:not([data-state]):not([data-indeterminate])[data-variant=onsite] .db-loading-indicator-circle-segment, .db-loading-indicator:not([data-state])[data-indeterminate=true][data-variant=onsite] .db-loading-indicator-circle-segment, [data-state=active].db-loading-indicator:not([data-indeterminate])[data-variant=onsite] .db-loading-indicator-circle-segment, [data-state=active][data-indeterminate=true][data-variant=onsite].db-loading-indicator .db-loading-indicator-circle-segment {
279
- stroke-dashoffset: calc(calc(var(--circle) * 2 + var(--stroke-width) + var(--radius)) - calc(var(--circle) / 2 - var(--stroke-width)));
280
- }
281
- .db-loading-indicator:not([data-state])[data-indeterminate=false]:not([data-variant]) .db-loading-indicator-circle-segment, .db-loading-indicator:not([data-state])[data-indeterminate=false][data-variant=inline] .db-loading-indicator-circle-segment, [data-state=active][data-indeterminate=false].db-loading-indicator:not([data-variant]) .db-loading-indicator-circle-segment, [data-state=active][data-indeterminate=false][data-variant=inline].db-loading-indicator .db-loading-indicator-circle-segment {
282
- stroke-dashoffset: calc((1 - var(--db-loading-indicator-percentage, 0)) * calc(var(--circle) * 2 - var(--stroke-width)));
283
- }
284
- .db-loading-indicator:not([data-state])[data-indeterminate=false][data-variant=onsite] .db-loading-indicator-circle-segment, [data-state=active][data-indeterminate=false][data-variant=onsite].db-loading-indicator .db-loading-indicator-circle-segment {
285
- stroke-dashoffset: calc((1 - var(--db-loading-indicator-percentage, 0)) * calc(var(--circle) * 2 + var(--stroke-width) + var(--radius)));
286
- }
287
- [data-indeterminate=false].db-loading-indicator:not([data-variant]) svg, [data-indeterminate=false].db-loading-indicator[data-variant=inline] svg, [data-indeterminate=false].db-loading-indicator[data-variant=onsite] svg {
288
- transform: rotate(-90deg);
289
- }
290
- .db-loading-indicator:not([data-variant]) svg, .db-loading-indicator[data-variant=inline] svg, .db-loading-indicator[data-variant=onsite] svg {
291
- aspect-ratio: 1;
292
- inline-size: var(--db-loading-indicator-spinner-inline-size, 1lh);
293
- }
294
- .db-loading-indicator:not([data-variant]) svg, .db-loading-indicator[data-variant=inline]:not([data-variant]) svg, .db-loading-indicator[data-variant=onsite]:not([data-variant]) svg, [data-variant=inline].db-loading-indicator svg, [data-variant=inline].db-loading-indicator[data-variant=onsite] svg {
295
- --radius: 6px;
296
- --circle: 20px;
297
- --stroke-width: 4px;
298
- }
299
- .db-loading-indicator:not([data-variant]) .db-loading-indicator-circle-segment, .db-loading-indicator[data-variant=inline]:not([data-variant]) .db-loading-indicator-circle-segment, .db-loading-indicator[data-variant=onsite]:not([data-variant]) .db-loading-indicator-circle-segment, [data-variant=inline].db-loading-indicator .db-loading-indicator-circle-segment, [data-variant=inline].db-loading-indicator[data-variant=onsite] .db-loading-indicator-circle-segment {
300
- stroke-dasharray: calc(var(--circle) * 2 - var(--stroke-width));
301
- }
302
- [data-variant=onsite].db-loading-indicator .db-loading-indicator-circle-segment {
303
- stroke-dasharray: calc(var(--circle) * 2 + var(--stroke-width) + var(--radius));
304
- }
305
- [data-variant=onsite].db-loading-indicator svg {
306
- --radius: 27px;
307
- --circle: 64px;
308
- --stroke-width: 10px;
309
- }
310
- [data-variant=onsite][data-size=small].db-loading-indicator {
311
- --db-loading-indicator-spinner-inline-size: var(--db-sizing-md);
312
- }
313
- [data-variant=onsite][data-size=small].db-loading-indicator div > span {
314
- display: none;
315
- }
316
- [data-variant=onsite].db-loading-indicator:not([data-size]), [data-variant=onsite][data-size=medium].db-loading-indicator {
317
- --db-loading-indicator-spinner-inline-size: var(--db-sizing-lg);
318
- }
319
- .db-loading-indicator:not([data-variant]) circle, .db-loading-indicator[data-variant=inline] circle, .db-loading-indicator[data-variant=onsite] circle {
320
- cx: var(--circle);
321
- cy: var(--circle);
322
- r: var(--radius);
323
- stroke-width: var(--stroke-width);
324
- stroke-linecap: round;
325
- fill: none;
326
- }
327
- .db-loading-indicator:not([data-variant]) .db-loading-indicator-circle-track, .db-loading-indicator[data-variant=inline] .db-loading-indicator-circle-track, .db-loading-indicator[data-variant=onsite] .db-loading-indicator-circle-track {
328
- stroke: color(from var(--db-loading-indicator-segment-color) srgb r g b/var(--db-opacity-2xs));
329
- }
330
- .db-loading-indicator:not([data-variant]) .db-loading-indicator-circle-segment, .db-loading-indicator[data-variant=inline] .db-loading-indicator-circle-segment, .db-loading-indicator[data-variant=onsite] .db-loading-indicator-circle-segment {
331
- stroke: var(--db-loading-indicator-segment-color);
332
- }
333
-
334
- .db-loading-indicator[data-variant=progress-bar] {
335
- inline-size: 100%;
336
- }
337
- [data-size=small].db-loading-indicator[data-variant=progress-bar] div::before, [data-size=small].db-loading-indicator[data-variant=progress-bar] div::after {
338
- --db-loading-indicator-progress-bar-track-block-size: var(--db-sizing-3xs);
339
- }
340
- .db-loading-indicator[data-variant=progress-bar]:not([data-size]) div::before, .db-loading-indicator[data-variant=progress-bar]:not([data-size]) div::after, [data-size=medium].db-loading-indicator[data-variant=progress-bar] div::before, [data-size=medium].db-loading-indicator[data-variant=progress-bar] div::after {
341
- --db-loading-indicator-progress-bar-track-block-size: var(--db-sizing-2xs);
342
- }
343
- .db-loading-indicator[data-variant=progress-bar]:not([data-state]) div::after, [data-state=inactive].db-loading-indicator[data-variant=progress-bar] div::after {
344
- inline-size: 0;
345
- }
346
- [data-state=active].db-loading-indicator[data-variant=progress-bar]:not([data-indeterminate]) div::after, [data-state=active][data-indeterminate=true].db-loading-indicator[data-variant=progress-bar] div::after {
347
- inline-size: 25%;
348
- animation: wobbling 2.5s infinite linear;
349
- }
350
- @media screen and (prefers-reduced-motion: reduce) {
351
- [data-state=active].db-loading-indicator[data-variant=progress-bar]:not([data-indeterminate]) div::after, [data-state=active][data-indeterminate=true].db-loading-indicator[data-variant=progress-bar] div::after {
352
- animation-duration: 5s;
353
- }
354
- }
355
- [data-state=active][data-indeterminate=false].db-loading-indicator[data-variant=progress-bar] div::after {
356
- inline-size: calc(var(--db-loading-indicator-percentage, 0) * calc(100% - var(--db-loading-indicator-progress-bar-segment-padding) * 2));
357
- }
358
- [data-state=successful].db-loading-indicator[data-variant=progress-bar] div::after, [data-state=critical].db-loading-indicator[data-variant=progress-bar] div::after {
359
- inline-size: calc(100% - var(--db-loading-indicator-progress-bar-segment-padding) * 2);
360
- }
361
- .db-loading-indicator[data-variant=progress-bar] div {
362
- padding-block-start: calc(var(--db-sizing-2xs) + var(--db-indicator-gap));
363
- position: relative;
364
- flex-direction: row;
365
- justify-content: space-between;
366
- gap: var(--db-spacing-fixed-md);
367
- inline-size: 100%;
368
- align-items: center;
369
- }
370
- .db-loading-indicator[data-variant=progress-bar] div::before, .db-loading-indicator[data-variant=progress-bar] div::after {
371
- content: "";
372
- border-radius: var(--db-border-radius-sm);
373
- position: absolute;
374
- }
375
- .db-loading-indicator[data-variant=progress-bar] div::before {
376
- inline-size: 100%;
377
- min-inline-size: var(--db-sizing-md);
378
- inset-block-start: 0;
379
- inset-inline-start: 0;
380
- block-size: var(--db-loading-indicator-progress-bar-track-block-size);
381
- background-color: color(from var(--db-loading-indicator-segment-color) srgb r g b/var(--db-opacity-2xs));
382
- }
383
- .db-loading-indicator[data-variant=progress-bar] div::after {
384
- --db-loading-indicator-progress-bar-segment-padding: 2px;
385
- z-index: 1;
386
- inset-block-start: var(--db-loading-indicator-progress-bar-segment-padding);
387
- inset-inline: var(--db-loading-indicator-progress-bar-segment-padding);
388
- block-size: calc(var(--db-loading-indicator-progress-bar-track-block-size) - 2 * var(--db-loading-indicator-progress-bar-segment-padding));
389
- background-color: var(--db-loading-indicator-segment-color);
390
- }
391
- .db-loading-indicator[data-variant=progress-bar] div > label {
392
- align-self: flex-start;
393
- }
394
- .db-loading-indicator[data-variant=progress-bar] div > span {
395
- align-self: flex-end;
396
- }
397
-
398
- .db-loading-indicator:not([data-state=successful], [data-state=critical]) {
399
- --db-loading-indicator-segment-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
400
- --db-loading-indicator-segment-color-overlay: var(--db-adaptive-on-bg-inverted-default);
401
- }
402
- [data-state=inactive].db-loading-indicator:not([data-variant]) .db-loading-indicator-circle-segment, [data-state=inactive][data-variant=inline].db-loading-indicator .db-loading-indicator-circle-segment, [data-state=inactive][data-variant=onsite].db-loading-indicator .db-loading-indicator-circle-segment {
403
- display: none;
404
- }
405
- [data-state=successful].db-loading-indicator {
406
- --db-loading-indicator-segment-color: var(
407
- --db-successful-on-bg-basic-emphasis-70-default
408
- );
409
- }
410
- [data-state=successful].db-loading-indicator:not([data-variant]) svg, [data-state=successful][data-variant=inline].db-loading-indicator svg {
411
- display: none;
412
- }
413
- [data-state=successful].db-loading-indicator:not([data-variant]) div, [data-state=successful][data-variant=inline].db-loading-indicator div {
414
- --db-icon-font-family: var(
415
- --db-icon-filled-font-family,
416
- "db-ux-filled",
417
- "icon-font-fallback"
418
- );
419
- display: grid;
420
- grid-template-columns: min-content 1fr;
421
- }
422
- [data-state=successful].db-loading-indicator:not([data-variant]) div:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=inline].db-loading-indicator div:not([data-show-icon-leading=false])::before {
423
- --db-icon: "successful";
424
- margin-inline-end: var(--db-icon-margin-end, var(--db-spacing-fixed-xs));
425
- }
426
- [data-state=successful].db-loading-indicator:not([data-variant]) div:not([data-icon])::before, [data-state=successful][data-variant=inline].db-loading-indicator div:not([data-icon])::before {
427
- --db-icon: "check_circle";
428
- }
429
- [data-state=successful].db-loading-indicator:not([data-variant]) div::before, [data-state=successful][data-variant=inline].db-loading-indicator div::before {
430
- --db-icon-color: var(--db-successful-on-bg-basic-emphasis-70-default);
431
- }
432
- [data-state=successful].db-loading-indicator:not([data-variant]) div:has(> label), [data-state=successful][data-variant=inline].db-loading-indicator div:has(> label) {
433
- grid-template-areas: "icon label";
434
- }
435
- [data-state=successful].db-loading-indicator:not([data-variant]) div:has(> span), [data-state=successful][data-variant=inline].db-loading-indicator div:has(> span) {
436
- grid-template-areas: "icon progress";
437
- }
438
- [data-state=successful].db-loading-indicator:not([data-variant]) div:has(> span):has(> label), [data-state=successful][data-variant=inline].db-loading-indicator div:has(> span):has(> label) {
439
- grid-template-areas: "icon label" "icon progress";
440
- }
441
- [data-state=successful].db-loading-indicator:not([data-variant]) div::before, [data-state=successful][data-variant=inline].db-loading-indicator div::before {
442
- --db-icon-margin-end: var(--db-indicator-gap);
443
- grid-area: icon;
444
- align-self: center;
445
- }
446
- [data-state=successful].db-loading-indicator:not([data-variant]) div > label, [data-state=successful][data-variant=inline].db-loading-indicator div > label {
447
- grid-area: label;
448
- }
449
- [data-state=successful].db-loading-indicator:not([data-variant]) div > span, [data-state=successful][data-variant=inline].db-loading-indicator div > span {
450
- grid-area: progress;
451
- }
452
- [data-state=successful][data-variant=progress-bar].db-loading-indicator div > label, [data-state=successful][data-variant=onsite].db-loading-indicator div > label {
453
- --db-icon-font-family: var(
454
- --db-icon-filled-font-family,
455
- "db-ux-filled",
456
- "icon-font-fallback"
457
- );
458
- }
459
- [data-state=successful][data-variant=progress-bar].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=successful][data-variant=onsite].db-loading-indicator div > label:not([data-show-icon-leading=false])::before {
460
- --db-icon: "successful";
461
- margin-inline-end: var(--db-icon-margin-end, var(--db-spacing-fixed-xs));
462
- }
463
- [data-state=successful][data-variant=progress-bar].db-loading-indicator div > label:not([data-icon])::before, [data-state=successful][data-variant=onsite].db-loading-indicator div > label:not([data-icon])::before {
464
- --db-icon: "check_circle";
465
- }
466
- [data-state=successful][data-variant=progress-bar].db-loading-indicator div > label::before, [data-state=successful][data-variant=onsite].db-loading-indicator div > label::before {
467
- --db-icon-color: var(--db-successful-on-bg-basic-emphasis-70-default);
468
- }
469
- [data-state=successful][data-variant=progress-bar].db-loading-indicator div > label::before, [data-state=successful][data-variant=onsite].db-loading-indicator div > label::before {
470
- --db-icon-margin-end: var(--db-indicator-gap);
471
- }
472
- [data-state=successful].db-loading-indicator div > label,
473
- [data-state=successful].db-loading-indicator div > span {
474
- color: var(--db-successful-on-bg-basic-emphasis-80-default);
475
- }
476
- [data-state=critical].db-loading-indicator {
477
- --db-loading-indicator-segment-color: var(
478
- --db-critical-on-bg-basic-emphasis-70-default
479
- );
480
- }
481
- [data-state=critical].db-loading-indicator:not([data-variant]) svg, [data-state=critical][data-variant=inline].db-loading-indicator svg {
482
- display: none;
483
- }
484
- [data-state=critical].db-loading-indicator:not([data-variant]) div, [data-state=critical][data-variant=inline].db-loading-indicator div {
485
- --db-icon-font-family: var(
486
- --db-icon-filled-font-family,
487
- "db-ux-filled",
488
- "icon-font-fallback"
489
- );
490
- display: grid;
491
- grid-template-columns: min-content 1fr;
492
- }
493
- [data-state=critical].db-loading-indicator:not([data-variant]) div:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=inline].db-loading-indicator div:not([data-show-icon-leading=false])::before {
494
- --db-icon: "critical";
495
- margin-inline-end: var(--db-icon-margin-end, var(--db-spacing-fixed-xs));
496
- }
497
- [data-state=critical].db-loading-indicator:not([data-variant]) div:not([data-icon])::before, [data-state=critical][data-variant=inline].db-loading-indicator div:not([data-icon])::before {
498
- --db-icon: "exclamation_mark_circle";
499
- /* stylelint-disable-next-line at-rule-empty-line-before */
500
- }
501
- [data-state=critical].db-loading-indicator:not([data-variant]) div::before, [data-state=critical][data-variant=inline].db-loading-indicator div::before {
502
- --db-icon-color: var(--db-critical-on-bg-basic-emphasis-70-default);
503
- }
504
- [data-state=critical].db-loading-indicator:not([data-variant]) div:has(> label), [data-state=critical][data-variant=inline].db-loading-indicator div:has(> label) {
505
- grid-template-areas: "icon label";
506
- }
507
- [data-state=critical].db-loading-indicator:not([data-variant]) div:has(> span), [data-state=critical][data-variant=inline].db-loading-indicator div:has(> span) {
508
- grid-template-areas: "icon progress";
509
- }
510
- [data-state=critical].db-loading-indicator:not([data-variant]) div:has(> span):has(> label), [data-state=critical][data-variant=inline].db-loading-indicator div:has(> span):has(> label) {
511
- grid-template-areas: "icon label" "icon progress";
512
- }
513
- [data-state=critical].db-loading-indicator:not([data-variant]) div::before, [data-state=critical][data-variant=inline].db-loading-indicator div::before {
514
- --db-icon-margin-end: var(--db-indicator-gap);
515
- grid-area: icon;
516
- align-self: center;
517
- }
518
- [data-state=critical].db-loading-indicator:not([data-variant]) div > label, [data-state=critical][data-variant=inline].db-loading-indicator div > label {
519
- grid-area: label;
520
- }
521
- [data-state=critical].db-loading-indicator:not([data-variant]) div > span, [data-state=critical][data-variant=inline].db-loading-indicator div > span {
522
- grid-area: progress;
523
- }
524
- [data-state=critical][data-variant=progress-bar].db-loading-indicator div > label, [data-state=critical][data-variant=onsite].db-loading-indicator div > label {
525
- --db-icon-font-family: var(
526
- --db-icon-filled-font-family,
527
- "db-ux-filled",
528
- "icon-font-fallback"
529
- );
530
- }
531
- [data-state=critical][data-variant=progress-bar].db-loading-indicator div > label:not([data-show-icon-leading=false])::before, [data-state=critical][data-variant=onsite].db-loading-indicator div > label:not([data-show-icon-leading=false])::before {
532
- --db-icon: "critical";
533
- margin-inline-end: var(--db-icon-margin-end, var(--db-spacing-fixed-xs));
534
- }
535
- [data-state=critical][data-variant=progress-bar].db-loading-indicator div > label:not([data-icon])::before, [data-state=critical][data-variant=onsite].db-loading-indicator div > label:not([data-icon])::before {
536
- --db-icon: "exclamation_mark_circle";
537
- /* stylelint-disable-next-line at-rule-empty-line-before */
538
- }
539
- [data-state=critical][data-variant=progress-bar].db-loading-indicator div > label::before, [data-state=critical][data-variant=onsite].db-loading-indicator div > label::before {
540
- --db-icon-color: var(--db-critical-on-bg-basic-emphasis-70-default);
541
- }
542
- [data-state=critical][data-variant=progress-bar].db-loading-indicator div > label::before, [data-state=critical][data-variant=onsite].db-loading-indicator div > label::before {
543
- --db-icon-margin-end: var(--db-indicator-gap);
544
- }
545
- [data-state=critical].db-loading-indicator div > label,
546
- [data-state=critical].db-loading-indicator div > span {
547
- color: var(--db-critical-on-bg-basic-emphasis-80-default);
548
- }
549
-
550
- .db-loading-indicator:not([data-overlay=true]) {
551
- position: relative;
552
- block-size: fit-content;
553
- }
554
- [data-overlay=true].db-loading-indicator {
555
- position: absolute;
556
- inset: 0;
557
- border-radius: inherit;
558
- }
559
- [data-overlay=true].db-loading-indicator::before {
560
- content: "";
561
- position: absolute;
562
- inset: 0;
563
- border-radius: inherit;
564
- background-color: color(from var(--db-adaptive-on-bg-basic-emphasis-100-default) srgb r g b/var(--db-opacity-lg));
565
- }
566
- [data-overlay=true][data-variant=progress-bar].db-loading-indicator div {
567
- max-inline-size: calc(100% - var(--db-spacing-fixed-md));
568
- }
569
-
570
- *:has(> .db-loading-indicator[data-overlay=true],
571
- > db-loading-indicator > .db-loading-indicator[data-overlay=true]) {
572
- position: relative;
573
- }
574
- *:has(> .db-loading-indicator[data-overlay=true],
575
- > db-loading-indicator > .db-loading-indicator[data-overlay=true]) .db-loading-indicator {
576
- --db-loading-indicator-segment-color: var(
577
- --db-loading-indicator-segment-color-overlay
578
- );
579
- }
580
-
581
- .db-loading-indicator {
582
- --db-indicator-gap: var(--db-spacing-fixed-2xs);
583
- display: flex;
584
- /* stylelint-disable-next-line db-ux/use-spacings */
585
- gap: var(--db-indicator-gap);
586
- align-items: center;
587
- justify-content: center;
588
- }
589
- .db-loading-indicator[data-delay=slow], .db-loading-indicator[data-delay=fast] {
590
- display: none;
591
- }