@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
59 lines (52 loc) • 3.46 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,
"Share your thoughts and ideas on what we can do to improve the ",
props.platformName,
" platform and our onboarding process."),
React__default.default.createElement("p", null,
"To submit your idea, visit our portal at",
" " /* 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" }, props.sendIdeasUrl),
"."),
React__default.default.createElement("p", null,
"For now, you must have an ",
props.platformOrganization,
" email address and you will need to register with a password during your first visit."),
React__default.default.createElement("p", null, "You will have the opportunity to see other public ideas, vote on them and track the status of your idea."),
React__default.default.createElement("p", null, "We look forward to your feedback!"))),
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;