{"version":3,"file":"aria-hidden-COJvChs2.js","sources":["../../node_modules/aria-hidden/dist/es2015/index.js"],"sourcesContent":["var getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets\n .map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n })\n .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n }\n else {\n try {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n catch (e) {\n console.error('aria-hidden: cannot operate on ', node, e);\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-inert-ed'; }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-suppressed'; }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n"],"names":["counterMap","WeakMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","node","host","parentNode","applyAttributeToOthers","originalTarget","markerName","controlAttribute","targets","parent","map","target","contains","correctedTarget","console","error","filter","x","Boolean","correctTargets","Array","isArray","markerCounter","hiddenNodes","elementsToKeep","Set","elementsToStop","keep","el","has","add","forEach","deep","prototype","call","children","attr","getAttribute","alreadyHidden","counterValue","get","markerValue","set","push","setAttribute","e","clear","removeAttribute","delete","hideOthers","from","activeParentNode","document","ownerDocument","body","getDefaultParent","apply","querySelectorAll"],"mappings":"AAAA,IAOIA,MAAiBC,QACjBC,MAAwBD,QACxBE,EAAY,CAAA,EACZC,EAAY,EACZC,EAAa,SAAUC,GACvB,OAAOA,IAASA,EAAKC,MAAQF,EAAWC,EAAKE,YACjD,EAwBIC,EAAyB,SAAUC,EAAgBF,EAAYG,EAAYC,GACvE,IAAAC,EAxBa,SAAUC,EAAQD,GAC5B,OAAAA,EACFE,KAAI,SAAUC,GACX,GAAAF,EAAOG,SAASD,GACT,OAAAA,EAEP,IAAAE,EAAkBb,EAAWW,GACjC,OAAIE,GAAmBJ,EAAOG,SAASC,GAC5BA,GAEXC,QAAQC,MAAM,cAAeJ,EAAQ,0BAA2BF,EAAQ,mBACjE,KACf,IACSO,QAAO,SAAUC,GAAK,OAAOC,QAAQD,EAAG,GACjD,CAUkBE,CAAehB,EAAYiB,MAAMC,QAAQhB,GAAkBA,EAAiB,CAACA,IACtFP,EAAUQ,KACDR,EAAAQ,GAAc,IAAIV,SAE5B,IAAA0B,EAAgBxB,EAAUQ,GAC1BiB,EAAc,GACdC,MAAqBC,IACrBC,EAAiB,IAAID,IAAIjB,GACzBmB,EAAO,SAAUC,GACZA,IAAMJ,EAAeK,IAAID,KAG9BJ,EAAeM,IAAIF,GACnBD,EAAKC,EAAGzB,YAChB,EACIK,EAAQuB,QAAQJ,GACZ,IAAAK,EAAO,SAAUvB,GACZA,IAAUiB,EAAeG,IAAIpB,IAGlCW,MAAMa,UAAUF,QAAQG,KAAKzB,EAAO0B,UAAU,SAAUlC,GAChD,GAAAuB,EAAeK,IAAI5B,GACnB+B,EAAK/B,QAGD,IACI,IAAAmC,EAAOnC,EAAKoC,aAAa9B,GACzB+B,EAAyB,OAATF,GAA0B,UAATA,EACjCG,GAAgB5C,EAAW6C,IAAIvC,IAAS,GAAK,EAC7CwC,GAAenB,EAAckB,IAAIvC,IAAS,GAAK,EACxCN,EAAA+C,IAAIzC,EAAMsC,GACPjB,EAAAoB,IAAIzC,EAAMwC,GACxBlB,EAAYoB,KAAK1C,GACI,IAAjBsC,GAAsBD,GACJzC,EAAA6C,IAAIzC,GAAM,GAEZ,IAAhBwC,GACKxC,EAAA2C,aAAatC,EAAY,QAE7BgC,GACIrC,EAAA2C,aAAarC,EAAkB,OAE3C,OACMsC,GACK/B,QAAAC,MAAM,kCAAmCd,EAAM4C,EAC1D,CAEjB,GACA,EAII,OAHAb,EAAK7B,GACLqB,EAAesB,QACf/C,IACO,WACSwB,EAAAQ,SAAQ,SAAU9B,GAC1B,IAAIsC,EAAe5C,EAAW6C,IAAIvC,GAAQ,EACtCwC,EAAcnB,EAAckB,IAAIvC,GAAQ,EACjCN,EAAA+C,IAAIzC,EAAMsC,GACPjB,EAAAoB,IAAIzC,EAAMwC,GACnBF,IACI1C,EAAkBgC,IAAI5B,IACvBA,EAAK8C,gBAAgBxC,GAEzBV,EAAkBmD,OAAO/C,IAExBwC,GACDxC,EAAK8C,gBAAgBzC,EAErC,MACQP,IAGIJ,MAAiBC,QACjBD,MAAiBC,QACjBC,MAAwBD,QACxBE,EAAY,CAAA,EAExB,CACA,EAQWmD,EAAa,SAAU5C,EAAgBF,EAAYG,QACvC,IAAfA,IAAsCA,EAAA,oBACtC,IAAAE,EAAUY,MAAM8B,KAAK9B,MAAMC,QAAQhB,GAAkBA,EAAiB,CAACA,IACvE8C,EA9He,SAAU9C,GACzB,MAAoB,oBAAb+C,SACA,MAEQhC,MAAMC,QAAQhB,GAAkBA,EAAe,GAAKA,GACnDgD,cAAcC,IACtC,CAwHyCC,CAAiBlD,GACtD,OAAK8C,GAIG3C,EAAAmC,KAAKa,MAAMhD,EAASY,MAAM8B,KAAKC,EAAiBM,iBAAiB,iBAClErD,EAAuBI,EAAS2C,EAAkB7C,EAAY,gBAJ1D,WAAqB,OAAA,KAKpC","x_google_ignoreList":[0]}