Merge "Web Client context menu item display"
[ccsdk/features.git] / sdnr / wt / odlux / framework / src / components / material-ui / loader.tsx
1 /**
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt odlux
4  * =================================================================================================
5  * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
6  * =================================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software distributed under the License
13  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14  * or implied. See the License for the specific language governing permissions and limitations under
15  * the License.
16  * ============LICENSE_END==========================================================================
17  */
18
19
20 import * as React from "react";
21
22 import { Theme } from '@mui/material/styles';
23
24 import { WithStyles } from '@mui/styles';
25 import withStyles from '@mui/styles/withStyles';
26 import createStyles from '@mui/styles/createStyles';
27
28 const styles = (theme: Theme) => createStyles({
29   "@keyframes spin": {
30     "0%": { transform: "rotate(0deg)" },
31     "100%": { transform: "rotate(360deg)" },
32   },
33   loader: {
34     border: `16px solid ${theme.palette.grey.A200}`,
35     borderTop: `16px solid ${theme.palette.secondary.main}`,
36     borderRadius: "50%",
37     width: "120px",
38     height: "120px",
39     animation: "$spin 2s linear infinite",
40   }
41 });
42
43 const LoaderComponent: React.FC<WithStyles<typeof styles>> = (props) => {
44   return (
45     <div className={props.classes.loader} />
46   );
47 };
48
49 export const Loader = withStyles(styles)(LoaderComponent);