@zohodesk/dot
Version:
In this Library, we Provide Some Basic Components to Build Your Application
246 lines (213 loc) • 13.7 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"] = 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/lib/Layout");
var _ZindexProvider = require("@zohodesk/components/lib/Provider/ZindexProvider");
var _IdProvider = require("@zohodesk/components/lib/Provider/IdProvider");
var _AutoClose = _interopRequireDefault(require("../actions/AutoClose"));
var _semanticButtonModule = _interopRequireDefault(require("@zohodesk/components/lib/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'
// };
// }