payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
160 lines (159 loc) • 14.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
Drawer: function() {
return Drawer;
},
DrawerToggler: function() {
return DrawerToggler;
},
formatDrawerSlug: function() {
return formatDrawerSlug;
}
});
const _modal = require("@faceless-ui/modal");
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
const _reacti18next = require("react-i18next");
const _X = /*#__PURE__*/ _interop_require_default(require("../../icons/X"));
const _EditDepth = require("../../utilities/EditDepth");
const _Gutter = require("../Gutter");
require("./index.scss");
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
const baseClass = 'drawer';
const zBase = 100;
const formatDrawerSlug = ({ depth, slug })=>`drawer_${depth}_${slug}`;
const DrawerToggler = ({ children, className, disabled, onClick, slug, ...rest })=>{
const { openModal } = (0, _modal.useModal)();
const handleClick = (0, _react.useCallback)((e)=>{
openModal(slug);
if (typeof onClick === 'function') onClick(e);
}, [
openModal,
slug,
onClick
]);
return /*#__PURE__*/ _react.default.createElement("button", {
className: className,
disabled: disabled,
onClick: handleClick,
type: "button",
...rest
}, children);
};
const Drawer = ({ children, className, gutter = true, header, hoverTitle, slug, title })=>{
const { t } = (0, _reacti18next.useTranslation)('general');
const { closeModal, modalState } = (0, _modal.useModal)();
const drawerDepth = (0, _EditDepth.useEditDepth)();
const [isOpen, setIsOpen] = (0, _react.useState)(false);
const [animateIn, setAnimateIn] = (0, _react.useState)(false);
(0, _react.useEffect)(()=>{
setIsOpen(modalState[slug]?.isOpen);
}, [
slug,
modalState
]);
(0, _react.useEffect)(()=>{
setAnimateIn(isOpen);
}, [
isOpen
]);
if (isOpen) {
// IMPORTANT: do not render the drawer until it is explicitly open, this is to avoid large html trees especially when nesting drawers
return /*#__PURE__*/ _react.default.createElement(_modal.Modal, {
className: [
className,
baseClass,
animateIn && `${baseClass}--is-open`,
drawerDepth > 1 && `${baseClass}--nested`
].filter(Boolean).join(' '),
slug: slug,
style: {
zIndex: zBase + drawerDepth
}
}, (!drawerDepth || drawerDepth === 1) && /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__blur-bg`
}), /*#__PURE__*/ _react.default.createElement("button", {
"aria-label": t('close'),
className: `${baseClass}__close`,
id: `close-drawer__${slug}`,
onClick: ()=>closeModal(slug),
type: "button"
}), /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__content`
}, /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__blur-bg-content`
}), /*#__PURE__*/ _react.default.createElement(_Gutter.Gutter, {
className: `${baseClass}__content-children`,
left: gutter,
right: gutter
}, /*#__PURE__*/ _react.default.createElement(_EditDepth.EditDepthContext.Provider, {
value: drawerDepth + 1
}, header && header, header === undefined && /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__header`
}, /*#__PURE__*/ _react.default.createElement("h2", {
className: `${baseClass}__header__title`,
title: hoverTitle ? title : null
}, title), /*#__PURE__*/ _react.default.createElement("button", {
"aria-label": t('close'),
className: `${baseClass}__header__close`,
id: `close-drawer__${slug}`,
onClick: ()=>closeModal(slug),
type: "button"
}, /*#__PURE__*/ _react.default.createElement(_X.default, null))), children))));
}
return null;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0RyYXdlci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kYWwsIHVzZU1vZGFsIH0gZnJvbSAnQGZhY2VsZXNzLXVpL21vZGFsJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB0eXBlIHsgUHJvcHMsIFRvZ2dsZXJQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBYIGZyb20gJy4uLy4uL2ljb25zL1gnXG5pbXBvcnQgeyBFZGl0RGVwdGhDb250ZXh0LCB1c2VFZGl0RGVwdGggfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvRWRpdERlcHRoJ1xuaW1wb3J0IHsgR3V0dGVyIH0gZnJvbSAnLi4vR3V0dGVyJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdkcmF3ZXInXG5jb25zdCB6QmFzZSA9IDEwMFxuXG5leHBvcnQgY29uc3QgZm9ybWF0RHJhd2VyU2x1ZyA9ICh7IGRlcHRoLCBzbHVnIH06IHsgZGVwdGg6IG51bWJlcjsgc2x1Zzogc3RyaW5nIH0pOiBzdHJpbmcgPT5cbiAgYGRyYXdlcl8ke2RlcHRofV8ke3NsdWd9YFxuXG5leHBvcnQgY29uc3QgRHJhd2VyVG9nZ2xlcjogUmVhY3QuRkM8VG9nZ2xlclByb3BzPiA9ICh7XG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG4gIGRpc2FibGVkLFxuICBvbkNsaWNrLFxuICBzbHVnLFxuICAuLi5yZXN0XG59KSA9PiB7XG4gIGNvbnN0IHsgb3Blbk1vZGFsIH0gPSB1c2VNb2RhbCgpXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZSkgPT4ge1xuICAgICAgb3Blbk1vZGFsKHNsdWcpXG4gICAgICBpZiAodHlwZW9mIG9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIG9uQ2xpY2soZSlcbiAgICB9LFxuICAgIFtvcGVuTW9kYWwsIHNsdWcsIG9uQ2xpY2tdLFxuICApXG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9e2hhbmRsZUNsaWNrfSB0eXBlPVwiYnV0dG9uXCIgey4uLnJlc3R9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBEcmF3ZXI6IFJlYWN0LkZDPFByb3BzPiA9ICh7XG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG4gIGd1dHRlciA9IHRydWUsXG4gIGhlYWRlcixcbiAgaG92ZXJUaXRsZSxcbiAgc2x1ZyxcbiAgdGl0bGUsXG59KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuICBjb25zdCB7IGNsb3NlTW9kYWwsIG1vZGFsU3RhdGUgfSA9IHVzZU1vZGFsKClcbiAgY29uc3QgZHJhd2VyRGVwdGggPSB1c2VFZGl0RGVwdGgoKVxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFthbmltYXRlSW4sIHNldEFuaW1hdGVJbl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldElzT3Blbihtb2RhbFN0YXRlW3NsdWddPy5pc09wZW4pXG4gIH0sIFtzbHVnLCBtb2RhbFN0YXRlXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEFuaW1hdGVJbihpc09wZW4pXG4gIH0sIFtpc09wZW5dKVxuXG4gIGlmIChpc09wZW4pIHtcbiAgICAvLyBJTVBPUlRBTlQ6IGRvIG5vdCByZW5kZXIgdGhlIGRyYXdlciB1bnRpbCBpdCBpcyBleHBsaWNpdGx5IG9wZW4sIHRoaXMgaXMgdG8gYXZvaWQgbGFyZ2UgaHRtbCB0cmVlcyBlc3BlY2lhbGx5IHdoZW4gbmVzdGluZyBkcmF3ZXJzXG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1vZGFsXG4gICAgICAgIGNsYXNzTmFtZT17W1xuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBiYXNlQ2xhc3MsXG4gICAgICAgICAgYW5pbWF0ZUluICYmIGAke2Jhc2VDbGFzc30tLWlzLW9wZW5gLFxuICAgICAgICAgIGRyYXdlckRlcHRoID4gMSAmJiBgJHtiYXNlQ2xhc3N9LS1uZXN0ZWRgLFxuICAgICAgICBdXG4gICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgIC5qb2luKCcgJyl9XG4gICAgICAgIHNsdWc9e3NsdWd9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgekluZGV4OiB6QmFzZSArIGRyYXdlckRlcHRoLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7KCFkcmF3ZXJEZXB0aCB8fCBkcmF3ZXJEZXB0aCA9PT0gMSkgJiYgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2JsdXItYmdgfSAvPn1cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ2Nsb3NlJyl9XG4gICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jbG9zZWB9XG4gICAgICAgICAgaWQ9e2BjbG9zZS1kcmF3ZXJfXyR7c2x1Z31gfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNsb3NlTW9kYWwoc2x1Zyl9XG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb250ZW50YH0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2JsdXItYmctY29udGVudGB9IC8+XG4gICAgICAgICAgPEd1dHRlciBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NvbnRlbnQtY2hpbGRyZW5gfSBsZWZ0PXtndXR0ZXJ9IHJpZ2h0PXtndXR0ZXJ9PlxuICAgICAgICAgICAgPEVkaXREZXB0aENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2RyYXdlckRlcHRoICsgMX0+XG4gICAgICAgICAgICAgIHtoZWFkZXIgJiYgaGVhZGVyfVxuICAgICAgICAgICAgICB7aGVhZGVyID09PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXJgfT5cbiAgICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2hlYWRlcl9fdGl0bGVgfSB0aXRsZT17aG92ZXJUaXRsZSA/IHRpdGxlIDogbnVsbH0+XG4gICAgICAgICAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ2Nsb3NlJyl9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyX19jbG9zZWB9XG4gICAgICAgICAgICAgICAgICAgIGlkPXtgY2xvc2UtZHJhd2VyX18ke3NsdWd9YH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY2xvc2VNb2RhbChzbHVnKX1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxYIC8+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9FZGl0RGVwdGhDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICAgIDwvR3V0dGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvTW9kYWw+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdLCJuYW1lcyI6WyJEcmF3ZXIiLCJEcmF3ZXJUb2dnbGVyIiwiZm9ybWF0RHJhd2VyU2x1ZyIsImJhc2VDbGFzcyIsInpCYXNlIiwiZGVwdGgiLCJzbHVnIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJkaXNhYmxlZCIsIm9uQ2xpY2siLCJyZXN0Iiwib3Blbk1vZGFsIiwidXNlTW9kYWwiLCJoYW5kbGVDbGljayIsInVzZUNhbGxiYWNrIiwiZSIsImJ1dHRvbiIsInR5cGUiLCJndXR0ZXIiLCJoZWFkZXIiLCJob3ZlclRpdGxlIiwidGl0bGUiLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJjbG9zZU1vZGFsIiwibW9kYWxTdGF0ZSIsImRyYXdlckRlcHRoIiwidXNlRWRpdERlcHRoIiwiaXNPcGVuIiwic2V0SXNPcGVuIiwidXNlU3RhdGUiLCJhbmltYXRlSW4iLCJzZXRBbmltYXRlSW4iLCJ1c2VFZmZlY3QiLCJNb2RhbCIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwic3R5bGUiLCJ6SW5kZXgiLCJkaXYiLCJhcmlhLWxhYmVsIiwiaWQiLCJHdXR0ZXIiLCJsZWZ0IiwicmlnaHQiLCJFZGl0RGVwdGhDb250ZXh0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImgyIiwiWCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUEwQ2FBLE1BQU07ZUFBTkE7O0lBekJBQyxhQUFhO2VBQWJBOztJQUhBQyxnQkFBZ0I7ZUFBaEJBOzs7dUJBZG1COytEQUN3Qjs4QkFDekI7MERBSWpCOzJCQUNpQzt3QkFDeEI7UUFDaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUMsWUFBWTtBQUNsQixNQUFNQyxRQUFRO0FBRVAsTUFBTUYsbUJBQW1CLENBQUMsRUFBRUcsS0FBSyxFQUFFQyxJQUFJLEVBQW1DLEdBQy9FLENBQUMsT0FBTyxFQUFFRCxNQUFNLENB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