@solid2-aria/sonner 0.0.0-stage → 0.0.1

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,784 @@
1
+ /*!
2
+ * Derived from solid-sonner (https://github.com/wobsoriano/solid-sonner), src/styles.css.
3
+ * Copyright (c) 2022 Robert Soriano <https://github.com/wobsoriano>
4
+ * Derived from Sonner (https://github.com/emilkowalski/sonner), src/styles.css.
5
+ * Copyright (c) 2023 Emil Kowalski
6
+ * Modified for Solid Aria: Solid 2 types, reactivity, lifecycle, and package integration.
7
+ * MIT licensed. See LICENSE, SOLID-SONNER-LICENSE.md, SONNER-LICENSE.md, and NOTICE.txt in the package root.
8
+ */
9
+
10
+ html[dir="ltr"],
11
+ [data-sonner-toaster][dir="ltr"] {
12
+ --toast-icon-margin-start: -3px;
13
+ --toast-icon-margin-end: 4px;
14
+ --toast-svg-margin-start: -1px;
15
+ --toast-svg-margin-end: 0px;
16
+ --toast-button-margin-start: auto;
17
+ --toast-button-margin-end: 0;
18
+ --toast-close-button-start: 0;
19
+ --toast-close-button-end: unset;
20
+ --toast-close-button-transform: translate(-35%, -35%);
21
+ }
22
+
23
+ html[dir="rtl"],
24
+ [data-sonner-toaster][dir="rtl"] {
25
+ --toast-icon-margin-start: 4px;
26
+ --toast-icon-margin-end: -3px;
27
+ --toast-svg-margin-start: 0px;
28
+ --toast-svg-margin-end: -1px;
29
+ --toast-button-margin-start: 0;
30
+ --toast-button-margin-end: auto;
31
+ --toast-close-button-start: unset;
32
+ --toast-close-button-end: 0;
33
+ --toast-close-button-transform: translate(35%, -35%);
34
+ }
35
+
36
+ [data-sonner-toaster] {
37
+ position: fixed;
38
+ width: var(--width);
39
+ font-family:
40
+ ui-sans-serif,
41
+ system-ui,
42
+ -apple-system,
43
+ BlinkMacSystemFont,
44
+ Segoe UI,
45
+ Roboto,
46
+ Helvetica Neue,
47
+ Arial,
48
+ Noto Sans,
49
+ sans-serif,
50
+ Apple Color Emoji,
51
+ Segoe UI Emoji,
52
+ Segoe UI Symbol,
53
+ Noto Color Emoji;
54
+ --gray1: hsl(0, 0%, 99%);
55
+ --gray2: hsl(0, 0%, 97.3%);
56
+ --gray3: hsl(0, 0%, 95.1%);
57
+ --gray4: hsl(0, 0%, 93%);
58
+ --gray5: hsl(0, 0%, 90.9%);
59
+ --gray6: hsl(0, 0%, 88.7%);
60
+ --gray7: hsl(0, 0%, 85.8%);
61
+ --gray8: hsl(0, 0%, 78%);
62
+ --gray9: hsl(0, 0%, 56.1%);
63
+ --gray10: hsl(0, 0%, 52.3%);
64
+ --gray11: hsl(0, 0%, 43.5%);
65
+ --gray12: hsl(0, 0%, 9%);
66
+ --border-radius: 8px;
67
+ box-sizing: border-box;
68
+ padding: 0;
69
+ margin: 0;
70
+ list-style: none;
71
+ outline: none;
72
+ z-index: 999999999;
73
+ transition: transform 400ms ease;
74
+ }
75
+
76
+ @media (hover: none) and (pointer: coarse) {
77
+ [data-sonner-toaster][data-lifted="true"] {
78
+ transform: none;
79
+ }
80
+ }
81
+
82
+ [data-sonner-toaster][data-x-position="right"] {
83
+ right: var(--offset-right);
84
+ }
85
+
86
+ [data-sonner-toaster][data-x-position="left"] {
87
+ left: var(--offset-left);
88
+ }
89
+
90
+ [data-sonner-toaster][data-x-position="center"] {
91
+ left: 50%;
92
+ transform: translateX(-50%);
93
+ }
94
+
95
+ [data-sonner-toaster][data-y-position="top"] {
96
+ top: var(--offset-top);
97
+ }
98
+
99
+ [data-sonner-toaster][data-y-position="bottom"] {
100
+ bottom: var(--offset-bottom);
101
+ }
102
+
103
+ [data-sonner-toast] {
104
+ --y: translateY(100%);
105
+ --lift-amount: calc(var(--lift) * var(--gap));
106
+ z-index: var(--z-index);
107
+ position: absolute;
108
+ opacity: 0;
109
+ transform: var(--y);
110
+ touch-action: none;
111
+ transition:
112
+ transform 400ms,
113
+ opacity 400ms,
114
+ height 400ms,
115
+ box-shadow 200ms;
116
+ box-sizing: border-box;
117
+ outline: none;
118
+ overflow-wrap: anywhere;
119
+ }
120
+
121
+ [data-sonner-toast][data-styled="true"] {
122
+ padding: 16px;
123
+ background: var(--normal-bg);
124
+ border: 1px solid var(--normal-border);
125
+ color: var(--normal-text);
126
+ border-radius: var(--border-radius);
127
+ box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
128
+ width: var(--width);
129
+ font-size: 13px;
130
+ display: flex;
131
+ align-items: center;
132
+ gap: 6px;
133
+ }
134
+
135
+ [data-sonner-toast]:focus-visible {
136
+ box-shadow:
137
+ 0px 4px 12px rgba(0, 0, 0, 0.1),
138
+ 0 0 0 2px rgba(0, 0, 0, 0.2);
139
+ }
140
+
141
+ [data-sonner-toast][data-y-position="top"] {
142
+ top: 0;
143
+ --y: translateY(-100%);
144
+ --lift: 1;
145
+ --lift-amount: calc(1 * var(--gap));
146
+ }
147
+
148
+ [data-sonner-toast][data-y-position="bottom"] {
149
+ bottom: 0;
150
+ --y: translateY(100%);
151
+ --lift: -1;
152
+ --lift-amount: calc(var(--lift) * var(--gap));
153
+ }
154
+
155
+ [data-sonner-toast][data-styled="true"] [data-description] {
156
+ font-weight: 400;
157
+ line-height: 1.4;
158
+ color: #3f3f3f;
159
+ }
160
+
161
+ [data-rich-colors="true"][data-sonner-toast][data-styled="true"]
162
+ [data-description] {
163
+ color: inherit;
164
+ }
165
+
166
+ [data-sonner-toaster][data-sonner-theme="dark"] [data-description] {
167
+ color: hsl(0, 0%, 91%);
168
+ }
169
+
170
+ [data-sonner-toast][data-styled="true"] [data-title] {
171
+ font-weight: 500;
172
+ line-height: 1.5;
173
+ color: inherit;
174
+ }
175
+
176
+ [data-sonner-toast][data-styled="true"] [data-icon] {
177
+ display: flex;
178
+ height: 16px;
179
+ width: 16px;
180
+ position: relative;
181
+ justify-content: flex-start;
182
+ align-items: center;
183
+ flex-shrink: 0;
184
+ margin-left: var(--toast-icon-margin-start);
185
+ margin-right: var(--toast-icon-margin-end);
186
+ }
187
+
188
+ [data-sonner-toast][data-promise="true"] [data-icon] > svg {
189
+ opacity: 0;
190
+ transform: scale(0.8);
191
+ transform-origin: center;
192
+ animation: sonner-fade-in 300ms ease forwards;
193
+ }
194
+
195
+ [data-sonner-toast][data-styled="true"] [data-icon] > * {
196
+ flex-shrink: 0;
197
+ }
198
+
199
+ [data-sonner-toast][data-styled="true"] [data-icon] svg {
200
+ margin-left: var(--toast-svg-margin-start);
201
+ margin-right: var(--toast-svg-margin-end);
202
+ }
203
+
204
+ [data-sonner-toast][data-styled="true"] [data-content] {
205
+ display: flex;
206
+ flex-direction: column;
207
+ gap: 2px;
208
+ /* Take the space the icon and the buttons leave, so a custom title or description
209
+ isn't limited to the width of its text */
210
+ flex: 1;
211
+ min-width: 0;
212
+ }
213
+
214
+ [data-sonner-toast][data-styled="true"] [data-button] {
215
+ border-radius: 4px;
216
+ padding-left: 8px;
217
+ padding-right: 8px;
218
+ height: 24px;
219
+ font-size: 12px;
220
+ color: var(--normal-bg);
221
+ background: var(--normal-text);
222
+ margin-left: var(--toast-button-margin-start);
223
+ margin-right: var(--toast-button-margin-end);
224
+ border: none;
225
+ font-weight: 500;
226
+ cursor: pointer;
227
+ outline: none;
228
+ display: flex;
229
+ align-items: center;
230
+ flex-shrink: 0;
231
+ transition:
232
+ opacity 400ms,
233
+ box-shadow 200ms;
234
+ }
235
+
236
+ [data-sonner-toast][data-styled="true"] [data-button]:focus-visible {
237
+ box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4);
238
+ }
239
+
240
+ [data-sonner-toast][data-styled="true"] [data-button]:first-of-type {
241
+ margin-left: var(--toast-button-margin-start);
242
+ margin-right: var(--toast-button-margin-end);
243
+ }
244
+
245
+ [data-sonner-toast][data-styled="true"] [data-cancel] {
246
+ color: var(--normal-text);
247
+ background: rgba(0, 0, 0, 0.08);
248
+ }
249
+
250
+ [data-sonner-toaster][data-sonner-theme="dark"]
251
+ [data-sonner-toast][data-styled="true"]
252
+ [data-cancel] {
253
+ background: rgba(255, 255, 255, 0.3);
254
+ }
255
+
256
+ [data-sonner-toast][data-styled="true"] [data-close-button] {
257
+ position: absolute;
258
+ left: var(--toast-close-button-start);
259
+ right: var(--toast-close-button-end);
260
+ top: 0;
261
+ height: 20px;
262
+ width: 20px;
263
+ display: flex;
264
+ justify-content: center;
265
+ align-items: center;
266
+ padding: 0;
267
+ color: var(--normal-text);
268
+ background: var(--normal-bg);
269
+ border: 1px solid var(--normal-border);
270
+ transform: var(--toast-close-button-transform);
271
+ border-radius: 50%;
272
+ cursor: pointer;
273
+ z-index: 1;
274
+ transition:
275
+ opacity 100ms,
276
+ background 200ms,
277
+ border-color 200ms;
278
+ }
279
+
280
+ [data-sonner-toast][data-styled="true"] [data-close-button]:focus-visible {
281
+ box-shadow:
282
+ 0px 4px 12px rgba(0, 0, 0, 0.1),
283
+ 0 0 0 2px rgba(0, 0, 0, 0.2);
284
+ }
285
+
286
+ [data-sonner-toast][data-styled="true"] [data-disabled="true"] {
287
+ cursor: not-allowed;
288
+ }
289
+
290
+ [data-sonner-toast][data-styled="true"]:hover [data-close-button]:hover {
291
+ background: var(--gray2);
292
+ border-color: var(--gray5);
293
+ }
294
+
295
+ [data-sonner-toast][data-swiping="true"]::before {
296
+ content: "";
297
+ position: absolute;
298
+ left: -100%;
299
+ right: -100%;
300
+ height: 100%;
301
+ z-index: -1;
302
+ }
303
+
304
+ [data-sonner-toast][data-y-position="top"][data-swiping="true"]::before {
305
+ bottom: 50%;
306
+ transform: scaleY(3) translateY(50%);
307
+ }
308
+
309
+ [data-sonner-toast][data-y-position="bottom"][data-swiping="true"]::before {
310
+ top: 50%;
311
+ transform: scaleY(3) translateY(-50%);
312
+ }
313
+
314
+ [data-sonner-toast][data-swiping="false"][data-removed="true"]::before {
315
+ content: "";
316
+ position: absolute;
317
+ inset: 0;
318
+ transform: scaleY(2);
319
+ }
320
+
321
+ [data-sonner-toast][data-expanded="true"]::after {
322
+ content: "";
323
+ position: absolute;
324
+ left: 0;
325
+ height: calc(var(--gap) + 1px);
326
+ bottom: 100%;
327
+ width: 100%;
328
+ }
329
+
330
+ [data-sonner-toast][data-mounted="true"] {
331
+ --y: translateY(0);
332
+ opacity: 1;
333
+ }
334
+
335
+ [data-sonner-toast][data-expanded="false"][data-front="false"] {
336
+ --scale: var(--toasts-before) * 0.05 + 1;
337
+ --y: translateY(calc(var(--lift-amount) * var(--toasts-before)))
338
+ scale(calc(-1 * var(--scale)));
339
+ height: var(--front-toast-height);
340
+ }
341
+
342
+ [data-sonner-toast] > * {
343
+ transition: opacity 400ms;
344
+ }
345
+
346
+ [data-sonner-toast][data-x-position="right"] {
347
+ right: 0;
348
+ }
349
+
350
+ [data-sonner-toast][data-x-position="left"] {
351
+ left: 0;
352
+ }
353
+
354
+ [data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"]
355
+ > * {
356
+ opacity: 0;
357
+ }
358
+
359
+ [data-sonner-toast][data-visible="false"] {
360
+ opacity: 0;
361
+ pointer-events: none;
362
+ }
363
+
364
+ [data-sonner-toast][data-mounted="true"][data-expanded="true"] {
365
+ --y: translateY(calc(var(--lift) * var(--offset)));
366
+ height: var(--initial-height);
367
+ }
368
+
369
+ [data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"] {
370
+ --y: translateY(calc(var(--lift) * -100%));
371
+ opacity: 0;
372
+ }
373
+
374
+ [data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"] {
375
+ --y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));
376
+ opacity: 0;
377
+ }
378
+
379
+ [data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"] {
380
+ --y: translateY(40%);
381
+ opacity: 0;
382
+ transition:
383
+ transform 500ms,
384
+ opacity 200ms;
385
+ }
386
+
387
+ [data-sonner-toast][data-removed="true"][data-front="false"]::before {
388
+ height: calc(var(--initial-height) + 20%);
389
+ }
390
+
391
+ [data-sonner-toast][data-swiping="true"] {
392
+ transform: var(--y) translateY(var(--swipe-amount-y, 0px))
393
+ translateX(var(--swipe-amount-x, 0px));
394
+ transition: none;
395
+ }
396
+
397
+ [data-sonner-toast][data-swiped="true"] {
398
+ -webkit-user-select: none;
399
+ user-select: none;
400
+ }
401
+
402
+ [data-sonner-toast][data-swipe-out="true"][data-y-position="bottom"],
403
+ [data-sonner-toast][data-swipe-out="true"][data-y-position="top"] {
404
+ animation-duration: 200ms;
405
+ animation-timing-function: ease-out;
406
+ animation-fill-mode: forwards;
407
+ }
408
+
409
+ [data-sonner-toast][data-swipe-out="true"][data-swipe-direction="left"] {
410
+ animation-name: swipe-out-left;
411
+ }
412
+
413
+ [data-sonner-toast][data-swipe-out="true"][data-swipe-direction="right"] {
414
+ animation-name: swipe-out-right;
415
+ }
416
+
417
+ [data-sonner-toast][data-swipe-out="true"][data-swipe-direction="up"] {
418
+ animation-name: swipe-out-up;
419
+ }
420
+
421
+ [data-sonner-toast][data-swipe-out="true"][data-swipe-direction="down"] {
422
+ animation-name: swipe-out-down;
423
+ }
424
+
425
+ @keyframes swipe-out-left {
426
+ from {
427
+ transform: var(--y) translateX(var(--swipe-amount-x));
428
+ opacity: 1;
429
+ }
430
+
431
+ to {
432
+ transform: var(--y) translateX(calc(var(--swipe-amount-x) - 100%));
433
+ opacity: 0;
434
+ }
435
+ }
436
+
437
+ @keyframes swipe-out-right {
438
+ from {
439
+ transform: var(--y) translateX(var(--swipe-amount-x));
440
+ opacity: 1;
441
+ }
442
+
443
+ to {
444
+ transform: var(--y) translateX(calc(var(--swipe-amount-x) + 100%));
445
+ opacity: 0;
446
+ }
447
+ }
448
+
449
+ @keyframes swipe-out-up {
450
+ from {
451
+ transform: var(--y) translateY(var(--swipe-amount-y));
452
+ opacity: 1;
453
+ }
454
+
455
+ to {
456
+ transform: var(--y) translateY(calc(var(--swipe-amount-y) - 100%));
457
+ opacity: 0;
458
+ }
459
+ }
460
+
461
+ @keyframes swipe-out-down {
462
+ from {
463
+ transform: var(--y) translateY(var(--swipe-amount-y));
464
+ opacity: 1;
465
+ }
466
+
467
+ to {
468
+ transform: var(--y) translateY(calc(var(--swipe-amount-y) + 100%));
469
+ opacity: 0;
470
+ }
471
+ }
472
+
473
+ @media (max-width: 600px) {
474
+ [data-sonner-toaster] {
475
+ position: fixed;
476
+ right: var(--mobile-offset-right);
477
+ left: var(--mobile-offset-left);
478
+ width: 100%;
479
+ }
480
+
481
+ [data-sonner-toaster][dir="rtl"] {
482
+ left: calc(var(--mobile-offset-left) * -1);
483
+ }
484
+
485
+ [data-sonner-toaster] [data-sonner-toast] {
486
+ left: 0;
487
+ right: 0;
488
+ width: calc(100% - var(--mobile-offset-left) * 2);
489
+ }
490
+
491
+ [data-sonner-toaster][data-x-position="left"] {
492
+ left: var(--mobile-offset-left);
493
+ }
494
+
495
+ [data-sonner-toaster][data-y-position="bottom"] {
496
+ bottom: var(--mobile-offset-bottom);
497
+ }
498
+
499
+ [data-sonner-toaster][data-y-position="top"] {
500
+ top: var(--mobile-offset-top);
501
+ }
502
+
503
+ [data-sonner-toaster][data-x-position="center"] {
504
+ left: var(--mobile-offset-left);
505
+ right: var(--mobile-offset-right);
506
+ transform: none;
507
+ }
508
+ }
509
+
510
+ [data-sonner-toaster][data-sonner-theme="light"] {
511
+ --normal-bg: #fff;
512
+ --normal-border: var(--gray4);
513
+ --normal-text: var(--gray12);
514
+
515
+ --success-bg: hsl(143, 85%, 96%);
516
+ --success-border: hsl(145, 92%, 87%);
517
+ --success-text: hsl(140, 100%, 27%);
518
+
519
+ --info-bg: hsl(208, 100%, 97%);
520
+ --info-border: hsl(221, 91%, 93%);
521
+ --info-text: hsl(210, 92%, 45%);
522
+
523
+ --warning-bg: hsl(49, 100%, 97%);
524
+ --warning-border: hsl(49, 91%, 84%);
525
+ --warning-text: hsl(31, 92%, 45%);
526
+
527
+ --error-bg: hsl(359, 100%, 97%);
528
+ --error-border: hsl(359, 100%, 94%);
529
+ --error-text: hsl(360, 100%, 45%);
530
+ }
531
+
532
+ [data-sonner-toaster][data-sonner-theme="light"]
533
+ [data-sonner-toast][data-invert="true"] {
534
+ --normal-bg: #000;
535
+ --normal-border: hsl(0, 0%, 20%);
536
+ --normal-text: var(--gray1);
537
+ }
538
+
539
+ [data-sonner-toaster][data-sonner-theme="dark"]
540
+ [data-sonner-toast][data-invert="true"] {
541
+ --normal-bg: #fff;
542
+ --normal-border: var(--gray3);
543
+ --normal-text: var(--gray12);
544
+ }
545
+
546
+ [data-sonner-toaster][data-sonner-theme="dark"] {
547
+ --normal-bg: #000;
548
+ --normal-bg-hover: hsl(0, 0%, 12%);
549
+ --normal-border: hsl(0, 0%, 20%);
550
+ --normal-border-hover: hsl(0, 0%, 25%);
551
+ --normal-text: var(--gray1);
552
+
553
+ --success-bg: hsl(150, 100%, 6%);
554
+ --success-border: hsl(147, 100%, 12%);
555
+ --success-text: hsl(150, 86%, 65%);
556
+
557
+ --info-bg: hsl(215, 100%, 6%);
558
+ --info-border: hsl(223, 43%, 17%);
559
+ --info-text: hsl(216, 87%, 65%);
560
+
561
+ --warning-bg: hsl(64, 100%, 6%);
562
+ --warning-border: hsl(60, 100%, 9%);
563
+ --warning-text: hsl(46, 87%, 65%);
564
+
565
+ --error-bg: hsl(358, 76%, 10%);
566
+ --error-border: hsl(357, 89%, 16%);
567
+ --error-text: hsl(358, 100%, 81%);
568
+ }
569
+
570
+ [data-sonner-toaster][data-sonner-theme="dark"]
571
+ [data-sonner-toast]
572
+ [data-close-button] {
573
+ background: var(--normal-bg);
574
+ border-color: var(--normal-border);
575
+ color: var(--normal-text);
576
+ }
577
+
578
+ [data-sonner-toaster][data-sonner-theme="dark"]
579
+ [data-sonner-toast]
580
+ [data-close-button]:hover {
581
+ background: var(--normal-bg-hover);
582
+ border-color: var(--normal-border-hover);
583
+ }
584
+
585
+ [data-rich-colors="true"][data-sonner-toast][data-type="success"] {
586
+ background: var(--success-bg);
587
+ border-color: var(--success-border);
588
+ color: var(--success-text);
589
+ }
590
+
591
+ [data-rich-colors="true"][data-sonner-toast][data-type="success"]
592
+ [data-close-button] {
593
+ background: var(--success-bg);
594
+ border-color: var(--success-border);
595
+ color: var(--success-text);
596
+ }
597
+
598
+ [data-rich-colors="true"][data-sonner-toast][data-type="info"] {
599
+ background: var(--info-bg);
600
+ border-color: var(--info-border);
601
+ color: var(--info-text);
602
+ }
603
+
604
+ [data-rich-colors="true"][data-sonner-toast][data-type="info"]
605
+ [data-close-button] {
606
+ background: var(--info-bg);
607
+ border-color: var(--info-border);
608
+ color: var(--info-text);
609
+ }
610
+
611
+ [data-rich-colors="true"][data-sonner-toast][data-type="warning"] {
612
+ background: var(--warning-bg);
613
+ border-color: var(--warning-border);
614
+ color: var(--warning-text);
615
+ }
616
+
617
+ [data-rich-colors="true"][data-sonner-toast][data-type="warning"]
618
+ [data-close-button] {
619
+ background: var(--warning-bg);
620
+ border-color: var(--warning-border);
621
+ color: var(--warning-text);
622
+ }
623
+
624
+ [data-rich-colors="true"][data-sonner-toast][data-type="error"] {
625
+ background: var(--error-bg);
626
+ border-color: var(--error-border);
627
+ color: var(--error-text);
628
+ }
629
+
630
+ [data-rich-colors="true"][data-sonner-toast][data-type="error"]
631
+ [data-close-button] {
632
+ background: var(--error-bg);
633
+ border-color: var(--error-border);
634
+ color: var(--error-text);
635
+ }
636
+
637
+ .sonner-loading-wrapper {
638
+ --size: 16px;
639
+ height: var(--size);
640
+ width: var(--size);
641
+ position: absolute;
642
+ inset: 0;
643
+ z-index: 10;
644
+ }
645
+
646
+ .sonner-loading-wrapper[data-visible="false"] {
647
+ transform-origin: center;
648
+ animation: sonner-fade-out 0.2s ease forwards;
649
+ }
650
+
651
+ .sonner-spinner {
652
+ position: relative;
653
+ top: 50%;
654
+ left: 50%;
655
+ height: var(--size);
656
+ width: var(--size);
657
+ }
658
+
659
+ .sonner-loading-bar {
660
+ animation: sonner-spin 1.2s linear infinite;
661
+ background: var(--gray11);
662
+ border-radius: 6px;
663
+ height: 8%;
664
+ left: -10%;
665
+ position: absolute;
666
+ top: -3.9%;
667
+ width: 24%;
668
+ }
669
+
670
+ .sonner-loading-bar:nth-child(1) {
671
+ animation-delay: -1.2s;
672
+ transform: rotate(0.0001deg) translate(146%);
673
+ }
674
+
675
+ .sonner-loading-bar:nth-child(2) {
676
+ animation-delay: -1.1s;
677
+ transform: rotate(30deg) translate(146%);
678
+ }
679
+
680
+ .sonner-loading-bar:nth-child(3) {
681
+ animation-delay: -1s;
682
+ transform: rotate(60deg) translate(146%);
683
+ }
684
+
685
+ .sonner-loading-bar:nth-child(4) {
686
+ animation-delay: -0.9s;
687
+ transform: rotate(90deg) translate(146%);
688
+ }
689
+
690
+ .sonner-loading-bar:nth-child(5) {
691
+ animation-delay: -0.8s;
692
+ transform: rotate(120deg) translate(146%);
693
+ }
694
+
695
+ .sonner-loading-bar:nth-child(6) {
696
+ animation-delay: -0.7s;
697
+ transform: rotate(150deg) translate(146%);
698
+ }
699
+
700
+ .sonner-loading-bar:nth-child(7) {
701
+ animation-delay: -0.6s;
702
+ transform: rotate(180deg) translate(146%);
703
+ }
704
+
705
+ .sonner-loading-bar:nth-child(8) {
706
+ animation-delay: -0.5s;
707
+ transform: rotate(210deg) translate(146%);
708
+ }
709
+
710
+ .sonner-loading-bar:nth-child(9) {
711
+ animation-delay: -0.4s;
712
+ transform: rotate(240deg) translate(146%);
713
+ }
714
+
715
+ .sonner-loading-bar:nth-child(10) {
716
+ animation-delay: -0.3s;
717
+ transform: rotate(270deg) translate(146%);
718
+ }
719
+
720
+ .sonner-loading-bar:nth-child(11) {
721
+ animation-delay: -0.2s;
722
+ transform: rotate(300deg) translate(146%);
723
+ }
724
+
725
+ .sonner-loading-bar:nth-child(12) {
726
+ animation-delay: -0.1s;
727
+ transform: rotate(330deg) translate(146%);
728
+ }
729
+
730
+ @keyframes sonner-fade-in {
731
+ 0% {
732
+ opacity: 0;
733
+ transform: scale(0.8);
734
+ }
735
+ 100% {
736
+ opacity: 1;
737
+ transform: scale(1);
738
+ }
739
+ }
740
+
741
+ @keyframes sonner-fade-out {
742
+ 0% {
743
+ opacity: 1;
744
+ transform: scale(1);
745
+ }
746
+ 100% {
747
+ opacity: 0;
748
+ transform: scale(0.8);
749
+ }
750
+ }
751
+
752
+ @keyframes sonner-spin {
753
+ 0% {
754
+ opacity: 1;
755
+ }
756
+ 100% {
757
+ opacity: 0.15;
758
+ }
759
+ }
760
+
761
+ @media (prefers-reduced-motion) {
762
+ [data-sonner-toast],
763
+ [data-sonner-toast] > *,
764
+ .sonner-loading-bar {
765
+ transition: none !important;
766
+ animation: none !important;
767
+ }
768
+ }
769
+
770
+ .sonner-loader {
771
+ position: absolute;
772
+ top: 50%;
773
+ left: 50%;
774
+ transform: translate(-50%, -50%);
775
+ transform-origin: center;
776
+ transition:
777
+ opacity 200ms,
778
+ transform 200ms;
779
+ }
780
+
781
+ .sonner-loader[data-visible="false"] {
782
+ opacity: 0;
783
+ transform: scale(0.8) translate(-50%, -50%);
784
+ }