@zohodesk/dot
Version:
In this Library, we Provide Some Basic Components to Build Your Application
404 lines (340 loc) • 19.5 kB
JavaScript
"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.Header = exports.Footer = exports.Content = void 0;
var _react = _interopRequireDefault(require("react"));
var _defaultProps = require("./props/defaultProps");
var _propTypes = require("./props/propTypes");
var _FreezeLayer = _interopRequireDefault(require("../FreezeLayer/FreezeLayer"));
var _Layout = require("@zohodesk/components/es/Layout");
var _Card = require("@zohodesk/components/es/Card");
var _FormAction = _interopRequireDefault(require("../FormAction/FormAction"));
var _VelocityAnimationGroup = _interopRequireDefault(require("@zohodesk/components/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup"));
var _CustomResponsive = require("@zohodesk/components/es/Responsive/CustomResponsive");
var _Heading = _interopRequireDefault(require("@zohodesk/components/es/Heading/Heading"));
var _IconButton = _interopRequireDefault(require("../IconButton/IconButton"));
var _icons = require("@zohodesk/icons");
var _ZindexProvider = require("@zohodesk/components/es/Provider/ZindexProvider");
var _DrawerModule = _interopRequireDefault(require("./Drawer.module.css"));
var _FocusScope = _interopRequireDefault(require("@zohodesk/a11y/es/FocusScope/FocusScope"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
var Header = /*#__PURE__*/function (_React$Component) {
_inherits(Header, _React$Component);
var _super = _createSuper(Header);
function Header() {
_classCallCheck(this, Header);
return _super.apply(this, arguments);
}
_createClass(Header, [{
key: "render",
value: function render() {
var _this$props = this.props,
title = _this$props.title,
onClose = _this$props.onClose,
children = _this$props.children,
className = _this$props.className,
paddingSize = _this$props.paddingSize,
closeTitle = _this$props.closeTitle,
iconName = _this$props.iconName,
iconSize = _this$props.iconSize,
onIconClick = _this$props.onIconClick,
isIconBold = _this$props.isIconBold,
dataId = _this$props.dataId,
flexible = _this$props.flexible,
getChildren = _this$props.getChildren,
iconTitle = _this$props.iconTitle,
isBoxIcon = _this$props.isBoxIcon,
getTitleChildren = _this$props.getTitleChildren;
return /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, {
customClass: "".concat(_DrawerModule["default"].header, " ").concat(_DrawerModule["default"]["".concat(paddingSize, "HeaderPadding")], " ").concat(className ? className : ''),
dataId: dataId
}, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
alignBox: "row",
align: "vertical",
isCover: false,
className: _DrawerModule["default"].subheader
}, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
flexible: true,
shrink: true
}, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
alignBox: "row",
isCover: false,
align: "vertical"
}, iconName ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
className: _DrawerModule["default"].iconWrapper
}, isBoxIcon ? /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
iconName: iconName,
iconSize: iconSize,
onClick: onIconClick,
hoverType: "border",
isBold: isIconBold,
title: iconTitle
}) : /*#__PURE__*/_react["default"].createElement(_icons.Icon, {
name: iconName,
size: iconSize,
onClick: onIconClick,
title: iconTitle
})) : null, title || getTitleChildren ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
flexible: flexible,
shrink: true
}, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
alignBox: "row",
align: "vertical"
}, title ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
"data-title": title,
shrink: true
}, /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
title: title,
className: _DrawerModule["default"].title
})) : null, getTitleChildren ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, null, getTitleChildren()) : null)) : null, children ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, null, children) : null)), onClose ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, null, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
onClick: onClose,
dataId: "closeButton",
title: closeTitle,
iconName: "ZD-cross",
iconSize: "11",
a11y: {
ariaLabel: 'Close'
}
})) : null), getChildren ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
isCover: false
}, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
flexible: true
}, getChildren())) : null);
}
}]);
return Header;
}(_react["default"].Component);
exports.Header = Header;
Header.propTypes = _propTypes.Header_propTypes;
Header.defaultProps = _defaultProps.Header_defaultProps;
var Content = /*#__PURE__*/function (_React$Component2) {
_inherits(Content, _React$Component2);
var _super2 = _createSuper(Content);
function Content() {
_classCallCheck(this, Content);
return _super2.apply(this, arguments);
}
_createClass(Content, [{
key: "render",
value: function render() {
var _this$props2 = this.props,
children = _this$props2.children,
className = _this$props2.className,
paddingSize = _this$props2.paddingSize,
eleRef = _this$props2.eleRef;
return /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
scroll: "vertical",
isScrollAttribute: true,
customClass: "".concat(className ? className : '', " ").concat(paddingSize ? _DrawerModule["default"]["".concat(paddingSize, "ContentPadding")] : ''),
eleRef: eleRef
}, children);
}
}]);
return Content;
}(_react["default"].Component);
exports.Content = Content;
Content.propTypes = _propTypes.Content_propTypes;
var Footer = /*#__PURE__*/function (_React$Component3) {
_inherits(Footer, _React$Component3);
var _super3 = _createSuper(Footer);
function Footer() {
_classCallCheck(this, Footer);
return _super3.apply(this, arguments);
}
_createClass(Footer, [{
key: "render",
value: function render() {
var _this$props3 = this.props,
paddingLeftSize = _this$props3.paddingLeftSize,
paddingRightClass = _this$props3.paddingRightClass,
children = _this$props3.children,
size = _this$props3.size;
return /*#__PURE__*/_react["default"].createElement(_FormAction["default"], {
size: size,
paddingLeftSize: paddingLeftSize,
paddingRightClass: paddingRightClass
}, children);
}
}]);
return Footer;
}(_react["default"].Component);
exports.Footer = Footer;
Footer.propTypes = _propTypes.Footer_propTypes;
Footer.defaultProps = _defaultProps.Footer_defaultProps;
var Drawer = /*#__PURE__*/function (_React$Component4) {
_inherits(Drawer, _React$Component4);
var _super4 = _createSuper(Drawer);
function Drawer(props) {
var _this;
_classCallCheck(this, Drawer);
_this = _super4.call(this, props);
_this.drawers = _this.drawers.bind(_assertThisInitialized(_this));
_this.responsiveFunc = _this.responsiveFunc.bind(_assertThisInitialized(_this));
_this.getNextIndex = (0, _ZindexProvider.getZIndex)(_assertThisInitialized(_this));
_this.createRef = /*#__PURE__*/_react["default"].createRef();
return _this;
}
_createClass(Drawer, [{
key: "drawers",
value: function drawers(uptoTablet, styleByResolutions) {
var _this$props4 = this.props,
children = _this$props4.children,
size = _this$props4.size,
paddingSize = _this$props4.paddingSize,
subDrawerActive = _this$props4.subDrawerActive,
subDrawerChildren = _this$props4.subDrawerChildren,
onBodyClick = _this$props4.onBodyClick,
onClose = _this$props4.onClose,
needFocusScope = _this$props4.needFocusScope,
customProps = _this$props4.customProps,
a11y = _this$props4.a11y,
customDrawerClass = _this$props4.customDrawerClass;
var _customProps$focusSco = customProps.focusScopeProps,
focusScopeProps = _customProps$focusSco === void 0 ? {} : _customProps$focusSco;
var _focusScopeProps$need = focusScopeProps.needAutoFocus,
needAutoFocus = _focusScopeProps$need === void 0 ? true : _focusScopeProps$need,
_focusScopeProps$need2 = focusScopeProps.needRestoreFocus,
needRestoreFocus = _focusScopeProps$need2 === void 0 ? true : _focusScopeProps$need2,
_focusScopeProps$need3 = focusScopeProps.needListNavigation,
needListNavigation = _focusScopeProps$need3 === void 0 ? false : _focusScopeProps$need3,
_focusScopeProps$need4 = focusScopeProps.needFocusLoop,
needFocusLoop = _focusScopeProps$need4 === void 0 ? true : _focusScopeProps$need4,
_focusScopeProps$need5 = focusScopeProps.needEnterAction,
needEnterAction = _focusScopeProps$need5 === void 0 ? true : _focusScopeProps$need5;
var childrenWithProps = _react["default"].Children.map(children, function (child) {
if (child.type === Header || child.type === Footer || child.type === Content) {
var _ref = child.props || {},
childPaddingSize = _ref.paddingSize;
return paddingSize || childPaddingSize ? /*#__PURE__*/_react["default"].cloneElement(child, {
paddingSize: childPaddingSize ? childPaddingSize : paddingSize
}) : child;
}
return child;
});
var content = /*#__PURE__*/_react["default"].createElement(_Layout.Box, _extends({
className: "".concat(_DrawerModule["default"].container, " ").concat(_DrawerModule["default"].columns, " ").concat(_DrawerModule["default"].drawerModal, " ").concat(uptoTablet ? _DrawerModule["default"].mbleSize : _DrawerModule["default"][size], " ").concat(customDrawerClass),
"data-a11y-need-focus-style": "false",
tabindex: -1,
eleRef: this.createRef
}, a11y), /*#__PURE__*/_react["default"].createElement(_Card.Card, {
onClick: function onClick(e) {
e && e.stopPropagation && e.stopPropagation();
onBodyClick(e);
}
}, childrenWithProps));
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, subDrawerChildren ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
className: _DrawerModule["default"].columns
}, /*#__PURE__*/_react["default"].createElement(_VelocityAnimationGroup["default"], {
name: "slideRight",
isActive: subDrawerActive
}, /*#__PURE__*/_react["default"].createElement(_CustomResponsive.ResponsiveSender, null, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
className: styleByResolutions,
onClick: function onClick(e) {
e && e.stopPropagation && e.stopPropagation();
}
}, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
flexible: true
}, subDrawerChildren))))) : null, needFocusScope ? /*#__PURE__*/_react["default"].createElement(_FocusScope["default"], {
elementRef: this.createRef,
needAutoFocus: needAutoFocus,
needFocusLoop: needFocusLoop,
needRestoreFocus: needRestoreFocus,
needListNavigation: needListNavigation,
onClose: onClose,
needEnterAction: needEnterAction
}, content) : content);
}
}, {
key: "responsiveFunc",
value: function responsiveFunc(_ref2) {
var mediaQueryOR = _ref2.mediaQueryOR;
return {
uptoTablet: mediaQueryOR([{
maxWidth: 768
}])
};
}
}, {
key: "render",
value: function render() {
var _this2 = this;
var _this$props5 = this.props,
needFreeze = _this$props5.needFreeze,
palette = _this$props5.palette,
isActive = _this$props5.isActive,
onClose = _this$props5.onClose,
forwardRef = _this$props5.forwardRef,
responsiveId = _this$props5.responsiveId,
subDrawerSize = _this$props5.subDrawerSize,
subDrawerClass = _this$props5.subDrawerClass,
subDrawerActive = _this$props5.subDrawerActive,
customClass = _this$props5.customClass,
needAutoZindex = _this$props5.needAutoZindex,
innerPortalName = _this$props5.innerPortalName,
onAnimateEnter = _this$props5.onAnimateEnter,
postAnimateStyles = _this$props5.postAnimateStyles,
onAnimateExit = _this$props5.onAnimateExit;
var zindexNumber = isActive ? this.getNextIndex() : '';
return /*#__PURE__*/_react["default"].createElement(_CustomResponsive.ResponsiveReceiver, {
query: this.responsiveFunc,
responsiveId: responsiveId
}, function (_ref3) {
var uptoTablet = _ref3.uptoTablet;
var styleByResolutions = "".concat(subDrawerClass, " ").concat(_DrawerModule["default"].secondDrawer, " ").concat(uptoTablet ? "".concat(_DrawerModule["default"].secondMobDrawer, " ").concat(_DrawerModule["default"].mbleSize) : "".concat(_DrawerModule["default"][subDrawerSize]), " ");
return needFreeze ? /*#__PURE__*/_react["default"].createElement(_FreezeLayer["default"], {
onClick: onClose,
isActive: isActive,
animationName: "fade",
childAnimationName: "slideRight",
palette: palette,
forwardRef: forwardRef,
customClass: customClass,
needAutoZindex: needAutoZindex,
onAnimateEnter: onAnimateEnter,
postAnimateStyles: postAnimateStyles,
onAnimateExit: onAnimateExit
}, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
flexible: true
}, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
alignBox: "row"
}, /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, uptoTablet ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
flexible: true
}) : null, /*#__PURE__*/_react["default"].createElement(_CustomResponsive.ResponsiveSender, null, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
flexible: true,
className: uptoTablet ? _DrawerModule["default"].mobModal : _DrawerModule["default"].drawerModal
}, !subDrawerActive && innerPortalName ? /*#__PURE__*/_react["default"].createElement("div", {
"data-portal": innerPortalName
}) : null)), _this2.drawers(uptoTablet, styleByResolutions))))) : /*#__PURE__*/_react["default"].createElement(_VelocityAnimationGroup["default"], {
isActive: isActive,
name: "slideRight"
}, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
align: "right",
alignBox: "row",
scroll: "none",
eleRef: forwardRef,
className: "".concat(_DrawerModule["default"].isOverlay, " ").concat(customClass),
style: needAutoZindex ? {
zIndex: "".concat(zindexNumber)
} : {}
}, _this2.drawers(uptoTablet, styleByResolutions)));
});
}
}]);
return Drawer;
}(_react["default"].Component);
exports["default"] = Drawer;
Drawer.propTypes = _propTypes.Drawer_propTypes;
Drawer.defaultProps = _defaultProps.Drawer_defaultProps;