UNPKG

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

Version:
59 lines (52 loc) 3.46 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 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;