| 1 {"version":3,"sources":["html5shiv.js"],"names":["window","document","addStyleSh
eet","ownerDocument","cssText","p","createElement","parent","getElementsByTagNam
e","documentElement","innerHTML","insertBefore","lastChild","firstChild","getEle
ments","elements","html5","split","addElements","newElements","join","shivDocume
nt","getExpandoData","data","expandoData","expando","expanID","nodeName","suppor
tsUnknownElements","node","cache","cloneNode","saveClones","test","createElem","
canHaveChildren","reSkip","tagUrn","frag","appendChild","createDocumentFragment"
,"clone","i","elems","l","length","shivMethods","createFrag","Function","replace
","shivCSS","supportsHtml5Styles","hasCSS","options","a","childNodes","e","versi
on","type","module","exports","this"],"mappings":";;;CAGE,SAASA,EAAQC,GA+Df,QAAS
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
,QAAyBA,OAAS6D,KAAM5D","file":"html5shiv.min.js","sourcesContent":["/*!\n* @pres
erve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed\n*/
\n;(function(window, document) {\n /*jshint evil:true */\n /** version */\n
var version = '3.7.3';\n \n /** Preset options */\n var options = wind
ow.html5 || {};\n \n /** Used to skip problem elements */\n var reSkip =
/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;\n \n /
** Not all elements can be cloned in IE **/\n var saveClones = /^(?:a|b|code|
div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|t
d|th|tr|ul)$/i;\n \n /** Detect whether the browser supports default html5 s
tyles */\n var supportsHtml5Styles;\n \n /** Name of the expando, to work
with multiple documents or to re-shiv one document */\n var expando = '_html
5shiv';\n \n /** The id for the the documents expando */\n var expanID =
0;\n \n /** Cached data for each document */\n var expandoData = {};\n \
n /** Detect whether the browser supports unknown elements */\n var suppor
tsUnknownElements;\n \n (function() {\n try {\n var a = docume
nt.createElement('a');\n a.innerHTML = '<xyz></xyz>';\n //if t
he hidden property is implemented we can assume, that the browser supports basic
HTML5 Styles\n supportsHtml5Styles = ('hidden' in a);\n \n s
upportsUnknownElements = a.childNodes.length == 1 || (function() {\n
// assign a false positive if unable to shiv\n (document.createElemen
t)('a');\n var frag = document.createDocumentFragment();\n
return (\n typeof frag.cloneNode == 'undefined' ||\n
typeof frag.createDocumentFragment == 'undefined' ||\n typeof frag.
createElement == 'undefined'\n );\n }());\n } catch(e)
{\n // assign a false positive if detection fails => unable to shiv\n
supportsHtml5Styles = true;\n supportsUnknownElements = true;\n
}\n \n }());\n \n /*----------------------------------------------------
----------------------*/\n \n /**\n * Creates a style sheet with the giv
en CSS text and adds it to the document.\n * @private\n * @param {Docume
nt} ownerDocument The document.\n * @param {String} cssText The CSS text.\n
* @returns {StyleSheet} The style element.\n */\n function addStyleSh
eet(ownerDocument, cssText) {\n var p = ownerDocument.createElement('p'),\n
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocumen
t.documentElement;\n \n p.innerHTML = 'x<style>' + cssText + '</style>';\n
return parent.insertBefore(p.lastChild, parent.firstChild);\n }\n \n
/**\n * Returns the value of `html5.elements` as an array.\n * @privat
e\n * @returns {Array} An array of shived element node names.\n */\n
function getElements() {\n var elements = html5.elements;\n return typ
eof elements == 'string' ? elements.split(' ') : elements;\n }\n \n /**\n
* Extends the built-in list of html5 elements\n * @memberOf html5\n
* @param {String|Array} newElements whitespace separated list or array of new e
lement names to shiv\n * @param {Document} ownerDocument The context documen
t.\n */\n function addElements(newElements, ownerDocument) {\n var e
lements = html5.elements;\n if(typeof elements != 'string'){\n eleme
nts = elements.join(' ');\n }\n if(typeof newElements != 'string'){\n
newElements = newElements.join(' ');\n }\n html5.elements = ele
ments +' '+ newElements;\n shivDocument(ownerDocument);\n }\n \n /*
*\n * Returns the data associated to the given document\n * @private\n
* @param {Document} ownerDocument The document.\n * @returns {Object} An
object of data.\n */\n function getExpandoData(ownerDocument) {\n va
r data = expandoData[ownerDocument[expando]];\n if (!data) {\n dat
a = {};\n expanID++;\n ownerDocument[expando] = expanID;\n
expandoData[expanID] = data;\n }\n return data;\n }\n \n
/**\n * returns a shived element for the given nodeName and document\n *
@memberOf html5\n * @param {String} nodeName name of the element\n * @p
aram {Document|DocumentFragment} ownerDocument The context document.\n * @re
turns {Object} The shived element.\n */\n function createElement(nodeName
, ownerDocument, data){\n if (!ownerDocument) {\n ownerDocument =
document;\n }\n if(supportsUnknownElements){\n return ownerDo
cument.createElement(nodeName);\n }\n if (!data) {\n data = g
etExpandoData(ownerDocument);\n }\n var node;\n \n if (data.cach
e[nodeName]) {\n node = data.cache[nodeName].cloneNode();\n } else
if (saveClones.test(nodeName)) {\n node = (data.cache[nodeName] = data
.createElem(nodeName)).cloneNode();\n } else {\n node = data.creat
eElem(nodeName);\n }\n \n // Avoid adding some elements to fragments
in IE < 9 because\n // * Attributes like `name` or `type` cannot be set/cha
nged once an element\n // is inserted into a document/fragment\n //
* Link elements with `src` attributes that are inaccessible, as with\n //
a 403 response, will cause the tab/window to crash\n // * Script elements
appended to fragments will execute when their `src`\n // or `text` proper
ty is set\n return node.canHaveChildren && !reSkip.test(nodeName) && !node.
tagUrn ? data.frag.appendChild(node) : node;\n }\n \n /**\n * returns
a shived DocumentFragment for the given document\n * @memberOf html5\n
* @param {Document} ownerDocument The context document.\n * @returns {Object
} The shived DocumentFragment.\n */\n function createDocumentFragment(own
erDocument, data){\n if (!ownerDocument) {\n ownerDocument = docum
ent;\n }\n if(supportsUnknownElements){\n return ownerDocumen
t.createDocumentFragment();\n }\n data = data || getExpandoData(ownerD
ocument);\n var clone = data.frag.cloneNode(),\n i = 0,\n
elems = getElements(),\n l = elems.length;\n for(;i<l;i++){\n
clone.createElement(elems[i]);\n }\n return clone;\n }\n \n
/**\n * Shivs the `createElement` and `createDocumentFragment` methods of
the document.\n * @private\n * @param {Document|DocumentFragment} owner
Document The document.\n * @param {Object} data of the document.\n */\n
function shivMethods(ownerDocument, data) {\n if (!data.cache) {\n
data.cache = {};\n data.createElem = ownerDocument.createElement;\n
data.createFrag = ownerDocument.createDocumentFragment;\n dat
a.frag = data.createFrag();\n }\n \n \n ownerDocument.createElement
= function(nodeName) {\n //abort shiv\n if (!html5.shivMethods) {\
n return data.createElem(nodeName);\n }\n return create
Element(nodeName, ownerDocument, data);\n };\n \n ownerDocument.creat
eDocumentFragment = Function('h,f', 'return function(){' +\n 'var n=f.clo
neNode(),c=n.createElement;' +\n 'h.shivMethods&&(' +\n // unrol
l the `createElement` calls\n getElements().join().replace(/[\\w\\-:]+/
g, function(nodeName) {\n data.createElem(nodeName);\n dat
a.frag.createElement(nodeName);\n return 'c(\"' + nodeName + '\")';\n
}) +\n ');return n}'\n )(html5, data.frag);\n }\n \n
/*--------------------------------------------------------------------------*/
\n \n /**\n * Shivs the given document.\n * @memberOf html5\n *
@param {Document} ownerDocument The document to shiv.\n * @returns {Document
} The shived document.\n */\n function shivDocument(ownerDocument) {\n
if (!ownerDocument) {\n ownerDocument = document;\n }\n va
r data = getExpandoData(ownerDocument);\n \n if (html5.shivCSS && !support
sHtml5Styles && !data.hasCSS) {\n data.hasCSS = !!addStyleSheet(ownerDocu
ment,\n // corrects block display not defined in IE6/7/8/9\n '
article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{dis
play:block}' +\n // adds styling not present in IE6/7/8/9\n 'm
ark{background:#FF0;color:#000}' +\n // hides non-rendered elements\n
'template{display:none}'\n );\n }\n if (!supportsUnknow
nElements) {\n shivMethods(ownerDocument, data);\n }\n return o
wnerDocument;\n }\n \n /*------------------------------------------------
--------------------------*/\n \n /**\n * The `html5` object is exposed
so that more elements can be shived and\n * existing shiving can be detected
on iframes.\n * @type Object\n * @example\n *\n * // options ca
n be changed before the script is included\n * html5 = { 'elements': 'mark s
ection', 'shivCSS': false, 'shivMethods': false };\n */\n var html5 = {\n
\n /**\n * An array or space separated string of node names of the
elements to shiv.\n * @memberOf html5\n * @type Array|String\n
*/\n 'elements': options.elements || 'abbr article aside audio bdi canvas
data datalist details dialog figcaption figure footer header hgroup main mark me
ter nav output picture progress section summary template time video',\n \n
/**\n * current version of html5shiv\n */\n 'version': version
,\n \n /**\n * A flag to indicate that the HTML5 style sheet should
be inserted.\n * @memberOf html5\n * @type Boolean\n */\n
'shivCSS': (options.shivCSS !== false),\n \n /**\n * Is equal to tr
ue if a browser supports creating unknown/HTML5 elements\n * @memberOf htm
l5\n * @type boolean\n */\n 'supportsUnknownElements': supports
UnknownElements,\n \n /**\n * A flag to indicate that the document's
`createElement` and `createDocumentFragment`\n * methods should be overwr
itten.\n * @memberOf html5\n * @type Boolean\n */\n 'shiv
Methods': (options.shivMethods !== false),\n \n /**\n * A string to
describe the type of `html5` object (\"default\" or \"default print\").\n
* @memberOf html5\n * @type String\n */\n 'type': 'default',\n
\n // shivs the document according to the specified `html5` object options
\n 'shivDocument': shivDocument,\n \n //creates a shived element\n
createElement: createElement,\n \n //creates a shived documentFragment\
n createDocumentFragment: createDocumentFragment,\n \n //extends list
of elements\n addElements: addElements\n };\n \n /*----------------
----------------------------------------------------------*/\n \n // expose
html5\n window.html5 = html5;\n \n // shiv the document\n shivDocument
(document);\n \n if(typeof module == 'object' && module.exports){\n mod
ule.exports = html5;\n }\n \n }(typeof window !== \"undefined\" ? window :
this, document));\n "]} |