@sushanthkille/backdrop-easy
Version:
Provider and hook for Material UIbackdrop
55 lines (46 loc) • 1.56 kB
JavaScript
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