@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
51 lines (44 loc) • 2.97 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 Feedback(props) {
return (React__default.default.createElement(react.ComposedModal, { "aria-label": "Feedback", open: props.isOpen, className: `${settings.prefix}--bmrg-feedback-container ${settings.prefix}--bmrg-header-modal`, onClose: props.closeModal, onKeyDown: (e) => e.stopPropagation() },
React__default.default.createElement(react.ModalHeader, { title: "Submit an Idea", closeModal: props.closeModal }),
React__default.default.createElement(react.ModalBody, null,
React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-feedback` },
React__default.default.createElement("p", null,
"Have an idea on how we can improve Consulting Advantage? Submit your idea",
" " /* We need to force a space before the link tag */,
React__default.default.createElement("a", { "aria-describedby": "new-window-aria-desc-0", href: props.sendIdeasUrl, target: "_blank", rel: "noopener noreferrer" }, "here"),
". You\u2019ll be able to see other public ideas, vote on them, and track the status of your idea."),
React__default.default.createElement("p", null, "You must have an IBM email address to submit the idea."),
React__default.default.createElement("p", null, "We look forward to your feedback and ideas!"))),
React__default.default.createElement(react.ModalFooter, null,
React__default.default.createElement(react.Button, { "data-modal-primary-focus": true, kind: "primary", onClick: props.closeModal }, "OK"))));
}
function FeedbackMenuItem(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.Idea, null), onClick: () => setIsOpen(!isOpen), ref: menuItemRef, text: "Submit an idea", type: "button" }),
React__default.default.createElement(Feedback, { isOpen: isOpen, closeModal: handleClose, ...props })));
}
exports.FeedbackMenuItem = FeedbackMenuItem;
exports.default = Feedback;