{"version":3,"file":"Element.mjs","sources":["../../../../src/govuk/vendor/polyfills/Element.mjs"],"sourcesContent":["// @ts-nocheck\nimport './Document.mjs'\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Element/detect.js\nvar detect = ('Element' in this && 'HTMLElement' in this)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Element&flags=always\n(function () {\n\n\t// IE8\n\tif (window.Element && !window.HTMLElement) {\n\t\twindow.HTMLElement = window.Element;\n\t\treturn;\n\t}\n\n\t// create Element constructor\n\twindow.Element = window.HTMLElement = new Function('return function Element() {}')();\n\n\t// generate sandboxed iframe\n\tvar vbody = document.appendChild(document.createElement('body'));\n\tvar frame = vbody.appendChild(document.createElement('iframe'));\n\n\t// use sandboxed iframe to replicate Element functionality\n\tvar frameDocument = frame.contentWindow.document;\n\tvar prototype = Element.prototype = frameDocument.appendChild(frameDocument.createElement('*'));\n\tvar cache = {};\n\n\t// polyfill Element.prototype on an element\n\tvar shiv = function (element, deep) {\n\t\tvar\n\t\tchildNodes = element.childNodes || [],\n\t\tindex = -1,\n\t\tkey, value, childNode;\n\n\t\tif (element.nodeType === 1 && element.constructor !== Element) {\n\t\t\telement.constructor = Element;\n\n\t\t\tfor (key in cache) {\n\t\t\t\tvalue = cache[key];\n\t\t\t\telement[key] = value;\n\t\t\t}\n\t\t}\n\n\t\twhile (childNode = deep && childNodes[++index]) {\n\t\t\tshiv(childNode, deep);\n\t\t}\n\n\t\treturn element;\n\t};\n\n\tvar elements = document.getElementsByTagName('*');\n\tvar nativeCreateElement = document.createElement;\n\tvar interval;\n\tvar loopLimit = 100;\n\n\tprototype.attachEvent('onpropertychange', function (event) {\n\t\tvar\n\t\tpropertyName = event.propertyName,\n\t\tnonValue = !cache.hasOwnProperty(propertyName),\n\t\tnewValue = prototype[propertyName],\n\t\toldValue = cache[propertyName],\n\t\tindex = -1,\n\t\telement;\n\n\t\twhile (element = elements[++index]) {\n\t\t\tif (element.nodeType === 1) {\n\t\t\t\tif (nonValue || element[propertyName] === oldValue) {\n\t\t\t\t\telement[propertyName] = newValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tcache[propertyName] = newValue;\n\t});\n\n\tprototype.constructor = Element;\n\n\tif (!prototype.hasAttribute) {\n\t\t// .hasAttribute\n\t\tprototype.hasAttribute = function hasAttribute(name) {\n\t\t\treturn this.getAttribute(name) !== null;\n\t\t};\n\t}\n\n\t// Apply Element prototype to the pre-existing DOM as soon as the body element appears.\n\tfunction bodyCheck() {\n\t\tif (!(loopLimit--)) clearTimeout(interval);\n\t\tif (document.body && !document.body.prototype && /(complete|interactive)/.test(document.readyState)) {\n\t\t\tshiv(document, true);\n\t\t\tif (interval && document.body.prototype) clearTimeout(interval);\n\t\t\treturn (!!document.body.prototype);\n\t\t}\n\t\treturn false;\n\t}\n\tif (!bodyCheck()) {\n\t\tdocument.onreadystatechange = bodyCheck;\n\t\tinterval = setInterval(bodyCheck, 25);\n\t}\n\n\t// Apply to any new elements created after load\n\tdocument.createElement = function createElement(nodeName) {\n\t\tvar element = nativeCreateElement(String(nodeName).toLowerCase());\n\t\treturn shiv(element);\n\t};\n\n\t// remove sandboxed iframe\n\tdocument.removeChild(vbody);\n}());\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n"],"names":[],"mappings":"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"}