UNPKG

@sushanthkille/backdrop-easy

Version:

Provider and hook for Material UIbackdrop

55 lines (46 loc) 1.56 kB
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); var Backdrop = _interopDefault(require('@material-ui/core/Backdrop')); var styles = require('@material-ui/core/styles'); var BackdropContext = React__default.createContext('backdrop-context'); var useStyles = styles.makeStyles(function (theme) { return { backdropLight: { zIndex: theme.zIndex.drawer + 1, color: '#000' }, backdropDark: { zIndex: theme.zIndex.drawer + 1, color: '#fff' } }; }); var BackdropProvider = function BackdropProvider(_ref) { var theme = _ref.theme, progress = _ref.progress, children = _ref.children; var _useState = React.useState(false), open = _useState[0], setOpen = _useState[1]; var classes = useStyles(); var openBackdrop = function openBackdrop() { setOpen(true); }; var closeBackdrop = function closeBackdrop() { setOpen(false); }; return /*#__PURE__*/React__default.createElement(BackdropContext.Provider, { value: [openBackdrop, closeBackdrop] }, children, /*#__PURE__*/React__default.createElement(Backdrop, { className: theme = classes.backdropLight , open: open, onClick: closeBackdrop }, progress)); }; var useBackdrop = function useBackdrop() { return React.useContext(BackdropContext); }; exports.BackdropProvider = BackdropProvider; exports.useBackdrop = useBackdrop; //# sourceMappingURL=index.js.map