UNPKG

styledot

Version:
131 lines (122 loc) 18.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _uid = _interopRequireDefault(require("./utilities/uid")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var notificationsMap = { error: 'Error', 'error-lite': 'Error', info: 'Info', 'info-lite': 'Info', success: 'Success', 'success-lite': 'Success', warning: 'Warning', 'warning-lite': 'Warning' }; var Notification = function Notification(props) { var for_styledot = props.for_styledot, closeNotification = props.closeNotification, notification_type = props.notification_type, notification_style = props.notification_style, extra_classes = props.extra_classes, message_icon = props.message_icon, action_link_text = props.action_link_text, action_link_href = props.action_link_href, action_button_icon = props.action_button_icon, action_button_label = props.action_button_label, actionButtonFunction = props.actionButtonFunction, non_dismissable = props.non_dismissable; var showCloseAction = !non_dismissable && !action_link_text && !action_link_href && !action_button_label && !action_button_icon; var showActionLink = action_link_text && action_link_href && !actionButtonFunction && !action_button_label && !action_button_icon; var showActionButton = !action_link_text && !action_link_href && action_button_icon && action_button_label; // TODO: remove this hardcoded path (and for_styledot prop) and implement a more elegant solution (STYLE-94) var iconsPath = for_styledot ? '/icons/icons' : '/static/img/components/icons'; var notification_uid = (0, _uid["default"])('notification'); return /*#__PURE__*/_react["default"].createElement("div", { className: "sd-notification".concat(notification_type ? " ".concat(notification_type) : '').concat(extra_classes ? " ".concat(extra_classes) : ''), role: "alert" }, /*#__PURE__*/_react["default"].createElement("div", { className: "sd-notification-outer-container".concat(notification_style ? " ".concat(notification_style) : '') }, /*#__PURE__*/_react["default"].createElement("div", { className: "sd-notification-container" }, /*#__PURE__*/_react["default"].createElement("div", { className: "sd-notification-message-container" }, message_icon && /*#__PURE__*/_react["default"].createElement("svg", { role: "img", focusable: "false", "aria-labelledby": notification_uid, className: "sd-notification-message-icon", height: "24", width: "24" }, /*#__PURE__*/_react["default"].createElement("title", { id: notification_uid }, notificationsMap[notification_type]), /*#__PURE__*/_react["default"].createElement("use", { xlinkHref: "".concat(iconsPath, "/24px/").concat(message_icon, ".svg#icon") })), /*#__PURE__*/_react["default"].createElement("div", { className: "sd-notification-message" }, props.children, "\xA0")), showCloseAction && /*#__PURE__*/_react["default"].createElement("button", { className: "sd-unbutton sd-notification-close-icon", onClick: closeNotification, "aria-label": "Close" }, /*#__PURE__*/_react["default"].createElement("svg", { role: "img", focusable: "false", "aria-labelledby": notification_uid, height: "32", width: "32" }, /*#__PURE__*/_react["default"].createElement("title", { id: notification_uid }, "Close"), /*#__PURE__*/_react["default"].createElement("use", { xlinkHref: "".concat(iconsPath, "/32px/ic_close.svg#icon") })))), showActionLink && /*#__PURE__*/_react["default"].createElement("a", { className: "sd-notification-link sd-notification-action-link", href: action_link_href }, action_link_text), showActionButton && /*#__PURE__*/_react["default"].createElement("button", { className: 'sd-unbutton sd-notification-action-icon' + "".concat(!actionButtonFunction ? ' sd-notification-action-icon-disabled' : ''), onClick: actionButtonFunction ? actionButtonFunction : function () { /* no-op */ }, "aria-label": action_button_label }, /*#__PURE__*/_react["default"].createElement("svg", { role: "img", focusable: "false", "aria-labelledby": notification_uid, height: "24", width: "24" }, /*#__PURE__*/_react["default"].createElement("title", { id: notification_uid }, action_button_label), /*#__PURE__*/_react["default"].createElement("use", { xlinkHref: "".concat(iconsPath, "/24px/").concat(action_button_icon, ".svg#icon") }))))); }; Notification.defaultProps = { for_styledot: false, notification_style: '', message_icon: '', action_link_text: '', action_link_href: '', action_button_icon: '', action_button_label: '', actionButtonFunction: null, non_dismissable: false }; Notification.propTypes = { closeNotification: _propTypes["default"].func.isRequired, notification_type: _propTypes["default"].oneOf(Object.keys(notificationsMap)).isRequired, for_styledot: _propTypes["default"].bool, notification_style: _propTypes["default"].string, extra_classes: _propTypes["default"].string, message_icon: _propTypes["default"].string, action_link_text: _propTypes["default"].string, action_link_href: _propTypes["default"].string, action_button_icon: _propTypes["default"].string, action_button_label: _propTypes["default"].string, actionButtonFunction: _propTypes["default"].func, non_dismissable: _propTypes["default"].bool }; var _default = Notification; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3RpZmljYXRpb25zTWFwIiwiZXJyb3IiLCJpbmZvIiwic3VjY2VzcyIsIndhcm5pbmciLCJOb3RpZmljYXRpb24iLCJwcm9wcyIsImZvcl9zdHlsZWRvdCIsImNsb3NlTm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uX3R5cGUiLCJub3RpZmljYXRpb25fc3R5bGUiLCJleHRyYV9jbGFzc2VzIiwibWVzc2FnZV9pY29uIiwiYWN0aW9uX2xpbmtfdGV4dCIsImFjdGlvbl9saW5rX2hyZWYiLCJhY3Rpb25fYnV0dG9uX2ljb24iLCJhY3Rpb25fYnV0dG9uX2xhYmVsIiwiYWN0aW9uQnV0dG9uRnVuY3Rpb24iLCJub25fZGlzbWlzc2FibGUiLCJzaG93Q2xvc2VBY3Rpb24iLCJzaG93QWN0aW9uTGluayIsInNob3dBY3Rpb25CdXR0b24iLCJpY29uc1BhdGgiLCJub3RpZmljYXRpb25fdWlkIiwidWlkIiwiY2hpbGRyZW4iLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJmdW5jIiwiaXNSZXF1aXJlZCIsIm9uZU9mIiwiT2JqZWN0Iiwia2V5cyIsImJvb2wiLCJzdHJpbmciXSwic291cmNlcyI6WyIuLi9zcmMvbGliL25vdGlmaWNhdGlvbi5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB1aWQgZnJvbSAnLi91dGlsaXRpZXMvdWlkJztcblxuY29uc3Qgbm90aWZpY2F0aW9uc01hcCA9IHtcbiAgICBlcnJvcjogJ0Vycm9yJyxcbiAgICAnZXJyb3ItbGl0ZSc6ICdFcnJvcicsXG4gICAgaW5mbzogJ0luZm8nLFxuICAgICdpbmZvLWxpdGUnOiAnSW5mbycsXG4gICAgc3VjY2VzczogJ1N1Y2Nlc3MnLFxuICAgICdzdWNjZXNzLWxpdGUnOiAnU3VjY2VzcycsXG4gICAgd2FybmluZzogJ1dhcm5pbmcnLFxuICAgICd3YXJuaW5nLWxpdGUnOiAnV2FybmluZycsXG59O1xuXG5jb25zdCBOb3RpZmljYXRpb24gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgICBmb3Jfc3R5bGVkb3QsXG4gICAgICAgIGNsb3NlTm90aWZpY2F0aW9uLFxuICAgICAgICBub3RpZmljYXRpb25fdHlwZSxcbiAgICAgICAgbm90aWZpY2F0aW9uX3N0eWxlLFxuICAgICAgICBleHRyYV9jbGFzc2VzLFxuICAgICAgICBtZXNzYWdlX2ljb24sXG4gICAgICAgIGFjdGlvbl9saW5rX3RleHQsXG4gICAgICAgIGFjdGlvbl9saW5rX2hyZWYsXG4gICAgICAgIGFjdGlvbl9idXR0b25faWNvbixcbiAgICAgICAgYWN0aW9uX2J1dHRvbl9sYWJlbCxcbiAgICAgICAgYWN0aW9uQnV0dG9uRnVuY3Rpb24sXG4gICAgICAgIG5vbl9kaXNtaXNzYWJsZSxcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBzaG93Q2xvc2VBY3Rpb24gPVxuICAgICAgICAhbm9uX2Rpc21pc3NhYmxlICYmICFhY3Rpb25fbGlua190ZXh0ICYmICFhY3Rpb25fbGlua19ocmVmICYmICFhY3Rpb25fYnV0dG9uX2xhYmVsICYmICFhY3Rpb25fYnV0dG9uX2ljb247XG4gICAgY29uc3Qgc2hvd0FjdGlvbkxpbmsgPVxuICAgICAgICBhY3Rpb25fbGlua190ZXh0ICYmIGFjdGlvbl9saW5rX2hyZWYgJiYgIWFjdGlvbkJ1dHRvbkZ1bmN0aW9uICYmICFhY3Rpb25fYnV0dG9uX2xhYmVsICYmICFhY3Rpb25fYnV0dG9uX2ljb247XG4gICAgY29uc3Qgc2hvd0FjdGlvbkJ1dHRvbiA9ICFhY3Rpb25fbGlua190ZXh0ICYmICFhY3Rpb25fbGlua19ocmVmICYmIGFjdGlvbl9idXR0b25faWNvbiAmJiBhY3Rpb25fYnV0dG9uX2xhYmVsO1xuXG4gICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaGFyZGNvZGVkIHBhdGggKGFuZCBmb3Jfc3R5bGVkb3QgcHJvcCkgYW5kIGltcGxlbWVudCBhIG1vcmUgZWxlZ2FudCBzb2x1dGlvbiAoU1RZTEUtOTQpXG4gICAgY29uc3QgaWNvbnNQYXRoID0gZm9yX3N0eWxlZG90ID8gJy9pY29ucy9pY29ucycgOiAnL3N0YXRpYy9pbWcvY29tcG9uZW50cy9pY29ucyc7XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uX3VpZCA9IHVpZCgnbm90aWZpY2F0aW9uJyk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgc2Qtbm90aWZpY2F0aW9uJHtub3RpZmljYXRpb25fdHlwZSA/IGAgJHtub3RpZmljYXRpb25fdHlwZX1gIDogJyd9JHtcbiAgICAgICAgICAgICAgICBleHRyYV9jbGFzc2VzID8gYCAke2V4dHJhX2NsYXNzZXN9YCA6ICcnXG4gICAgICAgICAgICB9YH1cbiAgICAgICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgc2Qtbm90aWZpY2F0aW9uLW91dGVyLWNvbnRhaW5lciR7bm90aWZpY2F0aW9uX3N0eWxlID8gYCAke25vdGlmaWNhdGlvbl9zdHlsZX1gIDogJyd9YH0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZC1ub3RpZmljYXRpb24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2Qtbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVzc2FnZV9pY29uICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJpbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17bm90aWZpY2F0aW9uX3VpZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic2Qtbm90aWZpY2F0aW9uLW1lc3NhZ2UtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGl0bGUgaWQ9e25vdGlmaWNhdGlvbl91aWR9Pntub3RpZmljYXRpb25zTWFwW25vdGlmaWNhdGlvbl90eXBlXX08L3RpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rSHJlZj17YCR7aWNvbnNQYXRofS8yNHB4LyR7bWVzc2FnZV9pY29ufS5zdmcjaWNvbmB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZC1ub3RpZmljYXRpb24tbWVzc2FnZVwiPntwcm9wcy5jaGlsZHJlbn0mbmJzcDs8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIHtzaG93Q2xvc2VBY3Rpb24gJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNkLXVuYnV0dG9uIHNkLW5vdGlmaWNhdGlvbi1jbG9zZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtjbG9zZU5vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcm9sZT1cImltZ1wiIGZvY3VzYWJsZT1cImZhbHNlXCIgYXJpYS1sYWJlbGxlZGJ5PXtub3RpZmljYXRpb25fdWlkfSBoZWlnaHQ9XCIzMlwiIHdpZHRoPVwiMzJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlIGlkPXtub3RpZmljYXRpb25fdWlkfT5DbG9zZTwvdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbmtIcmVmPXtgJHtpY29uc1BhdGh9LzMycHgvaWNfY2xvc2Uuc3ZnI2ljb25gfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAge3Nob3dBY3Rpb25MaW5rICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic2Qtbm90aWZpY2F0aW9uLWxpbmsgc2Qtbm90aWZpY2F0aW9uLWFjdGlvbi1saW5rXCIgaHJlZj17YWN0aW9uX2xpbmtfaHJlZn0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7YWN0aW9uX2xpbmtfdGV4dH1cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAge3Nob3dBY3Rpb25CdXR0b24gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZC11bmJ1dHRvbiBzZC1ub3RpZmljYXRpb24tYWN0aW9uLWljb24nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHshYWN0aW9uQnV0dG9uRnVuY3Rpb24gPyAnIHNkLW5vdGlmaWNhdGlvbi1hY3Rpb24taWNvbi1kaXNhYmxlZCcgOiAnJ31gXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25CdXR0b25GdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGFjdGlvbkJ1dHRvbkZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuby1vcCAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FjdGlvbl9idXR0b25fbGFiZWx9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcm9sZT1cImltZ1wiIGZvY3VzYWJsZT1cImZhbHNlXCIgYXJpYS1sYWJlbGxlZGJ5PXtub3RpZmljYXRpb25fdWlkfSBoZWlnaHQ9XCIyNFwiIHdpZHRoPVwiMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGl0bGUgaWQ9e25vdGlmaWNhdGlvbl91aWR9PnthY3Rpb25fYnV0dG9uX2xhYmVsfTwvdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGlua0hyZWY9e2Ake2ljb25zUGF0aH0vMjRweC8ke2FjdGlvbl9idXR0b25faWNvbn0uc3ZnI2ljb25gfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbk5vdGlmaWNhdGlvbi5kZWZhdWx0UHJvcHMgPSB7XG4gICAgZm9yX3N0eWxlZG90OiBmYWxzZSxcbiAgICBub3RpZmljYXRpb25fc3R5bGU6ICcnLFxuICAgIG1lc3NhZ2VfaWNvbjogJycsXG4gICAgYWN0aW9uX2xpbmtfdGV4dDogJycsXG4gICAgYWN0aW9uX2xpbmtfaHJlZjogJycsXG4gICAgYWN0aW9uX2J1dHRvbl9pY29uOiAnJyxcbiAgICBhY3Rpb25fYnV0dG9uX2xhYmVsOiAnJyxcbiAgICBhY3Rpb25CdXR0b25GdW5jdGlvbjogbnVsbCxcbiAgICBub25fZGlzbWlzc2FibGU6IGZhbHNlLFxufTtcblxuTm90aWZpY2F0aW9uLnByb3BUeXBlcyA9IHtcbiAgICBjbG9zZU5vdGlmaWNhdGlvbjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBub3RpZmljYXRpb25fdHlwZTogUHJvcFR5cGVzLm9uZU9mKE9iamVjdC5rZXlzKG5vdGlmaWNhdGlvbnNNYXApKS5pc1JlcXVpcmVkLFxuICAgIGZvcl9zdHlsZWRvdDogUHJvcFR5cGVzLmJvb2wsXG4gICAgbm90aWZpY2F0aW9uX3N0eWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGV4dHJhX2NsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbWVzc2FnZV9pY29uOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGFjdGlvbl9saW5rX3RleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgYWN0aW9uX2xpbmtfaHJlZjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhY3Rpb25fYnV0dG9uX2ljb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgYWN0aW9uX2J1dHRvbl9sYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhY3Rpb25CdXR0b25GdW5jdGlvbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbm9uX2Rpc21pc3NhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbjtcbiJdLCJt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