@uploadcare/file-uploader 1.24.4 → 1.24.6

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.
@@ -0,0 +1,2719 @@
1
+ /**
2
+ * @license
3
+ * MIT License
4
+ *
5
+ * Copyright (c) 2025 Uploadcare (hello@uploadcare.com). All rights reserved.
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in all
15
+ * copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ * SOFTWARE.
24
+ *
25
+ */
26
+ @layer uc, uc.base, uc.components, uc.rules, uc.solutions, uc.post-reset, uc.base, uc.rules, uc.post-reset;
27
+
28
+ /* src/blocks/ActivityHeader/activity-header.css */
29
+ @layer uc.components {
30
+ uc-activity-header {
31
+ display: flex;
32
+ justify-content: space-between;
33
+ gap: var(--uc-padding);
34
+ padding: var(--uc-padding);
35
+ color: var(--uc-foreground);
36
+ font-weight: 500;
37
+ font-size: 1em;
38
+ }
39
+ uc-activity-header > * {
40
+ display: flex;
41
+ align-items: center;
42
+ }
43
+ uc-activity-header > div > uc-icon {
44
+ width: auto;
45
+ }
46
+ uc-activity-header > div {
47
+ gap: var(--uc-padding);
48
+ }
49
+ }
50
+
51
+ /* src/blocks/CameraSource/camera-source.css */
52
+ @layer uc.components {
53
+ uc-camera-source {
54
+ position: relative;
55
+ display: flex;
56
+ flex-direction: column;
57
+ width: 100%;
58
+ height: 100%;
59
+ max-height: 100%;
60
+ overflow: hidden;
61
+ background-color: var(--uc-background);
62
+ border-radius: var(--uc-radius);
63
+ }
64
+ [uc-modal] > dialog:has(uc-camera-source[active]) {
65
+ width: 100%;
66
+ height: 100%;
67
+ }
68
+ uc-camera-source:not(.uc-initialized) .uc-controls {
69
+ display: none;
70
+ }
71
+ uc-camera-source video {
72
+ display: block;
73
+ width: 100%;
74
+ max-height: 100%;
75
+ object-fit: contain;
76
+ object-position: center center;
77
+ background-color: var(--uc-muted);
78
+ border-radius: var(--uc-radius);
79
+ }
80
+ uc-camera-source .uc-toolbar {
81
+ position: absolute;
82
+ bottom: 0;
83
+ display: flex;
84
+ justify-content: space-between;
85
+ width: 100%;
86
+ padding: var(--uc-padding);
87
+ background-color: var(--uc-background);
88
+ }
89
+ uc-camera-source .uc-content {
90
+ display: flex;
91
+ flex: 1;
92
+ justify-content: center;
93
+ width: 100%;
94
+ height: 100%;
95
+ padding: var(--uc-padding);
96
+ padding-top: 0;
97
+ overflow: hidden;
98
+ }
99
+ uc-camera-source .uc-message-box {
100
+ display: flex;
101
+ flex-direction: column;
102
+ grid-gap: 40px;
103
+ align-items: center;
104
+ justify-content: center;
105
+ padding: 40px 40px 0;
106
+ color: var(--uc-foreground);
107
+ }
108
+ uc-camera-source .uc-message-box button {
109
+ color: var(--uc-primary-foreground);
110
+ background-color: var(--uc-primary);
111
+ }
112
+ uc-camera-source .uc-shot-btn {
113
+ width: 58px;
114
+ height: 58px;
115
+ color: var(--uc-background);
116
+ background-color: var(--uc-primary-light);
117
+ border-radius: 50%;
118
+ opacity: 0.85;
119
+ transition:
120
+ bottom var(--uc-transition),
121
+ opacity var(--uc-transition),
122
+ transform var(--uc-transition);
123
+ }
124
+ uc-camera-source .uc-shot-btn:hover {
125
+ transform: scale(1.05);
126
+ opacity: 1;
127
+ }
128
+ uc-camera-source .uc-shot-btn:active {
129
+ transform: scale(1);
130
+ opacity: 1;
131
+ }
132
+ uc-camera-source .uc-shot-btn[disabled] {
133
+ bottom: -80px;
134
+ }
135
+ uc-camera-source .uc-shot-btn uc-icon svg {
136
+ width: 20px;
137
+ height: 20px;
138
+ }
139
+ uc-camera-source .uc-controls {
140
+ position: relative;
141
+ display: flex;
142
+ align-items: center;
143
+ flex-wrap: wrap;
144
+ justify-content: space-between;
145
+ padding: 0 var(--uc-padding) var(--uc-padding);
146
+ min-height: 74px;
147
+ }
148
+ uc-camera-source .uc-switcher {
149
+ display: flex;
150
+ gap: calc(var(--uc-padding) / 2);
151
+ }
152
+ uc-camera-source .uc-switch.uc-active {
153
+ background-color: var(--uc-secondary);
154
+ }
155
+ uc-camera-source .uc-camera-actions {
156
+ display: flex;
157
+ justify-content: center;
158
+ align-items: center;
159
+ gap: 5px;
160
+ }
161
+ uc-camera-source .uc-stop-record {
162
+ background-color: var(--uc-destructive-foreground-light);
163
+ opacity: 1;
164
+ }
165
+ :where(uc-camera-source:is(.uc-recording)) .uc-recording-timer uc-icon {
166
+ display: none;
167
+ }
168
+ :where(uc-camera-source:is(.uc-recording)) .uc-recording-timer {
169
+ pointer-events: none;
170
+ }
171
+ uc-camera-source .uc-recording-timer {
172
+ z-index: 1;
173
+ position: relative;
174
+ overflow: hidden;
175
+ }
176
+ :where(uc-camera-source) .uc-recording-timer uc-icon {
177
+ width: 10px;
178
+ height: 10px;
179
+ margin-right: 10px;
180
+ }
181
+ uc-camera-source .uc-recording-timer .uc-line {
182
+ position: absolute;
183
+ content: "";
184
+ bottom: 0;
185
+ left: 0;
186
+ right: 0;
187
+ height: 2px;
188
+ background-color: var(--uc-foreground-light);
189
+ transform: scaleX(0);
190
+ transform-origin: left;
191
+ transition: transform var(--uc-transition);
192
+ }
193
+ uc-camera-source .uc-btn-microphone {
194
+ z-index: 1;
195
+ }
196
+ uc-camera-source .uc-select {
197
+ display: flex;
198
+ }
199
+ uc-camera-source .uc-audio-select {
200
+ width: 98px;
201
+ }
202
+ uc-camera-source .uc-audio-select select {
203
+ width: 100%;
204
+ }
205
+ uc-camera-source .uc-camera-action {
206
+ position: absolute;
207
+ inset: 0 var(--uc-padding) var(--uc-padding);
208
+ margin: 0 auto;
209
+ }
210
+ }
211
+
212
+ /* src/blocks/CloudImageEditor/src/css/common.css */
213
+ @layer uc.solutions {
214
+ [uc-cloud-image-editor] {
215
+ --color-primary-accent: var(--uc-primary);
216
+ --color-text-base: var(--uc-foreground);
217
+ --color-text-accent-contrast: var(--uc-background);
218
+ --color-fill-contrast: var(--uc-background);
219
+ --color-modal-backdrop: oklch(0 0 0 / 0.1);
220
+ --color-image-background: var(--uc-muted);
221
+ --color-focus-ring: var(--color-primary-accent);
222
+ --color-crop-guides: var(--uc-foreground);
223
+ --font-size-ui: var(--uc-font-size);
224
+ --size-touch-area: var(--uc-button-size);
225
+ --size-panel-heading: calc(var(--uc-button-size) + var(--uc-padding) * 2);
226
+ --size-ui-min-width: 130px;
227
+ --size-line-width: 1px;
228
+ --size-modal-width: 650px;
229
+ --size-icon: calc(var(--uc-button-size) / 2);
230
+ --border-radius-editor: var(--uc-radius);
231
+ --border-radius-thumb: var(--uc-radius);
232
+ --border-radius-ui: var(--uc-radius);
233
+ --border-radius-base: var(--uc-radius);
234
+ --cldtr-gap-min: 5px;
235
+ --cldtr-gap-mid-1: 10px;
236
+ --cldtr-gap-mid-2: 15px;
237
+ --cldtr-gap-max: 20px;
238
+ --transition-duration-2: var(--transition-duration-all, 0.2s);
239
+ --transition-duration-3: var(--transition-duration-all, 0.3s);
240
+ --transition-duration-4: var(--transition-duration-all, 0.4s);
241
+ --transition-duration-5: var(--transition-duration-all, 0.5s);
242
+ --modal-header-opacity: 1;
243
+ --modal-header-height: var(--size-panel-heading);
244
+ --modal-toolbar-height: var(--size-panel-heading);
245
+ --transparent-pixel: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);
246
+ display: block;
247
+ width: 100%;
248
+ height: 100%;
249
+ max-height: 100%;
250
+ }
251
+ [uc-cloud-image-editor] :is([can-handle-paste]:hover, [can-handle-paste]:focus) {
252
+ --can-handle-paste: "true";
253
+ }
254
+ [uc-cloud-image-editor] :is([tabindex][focus-visible], [tabindex]:hover, [with-effects][focus-visible], [with-effects]:hover) {
255
+ --filter-effect: var(--hover-filter) !important;
256
+ --opacity-effect: var(--hover-opacity) !important;
257
+ --color-effect: var(--hover-color-rgb) !important;
258
+ --background-effect: var(--hover-background) !important;
259
+ }
260
+ [uc-cloud-image-editor] :is([tabindex]:active, [with-effects]:active) {
261
+ --filter-effect: var(--down-filter) !important;
262
+ --opacity-effect: var(--down-opacity) !important;
263
+ --color-effect: var(--down-color-rgb) !important;
264
+ --background-effect: var(--down-background) !important;
265
+ }
266
+ [uc-cloud-image-editor] :is([tabindex][active], [with-effects][active]) {
267
+ --filter-effect: var(--active-filter) !important;
268
+ --opacity-effect: var(--active-opacity) !important;
269
+ --color-effect: var(--active-color-rgb) !important;
270
+ --background-effect: var(--active-background) !important;
271
+ }
272
+ [uc-cloud-image-editor] [hidden-scrollbar]::-webkit-scrollbar {
273
+ display: none;
274
+ }
275
+ [uc-cloud-image-editor] [hidden-scrollbar] {
276
+ -ms-overflow-style: none;
277
+ scrollbar-width: none;
278
+ }
279
+ [uc-cloud-image-editor].uc-editor_ON {
280
+ --modal-header-opacity: 0;
281
+ --modal-header-height: 0px;
282
+ --modal-toolbar-height: calc(var(--size-panel-heading) * 2);
283
+ }
284
+ [uc-cloud-image-editor].uc-editor_OFF {
285
+ --modal-header-opacity: 1;
286
+ --modal-header-height: var(--size-panel-heading);
287
+ --modal-toolbar-height: var(--size-panel-heading);
288
+ }
289
+ [uc-cloud-image-editor] > .uc-wrapper {
290
+ --l-min-img-height: var(--modal-toolbar-height);
291
+ --l-max-img-height: 100%;
292
+ --l-edit-button-width: 120px;
293
+ --l-toolbar-horizontal-padding: var(--cldtr-gap-mid-1);
294
+ position: relative;
295
+ display: grid;
296
+ grid-template-rows: minmax(var(--l-min-img-height), var(--l-max-img-height)) minmax(var(--modal-toolbar-height), auto);
297
+ height: 100%;
298
+ overflow: hidden;
299
+ overflow-y: auto;
300
+ }
301
+ @media only screen and (max-width: 800px) {
302
+ [uc-cloud-image-editor] > .uc-wrapper {
303
+ --l-edit-button-width: 70px;
304
+ --l-toolbar-horizontal-padding: var(--cldtr-gap-min);
305
+ }
306
+ }
307
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport {
308
+ display: flex;
309
+ align-items: center;
310
+ justify-content: center;
311
+ overflow: hidden;
312
+ }
313
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image {
314
+ --viewer-image-opacity: 1;
315
+ position: absolute;
316
+ top: 0px;
317
+ left: 0px;
318
+ z-index: 10;
319
+ display: block;
320
+ box-sizing: border-box;
321
+ width: 100%;
322
+ height: 100%;
323
+ object-fit: scale-down;
324
+ background-color: var(--color-image-background);
325
+ transform: scale(1);
326
+ opacity: var(--viewer-image-opacity);
327
+ user-select: none;
328
+ pointer-events: auto;
329
+ }
330
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image.uc-image_visible_viewer {
331
+ transition: opacity var(--transition-duration-3) ease-in-out, transform var(--transition-duration-4);
332
+ }
333
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image.uc-image_hidden_to_cropper {
334
+ --viewer-image-opacity: 0;
335
+ background-image: var(--transparent-pixel);
336
+ transform: scale(1);
337
+ transition: transform var(--transition-duration-4), opacity var(--transition-duration-3) steps(1, jump-end);
338
+ pointer-events: none;
339
+ }
340
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image.uc-image_hidden_effects {
341
+ --viewer-image-opacity: 0;
342
+ transform: scale(1);
343
+ transition: opacity var(--transition-duration-3) cubic-bezier(0.5, 0, 1, 1), transform var(--transition-duration-4);
344
+ pointer-events: none;
345
+ }
346
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container {
347
+ position: relative;
348
+ display: block;
349
+ width: 100%;
350
+ height: 100%;
351
+ background-color: var(--color-image-background);
352
+ transition: var(--transition-duration-3);
353
+ }
354
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar {
355
+ position: relative;
356
+ transition: 0.3s;
357
+ }
358
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar > .uc-toolbar_content {
359
+ position: absolute;
360
+ bottom: 0px;
361
+ left: 0px;
362
+ box-sizing: border-box;
363
+ width: 100%;
364
+ height: var(--modal-toolbar-height);
365
+ min-height: var(--size-panel-heading);
366
+ background-color: var(--color-fill-contrast);
367
+ }
368
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar > .uc-toolbar_content.uc-toolbar_content__viewer {
369
+ display: flex;
370
+ align-items: center;
371
+ justify-content: space-between;
372
+ height: var(--size-panel-heading);
373
+ padding-right: var(--l-toolbar-horizontal-padding);
374
+ padding-left: var(--l-toolbar-horizontal-padding);
375
+ }
376
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar > .uc-toolbar_content.uc-toolbar_content__editor {
377
+ display: flex;
378
+ }
379
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-info_pan {
380
+ position: absolute;
381
+ user-select: none;
382
+ }
383
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-file_type_outer {
384
+ position: absolute;
385
+ z-index: 2;
386
+ display: flex;
387
+ max-width: 120px;
388
+ transform: translateX(-40px);
389
+ user-select: none;
390
+ }
391
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-file_type_outer > .uc-file_type {
392
+ padding: 4px 0.8em;
393
+ }
394
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash {
395
+ position: absolute;
396
+ z-index: 4;
397
+ display: flex;
398
+ flex-direction: column;
399
+ width: 100%;
400
+ height: 100%;
401
+ background-color: var(--color-fill-contrast);
402
+ }
403
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash > .uc-network_problems_content {
404
+ display: flex;
405
+ flex: 1;
406
+ flex-direction: column;
407
+ align-items: center;
408
+ justify-content: center;
409
+ }
410
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash > .uc-network_problems_content > .uc-network_problems_icon {
411
+ display: flex;
412
+ align-items: center;
413
+ justify-content: center;
414
+ width: 40px;
415
+ height: 40px;
416
+ color: var(--uc-foreground);
417
+ background-color: var(--uc-muted);
418
+ border-radius: 50%;
419
+ }
420
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash > .uc-network_problems_content > .uc-network_problems_text {
421
+ margin-top: var(--cldtr-gap-max);
422
+ font-size: var(--font-size-ui);
423
+ color: var(--uc-foreground);
424
+ }
425
+ [uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash > .uc-network_problems_footer {
426
+ display: flex;
427
+ align-items: center;
428
+ justify-content: center;
429
+ height: var(--size-panel-heading);
430
+ }
431
+ uc-crop-frame > .uc-svg {
432
+ position: absolute;
433
+ top: 0px;
434
+ left: 0px;
435
+ z-index: 2;
436
+ width: 100%;
437
+ height: 100%;
438
+ border-top-left-radius: var(--border-radius-base);
439
+ border-top-right-radius: var(--border-radius-base);
440
+ opacity: inherit;
441
+ transition: var(--transition-duration-3);
442
+ }
443
+ uc-crop-frame > .uc-thumb {
444
+ --idle-color-rgb: var(--color-text-base);
445
+ --hover-color-rgb: var(--color-primary-accent);
446
+ --focus-color-rgb: var(--color-primary-accent);
447
+ --down-color-rgb: var(--color-primary-accent);
448
+ --color-effect: var(--idle-color-rgb);
449
+ color: var(--color-effect);
450
+ transition: color var(--transition-duration-3), opacity var(--transition-duration-3);
451
+ }
452
+ uc-crop-frame .uc-thumb--visible {
453
+ opacity: 1;
454
+ pointer-events: auto;
455
+ }
456
+ uc-crop-frame .uc-thumb--hidden {
457
+ opacity: 0;
458
+ pointer-events: none;
459
+ }
460
+ uc-crop-frame .uc-guides {
461
+ transition: var(--transition-duration-3);
462
+ }
463
+ uc-crop-frame .uc-guides--hidden {
464
+ opacity: 0;
465
+ }
466
+ uc-crop-frame .uc-guides--semi-hidden {
467
+ opacity: 0.2;
468
+ }
469
+ uc-crop-frame .uc-guides--visible {
470
+ opacity: 1;
471
+ }
472
+ uc-editor-button-control,
473
+ uc-editor-crop-button-control,
474
+ uc-editor-aspect-ratio-button-control,
475
+ uc-editor-freeform-button-control,
476
+ uc-editor-filter-control,
477
+ uc-editor-operation-control {
478
+ --l-base-min-width: var(--uc-button-size);
479
+ --l-base-height: var(--uc-button-size);
480
+ --opacity-effect: var(--idle-opacity);
481
+ --color-effect: var(--idle-color-rgb);
482
+ --background-effect: var(--idle-background);
483
+ --filter-effect: var(--idle-filter);
484
+ --idle-color-rgb: var(--uc-secondary-foreground);
485
+ --idle-opacity: 1;
486
+ --idle-filter: 1;
487
+ --idle-background: var(--uc-secondary);
488
+ --hover-color-rgb: var(--uc-secondary-foreground);
489
+ --hover-opacity: 1;
490
+ --hover-filter: 0.8;
491
+ --hover-background: var(--uc-secondary-hover);
492
+ --down-color-rgb: var(--hover-color-rgb);
493
+ --down-opacity: 1;
494
+ --down-filter: 0.6;
495
+ --down-background: var(--uc-secondary);
496
+ border-radius: var(--uc-radius);
497
+ }
498
+ uc-editor-button-control > button,
499
+ uc-editor-crop-button-control > button,
500
+ uc-editor-aspect-ratio-button-control > button,
501
+ uc-editor-freeform-button-control > button,
502
+ uc-editor-filter-control > button,
503
+ uc-editor-operation-control > button {
504
+ all: unset;
505
+ position: relative;
506
+ display: grid;
507
+ grid-template-columns: var(--l-base-min-width) auto;
508
+ grid-template-rows: 100%;
509
+ align-items: center;
510
+ height: var(--l-base-height);
511
+ color: var(--color-effect);
512
+ opacity: var(--opacity-effect);
513
+ cursor: pointer;
514
+ transition: var(--l-width-transition);
515
+ }
516
+ uc-editor-freeform-button-control > button {
517
+ grid-template-columns: auto var(--l-base-min-width);
518
+ }
519
+ uc-editor-freeform-button-control > button > uc-icon {
520
+ margin-left: var(--cldtr-gap-mid-1);
521
+ width: 10px;
522
+ }
523
+ :where(uc-editor-button-control, uc-editor-crop-button-control, uc-editor-aspect-ratio-button-control, uc-editor-freeform-button-control, uc-editor-filter-control, uc-editor-operation-control) > uc-icon > svg {
524
+ width: var(--size-icon);
525
+ height: var(--size-icon);
526
+ }
527
+ uc-editor-filter-control > uc-icon.uc-original-icon > svg {
528
+ width: 100%;
529
+ height: 100%;
530
+ }
531
+ uc-editor-button-control.uc-active,
532
+ uc-editor-operation-control.uc-active,
533
+ uc-editor-crop-button-control.uc-active,
534
+ uc-editor-aspect-ratio-button-control.uc-active,
535
+ uc-editor-freeform-button-control.uc-active,
536
+ uc-editor-filter-control.uc-active {
537
+ --idle-color-rgb: var(--uc-primary-foreground);
538
+ --idle-background: var(--uc-primary);
539
+ --idle-opacity: 1;
540
+ --hover-color-rgb: var(--uc-primary-foreground);
541
+ --hover-background: var(--uc-primary);
542
+ --hover-opacity: 1;
543
+ }
544
+ uc-editor-filter-control.uc-not_active .uc-preview[loaded] {
545
+ opacity: 1;
546
+ }
547
+ uc-editor-filter-control.uc-active .uc-preview {
548
+ opacity: 0;
549
+ }
550
+ uc-editor-button-control.uc-not_active,
551
+ uc-editor-operation-control.uc-not_active,
552
+ uc-editor-crop-button-control.uc-not_active,
553
+ uc-editor-aspect-ratio-button-control.uc-not_active,
554
+ uc-editor-freeform-button-control.uc-not_active,
555
+ uc-editor-filter-control.uc-not_active {
556
+ --idle-color-rgb: var(--uc-secondary-foreground);
557
+ }
558
+ :where(.uc-contrast) uc-editor-button-control.uc-not_active,
559
+ :where(.uc-contrast) uc-editor-operation-control.uc-not_active,
560
+ :where(.uc-contrast) uc-editor-crop-button-control.uc-not_active,
561
+ :where(.uc-contrast) uc-editor-freeform-button-control.uc-not_active,
562
+ :where(.uc-contrast) uc-editor-aspect-ratio-button-control.uc-not_active,
563
+ :where(.uc-contrast) uc-editor-filter-control.uc-not_active {
564
+ --idle-background: transparent;
565
+ --hover-background: var(--uc-secondary);
566
+ outline: 1px solid var(--uc-border);
567
+ outline-offset: -1px;
568
+ }
569
+ uc-editor-button-control > button::before,
570
+ uc-editor-operation-control > button::before,
571
+ uc-editor-crop-button-control > button::before,
572
+ uc-editor-freeform-button-control > button::before,
573
+ uc-editor-aspect-ratio-button-control > button::before,
574
+ uc-editor-filter-control > button::before {
575
+ position: absolute;
576
+ content: "";
577
+ right: 0;
578
+ left: 0;
579
+ z-index: -1;
580
+ width: 100%;
581
+ height: 100%;
582
+ background-color: var(--background-effect);
583
+ border-radius: var(--border-radius-editor);
584
+ transition: var(--transition-duration-3);
585
+ }
586
+ uc-editor-button-control > button .uc-title,
587
+ uc-editor-operation-control > button .uc-title,
588
+ uc-editor-crop-button-control > button .uc-title,
589
+ uc-editor-aspect-ratio-button-control > button .uc-title,
590
+ uc-editor-freeform-button-control > button .uc-title,
591
+ uc-editor-filter-control > button .uc-title {
592
+ padding-right: var(--cldtr-gap-mid-1);
593
+ font-size: 0.7em;
594
+ letter-spacing: 1.004px;
595
+ text-transform: uppercase;
596
+ }
597
+ uc-editor-freeform-button-control > button .uc-title {
598
+ padding-left: var(--cldtr-gap-mid-1);
599
+ padding-right: 0;
600
+ }
601
+ uc-editor-button-control > button uc-icon,
602
+ uc-editor-operation-control > button uc-icon,
603
+ uc-editor-crop-button-control > button uc-icon,
604
+ uc-editor-aspect-ratio-button-control > button uc-icon,
605
+ uc-editor-freeform-button-control > button uc-icon,
606
+ uc-editor-filter-control > button uc-icon {
607
+ pointer-events: none;
608
+ }
609
+ uc-editor-filter-control > button .uc-preview {
610
+ position: absolute;
611
+ right: 0;
612
+ left: 0;
613
+ z-index: -1;
614
+ width: 100%;
615
+ height: var(--l-base-height);
616
+ background-repeat: no-repeat;
617
+ background-size: contain;
618
+ border-radius: var(--border-radius-editor);
619
+ opacity: 0;
620
+ filter: brightness(var(--filter-effect));
621
+ transition: var(--transition-duration-3);
622
+ }
623
+ uc-editor-filter-control > .uc-original-icon {
624
+ color: var(--color-effect);
625
+ opacity: 0.3;
626
+ }
627
+ uc-editor-image-cropper {
628
+ position: absolute;
629
+ top: 0px;
630
+ left: 0px;
631
+ z-index: 10;
632
+ display: block;
633
+ width: 100%;
634
+ height: 100%;
635
+ opacity: 0;
636
+ pointer-events: none;
637
+ touch-action: none;
638
+ color: var(--color-crop-guides);
639
+ }
640
+ uc-editor-image-cropper.uc-active_from_editor {
641
+ transform: scale(1) translate(0px, 0px);
642
+ opacity: 1;
643
+ transition: transform var(--transition-duration-4) cubic-bezier(0.37, 0, 0.63, 1) 0.4s, opacity var(--transition-duration-3);
644
+ pointer-events: auto;
645
+ }
646
+ uc-editor-image-cropper.uc-active_from_viewer {
647
+ transform: scale(1) translate(0px, 0px);
648
+ opacity: 1;
649
+ transition: transform var(--transition-duration-4) cubic-bezier(0.37, 0, 0.63, 1) 0.4s, opacity var(--transition-duration-3);
650
+ pointer-events: auto;
651
+ }
652
+ uc-editor-image-cropper.uc-inactive_to_editor {
653
+ opacity: 0;
654
+ transition: transform var(--transition-duration-4) cubic-bezier(0.37, 0, 0.63, 1), opacity var(--transition-duration-3) calc(var(--transition-duration-3) + 0.05s);
655
+ pointer-events: none;
656
+ }
657
+ uc-editor-image-cropper > .uc-canvas {
658
+ position: absolute;
659
+ top: 0px;
660
+ left: 0px;
661
+ z-index: 1;
662
+ display: block;
663
+ width: 100%;
664
+ height: 100%;
665
+ }
666
+ uc-editor-image-fader {
667
+ position: absolute;
668
+ top: 0px;
669
+ left: 0px;
670
+ display: block;
671
+ width: 100%;
672
+ height: 100%;
673
+ }
674
+ uc-editor-image-fader.uc-active_from_viewer {
675
+ z-index: 3;
676
+ transform: scale(1);
677
+ opacity: 1;
678
+ transition: transform var(--transition-duration-4), opacity var(--transition-duration-3) steps(1, jump-start);
679
+ pointer-events: auto;
680
+ }
681
+ uc-editor-image-fader.uc-active_from_cropper {
682
+ z-index: 3;
683
+ transform: scale(1);
684
+ opacity: 1;
685
+ transition: transform var(--transition-duration-4), opacity var(--transition-duration-3) steps(1, jump-end);
686
+ pointer-events: auto;
687
+ }
688
+ uc-editor-image-fader.uc-inactive_to_cropper {
689
+ z-index: 3;
690
+ transform: scale(1);
691
+ opacity: 0;
692
+ transition: transform var(--transition-duration-4), opacity var(--transition-duration-3) steps(1, jump-end);
693
+ pointer-events: none;
694
+ }
695
+ uc-editor-image-fader .uc-fader-image {
696
+ position: absolute;
697
+ top: 0px;
698
+ left: 0px;
699
+ display: block;
700
+ width: 100%;
701
+ height: 100%;
702
+ object-fit: scale-down;
703
+ transform: scale(1);
704
+ user-select: none;
705
+ content-visibility: auto;
706
+ }
707
+ uc-editor-image-fader .uc-fader-image--preview {
708
+ background-color: var(--color-image-background);
709
+ border-top-left-radius: var(--border-radius-base);
710
+ border-top-right-radius: var(--border-radius-base);
711
+ transform: scale(1);
712
+ opacity: 0;
713
+ transition: var(--transition-duration-3);
714
+ }
715
+ uc-editor-scroller {
716
+ display: flex;
717
+ align-items: center;
718
+ width: 100%;
719
+ height: 100%;
720
+ overflow-x: scroll;
721
+ }
722
+ uc-editor-slider {
723
+ display: flex;
724
+ align-items: center;
725
+ justify-content: center;
726
+ width: 100%;
727
+ height: var(--size-panel-heading);
728
+ }
729
+ uc-editor-toolbar {
730
+ position: relative;
731
+ width: 100%;
732
+ height: 100%;
733
+ }
734
+ @media only screen and (max-width: 600px) {
735
+ uc-editor-toolbar {
736
+ --l-tab-gap: var(--cldtr-gap-mid-1);
737
+ --l-slider-padding: var(--uc-padding);
738
+ --l-controls-padding: var(--uc-padding);
739
+ }
740
+ }
741
+ @media only screen and (min-width: 601px) {
742
+ uc-editor-toolbar {
743
+ --l-tab-gap: var(--cldtr-gap-max);
744
+ --l-slider-padding: var(--uc-padding);
745
+ --l-controls-padding: var(--uc-padding);
746
+ }
747
+ }
748
+ uc-editor-toolbar > .uc-toolbar-container {
749
+ position: relative;
750
+ width: 100%;
751
+ height: 100%;
752
+ overflow: hidden;
753
+ }
754
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar {
755
+ position: absolute;
756
+ display: grid;
757
+ grid-template-rows: 1fr 1fr;
758
+ width: 100%;
759
+ height: 100%;
760
+ background-color: var(--color-fill-contrast);
761
+ transition:
762
+ opacity var(--transition-duration-3) ease-in-out,
763
+ transform var(--transition-duration-3) ease-in-out,
764
+ visibility var(--transition-duration-3) ease-in-out;
765
+ }
766
+ .uc-sub-toolbar > .uc-list-aspect-ratio-container > .uc-list-aspect-ratio {
767
+ display: grid;
768
+ grid-auto-flow: column;
769
+ justify-content: center;
770
+ align-items: center;
771
+ gap: 6px;
772
+ height: var(--size-panel-heading);
773
+ }
774
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar.uc-sub-toolbar--visible {
775
+ transform: translateY(0px);
776
+ opacity: 1;
777
+ pointer-events: auto;
778
+ }
779
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar.uc-sub-toolbar--top-hidden {
780
+ transform: translateY(100%);
781
+ opacity: 0;
782
+ pointer-events: none;
783
+ }
784
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar.uc-sub-toolbar--bottom-hidden {
785
+ transform: translateY(-100%);
786
+ opacity: 0;
787
+ pointer-events: none;
788
+ }
789
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row {
790
+ display: flex;
791
+ align-items: center;
792
+ justify-content: space-between;
793
+ padding-right: var(--l-controls-padding);
794
+ padding-left: var(--l-controls-padding);
795
+ }
796
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles {
797
+ position: relative;
798
+ display: grid;
799
+ grid-auto-flow: column;
800
+ grid-gap: 0px var(--l-tab-gap);
801
+ align-items: center;
802
+ height: 100%;
803
+ }
804
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles > .uc-tab-toggles_indicator {
805
+ position: absolute;
806
+ bottom: 0px;
807
+ left: 0px;
808
+ width: var(--size-touch-area);
809
+ height: 2px;
810
+ background-color: var(--uc-secondary-foreground);
811
+ transform: translateX(0px);
812
+ transition: transform var(--transition-duration-3);
813
+ }
814
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row {
815
+ position: relative;
816
+ }
817
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content {
818
+ position: absolute;
819
+ top: 0px;
820
+ left: 0px;
821
+ display: flex;
822
+ width: 100%;
823
+ height: 100%;
824
+ overflow: hidden;
825
+ opacity: 0;
826
+ content-visibility: auto;
827
+ }
828
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content.uc-tab-content--visible {
829
+ opacity: 1;
830
+ pointer-events: auto;
831
+ }
832
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content.uc-tab-content--hidden {
833
+ opacity: 0;
834
+ pointer-events: none;
835
+ }
836
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles > .uc-tab-toggle.uc-tab-toggle--visible {
837
+ display: contents;
838
+ }
839
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles > .uc-tab-toggle.uc-tab-toggle--hidden {
840
+ display: none;
841
+ }
842
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles.uc-tab-toggles--hidden {
843
+ display: none;
844
+ }
845
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles > .uc-tab-toggle > uc-btn-ui {
846
+ width: var(--uc-button-size);
847
+ }
848
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles > .uc-tab-toggle > uc-btn-ui > uc-icon > svg {
849
+ width: var(--size-icon);
850
+ height: var(--size-icon);
851
+ }
852
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content .uc-controls-list_align {
853
+ display: grid;
854
+ grid-template-areas: ". inner .";
855
+ grid-template-columns: 1fr auto 1fr;
856
+ box-sizing: border-box;
857
+ min-width: 100%;
858
+ padding-left: var(--uc-padding);
859
+ }
860
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content .uc-controls-list_inner {
861
+ display: grid;
862
+ grid-area: inner;
863
+ grid-auto-flow: column;
864
+ gap: 6px;
865
+ }
866
+ uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content .uc-controls-list_inner:last-child {
867
+ padding-right: var(--uc-padding);
868
+ }
869
+ uc-editor-toolbar .uc-controls-list_last-item {
870
+ margin-right: var(--cldtr-gap-max);
871
+ }
872
+ uc-editor-toolbar .uc-info-tooltip_container {
873
+ position: absolute;
874
+ display: flex;
875
+ align-items: flex-start;
876
+ justify-content: center;
877
+ width: 100%;
878
+ height: 100%;
879
+ }
880
+ uc-editor-toolbar .uc-info-tooltip_wrapper {
881
+ position: absolute;
882
+ top: calc(-100% - var(--cldtr-gap-mid-2));
883
+ display: flex;
884
+ flex-direction: column;
885
+ justify-content: flex-end;
886
+ height: 100%;
887
+ pointer-events: none;
888
+ }
889
+ uc-editor-toolbar .uc-info-tooltip {
890
+ z-index: 3;
891
+ padding: 3px 6px;
892
+ color: var(--color-text-base);
893
+ font-size: 0.7em;
894
+ letter-spacing: 1px;
895
+ text-transform: uppercase;
896
+ background-color: var(--color-text-accent-contrast);
897
+ border-radius: var(--border-radius-editor);
898
+ transform: translateY(100%);
899
+ opacity: 0;
900
+ transition: var(--transition-duration-3);
901
+ }
902
+ uc-editor-toolbar .uc-info-tooltip_visible {
903
+ transform: translateY(0px);
904
+ opacity: 1;
905
+ }
906
+ uc-editor-toolbar .uc-slider {
907
+ padding-right: var(--l-slider-padding);
908
+ padding-left: var(--l-slider-padding);
909
+ }
910
+ uc-btn-ui > button {
911
+ --filter-effect: var(--idle-brightness);
912
+ --opacity-effect: var(--idle-opacity);
913
+ --color-effect: var(--idle-color-rgb);
914
+ --background-effect: var(--idle-background);
915
+ --l-transition-effect: var( --css-transition, color var(--transition-duration-2), background-color var(--transition-duration-2), filter var(--transition-duration-2) );
916
+ all: unset;
917
+ display: inline-flex;
918
+ align-items: center;
919
+ box-sizing: var(--css-box-sizing, border-box);
920
+ height: var(--css-height, var(--uc-button-size));
921
+ padding-right: var(--css-padding-right, 14px);
922
+ padding-left: var(--css-padding-left, 14px);
923
+ font-size: 1em;
924
+ color: var(--color-effect);
925
+ background-color: var(--background-effect);
926
+ border-radius: var(--uc-radius);
927
+ opacity: var(--opacity-effect);
928
+ cursor: pointer;
929
+ filter: brightness(var(--filter-effect));
930
+ transition: var(--l-transition-effect);
931
+ user-select: none;
932
+ }
933
+ uc-btn-ui > button > uc-icon {
934
+ pointer-events: none;
935
+ }
936
+ uc-btn-ui .uc-text {
937
+ white-space: nowrap;
938
+ }
939
+ uc-btn-ui .uc-icon {
940
+ display: flex;
941
+ align-items: center;
942
+ justify-content: center;
943
+ color: var(--color-effect);
944
+ filter: brightness(var(--filter-effect));
945
+ transition: var(--l-transition-effect);
946
+ }
947
+ uc-btn-ui .uc-icon_left {
948
+ margin-right: var(--cldtr-gap-mid-1);
949
+ margin-left: 0px;
950
+ }
951
+ uc-btn-ui .uc-icon_right {
952
+ margin-right: 0px;
953
+ margin-left: var(--cldtr-gap-mid-1);
954
+ }
955
+ uc-btn-ui .uc-icon_single {
956
+ margin-right: 0px;
957
+ margin-left: 0px;
958
+ }
959
+ uc-btn-ui .uc-icon_hidden {
960
+ display: none;
961
+ margin: 0;
962
+ }
963
+ uc-btn-ui.uc-primary > button {
964
+ --idle-color-rgb: var(--uc-primary-foreground);
965
+ --idle-brightness: 1;
966
+ --idle-opacity: 1;
967
+ --idle-background: var(--uc-primary);
968
+ --hover-color-rgb: var(--uc-primary-foreground);
969
+ --hover-brightness: 1;
970
+ --hover-opacity: 1;
971
+ --hover-background: var(--uc-primary-hover);
972
+ --down-color-rgb: var(--uc-primary-foreground);
973
+ --down-brightness: 0.75;
974
+ --down-opacity: 1;
975
+ --down-background: var(--uc-primary);
976
+ --active-color-rgb: var(--uc-primary-foreground);
977
+ --active-brightness: 1;
978
+ --active-opacity: 1;
979
+ --active-background: var(--uc-primary);
980
+ }
981
+ uc-btn-ui.uc-primary-icon > button {
982
+ --idle-color-rgb: var(--uc-primary);
983
+ --idle-brightness: 1;
984
+ --idle-opacity: 1;
985
+ --idle-background: transparent;
986
+ --hover-color-rgb: var(--uc-primary);
987
+ --hover-brightness: 1;
988
+ --hover-opacity: 1;
989
+ --hover-background: var(--uc-primary-transparent);
990
+ --down-color-rgb: var(--uc-primary);
991
+ --down-brightness: 0.75;
992
+ --down-opacity: 1;
993
+ --down-background: var(--uc-primary-transparent);
994
+ --active-color-rgb: var(--uc-primary-foreground);
995
+ --active-brightness: 1;
996
+ --active-opacity: 1;
997
+ --active-background: var(--uc-primary);
998
+ padding: 0;
999
+ width: var(--uc-button-size);
1000
+ }
1001
+ uc-btn-ui.uc-secondary > button {
1002
+ --idle-color-rgb: var(--uc-secondary-foreground);
1003
+ --idle-brightness: 1;
1004
+ --idle-opacity: 1;
1005
+ --idle-background: var(--uc-secondary);
1006
+ --hover-color-rgb: var(--uc-secondary-foreground);
1007
+ --hover-brightness: 1;
1008
+ --hover-opacity: 1;
1009
+ --hover-background: var(--uc-secondary-hover);
1010
+ --down-color-rgb: var(--uc-secondary-foreground);
1011
+ --down-brightness: 1;
1012
+ --down-opacity: 1;
1013
+ --down-background: var(--uc-secondary-hover);
1014
+ --active-color-rgb: var(--uc-secondary-foreground);
1015
+ --active-brightness: 1;
1016
+ --active-opacity: 1;
1017
+ --active-background: transparent;
1018
+ }
1019
+ :where(.uc-contrast) uc-btn-ui.uc-secondary > button {
1020
+ border: 1px solid var(--uc-border);
1021
+ }
1022
+ uc-btn-ui.uc-secondary-icon > button {
1023
+ --idle-color-rgb: var(--uc-secondary-foreground);
1024
+ --idle-brightness: 1;
1025
+ --idle-opacity: 1;
1026
+ --idle-background: transparent;
1027
+ --hover-color-rgb: var(--uc-secondary-foreground);
1028
+ --hover-brightness: 1;
1029
+ --hover-opacity: 1;
1030
+ --hover-background: var(--uc-secondary);
1031
+ --down-color-rgb: var(--uc-secondary-foreground);
1032
+ --down-brightness: 1;
1033
+ --down-opacity: 1;
1034
+ --down-background: var(--uc-secondary);
1035
+ --active-color-rgb: var(--uc-secondary-foreground);
1036
+ --active-brightness: 1;
1037
+ --active-opacity: 1;
1038
+ --active-background: transparent;
1039
+ padding: 0;
1040
+ width: var(--uc-button-size);
1041
+ }
1042
+ uc-btn-ui.uc-tab > button {
1043
+ --idle-color-rgb: var(--uc-secondary-foreground);
1044
+ --idle-brightness: 1;
1045
+ --idle-opacity: 1;
1046
+ --idle-background: transparent;
1047
+ --hover-color-rgb: var(--uc-secondary-foreground);
1048
+ --hover-brightness: 1;
1049
+ --hover-opacity: 1;
1050
+ --hover-background: var(--uc-secondary);
1051
+ --down-color-rgb: var(--uc-secondary-foreground);
1052
+ --down-brightness: 1;
1053
+ --down-opacity: 1;
1054
+ --down-background: var(--uc-secondary);
1055
+ --active-color-rgb: var(--uc-secondary-foreground);
1056
+ --active-brightness: 1;
1057
+ --active-opacity: 1;
1058
+ --active-background: transparent;
1059
+ padding: 0;
1060
+ width: var(--uc-button-size);
1061
+ }
1062
+ uc-btn-ui.uc-default > button {
1063
+ --idle-color-rgb: var(--uc-secondary-foreground);
1064
+ --idle-brightness: 1;
1065
+ --idle-opacity: 1;
1066
+ --idle-background: var(--uc-secondary);
1067
+ --hover-color-rgb: var(--uc-secondary-foreground);
1068
+ --hover-brightness: 1;
1069
+ --hover-opacity: 1;
1070
+ --hover-background: var(--uc-secondary-hover);
1071
+ --down-color-rgb: var(--uc-secondary-foreground);
1072
+ --down-brightness: 0.75;
1073
+ --down-opacity: 1;
1074
+ --down-background: var(--uc-secondary);
1075
+ --active-color-rgb: var(--uc-primary);
1076
+ --active-brightness: 1;
1077
+ --active-opacity: 1;
1078
+ --active-background: var(--uc-primary-transparent);
1079
+ }
1080
+ :where(.uc-contrast) uc-btn-ui.uc-default > button {
1081
+ --idle-background: transparent;
1082
+ --hover-background: var(--uc-secondary);
1083
+ --active-background: var(--uc-foreground);
1084
+ --active-color-rgb: var(--uc-background);
1085
+ }
1086
+ uc-line-loader-ui {
1087
+ position: absolute;
1088
+ top: 0px;
1089
+ left: 0px;
1090
+ z-index: 9999;
1091
+ width: 100%;
1092
+ height: 2px;
1093
+ opacity: 0.5;
1094
+ }
1095
+ uc-line-loader-ui .uc-inner {
1096
+ width: 25%;
1097
+ max-width: 200px;
1098
+ height: 100%;
1099
+ }
1100
+ uc-line-loader-ui .uc-line {
1101
+ width: 100%;
1102
+ height: 100%;
1103
+ background-color: var(--uc-primary);
1104
+ transform: translateX(-101%);
1105
+ transition: transform 1s;
1106
+ }
1107
+ uc-slider-ui {
1108
+ --l-thumb-size: 24px;
1109
+ --l-zero-dot-size: 5px;
1110
+ --l-zero-dot-offset: 2px;
1111
+ --idle-color-rgb: var(--uc-foreground);
1112
+ --hover-color-rgb: var(--uc-primary);
1113
+ --down-color-rgb: var(--uc-primary);
1114
+ --color-effect: var(--idle-color-rgb);
1115
+ --l-color: var(--color-effect);
1116
+ position: relative;
1117
+ display: flex;
1118
+ align-items: center;
1119
+ justify-content: center;
1120
+ width: 100%;
1121
+ height: calc(var(--l-thumb-size) + (var(--l-zero-dot-size) + var(--l-zero-dot-offset)) * 2);
1122
+ }
1123
+ uc-slider-ui .uc-thumb {
1124
+ position: absolute;
1125
+ left: 0px;
1126
+ width: var(--l-thumb-size);
1127
+ height: var(--l-thumb-size);
1128
+ background-color: var(--l-color);
1129
+ border-radius: 50%;
1130
+ transform: translateX(0px);
1131
+ opacity: 1;
1132
+ transition: opacity var(--transition-duration-2), background-color var(--transition-duration-2);
1133
+ }
1134
+ uc-slider-ui .uc-steps {
1135
+ position: absolute;
1136
+ display: flex;
1137
+ align-items: center;
1138
+ justify-content: space-between;
1139
+ box-sizing: border-box;
1140
+ width: 100%;
1141
+ height: 100%;
1142
+ padding-right: calc(var(--l-thumb-size) / 2);
1143
+ padding-left: calc(var(--l-thumb-size) / 2);
1144
+ }
1145
+ uc-slider-ui .uc-border-step {
1146
+ width: 0px;
1147
+ height: 10px;
1148
+ border-right: 1px solid var(--uc-foreground);
1149
+ opacity: 1;
1150
+ transition: border-color var(--transition-duration-2);
1151
+ }
1152
+ uc-slider-ui .uc-minor-step {
1153
+ width: 0px;
1154
+ height: 4px;
1155
+ border-right: 1px solid var(--uc-foreground);
1156
+ opacity: 0.6;
1157
+ transition: border-color var(--transition-duration-2);
1158
+ }
1159
+ uc-slider-ui .uc-zero-dot {
1160
+ position: absolute;
1161
+ top: calc(100% - var(--l-zero-dot-offset) * 2);
1162
+ left: calc(var(--l-thumb-size) / 2 - var(--l-zero-dot-size) / 2);
1163
+ width: var(--l-zero-dot-size);
1164
+ height: var(--l-zero-dot-size);
1165
+ background-color: var(--color-primary-accent);
1166
+ border-radius: 50%;
1167
+ opacity: 0;
1168
+ transition: var(--transition-duration-3);
1169
+ }
1170
+ uc-slider-ui .uc-input {
1171
+ position: absolute;
1172
+ width: calc(100% - 10px);
1173
+ height: 100%;
1174
+ margin: 0;
1175
+ cursor: pointer;
1176
+ opacity: 0;
1177
+ }
1178
+ uc-presence-toggle.uc-transition {
1179
+ transition: opacity var(--transition-duration-3), visibility var(--transition-duration-3);
1180
+ }
1181
+ uc-presence-toggle.uc-visible {
1182
+ opacity: 1;
1183
+ pointer-events: inherit;
1184
+ }
1185
+ uc-presence-toggle.uc-hidden {
1186
+ opacity: 0;
1187
+ pointer-events: none;
1188
+ }
1189
+ uc-presence-toggle.uc-initial {
1190
+ display: none !important;
1191
+ transition: none !important;
1192
+ }
1193
+ [uc-cloud-image-editor] [role=button]:focus-visible,
1194
+ [uc-cloud-image-editor] button:focus-visible {
1195
+ outline: 1px auto Highlight;
1196
+ outline: 1px auto -webkit-focus-ring-color;
1197
+ }
1198
+ [uc-cloud-image-editor] .uc-cloud-mask {
1199
+ pointer-events: none;
1200
+ }
1201
+ [uc-aspect-ratio-freeform] button {
1202
+ display: flex;
1203
+ }
1204
+ [uc-aspect-ratio-freeform] uc-icon {
1205
+ display: none;
1206
+ }
1207
+ [uc-aspect-ratio-freeform] .uc-title {
1208
+ padding-left: var(--cldtr-gap-mid-1);
1209
+ }
1210
+ :where(uc-editor-freeform-button-control, uc-editor-aspect-ratio-button-control:last-of-type) {
1211
+ margin-right: calc(3 * var(--cldtr-gap-mid-1));
1212
+ }
1213
+ }
1214
+
1215
+ /* src/blocks/CloudImageEditor/src/css/icons.css */
1216
+ @layer uc.solutions {
1217
+ :where([uc-cloud-image-editor]) uc-icon {
1218
+ display: flex;
1219
+ justify-content: center;
1220
+ width: 100%;
1221
+ height: 100%;
1222
+ }
1223
+ :where([uc-cloud-image-editor]) uc-icon svg {
1224
+ width: calc(var(--uc-button-size) / 2);
1225
+ height: calc(var(--uc-button-size) / 2);
1226
+ }
1227
+ }
1228
+
1229
+ /* src/blocks/CloudImageEditor/src/css/index.css */
1230
+
1231
+ /* src/blocks/CloudImageEditor/index.css */
1232
+
1233
+ /* src/blocks/CloudImageEditorActivity/cloud-image-editor-activity.css */
1234
+ @layer uc.components {
1235
+ uc-cloud-image-editor-activity {
1236
+ position: relative;
1237
+ display: flex;
1238
+ width: 100%;
1239
+ height: 100%;
1240
+ overflow: hidden;
1241
+ background-color: var(--uc-background);
1242
+ }
1243
+ [uc-modal] > dialog:has(uc-cloud-image-editor-activity[active]) {
1244
+ width: 100%;
1245
+ height: 100%;
1246
+ }
1247
+ }
1248
+
1249
+ /* src/blocks/Config/config.css */
1250
+ @layer uc.components {
1251
+ uc-config {
1252
+ display: none;
1253
+ }
1254
+ }
1255
+
1256
+ /* src/blocks/Copyright/copyright.css */
1257
+ @layer uc.components {
1258
+ uc-copyright {
1259
+ display: flex;
1260
+ width: 100%;
1261
+ justify-content: center;
1262
+ }
1263
+ uc-copyright .uc-credits {
1264
+ all: unset;
1265
+ position: absolute;
1266
+ bottom: 12px;
1267
+ background-color: var(--uc-background);
1268
+ padding: 2px 5px;
1269
+ border-radius: 6px;
1270
+ color: var(--uc-muted-foreground);
1271
+ font-weight: normal;
1272
+ font-size: 12px;
1273
+ opacity: 0.9;
1274
+ cursor: pointer;
1275
+ transition: opacity var(--uc-transition), background-color var(--uc-transition);
1276
+ }
1277
+ uc-copyright .uc-credits:focus-visible {
1278
+ outline: 1px auto Highlight;
1279
+ outline: 1px auto -webkit-focus-ring-color;
1280
+ }
1281
+ uc-copyright .uc-credits:hover {
1282
+ opacity: 1;
1283
+ background-color: var(--uc-muted);
1284
+ }
1285
+ }
1286
+
1287
+ /* src/blocks/DropArea/drop-area.css */
1288
+ @layer uc.components {
1289
+ :where([uc-drop-area]) {
1290
+ padding: 2px;
1291
+ overflow: hidden;
1292
+ border: 1px dashed var(--uc-border);
1293
+ border-radius: calc(var(--uc-radius) * 1.75);
1294
+ transition: border var(--uc-transition), border-radius var(--uc-transition);
1295
+ }
1296
+ :where([uc-drop-area]),
1297
+ :where([uc-drop-area]) .uc-content-wrapper {
1298
+ display: flex;
1299
+ align-items: center;
1300
+ justify-content: center;
1301
+ width: 100%;
1302
+ height: 100%;
1303
+ }
1304
+ :where([uc-drop-area]) .uc-text {
1305
+ position: relative;
1306
+ margin: var(--uc-padding);
1307
+ color: var(--uc-muted-foreground);
1308
+ transition: color var(--uc-transition);
1309
+ }
1310
+ :where([uc-drop-area])[ghost][drag-state=inactive] {
1311
+ display: none;
1312
+ }
1313
+ :where([uc-drop-area])[ghost]:not([fullscreen]):is([drag-state=active], [drag-state=near], [drag-state=over]) {
1314
+ background: var(--uc-background);
1315
+ }
1316
+ :where([uc-drop-area]):is([drag-state=active], [drag-state=near], [drag-state=over], :hover) {
1317
+ background: var(--uc-primary-transparent);
1318
+ border-color: var(--uc-primary-transparent);
1319
+ }
1320
+ :where(.uc-contrast) :where([uc-drop-area]):is([drag-state=active], [drag-state=near], [drag-state=over], :hover) {
1321
+ color: var(--uc-foreground);
1322
+ background: transparent;
1323
+ border-color: var(--uc-foreground);
1324
+ border-width: 2px;
1325
+ border-style: solid;
1326
+ }
1327
+ :where([uc-drop-area]):is([drag-state=active], [drag-state=near]) {
1328
+ opacity: 1;
1329
+ }
1330
+ :where([uc-drop-area])[drag-state=over] {
1331
+ border-color: var(--uc-primary);
1332
+ opacity: 1;
1333
+ }
1334
+ :where([uc-drop-area])[with-icon] {
1335
+ min-height: 180px;
1336
+ }
1337
+ :where([uc-drop-area])[with-icon] .uc-content-wrapper {
1338
+ display: flex;
1339
+ flex-direction: column;
1340
+ }
1341
+ :where([uc-drop-area])[with-icon] .uc-text {
1342
+ color: var(--uc-foreground);
1343
+ font-weight: 500;
1344
+ font-size: 1.1em;
1345
+ }
1346
+ :where([uc-drop-area])[with-icon] .uc-icon-container {
1347
+ position: relative;
1348
+ width: 64px;
1349
+ height: 64px;
1350
+ margin: var(--uc-padding);
1351
+ overflow: hidden;
1352
+ color: var(--uc-foreground);
1353
+ background-color: var(--uc-muted);
1354
+ border-radius: 50%;
1355
+ transition: color var(--uc-transition), background-color var(--uc-transition);
1356
+ }
1357
+ :where([uc-drop-area])[with-icon] uc-icon {
1358
+ position: absolute;
1359
+ width: 32px;
1360
+ height: 32px;
1361
+ top: calc(50% - 16px);
1362
+ left: calc(50% - 16px);
1363
+ transition: transform var(--uc-transition);
1364
+ }
1365
+ :where([uc-drop-area])[with-icon] uc-icon:last-child {
1366
+ transform: translateY(48px);
1367
+ }
1368
+ :where(.uc-contrast) :where([uc-drop-area])[with-icon]:hover .uc-icon-container,
1369
+ :where(.uc-contrast) :where([uc-drop-area])[with-icon]:hover .uc-text {
1370
+ color: var(--uc-foreground);
1371
+ }
1372
+ :where([uc-drop-area])[with-icon]:hover .uc-icon-container {
1373
+ background-color: var(--uc-primary-transparent);
1374
+ }
1375
+ :where(.uc-contrast) :where([uc-drop-area])[with-icon]:hover .uc-icon-container {
1376
+ background-color: var(--uc-muted);
1377
+ }
1378
+ :where([uc-drop-area])[with-icon] > .uc-content-wrapper:is([drag-state=active], [drag-state=near], [drag-state=over]) .uc-icon-container {
1379
+ color: var(--uc-primary-foreground);
1380
+ background-color: var(--uc-primary);
1381
+ }
1382
+ :where([uc-drop-area])[with-icon] > .uc-content-wrapper:is([drag-state=active], [drag-state=near], [drag-state=over]) .uc-text {
1383
+ color: var(--uc-foreground);
1384
+ }
1385
+ :where(.uc-contrast) :where([uc-drop-area])[with-icon] > .uc-content-wrapper:is([drag-state=active], [drag-state=near], [drag-state=over]) .uc-text {
1386
+ color: var(--uc-foreground);
1387
+ }
1388
+ :where([uc-drop-area])[with-icon] > .uc-content-wrapper:is([drag-state=active], [drag-state=near], [drag-state=over]) uc-icon:first-child {
1389
+ transform: translateY(-48px);
1390
+ }
1391
+ :where([uc-drop-area])[with-icon] > .uc-content-wrapper:is([drag-state=active], [drag-state=near], [drag-state=over]) uc-icon:last-child {
1392
+ transform: translateY(0);
1393
+ }
1394
+ :where([uc-drop-area])[with-icon] > .uc-content-wrapper[drag-state=near] uc-icon:last-child {
1395
+ transform: scale(1.3);
1396
+ }
1397
+ :where([uc-drop-area])[with-icon] > .uc-content-wrapper[drag-state=over] uc-icon:last-child {
1398
+ transform: scale(1.5);
1399
+ }
1400
+ :where([uc-drop-area])[fullscreen] {
1401
+ position: fixed;
1402
+ top: 0;
1403
+ right: 0;
1404
+ bottom: 0;
1405
+ left: 0;
1406
+ z-index: 2147483647;
1407
+ display: flex;
1408
+ align-items: center;
1409
+ justify-content: center;
1410
+ width: calc(100vw - var(--uc-padding) * 2);
1411
+ height: calc(100vh - var(--uc-padding) * 2);
1412
+ margin: var(--uc-padding);
1413
+ }
1414
+ :where([uc-drop-area])[fullscreen] .uc-content-wrapper {
1415
+ width: 100%;
1416
+ max-width: calc(var(--uc-dialog-width) * 0.8);
1417
+ height: 180px;
1418
+ color: var(--uc-foreground);
1419
+ background-color: var(--uc-background);
1420
+ border-radius: calc(var(--uc-radius) * 1.75);
1421
+ box-shadow: var(--uc-dialog-shadow);
1422
+ transition:
1423
+ color var(--uc-transition),
1424
+ background-color var(--uc-transition),
1425
+ box-shadow var(--uc-transition),
1426
+ border-radius var(--uc-transition),
1427
+ transform var(--uc-transition);
1428
+ }
1429
+ :where([uc-drop-area])[with-icon][fullscreen][drag-state=active] > .uc-content-wrapper,
1430
+ :where([uc-drop-area])[with-icon][fullscreen][drag-state=near] > .uc-content-wrapper {
1431
+ transform: translateY(10px);
1432
+ opacity: 0;
1433
+ }
1434
+ :where([uc-drop-area])[with-icon][fullscreen][drag-state=over] > .uc-content-wrapper {
1435
+ transform: translateY(0px);
1436
+ opacity: 1;
1437
+ }
1438
+ :is(:where([uc-drop-area])[with-icon][fullscreen]) > .uc-content-wrapper uc-icon:first-child {
1439
+ transform: translateY(-48px);
1440
+ }
1441
+ :where([uc-drop-area])[clickable] {
1442
+ cursor: pointer;
1443
+ }
1444
+ }
1445
+
1446
+ /* src/blocks/ExternalSource/external-source.css */
1447
+ @layer uc.components {
1448
+ uc-external-source {
1449
+ display: flex;
1450
+ flex-direction: column;
1451
+ width: 100%;
1452
+ height: 100%;
1453
+ background-color: var(--uc-background);
1454
+ overflow: hidden;
1455
+ position: relative;
1456
+ }
1457
+ [uc-modal] > dialog:has(uc-external-source[active]) {
1458
+ width: 100%;
1459
+ height: 100%;
1460
+ }
1461
+ uc-external-source > .uc-content {
1462
+ position: relative;
1463
+ display: grid;
1464
+ flex: 1;
1465
+ grid-template-rows: 1fr min-content;
1466
+ }
1467
+ uc-external-source iframe {
1468
+ display: block;
1469
+ width: 100%;
1470
+ height: 100%;
1471
+ border: none;
1472
+ }
1473
+ uc-external-source .uc-iframe-wrapper {
1474
+ overflow: hidden;
1475
+ }
1476
+ uc-external-source .uc-toolbar {
1477
+ display: flex;
1478
+ width: 100%;
1479
+ grid-gap: var(--uc-padding);
1480
+ align-items: center;
1481
+ justify-content: space-between;
1482
+ padding: var(--uc-padding);
1483
+ border-top: 1px solid var(--uc-border);
1484
+ }
1485
+ uc-external-source .uc-back-btn {
1486
+ padding-left: 0;
1487
+ }
1488
+ uc-external-source .uc-selection-status-box {
1489
+ color: var(--uc-foreground);
1490
+ display: flex;
1491
+ flex-direction: column;
1492
+ align-items: center;
1493
+ justify-content: center;
1494
+ }
1495
+ uc-external-source .uc-selection-status-box button {
1496
+ color: var(--uc-primary);
1497
+ height: auto;
1498
+ padding: 0;
1499
+ background: none;
1500
+ }
1501
+ uc-external-source .uc-selection-status-box button:hover {
1502
+ text-decoration: underline;
1503
+ }
1504
+ uc-external-source uc-activity-header {
1505
+ position: absolute;
1506
+ width: 100%;
1507
+ justify-content: flex-end;
1508
+ z-index: 1;
1509
+ left: 0;
1510
+ top: 0;
1511
+ right: 0;
1512
+ pointer-events: none;
1513
+ }
1514
+ uc-external-source uc-activity-header .uc-close-btn {
1515
+ pointer-events: auto;
1516
+ }
1517
+ uc-external-source .uc-done-btn > span.uc-hidden {
1518
+ visibility: hidden;
1519
+ pointer-events: none;
1520
+ }
1521
+ uc-external-source .uc-done-btn > uc-spinner {
1522
+ position: absolute;
1523
+ width: 100%;
1524
+ height: 100%;
1525
+ display: flex;
1526
+ align-items: center;
1527
+ justify-content: center;
1528
+ }
1529
+ }
1530
+
1531
+ /* src/blocks/FileItem/file-item.css */
1532
+ @layer uc.components {
1533
+ uc-file-item {
1534
+ --uc-file-item-gap: 4px;
1535
+ --uc-file-item-height: calc(var(--uc-preview-size) + var(--uc-padding) * 2 + var(--uc-file-item-gap));
1536
+ display: block;
1537
+ overflow: hidden;
1538
+ min-height: var(--uc-file-item-height);
1539
+ }
1540
+ uc-file-item:last-of-type {
1541
+ --uc-file-item-gap: 0;
1542
+ }
1543
+ uc-file-item > .uc-inner {
1544
+ position: relative;
1545
+ display: grid;
1546
+ grid-template-columns: var(--uc-preview-size) 1fr max-content;
1547
+ gap: 2px;
1548
+ align-items: center;
1549
+ margin-bottom: var(--uc-file-item-gap);
1550
+ padding: var(--uc-padding);
1551
+ overflow: hidden;
1552
+ font-size: 0.925em;
1553
+ background-color: var(--uc-muted);
1554
+ border-radius: var(--uc-radius);
1555
+ transition: background-color var(--uc-transition);
1556
+ }
1557
+ uc-file-item > .uc-inner[focused] {
1558
+ background-color: transparent;
1559
+ }
1560
+ uc-file-item > .uc-inner[uploading] .uc-edit-btn {
1561
+ display: none;
1562
+ }
1563
+ uc-file-item > :where(.uc-inner[failed], .uc-inner[limit-overflow]) {
1564
+ background-color: var(--uc-destructive);
1565
+ }
1566
+ uc-file-item .uc-thumb {
1567
+ position: relative;
1568
+ display: inline-flex;
1569
+ width: var(--uc-preview-size);
1570
+ height: var(--uc-preview-size);
1571
+ background-color: var(--uc-secondary);
1572
+ background-position: center center;
1573
+ background-repeat: no-repeat;
1574
+ background-size: cover;
1575
+ border-radius: var(--uc-radius);
1576
+ }
1577
+ uc-file-item .uc-file-name-wrapper {
1578
+ text-align: left;
1579
+ display: flex;
1580
+ flex-direction: column;
1581
+ align-items: flex-start;
1582
+ justify-content: center;
1583
+ max-width: 100%;
1584
+ padding-right: var(--uc-padding);
1585
+ padding-left: var(--uc-padding);
1586
+ overflow: hidden;
1587
+ color: var(--uc-muted-foreground);
1588
+ }
1589
+ uc-file-item .uc-file-name {
1590
+ max-width: 100%;
1591
+ overflow: hidden;
1592
+ white-space: nowrap;
1593
+ text-overflow: ellipsis;
1594
+ }
1595
+ uc-file-item .uc-file-error {
1596
+ display: none;
1597
+ color: var(--uc-destructive-foreground);
1598
+ font-size: 0.85em;
1599
+ z-index: 2;
1600
+ }
1601
+ uc-file-item button.uc-remove-btn,
1602
+ uc-file-item button.uc-edit-btn {
1603
+ color: var(--uc-muted-foreground);
1604
+ }
1605
+ uc-file-item button svg {
1606
+ pointer-events: none;
1607
+ }
1608
+ uc-file-item button.uc-upload-btn {
1609
+ display: none;
1610
+ }
1611
+ uc-file-item .uc-badge {
1612
+ position: absolute;
1613
+ bottom: 2px;
1614
+ right: 2px;
1615
+ width: 14px;
1616
+ height: 14px;
1617
+ color: var(--uc-background);
1618
+ background-color: var(--uc-foreground);
1619
+ border-radius: 50%;
1620
+ transform: scale(0.3);
1621
+ opacity: 0;
1622
+ transition: opacity var(--uc-transition), transform var(--uc-transition);
1623
+ display: flex;
1624
+ justify-content: center;
1625
+ align-items: center;
1626
+ }
1627
+ uc-file-item > .uc-inner:where([failed], [limit-overflow], [finished]) .uc-badge {
1628
+ transform: scale(1);
1629
+ opacity: 1;
1630
+ }
1631
+ uc-file-item > .uc-inner:where([failed], [limit-overflow]) .uc-badge {
1632
+ background-color: var(--uc-destructive-foreground);
1633
+ }
1634
+ uc-file-item > .uc-inner:where([failed], [limit-overflow]) .uc-file-error {
1635
+ display: block;
1636
+ }
1637
+ uc-file-item .uc-badge uc-icon,
1638
+ uc-file-item .uc-badge uc-icon svg {
1639
+ width: 100%;
1640
+ height: 100%;
1641
+ }
1642
+ uc-file-item .uc-progress-bar {
1643
+ opacity: 0.7;
1644
+ top: calc(100% - 2px);
1645
+ height: 2px;
1646
+ }
1647
+ :where(.uc-contrast) uc-file-item .uc-progress-bar {
1648
+ opacity: 1;
1649
+ }
1650
+ uc-file-item .uc-file-actions {
1651
+ display: flex;
1652
+ gap: 2px;
1653
+ align-items: center;
1654
+ justify-content: center;
1655
+ }
1656
+ uc-file-item[mode=grid] {
1657
+ overflow: visible;
1658
+ min-height: initial;
1659
+ }
1660
+ uc-file-item[mode=grid] .uc-inner {
1661
+ height: 100%;
1662
+ grid-template-columns: 1fr;
1663
+ grid-template-rows: 1fr max-content;
1664
+ padding: 0;
1665
+ background-color: transparent;
1666
+ margin-bottom: 0;
1667
+ border-radius: 0;
1668
+ }
1669
+ uc-file-item[mode=grid] .uc-inner[failed] .uc-badge {
1670
+ display: none;
1671
+ }
1672
+ uc-file-item[mode=grid] .uc-thumb {
1673
+ width: 100%;
1674
+ height: 100%;
1675
+ }
1676
+ uc-file-item[mode=grid] .uc-badge {
1677
+ right: var(--uc-padding);
1678
+ bottom: var(--uc-padding);
1679
+ }
1680
+ uc-file-item[mode=grid] .uc-file-name-wrapper {
1681
+ padding: 0;
1682
+ }
1683
+ uc-file-item[mode=grid] .uc-file-name:not([hidden]) + .uc-file-error {
1684
+ bottom: calc(var(--uc-padding) + var(--uc-font-size));
1685
+ }
1686
+ uc-file-item[mode=grid] .uc-file-error {
1687
+ position: absolute;
1688
+ background-color: var(--uc-destructive-foreground);
1689
+ border-radius: var(--uc-radius);
1690
+ color: var(--uc-background);
1691
+ bottom: var(--uc-padding);
1692
+ left: var(--uc-padding);
1693
+ right: var(--uc-padding);
1694
+ padding: calc(var(--uc-padding) / 2) var(--uc-padding);
1695
+ }
1696
+ uc-file-item[mode=grid] .uc-file-hint {
1697
+ position: absolute;
1698
+ background-color: var(--uc-background);
1699
+ border-radius: var(--uc-radius);
1700
+ color: var(--uc-foreground);
1701
+ bottom: calc(var(--uc-padding) * 2);
1702
+ left: var(--uc-padding);
1703
+ right: var(--uc-padding);
1704
+ padding: calc(var(--uc-padding) / 2) var(--uc-padding);
1705
+ }
1706
+ uc-file-item[mode=grid] .uc-file-actions {
1707
+ position: absolute;
1708
+ top: var(--uc-padding);
1709
+ right: var(--uc-padding);
1710
+ }
1711
+ uc-file-item[mode=grid] button {
1712
+ background-color: var(--uc-background);
1713
+ }
1714
+ uc-file-item[mode=grid] button:hover {
1715
+ background-color: var(--uc-muted);
1716
+ }
1717
+ uc-file-item[mode=grid] .uc-progress-bar {
1718
+ width: initial;
1719
+ height: 4px !important;
1720
+ top: initial !important;
1721
+ bottom: var(--uc-padding);
1722
+ left: var(--uc-padding);
1723
+ right: var(--uc-padding);
1724
+ border-radius: var(--uc-radius);
1725
+ z-index: 1;
1726
+ transition: background-color 0.3s, opacity 0.3s;
1727
+ background-color: var(--uc-background);
1728
+ }
1729
+ uc-file-item[mode=grid] .uc-progress-bar :is(.uc-fake-progress, .uc-progress) {
1730
+ background-color: var(--uc-primary);
1731
+ }
1732
+ uc-file-item[mode=grid] .uc-progress-bar[hasfilename] {
1733
+ bottom: calc(var(--uc-padding) + var(--uc-font-size));
1734
+ }
1735
+ }
1736
+
1737
+ /* src/blocks/Icon/icon.css */
1738
+ @layer uc.components {
1739
+ uc-icon {
1740
+ display: inline-flex;
1741
+ align-items: center;
1742
+ justify-content: center;
1743
+ width: var(--uc-button-size);
1744
+ height: var(--uc-button-size);
1745
+ }
1746
+ uc-icon svg {
1747
+ width: calc(var(--uc-button-size) / 2);
1748
+ height: calc(var(--uc-button-size) / 2);
1749
+ overflow: visible;
1750
+ }
1751
+ }
1752
+
1753
+ /* src/blocks/Modal/modal.css */
1754
+ @layer uc.components {
1755
+ @supports selector(dialog::backdrop) {
1756
+ :where([uc-modal]) > dialog::backdrop {
1757
+ background-color: oklch(0 0 0 / 0.1);
1758
+ }
1759
+ :where([uc-modal])[strokes] > dialog::backdrop {
1760
+ background-image: var(--modal-backdrop-background-image);
1761
+ }
1762
+ }
1763
+ :where([uc-modal]) > dialog[open] {
1764
+ transform: translateY(0px);
1765
+ visibility: visible;
1766
+ opacity: 1;
1767
+ }
1768
+ :where([uc-modal]) > dialog:not([open]) {
1769
+ transform: translateY(20px);
1770
+ visibility: hidden;
1771
+ opacity: 0;
1772
+ }
1773
+ :where([uc-modal]) > dialog {
1774
+ display: flex;
1775
+ flex-direction: column;
1776
+ width: min(var(--uc-dialog-width), 100%);
1777
+ max-width: min(calc(100% - var(--uc-padding) * 2), var(--uc-dialog-max-width));
1778
+ min-height: var(--uc-button-size);
1779
+ max-height: min(calc(100% - var(--uc-padding) * 2), var(--uc-dialog-max-height));
1780
+ margin: auto;
1781
+ padding: 0;
1782
+ overflow: hidden;
1783
+ background-color: var(--uc-background);
1784
+ border: 0;
1785
+ border-radius: calc(var(--uc-radius) * 1.75);
1786
+ box-shadow: var(--uc-dialog-shadow);
1787
+ transition: transform 0.4s ease, opacity 0.4s ease;
1788
+ }
1789
+ :where(.uc-contrast) :where([uc-modal]) > dialog {
1790
+ outline: 1px solid var(--uc-border);
1791
+ }
1792
+ }
1793
+
1794
+ /* src/blocks/ProgressBar/progress-bar.css */
1795
+ @layer uc.components {
1796
+ uc-progress-bar {
1797
+ --l-progress-value: 0;
1798
+ position: absolute;
1799
+ top: 0;
1800
+ bottom: 0;
1801
+ left: 0;
1802
+ width: 100%;
1803
+ height: 100%;
1804
+ overflow: hidden;
1805
+ pointer-events: none;
1806
+ transition: opacity 0.3s;
1807
+ opacity: 1;
1808
+ }
1809
+ uc-progress-bar.uc-progress-bar--hidden {
1810
+ opacity: 0;
1811
+ }
1812
+ uc-progress-bar .uc-progress {
1813
+ position: absolute;
1814
+ width: calc(var(--l-progress-value) * 1%);
1815
+ height: 100%;
1816
+ background-color: var(--uc-primary);
1817
+ transform: translateX(0);
1818
+ opacity: 1;
1819
+ transition: width 0.6s, opacity 0.3s;
1820
+ }
1821
+ uc-progress-bar .uc-progress--hidden {
1822
+ opacity: 0;
1823
+ }
1824
+ uc-progress-bar .uc-fake-progress {
1825
+ --l-fake-progress-width: 30;
1826
+ position: absolute;
1827
+ width: calc(var(--l-fake-progress-width) * 1%);
1828
+ height: 100%;
1829
+ background-color: var(--uc-primary);
1830
+ animation: fake-progress-animation 1s ease-in-out infinite;
1831
+ opacity: 1;
1832
+ transition: opacity 0.3s;
1833
+ z-index: 1;
1834
+ }
1835
+ uc-progress-bar .uc-fake-progress--hidden {
1836
+ opacity: 0;
1837
+ animation: none;
1838
+ }
1839
+ @keyframes fake-progress-animation {
1840
+ from {
1841
+ transform: translateX(-100%);
1842
+ }
1843
+ to {
1844
+ transform: translateX(calc(100 / var(--l-fake-progress-width) * 100 * 1%));
1845
+ }
1846
+ }
1847
+ }
1848
+
1849
+ /* src/blocks/ProgressBarCommon/progress-bar-common.css */
1850
+ @layer uc.components {
1851
+ uc-progress-bar-common {
1852
+ position: fixed;
1853
+ right: 0;
1854
+ bottom: 0;
1855
+ left: 0;
1856
+ z-index: 10000;
1857
+ display: block;
1858
+ height: 10px;
1859
+ background-color: var(--uc-background);
1860
+ transition: opacity 0.3s;
1861
+ }
1862
+ uc-progress-bar-common:not([active]) {
1863
+ opacity: 0;
1864
+ pointer-events: none;
1865
+ }
1866
+ }
1867
+
1868
+ /* src/blocks/Select/select.css */
1869
+ @layer uc.components {
1870
+ uc-select {
1871
+ display: inline-flex;
1872
+ }
1873
+ uc-select select {
1874
+ position: relative;
1875
+ display: inline-flex;
1876
+ align-items: center;
1877
+ justify-content: center;
1878
+ height: var(--uc-button-size);
1879
+ padding: 0 14px;
1880
+ font-size: 1em;
1881
+ font-family: inherit;
1882
+ white-space: nowrap;
1883
+ border: none;
1884
+ border-radius: var(--uc-radius);
1885
+ cursor: pointer;
1886
+ user-select: none;
1887
+ transition: background-color var(--uc-transition);
1888
+ color: var(--uc-secondary-foreground);
1889
+ background-color: var(--uc-secondary);
1890
+ }
1891
+ }
1892
+
1893
+ /* src/blocks/SimpleBtn/simple-btn.css */
1894
+ @layer uc.components {
1895
+ :where([uc-simple-btn]) {
1896
+ position: relative;
1897
+ display: inline-flex;
1898
+ }
1899
+ :where([uc-simple-btn]) button {
1900
+ height: auto;
1901
+ gap: 0.5em;
1902
+ padding: var(--uc-simple-btn-padding);
1903
+ background-color: var(--uc-simple-btn);
1904
+ color: var(--uc-simple-btn-foreground);
1905
+ font-size: var(--uc-simple-btn-font-size);
1906
+ font-family: var(--uc-simple-btn-font-family);
1907
+ }
1908
+ :where([uc-simple-btn]) button uc-icon {
1909
+ width: auto;
1910
+ height: auto;
1911
+ }
1912
+ :where([uc-simple-btn]) button uc-icon svg {
1913
+ width: 0.9em;
1914
+ height: 0.9em;
1915
+ }
1916
+ :where([uc-simple-btn]) button:hover {
1917
+ background-color: var(--uc-simple-btn-hover);
1918
+ }
1919
+ :where([uc-simple-btn]) > uc-drop-area {
1920
+ display: contents;
1921
+ }
1922
+ :where([uc-simple-btn]) .uc-visual-drop-area {
1923
+ position: absolute;
1924
+ top: 0px;
1925
+ left: 0px;
1926
+ display: flex;
1927
+ align-items: center;
1928
+ justify-content: center;
1929
+ width: 100%;
1930
+ height: 100%;
1931
+ padding: var(--uc-simple-btn-padding);
1932
+ background-color: transparent;
1933
+ color: transparent;
1934
+ font-size: var(--uc-simple-btn-font-size);
1935
+ border: 1px dashed var(--uc-simple-btn-foreground);
1936
+ border-radius: inherit;
1937
+ opacity: 0;
1938
+ transition: opacity var(--uc-transition);
1939
+ }
1940
+ :where([uc-simple-btn]) > uc-drop-area[drag-state=active] .uc-visual-drop-area {
1941
+ opacity: 1;
1942
+ }
1943
+ :where([uc-simple-btn]) > uc-drop-area[drag-state=inactive] .uc-visual-drop-area {
1944
+ opacity: 0;
1945
+ }
1946
+ :where([uc-simple-btn]) > uc-drop-area[drag-state=near] .uc-visual-drop-area {
1947
+ opacity: 1;
1948
+ }
1949
+ :where([uc-simple-btn]) > uc-drop-area[drag-state=over] .uc-visual-drop-area {
1950
+ opacity: 1;
1951
+ }
1952
+ }
1953
+
1954
+ /* src/blocks/SourceBtn/source-btn.css */
1955
+ @layer uc.components {
1956
+ uc-source-btn > button {
1957
+ display: flex;
1958
+ align-items: center;
1959
+ margin-bottom: 2px;
1960
+ padding: 2px var(--uc-padding);
1961
+ color: var(--uc-foreground);
1962
+ border-radius: var(--uc-radius);
1963
+ cursor: pointer;
1964
+ transition: background-color var(--uc-transition), color var(--uc-transition);
1965
+ user-select: none;
1966
+ width: 100%;
1967
+ background-color: unset;
1968
+ height: unset;
1969
+ }
1970
+ uc-source-btn:last-child > button {
1971
+ margin-bottom: 0;
1972
+ }
1973
+ uc-source-btn > button:hover {
1974
+ background-color: var(--uc-primary-transparent);
1975
+ }
1976
+ :where(.uc-contrast) uc-source-btn > button:hover {
1977
+ background-color: var(--uc-secondary);
1978
+ color: var(--uc-foreground);
1979
+ }
1980
+ uc-source-btn uc-icon {
1981
+ display: inline-flex;
1982
+ flex-grow: 1;
1983
+ justify-content: center;
1984
+ min-width: var(--uc-button-size);
1985
+ margin-right: var(--uc-padding);
1986
+ opacity: 0.8;
1987
+ }
1988
+ :where(.uc-contrast) uc-source-btn uc-icon {
1989
+ opacity: 1;
1990
+ }
1991
+ uc-source-btn .uc-txt {
1992
+ display: flex;
1993
+ align-items: center;
1994
+ box-sizing: border-box;
1995
+ width: 100%;
1996
+ height: var(--uc-button-size);
1997
+ padding: 0;
1998
+ white-space: nowrap;
1999
+ border: none;
2000
+ }
2001
+ }
2002
+
2003
+ /* src/blocks/Spinner/spinner.css */
2004
+ @layer uc.components {
2005
+ @keyframes uc-spinner-keyframes {
2006
+ from {
2007
+ transform: rotate(0deg);
2008
+ }
2009
+ to {
2010
+ transform: rotate(360deg);
2011
+ }
2012
+ }
2013
+ .uc-spinner {
2014
+ width: 1em;
2015
+ height: 1em;
2016
+ border: solid 2px transparent;
2017
+ border-top-color: currentColor;
2018
+ border-left-color: currentColor;
2019
+ border-radius: 50%;
2020
+ animation: uc-spinner-keyframes 400ms linear infinite;
2021
+ }
2022
+ }
2023
+
2024
+ /* src/blocks/StartFrom/start-from.css */
2025
+ @layer uc.components {
2026
+ uc-start-from {
2027
+ display: block;
2028
+ overflow-y: auto;
2029
+ }
2030
+ uc-start-from .uc-content {
2031
+ display: grid;
2032
+ grid-auto-flow: row;
2033
+ gap: calc(var(--uc-padding) * 2);
2034
+ width: 100%;
2035
+ height: 100%;
2036
+ padding: calc(var(--uc-padding) * 2);
2037
+ background-color: var(--uc-background);
2038
+ }
2039
+ [uc-modal] > dialog:has(uc-start-from[active]) {
2040
+ width: var(--uc-dialog-width);
2041
+ }
2042
+ [uc-modal] uc-start-from uc-drop-area {
2043
+ border-radius: var(--uc-radius);
2044
+ }
2045
+ @media only screen and (max-width: 430px) {
2046
+ [uc-modal] uc-start-from uc-drop-area {
2047
+ display: none;
2048
+ }
2049
+ }
2050
+ }
2051
+
2052
+ /* src/blocks/Thumb/thumb.css */
2053
+ @layer uc.components {
2054
+ uc-thumb {
2055
+ width: 100%;
2056
+ height: 100%;
2057
+ }
2058
+ }
2059
+
2060
+ /* src/blocks/UploadList/upload-list.css */
2061
+ @layer uc.components {
2062
+ uc-upload-list {
2063
+ position: relative;
2064
+ display: flex;
2065
+ flex-direction: column;
2066
+ width: 100%;
2067
+ height: max-content;
2068
+ overflow: hidden;
2069
+ background-color: var(--uc-background);
2070
+ transition: opacity var(--uc-transition);
2071
+ }
2072
+ uc-upload-list .uc-no-files {
2073
+ height: 32px;
2074
+ padding: 20px;
2075
+ }
2076
+ uc-upload-list .uc-files {
2077
+ display: block;
2078
+ flex: 1;
2079
+ min-height: 32px;
2080
+ padding: 0 var(--uc-padding);
2081
+ overflow: auto;
2082
+ }
2083
+ uc-upload-list .uc-files-wrapper {
2084
+ display: contents;
2085
+ }
2086
+ uc-upload-list .uc-toolbar {
2087
+ display: flex;
2088
+ gap: 4px;
2089
+ justify-content: space-between;
2090
+ padding: var(--uc-padding);
2091
+ background-color: var(--uc-background);
2092
+ }
2093
+ uc-upload-list .uc-toolbar-spacer {
2094
+ flex: 1;
2095
+ }
2096
+ uc-upload-list uc-drop-area {
2097
+ position: absolute;
2098
+ top: 0;
2099
+ left: 0;
2100
+ width: calc(100% - var(--uc-padding) * 2);
2101
+ height: calc(100% - var(--uc-padding) * 2);
2102
+ margin: var(--uc-padding);
2103
+ border-radius: var(--uc-radius);
2104
+ }
2105
+ uc-upload-list uc-activity-header > .uc-header-text {
2106
+ padding: 0 var(--uc-padding);
2107
+ }
2108
+ uc-upload-list .uc-common-error {
2109
+ border-radius: var(--uc-radius);
2110
+ color: var(--uc-destructive-foreground);
2111
+ background-color: var(--uc-destructive);
2112
+ display: flex;
2113
+ align-items: center;
2114
+ justify-content: center;
2115
+ padding: var(--uc-padding);
2116
+ margin: 4px var(--uc-padding) 0 var(--uc-padding);
2117
+ font-size: 0.925em;
2118
+ }
2119
+ uc-upload-list .uc-add-more-btn uc-icon {
2120
+ display: none;
2121
+ }
2122
+ uc-upload-list[mode=grid] .uc-files {
2123
+ display: flex;
2124
+ flex-wrap: wrap;
2125
+ gap: var(--uc-grid-gap);
2126
+ }
2127
+ uc-upload-list .uc-files .uc-add-more-btn,
2128
+ uc-upload-list[mode=grid] uc-file-item {
2129
+ flex: 0 0 calc((100% - (var(--uc-grid-gap) * (var(--uc-grid-col) - 1))) / var(--uc-grid-col));
2130
+ max-width: calc((100% - (var(--uc-grid-gap) * (var(--uc-grid-col) - 1))) / var(--uc-grid-col));
2131
+ height: var(--uc-grid-preview-image-height);
2132
+ aspect-ratio: var(--uc-grid-aspect-ratio);
2133
+ }
2134
+ uc-upload-list .uc-files .uc-add-more-btn {
2135
+ display: none;
2136
+ }
2137
+ }
2138
+
2139
+ /* src/blocks/UrlSource/url-source.css */
2140
+ @layer uc.components {
2141
+ uc-url-source {
2142
+ display: block;
2143
+ background-color: var(--uc-background);
2144
+ }
2145
+ uc-url-source > .uc-content {
2146
+ display: grid;
2147
+ grid-gap: 4px;
2148
+ grid-template-columns: 1fr min-content;
2149
+ padding: var(--uc-padding);
2150
+ padding-top: 0;
2151
+ }
2152
+ uc-url-source .uc-url-input {
2153
+ display: flex;
2154
+ }
2155
+ }
2156
+
2157
+ /* src/solutions/file-uploader/inline/index.css */
2158
+ @layer uc.solutions {
2159
+ [uc-file-uploader-inline] uc-start-from {
2160
+ height: 100%;
2161
+ container-type: inline-size;
2162
+ }
2163
+ [uc-file-uploader-inline] {
2164
+ --cfg-done-activity: "start-from";
2165
+ --cfg-init-activity: "start-from";
2166
+ flex: 1;
2167
+ }
2168
+ [uc-file-uploader-inline] uc-activity-header::after {
2169
+ width: var(--uc-button-size);
2170
+ height: var(--uc-button-size);
2171
+ content: "";
2172
+ }
2173
+ [uc-file-uploader-inline] uc-activity-header .uc-close-btn {
2174
+ display: none;
2175
+ }
2176
+ [uc-file-uploader-inline] uc-copyright .uc-credits {
2177
+ position: static;
2178
+ }
2179
+ @container (min-width: 500px) {
2180
+ [uc-file-uploader-inline] uc-start-from .uc-content {
2181
+ grid-template-columns: 1fr max-content;
2182
+ height: 100%;
2183
+ }
2184
+ [uc-file-uploader-inline] uc-start-from uc-copyright {
2185
+ grid-column: 2;
2186
+ }
2187
+ [uc-file-uploader-inline] uc-start-from uc-drop-area {
2188
+ grid-row: span 3;
2189
+ }
2190
+ [uc-file-uploader-inline] uc-start-from:has(uc-copyright[hidden]) uc-drop-area {
2191
+ grid-row: span 2;
2192
+ }
2193
+ [uc-file-uploader-inline] uc-start-from:has(.uc-cancel-btn[hidden]) uc-drop-area {
2194
+ grid-row: span 2;
2195
+ }
2196
+ [uc-file-uploader-inline] uc-start-from:has(uc-copyright[hidden]):has(.uc-cancel-btn[hidden]) uc-drop-area {
2197
+ grid-row: span 1;
2198
+ }
2199
+ }
2200
+ }
2201
+
2202
+ /* src/solutions/file-uploader/minimal/index.css */
2203
+ @layer uc.solutions {
2204
+ :where([uc-file-uploader-minimal]) {
2205
+ --cfg-init-activity: "start-from";
2206
+ --cfg-done-activity: "upload-list";
2207
+ position: relative;
2208
+ display: block;
2209
+ }
2210
+ [uc-file-uploader-minimal] > uc-start-from .uc-content {
2211
+ display: flex;
2212
+ flex-direction: column;
2213
+ gap: 4px;
2214
+ padding: 0;
2215
+ overflow: hidden;
2216
+ align-items: center;
2217
+ background-color: transparent;
2218
+ }
2219
+ :where([uc-file-uploader-minimal] > uc-start-from uc-drop-area) {
2220
+ display: flex;
2221
+ position: relative;
2222
+ align-items: center;
2223
+ justify-content: center;
2224
+ width: 100%;
2225
+ min-height: calc(var(--uc-preview-size) + var(--uc-padding) * 2 + 8px);
2226
+ padding: 0;
2227
+ text-align: center;
2228
+ background-color: var(--uc-muted);
2229
+ border-radius: calc(var(--uc-radius) * 1.75);
2230
+ }
2231
+ :where(.uc-contrast) :where([uc-file-uploader-minimal] > uc-start-from uc-drop-area) {
2232
+ background-color: transparent;
2233
+ }
2234
+ :where([uc-file-uploader-minimal] > uc-start-from uc-drop-area)::before {
2235
+ content: "";
2236
+ z-index: -1;
2237
+ width: 100%;
2238
+ height: 100%;
2239
+ position: absolute;
2240
+ background-color: var(--uc-background);
2241
+ }
2242
+ :where([uc-file-uploader-minimal]:has([single]) > uc-start-from uc-drop-area) {
2243
+ aspect-ratio: var(--uc-grid-aspect-ratio);
2244
+ }
2245
+ [uc-file-uploader-minimal] uc-upload-list uc-activity-header {
2246
+ display: none;
2247
+ }
2248
+ [uc-file-uploader-minimal] uc-upload-list > .uc-toolbar {
2249
+ background-color: transparent;
2250
+ }
2251
+ [uc-file-uploader-minimal] uc-upload-list {
2252
+ width: 100%;
2253
+ height: unset;
2254
+ padding: 4px;
2255
+ background-color: var(--uc-background);
2256
+ border: 1px dashed var(--uc-border);
2257
+ border-radius: calc(var(--uc-radius) * 1.75);
2258
+ }
2259
+ [uc-file-uploader-minimal] uc-upload-list .uc-files {
2260
+ padding: 0;
2261
+ }
2262
+ [uc-file-uploader-minimal] uc-upload-list .uc-toolbar {
2263
+ display: block;
2264
+ padding: 0;
2265
+ }
2266
+ [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-cancel-btn,
2267
+ [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-upload-btn,
2268
+ [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-done-btn {
2269
+ display: none;
2270
+ }
2271
+ [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-add-more-btn {
2272
+ width: 100%;
2273
+ height: calc(var(--uc-preview-size) + var(--uc-padding) * 2);
2274
+ margin-top: 4px;
2275
+ }
2276
+ [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-add-more-btn[disabled] {
2277
+ display: none;
2278
+ }
2279
+ [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-add-more-btn > span {
2280
+ display: none;
2281
+ }
2282
+ [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-add-more-btn > uc-icon {
2283
+ display: flex;
2284
+ }
2285
+ [uc-file-uploader-minimal] uc-file-item uc-progress-bar {
2286
+ top: 0 !important;
2287
+ height: 100% !important;
2288
+ }
2289
+ [uc-file-uploader-minimal] uc-file-item uc-progress-bar .uc-progress {
2290
+ background-color: var(--uc-primary-transparent);
2291
+ border-radius: var(--uc-radius);
2292
+ }
2293
+ [uc-file-uploader-minimal] uc-file-item uc-progress-bar .uc-fake-progress {
2294
+ background-color: var(--uc-primary-transparent);
2295
+ border-radius: var(--uc-radius);
2296
+ }
2297
+ [uc-file-uploader-minimal] uc-upload-list uc-drop-area {
2298
+ width: 100%;
2299
+ height: 100%;
2300
+ margin: 0;
2301
+ border-radius: calc(var(--uc-radius) * 1.75);
2302
+ }
2303
+ [uc-file-uploader-minimal] uc-upload-list .uc-common-error {
2304
+ margin: 4px 0 0;
2305
+ }
2306
+ [uc-file-uploader-minimal] uc-copyright .uc-credits {
2307
+ position: static;
2308
+ }
2309
+ [uc-file-uploader-minimal][mode=grid] uc-upload-list .uc-toolbar .uc-add-more-btn {
2310
+ display: none;
2311
+ }
2312
+ [uc-file-uploader-minimal][mode=grid] uc-upload-list .uc-files .uc-add-more-btn {
2313
+ display: flex;
2314
+ }
2315
+ [uc-file-uploader-minimal][mode=grid] uc-upload-list .uc-files .uc-add-more-btn > span {
2316
+ display: none;
2317
+ }
2318
+ [uc-file-uploader-minimal][mode=grid] uc-upload-list .uc-files .uc-add-more-btn > uc-icon {
2319
+ display: flex;
2320
+ }
2321
+ }
2322
+
2323
+ /* src/blocks/themes/uc-basic/layers.css */
2324
+ @layer uc, uc.base, uc.components, uc.rules, uc.solutions, uc.post-reset;
2325
+
2326
+ /* src/blocks/themes/uc-basic/config.css */
2327
+ @layer uc.base {
2328
+ :where([uc-wgt-common]) {
2329
+ --cfg-init-activity: "start-from";
2330
+ --cfg-done-activity: "";
2331
+ }
2332
+ }
2333
+
2334
+ /* src/blocks/themes/uc-basic/theme.css */
2335
+ @layer uc.base {
2336
+ :where([uc-wgt-common]) {
2337
+ --uc-font-family: system-ui;
2338
+ --uc-font-size: 14px;
2339
+ --uc-line-height: normal;
2340
+ --uc-simple-btn-font-family: system-ui;
2341
+ --uc-simple-btn-font-size: 14px;
2342
+ --uc-button-size: 32px;
2343
+ --uc-preview-size: 32px;
2344
+ --uc-padding: 10px;
2345
+ --uc-radius: 8px;
2346
+ --uc-transition: 0.2s ease;
2347
+ --uc-dialog-width: 430px;
2348
+ --uc-dialog-max-width: 920px;
2349
+ --uc-dialog-max-height: 675px;
2350
+ --uc-simple-btn-padding: 7px 14px;
2351
+ --uc-grid-col: 3;
2352
+ --uc-grid-preview-image-height: auto;
2353
+ --uc-grid-gap: calc(var(--uc-padding) / 2);
2354
+ --uc-grid-aspect-ratio: 1 / 1;
2355
+ --uc-background: var(--uc-background-light);
2356
+ --uc-foreground: var(--uc-foreground-light);
2357
+ --uc-primary: var(--uc-primary-light);
2358
+ --uc-primary-hover: var(--uc-primary-hover-light);
2359
+ --uc-primary-transparent: var(--uc-primary-transparent-light);
2360
+ --uc-primary-foreground: var(--uc-primary-foreground-light);
2361
+ --uc-secondary: var(--uc-secondary-light);
2362
+ --uc-secondary-hover: var(--uc-secondary-hover-light);
2363
+ --uc-secondary-foreground: var(--uc-secondary-foreground-light);
2364
+ --uc-muted: var(--uc-muted-light);
2365
+ --uc-muted-foreground: var(--uc-muted-foreground-light);
2366
+ --uc-destructive: var(--uc-destructive-light);
2367
+ --uc-destructive-foreground: var(--uc-destructive-foreground-light);
2368
+ --uc-border: var(--uc-border-light);
2369
+ --uc-dialog-shadow: var(--uc-dialog-shadow-light);
2370
+ --uc-simple-btn: var(--uc-simple-btn-light);
2371
+ --uc-simple-btn-hover: var(--uc-simple-btn-hover-light);
2372
+ --uc-simple-btn-foreground: var(--uc-simple-btn-foreground-light);
2373
+ }
2374
+ @supports not (color: oklch(0% 0 0)) {
2375
+ :where([uc-wgt-common]) {
2376
+ --uc-primary-rgb-light: 23 75 215;
2377
+ --uc-primary-light: rgb(var(--uc-primary-rgb-light));
2378
+ --uc-primary-hover-light: rgb(var(--uc-primary-rgb-light) / 90%);
2379
+ --uc-primary-transparent-light: rgb(var(--uc-primary-rgb-light) / 10%);
2380
+ --uc-background-light: rgb(255 255 255);
2381
+ --uc-foreground-light: rgb(24 24 24);
2382
+ --uc-primary-foreground-light: #fff;
2383
+ --uc-secondary-light: rgb(24 24 24 / 5%);
2384
+ --uc-secondary-hover-light: rgb(24 24 24 / 8%);
2385
+ --uc-secondary-foreground-light: rgb(24 24 24);
2386
+ --uc-muted-light: rgb(245 245 245);
2387
+ --uc-muted-foreground-light: rgb(113 113 113);
2388
+ --uc-destructive-light: rgb(232 19 20 / 5%);
2389
+ --uc-destructive-foreground-light: rgb(232 19 20);
2390
+ --uc-border-light: rgb(228 228 232);
2391
+ --uc-dialog-shadow-light: 0px 6px 20px rgb(0 0 0 / 10%);
2392
+ --uc-simple-btn-light: rgb(235 235 235);
2393
+ --uc-simple-btn-hover-light: rgb(228 228 228);
2394
+ --uc-simple-btn-foreground-light: rgb(24 24 24);
2395
+ --uc-primary-rgb-dark: 87 154 255;
2396
+ --uc-primary-dark: rgb(var(--uc-primary-rgb-dark));
2397
+ --uc-primary-hover-dark: rgb(var(--uc-primary-rgb-dark) / 90%);
2398
+ --uc-primary-transparent-dark: rgb(var(--uc-primary-rgb-dark) / 7%);
2399
+ --uc-background-dark: rgb(27 27 27);
2400
+ --uc-foreground-dark: rgb(225 225 225);
2401
+ --uc-primary-foreground-dark: rgb(0 0 0);
2402
+ --uc-secondary-dark: rgb(225 225 225 / 7%);
2403
+ --uc-secondary-hover-dark: rgb(225 225 225 / 10%);
2404
+ --uc-secondary-foreground-dark: rgb(225 225 225);
2405
+ --uc-muted-dark: rgb(36 36 36);
2406
+ --uc-muted-foreground-dark: rgb(152 152 152);
2407
+ --uc-destructive-dark: rgb(244 90 79 / 10%);
2408
+ --uc-destructive-foreground-dark: rgb(244 90 79);
2409
+ --uc-border-dark: rgb(61 61 61);
2410
+ --uc-dialog-shadow-dark: 0px 6px 20px rgb(0 0 0 / 25%);
2411
+ --uc-simple-btn-dark: rgb(36 36 36);
2412
+ --uc-simple-btn-hover-dark: rgb(43 43 43);
2413
+ --uc-simple-btn-foreground-dark: rgb(255 255 255);
2414
+ }
2415
+ }
2416
+ @supports (color: oklch(0% 0 0)) {
2417
+ :where([uc-wgt-common]) {
2418
+ --uc-primary-oklch-light: 47% 0.22 264;
2419
+ --uc-primary-light: oklch(var(--uc-primary-oklch-light));
2420
+ --uc-primary-hover-light: oklch(var(--uc-primary-oklch-light) / 90%);
2421
+ --uc-primary-transparent-light: oklch(var(--uc-primary-oklch-light) / 7%);
2422
+ --uc-background-light: oklch(100% 0 0);
2423
+ --uc-foreground-light: oklch(21% 0 0);
2424
+ --uc-primary-foreground-light: oklch(100% 0 0);
2425
+ --uc-secondary-light: oklch(21% 0 0 / 0.05);
2426
+ --uc-secondary-hover-light: oklch(21% 0 0 / 0.08);
2427
+ --uc-secondary-foreground-light: oklch(21% 0 0);
2428
+ --uc-muted-light: oklch(97% 0 0);
2429
+ --uc-muted-foreground-light: oklch(40% 0 0);
2430
+ --uc-destructive-light: oklch(59% 0.235 28.5 / 0.05);
2431
+ --uc-destructive-foreground-light: oklch(59% 0.235 28.5);
2432
+ --uc-border-light: oklch(92% 0 0);
2433
+ --uc-dialog-shadow-light: 0px 6px 20px oklch(0% 0 0 / 0.1);
2434
+ --uc-simple-btn-light: oklch(94% 0 0);
2435
+ --uc-simple-btn-hover-light: oklch(92% 0 0);
2436
+ --uc-simple-btn-foreground-light: oklch(20% 0 0);
2437
+ --uc-primary-oklch-dark: 69% 0.1768 258.4;
2438
+ --uc-primary-dark: oklch(var(--uc-primary-oklch-dark));
2439
+ --uc-primary-hover-dark: oklch(var(--uc-primary-oklch-dark) / 90%);
2440
+ --uc-primary-transparent-dark: oklch(var(--uc-primary-oklch-dark) / 7%);
2441
+ --uc-background-dark: oklch(22% 0 0);
2442
+ --uc-foreground-dark: oklch(91% 0 0);
2443
+ --uc-primary-foreground-dark: oklch(0% 0 0);
2444
+ --uc-secondary-dark: oklch(91% 0 0 / 0.07);
2445
+ --uc-secondary-hover-dark: oklch(91% 0 0 / 0.1);
2446
+ --uc-secondary-foreground-dark: oklch(91% 0 0);
2447
+ --uc-muted-dark: oklch(26% 0 0);
2448
+ --uc-muted-foreground-dark: oklch(68% 0 0);
2449
+ --uc-destructive-dark: oklch(67% 0.191 27.5 / 0.1);
2450
+ --uc-destructive-foreground-dark: oklch(67% 0.191 27.5);
2451
+ --uc-border-dark: oklch(36% 0 0);
2452
+ --uc-dialog-shadow-dark: 0px 6px 20px oklch(0% 0 0 / 0.25);
2453
+ --uc-simple-btn-dark: oklch(26% 0 0);
2454
+ --uc-simple-btn-hover-dark: oklch(29% 0 0);
2455
+ --uc-simple-btn-foreground-dark: oklch(100% 0 0);
2456
+ }
2457
+ }
2458
+ @media only screen and (max-height: 600px) {
2459
+ :where([uc-wgt-common]) {
2460
+ --uc-dialog-max-height: 100%;
2461
+ }
2462
+ }
2463
+ @media only screen and (max-width: 680px) {
2464
+ :where([uc-wgt-common]) {
2465
+ --uc-grid-col: 2;
2466
+ }
2467
+ }
2468
+ @media only screen and (max-width: 430px) {
2469
+ :where([uc-wgt-common]) {
2470
+ --uc-dialog-max-width: 100vw;
2471
+ --uc-dialog-max-height: var(--uploadcare-blocks-window-height);
2472
+ --uc-grid-col: 1;
2473
+ }
2474
+ }
2475
+ @media (prefers-color-scheme: light) {
2476
+ :where([uc-wgt-common]) {
2477
+ --uc-background: var(--uc-background-light);
2478
+ --uc-foreground: var(--uc-foreground-light);
2479
+ --uc-primary: var(--uc-primary-light);
2480
+ --uc-primary-hover: var(--uc-primary-hover-light);
2481
+ --uc-primary-transparent: var(--uc-primary-transparent-light);
2482
+ --uc-primary-foreground: var(--uc-primary-foreground-light);
2483
+ --uc-secondary: var(--uc-secondary-light);
2484
+ --uc-secondary-hover: var(--uc-secondary-hover-light);
2485
+ --uc-secondary-foreground: var(--uc-secondary-foreground-light);
2486
+ --uc-muted: var(--uc-muted-light);
2487
+ --uc-muted-foreground: var(--uc-muted-foreground-light);
2488
+ --uc-destructive: var(--uc-destructive-light);
2489
+ --uc-destructive-foreground: var(--uc-destructive-foreground-light);
2490
+ --uc-border: var(--uc-border-light);
2491
+ --uc-dialog-shadow: var(--uc-dialog-shadow-light);
2492
+ --uc-simple-btn: var(--uc-simple-btn-light);
2493
+ --uc-simple-btn-hover: var(--uc-simple-btn-hover-light);
2494
+ --uc-simple-btn-foreground: var(--uc-simple-btn-foreground-light);
2495
+ }
2496
+ }
2497
+ @media (prefers-color-scheme: dark) {
2498
+ :where([uc-wgt-common]) {
2499
+ --uc-background: var(--uc-background-dark);
2500
+ --uc-foreground: var(--uc-foreground-dark);
2501
+ --uc-primary: var(--uc-primary-dark);
2502
+ --uc-primary-hover: var(--uc-primary-hover-dark);
2503
+ --uc-primary-transparent: var(--uc-primary-transparent-dark);
2504
+ --uc-primary-foreground: var(--uc-primary-foreground-dark);
2505
+ --uc-secondary: var(--uc-secondary-dark);
2506
+ --uc-secondary-hover: var(--uc-secondary-hover-dark);
2507
+ --uc-secondary-foreground: var(--uc-secondary-foreground-dark);
2508
+ --uc-muted: var(--uc-muted-dark);
2509
+ --uc-muted-foreground: var(--uc-muted-foreground-dark);
2510
+ --uc-destructive: var(--uc-destructive-dark);
2511
+ --uc-destructive-foreground: var(--uc-destructive-foreground-dark);
2512
+ --uc-border: var(--uc-border-dark);
2513
+ --uc-dialog-shadow: var(--uc-dialog-shadow-dark);
2514
+ --uc-simple-btn: var(--uc-simple-btn-dark);
2515
+ --uc-simple-btn-hover: var(--uc-simple-btn-hover-dark);
2516
+ --uc-simple-btn-foreground: var(--uc-simple-btn-foreground-dark);
2517
+ }
2518
+ }
2519
+ :where(.uc-light) {
2520
+ --uc-background: var(--uc-background-light);
2521
+ --uc-foreground: var(--uc-foreground-light);
2522
+ --uc-primary: var(--uc-primary-light);
2523
+ --uc-primary-hover: var(--uc-primary-hover-light);
2524
+ --uc-primary-transparent: var(--uc-primary-transparent-light);
2525
+ --uc-primary-foreground: var(--uc-primary-foreground-light);
2526
+ --uc-secondary: var(--uc-secondary-light);
2527
+ --uc-secondary-hover: var(--uc-secondary-hover-light);
2528
+ --uc-secondary-foreground: var(--uc-secondary-foreground-light);
2529
+ --uc-muted: var(--uc-muted-light);
2530
+ --uc-muted-foreground: var(--uc-muted-foreground-light);
2531
+ --uc-destructive: var(--uc-destructive-light);
2532
+ --uc-destructive-foreground: var(--uc-destructive-foreground-light);
2533
+ --uc-border: var(--uc-border-light);
2534
+ --uc-dialog-shadow: var(--uc-dialog-shadow-light);
2535
+ --uc-simple-btn: var(--uc-simple-btn-light);
2536
+ --uc-simple-btn-hover: var(--uc-simple-btn-hover-light);
2537
+ --uc-simple-btn-foreground: var(--uc-simple-btn-foreground-light);
2538
+ }
2539
+ :where(.uc-dark) {
2540
+ --uc-background: var(--uc-background-dark);
2541
+ --uc-foreground: var(--uc-foreground-dark);
2542
+ --uc-primary: var(--uc-primary-dark);
2543
+ --uc-primary-hover: var(--uc-primary-hover-dark);
2544
+ --uc-primary-transparent: var(--uc-primary-transparent-dark);
2545
+ --uc-primary-foreground: var(--uc-primary-foreground-dark);
2546
+ --uc-secondary: var(--uc-secondary-dark);
2547
+ --uc-secondary-hover: var(--uc-secondary-hover-dark);
2548
+ --uc-secondary-foreground: var(--uc-secondary-foreground-dark);
2549
+ --uc-muted: var(--uc-muted-dark);
2550
+ --uc-muted-foreground: var(--uc-muted-foreground-dark);
2551
+ --uc-destructive: var(--uc-destructive-dark);
2552
+ --uc-destructive-foreground: var(--uc-destructive-foreground-dark);
2553
+ --uc-border: var(--uc-border-dark);
2554
+ --uc-dialog-shadow: var(--uc-dialog-shadow-dark);
2555
+ --uc-simple-btn: var(--uc-simple-btn-dark);
2556
+ --uc-simple-btn-hover: var(--uc-simple-btn-hover-dark);
2557
+ --uc-simple-btn-foreground: var(--uc-simple-btn-foreground-dark);
2558
+ }
2559
+ :where(.uc-purple) {
2560
+ --uc-primary-oklch-light: 47% 0.22 300;
2561
+ --uc-primary-oklch-dark: 69% 0.1768 300;
2562
+ }
2563
+ :where(.uc-red) {
2564
+ --uc-primary-oklch-light: 47% 0.21 21;
2565
+ --uc-primary-oklch-dark: 71% 0.1768 21;
2566
+ }
2567
+ :where(.uc-orange) {
2568
+ --uc-primary-oklch-light: 47% 0.1376 51.88;
2569
+ --uc-primary-oklch-dark: 69% 0.1768 51.88;
2570
+ }
2571
+ :where(.uc-green) {
2572
+ --uc-primary-oklch-light: 45% 0.14 130;
2573
+ --uc-primary-oklch-dark: 69% 0.1768 130;
2574
+ }
2575
+ :where(.uc-turquoise) {
2576
+ --uc-primary-oklch-light: 45% 0.0854 174;
2577
+ --uc-primary-oklch-dark: 69% 0.1768 174;
2578
+ }
2579
+ :where(.uc-gray) {
2580
+ --uc-primary-oklch-light: 10% 0 0;
2581
+ --uc-primary-oklch-dark: 97% 0 0;
2582
+ }
2583
+ :where(.uc-contrast) {
2584
+ --uc-border-light: oklch(50% 0 0);
2585
+ --uc-border-dark: oklch(50% 0 0);
2586
+ --uc-muted-light: oklch(98% 0 0);
2587
+ --uc-muted-dark: oklch(16% 0 0);
2588
+ --uc-muted-foreground-light: oklch(20% 0 0);
2589
+ --uc-muted-foreground-dark: oklch(80% 0 0);
2590
+ --uc-background-light: oklch(100% 0 0);
2591
+ --uc-foreground-light: oklch(0% 0 0);
2592
+ --uc-background-dark: oklch(10% 0 0);
2593
+ --uc-foreground-dark: oklch(100% 0 0);
2594
+ }
2595
+ }
2596
+
2597
+ /* src/blocks/themes/uc-basic/common.css */
2598
+ @layer uc.base {
2599
+ :where([uc-wgt-common]) {
2600
+ color: var(--uc-foreground);
2601
+ font-size: var(--uc-font-size);
2602
+ line-height: var(--uc-line-height);
2603
+ font-family: var(--uc-font-family);
2604
+ }
2605
+ :where([uc-wgt-common]) * {
2606
+ box-sizing: border-box;
2607
+ }
2608
+ :where([uc-wgt-common]) button {
2609
+ display: flex;
2610
+ align-items: center;
2611
+ justify-content: center;
2612
+ height: var(--uc-button-size);
2613
+ padding-right: 14px;
2614
+ padding-left: 14px;
2615
+ font-size: 1em;
2616
+ font-family: inherit;
2617
+ white-space: nowrap;
2618
+ border: none;
2619
+ border-radius: var(--uc-radius);
2620
+ cursor: pointer;
2621
+ user-select: none;
2622
+ transition: background-color var(--uc-transition);
2623
+ }
2624
+ :where([uc-wgt-common]) button:focus-visible {
2625
+ outline-offset: 2px;
2626
+ }
2627
+ :where([uc-wgt-common]) button.uc-primary-btn {
2628
+ color: var(--uc-primary-foreground);
2629
+ background-color: var(--uc-primary);
2630
+ }
2631
+ :where([uc-wgt-common]) button.uc-primary-btn:hover {
2632
+ background-color: var(--uc-primary-hover);
2633
+ }
2634
+ :where([uc-wgt-common]) button.uc-secondary-btn {
2635
+ color: var(--uc-secondary-foreground);
2636
+ background-color: var(--uc-secondary);
2637
+ }
2638
+ :where([uc-wgt-common]) button.uc-secondary-btn:hover {
2639
+ background-color: var(--uc-secondary-hover);
2640
+ }
2641
+ :where([uc-wgt-common].uc-contrast) button.uc-secondary-btn {
2642
+ border: 1px solid var(--uc-border);
2643
+ }
2644
+ :where([uc-wgt-common]) button.uc-mini-btn {
2645
+ height: var(--uc-button-size);
2646
+ padding: 0;
2647
+ background-color: transparent;
2648
+ color: var(--uc-secondary-foreground);
2649
+ }
2650
+ :where([uc-wgt-common]) button.uc-mini-btn:hover {
2651
+ background-color: var(--uc-secondary);
2652
+ }
2653
+ :where([uc-wgt-common]) :is(button[disabled], button.uc-primary-btn[disabled], button.uc-secondary-btn[disabled]) {
2654
+ opacity: 0.5;
2655
+ pointer-events: none;
2656
+ }
2657
+ :where([uc-wgt-common]) a {
2658
+ color: var(--uc-primary);
2659
+ text-decoration: none;
2660
+ }
2661
+ :where([uc-wgt-common]) a[disabled] {
2662
+ pointer-events: none;
2663
+ }
2664
+ :where([uc-wgt-common]) input[type=text] {
2665
+ display: flex;
2666
+ width: 100%;
2667
+ height: var(--uc-button-size);
2668
+ padding-right: 10px;
2669
+ padding-left: 10px;
2670
+ color: var(--uc-foreground);
2671
+ font-size: 1em;
2672
+ font-family: inherit;
2673
+ background-color: var(--uc-background);
2674
+ border: 1px solid var(--uc-border);
2675
+ outline: 1px solid transparent;
2676
+ border-radius: var(--uc-radius);
2677
+ transition: border-color var(--uc-transition), outline-color var(--uc-transition);
2678
+ }
2679
+ :where([uc-wgt-common]) input[type=text]::placeholder {
2680
+ color: var(--uc-muted-foreground);
2681
+ }
2682
+ :where([uc-wgt-common]) input[type=text]:focus {
2683
+ outline-color: var(--uc-primary-hover);
2684
+ border-color: var(--uc-primary-hover);
2685
+ }
2686
+ :where([uc-wgt-common]) input[disabled] {
2687
+ opacity: 0.6;
2688
+ pointer-events: none;
2689
+ }
2690
+ :where([uc-wgt-common]) uc-select[disabled],
2691
+ :where([uc-wgt-common]) select[disabled] {
2692
+ opacity: 0.6;
2693
+ pointer-events: none;
2694
+ }
2695
+ }
2696
+
2697
+ /* src/blocks/themes/uc-basic/rules.css */
2698
+ @layer uc.rules {
2699
+ :where([uc-wgt-common]) [hidden] {
2700
+ display: none;
2701
+ }
2702
+ :where([uc-wgt-common]) [activity]:not([active], .active) {
2703
+ display: none;
2704
+ }
2705
+ :where([uc-wgt-common]) dialog:not([open]) [activity] {
2706
+ display: none;
2707
+ }
2708
+ }
2709
+
2710
+ /* src/blocks/themes/uc-basic/post-reset.css */
2711
+ @layer uc.post-reset {
2712
+ :where([uc-wgt-common]) uc-source-btn[type] {
2713
+ all: unset;
2714
+ }
2715
+ }
2716
+
2717
+ /* src/blocks/themes/uc-basic/index.css */
2718
+
2719
+ /* src/solutions/file-uploader/regular/index.css */