UNPKG

@wix/design-system

Version:

@wix/design-system

148 lines (147 loc) 5.27 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireWildcard(require("react")); var _vaul = require("vaul"); var _DrawerSt = require("./Drawer.st.css.js"); var _propTypes = _interopRequireDefault(require("prop-types")); var _Drawer = require("./Drawer.constants"); var _ZIndex = require("../common/ZIndex"); var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/Drawer/Drawer.tsx"; function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } var Drawer = _ref => { var _snapPoints$; var { open, backdrop = true, renderBackdrop = true, resizable = true, margin = true, onClose, role = 'dialog', ariaLabelledBy, children, snapPoints, dismissible = true, dataHook, zIndex = _ZIndex.ZIndex.popover, scrollable = true, repositionInputs = true } = _ref; var [snap, setSnap] = (0, _react.useState)((_snapPoints$ = snapPoints == null ? void 0 : snapPoints[0]) !== null && _snapPoints$ !== void 0 ? _snapPoints$ : null); var snapProps = snapPoints != null && snapPoints.length ? { snapPoints, activeSnapPoint: snap, setActiveSnapPoint: setSnap, fadeFromIndex: 0 } : {}; return /*#__PURE__*/_react.default.createElement("div", { "data-hook": dataHook, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 40, columnNumber: 5 } }, /*#__PURE__*/_react.default.createElement(_vaul.Drawer.Root, (0, _extends2.default)({ open: open, onOpenChange: onClose, container: typeof window !== 'undefined' ? window.document.body : null, handleOnly: true, repositionInputs: repositionInputs }, snapProps, { __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 41, columnNumber: 7 } }), /*#__PURE__*/_react.default.createElement(_vaul.Drawer.Portal, { __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 49, columnNumber: 9 } }, renderBackdrop && /*#__PURE__*/_react.default.createElement(_vaul.Drawer.Overlay, { "data-hook": _Drawer.DATA_HOOKS.OVERLAY, className: (0, _DrawerSt.st)(_DrawerSt.classes.overlay, { backdrop }), style: { zIndex }, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 51, columnNumber: 13 } }), /*#__PURE__*/_react.default.createElement(_vaul.Drawer.Content, { "data-hook": _Drawer.DATA_HOOKS.CONTENT, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, role: role, className: (0, _DrawerSt.st)(_DrawerSt.classes.content, { margin }), onInteractOutside: dismissible ? undefined : e => e.preventDefault(), style: { zIndex }, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 59, columnNumber: 11 } }, /*#__PURE__*/_react.default.createElement(_vaul.Drawer.Title, { className: _DrawerSt.classes.title, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 71, columnNumber: 13 } }), resizable && /*#__PURE__*/_react.default.createElement(_vaul.Drawer.Handle, { className: _DrawerSt.classes.handle, "data-hook": _Drawer.DATA_HOOKS.HANDLE, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 73, columnNumber: 15 } }), scrollable ? /*#__PURE__*/_react.default.createElement("div", { className: (0, _DrawerSt.st)(_DrawerSt.classes.contentWrapper, { margin }), __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 79, columnNumber: 15 } }, children) : children)))); }; Drawer.displayName = 'Drawer'; Drawer.propTypes = { dataHook: _propTypes.default.string, open: _propTypes.default.bool.isRequired, onClose: _propTypes.default.func.isRequired, backdrop: _propTypes.default.bool, renderBackdrop: _propTypes.default.bool, resizable: _propTypes.default.bool, margin: _propTypes.default.bool, role: _propTypes.default.string, ariaLabelledBy: _propTypes.default.string, children: _propTypes.default.node.isRequired, snapPoints: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])), dismissible: _propTypes.default.bool, scrollable: _propTypes.default.bool, repositionInputs: _propTypes.default.bool }; var _default = exports.default = Drawer; //# sourceMappingURL=Drawer.js.map