ga-toasts 1.0.0 → 2.0.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/toasts.css DELETED
@@ -1,1644 +0,0 @@
1
- /**
2
- * Modernized Toast notification styles for Genie AI Plugin
3
- * Enhanced with modern CSS features, better animations, and improved UX
4
- */
5
-
6
- /* Toast CSS Variables - Enhanced */
7
- :root {
8
- /* Toast Progress Background Colors */
9
- --ga-primary-rgb: 0, 115, 170;
10
- --ga-success-rgb: 0, 163, 42;
11
- --ga-error-rgb: 214, 54, 56;
12
- --ga-warning-rgb: 219, 166, 23;
13
- --ga-info-rgb: 114, 174, 230;
14
- --ga-secondary-rgb: 108, 117, 125;
15
-
16
- /* Toast Animation Durations */
17
- --ga-toast-duration-fast: 150ms;
18
- --ga-toast-duration-normal: 300ms;
19
- --ga-toast-duration-slow: 500ms;
20
-
21
- /* Toast Blur Effects */
22
- --ga-toast-blur-light: blur(10px);
23
- --ga-toast-blur-medium: blur(20px);
24
- --ga-toast-blur-heavy: blur(30px);
25
-
26
- /* Toast Opacity Levels */
27
- --ga-toast-opacity-light: 0.1;
28
- --ga-toast-opacity-medium: 0.2;
29
- --ga-toast-opacity-heavy: 0.3;
30
- }
31
-
32
- /* Toast Container */
33
- .ga-toast-container {
34
- position: fixed;
35
- z-index: var(--ga-z-toast);
36
- pointer-events: none;
37
- max-width: 100vw;
38
- max-height: 100vh;
39
- overflow: hidden;
40
- display: flex;
41
- flex-direction: column;
42
- gap: var(--ga-space-2);
43
- }
44
-
45
- /* Toast Container Positions */
46
- .ga-toast-container-top-start {
47
- top: var(--ga-space-lg);
48
- left: var(--ga-space-lg);
49
- }
50
-
51
- .ga-toast-container-top-center {
52
- top: var(--ga-space-lg);
53
- left: 50%;
54
- transform: translateX(-50%);
55
- }
56
-
57
- .ga-toast-container-top-end {
58
- top: var(--ga-space-10);
59
- right: var(--ga-space-lg);
60
- }
61
-
62
- .ga-toast-container-middle-start {
63
- top: 50%;
64
- left: var(--ga-space-lg);
65
- transform: translateY(-50%);
66
- }
67
-
68
- .ga-toast-container-middle-center {
69
- top: 50%;
70
- left: 50%;
71
- transform: translate(-50%, -50%);
72
- }
73
-
74
- .ga-toast-container-middle-end {
75
- top: 50%;
76
- right: var(--ga-space-lg);
77
- transform: translateY(-50%);
78
- }
79
-
80
- .ga-toast-container-bottom-start {
81
- bottom: var(--ga-space-lg);
82
- left: var(--ga-space-lg);
83
- }
84
-
85
- .ga-toast-container-bottom-center {
86
- bottom: var(--ga-space-lg);
87
- left: 50%;
88
- transform: translateX(-50%);
89
- }
90
-
91
- .ga-toast-container-bottom-end {
92
- bottom: var(--ga-space-lg);
93
- right: var(--ga-space-lg);
94
- }
95
-
96
- /* Toast Base Styles - Modernized */
97
- .ga-toast {
98
- position: relative;
99
- display: flex;
100
- flex-direction: column;
101
- align-items: flex-start;
102
- width: 380px;
103
- max-width: 100%;
104
- padding: var(--ga-space-3) var(--ga-space-4);
105
- margin-bottom: var(--ga-space-md);
106
- color: var(--ga-text-primary);
107
- background: linear-gradient(135deg, var(--ga-bg-primary), var(--ga-bg-secondary));
108
- background-clip: padding-box;
109
- border: var(--ga-border-1) solid var(--ga-border-light);
110
- border-radius: var(--ga-radius-xl);
111
- box-shadow: none;
112
- opacity: 0;
113
- transform: translateX(100%) scale(0.95);
114
- transition:
115
- opacity var(--ga-duration-300) var(--ga-ease-out),
116
- transform var(--ga-duration-300) var(--ga-ease-bounce),
117
- box-shadow var(--ga-duration-150) var(--ga-ease-out);
118
- pointer-events: auto;
119
- font-family: var(--ga-font-sans);
120
- font-size: var(--ga-text-sm);
121
- line-height: var(--ga-leading-relaxed);
122
- word-wrap: break-word;
123
- overflow-wrap: break-word;
124
- backdrop-filter: var(--ga-bg-blur);
125
- isolation: isolate;
126
- /* Ensure inner elements like progress bar stay visually inside rounded corners */
127
- overflow: hidden;
128
- /* Enable smoother font rendering for crisper text */
129
- -webkit-font-smoothing: antialiased;
130
- -moz-osx-font-smoothing: grayscale;
131
- text-rendering: optimizeLegibility;
132
- /* Allow horizontal swipe while keeping vertical scroll natural */
133
- touch-action: pan-y;
134
- }
135
-
136
- .ga-toast::before {
137
- content: '';
138
- position: absolute;
139
- inset: 0;
140
- background: inherit;
141
- border-radius: inherit;
142
- filter: blur(20px);
143
- opacity: 0.6;
144
- z-index: -1;
145
- transform: scale(1.1);
146
- }
147
-
148
- .ga-toast:hover {
149
- box-shadow: none;
150
- transform: translateY(-2px);
151
- }
152
-
153
- /* Toast Show/Hide States */
154
- .ga-toast.show,
155
- .ga-toast.ga-show {
156
- opacity: 1;
157
- transform: translateX(0) scale(1);
158
- }
159
-
160
- .ga-toast.hide,
161
- .ga-toast.ga-hide {
162
- opacity: 0;
163
- transform: translateX(100%) scale(0.9);
164
- transition:
165
- opacity var(--ga-duration-200) var(--ga-ease-in),
166
- transform var(--ga-duration-200) var(--ga-ease-in);
167
- }
168
-
169
- .ga-toast:last-child {
170
- margin-bottom: 0;
171
- }
172
-
173
- /* Toast Header */
174
- .ga-toast-header {
175
- display: flex;
176
- align-items: center;
177
- justify-content: space-between;
178
- width: 100%;
179
- margin-bottom: var(--ga-space-2);
180
- padding-right: var(--ga-space-8);
181
- }
182
-
183
- .ga-toast-header-left {
184
- display: flex;
185
- align-items: center;
186
- flex-grow: 1;
187
- gap: var(--ga-space-3);
188
- }
189
-
190
- .ga-toast-title {
191
- margin: 0;
192
- font-size: var(--ga-text-base);
193
- font-weight: var(--ga-font-semibold);
194
- color: var(--ga-text-primary);
195
- flex: 1;
196
- min-width: 0;
197
- background: linear-gradient(135deg, var(--ga-text-primary), var(--ga-text-secondary));
198
- background-clip: text;
199
- -webkit-background-clip: text;
200
- letter-spacing: var(--ga-tracking-tight);
201
- }
202
-
203
- .ga-toast-title-truncate {
204
- white-space: nowrap;
205
- overflow: hidden;
206
- text-overflow: ellipsis;
207
- }
208
-
209
- .ga-toast-status {
210
- margin-left: var(--ga-space-3);
211
- padding: var(--ga-space-1) var(--ga-space-2);
212
- border-radius: var(--ga-radius-full);
213
- font-size: var(--ga-text-2xs);
214
- text-transform: uppercase;
215
- letter-spacing: var(--ga-tracking-wide);
216
- background: var(--ga-bg-tertiary);
217
- color: var(--ga-text-secondary);
218
- flex-shrink: 0;
219
- }
220
-
221
- .ga-toast-time {
222
- font-size: var(--ga-text-xs);
223
- color: var(--ga-text-muted);
224
- flex-shrink: 0;
225
- font-weight: var(--ga-font-medium);
226
- padding: var(--ga-space-1) var(--ga-space-2);
227
- background: var(--ga-bg-tertiary);
228
- border-radius: var(--ga-radius-md);
229
- font-variant-numeric: tabular-nums;
230
- }
231
-
232
- /* Toast Body */
233
- .ga-toast-body {
234
- flex: 1;
235
- padding: 0;
236
- /* Slightly softer body text for better hierarchy under the title */
237
- color: var(--ga-text-secondary);
238
- min-width: 0;
239
- padding-right: var(--ga-space-8);
240
- line-height: var(--ga-leading-relaxed);
241
- }
242
-
243
- .ga-toast-message {
244
- margin: 0;
245
- }
246
-
247
- .ga-toast-meta {
248
- font-size: var(--ga-text-xs);
249
- color: var(--ga-text-muted);
250
- margin-bottom: var(--ga-space-1);
251
- }
252
-
253
- .ga-toast-body:last-child {
254
- margin-bottom: 0;
255
- }
256
-
257
- .ga-toast-body p {
258
- margin: 0 0 var(--ga-space-1-5) 0;
259
- }
260
-
261
- .ga-toast-body p:last-child {
262
- margin-bottom: 0;
263
- }
264
-
265
- .ga-toast-body a {
266
- color: var(--ga-primary);
267
- text-decoration: underline;
268
- font-weight: var(--ga-font-medium);
269
- }
270
-
271
- .ga-toast-body a:hover {
272
- text-decoration: none;
273
- }
274
-
275
- .ga-toast-body p:last-child {
276
- margin-bottom: 0;
277
- }
278
-
279
- /* Toast Close Button - Modernized */
280
- .ga-toast-close {
281
- position: absolute;
282
- top: var(--ga-space-3);
283
- right: var(--ga-space-3);
284
- z-index: 1;
285
- display: flex;
286
- align-items: center;
287
- justify-content: center;
288
- width: 32px;
289
- height: 32px;
290
- padding: 0;
291
- margin: 0;
292
- color: var(--ga-text-muted);
293
- background: rgba(255, 255, 255, 0.1);
294
- border: none;
295
- font-size: var(--ga-text-lg);
296
- font-weight: var(--ga-font-bold);
297
- line-height: 1;
298
- text-decoration: none;
299
- cursor: pointer;
300
- border-radius: var(--ga-radius-full);
301
- transition: all var(--ga-duration-200) var(--ga-ease-out);
302
- flex-shrink: 0;
303
- backdrop-filter: blur(10px);
304
- }
305
-
306
- .ga-toast-close:hover {
307
- color: var(--ga-text-primary);
308
- background: rgba(255, 255, 255, 0.2);
309
- transform: scale(1.1);
310
- }
311
-
312
- .ga-toast-close:focus {
313
- outline: 2px solid var(--ga-border-focus);
314
- outline-offset: 2px;
315
- }
316
-
317
- .ga-toast-close:active {
318
- transform: scale(0.95);
319
- }
320
-
321
- .ga-toast-close::before {
322
- /* Use a more natural close glyph and rely on flex centering from the button */
323
- content: "×";
324
- display: block;
325
- width: 100%;
326
- height: 100%;
327
- text-align: center;
328
- line-height: 32px;
329
- font-size: 16px;
330
- margin: 0;
331
- }
332
-
333
- /* Toast Icon - Enhanced */
334
- .ga-toast-icon {
335
- flex-shrink: 0;
336
- margin-right: var(--ga-space-3);
337
- margin-top: 2px;
338
- padding: var(--ga-space-2);
339
- border-radius: var(--ga-radius-md);
340
- display: flex;
341
- align-items: center;
342
- justify-content: center;
343
- background: rgba(255, 255, 255, 0.1);
344
- backdrop-filter: blur(10px);
345
- }
346
-
347
- .ga-toast-icon svg {
348
- width: 100%;
349
- height: 100%;
350
- display: flex;
351
- align-items: center;
352
- }
353
-
354
- /* Toast Content Wrapper */
355
- .ga-toast-content {
356
- flex: 1;
357
- min-width: 0;
358
- }
359
-
360
- /* Toast Variants - Enhanced with Modern Gradients */
361
- .ga-toast-primary {
362
- border-left: 4px solid var(--ga-primary);
363
- background: linear-gradient(135deg,
364
- var(--ga-primary-light),
365
- rgba(255, 255, 255, 0.9)
366
- );
367
- }
368
-
369
- .ga-toast-primary .ga-toast-icon {
370
- color: var(--ga-primary);
371
- background: linear-gradient(135deg, var(--ga-primary), var(--ga-primary-hover));
372
- color: white;
373
- }
374
-
375
- .ga-toast-success {
376
- border-left: 4px solid var(--ga-success);
377
- background: linear-gradient(135deg,
378
- var(--ga-success-light),
379
- rgba(255, 255, 255, 0.9)
380
- );
381
- }
382
-
383
- .ga-toast-success .ga-toast-icon {
384
- color: var(--ga-success);
385
- background: linear-gradient(135deg, var(--ga-success), var(--ga-success-hover));
386
- color: white;
387
- }
388
-
389
- .ga-toast-error {
390
- border-left: 4px solid var(--ga-error);
391
- background: linear-gradient(135deg,
392
- var(--ga-error-light),
393
- rgba(255, 255, 255, 0.9)
394
- );
395
- }
396
-
397
- .ga-toast-error .ga-toast-icon {
398
- color: var(--ga-error);
399
- background: linear-gradient(135deg, var(--ga-error), var(--ga-error-hover));
400
- color: white;
401
- }
402
-
403
- .ga-toast-warning {
404
- border-left: 4px solid var(--ga-warning);
405
- background: linear-gradient(135deg,
406
- var(--ga-warning-light),
407
- rgba(255, 255, 255, 0.9)
408
- );
409
- }
410
-
411
- .ga-toast-warning .ga-toast-icon {
412
- color: var(--ga-warning);
413
- background: linear-gradient(135deg, var(--ga-warning), var(--ga-warning-hover));
414
- color: white;
415
- }
416
-
417
- .ga-toast-info {
418
- border-left: 4px solid var(--ga-info);
419
- background: linear-gradient(135deg,
420
- var(--ga-info-light),
421
- rgba(255, 255, 255, 0.9)
422
- );
423
- }
424
-
425
- .ga-toast-info .ga-toast-icon {
426
- color: var(--ga-info);
427
- background: linear-gradient(135deg, var(--ga-info), var(--ga-info-hover));
428
- color: white;
429
- }
430
-
431
- .ga-toast-secondary {
432
- border-left: 4px solid var(--ga-secondary);
433
- background: linear-gradient(135deg,
434
- var(--ga-secondary-light),
435
- rgba(255, 255, 255, 0.9)
436
- );
437
- }
438
-
439
- .ga-toast-secondary .ga-toast-icon {
440
- color: var(--ga-secondary);
441
- background: linear-gradient(135deg, var(--ga-secondary), var(--ga-secondary-hover));
442
- color: white;
443
- }
444
-
445
- /* Filled Variants - Enhanced */
446
- .ga-toast-primary-filled {
447
- background: linear-gradient(135deg, var(--ga-primary), var(--ga-primary-hover));
448
- border-color: var(--ga-primary);
449
- color: var(--ga-text-inverse);
450
- }
451
-
452
- .ga-toast-primary-filled .ga-toast-title,
453
- .ga-toast-primary-filled .ga-toast-body,
454
- .ga-toast-primary-filled .ga-toast-close {
455
- color: var(--ga-text-inverse);
456
- }
457
-
458
- .ga-toast-primary-filled .ga-toast-close:hover {
459
- background-color: rgba(255, 255, 255, 0.2);
460
- }
461
-
462
- .ga-toast-success-filled {
463
- background: linear-gradient(135deg, var(--ga-success), var(--ga-success-hover));
464
- border-color: var(--ga-success);
465
- color: var(--ga-text-inverse);
466
- }
467
-
468
- .ga-toast-success-filled .ga-toast-title,
469
- .ga-toast-success-filled .ga-toast-body,
470
- .ga-toast-success-filled .ga-toast-close {
471
- color: var(--ga-text-inverse);
472
- }
473
-
474
- .ga-toast-success-filled .ga-toast-close:hover {
475
- background-color: rgba(255, 255, 255, 0.2);
476
- }
477
-
478
- .ga-toast-error-filled {
479
- background: linear-gradient(135deg, var(--ga-error), var(--ga-error-hover));
480
- border-color: var(--ga-error);
481
- color: var(--ga-text-inverse);
482
- }
483
-
484
- .ga-toast-error-filled .ga-toast-title,
485
- .ga-toast-error-filled .ga-toast-body,
486
- .ga-toast-error-filled .ga-toast-close {
487
- color: var(--ga-text-inverse);
488
- }
489
-
490
- .ga-toast-error-filled .ga-toast-close:hover {
491
- background-color: rgba(255, 255, 255, 0.2);
492
- }
493
-
494
- .ga-toast-warning-filled {
495
- background: linear-gradient(135deg, var(--ga-warning), var(--ga-warning-hover));
496
- border-color: var(--ga-warning);
497
- color: var(--ga-text-inverse);
498
- }
499
-
500
- .ga-toast-warning-filled .ga-toast-title,
501
- .ga-toast-warning-filled .ga-toast-body,
502
- .ga-toast-warning-filled .ga-toast-close {
503
- color: var(--ga-text-inverse);
504
- }
505
-
506
- .ga-toast-warning-filled .ga-toast-close:hover {
507
- background-color: rgba(255, 255, 255, 0.2);
508
- }
509
-
510
- .ga-toast-info-filled {
511
- background: linear-gradient(135deg, var(--ga-info), var(--ga-info-hover));
512
- border-color: var(--ga-info);
513
- color: var(--ga-text-inverse);
514
- }
515
-
516
- .ga-toast-info-filled .ga-toast-title,
517
- .ga-toast-info-filled .ga-toast-body,
518
- .ga-toast-info-filled .ga-toast-close {
519
- color: var(--ga-text-inverse);
520
- }
521
-
522
- .ga-toast-info-filled .ga-toast-close:hover {
523
- background-color: rgba(255, 255, 255, 0.2);
524
- }
525
-
526
- /* Light Variants - Enhanced */
527
- .ga-toast-primary-light {
528
- background: linear-gradient(135deg,
529
- var(--ga-primary-light),
530
- rgba(240, 246, 252, 0.8)
531
- );
532
- border-color: var(--ga-primary-border);
533
- backdrop-filter: blur(20px);
534
- }
535
-
536
- .ga-toast-success-light {
537
- background: linear-gradient(135deg,
538
- var(--ga-success-light),
539
- rgba(240, 248, 241, 0.8)
540
- );
541
- border-color: var(--ga-success-border);
542
- backdrop-filter: blur(20px);
543
- }
544
-
545
- .ga-toast-error-light {
546
- background: linear-gradient(135deg,
547
- var(--ga-error-light),
548
- rgba(252, 240, 241, 0.8)
549
- );
550
- border-color: var(--ga-error-border);
551
- backdrop-filter: blur(20px);
552
- }
553
-
554
- .ga-toast-warning-light {
555
- background: linear-gradient(135deg,
556
- var(--ga-warning-light),
557
- rgba(252, 249, 232, 0.8)
558
- );
559
- border-color: var(--ga-warning-border);
560
- backdrop-filter: blur(20px);
561
- }
562
-
563
- .ga-toast-info-light {
564
- background: linear-gradient(135deg,
565
- var(--ga-info-light),
566
- rgba(240, 246, 252, 0.8)
567
- );
568
- border-color: var(--ga-info-border);
569
- backdrop-filter: blur(20px);
570
- }
571
-
572
- /* Toast Sizes */
573
- .ga-toast-xs {
574
- width: 280px;
575
- padding: var(--ga-space-3);
576
- font-size: var(--ga-text-xs);
577
- }
578
-
579
- .ga-toast-xs .ga-toast-title {
580
- font-size: var(--ga-text-sm);
581
- }
582
-
583
- .ga-toast-xs .ga-toast-body {
584
- font-size: var(--ga-text-xs);
585
- }
586
-
587
- .ga-toast-xs .ga-toast-icon {
588
- width: var(--ga-icon-sm);
589
- height: var(--ga-icon-sm);
590
- margin-right: var(--ga-space-2);
591
- }
592
-
593
- .ga-toast-sm {
594
- width: 320px;
595
- padding: var(--ga-space-4);
596
- }
597
-
598
- .ga-toast-sm .ga-toast-title {
599
- font-size: var(--ga-text-sm);
600
- }
601
-
602
- .ga-toast-sm .ga-toast-body {
603
- font-size: var(--ga-text-sm);
604
- }
605
-
606
- .ga-toast-sm .ga-toast-icon {
607
- width: var(--ga-icon-md);
608
- height: var(--ga-icon-md);
609
- }
610
-
611
- .ga-toast-lg {
612
- width: 480px;
613
- padding: var(--ga-space-6);
614
- }
615
-
616
- .ga-toast-lg .ga-toast-title {
617
- font-size: var(--ga-text-lg);
618
- }
619
-
620
- .ga-toast-lg .ga-toast-body {
621
- font-size: var(--ga-text-base);
622
- }
623
-
624
- .ga-toast-lg .ga-toast-icon {
625
- width: var(--ga-icon-xl);
626
- height: var(--ga-icon-xl);
627
- }
628
-
629
- .ga-toast-xl {
630
- width: 580px;
631
- padding: var(--ga-space-8);
632
- }
633
-
634
- .ga-toast-xl .ga-toast-title {
635
- font-size: var(--ga-text-xl);
636
- }
637
-
638
- .ga-toast-xl .ga-toast-body {
639
- font-size: var(--ga-text-lg);
640
- }
641
-
642
- .ga-toast-xl .ga-toast-icon {
643
- width: var(--ga-icon-2xl);
644
- height: var(--ga-icon-2xl);
645
- }
646
-
647
- /* Toast Progress Bar - Enhanced */
648
- .ga-toast-progress {
649
- position: absolute;
650
- bottom: 0;
651
- /* Inset slightly from the toast edges so corners stay visually rounded */
652
- right: 2px;
653
- height: 3px;
654
- width: calc(100% - 4px);
655
- background: linear-gradient(90deg,
656
- var(--ga-primary),
657
- var(--ga-primary-hover),
658
- var(--ga-primary-light)
659
- );
660
- /* Fully rounded bar to avoid any squarish edge */
661
- border-radius: 999px;
662
- transform: scaleX(1);
663
- /* Anchor the progress to the right edge so it peeks from the right when stacked */
664
- transform-origin: right center;
665
- transition: transform linear;
666
- z-index: 1;
667
- box-shadow:
668
- 0 0 8px rgba(0, 115, 170, 0.4),
669
- 0 0 4px rgba(0, 115, 170, 0.2);
670
- overflow: hidden;
671
- }
672
-
673
- .ga-toast-progress-top {
674
- top: 0;
675
- bottom: auto;
676
- }
677
-
678
- .ga-toast-progress::before {
679
- content: '';
680
- position: absolute;
681
- top: 0;
682
- left: 0;
683
- right: 0;
684
- bottom: 0;
685
- background: linear-gradient(90deg,
686
- transparent 0%,
687
- rgba(255, 255, 255, 0.3) 50%,
688
- transparent 100%
689
- );
690
- animation: ga-progress-shimmer 2s infinite;
691
- border-radius: inherit;
692
- }
693
-
694
- .ga-toast-progress::after {
695
- content: '';
696
- position: absolute;
697
- top: 0;
698
- left: 0;
699
- right: 0;
700
- bottom: 0;
701
- background: linear-gradient(90deg,
702
- rgba(255, 255, 255, 0.1) 0%,
703
- rgba(255, 255, 255, 0.4) 50%,
704
- rgba(255, 255, 255, 0.1) 100%
705
- );
706
- border-radius: inherit;
707
- }
708
-
709
- /* Toast Background Fill - New Feature */
710
- .ga-toast-background-fill {
711
- position: absolute;
712
- top: 0;
713
- left: 0;
714
- right: 0;
715
- bottom: 0;
716
- border-radius: inherit;
717
- z-index: -1;
718
- opacity: 1;
719
- transition: opacity linear;
720
- pointer-events: none;
721
- }
722
-
723
- .ga-toast-bg-primary {
724
- background: rgba(var(--ga-primary-rgb, 0, 115, 170), 0.1);
725
- }
726
-
727
- .ga-toast-bg-success {
728
- background: rgba(var(--ga-success-rgb, 0, 163, 42), 0.1);
729
- }
730
-
731
- .ga-toast-bg-error {
732
- background: rgba(var(--ga-error-rgb, 214, 54, 56), 0.1);
733
- }
734
-
735
- .ga-toast-bg-warning {
736
- background: rgba(var(--ga-warning-rgb, 219, 166, 23), 0.1);
737
- }
738
-
739
- .ga-toast-bg-info {
740
- background: rgba(var(--ga-info-rgb, 114, 174, 230), 0.1);
741
- }
742
-
743
- .ga-toast-bg-secondary {
744
- background: rgba(var(--ga-secondary-rgb, 108, 117, 125), 0.1);
745
- }
746
-
747
- /* Pause on Hover State */
748
- .ga-toast-paused .ga-toast-background-fill,
749
- .ga-toast-paused .ga-toast-progress {
750
- animation-play-state: paused;
751
- transition: none;
752
- transform: scaleX(var(--current-progress, 1)) !important;
753
- }
754
-
755
- .ga-toast-paused {
756
- transform: translateY(-1px) scale(1.01);
757
- box-shadow:
758
- var(--ga-shadow-lg),
759
- 0 0 0 1px rgba(255, 255, 255, 0.15) inset,
760
- 0 1px 0 rgba(255, 255, 255, 0.2) inset;
761
- }
762
-
763
- .ga-toast-paused .ga-toast-progress::before {
764
- animation-play-state: paused;
765
- }
766
-
767
- /* Modern Toast Enhancements */
768
- .ga-toast-modern {
769
- backdrop-filter: blur(20px);
770
- border: 1px solid rgba(255, 255, 255, 0.2);
771
- }
772
-
773
- .ga-toast-glass {
774
- background: rgba(255, 255, 255, 0.1);
775
- backdrop-filter: blur(20px);
776
- border: 1px solid rgba(255, 255, 255, 0.2);
777
- }
778
-
779
- .ga-toast-progress.ga-toast-progress-primary {
780
- background: linear-gradient(90deg, var(--ga-primary), var(--ga-primary-hover), var(--ga-primary-light));
781
- box-shadow:
782
- 0 0 8px rgba(0, 115, 170, 0.4),
783
- 0 0 4px rgba(0, 115, 170, 0.2);
784
- }
785
-
786
- .ga-toast-progress.ga-toast-progress-success {
787
- background: linear-gradient(90deg, var(--ga-success), var(--ga-success-hover), var(--ga-success-light));
788
- box-shadow:
789
- 0 0 8px rgba(0, 163, 42, 0.4),
790
- 0 0 4px rgba(0, 163, 42, 0.2);
791
- }
792
-
793
- .ga-toast-progress.ga-toast-progress-error {
794
- background: linear-gradient(90deg, var(--ga-error), var(--ga-error-hover), var(--ga-error-light));
795
- box-shadow:
796
- 0 0 8px rgba(214, 54, 56, 0.4),
797
- 0 0 4px rgba(214, 54, 56, 0.2);
798
- }
799
-
800
- .ga-toast-progress.ga-toast-progress-warning {
801
- background: linear-gradient(90deg, var(--ga-warning), var(--ga-warning-hover), var(--ga-warning-light));
802
- box-shadow:
803
- 0 0 8px rgba(219, 166, 23, 0.4),
804
- 0 0 4px rgba(219, 166, 23, 0.2);
805
- }
806
-
807
- .ga-toast-progress.ga-toast-progress-info {
808
- background: linear-gradient(90deg, var(--ga-info), var(--ga-info-hover), var(--ga-info-light));
809
- box-shadow:
810
- 0 0 8px rgba(114, 174, 230, 0.4),
811
- 0 0 4px rgba(114, 174, 230, 0.2);
812
- }
813
-
814
- .ga-toast-progress.ga-toast-progress-secondary {
815
- background: linear-gradient(90deg, var(--ga-secondary), var(--ga-secondary-hover), var(--ga-secondary-light));
816
- box-shadow:
817
- 0 0 8px rgba(108, 117, 125, 0.4),
818
- 0 0 4px rgba(108, 117, 125, 0.2);
819
- }
820
-
821
- /* Toast Actions - Enhanced */
822
- .ga-toast-actions {
823
- display: flex;
824
- gap: var(--ga-space-3);
825
- margin-top: var(--ga-space-4);
826
- padding-top: var(--ga-space-4);
827
- border-top: var(--ga-border-1) solid var(--ga-border-light);
828
- }
829
-
830
- .ga-toast-actions .ga-btn {
831
- flex: 1;
832
- padding: var(--ga-space-2) var(--ga-space-4);
833
- font-size: var(--ga-text-sm);
834
- font-weight: var(--ga-font-medium);
835
- min-width: 0;
836
- border-radius: var(--ga-radius-lg);
837
- transition: all var(--ga-duration-200) var(--ga-ease-out);
838
- backdrop-filter: blur(10px);
839
- }
840
-
841
- .ga-toast-actions .ga-btn:hover {
842
- transform: translateY(-1px);
843
- box-shadow: var(--ga-shadow-md);
844
- }
845
-
846
- .ga-toast-actions .ga-btn:only-child {
847
- flex: none;
848
- width: auto;
849
- min-width: 100px;
850
- }
851
-
852
- /* Toast Loading - Enhanced */
853
- .ga-toast-loading {
854
- position: relative;
855
- pointer-events: none;
856
- }
857
-
858
- .ga-toast-loading::before {
859
- content: '';
860
- position: absolute;
861
- top: 0;
862
- left: 0;
863
- right: 0;
864
- bottom: 0;
865
- background: linear-gradient(135deg,
866
- rgba(255, 255, 255, 0.9),
867
- rgba(255, 255, 255, 0.7)
868
- );
869
- border-radius: var(--ga-radius-xl);
870
- backdrop-filter: blur(10px);
871
- z-index: 1;
872
- }
873
-
874
- .ga-toast-loading::after {
875
- content: '';
876
- position: absolute;
877
- top: 50%;
878
- left: 50%;
879
- width: var(--ga-spinner-lg);
880
- height: var(--ga-spinner-lg);
881
- margin: calc(var(--ga-spinner-lg) / -2) 0 0 calc(var(--ga-spinner-lg) / -2);
882
- border: 3px solid transparent;
883
- border-top: 3px solid var(--ga-primary);
884
- border-right: 3px solid var(--ga-primary-hover);
885
- border-radius: var(--ga-radius-full);
886
- animation: ga-spin-modern 1s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
887
- z-index: 2;
888
- }
889
-
890
- /* Enhanced Animation Classes */
891
- .ga-toast.fade {
892
- transition: opacity var(--ga-duration-300) var(--ga-ease-out);
893
- transform: none;
894
- }
895
-
896
- .ga-toast.fade.show {
897
- opacity: 1;
898
- }
899
-
900
- .ga-toast.fade.hide {
901
- opacity: 0;
902
- }
903
-
904
- .ga-toast.slide {
905
- transition:
906
- transform var(--ga-duration-300) var(--ga-ease-bounce),
907
- opacity var(--ga-duration-300) var(--ga-ease-out);
908
- }
909
-
910
- .ga-toast.slide.show {
911
- transform: translateX(0);
912
- opacity: 1;
913
- }
914
-
915
- .ga-toast.slide.hide {
916
- transform: translateX(100%);
917
- opacity: 0;
918
- }
919
-
920
- /* Slide variants for different positions */
921
- .ga-toast-container-top-start .ga-toast.slide.hide,
922
- .ga-toast-container-middle-start .ga-toast.slide.hide,
923
- .ga-toast-container-bottom-start .ga-toast.slide.hide {
924
- transform: translateX(-100%);
925
- }
926
-
927
- .ga-toast-container-top-center .ga-toast.slide.hide,
928
- .ga-toast-container-middle-center .ga-toast.slide.hide,
929
- .ga-toast-container-bottom-center .ga-toast.slide.hide {
930
- transform: translateY(-100%);
931
- }
932
-
933
- .ga-toast.bounce {
934
- transition:
935
- transform var(--ga-duration-500) var(--ga-ease-bounce),
936
- opacity var(--ga-duration-300) var(--ga-ease-out);
937
- }
938
-
939
- .ga-toast.bounce.show {
940
- transform: translateX(0) scale(1);
941
- opacity: 1;
942
- }
943
-
944
- .ga-toast.bounce.hide {
945
- transform: translateX(100%) scale(0.8);
946
- opacity: 0;
947
- }
948
-
949
- .ga-toast.scale {
950
- transition:
951
- transform var(--ga-duration-300) var(--ga-ease-bounce),
952
- opacity var(--ga-duration-300) var(--ga-ease-out);
953
- transform: scale(0.8);
954
- }
955
-
956
- .ga-toast.scale.show {
957
- transform: scale(1);
958
- opacity: 1;
959
- }
960
-
961
- .ga-toast.scale.hide {
962
- transform: scale(0.8);
963
- opacity: 0;
964
- }
965
-
966
- /* Toast Stack */
967
- .ga-toast-stack {
968
- display: flex;
969
- flex-direction: column;
970
- gap: var(--ga-space-3);
971
- }
972
-
973
- .ga-toast-stack .ga-toast {
974
- margin-bottom: 0;
975
- }
976
-
977
- .ga-toast-stack .ga-toast:not(:last-child) {
978
- transform: scale(0.95) translateY(calc(var(--ga-space-2) * -1));
979
- opacity: 0.8;
980
- }
981
-
982
- /* Toast with Image - Enhanced */
983
- .ga-toast-image {
984
- display: block;
985
- width: 100%;
986
- max-width: 100%;
987
- height: auto;
988
- margin-bottom: var(--ga-space-3);
989
- border-radius: var(--ga-radius-lg);
990
- box-shadow: var(--ga-shadow-sm);
991
- aspect-ratio: 16/9;
992
- object-fit: cover;
993
- }
994
-
995
- /* Toast Compact Layout */
996
- .ga-toast-compact {
997
- padding: var(--ga-space-2) var(--ga-space-3);
998
- align-items: center;
999
- min-height: auto;
1000
- }
1001
-
1002
- .ga-toast-compact .ga-toast-icon {
1003
- display: none;
1004
- }
1005
-
1006
- .ga-toast-compact .ga-toast-title,
1007
- .ga-toast-compact .ga-toast-body {
1008
- color: var(--ga-text-primary);
1009
- }
1010
-
1011
- .ga-toast-compact .ga-toast-close {
1012
- width: 24px;
1013
- height: 24px;
1014
- /* Center close button vertically for tighter compact layout */
1015
- top: 50%;
1016
- right: var(--ga-space-3);
1017
- transform: translateY(-50%);
1018
- }
1019
-
1020
- .ga-toast-compact .ga-toast-close:hover {
1021
- /* Preserve hover scale while keeping vertical centering */
1022
- transform: translateY(-50%) scale(1.1);
1023
- }
1024
-
1025
- .ga-toast-compact .ga-toast-close:active {
1026
- transform: translateY(-50%) scale(0.95);
1027
- }
1028
-
1029
- .ga-toast-compact .ga-toast-close::before {
1030
- /* Adjust glyph alignment to the smaller button size */
1031
- line-height: 24px;
1032
- font-size: 14px;
1033
- }
1034
-
1035
- /* Segmented steps indicator */
1036
- .ga-toast-steps {
1037
- display: flex;
1038
- gap: 4px;
1039
- margin-top: var(--ga-space-2);
1040
- }
1041
-
1042
- .ga-toast-step {
1043
- flex: 1;
1044
- height: 3px;
1045
- border-radius: var(--ga-radius-full);
1046
- background: var(--ga-bg-tertiary);
1047
- }
1048
-
1049
- .ga-toast-step-active {
1050
- background: var(--ga-primary);
1051
- }
1052
-
1053
- .ga-toast-compact .ga-toast-header {
1054
- margin-bottom: 0;
1055
- }
1056
-
1057
- .ga-toast-compact .ga-toast-body {
1058
- padding-right: var(--ga-space-8);
1059
- /* Ensure message text starts from the left and stays single-line friendly */
1060
- text-align: left;
1061
- }
1062
-
1063
- .ga-toast-unread-dot {
1064
- width: 8px;
1065
- height: 8px;
1066
- border-radius: var(--ga-radius-full);
1067
- background: var(--ga-primary);
1068
- flex-shrink: 0;
1069
- margin-left: var(--ga-space-1);
1070
- }
1071
-
1072
- .ga-toast-success .ga-toast-status {
1073
- background: rgba(var(--ga-success-rgb, 0, 163, 42), 0.14);
1074
- color: var(--ga-success);
1075
- }
1076
-
1077
- .ga-toast-error .ga-toast-status {
1078
- background: rgba(var(--ga-error-rgb, 214, 54, 56), 0.14);
1079
- color: var(--ga-error);
1080
- }
1081
-
1082
- .ga-toast-warning .ga-toast-status {
1083
- background: rgba(var(--ga-warning-rgb, 219, 166, 23), 0.18);
1084
- color: var(--ga-warning);
1085
- }
1086
-
1087
- .ga-toast-info .ga-toast-status {
1088
- background: rgba(var(--ga-info-rgb, 114, 174, 230), 0.18);
1089
- color: var(--ga-info);
1090
- }
1091
-
1092
- .ga-toast-secondary .ga-toast-status {
1093
- background: rgba(var(--ga-secondary-rgb, 108, 117, 125), 0.18);
1094
- color: var(--ga-secondary);
1095
- }
1096
-
1097
- .ga-toast-compact .ga-toast-icon {
1098
- margin-top: 0;
1099
- margin-right: var(--ga-space-3);
1100
- }
1101
-
1102
- /* Toast with Avatar - Enhanced */
1103
- .ga-toast-avatar {
1104
- width: var(--ga-avatar-sm);
1105
- height: var(--ga-avatar-sm);
1106
- border-radius: var(--ga-radius-full);
1107
- margin-right: var(--ga-space-3);
1108
- margin-top: 2px;
1109
- flex-shrink: 0;
1110
- border: 2px solid rgba(255, 255, 255, 0.2);
1111
- box-shadow: var(--ga-shadow-sm);
1112
- }
1113
-
1114
- /* Dark mode adjustments */
1115
- [data-ga-theme="dark"] .ga-toast,
1116
- [data-hp-theme-mode="dark"] .ga-toast {
1117
- background: linear-gradient(135deg,
1118
- var(--ga-bg-primary),
1119
- var(--ga-bg-secondary)
1120
- );
1121
- }
1122
-
1123
- [data-ga-theme="dark"] .ga-toast-loading::before,
1124
- [data-hp-theme-mode="dark"] .ga-toast-loading::before {
1125
- background: linear-gradient(135deg,
1126
- rgba(0, 0, 0, 0.9),
1127
- rgba(0, 0, 0, 0.7)
1128
- );
1129
- }
1130
-
1131
- [data-ga-theme="dark"] .ga-toast-close:hover,
1132
- [data-hp-theme-mode="dark"] .ga-toast-close:hover {
1133
- background-color: var(--ga-gray-700);
1134
- }
1135
-
1136
- /* Keyframe Animations - Enhanced */
1137
- @keyframes ga-spin {
1138
- 0% {
1139
- transform: rotate(0deg);
1140
- }
1141
- 100% {
1142
- transform: rotate(360deg);
1143
- }
1144
- }
1145
-
1146
- @keyframes ga-spin-modern {
1147
- 0% {
1148
- transform: rotate(0deg) scale(1);
1149
- }
1150
- 50% {
1151
- transform: rotate(180deg) scale(1.1);
1152
- }
1153
- 100% {
1154
- transform: rotate(360deg) scale(1);
1155
- }
1156
- }
1157
-
1158
- @keyframes ga-toast-slide-in-right {
1159
- from {
1160
- transform: translateX(100%) scale(0.9);
1161
- opacity: 0;
1162
- }
1163
- to {
1164
- transform: translateX(0) scale(1);
1165
- opacity: 1;
1166
- }
1167
- }
1168
-
1169
- @keyframes ga-toast-slide-in-left {
1170
- from {
1171
- transform: translateX(-100%) scale(0.9);
1172
- opacity: 0;
1173
- }
1174
- to {
1175
- transform: translateX(0) scale(1);
1176
- opacity: 1;
1177
- }
1178
- }
1179
-
1180
- @keyframes ga-toast-slide-in-top {
1181
- from {
1182
- transform: translateY(-100%) scale(0.9);
1183
- opacity: 0;
1184
- }
1185
- to {
1186
- transform: translateY(0) scale(1);
1187
- opacity: 1;
1188
- }
1189
- }
1190
-
1191
- @keyframes ga-toast-slide-in-bottom {
1192
- from {
1193
- transform: translateY(100%) scale(0.9);
1194
- opacity: 0;
1195
- }
1196
- to {
1197
- transform: translateY(0) scale(1);
1198
- opacity: 1;
1199
- }
1200
- }
1201
-
1202
- @keyframes ga-toast-bounce-in {
1203
- 0% {
1204
- transform: scale(0.3) translateY(20px);
1205
- opacity: 0;
1206
- }
1207
- 50% {
1208
- transform: scale(1.05) translateY(-5px);
1209
- opacity: 0.8;
1210
- }
1211
- 70% {
1212
- transform: scale(0.95) translateY(2px);
1213
- opacity: 0.9;
1214
- }
1215
- 100% {
1216
- transform: scale(1) translateY(0);
1217
- opacity: 1;
1218
- }
1219
- }
1220
-
1221
- @keyframes ga-toast-fade-in {
1222
- from {
1223
- opacity: 0;
1224
- transform: translateY(10px);
1225
- }
1226
- to {
1227
- opacity: 1;
1228
- transform: translateY(0);
1229
- }
1230
- }
1231
-
1232
- @keyframes ga-toast-pulse {
1233
- 0%, 100% {
1234
- transform: scale(1);
1235
- opacity: 1;
1236
- }
1237
- 50% {
1238
- transform: scale(1.02);
1239
- opacity: 0.9;
1240
- }
1241
- }
1242
-
1243
- @keyframes ga-toast-glow {
1244
- 0%, 100% {
1245
- box-shadow:
1246
- var(--ga-shadow-toast),
1247
- 0 0 20px rgba(0, 115, 170, 0.2);
1248
- }
1249
- 50% {
1250
- box-shadow:
1251
- var(--ga-shadow-lg),
1252
- 0 0 30px rgba(0, 115, 170, 0.4);
1253
- }
1254
- }
1255
-
1256
- /* Interactive Toast Variants */
1257
- .ga-toast-interactive {
1258
- cursor: pointer;
1259
- transition: all var(--ga-duration-200) var(--ga-ease-out);
1260
- }
1261
-
1262
- .ga-toast-interactive:hover {
1263
- transform: translateY(-2px) scale(1.02);
1264
- box-shadow:
1265
- var(--ga-shadow-xl),
1266
- 0 0 0 1px rgba(255, 255, 255, 0.15) inset;
1267
- }
1268
-
1269
- .ga-toast-interactive:active {
1270
- transform: translateY(0) scale(0.98);
1271
- }
1272
-
1273
- /* Notification Badge */
1274
- .ga-toast-badge {
1275
- position: absolute;
1276
- top: -8px;
1277
- right: -8px;
1278
- width: 24px;
1279
- height: 24px;
1280
- background: linear-gradient(135deg, var(--ga-error), var(--ga-error-hover));
1281
- color: white;
1282
- border-radius: var(--ga-radius-full);
1283
- display: flex;
1284
- align-items: center;
1285
- justify-content: center;
1286
- font-size: var(--ga-text-xs);
1287
- font-weight: var(--ga-font-bold);
1288
- border: 2px solid var(--ga-bg-primary);
1289
- box-shadow: var(--ga-shadow-md);
1290
- animation: ga-toast-pulse 2s infinite;
1291
- }
1292
-
1293
- /* Toast with Custom Patterns */
1294
- .ga-toast-pattern::before {
1295
- background-image:
1296
- radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.1) 0%, transparent 50%),
1297
- radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.1) 0%, transparent 50%),
1298
- radial-gradient(circle at 40% 40%, rgba(120, 200, 255, 0.1) 0%, transparent 50%);
1299
- }
1300
-
1301
- /* Toast Group Animations */
1302
- .ga-toast-group {
1303
- display: flex;
1304
- flex-direction: column;
1305
- gap: var(--ga-space-2);
1306
- }
1307
-
1308
- .ga-toast-group .ga-toast {
1309
- animation: ga-toast-fade-in var(--ga-duration-300) var(--ga-ease-out) forwards;
1310
- }
1311
-
1312
- .ga-toast-group .ga-toast:nth-child(1) { animation-delay: 0ms; }
1313
- .ga-toast-group .ga-toast:nth-child(2) { animation-delay: 100ms; }
1314
- .ga-toast-group .ga-toast:nth-child(3) { animation-delay: 200ms; }
1315
- .ga-toast-group .ga-toast:nth-child(4) { animation-delay: 300ms; }
1316
- .ga-toast-group .ga-toast:nth-child(5) { animation-delay: 400ms; }
1317
-
1318
- /* Responsive Toasts - Enhanced */
1319
- @media (max-width: 767px) {
1320
- .ga-toast {
1321
- width: calc(100vw - var(--ga-space-6));
1322
- max-width: none;
1323
- margin-left: auto;
1324
- margin-right: auto;
1325
- border-radius: var(--ga-radius-lg);
1326
- }
1327
-
1328
- .ga-toast-container-top-start,
1329
- .ga-toast-container-top-center,
1330
- .ga-toast-container-top-end {
1331
- top: var(--ga-space-4);
1332
- left: var(--ga-space-3);
1333
- right: var(--ga-space-3);
1334
- transform: none;
1335
- }
1336
-
1337
- .ga-toast-container-bottom-start,
1338
- .ga-toast-container-bottom-center,
1339
- .ga-toast-container-bottom-end {
1340
- bottom: var(--ga-space-4);
1341
- left: var(--ga-space-3);
1342
- right: var(--ga-space-3);
1343
- transform: none;
1344
- }
1345
-
1346
- .ga-toast-container-middle-start,
1347
- .ga-toast-container-middle-center,
1348
- .ga-toast-container-middle-end {
1349
- top: 50%;
1350
- left: var(--ga-space-3);
1351
- right: var(--ga-space-3);
1352
- transform: translateY(-50%);
1353
- }
1354
-
1355
- .ga-toast-actions {
1356
- flex-direction: column;
1357
- }
1358
-
1359
- .ga-toast-actions .ga-btn {
1360
- width: 100%;
1361
- }
1362
-
1363
- .ga-toast-xs,
1364
- .ga-toast-sm,
1365
- .ga-toast-lg,
1366
- .ga-toast-xl {
1367
- width: calc(100vw - var(--ga-space-6));
1368
- }
1369
-
1370
- .ga-toast-icon {
1371
- width: var(--ga-icon-md);
1372
- height: var(--ga-icon-md);
1373
- }
1374
-
1375
- .ga-toast-title {
1376
- font-size: var(--ga-text-sm);
1377
- }
1378
-
1379
- .ga-toast-body {
1380
- font-size: var(--ga-text-sm);
1381
- }
1382
- }
1383
-
1384
- @media (max-width: 479px) {
1385
- .ga-toast {
1386
- width: calc(100vw - var(--ga-space-4));
1387
- padding: var(--ga-space-4);
1388
- border-radius: var(--ga-radius-md);
1389
- }
1390
-
1391
- .ga-toast-container-top-start,
1392
- .ga-toast-container-top-center,
1393
- .ga-toast-container-top-end,
1394
- .ga-toast-container-bottom-start,
1395
- .ga-toast-container-bottom-center,
1396
- .ga-toast-container-bottom-end,
1397
- .ga-toast-container-middle-start,
1398
- .ga-toast-container-middle-center,
1399
- .ga-toast-container-middle-end {
1400
- left: var(--ga-space-2);
1401
- right: var(--ga-space-2);
1402
- }
1403
-
1404
- .ga-toast-title {
1405
- font-size: var(--ga-text-xs);
1406
- }
1407
-
1408
- .ga-toast-body {
1409
- font-size: var(--ga-text-xs);
1410
- }
1411
-
1412
- .ga-toast-close {
1413
- width: 28px;
1414
- height: 28px;
1415
- top: var(--ga-space-2);
1416
- right: var(--ga-space-2);
1417
- }
1418
-
1419
- .ga-toast-icon {
1420
- width: var(--ga-icon-sm);
1421
- height: var(--ga-icon-sm);
1422
- margin-right: var(--ga-space-2);
1423
- }
1424
- }
1425
-
1426
- /* WordPress Admin Compatibility - Enhanced */
1427
- .wp-admin .ga-toast {
1428
- border-radius: var(--ga-radius-lg);
1429
- font-family: var(--ga-font-sans);
1430
- box-shadow:
1431
- 0 5px 15px rgba(0, 0, 0, 0.1),
1432
- 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
1433
- }
1434
-
1435
- .wp-admin .ga-toast .ga-toast-title {
1436
- font-size: var(--ga-text-sm);
1437
- font-weight: var(--ga-font-semibold);
1438
- }
1439
-
1440
- .wp-admin .ga-toast .ga-toast-body {
1441
- font-size: var(--ga-text-sm);
1442
- }
1443
-
1444
- .wp-admin .ga-toast .ga-toast-close {
1445
- font-size: var(--ga-text-base);
1446
- background: rgba(255, 255, 255, 0.1);
1447
- backdrop-filter: blur(10px);
1448
- }
1449
-
1450
- .wp-admin .ga-toast .ga-toast-close:hover {
1451
- background: rgba(255, 255, 255, 0.2);
1452
- }
1453
-
1454
- /* Accessibility improvements - Enhanced */
1455
- @media (prefers-reduced-motion: reduce) {
1456
- .ga-toast {
1457
- transition: opacity var(--ga-duration-150) ease;
1458
- animation: none;
1459
- }
1460
-
1461
- .ga-toast::before {
1462
- animation: none;
1463
- }
1464
-
1465
- .ga-toast.show {
1466
- opacity: 1;
1467
- transform: none;
1468
- }
1469
-
1470
- .ga-toast.hide {
1471
- opacity: 0;
1472
- transform: none;
1473
- }
1474
-
1475
- .ga-toast-loading::after {
1476
- animation: none;
1477
- border: 3px solid var(--ga-gray-300);
1478
- border-top: 3px solid var(--ga-primary);
1479
- }
1480
-
1481
- .ga-toast-progress {
1482
- transition: width 0.1s linear;
1483
- }
1484
-
1485
- .ga-toast-interactive:hover {
1486
- transform: none;
1487
- }
1488
-
1489
- .ga-toast-badge {
1490
- animation: none;
1491
- }
1492
-
1493
- .ga-toast-group .ga-toast {
1494
- animation: none;
1495
- animation-delay: 0ms;
1496
- }
1497
- }
1498
-
1499
- /* High contrast mode - Enhanced */
1500
- @media (prefers-contrast: high) {
1501
- .ga-toast {
1502
- border-width: 2px;
1503
- background: var(--ga-bg-primary);
1504
- box-shadow: none;
1505
- }
1506
-
1507
- .ga-toast::before {
1508
- display: none;
1509
- }
1510
-
1511
- .ga-toast-close {
1512
- border: 2px solid transparent;
1513
- background: var(--ga-bg-secondary);
1514
- }
1515
-
1516
- .ga-toast-close:focus {
1517
- border-color: currentColor;
1518
- outline: 2px solid currentColor;
1519
- outline-offset: 2px;
1520
- }
1521
-
1522
- .ga-toast-icon {
1523
- background: var(--ga-bg-secondary);
1524
- border: 1px solid var(--ga-border-dark);
1525
- }
1526
-
1527
- .ga-toast-progress {
1528
- box-shadow: none;
1529
- }
1530
- }
1531
-
1532
- /* Focus management for screen readers */
1533
- .ga-toast[role="alert"] {
1534
- outline: none;
1535
- }
1536
-
1537
- .ga-toast[tabindex] {
1538
- outline: 2px solid transparent;
1539
- }
1540
-
1541
- .ga-toast[tabindex]:focus {
1542
- outline-color: var(--ga-border-focus);
1543
- outline-offset: 2px;
1544
- }
1545
-
1546
- /* Print styles */
1547
- @media print {
1548
- .ga-toast-container {
1549
- display: none;
1550
- }
1551
- }
1552
-
1553
- /* Toast with Media Queries for System Themes */
1554
- @media (prefers-color-scheme: dark) {
1555
- [data-ga-theme="system"] .ga-toast,
1556
- [data-hp-theme-mode="system"] .ga-toast {
1557
- background: linear-gradient(135deg,
1558
- var(--ga-bg-primary),
1559
- var(--ga-bg-secondary)
1560
- );
1561
- box-shadow:
1562
- var(--ga-shadow-toast),
1563
- 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
1564
- }
1565
- }
1566
-
1567
- /* Custom Toast Utilities */
1568
- .ga-toast-shake {
1569
- animation: ga-toast-shake 0.5s ease-in-out;
1570
- }
1571
-
1572
- @keyframes ga-toast-shake {
1573
- 0%, 100% { transform: translateX(0); }
1574
- 10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); }
1575
- 20%, 40%, 60%, 80% { transform: translateX(2px); }
1576
- }
1577
-
1578
- .ga-toast-heartbeat {
1579
- animation: ga-toast-heartbeat 1.5s ease-in-out infinite;
1580
- }
1581
-
1582
- @keyframes ga-toast-heartbeat {
1583
- 0% { transform: scale(1); }
1584
- 14% { transform: scale(1.05); }
1585
- 28% { transform: scale(1); }
1586
- 42% { transform: scale(1.05); }
1587
- 70% { transform: scale(1); }
1588
- }
1589
-
1590
- .ga-toast-flash {
1591
- animation: ga-toast-flash 1s ease-in-out;
1592
- }
1593
-
1594
- @keyframes ga-toast-flash {
1595
- 0%, 50%, 100% { opacity: 1; }
1596
- 25%, 75% { opacity: 0.5; }
1597
- }
1598
-
1599
- /* Toast Themes */
1600
- .ga-toast-glassmorphism {
1601
- background: rgba(255, 255, 255, 0.1);
1602
- backdrop-filter: blur(20px);
1603
- border: 1px solid rgba(255, 255, 255, 0.2);
1604
- }
1605
-
1606
- .ga-toast-neumorphism {
1607
- background: var(--ga-bg-secondary);
1608
- border: none;
1609
- }
1610
-
1611
- .ga-toast-gradient-border {
1612
- position: relative;
1613
- background: var(--ga-bg-primary);
1614
- border: none;
1615
- }
1616
-
1617
- .ga-toast-gradient-border::before {
1618
- content: '';
1619
- position: absolute;
1620
- inset: -2px;
1621
- background: linear-gradient(45deg,
1622
- var(--ga-primary),
1623
- var(--ga-success),
1624
- var(--ga-info),
1625
- var(--ga-warning)
1626
- );
1627
- border-radius: inherit;
1628
- z-index: -1;
1629
- animation: ga-gradient-rotate 3s linear infinite;
1630
- }
1631
-
1632
- @keyframes ga-gradient-rotate {
1633
- 0% { transform: rotate(0deg); }
1634
- 100% { transform: rotate(360deg); }
1635
- }
1636
-
1637
- @keyframes ga-progress-shimmer {
1638
- 0% {
1639
- transform: translateX(-100%);
1640
- }
1641
- 100% {
1642
- transform: translateX(100%);
1643
- }
1644
- }