@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
46 lines (39 loc) • 2.5 kB
JavaScript
'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;