2017-07-26 15:50:49 +03:00
|
|
|
import React from 'react';
|
2017-09-20 12:30:53 +03:00
|
|
|
import styled from 'styled-components';
|
2017-10-09 16:35:52 +03:00
|
|
|
import is, { isNot } from 'styled-is';
|
2017-09-20 12:30:53 +03:00
|
|
|
|
|
|
|
import Widget from './widget';
|
|
|
|
import P from '../text/p';
|
2017-10-09 16:35:52 +03:00
|
|
|
import remcalc from 'remcalc';
|
2017-09-20 12:30:53 +03:00
|
|
|
|
|
|
|
const Container = styled.div`
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
flex-wrap: nowrap;
|
|
|
|
justify-content: center;
|
|
|
|
align-content: center;
|
|
|
|
align-items: center;
|
2017-10-09 16:35:52 +03:00
|
|
|
min-height: ${remcalc(20)};
|
|
|
|
|
|
|
|
${isNot('inline')`
|
|
|
|
flex: 1 0 auto;
|
|
|
|
`} ${is('row')`
|
|
|
|
flex-direction: row;
|
|
|
|
`};
|
|
|
|
${is('row', 'inline')`
|
|
|
|
margin-left: ${remcalc(44)};
|
|
|
|
`};
|
2017-07-07 20:04:01 +03:00
|
|
|
`;
|
|
|
|
|
2017-09-20 12:30:53 +03:00
|
|
|
const Loader = styled(Widget)`
|
|
|
|
flex: 0 0 auto;
|
|
|
|
align-self: stretch;
|
2017-07-07 20:04:01 +03:00
|
|
|
`;
|
|
|
|
|
2017-09-20 12:30:53 +03:00
|
|
|
const Msg = P.extend`
|
|
|
|
flex: 0 0 auto;
|
|
|
|
align-self: stretch;
|
|
|
|
text-align: center;
|
|
|
|
margin-bottom: 0;
|
2017-10-09 16:35:52 +03:00
|
|
|
margin-left: ${remcalc(6)};
|
2017-07-07 20:04:01 +03:00
|
|
|
`;
|
|
|
|
|
2017-10-09 16:35:52 +03:00
|
|
|
export default ({ msg, row, inline }) => (
|
|
|
|
<Container row={row} inline={inline}>
|
2017-09-20 12:30:53 +03:00
|
|
|
<Loader />
|
|
|
|
<Msg>{msg || 'Loading...'}</Msg>
|
|
|
|
</Container>
|
2017-08-28 22:21:08 +03:00
|
|
|
);
|