lyraxis-notification 1.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/style.css ADDED
@@ -0,0 +1,915 @@
1
+ :root {
2
+ --lyn-bg: rgb(255, 255, 255);
3
+ --lyn-surface: #fff;
4
+ --lyn-overlay: rgba(0, 0, 0, .45);
5
+ --lyn-border: #e5e7eb;
6
+ --lyn-text: #000;
7
+ --lyn-text-muted: #666;
8
+ --lyn-brand: #b0be1f;
9
+ --lyn-brand-hover: rgba(49, 122, 156, .1);
10
+ --lyn-error-bg: rgba(255, 7, 7, .9);
11
+ --lyn-toast-icon-bg: #f3f4f6;
12
+ }
13
+
14
+ body.lynDark {
15
+ --lyn-bg: #1e1e1e;
16
+ --lyn-surface: #242424;
17
+ --lyn-overlay: rgba(0, 0, 0, .75);
18
+ --lyn-border: #333;
19
+ --lyn-text: #fff;
20
+ --lyn-text-muted: #aaa;
21
+ --lyn-brand: #d0e505;
22
+ --lyn-brand-hover: rgba(75, 163, 203, .15);
23
+ --lyn-error-bg: rgba(200, 0, 0, .9);
24
+ --lyn-toast-icon-bg: #333;
25
+ }
26
+
27
+ body.no-scroll {
28
+ overflow: hidden !important;
29
+ }
30
+
31
+ .line {
32
+ width: calc(100% - 60px);
33
+ height: 2px;
34
+ margin: 15px 0;
35
+ background: linear-gradient(
36
+ to right,
37
+ #d0e505,
38
+ transparent
39
+ );
40
+ }
41
+
42
+ .message-log,
43
+ .message-error {
44
+ position: fixed !important;
45
+ bottom: 20px !important;
46
+ left: 50% !important;
47
+ transform: translateX(-50%) !important;
48
+
49
+ font-size: 15px !important;
50
+ border-radius: 20px !important;
51
+ text-align: center !important;
52
+
53
+ overflow: hidden !important;
54
+ white-space: nowrap !important;
55
+
56
+ min-width: 0 !important;
57
+
58
+ transition:
59
+ max-width .5s,
60
+ min-width .5s,
61
+ padding .5s,
62
+ opacity .5s !important;
63
+
64
+ z-index: 10000000 !important;
65
+ opacity: 0 !important;
66
+ }
67
+
68
+ .message-log {
69
+ color: var(--lyn-text) !important;
70
+ background: var(--lyn-surface) !important;
71
+ box-shadow:
72
+ 0 4px 12px rgba(0, 0, 0, .15) !important;
73
+ }
74
+
75
+ .message-error {
76
+ color: #fff !important;
77
+ background: var(--lyn-error-bg) !important;
78
+ box-shadow:
79
+ 0 4px 12px rgba(255, 7, 7, .2) !important;
80
+ }
81
+
82
+ .message-log.show,
83
+ .message-error.show {
84
+ max-width: 400px !important;
85
+ min-width: 200px !important;
86
+ padding: 15px 25px !important;
87
+ opacity: 1 !important;
88
+ }
89
+
90
+ .message-log.hide,
91
+ .message-error.hide {
92
+ max-width: 0 !important;
93
+ min-width: 0 !important;
94
+ padding: 0 !important;
95
+ opacity: 0 !important;
96
+ }
97
+
98
+ .message-sistem-overlay {
99
+ position: fixed !important;
100
+ inset: 0 !important;
101
+
102
+ width: 100vw !important;
103
+ height: 100vh !important;
104
+
105
+ background: var(--lyn-overlay) !important;
106
+
107
+ z-index: 10000000 !important;
108
+
109
+ display: flex !important;
110
+ align-items: center !important;
111
+ justify-content: center !important;
112
+
113
+ backdrop-filter: blur(6px) !important;
114
+
115
+ animation:
116
+ lyPopOverlay .2s ease-out !important;
117
+ }
118
+
119
+ @keyframes lyPopOverlay {
120
+ from {
121
+ backdrop-filter: blur(0);
122
+ }
123
+
124
+ to {
125
+ backdrop-filter: blur(6px);
126
+ }
127
+ }
128
+
129
+ .message-sistem-boxinfo {
130
+ box-sizing: border-box !important;
131
+
132
+ width: 90% !important;
133
+ max-width: 500px !important;
134
+ max-height: 75vh !important;
135
+
136
+ background: var(--lyn-bg) !important;
137
+
138
+ border-radius: 25px !important;
139
+
140
+ display: flex !important;
141
+ flex-direction: column !important;
142
+
143
+ z-index: 10000001 !important;
144
+
145
+ box-shadow:
146
+ 0 10px 25px rgba(0, 0, 0, .2) !important;
147
+
148
+ animation:
149
+ lyPop .5s cubic-bezier(
150
+ .34,
151
+ 1.56,
152
+ .64,
153
+ 1
154
+ ) !important;
155
+
156
+ padding: 25px !important;
157
+ }
158
+
159
+ @keyframes lyPop {
160
+ from {
161
+ transform: scale(.9);
162
+ opacity: 0;
163
+ }
164
+
165
+ to {
166
+ transform: scale(1);
167
+ opacity: 1;
168
+ }
169
+ }
170
+
171
+ .message-sistem-header {
172
+ display: flex !important;
173
+ justify-content: space-between !important;
174
+ align-items: flex-start !important;
175
+
176
+ gap: 15px !important;
177
+
178
+ border-radius: 15px 15px 0 0 !important;
179
+ }
180
+
181
+ .message-sistem-header-text {
182
+ min-width: 0 !important;
183
+
184
+ display: flex !important;
185
+ flex-direction: column !important;
186
+ align-items: flex-start !important;
187
+
188
+ text-align: left !important;
189
+
190
+ flex: 1 !important;
191
+ }
192
+
193
+ .message-sistem-subtitle {
194
+ margin: 0 0 3px 0 !important;
195
+
196
+ color: var(--lyn-text-muted) !important;
197
+
198
+ font-size: .85em !important;
199
+ font-weight: 300 !important;
200
+ letter-spacing: 1px !important;
201
+
202
+ line-height: 1.3 !important;
203
+ }
204
+
205
+ .message-sistem-title {
206
+ margin: 0 !important;
207
+
208
+ color: var(--lyn-text) !important;
209
+
210
+ font-size: 1.80em !important;
211
+ font-weight: 400 !important;
212
+
213
+ line-height: 1.25 !important;
214
+ }
215
+
216
+ .icon-message-sistem-custom-button {
217
+ width: 1.5em !important;
218
+ height: 1.5em !important;
219
+
220
+ vertical-align: middle !important;
221
+
222
+ fill: currentColor !important;
223
+ }
224
+
225
+ .message-sistem-content {
226
+ display: flex !important;
227
+ flex-direction: column !important;
228
+
229
+ overflow-y: auto !important;
230
+ }
231
+
232
+ .message-sistem-content img {
233
+ max-width: 100% !important;
234
+ }
235
+
236
+ .message-sistem-message {
237
+ font-size: 1em !important;
238
+
239
+ margin: 0 !important;
240
+
241
+ color: var(--lyn-text) !important;
242
+
243
+ opacity: .85 !important;
244
+
245
+ text-align: left !important;
246
+
247
+ line-height: 1.5 !important;
248
+ }
249
+
250
+ .message-sistem-input {
251
+ width: 100% !important;
252
+
253
+ padding: 10px !important;
254
+
255
+ outline: none !important;
256
+
257
+ border:
258
+ 1.5px solid var(--lyn-brand) !important;
259
+
260
+ border-radius: 6px !important;
261
+
262
+ box-sizing: border-box !important;
263
+
264
+ font-size: 1em !important;
265
+
266
+ margin-top: 10px !important;
267
+
268
+ background: var(--lyn-surface) !important;
269
+ color: var(--lyn-text) !important;
270
+ }
271
+
272
+ .container-button {
273
+ text-align: right !important;
274
+
275
+ display: flex !important;
276
+ justify-content: flex-end !important;
277
+
278
+ gap: 10px !important;
279
+
280
+ margin-top: 10px !important;
281
+ }
282
+
283
+ .message-sistem-boxinfo button {
284
+ all: unset !important;
285
+
286
+ box-sizing: border-box !important;
287
+
288
+ font-family: inherit !important;
289
+
290
+ cursor: pointer !important;
291
+ }
292
+
293
+ .message-sistem-boxinfo
294
+ .message-sistem-custom-button {
295
+ background: transparent !important;
296
+
297
+ border: none !important;
298
+
299
+ padding: 0 5px !important;
300
+
301
+ color: var(--lyn-text-muted) !important;
302
+ }
303
+
304
+ .message-sistem-boxinfo
305
+ .message-sistem-custom-button:hover {
306
+ background: transparent !important;
307
+
308
+ color: var(--lyn-text) !important;
309
+ }
310
+
311
+ .message-sistem-boxinfo
312
+ .container-button > button {
313
+ font-size: 1em !important;
314
+
315
+ border: none !important;
316
+
317
+ background: transparent !important;
318
+
319
+ color: var(--lyn-brand) !important;
320
+
321
+ border-radius: 5px !important;
322
+
323
+ padding: 8px 15px !important;
324
+
325
+ font-weight: 600 !important;
326
+
327
+ transition:
328
+ background .2s,
329
+ color .2s !important;
330
+ }
331
+
332
+ .message-sistem-boxinfo
333
+ .container-button > button:hover {
334
+ color: var(--lyn-brand) !important;
335
+
336
+ background:
337
+ var(--lyn-brand-hover) !important;
338
+ }
339
+
340
+ .lyraxis-toast-container {
341
+ position: fixed !important;
342
+
343
+ top: 20px !important;
344
+ right: 20px !important;
345
+
346
+ z-index: 10000002 !important;
347
+
348
+ width: 350px !important;
349
+ height: 170px !important;
350
+
351
+ pointer-events: none !important;
352
+ }
353
+
354
+ .lyraxis-toast {
355
+ pointer-events: auto !important;
356
+
357
+ position: absolute !important;
358
+
359
+ top: 0 !important;
360
+ left: 0 !important;
361
+
362
+ width: 100% !important;
363
+
364
+ border-radius: 16px !important;
365
+
366
+ padding: 16px !important;
367
+
368
+ box-sizing: border-box !important;
369
+
370
+ display: flex !important;
371
+
372
+ gap: 12px !important;
373
+
374
+ align-items: flex-start !important;
375
+
376
+ box-shadow:
377
+ 0 10px 25px rgba(0, 0, 0, .15) !important;
378
+
379
+ transition:
380
+ transform .4s cubic-bezier(
381
+ .34,
382
+ 1.56,
383
+ .64,
384
+ 1
385
+ ),
386
+ opacity .3s ease !important;
387
+
388
+ font-family:
389
+ system-ui,
390
+ -apple-system,
391
+ BlinkMacSystemFont,
392
+ "Segoe UI",
393
+ Roboto,
394
+ sans-serif !important;
395
+
396
+ opacity: 0 !important;
397
+
398
+ transform:
399
+ translateY(-20px)
400
+ scale(.9) !important;
401
+ }
402
+
403
+ .lyraxis-toast[data-index="0"] {
404
+ opacity: 1 !important;
405
+
406
+ transform:
407
+ translateY(0)
408
+ scale(1) !important;
409
+
410
+ z-index: 10 !important;
411
+ }
412
+
413
+ .lyraxis-toast[data-index="1"] {
414
+ opacity: .85 !important;
415
+
416
+ transform:
417
+ translateY(-8px)
418
+ scale(.94) !important;
419
+
420
+ z-index: 9 !important;
421
+ }
422
+
423
+ .lyraxis-toast[data-index="2"] {
424
+ opacity: .6 !important;
425
+
426
+ transform:
427
+ translateY(-16px)
428
+ scale(.88) !important;
429
+
430
+ z-index: 8 !important;
431
+ }
432
+
433
+ .lyraxis-toast[data-index="3"] {
434
+ opacity: .3 !important;
435
+
436
+ transform:
437
+ translateY(-24px)
438
+ scale(.82) !important;
439
+
440
+ z-index: 7 !important;
441
+ }
442
+
443
+ .lyraxis-toast.hide {
444
+ opacity: 0 !important;
445
+
446
+ transform:
447
+ translateY(20px)
448
+ scale(.9) !important;
449
+ }
450
+
451
+ .lyraxis-toast-default {
452
+ background: var(--lyn-surface) !important;
453
+ color: var(--lyn-text) !important;
454
+
455
+ border:
456
+ 1px solid var(--lyn-border) !important;
457
+ }
458
+
459
+ .lyraxis-toast-success {
460
+ background: #10b981 !important;
461
+ color: #fff !important;
462
+ }
463
+
464
+ .lyraxis-toast-error {
465
+ background: #ef4444 !important;
466
+ color: #fff !important;
467
+ }
468
+
469
+ .lyraxis-toast-icon {
470
+ width: 32px !important;
471
+ height: 32px !important;
472
+
473
+ border-radius: 10px !important;
474
+
475
+ display: flex !important;
476
+
477
+ align-items: center !important;
478
+ justify-content: center !important;
479
+
480
+ flex-shrink: 0 !important;
481
+ }
482
+
483
+ .lyraxis-toast-default
484
+ .lyraxis-toast-icon {
485
+ background:
486
+ var(--lyn-toast-icon-bg) !important;
487
+
488
+ color: var(--lyn-brand) !important;
489
+ }
490
+
491
+ .lyraxis-toast-success
492
+ .lyraxis-toast-icon,
493
+ .lyraxis-toast-error
494
+ .lyraxis-toast-icon {
495
+ background:
496
+ rgba(255, 255, 255, .2) !important;
497
+
498
+ color: #fff !important;
499
+ }
500
+
501
+ .lyraxis-toast-icon svg {
502
+ width: 18px !important;
503
+ height: 18px !important;
504
+
505
+ fill: currentColor !important;
506
+ }
507
+
508
+ .lyraxis-toast-body {
509
+ flex-grow: 1 !important;
510
+
511
+ display: flex !important;
512
+ flex-direction: column !important;
513
+
514
+ gap: 2px !important;
515
+
516
+ padding-right: 18px !important;
517
+ }
518
+
519
+ .lyraxis-toast-title {
520
+ font-size: .95em !important;
521
+
522
+ font-weight: 700 !important;
523
+
524
+ line-height: 1.3 !important;
525
+ }
526
+
527
+ .lyraxis-toast-message {
528
+ font-size: .85em !important;
529
+
530
+ line-height: 1.4 !important;
531
+
532
+ margin: 0 !important;
533
+
534
+ opacity: .9 !important;
535
+
536
+ word-break: break-word !important;
537
+ }
538
+
539
+ .lyraxis-toast-close {
540
+ position: absolute !important;
541
+
542
+ top: 14px !important;
543
+ right: 14px !important;
544
+
545
+ background: transparent !important;
546
+
547
+ border: none !important;
548
+
549
+ cursor: pointer !important;
550
+
551
+ padding: 2px !important;
552
+
553
+ display: flex !important;
554
+
555
+ align-items: center !important;
556
+ justify-content: center !important;
557
+
558
+ color: inherit !important;
559
+
560
+ opacity: .6 !important;
561
+ }
562
+
563
+ .lyraxis-toast-close:hover {
564
+ opacity: 1 !important;
565
+ }
566
+
567
+ .lyraxis-toast-close svg {
568
+ width: 14px !important;
569
+ height: 14px !important;
570
+
571
+ fill: currentColor !important;
572
+ }
573
+
574
+ .lyraxis-dynamic-container {
575
+ position: fixed !important;
576
+
577
+ bottom: 20px !important;
578
+ left: 50% !important;
579
+
580
+ transform:
581
+ translateX(-50%) !important;
582
+
583
+ width: 100% !important;
584
+ height: 70px !important;
585
+
586
+ display: flex !important;
587
+
588
+ justify-content: center !important;
589
+ align-items: flex-end !important;
590
+
591
+ pointer-events: none !important;
592
+
593
+ z-index: 10000001 !important;
594
+ }
595
+
596
+ .lyraxis-dynamic {
597
+ --dynamic-color: #9ca3af;
598
+
599
+ width: 52px;
600
+ height: 52px;
601
+
602
+ max-width:
603
+ calc(100vw - 32px);
604
+
605
+ border-radius: 30px;
606
+
607
+ background:
608
+ var(--lyn-surface);
609
+
610
+ color:
611
+ var(--lyn-text);
612
+
613
+ box-shadow:
614
+ 0 5px 20px
615
+ rgba(0, 0, 0, .16);
616
+
617
+ border:
618
+ 1px solid
619
+ rgba(0, 0, 0, .04);
620
+
621
+ display: flex;
622
+
623
+ align-items: center;
624
+
625
+ overflow: hidden;
626
+
627
+ opacity: 0;
628
+
629
+ transform:
630
+ translateY(80px);
631
+
632
+ transition:
633
+ width .55s cubic-bezier(
634
+ .34,
635
+ 1.25,
636
+ .64,
637
+ 1
638
+ ),
639
+ height .35s ease,
640
+ transform 1s cubic-bezier(
641
+ .22,
642
+ 1,
643
+ .36,
644
+ 1
645
+ ),
646
+ opacity .35s ease;
647
+
648
+ pointer-events: none;
649
+
650
+ box-sizing: border-box;
651
+
652
+ will-change:
653
+ width,
654
+ transform;
655
+ }
656
+
657
+ .lyraxis-dynamic.enter-ball {
658
+ opacity: 1;
659
+
660
+ transform:
661
+ translateY(0);
662
+ }
663
+
664
+ .lyraxis-dynamic.open {
665
+ width: var(--dynamic-width, 280px);
666
+ height: 52px;
667
+ }
668
+
669
+ .lyraxis-dynamic.close {
670
+ width: 52px;
671
+ height: 52px;
672
+
673
+ transform:
674
+ translateY(0);
675
+ }
676
+
677
+ .lyraxis-dynamic.leave {
678
+ opacity: 0;
679
+
680
+ transform:
681
+ translateY(80px);
682
+ }
683
+
684
+ .lyraxis-dynamic-icon {
685
+ width: 34px;
686
+ height: 34px;
687
+
688
+ min-width: 34px;
689
+
690
+ margin-left: 9px;
691
+
692
+ border-radius: 50%;
693
+
694
+ background:
695
+ var(--dynamic-color);
696
+
697
+ color: #fff;
698
+
699
+ display: flex;
700
+
701
+ align-items: center;
702
+ justify-content: center;
703
+
704
+ overflow: hidden;
705
+ }
706
+
707
+ .lyraxis-dynamic-icon svg {
708
+ width: 19px;
709
+ height: 19px;
710
+
711
+ fill: currentColor;
712
+
713
+ display: block;
714
+ }
715
+
716
+ .lyraxis-dynamic-content {
717
+ min-width: 0;
718
+
719
+ margin-left: 9px;
720
+ margin-right: 15px;
721
+
722
+ white-space: nowrap;
723
+
724
+ overflow: hidden;
725
+
726
+ opacity: 1;
727
+ }
728
+
729
+ .lyraxis-dynamic-message {
730
+ overflow: hidden;
731
+
732
+ text-overflow: ellipsis;
733
+
734
+ font-size: 14px;
735
+
736
+ font-weight: 600;
737
+
738
+ line-height: 18px;
739
+
740
+ white-space: nowrap;
741
+ }
742
+
743
+ .lyraxis-dynamic-status {
744
+ overflow: hidden;
745
+
746
+ text-overflow: ellipsis;
747
+
748
+ font-size: 11px;
749
+
750
+ line-height: 14px;
751
+
752
+ color:
753
+ var(--lyn-text-muted);
754
+
755
+ white-space: nowrap;
756
+ }
757
+
758
+ .lyraxis-dynamic.success {
759
+ --dynamic-color: #22c55e;
760
+ }
761
+
762
+ .lyraxis-dynamic.warning {
763
+ --dynamic-color: #eab308;
764
+ }
765
+
766
+ .lyraxis-dynamic.failed {
767
+ --dynamic-color: #ef4444;
768
+ }
769
+
770
+ .lyraxis-dynamic.active {
771
+ --dynamic-color: #3b82f6;
772
+ }
773
+
774
+ .lyraxis-dynamic.waiting {
775
+ --dynamic-color: #9ca3af;
776
+ }
777
+
778
+ .lyraxis-dynamic.default {
779
+ --dynamic-color: var(--lyn-brand);
780
+ }
781
+
782
+ .lyraxis-dynamic.notification
783
+ .lyraxis-dynamic-icon {
784
+ animation:
785
+ lyDynamicNotification
786
+ .80s ease-in-out 3;
787
+ }
788
+
789
+ .lyraxis-dynamic.music
790
+ .lyraxis-dynamic-icon svg {
791
+ animation:
792
+ lyDynamicMusic
793
+ 1s linear infinite;
794
+ }
795
+
796
+ .lyraxis-dynamic.wait
797
+ .lyraxis-dynamic-icon svg,
798
+ .lyraxis-dynamic.waiting
799
+ .lyraxis-dynamic-icon svg {
800
+ animation:
801
+ lyDynamicWait
802
+ 1.2s linear infinite;
803
+ }
804
+
805
+ .lyraxis-dynamic.failed
806
+ .lyraxis-dynamic-icon {
807
+ animation:
808
+ lyDynamicError
809
+ .12s ease-in-out 5;
810
+ }
811
+
812
+ .lyraxis-dynamic.warning
813
+ .lyraxis-dynamic-icon {
814
+ animation:
815
+ lyDynamicWarning
816
+ .45s ease-in-out 3;
817
+ }
818
+
819
+ .lyraxis-dynamic.success
820
+ .lyraxis-dynamic-icon {
821
+ animation:
822
+ lyDynamicSuccess
823
+ .5s ease-out;
824
+ }
825
+
826
+ .lyraxis-dynamic.custom-animation {
827
+ animation:
828
+ var(--dynamic-custom-animation);
829
+ }
830
+
831
+ @keyframes lyDynamicNotification {
832
+ 0%,
833
+ 100% {
834
+ transform: rotate(0);
835
+ }
836
+
837
+ 25% {
838
+ transform: rotate(12deg);
839
+ }
840
+
841
+ 50% {
842
+ transform: rotate(-12deg);
843
+ }
844
+
845
+ 75% {
846
+ transform: rotate(8deg);
847
+ }
848
+ }
849
+
850
+ @keyframes lyDynamicMusic {
851
+ to {
852
+ transform: rotate(360deg);
853
+ }
854
+ }
855
+
856
+ @keyframes lyDynamicWait {
857
+ to {
858
+ transform: rotate(360deg);
859
+ }
860
+ }
861
+
862
+ @keyframes lyDynamicError {
863
+ 0%,
864
+ 100% {
865
+ transform: translateX(0);
866
+ }
867
+
868
+ 25% {
869
+ transform: translateX(-3px);
870
+ }
871
+
872
+ 50% {
873
+ transform: translateX(3px);
874
+ }
875
+
876
+ 75% {
877
+ transform: translateX(-2px);
878
+ }
879
+ }
880
+
881
+ @keyframes lyDynamicWarning {
882
+ 0%,
883
+ 100% {
884
+ transform: scale(1);
885
+ }
886
+
887
+ 50% {
888
+ transform: scale(1.12);
889
+ }
890
+ }
891
+
892
+ @keyframes lyDynamicSuccess {
893
+ 0% {
894
+ transform: scale(.7);
895
+ }
896
+
897
+ 70% {
898
+ transform: scale(1.15);
899
+ }
900
+
901
+ 100% {
902
+ transform: scale(1);
903
+ }
904
+ }
905
+
906
+ @media (max-width: 480px) {
907
+ .lyraxis-dynamic-container {
908
+ bottom: 20px !important;
909
+ }
910
+
911
+ .lyraxis-dynamic {
912
+ max-width:
913
+ calc(100vw - 20px);
914
+ }
915
+ }