ai-react-animations 1.1.2 → 1.2.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/dist/index.css ADDED
@@ -0,0 +1,820 @@
1
+ /* AiCreating.css */
2
+ .ai-creating-wrapper {
3
+ width: 100%;
4
+ height: 100%;
5
+ display: inline-block;
6
+ }
7
+ .ai-creating-wrapper.size-xs .ai-creating-container {
8
+ height: 100px;
9
+ }
10
+ .ai-creating-wrapper.size-sm .ai-creating-container {
11
+ height: 160px;
12
+ }
13
+ .ai-creating-wrapper.size-md .ai-creating-container {
14
+ height: 240px;
15
+ }
16
+ .ai-creating-wrapper.size-lg .ai-creating-container {
17
+ height: 340px;
18
+ }
19
+ .ai-creating-wrapper.size-full .ai-creating-container {
20
+ height: 100%;
21
+ min-height: 240px;
22
+ }
23
+ .ai-creating-container {
24
+ width: 100%;
25
+ height: 240px;
26
+ background:
27
+ linear-gradient(
28
+ 135deg,
29
+ #667eea 0%,
30
+ #764ba2 100%);
31
+ border-radius: 20px;
32
+ position: relative;
33
+ overflow: hidden;
34
+ transition: all 0.5s ease;
35
+ }
36
+ .ai-creating-container.stage-reading {
37
+ background:
38
+ linear-gradient(
39
+ 135deg,
40
+ #667eea 0%,
41
+ #764ba2 100%);
42
+ }
43
+ .ai-creating-container.stage-processing {
44
+ background:
45
+ linear-gradient(
46
+ 135deg,
47
+ #f093fb 0%,
48
+ #f5576c 100%);
49
+ }
50
+ .ai-creating-container.stage-delivering {
51
+ background:
52
+ linear-gradient(
53
+ 135deg,
54
+ #4facfe 0%,
55
+ #00f2fe 100%);
56
+ }
57
+ .ai-creating-container.stage-complete {
58
+ background:
59
+ linear-gradient(
60
+ 135deg,
61
+ #43e97b 0%,
62
+ #38f9d7 100%);
63
+ }
64
+ .ai-scene {
65
+ position: relative;
66
+ width: 100%;
67
+ height: 100%;
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ }
72
+ .particles {
73
+ position: absolute;
74
+ inset: 0;
75
+ overflow: hidden;
76
+ pointer-events: none;
77
+ }
78
+ .particles span {
79
+ position: absolute;
80
+ width: 10px;
81
+ height: 10px;
82
+ background: rgba(255, 255, 255, 0.3);
83
+ border-radius: 50%;
84
+ animation: float 4s ease-in-out infinite;
85
+ }
86
+ .particles span:nth-child(1) {
87
+ left: 10%;
88
+ top: 20%;
89
+ animation-delay: 0s;
90
+ }
91
+ .particles span:nth-child(2) {
92
+ left: 20%;
93
+ top: 60%;
94
+ animation-delay: 0.5s;
95
+ width: 8px;
96
+ height: 8px;
97
+ }
98
+ .particles span:nth-child(3) {
99
+ left: 70%;
100
+ top: 30%;
101
+ animation-delay: 1s;
102
+ width: 12px;
103
+ height: 12px;
104
+ }
105
+ .particles span:nth-child(4) {
106
+ left: 80%;
107
+ top: 70%;
108
+ animation-delay: 1.5s;
109
+ width: 6px;
110
+ height: 6px;
111
+ }
112
+ .particles span:nth-child(5) {
113
+ left: 50%;
114
+ top: 10%;
115
+ animation-delay: 2s;
116
+ }
117
+ .particles span:nth-child(6) {
118
+ left: 90%;
119
+ top: 50%;
120
+ animation-delay: 2.5s;
121
+ width: 8px;
122
+ height: 8px;
123
+ }
124
+ @keyframes float {
125
+ 0%, 100% {
126
+ transform: translateY(0) scale(1);
127
+ opacity: 0.3;
128
+ }
129
+ 50% {
130
+ transform: translateY(-20px) scale(1.2);
131
+ opacity: 0.6;
132
+ }
133
+ }
134
+ .ai-robot {
135
+ position: absolute;
136
+ left: 50%;
137
+ top: 50%;
138
+ transform: translate(-50%, -60%);
139
+ transition: all 0.5s ease;
140
+ }
141
+ .size-xs .ai-robot {
142
+ transform: translate(-50%, -60%) scale(0.5);
143
+ }
144
+ .size-sm .ai-robot {
145
+ transform: translate(-50%, -60%) scale(0.7);
146
+ }
147
+ .size-lg .ai-robot {
148
+ transform: translate(-50%, -60%) scale(1.2);
149
+ }
150
+ .ai-robot.reading {
151
+ animation: robotBob 1s ease-in-out infinite;
152
+ }
153
+ .ai-robot.processing {
154
+ animation: robotWork 0.5s ease-in-out infinite;
155
+ }
156
+ .ai-robot.delivering {
157
+ animation: robotHappy 0.8s ease-in-out infinite;
158
+ }
159
+ .ai-robot.complete {
160
+ animation: robotCelebrate 0.6s ease-out forwards;
161
+ }
162
+ @keyframes robotBob {
163
+ 0%, 100% {
164
+ transform: translate(-50%, -60%) rotate(0);
165
+ }
166
+ 50% {
167
+ transform: translate(-50%, -63%) rotate(-3deg);
168
+ }
169
+ }
170
+ @keyframes robotWork {
171
+ 0%, 100% {
172
+ transform: translate(-50%, -60%) scale(1);
173
+ }
174
+ 50% {
175
+ transform: translate(-50%, -60%) scale(1.05);
176
+ }
177
+ }
178
+ @keyframes robotHappy {
179
+ 0%, 100% {
180
+ transform: translate(-50%, -60%);
181
+ }
182
+ 25% {
183
+ transform: translate(-50%, -63%) rotate(-5deg);
184
+ }
185
+ 75% {
186
+ transform: translate(-50%, -63%) rotate(5deg);
187
+ }
188
+ }
189
+ @keyframes robotCelebrate {
190
+ 0% {
191
+ transform: translate(-50%, -60%) scale(1);
192
+ }
193
+ 50% {
194
+ transform: translate(-50%, -70%) scale(1.15);
195
+ }
196
+ 100% {
197
+ transform: translate(-50%, -60%) scale(1);
198
+ }
199
+ }
200
+ .robot-head {
201
+ width: 70px;
202
+ height: 60px;
203
+ background:
204
+ linear-gradient(
205
+ 180deg,
206
+ #e8e8e8,
207
+ #c0c0c0);
208
+ border-radius: 15px;
209
+ position: relative;
210
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
211
+ }
212
+ .robot-face {
213
+ position: absolute;
214
+ inset: 8px;
215
+ background: #1a1a2e;
216
+ border-radius: 10px;
217
+ display: flex;
218
+ flex-direction: column;
219
+ align-items: center;
220
+ justify-content: center;
221
+ gap: 8px;
222
+ }
223
+ .robot-eyes {
224
+ display: flex;
225
+ gap: 12px;
226
+ }
227
+ .eye {
228
+ width: 16px;
229
+ height: 16px;
230
+ background: #00d4ff;
231
+ border-radius: 50%;
232
+ display: flex;
233
+ align-items: center;
234
+ justify-content: center;
235
+ box-shadow: 0 0 10px #00d4ff;
236
+ animation: eyeGlow 2s ease-in-out infinite;
237
+ }
238
+ .ai-robot.processing .eye {
239
+ background: #ff6b6b;
240
+ box-shadow: 0 0 10px #ff6b6b;
241
+ }
242
+ .ai-robot.complete .eye {
243
+ background: #51cf66;
244
+ box-shadow: 0 0 10px #51cf66;
245
+ }
246
+ @keyframes eyeGlow {
247
+ 0%, 100% {
248
+ box-shadow: 0 0 10px currentColor;
249
+ }
250
+ 50% {
251
+ box-shadow: 0 0 20px currentColor, 0 0 30px currentColor;
252
+ }
253
+ }
254
+ .pupil {
255
+ width: 6px;
256
+ height: 6px;
257
+ background: #fff;
258
+ border-radius: 50%;
259
+ animation: look 3s ease-in-out infinite;
260
+ }
261
+ @keyframes look {
262
+ 0%, 100% {
263
+ transform: translateX(0);
264
+ }
265
+ 25% {
266
+ transform: translateX(-3px);
267
+ }
268
+ 75% {
269
+ transform: translateX(3px);
270
+ }
271
+ }
272
+ .robot-mouth {
273
+ width: 20px;
274
+ height: 4px;
275
+ background: #00d4ff;
276
+ border-radius: 2px;
277
+ transition: all 0.3s ease;
278
+ }
279
+ .ai-robot.processing .robot-mouth {
280
+ width: 15px;
281
+ height: 15px;
282
+ border-radius: 50%;
283
+ background: transparent;
284
+ border: 3px solid #ff6b6b;
285
+ animation: mouthSpin 1s linear infinite;
286
+ }
287
+ .ai-robot.complete .robot-mouth {
288
+ width: 24px;
289
+ height: 12px;
290
+ border-radius: 0 0 12px 12px;
291
+ background: #51cf66;
292
+ }
293
+ @keyframes mouthSpin {
294
+ from {
295
+ transform: rotate(0);
296
+ }
297
+ to {
298
+ transform: rotate(360deg);
299
+ }
300
+ }
301
+ .antenna {
302
+ position: absolute;
303
+ top: -15px;
304
+ left: 50%;
305
+ transform: translateX(-50%);
306
+ width: 4px;
307
+ height: 15px;
308
+ background: #888;
309
+ }
310
+ .antenna-ball {
311
+ position: absolute;
312
+ top: -8px;
313
+ left: 50%;
314
+ transform: translateX(-50%);
315
+ width: 12px;
316
+ height: 12px;
317
+ background: #ff6b6b;
318
+ border-radius: 50%;
319
+ animation: antennaPulse 1s ease-in-out infinite;
320
+ }
321
+ .ai-robot.complete .antenna-ball {
322
+ background: #51cf66;
323
+ }
324
+ @keyframes antennaPulse {
325
+ 0%, 100% {
326
+ transform: translateX(-50%) scale(1);
327
+ box-shadow: 0 0 5px currentColor;
328
+ }
329
+ 50% {
330
+ transform: translateX(-50%) scale(1.2);
331
+ box-shadow: 0 0 15px currentColor;
332
+ }
333
+ }
334
+ .robot-body {
335
+ width: 50px;
336
+ height: 35px;
337
+ background:
338
+ linear-gradient(
339
+ 180deg,
340
+ #c0c0c0,
341
+ #909090);
342
+ border-radius: 0 0 10px 10px;
343
+ margin: 0 auto;
344
+ position: relative;
345
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
346
+ }
347
+ .chest-light {
348
+ position: absolute;
349
+ top: 50%;
350
+ left: 50%;
351
+ transform: translate(-50%, -50%);
352
+ width: 12px;
353
+ height: 12px;
354
+ background: #00d4ff;
355
+ border-radius: 50%;
356
+ animation: chestPulse 1.5s ease-in-out infinite;
357
+ }
358
+ .ai-robot.processing .chest-light {
359
+ background: #ff6b6b;
360
+ animation: chestFast 0.3s ease-in-out infinite;
361
+ }
362
+ .ai-robot.complete .chest-light {
363
+ background: #51cf66;
364
+ }
365
+ @keyframes chestPulse {
366
+ 0%, 100% {
367
+ opacity: 0.5;
368
+ transform: translate(-50%, -50%) scale(1);
369
+ }
370
+ 50% {
371
+ opacity: 1;
372
+ transform: translate(-50%, -50%) scale(1.3);
373
+ }
374
+ }
375
+ @keyframes chestFast {
376
+ 0%, 100% {
377
+ opacity: 0.5;
378
+ }
379
+ 50% {
380
+ opacity: 1;
381
+ }
382
+ }
383
+ .request-card {
384
+ position: absolute;
385
+ left: 15%;
386
+ top: 25%;
387
+ width: 60px;
388
+ background: white;
389
+ border-radius: 8px;
390
+ padding: 10px;
391
+ box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
392
+ animation: cardFloat 0.5s ease-out, cardHover 2s ease-in-out infinite 0.5s;
393
+ }
394
+ .size-xs .request-card {
395
+ width: 40px;
396
+ padding: 6px;
397
+ left: 10%;
398
+ }
399
+ .size-sm .request-card {
400
+ width: 50px;
401
+ padding: 8px;
402
+ }
403
+ .size-lg .request-card {
404
+ width: 80px;
405
+ padding: 14px;
406
+ }
407
+ .request-card.processing {
408
+ animation: cardToRobot 0.8s ease-in-out forwards;
409
+ }
410
+ @keyframes cardFloat {
411
+ from {
412
+ opacity: 0;
413
+ transform: translateY(-20px) scale(0.8);
414
+ }
415
+ to {
416
+ opacity: 1;
417
+ transform: translateY(0) scale(1);
418
+ }
419
+ }
420
+ @keyframes cardHover {
421
+ 0%, 100% {
422
+ transform: translateY(0);
423
+ }
424
+ 50% {
425
+ transform: translateY(-5px);
426
+ }
427
+ }
428
+ @keyframes cardToRobot {
429
+ to {
430
+ transform: translateX(80px) scale(0.5);
431
+ opacity: 0;
432
+ }
433
+ }
434
+ .card-icon {
435
+ font-size: 20px;
436
+ text-align: center;
437
+ margin-bottom: 6px;
438
+ }
439
+ .size-xs .card-icon {
440
+ font-size: 14px;
441
+ }
442
+ .size-lg .card-icon {
443
+ font-size: 26px;
444
+ }
445
+ .card-lines .line {
446
+ display: block;
447
+ height: 4px;
448
+ background: #e0e0e0;
449
+ border-radius: 2px;
450
+ margin-bottom: 4px;
451
+ animation: lineLoad 0.6s ease-out forwards;
452
+ }
453
+ .card-lines .line.short {
454
+ width: 60%;
455
+ }
456
+ @keyframes lineLoad {
457
+ from {
458
+ width: 0;
459
+ }
460
+ to {
461
+ width: 100%;
462
+ }
463
+ }
464
+ .card-lines .line.short {
465
+ animation: lineLoadShort 0.6s ease-out forwards;
466
+ }
467
+ @keyframes lineLoadShort {
468
+ from {
469
+ width: 0;
470
+ }
471
+ to {
472
+ width: 60%;
473
+ }
474
+ }
475
+ .processing-visual {
476
+ position: absolute;
477
+ top: 20%;
478
+ left: 50%;
479
+ transform: translateX(-50%);
480
+ }
481
+ .gear {
482
+ position: absolute;
483
+ font-size: 24px;
484
+ animation: spin 2s linear infinite;
485
+ }
486
+ .size-xs .gear {
487
+ font-size: 16px;
488
+ }
489
+ .size-lg .gear {
490
+ font-size: 32px;
491
+ }
492
+ .gear-1 {
493
+ left: -30px;
494
+ top: 0;
495
+ }
496
+ .gear-2 {
497
+ left: 10px;
498
+ top: 5px;
499
+ animation-direction: reverse;
500
+ font-size: 18px;
501
+ }
502
+ @keyframes spin {
503
+ from {
504
+ transform: rotate(0);
505
+ }
506
+ to {
507
+ transform: rotate(360deg);
508
+ }
509
+ }
510
+ .sparkles {
511
+ position: absolute;
512
+ top: -20px;
513
+ left: -20px;
514
+ width: 80px;
515
+ display: flex;
516
+ justify-content: space-around;
517
+ }
518
+ .sparkles span {
519
+ animation: sparkle 0.8s ease-in-out infinite;
520
+ font-size: 14px;
521
+ }
522
+ .sparkles span:nth-child(1) {
523
+ animation-delay: 0s;
524
+ }
525
+ .sparkles span:nth-child(2) {
526
+ animation-delay: 0.2s;
527
+ }
528
+ .sparkles span:nth-child(3) {
529
+ animation-delay: 0.4s;
530
+ }
531
+ @keyframes sparkle {
532
+ 0%, 100% {
533
+ opacity: 0;
534
+ transform: scale(0) translateY(0);
535
+ }
536
+ 50% {
537
+ opacity: 1;
538
+ transform: scale(1) translateY(-10px);
539
+ }
540
+ }
541
+ .result-card {
542
+ position: absolute;
543
+ right: 15%;
544
+ top: 25%;
545
+ width: 70px;
546
+ background: white;
547
+ border-radius: 8px;
548
+ padding: 10px;
549
+ box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
550
+ animation: resultAppear 0.5s ease-out;
551
+ }
552
+ .size-xs .result-card {
553
+ width: 45px;
554
+ padding: 6px;
555
+ right: 10%;
556
+ }
557
+ .size-sm .result-card {
558
+ width: 55px;
559
+ padding: 8px;
560
+ }
561
+ .size-lg .result-card {
562
+ width: 90px;
563
+ padding: 14px;
564
+ }
565
+ .result-card.complete {
566
+ box-shadow: 0 5px 25px rgba(81, 207, 102, 0.4);
567
+ animation: resultSuccess 0.5s ease-out;
568
+ }
569
+ @keyframes resultAppear {
570
+ from {
571
+ opacity: 0;
572
+ transform: translateX(20px) scale(0.8);
573
+ }
574
+ to {
575
+ opacity: 1;
576
+ transform: translateX(0) scale(1);
577
+ }
578
+ }
579
+ @keyframes resultSuccess {
580
+ 0% {
581
+ transform: scale(1);
582
+ }
583
+ 50% {
584
+ transform: scale(1.1);
585
+ }
586
+ 100% {
587
+ transform: scale(1);
588
+ }
589
+ }
590
+ .result-icon {
591
+ font-size: 22px;
592
+ text-align: center;
593
+ margin-bottom: 6px;
594
+ }
595
+ .size-xs .result-icon {
596
+ font-size: 14px;
597
+ }
598
+ .size-lg .result-icon {
599
+ font-size: 28px;
600
+ }
601
+ .result-lines .line {
602
+ display: block;
603
+ height: 4px;
604
+ background:
605
+ linear-gradient(
606
+ 90deg,
607
+ #667eea,
608
+ #764ba2);
609
+ border-radius: 2px;
610
+ margin-bottom: 4px;
611
+ animation: resultLine 0.4s ease-out forwards;
612
+ opacity: 0;
613
+ }
614
+ .result-lines .line:nth-child(1) {
615
+ animation-delay: 0.1s;
616
+ }
617
+ .result-lines .line:nth-child(2) {
618
+ animation-delay: 0.2s;
619
+ }
620
+ .result-lines .line:nth-child(3) {
621
+ animation-delay: 0.3s;
622
+ }
623
+ .result-card.complete .result-lines .line {
624
+ background:
625
+ linear-gradient(
626
+ 90deg,
627
+ #43e97b,
628
+ #38f9d7);
629
+ }
630
+ @keyframes resultLine {
631
+ from {
632
+ width: 0;
633
+ opacity: 0;
634
+ }
635
+ to {
636
+ width: 100%;
637
+ opacity: 1;
638
+ }
639
+ }
640
+ .result-lines .line.short {
641
+ animation: resultLineShort 0.4s ease-out forwards;
642
+ }
643
+ @keyframes resultLineShort {
644
+ from {
645
+ width: 0;
646
+ opacity: 0;
647
+ }
648
+ to {
649
+ width: 70%;
650
+ opacity: 1;
651
+ }
652
+ }
653
+ .status-area {
654
+ position: absolute;
655
+ bottom: 45px;
656
+ left: 50%;
657
+ transform: translateX(-50%);
658
+ display: flex;
659
+ align-items: center;
660
+ white-space: nowrap;
661
+ }
662
+ .status-text {
663
+ font-size: 14px;
664
+ font-weight: 600;
665
+ color: white;
666
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
667
+ }
668
+ .size-xs .status-text {
669
+ font-size: 10px;
670
+ }
671
+ .size-sm .status-text {
672
+ font-size: 12px;
673
+ }
674
+ .size-lg .status-text {
675
+ font-size: 16px;
676
+ }
677
+ .status-text.complete {
678
+ animation: textPop 0.4s ease-out;
679
+ }
680
+ @keyframes textPop {
681
+ 0% {
682
+ transform: scale(1);
683
+ }
684
+ 50% {
685
+ transform: scale(1.2);
686
+ }
687
+ 100% {
688
+ transform: scale(1);
689
+ }
690
+ }
691
+ .dots {
692
+ display: flex;
693
+ margin-left: 2px;
694
+ }
695
+ .dots span {
696
+ animation: dotBlink 1.4s ease-in-out infinite;
697
+ font-size: inherit;
698
+ color: white;
699
+ }
700
+ .dots span:nth-child(1) {
701
+ animation-delay: 0s;
702
+ }
703
+ .dots span:nth-child(2) {
704
+ animation-delay: 0.2s;
705
+ }
706
+ .dots span:nth-child(3) {
707
+ animation-delay: 0.4s;
708
+ }
709
+ @keyframes dotBlink {
710
+ 0%, 60%, 100% {
711
+ opacity: 0;
712
+ }
713
+ 30% {
714
+ opacity: 1;
715
+ }
716
+ }
717
+ .progress-track {
718
+ position: absolute;
719
+ bottom: 15px;
720
+ left: 20px;
721
+ right: 20px;
722
+ height: 6px;
723
+ background: rgba(255, 255, 255, 0.2);
724
+ border-radius: 3px;
725
+ overflow: visible;
726
+ }
727
+ .size-xs .progress-track {
728
+ bottom: 10px;
729
+ left: 10px;
730
+ right: 10px;
731
+ height: 4px;
732
+ }
733
+ .size-lg .progress-track {
734
+ bottom: 20px;
735
+ height: 8px;
736
+ }
737
+ .progress-bar {
738
+ height: 100%;
739
+ background: white;
740
+ border-radius: 3px;
741
+ transition: width 0.5s ease;
742
+ box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
743
+ }
744
+ .progress-bar.stage-idle {
745
+ width: 0;
746
+ }
747
+ .progress-bar.stage-reading {
748
+ width: 25%;
749
+ animation: progressPulse 1s ease-in-out infinite;
750
+ }
751
+ .progress-bar.stage-processing {
752
+ width: 50%;
753
+ animation: progressPulse 0.5s ease-in-out infinite;
754
+ }
755
+ .progress-bar.stage-delivering {
756
+ width: 75%;
757
+ animation: progressPulse 1s ease-in-out infinite;
758
+ }
759
+ .progress-bar.stage-complete {
760
+ width: 100%;
761
+ animation: none;
762
+ }
763
+ @keyframes progressPulse {
764
+ 0%, 100% {
765
+ opacity: 1;
766
+ }
767
+ 50% {
768
+ opacity: 0.7;
769
+ }
770
+ }
771
+ .progress-steps {
772
+ position: absolute;
773
+ top: 50%;
774
+ left: 0;
775
+ right: 0;
776
+ transform: translateY(-50%);
777
+ display: flex;
778
+ justify-content: space-between;
779
+ padding: 0 2px;
780
+ }
781
+ .step {
782
+ width: 10px;
783
+ height: 10px;
784
+ background: rgba(255, 255, 255, 0.3);
785
+ border-radius: 50%;
786
+ transition: all 0.3s ease;
787
+ }
788
+ .size-xs .step {
789
+ width: 6px;
790
+ height: 6px;
791
+ }
792
+ .size-lg .step {
793
+ width: 12px;
794
+ height: 12px;
795
+ }
796
+ .step.active {
797
+ background: white;
798
+ box-shadow: 0 0 10px white;
799
+ transform: scale(1.2);
800
+ }
801
+ @media (max-width: 640px) {
802
+ .request-card {
803
+ left: 8%;
804
+ }
805
+ .result-card {
806
+ right: 8%;
807
+ }
808
+ .status-text {
809
+ font-size: 12px;
810
+ }
811
+ }
812
+ @media (prefers-reduced-motion: reduce) {
813
+ *,
814
+ *::before,
815
+ *::after {
816
+ animation-duration: 0.01ms !important;
817
+ animation-iteration-count: 1 !important;
818
+ transition-duration: 0.01ms !important;
819
+ }
820
+ }