@octanejs/sonner 0.1.0

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