%PDF- %PDF-
Direktori : /home/emergentqj/actioncivile/pre-auth/.4cc3a2e1590a4463a5f392ddcc26929e/static/node_modules/react-modal/lib/helpers/ |
Current File : /home/emergentqj/actioncivile/pre-auth/.4cc3a2e1590a4463a5f392ddcc26929e/static/node_modules/react-modal/lib/helpers/bodyTrap.js |
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resetState = resetState; exports.log = log; var _portalOpenInstances = require("./portalOpenInstances"); var _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Body focus trap see Issue #742 var before = void 0, after = void 0, instances = []; /* eslint-disable no-console */ /* istanbul ignore next */ function resetState() { var _arr = [before, after]; for (var _i = 0; _i < _arr.length; _i++) { var item = _arr[_i]; if (!item) continue; item.parentNode && item.parentNode.removeChild(item); } before = after = null; instances = []; } /* istanbul ignore next */ function log() { console.log("bodyTrap ----------"); console.log(instances.length); var _arr2 = [before, after]; for (var _i2 = 0; _i2 < _arr2.length; _i2++) { var item = _arr2[_i2]; var check = item || {}; console.log(check.nodeName, check.className, check.id); } console.log("edn bodyTrap ----------"); } /* eslint-enable no-console */ function focusContent() { if (instances.length === 0) { if (process.env.NODE_ENV !== "production") { // eslint-disable-next-line no-console console.warn("React-Modal: Open instances > 0 expected"); } return; } instances[instances.length - 1].focusContent(); } function bodyTrap(eventType, openInstances) { if (!before && !after) { before = document.createElement("div"); before.setAttribute("data-react-modal-body-trap", ""); before.style.position = "absolute"; before.style.opacity = "0"; before.setAttribute("tabindex", "0"); before.addEventListener("focus", focusContent); after = before.cloneNode(); after.addEventListener("focus", focusContent); } instances = openInstances; if (instances.length > 0) { // Add focus trap if (document.body.firstChild !== before) { document.body.insertBefore(before, document.body.firstChild); } if (document.body.lastChild !== after) { document.body.appendChild(after); } } else { // Remove focus trap if (before.parentElement) { before.parentElement.removeChild(before); } if (after.parentElement) { after.parentElement.removeChild(after); } } } _portalOpenInstances2.default.subscribe(bodyTrap);