-
Notifications
You must be signed in to change notification settings - Fork 182
/
loader-screen.tsx
42 lines (34 loc) · 1.03 KB
/
loader-screen.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import React, {PureComponent} from 'react';
import classNames from 'classnames';
import PropTypes from 'prop-types';
import Loader, {LoaderProps} from '../loader/loader';
import styles from './loader-screen.css';
export interface LoaderScreenProps extends LoaderProps {
containerClassName?: string | null | undefined
}
/**
* @name Loader Screen
*/
export default class LoaderScreen extends PureComponent<LoaderScreenProps> {
static propTypes = {
className: PropTypes.string,
containerClassName: PropTypes.string,
message: PropTypes.string
};
render() {
const {message, className, containerClassName, ...restProps} = this.props;
const containerClasses = classNames(containerClassName, styles.loaderScreen);
const loaderClasses = classNames(className, styles.loader, {
[styles.loaderWithoutSpacing]: !message
});
return (
<div className={containerClasses}>
<Loader
{...restProps}
message={message}
className={loaderClasses}
/>
</div>
);
}
}