UNPKG

@zohodesk/dot

Version:

In this Library, we Provide Some Basic Components to Build Your Application

246 lines (213 loc) 13.6 kB
"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"] = ToastMessage; var _react = _interopRequireWildcard(require("react")); var _defaultProps = require("./props/defaultProps"); var _propTypes = require("./props/propTypes"); var _Common = require("@zohodesk/components/es/utils/Common"); var _icons = require("@zohodesk/icons"); var _Layout = require("@zohodesk/components/es/Layout"); var _ZindexProvider = require("@zohodesk/components/es/Provider/ZindexProvider"); var _IdProvider = require("@zohodesk/components/es/Provider/IdProvider"); var _AutoClose = _interopRequireDefault(require("../actions/AutoClose")); var _semanticButtonModule = _interopRequireDefault(require("@zohodesk/components/es/semantic/Button/semanticButton.module.css")); var _ToastMessageModule = _interopRequireDefault(require("./ToastMessage.module.css")); function _interopRequireDefault(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 _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(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 = {}; 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; } 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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function ToastMessageUI(props) { var _useState = (0, _react.useState)(props.messageState), _useState2 = _slicedToArray(_useState, 2), messageState = _useState2[0], setMessageState = _useState2[1]; var type = props.type, subject = props.subject, info = props.info, submitText = props.submitText, cancelText = props.cancelText, iconName = props.iconName, iconSize = props.iconSize, submitType = props.submitType, isIconMid = props.isIconMid, needClose = props.needClose, iconPalette = props.iconPalette, isMore = props.isMore, message = props.message, isAnimate = props.isAnimate, getLeftContainer = props.getLeftContainer, getInnerBottomContainer = props.getInnerBottomContainer, getBottomContainer = props.getBottomContainer, getSubmitContainer = props.getSubmitContainer, onSubmit = props.onSubmit, onCancel = props.onCancel, dataId = props.dataId, dataSelectorId = props.dataSelectorId, isClose = props.isClose, onClose = props.onClose, needAutoZindex = props.needAutoZindex, a11y = props.a11y; function onClickSubmit(e) { onSubmit && onSubmit(); onClose && onClose(); } function onClickCancel(e) { onCancel && onCancel(); onClose && onClose(); } function changeMessageState(e) { (0, _Common.cancelBubblingEffect)(e); setMessageState(!messageState); } var animateClass = isClose ? _ToastMessageModule["default"].rightanimate : _ToastMessageModule["default"].leftanimate; var animateRemoveClass = isClose ? _ToastMessageModule["default"].rightanimate : _ToastMessageModule["default"].leftnoanimate; var channelIcon = /*#__PURE__*/_react["default"].createElement(_icons.Icon, { iconClass: _ToastMessageModule["default"][iconPalette], name: iconName, size: iconSize }); var getNextIndex = (0, _ZindexProvider.useZIndex)(); var Zindex = isAnimate ? getNextIndex() : null, getNextId = (0, _IdProvider.useUniqueId)(), titleId = getNextId(), infoId = getNextId(); var _a11y$role = a11y.role, role = _a11y$role === void 0 ? 'alert' : _a11y$role, _a11y$ariaLive = a11y.ariaLive, ariaLive = _a11y$ariaLive === void 0 ? 'assertive' : _a11y$ariaLive, _a11y$ariaAtomic = a11y.ariaAtomic, ariaAtomic = _a11y$ariaAtomic === void 0 ? true : _a11y$ariaAtomic, _a11y$ariaDescribedby = a11y.ariaDescribedby, ariaDescribedby = _a11y$ariaDescribedby === void 0 ? infoId : _a11y$ariaDescribedby, _a11y$ariaLabelledby = a11y.ariaLabelledby, ariaLabelledby = _a11y$ariaLabelledby === void 0 ? titleId : _a11y$ariaLabelledby; return /*#__PURE__*/_react["default"].createElement(_Layout.Container, { className: "".concat(_ToastMessageModule["default"].container, " ").concat(isAnimate ? animateClass : animateRemoveClass, " ").concat(_ToastMessageModule["default"]["alert".concat(type)] ? _ToastMessageModule["default"]["alert".concat(type)] : ''), isCover: false, dataId: dataId, style: needAutoZindex && isAnimate ? { zIndex: "".concat(Zindex) } : {}, role: role, "aria-live": ariaLive, "aria-atomic": ariaAtomic, "aria-describedby": ariaDescribedby, "aria-labelledby": ariaLabelledby, dataSelectorId: dataSelectorId }, type !== 'custom' ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: _ToastMessageModule["default"].alertifychild, flexible: true }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, { alignBox: "row", className: _ToastMessageModule["default"].alertifybanner }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: _ToastMessageModule["default"].alertleft, flexible: true }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, { align: isIconMid ? 'vertical' : '', alignBox: "row" }, type != 'success' && !getLeftContainer ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: "".concat(_ToastMessageModule["default"].alertico) }, /*#__PURE__*/_react["default"].createElement("span", null, channelIcon)) : getLeftContainer ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: "".concat(_ToastMessageModule["default"].alertico) }, getLeftContainer()) : null, /*#__PURE__*/_react["default"].createElement(_Layout.Box, { flexible: true }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, { align: "vertical", alignBox: "row", isCover: false }, type == 'success' ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: _ToastMessageModule["default"].alertTitleLeft }, channelIcon) : null, /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: _ToastMessageModule["default"].alertTitle, flexible: true, "data-title": subject, id: titleId }, subject)), info ? /*#__PURE__*/_react["default"].createElement("p", { className: _ToastMessageModule["default"].alertMessage, "data-title": info, id: infoId }, info) : null, getInnerBottomContainer ? /*#__PURE__*/_react["default"].createElement("div", null, getInnerBottomContainer()) : null), type == 'information' && needClose ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: "".concat(_semanticButtonModule["default"].buttonReset, " ").concat(_ToastMessageModule["default"].closeIconPrimary), onClick: onClose, dataId: "".concat(dataId, "_close"), tagName: "button" }, /*#__PURE__*/_react["default"].createElement(_icons.Icon, { isBold: true, name: "ZD-close", size: "18" })) : null)), type != 'information' ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: _ToastMessageModule["default"].alertright }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, { className: _ToastMessageModule["default"].alerttab }, needClose ? /*#__PURE__*/_react["default"].createElement("button", { className: "".concat(_semanticButtonModule["default"].buttonReset, " ").concat(_ToastMessageModule["default"].closeIcon), onClick: onClose, "data-id": "".concat(dataId, "_closeRight"), "data-test-id": "".concat(dataId, "_closeRight") }, /*#__PURE__*/_react["default"].createElement(_icons.Icon, { name: "ZD-close", size: "18" })) : null, submitText ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: "".concat(getSubmitContainer ? _ToastMessageModule["default"].sumbitBorder : cancelText ? _ToastMessageModule["default"].notSolo : _ToastMessageModule["default"].mainbutton, " ").concat(getSubmitContainer ? '' : _ToastMessageModule["default"][submitType], " "), flexible: true, onClick: onClickSubmit, dataId: "".concat(dataId, "_submitButton") }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, { align: "vertical", alignBox: "row" }, getSubmitContainer ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { flexible: true }, getSubmitContainer()) : /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: "".concat(_semanticButtonModule["default"].buttonReset, " ").concat(_ToastMessageModule["default"].buttonText), flexible: true, tagName: "button" }, submitText))) : null, cancelText ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: "".concat(_ToastMessageModule["default"].cancelButton), flexible: true, onClick: onClose, dataId: "".concat(dataId, "_cancelButton") }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, { align: "vertical", alignBox: "row" }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: "".concat(_semanticButtonModule["default"].buttonReset, " ").concat(_ToastMessageModule["default"].buttonText), flexible: true, onClick: onClickCancel, dataId: "".concat(dataId, "_cancelButtonInner"), tagName: "button" }, cancelText), isMore ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: "".concat(_semanticButtonModule["default"].buttonReset, " ").concat(_ToastMessageModule["default"].dropdown), onClick: changeMessageState, dataId: "".concat(dataId, "_moreIcon"), tagName: "button", "aria-expanded": messageState ? true : false, "aria-haspopup": true }, /*#__PURE__*/_react["default"].createElement(_icons.Icon, { name: "ZD-down", size: "7" })) : null)) : null)) : null)) : null, isMore ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: "".concat(_ToastMessageModule["default"].message, " ").concat(messageState ? '' : _ToastMessageModule["default"].messageOff), tagName: "p" }, message) : null, getBottomContainer ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, null, getBottomContainer()) : null); } function ToastMessage(props) { return /*#__PURE__*/_react["default"].createElement(_AutoClose["default"], _extends({}, props, { Element: ToastMessageUI })); } ToastMessage.propTypes = _propTypes.propTypes; ToastMessage.defaultProps = _defaultProps.defaultProps; // if (__DOCS__) { // ToastMessage.docs = { // componentGroup: 'Atom' // }; // }