UNPKG

@boomerang-io/carbon-addons-boomerang-react

Version:
46 lines (39 loc) 2.47 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var react = require('@carbon/react'); var icons = require('@carbon/react/icons'); var HeaderMenuItem = require('../Header/HeaderMenuItem.js'); var settings = require('../../internal/settings.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); /* IBM Confidential 694970X, 69497O0 © Copyright IBM Corp. 2022, 2024 */ function SignOut({ closeModal, isOpen, signOutLink }) { return (React__default.default.createElement(react.ComposedModal, { "aria-label": "Sign out", open: isOpen, className: `${settings.prefix}--bmrg-signout-container ${settings.prefix}--bmrg-header-modal`, onClose: closeModal }, React__default.default.createElement(react.ModalHeader, { title: "Sign out", closeModal: closeModal }), React__default.default.createElement(react.ModalBody, null, React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-signout` }, React__default.default.createElement("p", { className: `${settings.prefix}--bmrg-signout__message` }, "Are you sure you'd like to leave us?"))), React__default.default.createElement(react.ModalFooter, null, React__default.default.createElement(react.Button, { "data-modal-primary-focus": true, kind: "secondary", onClick: closeModal }, "Cancel"), React__default.default.createElement(react.Button, { kind: "primary", role: "link", href: signOutLink }, "Sign Out")))); } function SignOutMenuItem(props) { const menuItemRef = React__default.default.useRef(null); const [isOpen, setIsOpen] = React__default.default.useState(false); const handleClose = () => { setIsOpen(false); setTimeout(() => { menuItemRef.current?.focus(); }, 0); }; return (React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(HeaderMenuItem.default, { icon: React__default.default.createElement(icons.Power, null), onClick: () => setIsOpen(!isOpen), ref: menuItemRef, style: { color: "red" }, text: "Sign Out", type: "button", variant: "danger" }), React__default.default.createElement(SignOut, { isOpen: isOpen, closeModal: handleClose, ...props }))); } exports.SignOutMenuItem = SignOutMenuItem; exports.default = SignOut;