|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779 |
- <template>
- <span>
- <svg
- v-if="icon == 'audio'"
- width="15"
- viewBox="0 0 55 80"
- xmlns="http://www.w3.org/2000/svg"
- :fill="color"
- class="w-full h-full"
- >
- <g transform="matrix(1 0 0 -1 0 80)">
- <rect width="10" height="20" rx="3">
- <animate
- attributeName="height"
- begin="0s"
- dur="4.3s"
- values="20;45;57;80;64;32;66;45;64;23;66;13;64;56;34;34;2;23;76;79;20"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </rect>
- <rect x="15" width="10" height="80" rx="3">
- <animate
- attributeName="height"
- begin="0s"
- dur="2s"
- values="80;55;33;5;75;23;73;33;12;14;60;80"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </rect>
- <rect x="30" width="10" height="50" rx="3">
- <animate
- attributeName="height"
- begin="0s"
- dur="1.4s"
- values="50;34;78;23;56;23;34;76;80;54;21;50"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </rect>
- <rect x="45" width="10" height="30" rx="3">
- <animate
- attributeName="height"
- begin="0s"
- dur="2s"
- values="30;45;13;80;56;72;45;76;34;23;67;30"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </rect>
- </g>
- </svg>
- <svg
- v-else-if="icon == 'ball-triangle'"
- width="20"
- viewBox="0 0 57 57"
- xmlns="http://www.w3.org/2000/svg"
- class="w-full h-full"
- >
- <g fill="none" fill-rule="evenodd">
- <g transform="translate(1 1)">
- <circle cx="5" cy="50" r="5" :fill="color">
- <animate
- attributeName="cy"
- begin="0s"
- dur="2.2s"
- values="50;5;50;50"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="cx"
- begin="0s"
- dur="2.2s"
- values="5;27;49;5"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="27" cy="5" r="5" :fill="color">
- <animate
- attributeName="cy"
- begin="0s"
- dur="2.2s"
- from="5"
- to="5"
- values="5;50;50;5"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="cx"
- begin="0s"
- dur="2.2s"
- from="27"
- to="27"
- values="27;49;5;27"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="49" cy="50" r="5" :fill="color">
- <animate
- attributeName="cy"
- begin="0s"
- dur="2.2s"
- values="50;50;5;50"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="cx"
- from="49"
- to="49"
- begin="0s"
- dur="2.2s"
- values="49;5;27;49"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- </g>
- </g>
- </svg>
- <svg
- v-else-if="icon == 'bars'"
- width="20"
- viewBox="0 0 135 140"
- xmlns="http://www.w3.org/2000/svg"
- :fill="color"
- class="w-full h-full"
- >
- <rect y="10" width="15" height="120" rx="6">
- <animate
- attributeName="height"
- begin="0.5s"
- dur="1s"
- values="120;110;100;90;80;70;60;50;40;140;120"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="y"
- begin="0.5s"
- dur="1s"
- values="10;15;20;25;30;35;40;45;50;0;10"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </rect>
- <rect x="30" y="10" width="15" height="120" rx="6">
- <animate
- attributeName="height"
- begin="0.25s"
- dur="1s"
- values="120;110;100;90;80;70;60;50;40;140;120"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="y"
- begin="0.25s"
- dur="1s"
- values="10;15;20;25;30;35;40;45;50;0;10"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </rect>
- <rect x="60" width="15" height="140" rx="6">
- <animate
- attributeName="height"
- begin="0s"
- dur="1s"
- values="120;110;100;90;80;70;60;50;40;140;120"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="y"
- begin="0s"
- dur="1s"
- values="10;15;20;25;30;35;40;45;50;0;10"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </rect>
- <rect x="90" y="10" width="15" height="120" rx="6">
- <animate
- attributeName="height"
- begin="0.25s"
- dur="1s"
- values="120;110;100;90;80;70;60;50;40;140;120"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="y"
- begin="0.25s"
- dur="1s"
- values="10;15;20;25;30;35;40;45;50;0;10"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </rect>
- <rect x="120" y="10" width="15" height="120" rx="6">
- <animate
- attributeName="height"
- begin="0.5s"
- dur="1s"
- values="120;110;100;90;80;70;60;50;40;140;120"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="y"
- begin="0.5s"
- dur="1s"
- values="10;15;20;25;30;35;40;45;50;0;10"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </rect>
- </svg>
- <svg
- v-else-if="icon == 'circles'"
- width="20"
- viewBox="0 0 135 135"
- xmlns="http://www.w3.org/2000/svg"
- :fill="color"
- class="w-full h-full"
- >
- <path
- d="M67.447 58c5.523 0 10-4.477 10-10s-4.477-10-10-10-10 4.477-10 10 4.477 10 10 10zm9.448 9.447c0 5.523 4.477 10 10 10 5.522 0 10-4.477 10-10s-4.478-10-10-10c-5.523 0-10 4.477-10 10zm-9.448 9.448c-5.523 0-10 4.477-10 10 0 5.522 4.477 10 10 10s10-4.478 10-10c0-5.523-4.477-10-10-10zM58 67.447c0-5.523-4.477-10-10-10s-10 4.477-10 10 4.477 10 10 10 10-4.477 10-10z"
- >
- <animateTransform
- attributeName="transform"
- type="rotate"
- from="0 67 67"
- to="-360 67 67"
- dur="2.5s"
- repeatCount="indefinite"
- />
- </path>
- <path
- d="M28.19 40.31c6.627 0 12-5.374 12-12 0-6.628-5.373-12-12-12-6.628 0-12 5.372-12 12 0 6.626 5.372 12 12 12zm30.72-19.825c4.686 4.687 12.284 4.687 16.97 0 4.686-4.686 4.686-12.284 0-16.97-4.686-4.687-12.284-4.687-16.97 0-4.687 4.686-4.687 12.284 0 16.97zm35.74 7.705c0 6.627 5.37 12 12 12 6.626 0 12-5.373 12-12 0-6.628-5.374-12-12-12-6.63 0-12 5.372-12 12zm19.822 30.72c-4.686 4.686-4.686 12.284 0 16.97 4.687 4.686 12.285 4.686 16.97 0 4.687-4.686 4.687-12.284 0-16.97-4.685-4.687-12.283-4.687-16.97 0zm-7.704 35.74c-6.627 0-12 5.37-12 12 0 6.626 5.373 12 12 12s12-5.374 12-12c0-6.63-5.373-12-12-12zm-30.72 19.822c-4.686-4.686-12.284-4.686-16.97 0-4.686 4.687-4.686 12.285 0 16.97 4.686 4.687 12.284 4.687 16.97 0 4.687-4.685 4.687-12.283 0-16.97zm-35.74-7.704c0-6.627-5.372-12-12-12-6.626 0-12 5.373-12 12s5.374 12 12 12c6.628 0 12-5.373 12-12zm-19.823-30.72c4.687-4.686 4.687-12.284 0-16.97-4.686-4.686-12.284-4.686-16.97 0-4.687 4.686-4.687 12.284 0 16.97 4.686 4.687 12.284 4.687 16.97 0z"
- >
- <animateTransform
- attributeName="transform"
- type="rotate"
- from="0 67 67"
- to="360 67 67"
- dur="8s"
- repeatCount="indefinite"
- />
- </path>
- </svg>
- <svg
- v-else-if="icon == 'grid'"
- width="20"
- viewBox="0 0 105 105"
- xmlns="http://www.w3.org/2000/svg"
- :fill="color"
- class="w-full h-full"
- >
- <circle cx="12.5" cy="12.5" r="12.5">
- <animate
- attributeName="fill-opacity"
- begin="0s"
- dur="1s"
- values="1;.2;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="12.5" cy="52.5" r="12.5" fill-opacity=".5">
- <animate
- attributeName="fill-opacity"
- begin="100ms"
- dur="1s"
- values="1;.2;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="52.5" cy="12.5" r="12.5">
- <animate
- attributeName="fill-opacity"
- begin="300ms"
- dur="1s"
- values="1;.2;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="52.5" cy="52.5" r="12.5">
- <animate
- attributeName="fill-opacity"
- begin="600ms"
- dur="1s"
- values="1;.2;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="92.5" cy="12.5" r="12.5">
- <animate
- attributeName="fill-opacity"
- begin="800ms"
- dur="1s"
- values="1;.2;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="92.5" cy="52.5" r="12.5">
- <animate
- attributeName="fill-opacity"
- begin="400ms"
- dur="1s"
- values="1;.2;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="12.5" cy="92.5" r="12.5">
- <animate
- attributeName="fill-opacity"
- begin="700ms"
- dur="1s"
- values="1;.2;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="52.5" cy="92.5" r="12.5">
- <animate
- attributeName="fill-opacity"
- begin="500ms"
- dur="1s"
- values="1;.2;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="92.5" cy="92.5" r="12.5">
- <animate
- attributeName="fill-opacity"
- begin="200ms"
- dur="1s"
- values="1;.2;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- </svg>
- <svg
- v-else-if="icon == 'hearts'"
- width="30"
- viewBox="0 0 140 64"
- xmlns="http://www.w3.org/2000/svg"
- :fill="color"
- class="w-full h-full"
- >
- <path
- d="M30.262 57.02L7.195 40.723c-5.84-3.976-7.56-12.06-3.842-18.063 3.715-6 11.467-7.65 17.306-3.68l4.52 3.76 2.6-5.274c3.717-6.002 11.47-7.65 17.305-3.68 5.84 3.97 7.56 12.054 3.842 18.062L34.49 56.118c-.897 1.512-2.793 1.915-4.228.9z"
- fill-opacity=".5"
- >
- <animate
- attributeName="fill-opacity"
- begin="0s"
- dur="1.4s"
- values="0.5;1;0.5"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </path>
- <path
- d="M105.512 56.12l-14.44-24.272c-3.716-6.008-1.996-14.093 3.843-18.062 5.835-3.97 13.588-2.322 17.306 3.68l2.6 5.274 4.52-3.76c5.84-3.97 13.592-2.32 17.307 3.68 3.718 6.003 1.998 14.088-3.842 18.064L109.74 57.02c-1.434 1.014-3.33.61-4.228-.9z"
- fill-opacity=".5"
- >
- <animate
- attributeName="fill-opacity"
- begin="0.7s"
- dur="1.4s"
- values="0.5;1;0.5"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </path>
- <path
- d="M67.408 57.834l-23.01-24.98c-5.864-6.15-5.864-16.108 0-22.248 5.86-6.14 15.37-6.14 21.234 0L70 16.168l4.368-5.562c5.863-6.14 15.375-6.14 21.235 0 5.863 6.14 5.863 16.098 0 22.247l-23.007 24.98c-1.43 1.556-3.757 1.556-5.188 0z"
- />
- </svg>
- <svg
- v-else-if="icon == 'oval'"
- width="25"
- viewBox="-2 -2 42 42"
- xmlns="http://www.w3.org/2000/svg"
- :stroke="color"
- class="w-full h-full"
- >
- <g fill="none" fill-rule="evenodd">
- <g transform="translate(1 1)" stroke-width="4">
- <circle stroke-opacity=".5" cx="18" cy="18" r="18" />
- <path d="M36 18c0-9.94-8.06-18-18-18">
- <animateTransform
- attributeName="transform"
- type="rotate"
- from="0 18 18"
- to="360 18 18"
- dur="1s"
- repeatCount="indefinite"
- />
- </path>
- </g>
- </g>
- </svg>
- <svg
- v-else-if="icon == 'puff'"
- width="25"
- viewBox="0 0 44 44"
- xmlns="http://www.w3.org/2000/svg"
- :stroke="color"
- class="w-full h-full"
- >
- <g fill="none" fill-rule="evenodd" stroke-width="4">
- <circle cx="22" cy="22" r="1">
- <animate
- attributeName="r"
- begin="0s"
- dur="1.8s"
- values="1; 20"
- calcMode="spline"
- keyTimes="0; 1"
- keySplines="0.165, 0.84, 0.44, 1"
- repeatCount="indefinite"
- />
- <animate
- attributeName="stroke-opacity"
- begin="0s"
- dur="1.8s"
- values="1; 0"
- calcMode="spline"
- keyTimes="0; 1"
- keySplines="0.3, 0.61, 0.355, 1"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="22" cy="22" r="1">
- <animate
- attributeName="r"
- begin="-0.9s"
- dur="1.8s"
- values="1; 20"
- calcMode="spline"
- keyTimes="0; 1"
- keySplines="0.165, 0.84, 0.44, 1"
- repeatCount="indefinite"
- />
- <animate
- attributeName="stroke-opacity"
- begin="-0.9s"
- dur="1.8s"
- values="1; 0"
- calcMode="spline"
- keyTimes="0; 1"
- keySplines="0.3, 0.61, 0.355, 1"
- repeatCount="indefinite"
- />
- </circle>
- </g>
- </svg>
- <svg
- v-else-if="icon == 'rings'"
- width="30"
- viewBox="0 0 45 45"
- xmlns="http://www.w3.org/2000/svg"
- :stroke="color"
- class="w-full h-full"
- >
- <g
- fill="none"
- fill-rule="evenodd"
- transform="translate(1 1)"
- stroke-width="3"
- >
- <circle cx="22" cy="22" r="6" stroke-opacity="0">
- <animate
- attributeName="r"
- begin="1.5s"
- dur="3s"
- values="6;22"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="stroke-opacity"
- begin="1.5s"
- dur="3s"
- values="1;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="stroke-width"
- begin="1.5s"
- dur="3s"
- values="2;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="22" cy="22" r="6" stroke-opacity="0">
- <animate
- attributeName="r"
- begin="3s"
- dur="3s"
- values="6;22"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="stroke-opacity"
- begin="3s"
- dur="3s"
- values="1;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="stroke-width"
- begin="3s"
- dur="3s"
- values="2;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="22" cy="22" r="8">
- <animate
- attributeName="r"
- begin="0s"
- dur="1.5s"
- values="6;1;2;3;4;5;6"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- </g>
- </svg>
- <svg
- v-else-if="icon == 'spinning-circles'"
- width="20"
- viewBox="0 0 58 58"
- xmlns="http://www.w3.org/2000/svg"
- class="w-full h-full"
- >
- <g fill="none" fill-rule="evenodd">
- <g transform="translate(2 1)" :stroke="color" stroke-width="1.5">
- <circle cx="42.601" cy="11.462" r="5" fill-opacity="1" :fill="color">
- <animate
- attributeName="fill-opacity"
- begin="0s"
- dur="1.3s"
- values="1;0;0;0;0;0;0;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="49.063" cy="27.063" r="5" fill-opacity="0" :fill="color">
- <animate
- attributeName="fill-opacity"
- begin="0s"
- dur="1.3s"
- values="0;1;0;0;0;0;0;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="42.601" cy="42.663" r="5" fill-opacity="0" :fill="color">
- <animate
- attributeName="fill-opacity"
- begin="0s"
- dur="1.3s"
- values="0;0;1;0;0;0;0;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="27" cy="49.125" r="5" fill-opacity="0" :fill="color">
- <animate
- attributeName="fill-opacity"
- begin="0s"
- dur="1.3s"
- values="0;0;0;1;0;0;0;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="11.399" cy="42.663" r="5" fill-opacity="0" :fill="color">
- <animate
- attributeName="fill-opacity"
- begin="0s"
- dur="1.3s"
- values="0;0;0;0;1;0;0;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="4.938" cy="27.063" r="5" fill-opacity="0" :fill="color">
- <animate
- attributeName="fill-opacity"
- begin="0s"
- dur="1.3s"
- values="0;0;0;0;0;1;0;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="11.399" cy="11.462" r="5" fill-opacity="0" :fill="color">
- <animate
- attributeName="fill-opacity"
- begin="0s"
- dur="1.3s"
- values="0;0;0;0;0;0;1;0"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="27" cy="5" r="5" fill-opacity="0" :fill="color">
- <animate
- attributeName="fill-opacity"
- begin="0s"
- dur="1.3s"
- values="0;0;0;0;0;0;0;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- </g>
- </g>
- </svg>
- <svg
- v-else-if="icon == 'tail-spin'"
- width="20"
- viewBox="0 0 38 38"
- xmlns="http://www.w3.org/2000/svg"
- class="w-full h-full"
- >
- <defs>
- <linearGradient id="a" x1="8.042%" y1="0%" x2="65.682%" y2="23.865%">
- <stop :stop-color="color" stop-opacity="0" offset="0%" />
- <stop :stop-color="color" offset="100%" />
- <stop :stop-color="color" stop-opacity=".631" offset="63.146%" />
- </linearGradient>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <g transform="translate(1 1)">
- <path
- id="Oval-2"
- d="M36 18c0-9.94-8.06-18-18-18"
- stroke="url(#a)"
- stroke-width="3"
- >
- <animateTransform
- attributeName="transform"
- type="rotate"
- from="0 18 18"
- to="360 18 18"
- dur="0.9s"
- repeatCount="indefinite"
- />
- </path>
- <circle :fill="color" cx="36" cy="18" r="1">
- <animateTransform
- attributeName="transform"
- type="rotate"
- from="0 18 18"
- to="360 18 18"
- dur="0.9s"
- repeatCount="indefinite"
- />
- </circle>
- </g>
- </g>
- </svg>
- <svg
- v-else-if="icon == 'three-dots'"
- width="25"
- viewBox="0 0 120 30"
- xmlns="http://www.w3.org/2000/svg"
- :fill="color"
- class="w-full h-full"
- >
- <circle cx="15" cy="15" r="15">
- <animate
- attributeName="r"
- from="15"
- to="15"
- begin="0s"
- dur="0.8s"
- values="15;9;15"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="fill-opacity"
- from="1"
- to="1"
- begin="0s"
- dur="0.8s"
- values="1;.5;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="60" cy="15" r="9" fill-opacity="0.3">
- <animate
- attributeName="r"
- from="9"
- to="9"
- begin="0s"
- dur="0.8s"
- values="9;15;9"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="fill-opacity"
- from="0.5"
- to="0.5"
- begin="0s"
- dur="0.8s"
- values=".5;1;.5"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- <circle cx="105" cy="15" r="15">
- <animate
- attributeName="r"
- from="15"
- to="15"
- begin="0s"
- dur="0.8s"
- values="15;9;15"
- calcMode="linear"
- repeatCount="indefinite"
- />
- <animate
- attributeName="fill-opacity"
- from="1"
- to="1"
- begin="0s"
- dur="0.8s"
- values="1;.5;1"
- calcMode="linear"
- repeatCount="indefinite"
- />
- </circle>
- </svg>
- </span>
- </template>
-
- <script>
- export default {
- props: {
- icon: {
- type: String,
- default: ""
- },
- color: {
- type: String,
- default: "#1890FF"
- }
- }
- };
- </script>
|