UNPKG

@zohodesk/dot

Version:

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

187 lines (168 loc) 7.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = AlertLookup; var _react = _interopRequireDefault(require("react")); var _defaultProps = require("./props/defaultProps"); var _propTypes = require("./props/propTypes"); var _IdProvider = require("@zohodesk/components/es/Provider/IdProvider"); var _Button = _interopRequireDefault(require("@zohodesk/components/es/v1/Button/Button")); var _Layout = require("@zohodesk/components/es/v1/Layout"); var _Lookup = _interopRequireDefault(require("../../lookup/Lookup/Lookup")); var _AlertHeader = _interopRequireDefault(require("../AlertHeader/AlertHeader")); var _Section = _interopRequireDefault(require("../../lookup/Section/Section")); var _FormAction = _interopRequireDefault(require("../../FormAction/FormAction")); var _AlertLookupNewModule = _interopRequireDefault(require("../../../version2/lookup/AlertLookup/AlertLookupNew.module.css")); 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); } var buttonPaletteObject = { success: { buttonPalette: 'successFilled' }, error: { buttonPalette: 'dangerFilled' }, danger: { buttonPalette: 'dangerFilled' }, warning: { buttonPalette: 'dangerFilled' }, info: { buttonPalette: 'primaryFilled' }, notification: { buttonPalette: 'primaryFilled' } }; function AlertLookup(props) { var getAriaId = (0, _IdProvider.useUniqueId)(); var isActive = props.isActive, size = props.size, _props$type = props.type, type = _props$type === void 0 ? 'danger' : _props$type, title = props.title, message = props.message, confirmationMessage = props.confirmationMessage, submitText = props.submitText, cancelText = props.cancelText, onSubmitClick = props.onSubmitClick, onCancelClick = props.onCancelClick, children = props.children, forwardRef = props.forwardRef, onClose = props.onClose, headerChildren = props.headerChildren, wrapHeader = props.wrapHeader, dataId = props.dataId, onLookupClick = props.onLookupClick, _props$customClass = props.customClass, customClass = _props$customClass === void 0 ? {} : _props$customClass, needIcon = props.needIcon, a11y = props.a11y, customProps = props.customProps, align = props.align, childAnimationName = props.childAnimationName, isHtmlContent = props.isHtmlContent, scroll = props.scroll, isDefaultFocus = props.isDefaultFocus, onEsc = props.onEsc, renderAlertIcon = props.renderAlertIcon; var _customProps$LookupPr = customProps.LookupProps, LookupProps = _customProps$LookupPr === void 0 ? {} : _customProps$LookupPr, _customProps$AlertHea = customProps.AlertHeaderProps, AlertHeaderProps = _customProps$AlertHea === void 0 ? {} : _customProps$AlertHea, _customProps$PrimaryB = customProps.PrimaryButtonProps, PrimaryButtonProps = _customProps$PrimaryB === void 0 ? {} : _customProps$PrimaryB, _customProps$Secondar = customProps.SecondaryButtonProps, SecondaryButtonProps = _customProps$Secondar === void 0 ? {} : _customProps$Secondar; var _customClass$containe = customClass.containerClass, containerClass = _customClass$containe === void 0 ? '' : _customClass$containe, _customClass$sectionC = customClass.sectionClass, sectionClass = _customClass$sectionC === void 0 ? '' : _customClass$sectionC; var _ref = buttonPaletteObject[type] || {}, _ref$buttonPalette = _ref.buttonPalette, buttonPalette = _ref$buttonPalette === void 0 ? 'dangerFilled' : _ref$buttonPalette; var ariaMessageId = getAriaId(); var ariaConfirmMsgId = getAriaId(); var ariaTitleId = getAriaId(); var ariaLeaveButtonId = getAriaId(); var ariaStayButtonId = getAriaId(); a11y = { ariaLabelledby: a11y && a11y.ariaLabelledby ? a11y.ariaLabelledby : ariaTitleId, ariaDescribedby: a11y && a11y.ariaDescribedby ? a11y.ariaDescribedby : ariaMessageId + ' ' + ariaConfirmMsgId }; return /*#__PURE__*/_react["default"].createElement(_Lookup["default"], _extends({ onClose: onEsc == 'close' ? onClose : onCancelClick, needFocusScope: true, isActive: isActive, size: size, dataId: dataId, forwardRef: forwardRef, onClick: onLookupClick, customClass: containerClass, a11y: a11y, childAnimationName: childAnimationName }, LookupProps), /*#__PURE__*/_react["default"].createElement(_Layout.Container, { alignBox: "row", align: align, wrap: "wrap" }, /*#__PURE__*/_react["default"].createElement(_Section["default"], { alignBox: "row", className: _AlertLookupNewModule["default"].section }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, { alignBox: "column" }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, null, /*#__PURE__*/_react["default"].createElement(_AlertHeader["default"], _extends({ htmlId: ariaTitleId, title: title, type: type, needIcon: needIcon, onClose: onClose, breakChildren: wrapHeader, renderAlertIcon: renderAlertIcon }, AlertHeaderProps), headerChildren ? headerChildren() : null)), /*#__PURE__*/_react["default"].createElement(_Layout.Box, { flexible: true }, /*#__PURE__*/_react["default"].createElement("div", { className: "".concat(_AlertLookupNewModule["default"].innerSection, " ").concat(_AlertLookupNewModule["default"]["".concat(scroll, "Scroll")] ? _AlertLookupNewModule["default"]["".concat(scroll, "Scroll")] : '', " ").concat(sectionClass) }, children ? children : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, isHtmlContent && message ? /*#__PURE__*/_react["default"].createElement("div", { id: ariaMessageId, dangerouslySetInnerHTML: { __html: message } }) : /*#__PURE__*/_react["default"].createElement("div", { id: ariaMessageId }, message), confirmationMessage && /*#__PURE__*/_react["default"].createElement("div", { id: ariaConfirmMsgId, className: "".concat(message ? _AlertLookupNewModule["default"].confirmMsgText : '') }, confirmationMessage)))), submitText || onSubmitClick || cancelText || onCancelClick ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, null, /*#__PURE__*/_react["default"].createElement("div", { className: _AlertLookupNewModule["default"].footer }, /*#__PURE__*/_react["default"].createElement(_FormAction["default"], { size: "small", paddingLeftSize: "xmedium" }, /*#__PURE__*/_react["default"].createElement(_Button["default"], _extends({ text: submitText, dataId: dataId === 'alertPopup' ? 'alertConfirmButton' : "".concat(dataId, "_confirmButton"), onClick: onSubmitClick, palette: buttonPalette, customProps: { 'data-a11y-autofocus': isDefaultFocus } }, PrimaryButtonProps, { a11y: { 'aria-labelledby': ariaTitleId + ' ' + ariaMessageId + ' ' + ariaLeaveButtonId }, id: ariaLeaveButtonId })), cancelText && /*#__PURE__*/_react["default"].createElement(_Button["default"], _extends({ dataId: dataId === 'alertPopup' ? 'alertCancelButton' : "".concat(dataId, "_cancelButton"), text: cancelText, onClick: onCancelClick, palette: "secondary" }, SecondaryButtonProps, { a11y: { 'aria-labelledby': ariaTitleId + ' ' + ariaMessageId + ' ' + ariaStayButtonId }, id: ariaStayButtonId }))))) : null)))); } AlertLookup.propTypes = _propTypes.propTypes; AlertLookup.defaultProps = _defaultProps.defaultProps;