34 lines
706 B
TypeScript
34 lines
706 B
TypeScript
import * as _ from 'lodash';
|
|
import * as React from 'react';
|
|
|
|
import { zIndex } from 'ts/style/z_index';
|
|
|
|
export interface OverlayProps {
|
|
children?: React.ReactNode;
|
|
style?: React.CSSProperties;
|
|
onClick?: () => void;
|
|
}
|
|
|
|
const style: React.CSSProperties = {
|
|
position: 'fixed',
|
|
top: 0,
|
|
right: 0,
|
|
bottom: 0,
|
|
left: 0,
|
|
zIndex: zIndex.overlay,
|
|
backgroundColor: 'rgba(0, 0, 0, 0.6)',
|
|
};
|
|
|
|
export const Overlay: React.StatelessComponent = (props: OverlayProps) => (
|
|
<div style={{ ...style, ...props.style }} onClick={props.onClick}>
|
|
{props.children}
|
|
</div>
|
|
);
|
|
|
|
Overlay.defaultProps = {
|
|
style: {},
|
|
onClick: _.noop,
|
|
};
|
|
|
|
Overlay.displayName = 'Overlay';
|