UNPKG

@bigbinary/neetoui

Version:

neetoUI drives the experience at all neeto products

123 lines (120 loc) 5.01 kB
import _extends from '@babel/runtime/helpers/extends'; import React__default, { useRef } from 'react'; import Button from './Button.js'; import Modal from './Modal.js'; import Typography from './Typography.js'; import '@babel/runtime/helpers/defineProperty'; import '@babel/runtime/helpers/objectWithoutProperties'; import 'classnames'; import 'react-router-dom'; import './Spinner.js'; import './Tooltip.js'; import '@babel/runtime/helpers/slicedToArray'; import '@tippyjs/react'; import 'tippy.js'; import '@bigbinary/neeto-icons'; import './useOverlayManager-AZIGhUYS.js'; import '@babel/runtime/helpers/esm/extends'; import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose'; import '@babel/runtime/helpers/esm/inheritsLoose'; import 'react-dom'; import 'ramda'; import '@bigbinary/neeto-hotkeys'; import './overlayManager.js'; import '@babel/runtime/helpers/classCallCheck'; import '@babel/runtime/helpers/createClass'; import './index-Dxaw6gl9.js'; import '@bigbinary/neeto-cist'; import 'qs'; import './en-CIkXIYyl.js'; import '@babel/runtime/helpers/toConsumableArray'; import 'dayjs'; import 'dayjs/plugin/localeData'; import 'dayjs/plugin/utc'; import 'dayjs/plugin/weekday'; import 'dayjs/plugin/weekOfYear'; var SIZES = { small: "small", medium: "medium", large: "large" }; var FOCUSABLE_ELEMENTS = { submit: "submit", cancel: "cancel" }; var Alert = function Alert(_ref) { var _ref$size = _ref.size, size = _ref$size === void 0 ? SIZES.medium : _ref$size, _ref$isOpen = _ref.isOpen, isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen, _ref$isSubmitting = _ref.isSubmitting, isSubmitting = _ref$isSubmitting === void 0 ? false : _ref$isSubmitting, _ref$className = _ref.className, className = _ref$className === void 0 ? "" : _ref$className, _ref$closeOnEsc = _ref.closeOnEsc, closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc, _ref$closeButton = _ref.closeButton, closeButton = _ref$closeButton === void 0 ? true : _ref$closeButton, _ref$backdropClassNam = _ref.backdropClassName, backdropClassName = _ref$backdropClassNam === void 0 ? "" : _ref$backdropClassNam, _ref$closeOnOutsideCl = _ref.closeOnOutsideClick, closeOnOutsideClick = _ref$closeOnOutsideCl === void 0 ? true : _ref$closeOnOutsideCl, _ref$onClose = _ref.onClose, onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose, _ref$onSubmit = _ref.onSubmit, onSubmit = _ref$onSubmit === void 0 ? function () {} : _ref$onSubmit, _ref$title = _ref.title, title = _ref$title === void 0 ? "" : _ref$title, _ref$message = _ref.message, message = _ref$message === void 0 ? "" : _ref$message, _ref$submitButtonLabe = _ref.submitButtonLabel, submitButtonLabel = _ref$submitButtonLabe === void 0 ? "Continue" : _ref$submitButtonLabe, _ref$cancelButtonLabe = _ref.cancelButtonLabel, cancelButtonLabel = _ref$cancelButtonLabe === void 0 ? "Cancel" : _ref$cancelButtonLabe, initialFocusRef = _ref.initialFocusRef, initialFocusElement = _ref.initialFocusElement, _ref$hideCancelButton = _ref.hideCancelButton, hideCancelButton = _ref$hideCancelButton === void 0 ? false : _ref$hideCancelButton; var submitButtonRef = useRef(null); var cancelButtonRef = useRef(null); var hasCustomFocusableElement = !!initialFocusRef || initialFocusElement; var initialFocusElementRef = initialFocusElement === FOCUSABLE_ELEMENTS.submit ? submitButtonRef : cancelButtonRef; return /*#__PURE__*/React__default.createElement(Modal, _extends({ backdropClassName: backdropClassName, className: className, closeButton: closeButton, closeOnEsc: closeOnEsc, closeOnOutsideClick: closeOnOutsideClick, isOpen: isOpen, onClose: onClose, size: size, "data-cy": "alert-box" }, hasCustomFocusableElement && { initialFocusRef: initialFocusRef || initialFocusElementRef }), /*#__PURE__*/React__default.createElement(Modal.Header, null, /*#__PURE__*/React__default.createElement(Typography, { "data-cy": "alert-title", style: "h2" }, title)), /*#__PURE__*/React__default.createElement(Modal.Body, null, /*#__PURE__*/React__default.createElement(Typography, { "data-cy": "alert-message", lineHeight: "normal", style: "body2" }, message)), /*#__PURE__*/React__default.createElement(Modal.Footer, { className: "neeto-ui-gap-2 neeto-ui-flex neeto-ui-justify-end neeto-ui-items-center" }, !hideCancelButton && /*#__PURE__*/React__default.createElement(Button, { "data-cy": "alert-cancel-button", label: cancelButtonLabel, ref: cancelButtonRef, style: "tertiary", onClick: onClose }), /*#__PURE__*/React__default.createElement(Button, { "data-cy": "alert-submit-button", disabled: isSubmitting || !isOpen, label: submitButtonLabel, loading: isSubmitting, ref: submitButtonRef, style: "danger", onClick: onSubmit }))); }; export { Alert as default }; //# sourceMappingURL=Alert.js.map