1use crate::utils::spinner_data::SpinnerData;
2use lazy_static::lazy_static;
3use maplit::{self, hashmap};
4use std::collections::HashMap;
5lazy_static! {
6 pub static ref SPINNERS: HashMap<String, SpinnerData> = {
7 hashmap! {
8 "Dots".into() => SpinnerData {frames: vec![
9 "⠋",
10 "⠙",
11 "⠹",
12 "⠸",
13 "⠼",
14 "⠴",
15 "⠦",
16 "⠧",
17 "⠇",
18 "⠏"
19 ], interval: 80},
20 "Dots2".into() => SpinnerData {frames: vec![
21 "⣾",
22 "⣽",
23 "⣻",
24 "⢿",
25 "⡿",
26 "⣟",
27 "⣯",
28 "⣷"
29 ], interval: 80},
30 "Dots3".into() => SpinnerData {frames: vec![
31 "⠋",
32 "⠙",
33 "⠚",
34 "⠞",
35 "⠖",
36 "⠦",
37 "⠴",
38 "⠲",
39 "⠳",
40 "⠓"
41 ], interval: 80},
42 "Dots4".into() => SpinnerData {frames: vec![
43 "⠄",
44 "⠆",
45 "⠇",
46 "⠋",
47 "⠙",
48 "⠸",
49 "⠰",
50 "⠠",
51 "⠰",
52 "⠸",
53 "⠙",
54 "⠋",
55 "⠇",
56 "⠆"
57 ], interval: 80},
58 "Dots5".into() => SpinnerData {frames: vec![
59 "⠋",
60 "⠙",
61 "⠚",
62 "⠒",
63 "⠂",
64 "⠂",
65 "⠒",
66 "⠲",
67 "⠴",
68 "⠦",
69 "⠖",
70 "⠒",
71 "⠐",
72 "⠐",
73 "⠒",
74 "⠓",
75 "⠋"
76 ], interval: 80},
77 "Dots6".into() => SpinnerData {frames: vec![
78 "⠁",
79 "⠉",
80 "⠙",
81 "⠚",
82 "⠒",
83 "⠂",
84 "⠂",
85 "⠒",
86 "⠲",
87 "⠴",
88 "⠤",
89 "⠄",
90 "⠄",
91 "⠤",
92 "⠴",
93 "⠲",
94 "⠒",
95 "⠂",
96 "⠂",
97 "⠒",
98 "⠚",
99 "⠙",
100 "⠉",
101 "⠁"
102 ], interval: 80},
103 "Dots7".into() => SpinnerData {frames: vec![
104 "⠈",
105 "⠉",
106 "⠋",
107 "⠓",
108 "⠒",
109 "⠐",
110 "⠐",
111 "⠒",
112 "⠖",
113 "⠦",
114 "⠤",
115 "⠠",
116 "⠠",
117 "⠤",
118 "⠦",
119 "⠖",
120 "⠒",
121 "⠐",
122 "⠐",
123 "⠒",
124 "⠓",
125 "⠋",
126 "⠉",
127 "⠈"
128 ], interval: 80},
129 "Dots8".into() => SpinnerData {frames: vec![
130 "⠁",
131 "⠁",
132 "⠉",
133 "⠙",
134 "⠚",
135 "⠒",
136 "⠂",
137 "⠂",
138 "⠒",
139 "⠲",
140 "⠴",
141 "⠤",
142 "⠄",
143 "⠄",
144 "⠤",
145 "⠠",
146 "⠠",
147 "⠤",
148 "⠦",
149 "⠖",
150 "⠒",
151 "⠐",
152 "⠐",
153 "⠒",
154 "⠓",
155 "⠋",
156 "⠉",
157 "⠈",
158 "⠈"
159 ], interval: 80},
160 "Dots9".into() => SpinnerData {frames: vec![
161 "⢹",
162 "⢺",
163 "⢼",
164 "⣸",
165 "⣇",
166 "⡧",
167 "⡗",
168 "⡏"
169 ], interval: 80},
170 "Dots10".into() => SpinnerData {frames: vec![
171 "⢄",
172 "⢂",
173 "⢁",
174 "⡁",
175 "⡈",
176 "⡐",
177 "⡠"
178 ], interval: 80},
179 "Dots11".into() => SpinnerData {frames: vec![
180 "⠁",
181 "⠂",
182 "⠄",
183 "⡀",
184 "⢀",
185 "⠠",
186 "⠐",
187 "⠈"
188 ], interval: 100},
189 "Dots12".into() => SpinnerData {frames: vec![
190 "⢀⠀",
191 "⡀⠀",
192 "⠄⠀",
193 "⢂⠀",
194 "⡂⠀",
195 "⠅⠀",
196 "⢃⠀",
197 "⡃⠀",
198 "⠍⠀",
199 "⢋⠀",
200 "⡋⠀",
201 "⠍⠁",
202 "⢋⠁",
203 "⡋⠁",
204 "⠍⠉",
205 "⠋⠉",
206 "⠋⠉",
207 "⠉⠙",
208 "⠉⠙",
209 "⠉⠩",
210 "⠈⢙",
211 "⠈⡙",
212 "⢈⠩",
213 "⡀⢙",
214 "⠄⡙",
215 "⢂⠩",
216 "⡂⢘",
217 "⠅⡘",
218 "⢃⠨",
219 "⡃⢐",
220 "⠍⡐",
221 "⢋⠠",
222 "⡋⢀",
223 "⠍⡁",
224 "⢋⠁",
225 "⡋⠁",
226 "⠍⠉",
227 "⠋⠉",
228 "⠋⠉",
229 "⠉⠙",
230 "⠉⠙",
231 "⠉⠩",
232 "⠈⢙",
233 "⠈⡙",
234 "⠈⠩",
235 "⠀⢙",
236 "⠀⡙",
237 "⠀⠩",
238 "⠀⢘",
239 "⠀⡘",
240 "⠀⠨",
241 "⠀⢐",
242 "⠀⡐",
243 "⠀⠠",
244 "⠀⢀",
245 "⠀⡀"
246 ], interval: 80},
247 "Dots8Bit".into() => SpinnerData {frames: vec![
248 "⠀",
249 "⠁",
250 "⠂",
251 "⠃",
252 "⠄",
253 "⠅",
254 "⠆",
255 "⠇",
256 "⡀",
257 "⡁",
258 "⡂",
259 "⡃",
260 "⡄",
261 "⡅",
262 "⡆",
263 "⡇",
264 "⠈",
265 "⠉",
266 "⠊",
267 "⠋",
268 "⠌",
269 "⠍",
270 "⠎",
271 "⠏",
272 "⡈",
273 "⡉",
274 "⡊",
275 "⡋",
276 "⡌",
277 "⡍",
278 "⡎",
279 "⡏",
280 "⠐",
281 "⠑",
282 "⠒",
283 "⠓",
284 "⠔",
285 "⠕",
286 "⠖",
287 "⠗",
288 "⡐",
289 "⡑",
290 "⡒",
291 "⡓",
292 "⡔",
293 "⡕",
294 "⡖",
295 "⡗",
296 "⠘",
297 "⠙",
298 "⠚",
299 "⠛",
300 "⠜",
301 "⠝",
302 "⠞",
303 "⠟",
304 "⡘",
305 "⡙",
306 "⡚",
307 "⡛",
308 "⡜",
309 "⡝",
310 "⡞",
311 "⡟",
312 "⠠",
313 "⠡",
314 "⠢",
315 "⠣",
316 "⠤",
317 "⠥",
318 "⠦",
319 "⠧",
320 "⡠",
321 "⡡",
322 "⡢",
323 "⡣",
324 "⡤",
325 "⡥",
326 "⡦",
327 "⡧",
328 "⠨",
329 "⠩",
330 "⠪",
331 "⠫",
332 "⠬",
333 "⠭",
334 "⠮",
335 "⠯",
336 "⡨",
337 "⡩",
338 "⡪",
339 "⡫",
340 "⡬",
341 "⡭",
342 "⡮",
343 "⡯",
344 "⠰",
345 "⠱",
346 "⠲",
347 "⠳",
348 "⠴",
349 "⠵",
350 "⠶",
351 "⠷",
352 "⡰",
353 "⡱",
354 "⡲",
355 "⡳",
356 "⡴",
357 "⡵",
358 "⡶",
359 "⡷",
360 "⠸",
361 "⠹",
362 "⠺",
363 "⠻",
364 "⠼",
365 "⠽",
366 "⠾",
367 "⠿",
368 "⡸",
369 "⡹",
370 "⡺",
371 "⡻",
372 "⡼",
373 "⡽",
374 "⡾",
375 "⡿",
376 "⢀",
377 "⢁",
378 "⢂",
379 "⢃",
380 "⢄",
381 "⢅",
382 "⢆",
383 "⢇",
384 "⣀",
385 "⣁",
386 "⣂",
387 "⣃",
388 "⣄",
389 "⣅",
390 "⣆",
391 "⣇",
392 "⢈",
393 "⢉",
394 "⢊",
395 "⢋",
396 "⢌",
397 "⢍",
398 "⢎",
399 "⢏",
400 "⣈",
401 "⣉",
402 "⣊",
403 "⣋",
404 "⣌",
405 "⣍",
406 "⣎",
407 "⣏",
408 "⢐",
409 "⢑",
410 "⢒",
411 "⢓",
412 "⢔",
413 "⢕",
414 "⢖",
415 "⢗",
416 "⣐",
417 "⣑",
418 "⣒",
419 "⣓",
420 "⣔",
421 "⣕",
422 "⣖",
423 "⣗",
424 "⢘",
425 "⢙",
426 "⢚",
427 "⢛",
428 "⢜",
429 "⢝",
430 "⢞",
431 "⢟",
432 "⣘",
433 "⣙",
434 "⣚",
435 "⣛",
436 "⣜",
437 "⣝",
438 "⣞",
439 "⣟",
440 "⢠",
441 "⢡",
442 "⢢",
443 "⢣",
444 "⢤",
445 "⢥",
446 "⢦",
447 "⢧",
448 "⣠",
449 "⣡",
450 "⣢",
451 "⣣",
452 "⣤",
453 "⣥",
454 "⣦",
455 "⣧",
456 "⢨",
457 "⢩",
458 "⢪",
459 "⢫",
460 "⢬",
461 "⢭",
462 "⢮",
463 "⢯",
464 "⣨",
465 "⣩",
466 "⣪",
467 "⣫",
468 "⣬",
469 "⣭",
470 "⣮",
471 "⣯",
472 "⢰",
473 "⢱",
474 "⢲",
475 "⢳",
476 "⢴",
477 "⢵",
478 "⢶",
479 "⢷",
480 "⣰",
481 "⣱",
482 "⣲",
483 "⣳",
484 "⣴",
485 "⣵",
486 "⣶",
487 "⣷",
488 "⢸",
489 "⢹",
490 "⢺",
491 "⢻",
492 "⢼",
493 "⢽",
494 "⢾",
495 "⢿",
496 "⣸",
497 "⣹",
498 "⣺",
499 "⣻",
500 "⣼",
501 "⣽",
502 "⣾",
503 "⣿"
504 ], interval: 80},
505 "Line".into() => SpinnerData {frames: vec![
506 "-",
507 "\\",
508 "|",
509 "/"
510 ], interval: 130},
511 "Line2".into() => SpinnerData {frames: vec![
512 "⠂",
513 "-",
514 "–",
515 "—",
516 "–",
517 "-"
518 ], interval: 100},
519 "Pipe".into() => SpinnerData {frames: vec![
520 "┤",
521 "┘",
522 "┴",
523 "└",
524 "├",
525 "┌",
526 "┬",
527 "┐"
528 ], interval: 100},
529 "SimpleDots".into() => SpinnerData {frames: vec![
530 ". ",
531 ".. ",
532 "...",
533 " "
534 ], interval: 400},
535 "SimpleDotsScrolling".into() => SpinnerData {frames: vec![
536 ". ",
537 ".. ",
538 "...",
539 " ..",
540 " .",
541 " "
542 ], interval: 200},
543 "Star".into() => SpinnerData {frames: vec![
544 "✶",
545 "✸",
546 "✹",
547 "✺",
548 "✹",
549 "✷"
550 ], interval: 70},
551 "Star2".into() => SpinnerData {frames: vec![
552 "+",
553 "x",
554 "*"
555 ], interval: 80},
556 "Flip".into() => SpinnerData {frames: vec![
557 "_",
558 "_",
559 "_",
560 "-",
561 "`",
562 "`",
563 "'",
564 "´",
565 "-",
566 "_",
567 "_",
568 "_"
569 ], interval: 70},
570 "Hamburger".into() => SpinnerData {frames: vec![
571 "☱",
572 "☲",
573 "☴"
574 ], interval: 100},
575 "GrowVertical".into() => SpinnerData {frames: vec![
576 "▁",
577 "▃",
578 "▄",
579 "▅",
580 "▆",
581 "▇",
582 "▆",
583 "▅",
584 "▄",
585 "▃"
586 ], interval: 120},
587 "GrowHorizontal".into() => SpinnerData {frames: vec![
588 "▏",
589 "▎",
590 "▍",
591 "▌",
592 "▋",
593 "▊",
594 "▉",
595 "▊",
596 "▋",
597 "▌",
598 "▍",
599 "▎"
600 ], interval: 120},
601 "Balloon".into() => SpinnerData {frames: vec![
602 " ",
603 ".",
604 "o",
605 "O",
606 "@",
607 "*",
608 " "
609 ], interval: 140},
610 "Balloon2".into() => SpinnerData {frames: vec![
611 ".",
612 "o",
613 "O",
614 "°",
615 "O",
616 "o",
617 "."
618 ], interval: 120},
619 "Noise".into() => SpinnerData {frames: vec![
620 "▓",
621 "▒",
622 "░"
623 ], interval: 100},
624 "Bounce".into() => SpinnerData {frames: vec![
625 "⠁",
626 "⠂",
627 "⠄",
628 "⠂"
629 ], interval: 120},
630 "BoxBounce".into() => SpinnerData {frames: vec![
631 "▖",
632 "▘",
633 "▝",
634 "▗"
635 ], interval: 120},
636 "BoxBounce2".into() => SpinnerData {frames: vec![
637 "▌",
638 "▀",
639 "▐",
640 "▄"
641 ], interval: 100},
642 "Triangle".into() => SpinnerData {frames: vec![
643 "◢",
644 "◣",
645 "◤",
646 "◥"
647 ], interval: 50},
648 "Arc".into() => SpinnerData {frames: vec![
649 "◜",
650 "◠",
651 "◝",
652 "◞",
653 "◡",
654 "◟"
655 ], interval: 100},
656 "Circle".into() => SpinnerData {frames: vec![
657 "◡",
658 "⊙",
659 "◠"
660 ], interval: 120},
661 "SquareCorners".into() => SpinnerData {frames: vec![
662 "◰",
663 "◳",
664 "◲",
665 "◱"
666 ], interval: 180},
667 "CircleQuarters".into() => SpinnerData {frames: vec![
668 "◴",
669 "◷",
670 "◶",
671 "◵"
672 ], interval: 120},
673 "CircleHalves".into() => SpinnerData {frames: vec![
674 "◐",
675 "◓",
676 "◑",
677 "◒"
678 ], interval: 50},
679 "Squish".into() => SpinnerData {frames: vec![
680 "╫",
681 "╪"
682 ], interval: 100},
683 "Toggle".into() => SpinnerData {frames: vec![
684 "⊶",
685 "⊷"
686 ], interval: 250},
687 "Toggle2".into() => SpinnerData {frames: vec![
688 "▫",
689 "▪"
690 ], interval: 80},
691 "Toggle3".into() => SpinnerData {frames: vec![
692 "□",
693 "■"
694 ], interval: 120},
695 "Toggle4".into() => SpinnerData {frames: vec![
696 "■",
697 "□",
698 "▪",
699 "▫"
700 ], interval: 100},
701 "Toggle5".into() => SpinnerData {frames: vec![
702 "▮",
703 "▯"
704 ], interval: 100},
705 "Toggle6".into() => SpinnerData {frames: vec![
706 "ဝ",
707 "၀"
708 ], interval: 300},
709 "Toggle7".into() => SpinnerData {frames: vec![
710 "⦾",
711 "⦿"
712 ], interval: 80},
713 "Toggle8".into() => SpinnerData {frames: vec![
714 "◍",
715 "◌"
716 ], interval: 100},
717 "Toggle9".into() => SpinnerData {frames: vec![
718 "◉",
719 "◎"
720 ], interval: 100},
721 "Toggle10".into() => SpinnerData {frames: vec![
722 "㊂",
723 "㊀",
724 "㊁"
725 ], interval: 100},
726 "Toggle11".into() => SpinnerData {frames: vec![
727 "⧇",
728 "⧆"
729 ], interval: 50},
730 "Toggle12".into() => SpinnerData {frames: vec![
731 "☗",
732 "☖"
733 ], interval: 120},
734 "Toggle13".into() => SpinnerData {frames: vec![
735 "=",
736 "*",
737 "-"
738 ], interval: 80},
739 "Arrow".into() => SpinnerData {frames: vec![
740 "←",
741 "↖",
742 "↑",
743 "↗",
744 "→",
745 "↘",
746 "↓",
747 "↙"
748 ], interval: 100},
749 "Arrow2".into() => SpinnerData {frames: vec![
750 "⬆️ ",
751 "↗️ ",
752 "➡️ ",
753 "↘️ ",
754 "⬇️ ",
755 "↙️ ",
756 "⬅️ ",
757 "↖️ "
758 ], interval: 80},
759 "Arrow3".into() => SpinnerData {frames: vec![
760 "▹▹▹▹▹",
761 "▸▹▹▹▹",
762 "▹▸▹▹▹",
763 "▹▹▸▹▹",
764 "▹▹▹▸▹",
765 "▹▹▹▹▸"
766 ], interval: 120},
767 "BouncingBar".into() => SpinnerData {frames: vec![
768 "[ ]",
769 "[= ]",
770 "[== ]",
771 "[=== ]",
772 "[ ===]",
773 "[ ==]",
774 "[ =]",
775 "[ ]",
776 "[ =]",
777 "[ ==]",
778 "[ ===]",
779 "[====]",
780 "[=== ]",
781 "[== ]",
782 "[= ]"
783 ], interval: 80},
784 "BouncingBall".into() => SpinnerData {frames: vec![
785 "( ● )",
786 "( ● )",
787 "( ● )",
788 "( ● )",
789 "( ●)",
790 "( ● )",
791 "( ● )",
792 "( ● )",
793 "( ● )",
794 "(● )"
795 ], interval: 80},
796 "Smiley".into() => SpinnerData {frames: vec![
797 "😄 ",
798 "😝 "
799 ], interval: 200},
800 "Monkey".into() => SpinnerData {frames: vec![
801 "🙈 ",
802 "🙈 ",
803 "🙉 ",
804 "🙊 "
805 ], interval: 300},
806 "Hearts".into() => SpinnerData {frames: vec![
807 "💛 ",
808 "💙 ",
809 "💜 ",
810 "💚 ",
811 "❤️ "
812 ], interval: 100},
813 "Clock".into() => SpinnerData {frames: vec![
814 "🕛 ",
815 "🕐 ",
816 "🕑 ",
817 "🕒 ",
818 "🕓 ",
819 "🕔 ",
820 "🕕 ",
821 "🕖 ",
822 "🕗 ",
823 "🕘 ",
824 "🕙 ",
825 "🕚 "
826 ], interval: 100},
827 "Earth".into() => SpinnerData {frames: vec![
828 "🌍 ",
829 "🌎 ",
830 "🌏 "
831 ], interval: 180},
832 "Material".into() => SpinnerData {frames: vec![
833 "█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
834 "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
835 "███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
836 "████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
837 "██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
838 "██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
839 "███████▁▁▁▁▁▁▁▁▁▁▁▁▁",
840 "████████▁▁▁▁▁▁▁▁▁▁▁▁",
841 "█████████▁▁▁▁▁▁▁▁▁▁▁",
842 "█████████▁▁▁▁▁▁▁▁▁▁▁",
843 "██████████▁▁▁▁▁▁▁▁▁▁",
844 "███████████▁▁▁▁▁▁▁▁▁",
845 "█████████████▁▁▁▁▁▁▁",
846 "██████████████▁▁▁▁▁▁",
847 "██████████████▁▁▁▁▁▁",
848 "▁██████████████▁▁▁▁▁",
849 "▁██████████████▁▁▁▁▁",
850 "▁██████████████▁▁▁▁▁",
851 "▁▁██████████████▁▁▁▁",
852 "▁▁▁██████████████▁▁▁",
853 "▁▁▁▁█████████████▁▁▁",
854 "▁▁▁▁██████████████▁▁",
855 "▁▁▁▁██████████████▁▁",
856 "▁▁▁▁▁██████████████▁",
857 "▁▁▁▁▁██████████████▁",
858 "▁▁▁▁▁██████████████▁",
859 "▁▁▁▁▁▁██████████████",
860 "▁▁▁▁▁▁██████████████",
861 "▁▁▁▁▁▁▁█████████████",
862 "▁▁▁▁▁▁▁█████████████",
863 "▁▁▁▁▁▁▁▁████████████",
864 "▁▁▁▁▁▁▁▁████████████",
865 "▁▁▁▁▁▁▁▁▁███████████",
866 "▁▁▁▁▁▁▁▁▁███████████",
867 "▁▁▁▁▁▁▁▁▁▁██████████",
868 "▁▁▁▁▁▁▁▁▁▁██████████",
869 "▁▁▁▁▁▁▁▁▁▁▁▁████████",
870 "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
871 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████",
872 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
873 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
874 "█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
875 "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
876 "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
877 "███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
878 "████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
879 "█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
880 "█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
881 "██████▁▁▁▁▁▁▁▁▁▁▁▁▁█",
882 "████████▁▁▁▁▁▁▁▁▁▁▁▁",
883 "█████████▁▁▁▁▁▁▁▁▁▁▁",
884 "█████████▁▁▁▁▁▁▁▁▁▁▁",
885 "█████████▁▁▁▁▁▁▁▁▁▁▁",
886 "█████████▁▁▁▁▁▁▁▁▁▁▁",
887 "███████████▁▁▁▁▁▁▁▁▁",
888 "████████████▁▁▁▁▁▁▁▁",
889 "████████████▁▁▁▁▁▁▁▁",
890 "██████████████▁▁▁▁▁▁",
891 "██████████████▁▁▁▁▁▁",
892 "▁██████████████▁▁▁▁▁",
893 "▁██████████████▁▁▁▁▁",
894 "▁▁▁█████████████▁▁▁▁",
895 "▁▁▁▁▁████████████▁▁▁",
896 "▁▁▁▁▁████████████▁▁▁",
897 "▁▁▁▁▁▁███████████▁▁▁",
898 "▁▁▁▁▁▁▁▁█████████▁▁▁",
899 "▁▁▁▁▁▁▁▁█████████▁▁▁",
900 "▁▁▁▁▁▁▁▁▁█████████▁▁",
901 "▁▁▁▁▁▁▁▁▁█████████▁▁",
902 "▁▁▁▁▁▁▁▁▁▁█████████▁",
903 "▁▁▁▁▁▁▁▁▁▁▁████████▁",
904 "▁▁▁▁▁▁▁▁▁▁▁████████▁",
905 "▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
906 "▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
907 "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
908 "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
909 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
910 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
911 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
912 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
913 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
914 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
915 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
916 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
917 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
918 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
919 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
920 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
921 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
922 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
923 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
924 "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁"
925 ], interval: 17},
926 "Moon".into() => SpinnerData {frames: vec![
927 "🌑 ",
928 "🌒 ",
929 "🌓 ",
930 "🌔 ",
931 "🌕 ",
932 "🌖 ",
933 "🌗 ",
934 "🌘 "
935 ], interval: 80},
936 "Runner".into() => SpinnerData {frames: vec![
937 "🚶 ",
938 "🏃 "
939 ], interval: 140},
940 "Pong".into() => SpinnerData {frames: vec![
941 "▐⠂ ▌",
942 "▐⠈ ▌",
943 "▐ ⠂ ▌",
944 "▐ ⠠ ▌",
945 "▐ ⡀ ▌",
946 "▐ ⠠ ▌",
947 "▐ ⠂ ▌",
948 "▐ ⠈ ▌",
949 "▐ ⠂ ▌",
950 "▐ ⠠ ▌",
951 "▐ ⡀ ▌",
952 "▐ ⠠ ▌",
953 "▐ ⠂ ▌",
954 "▐ ⠈ ▌",
955 "▐ ⠂▌",
956 "▐ ⠠▌",
957 "▐ ⡀▌",
958 "▐ ⠠ ▌",
959 "▐ ⠂ ▌",
960 "▐ ⠈ ▌",
961 "▐ ⠂ ▌",
962 "▐ ⠠ ▌",
963 "▐ ⡀ ▌",
964 "▐ ⠠ ▌",
965 "▐ ⠂ ▌",
966 "▐ ⠈ ▌",
967 "▐ ⠂ ▌",
968 "▐ ⠠ ▌",
969 "▐ ⡀ ▌",
970 "▐⠠ ▌"
971 ], interval: 80},
972 "Shark".into() => SpinnerData {frames: vec![
973 "▐|\\____________▌",
974 "▐_|\\___________▌",
975 "▐__|\\__________▌",
976 "▐___|\\_________▌",
977 "▐____|\\________▌",
978 "▐_____|\\_______▌",
979 "▐______|\\______▌",
980 "▐_______|\\_____▌",
981 "▐________|\\____▌",
982 "▐_________|\\___▌",
983 "▐__________|\\__▌",
984 "▐___________|\\_▌",
985 "▐____________|\\▌",
986 "▐____________/|▌",
987 "▐___________/|_▌",
988 "▐__________/|__▌",
989 "▐_________/|___▌",
990 "▐________/|____▌",
991 "▐_______/|_____▌",
992 "▐______/|______▌",
993 "▐_____/|_______▌",
994 "▐____/|________▌",
995 "▐___/|_________▌",
996 "▐__/|__________▌",
997 "▐_/|___________▌",
998 "▐/|____________▌"
999 ], interval: 120},
1000 "Dqpb".into() => SpinnerData {frames: vec![
1001 "d",
1002 "q",
1003 "p",
1004 "b"
1005 ], interval: 100},
1006 "Weather".into() => SpinnerData {frames: vec![
1007 "☀️ ",
1008 "☀️ ",
1009 "☀️ ",
1010 "🌤 ",
1011 "⛅️ ",
1012 "🌥 ",
1013 "☁️ ",
1014 "🌧 ",
1015 "🌨 ",
1016 "🌧 ",
1017 "🌨 ",
1018 "🌧 ",
1019 "🌨 ",
1020 "⛈ ",
1021 "🌨 ",
1022 "🌧 ",
1023 "🌨 ",
1024 "☁️ ",
1025 "🌥 ",
1026 "⛅️ ",
1027 "🌤 ",
1028 "☀️ ",
1029 "☀️ "
1030 ], interval: 100},
1031 "Christmas".into() => SpinnerData {frames: vec![
1032 "🌲",
1033 "🎄"
1034 ], interval: 400},
1035 "Grenade".into() => SpinnerData {frames: vec![
1036 "، ",
1037 "′ ",
1038 " ´ ",
1039 " ‾ ",
1040 " ⸌",
1041 " ⸊",
1042 " |",
1043 " ⁎",
1044 " ⁕",
1045 " ෴ ",
1046 " ⁓",
1047 " ",
1048 " ",
1049 " "
1050 ], interval: 80},
1051 "Point".into() => SpinnerData {frames: vec![
1052 "∙∙∙",
1053 "●∙∙",
1054 "∙●∙",
1055 "∙∙●",
1056 "∙∙∙"
1057 ], interval: 125},
1058 "Layer".into() => SpinnerData {frames: vec![
1059 "-",
1060 "=",
1061 "≡"
1062 ], interval: 150},
1063 "BetaWave".into() => SpinnerData {frames: vec![
1064 "ρββββββ",
1065 "βρβββββ",
1066 "ββρββββ",
1067 "βββρβββ",
1068 "ββββρββ",
1069 "βββββρβ",
1070 "ββββββρ"
1071 ], interval: 80},
1072 "FingerDance".into() => SpinnerData {frames: vec![
1073 "🤘 ",
1074 "🤟 ",
1075 "🖖 ",
1076 "✋ ",
1077 "🤚 ",
1078 "👆 "
1079 ], interval: 160},
1080 "FistBump".into() => SpinnerData {frames: vec![
1081 "🤜 🤛 ",
1082 "🤜 🤛 ",
1083 "🤜 🤛 ",
1084 " 🤜 🤛 ",
1085 " 🤜🤛 ",
1086 " 🤜✨🤛 ",
1087 "🤜 ✨ 🤛 "
1088 ], interval: 80},
1089 "SoccerHeader".into() => SpinnerData {frames: vec![
1090 " 🧑⚽️ 🧑 ",
1091 "🧑 ⚽️ 🧑 ",
1092 "🧑 ⚽️ 🧑 ",
1093 "🧑 ⚽️ 🧑 ",
1094 "🧑 ⚽️ 🧑 ",
1095 "🧑 ⚽️ 🧑 ",
1096 "🧑 ⚽️🧑 ",
1097 "🧑 ⚽️ 🧑 ",
1098 "🧑 ⚽️ 🧑 ",
1099 "🧑 ⚽️ 🧑 ",
1100 "🧑 ⚽️ 🧑 ",
1101 "🧑 ⚽️ 🧑 "
1102 ], interval: 80},
1103 "Mindblown".into() => SpinnerData {frames: vec![
1104 "😐 ",
1105 "😐 ",
1106 "😮 ",
1107 "😮 ",
1108 "😦 ",
1109 "😦 ",
1110 "😧 ",
1111 "😧 ",
1112 "🤯 ",
1113 "💥 ",
1114 "✨ ",
1115 " ",
1116 " ",
1117 " "
1118 ], interval: 160},
1119 "Speaker".into() => SpinnerData {frames: vec![
1120 "🔈 ",
1121 "🔉 ",
1122 "🔊 ",
1123 "🔉 "
1124 ], interval: 160},
1125 "OrangePulse".into() => SpinnerData {frames: vec![
1126 "🔸 ",
1127 "🔶 ",
1128 "🟠 ",
1129 "🟠 ",
1130 "🔶 "
1131 ], interval: 100},
1132 "BluePulse".into() => SpinnerData {frames: vec![
1133 "🔹 ",
1134 "🔷 ",
1135 "🔵 ",
1136 "🔵 ",
1137 "🔷 "
1138 ], interval: 100},
1139 "OrangeBluePulse".into() => SpinnerData {frames: vec![
1140 "🔸 ",
1141 "🔶 ",
1142 "🟠 ",
1143 "🟠 ",
1144 "🔶 ",
1145 "🔹 ",
1146 "🔷 ",
1147 "🔵 ",
1148 "🔵 ",
1149 "🔷 "
1150 ], interval: 100},
1151 "TimeTravel".into() => SpinnerData {frames: vec![
1152 "🕛 ",
1153 "🕚 ",
1154 "🕙 ",
1155 "🕘 ",
1156 "🕗 ",
1157 "🕖 ",
1158 "🕕 ",
1159 "🕔 ",
1160 "🕓 ",
1161 "🕒 ",
1162 "🕑 ",
1163 "🕐 "
1164 ], interval: 100},
1165 "Aesthetic".into() => SpinnerData {frames: vec![
1166 "▰▱▱▱▱▱▱",
1167 "▰▰▱▱▱▱▱",
1168 "▰▰▰▱▱▱▱",
1169 "▰▰▰▰▱▱▱",
1170 "▰▰▰▰▰▱▱",
1171 "▰▰▰▰▰▰▱",
1172 "▰▰▰▰▰▰▰",
1173 "▰▱▱▱▱▱▱"
1174 ], interval: 80}
1175 }
1176 };
1177}