UNPKG

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

Version:
38 lines (31 loc) 2.16 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 Modal = require('../Modal/Modal.js'); var cx = require('classnames'); var settings = require('../../internal/settings.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); var cx__default = /*#__PURE__*/_interopDefault(cx); /* IBM Confidential 694970X, 69497O0 © Copyright IBM Corp. 2022, 2024 */ function ImageModal(props) { const { appElement = "#app", className, containerClassName, modalProps, imageClassName, imageProps, imageSrc } = props; const [isModalOpen, setIsModalOpen] = React__default.default.useState(false); const handleOpenModal = () => { setIsModalOpen(true); }; return (React__default.default.createElement("div", { className: cx__default.default(`${settings.prefix}--bmrg-image-modal-container`, containerClassName) }, React__default.default.createElement(Modal.Modal, { appElement: appElement, containerClassName: `${settings.prefix}--bmrg-image-modal`, isOpen: isModalOpen, onRequestClose: () => setIsModalOpen(false), ...modalProps }, React__default.default.createElement(react.Button, { kind: "ghost", size: "lg", hasIconOnly: true, renderIcon: icons.Close, className: `${settings.prefix}--bmrg-image-modal__close`, onClick: () => setIsModalOpen(false) }), React__default.default.createElement("img", { className: `${settings.prefix}--bmrg-image-modal__open-image`, alt: "modal-content", src: imageSrc })), React__default.default.createElement("button", { tabIndex: 0, onClick: handleOpenModal, className: cx__default.default(`${settings.prefix}--bmrg-image-modal__trigger`, className) }, React__default.default.createElement("img", { className: cx__default.default(`${settings.prefix}--bmrg-image-modal__image`, imageClassName), alt: "trigger", src: imageSrc, ...imageProps })))); } exports.ImageModal = ImageModal; exports.default = ImageModal;