UNPKG

@boomerang-io/utils

Version:

A library of reusable utilities and hooks for React webapps on the Boomerang platform.

30 lines (29 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _useMutationObserver = _interopRequireDefault(require("../useMutationObserver")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const htmlElem = document.getElementsByTagName("html")[0]; const HTML_MODAL_CLASS = "bx--bmrg-html-modal-is-open"; function useIsModalOpen() { const [isModalOpen, setIsModalOpen] = (0, _react.useState)(false); const htmlRef = (0, _react.useRef)(htmlElem); (0, _useMutationObserver.default)(htmlRef, mutationRecords => { const record = mutationRecords.find(record => record.type === "attributes"); if ((record === null || record === void 0 ? void 0 : record.target.className) === HTML_MODAL_CLASS) { setIsModalOpen(true); } else { setIsModalOpen(false); } }, { attributes: true, characterData: false, subtree: false, childList: false }); return isModalOpen; } var _default = exports.default = useIsModalOpen;