main
js 55 lines 1.36 KB
Raw
1 /**
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 *
7 * @flow
8 */
9
10 import * as React from 'react';
11 import styles from './LoadingAnimation.css';
12
13 type Props = {
14 className?: string,
15 };
16
17 export default function LoadingAnimation({className = ''}: Props): React.Node {
18 return (
19 <svg
20 xmlns="http://www.w3.org/2000/svg"
21 className={`${styles.Icon} ${className}`}
22 width="24"
23 height="24"
24 viewBox="0 0 100 100">
25 <path d="M0 0h100v100H0z" fill="none" />
26 <circle fill="currentColor" stroke="none" cx="20" cy="50" r="10">
27 <animate
28 attributeName="opacity"
29 dur="1s"
30 values="0;1;0"
31 repeatCount="indefinite"
32 begin="0.1"
33 />
34 </circle>
35 <circle fill="currentColor" stroke="none" cx="50" cy="50" r="10">
36 <animate
37 attributeName="opacity"
38 dur="1s"
39 values="0;1;0"
40 repeatCount="indefinite"
41 begin="0.2"
42 />
43 </circle>
44 <circle fill="currentColor" stroke="none" cx="80" cy="50" r="10">
45 <animate
46 attributeName="opacity"
47 dur="1s"
48 values="0;1;0"
49 repeatCount="indefinite"
50 begin="0.3"
51 />
52 </circle>
53 </svg>
54 );
55 }