{"version":3,"file":"./build/element/index.min.js","mappings":"yBACA,IAAIA,EAAsB,CCA1B,EAAwB,SAASC,EAASC,GACzC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3E,EAAwB,SAASM,EAAKC,GAAQ,OAAOL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,ICC/F,EAAwB,SAAST,GACX,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,M,q7CCLvD,IAAI,EAA+BC,OAAc,MCOjD,IAAIC,EAAOC,EAAQC,EAAQC,EAiB3B,MAAMC,EAAY,wBAyClB,SAASC,EACRC,EACAC,EACAC,EACAC,EACAC,GAEA,MAAO,CACNJ,QAAAA,EACAC,WAAAA,EACAC,YAAAA,EACAC,WAAAA,EACAC,iBAAAA,EACAC,SAAU,IAiFZ,SAASC,EAASC,GACjB,MAAMC,EAgGP,WACC,MAAMC,EAAUX,EAAUY,KAAMhB,GAEhC,GAAK,OAASe,EACb,MAAO,CAAE,kBAEV,MAAME,EAAYF,EAAQG,OAClBC,EAAOC,EAAWC,EAAMC,GAAiBP,EAC3CQ,EAASJ,EAAMI,OACrB,OAAKD,EACG,CAAE,cAAeD,EAAMJ,EAAWM,GAErCH,EACG,CAAE,SAAUC,EAAMJ,EAAWM,GAE9B,CAAE,SAAUF,EAAMJ,EAAWM,GA/GvBC,IACLC,EAAWJ,EAAMK,EAAalB,GAAgBM,EAChDa,EAAaxB,EAAMoB,OACnBb,EAAmBgB,EAAczB,EAASA,EAAS,KACzD,IAAOY,EAAeQ,GAErB,OADAO,KACO,EAER,OAASH,GACR,IAAK,iBACJ,GAAoB,IAAfE,EAAmB,CACvB,MACCjB,iBAAkBmB,EADb,WAELtB,GACGJ,EAAM2B,MACV5B,EAAO6B,KAAM/B,EAAMgC,OAAQH,EAAkBtB,IAG9C,OADAqB,KACO,EAER,IAAK,cACJ,OAAK,IAAMD,GACL,OAASjB,GACbR,EAAO6B,KACN/B,EAAMgC,OACLtB,EACAgB,EAAchB,IAIjBR,EAAO6B,KAAMlB,EAAeQ,IAC5BpB,EAASyB,EAAclB,GAChB,IAIRyB,EACC5B,EAAaQ,EAAeQ,GAAQK,EAAalB,IAElDP,EAASyB,EAAclB,GAChB,GAER,IAAK,SAWJ,OAVAL,EAAM4B,KACL1B,EACCQ,EAAeQ,GACfK,EACAlB,EACAkB,EAAclB,EACdE,IAGFT,EAASyB,EAAclB,GAChB,EAER,IAAK,SAEJ,GAAK,IAAMmB,EAGV,OA0GJ,SAA4BO,GAC3B,MAAM,QACL5B,EADK,iBAELI,EAFK,WAGLD,EAHK,WAILF,EAJK,SAKLI,GACGR,EAAM2B,MAEJK,EAAOD,EACVlC,EAAMgC,OAAQvB,EAAYyB,EAAYzB,GACtCT,EAAMgC,OAAQvB,GAEZ0B,GACJxB,EAASoB,KAAMI,GAGX,OAASzB,GACbR,EAAO6B,KACN/B,EAAMgC,OAAQtB,EAAkBH,EAAaG,IAI/CR,EAAO6B,MAAMK,EAAAA,EAAAA,cAAc9B,EAAS,QAASK,IAnI1C0B,CAAmBX,GACnBzB,EAASyB,EAAclB,GAChB,EAKR,MAAM8B,EAAWnC,EAAM2B,MACjBK,EAAOnC,EAAMgC,OAClBM,EAAS7B,WACTiB,EAAcY,EAAS7B,YAExB6B,EAAS3B,SAASoB,KAAMI,GACxBG,EAAS7B,WAAaiB,EAAclB,EACpC,MAAM+B,EAAQlC,EACbiC,EAAShC,QACTgC,EAAS/B,WACT+B,EAAS9B,YACTkB,EAAclB,GAKf,OAHA+B,EAAM5B,SAAW2B,EAAS3B,SAC1BsB,EAAUM,GACVtC,EAASyB,EAAclB,GAChB,EAER,QAEC,OADAoB,KACO,GAoCV,SAASA,IACR,MAAML,EAASvB,EAAMuB,OAAStB,EACzB,IAAMsB,GAGXrB,EAAO6B,KAAM/B,EAAMgC,OAAQ/B,EAAQsB,IAYpC,SAASU,EAAUM,GAClB,MAAM,QAAEjC,EAAF,WAAWC,EAAX,YAAuBC,EAAvB,WAAoCC,EAApC,SAAgDE,GAAa4B,EAC7DC,EAASrC,EAAOA,EAAMoB,OAAS,GAC/BY,EAAOnC,EAAMgC,OAClBQ,EAAO/B,WACPF,EAAaiC,EAAO/B,YAGhB0B,GACJK,EAAO7B,SAASoB,KAAMI,GAGvBK,EAAO7B,SAASoB,MAAMK,EAAAA,EAAAA,cAAc9B,EAAS,QAASK,IACtD6B,EAAO/B,WAAaA,GAA0BF,EAAaC,EAyC5D,MAnPiC,CAAEiC,EAAoB5B,KAOtD,GANAb,EAAQyC,EACRxC,EAAS,EACTC,EAAS,GACTC,EAAQ,GACRC,EAAUsC,UAAY,GA0BQ7B,CAAAA,IAC9B,MAAM8B,EAAoC,iBAAlB9B,EAClB+B,EAASD,GAAYxD,OAAOyD,OAAQ/B,GAC1C,OACC8B,GACAC,EAAOrB,QACPqB,EAAOC,OAASvC,IAAawC,EAAAA,EAAAA,gBAAgBxC,MA9BvCyC,CAAsBlC,GAC5B,MAAM,IAAImC,UACT,iGAIF,UAEUpC,EAASC,IACnB,OAAOoC,EAAAA,EAAAA,eAAeC,EAAAA,SAAU,QAAShD,IC7HtC,EAA+BH,OAAe,OC6M3C,SAASoD,IAAuC,2BAApBC,EAAoB,yBAApBA,EAAoB,gBACtD,OAAOA,EAAkBC,QAAQ,CAAEC,EAAa3C,EAAU4C,KACzDC,EAAAA,SAAAA,QAAkB7C,GAAU,CAAE8C,EAAOC,KAC/BD,GAAS,iBAAoBA,IACjCA,GAAQrB,EAAAA,EAAAA,cAAcqB,EAAO,CAC5BxE,IAAK,CAAEsE,EAAGG,GAAIC,UAIhBL,EAAYvB,KAAM0B,MAGZH,IACL,IAWG,SAASM,EAAwBjD,EAAUkD,GACjD,OACClD,GACA6C,EAAAA,SAAAA,IAAc7C,GAAU,CAAEmD,EAAK5C,KAC9B,IAAK6C,EAAAA,EAAAA,UAAUD,GACd,OAAOb,EAAAA,EAAAA,eAAeY,EAAU,CAAE5E,IAAKiC,GAAS4C,GAEjD,MAAQnD,SAAUqD,KAAiBC,GAAUH,EAAIG,MACjD,OAAOhB,EAAAA,EAAAA,eACNY,EACA,CAAE5E,IAAKiC,KAAU+C,GACjBD,MChPJ,IAAI,EAA+BjE,OAAiB,SCW7C,MAAMmE,EAAmB5D,KAC1B6D,EAAAA,EAAAA,UAAU7D,MAIVyD,EAAAA,EAAAA,UAAUzD,KAAa8D,EAAAA,EAAAA,SAAS9D,IAC3BA,EAAQiB,QAGTjB,GCYV,MAxBiB,CAChB+D,GAAI,MACJC,OAAUC,GAAY,QAASA,EAAOA,EAAKC,IAAMD,EAAKE,QACtDC,OAAO,GCXJ,EAA+B3E,OAAW,GAAc,WCoB7C,SAAS4E,EAAT,GAA2C,IAAzB,SAAEhE,KAAasD,GAAU,EACrDW,EAAU,GAWd,OARApB,EAAAA,SAAAA,QAAkB7C,GAAWkE,SAAWpB,IACjB,iBAAVA,GAAuC,KAAjBA,EAAMqB,SACvCF,GAAWnB,OAMNR,EAAAA,EAAAA,eAAe,MAAO,CAC5B8B,wBAAyB,CAAEC,OAAQJ,MAChCX,ICsBL,MAAM,SAAEgB,EAAF,SAAYC,IAAaC,EAAAA,EAAAA,oBAAeC,GACxCC,GAAaC,EAAAA,EAAAA,aAAY,IACvB,OAQFC,EAAmB,IAAIC,IAAK,CAAE,SAAU,UAAW,WAOnDC,EAAoB,IAAID,IAAK,CAClC,OACA,OACA,KACA,MACA,UACA,QACA,KACA,MACA,QACA,SACA,OACA,OACA,QACA,SACA,QACA,QAkBKE,EAAqB,IAAIF,IAAK,CACnC,kBACA,sBACA,iBACA,QACA,YACA,WACA,UACA,WACA,UACA,QACA,WACA,WACA,iBACA,SACA,QACA,YACA,OACA,WACA,QACA,WACA,aACA,OACA,cACA,WACA,WACA,WACA,WACA,kBAuBKG,EAAwB,IAAIH,IAAK,CACtC,iBACA,eACA,UACA,kBACA,cACA,WACA,MACA,YACA,UACA,cACA,aACA,aACA,YACA,OACA,SACA,UACA,QACA,QACA,aACA,YACA,OACA,SAqBKI,EAAmC,IAAIJ,IAAK,CACjD,YACA,0BACA,gBACA,oBACA,mBACA,mBACA,cACA,KACA,KACA,cACA,WACA,aACA,eACA,aACA,gBACA,kBACA,aACA,eACA,aACA,UACA,QACA,UACA,IACA,KACA,KACA,sBACA,cACA,kBACA,mBACA,mBACA,gBACA,cACA,UACA,SACA,IACA,IACA,SACA,SAYM,SAASK,EAAWC,EAAQC,GAClC,OAAOA,EAASC,MAAQC,GAAyC,IAA7BH,EAAOI,QAASD,KAWrD,SAASE,EAAqBC,GAC7B,MAAO,QAAUA,GAAa,aAAeA,EAW9C,SAASC,EAAyBD,EAAWtG,GAC5C,OAASsG,GACR,IAAK,QACJ,OAwhBI,SAAsBE,GAE5B,KAAOC,EAAAA,EAAAA,eAAeD,GACrB,OAAOA,EAGR,IAAIE,EAEJ,IAAM,MAAMC,KAAYH,EAAQ,CAC/B,MAAMxG,EAAQwG,EAAOG,GAChB,MAAS3G,IAIT0G,EACJA,GAAU,IAEVA,EAAS,GAKVA,GAFmBE,EAA4BD,GAExB,IADHE,EAA6BF,EAAU3G,IAI5D,OAAO0G,EAjjBEI,CAAa9G,GAGtB,OAAOA,EAQR,MAAM+G,EAAiC,CACtC,eACA,oBACA,aACA,gBACA,YACA,WACA,WACA,qBACA,4BACA,eACA,iBACA,mBACA,mBACA,cACA,WACA,aACA,eACA,aACA,WACA,iBACA,cACA,YACA,cACA,aACA,YACA,6BACA,2BACA,YACA,eACA,iBACA,gBACA,gBACA,YACA,YACA,cACA,mBACA,oBACA,aACA,UACA,gBACA,kBACA,iBACA,YACA,cACA,wBACA,yBACA,kBACA,mBACA,gBACA,iBACA,mBACA,gBACA,cACA,aACA,iBACA,gBACA,oBACA,qBACA,cACA,eACA,aACA,cACA,WACA,eACA,gBACA,eACA,WACA,cACA,cACA,cACA,cACA,aACA,WACCxD,QAAQ,CAAEyD,EAAKV,KAEhBU,EAAKV,EAAUW,eAAkBX,EAC1BU,IACL,IAQGE,EAAgC,CACrC,eACA,gBACA,gBACA,cACA,gBACA,cACA,WACA,gBACA,oBACA,mBACA,kBACA,WACA,4BACA,YACA,cACA,WACA,oBACA,gBACA,eACA,mBACA,YACA,aACA,WACA,eACA,oBACA,eACA,cACA,cACA,mBACA,YACA,aACA,aACA,sBACA,mBACA,eACA,YACA,YACA,YACA,gBACA,sBACA,iBACA,OACA,OACA,cACA,YACA,qBACA,mBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,iCACA,2BACA,eACA,iBACA,cACA,UACA,UACA,aACA,UACA,aACA,mBACA,oBACC3D,QAAQ,CAAEyD,EAAKV,KAEhBU,EAAKV,EAAUW,eAAkBX,EAC1BU,IACL,IAM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","sources":["webpack://wp/webpack/bootstrap","webpack://wp/webpack/runtime/define property getters","webpack://wp/webpack/runtime/hasOwnProperty shorthand","webpack://wp/webpack/runtime/make namespace object","webpack://wp/external window \"React\"","webpack://wp/./packages/element/build-module/@wordpress/element/src/create-interpolate-element.js","webpack://wp/external window \"lodash\"","webpack://wp/./packages/element/build-module/@wordpress/element/src/react.js","webpack://wp/external window \"ReactDOM\"","webpack://wp/./packages/element/build-module/@wordpress/element/src/utils.js","webpack://wp/./packages/element/build-module/@wordpress/element/src/platform.js","webpack://wp/external window [\"wp\",\"escapeHtml\"]","webpack://wp/./packages/element/build-module/@wordpress/element/src/raw-html.js","webpack://wp/./packages/element/build-module/@wordpress/element/src/serialize.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"React\"];","/**\n * Internal dependencies\n */\nimport { createElement, cloneElement, Fragment, isValidElement } from './react';\n\n/** @typedef {import('./react').WPElement} WPElement */\n\nlet indoc, offset, output, stack;\n\n/**\n * Matches tags in the localized string\n *\n * This is used for extracting the tag pattern groups for parsing the localized\n * string and along with the map converting it to a react element.\n *\n * There are four references extracted using this tokenizer:\n *\n * match: Full match of the tag (i.e. , ,
)\n * isClosing: The closing slash, it it exists.\n * name: The name portion of the tag (strong, br) (if )\n * isSelfClosed: The slash on a self closing tag, if it exists.\n *\n * @type {RegExp}\n */\nconst tokenizer = /<(\\/)?(\\w+)\\s*(\\/)?>/g;\n\n/**\n * The stack frame tracking parse progress.\n *\n * @typedef Frame\n *\n * @property {WPElement} element A parent element which may still have\n * @property {number} tokenStart Offset at which parent element first\n * appears.\n * @property {number} tokenLength Length of string marking start of parent\n * element.\n * @property {number} [prevOffset] Running offset at which parsing should\n * continue.\n * @property {number} [leadingTextStart] Offset at which last closing element\n * finished, used for finding text between\n * elements.\n * @property {WPElement[]} children Children.\n */\n\n/**\n * Tracks recursive-descent parse state.\n *\n * This is a Stack frame holding parent elements until all children have been\n * parsed.\n *\n * @private\n * @param {WPElement} element A parent element which may still have\n * nested children not yet parsed.\n * @param {number} tokenStart Offset at which parent element first\n * appears.\n * @param {number} tokenLength Length of string marking start of parent\n * element.\n * @param {number} [prevOffset] Running offset at which parsing should\n * continue.\n * @param {number} [leadingTextStart] Offset at which last closing element\n * finished, used for finding text between\n * elements.\n *\n * @return {Frame} The stack frame tracking parse progress.\n */\nfunction createFrame(\n\telement,\n\ttokenStart,\n\ttokenLength,\n\tprevOffset,\n\tleadingTextStart\n) {\n\treturn {\n\t\telement,\n\t\ttokenStart,\n\t\ttokenLength,\n\t\tprevOffset,\n\t\tleadingTextStart,\n\t\tchildren: [],\n\t};\n}\n\n/**\n * This function creates an interpolated element from a passed in string with\n * specific tags matching how the string should be converted to an element via\n * the conversion map value.\n *\n * @example\n * For example, for the given string:\n *\n * \"This is a string with a link and a self-closing\n * tag\"\n *\n * You would have something like this as the conversionMap value:\n *\n * ```js\n * {\n * span: ,\n * a: ,\n * CustomComponentB: ,\n * }\n * ```\n *\n * @param {string} interpolatedString The interpolation string to be parsed.\n * @param {Object} conversionMap The map used to convert the string to\n * a react element.\n * @throws {TypeError}\n * @return {WPElement} A wp element.\n */\nconst createInterpolateElement = ( interpolatedString, conversionMap ) => {\n\tindoc = interpolatedString;\n\toffset = 0;\n\toutput = [];\n\tstack = [];\n\ttokenizer.lastIndex = 0;\n\n\tif ( ! isValidConversionMap( conversionMap ) ) {\n\t\tthrow new TypeError(\n\t\t\t'The conversionMap provided is not valid. It must be an object with values that are WPElements'\n\t\t);\n\t}\n\n\tdo {\n\t\t// twiddle our thumbs\n\t} while ( proceed( conversionMap ) );\n\treturn createElement( Fragment, null, ...output );\n};\n\n/**\n * Validate conversion map.\n *\n * A map is considered valid if it's an object and every value in the object\n * is a WPElement\n *\n * @private\n *\n * @param {Object} conversionMap The map being validated.\n *\n * @return {boolean} True means the map is valid.\n */\nconst isValidConversionMap = ( conversionMap ) => {\n\tconst isObject = typeof conversionMap === 'object';\n\tconst values = isObject && Object.values( conversionMap );\n\treturn (\n\t\tisObject &&\n\t\tvalues.length &&\n\t\tvalues.every( ( element ) => isValidElement( element ) )\n\t);\n};\n\n/**\n * This is the iterator over the matches in the string.\n *\n * @private\n *\n * @param {Object} conversionMap The conversion map for the string.\n *\n * @return {boolean} true for continuing to iterate, false for finished.\n */\nfunction proceed( conversionMap ) {\n\tconst next = nextToken();\n\tconst [ tokenType, name, startOffset, tokenLength ] = next;\n\tconst stackDepth = stack.length;\n\tconst leadingTextStart = startOffset > offset ? offset : null;\n\tif ( ! conversionMap[ name ] ) {\n\t\taddText();\n\t\treturn false;\n\t}\n\tswitch ( tokenType ) {\n\t\tcase 'no-more-tokens':\n\t\t\tif ( stackDepth !== 0 ) {\n\t\t\t\tconst {\n\t\t\t\t\tleadingTextStart: stackLeadingText,\n\t\t\t\t\ttokenStart,\n\t\t\t\t} = stack.pop();\n\t\t\t\toutput.push( indoc.substr( stackLeadingText, tokenStart ) );\n\t\t\t}\n\t\t\taddText();\n\t\t\treturn false;\n\n\t\tcase 'self-closed':\n\t\t\tif ( 0 === stackDepth ) {\n\t\t\t\tif ( null !== leadingTextStart ) {\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tindoc.substr(\n\t\t\t\t\t\t\tleadingTextStart,\n\t\t\t\t\t\t\tstartOffset - leadingTextStart\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\toutput.push( conversionMap[ name ] );\n\t\t\t\toffset = startOffset + tokenLength;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Otherwise we found an inner element.\n\t\t\taddChild(\n\t\t\t\tcreateFrame( conversionMap[ name ], startOffset, tokenLength )\n\t\t\t);\n\t\t\toffset = startOffset + tokenLength;\n\t\t\treturn true;\n\n\t\tcase 'opener':\n\t\t\tstack.push(\n\t\t\t\tcreateFrame(\n\t\t\t\t\tconversionMap[ name ],\n\t\t\t\t\tstartOffset,\n\t\t\t\t\ttokenLength,\n\t\t\t\t\tstartOffset + tokenLength,\n\t\t\t\t\tleadingTextStart\n\t\t\t\t)\n\t\t\t);\n\t\t\toffset = startOffset + tokenLength;\n\t\t\treturn true;\n\n\t\tcase 'closer':\n\t\t\t// If we're not nesting then this is easy - close the block.\n\t\t\tif ( 1 === stackDepth ) {\n\t\t\t\tcloseOuterElement( startOffset );\n\t\t\t\toffset = startOffset + tokenLength;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Otherwise we're nested and we have to close out the current\n\t\t\t// block and add it as a innerBlock to the parent.\n\t\t\tconst stackTop = stack.pop();\n\t\t\tconst text = indoc.substr(\n\t\t\t\tstackTop.prevOffset,\n\t\t\t\tstartOffset - stackTop.prevOffset\n\t\t\t);\n\t\t\tstackTop.children.push( text );\n\t\t\tstackTop.prevOffset = startOffset + tokenLength;\n\t\t\tconst frame = createFrame(\n\t\t\t\tstackTop.element,\n\t\t\t\tstackTop.tokenStart,\n\t\t\t\tstackTop.tokenLength,\n\t\t\t\tstartOffset + tokenLength\n\t\t\t);\n\t\t\tframe.children = stackTop.children;\n\t\t\taddChild( frame );\n\t\t\toffset = startOffset + tokenLength;\n\t\t\treturn true;\n\n\t\tdefault:\n\t\t\taddText();\n\t\t\treturn false;\n\t}\n}\n\n/**\n * Grabs the next token match in the string and returns it's details.\n *\n * @private\n *\n * @return {Array} An array of details for the token matched.\n */\nfunction nextToken() {\n\tconst matches = tokenizer.exec( indoc );\n\t// We have no more tokens.\n\tif ( null === matches ) {\n\t\treturn [ 'no-more-tokens' ];\n\t}\n\tconst startedAt = matches.index;\n\tconst [ match, isClosing, name, isSelfClosed ] = matches;\n\tconst length = match.length;\n\tif ( isSelfClosed ) {\n\t\treturn [ 'self-closed', name, startedAt, length ];\n\t}\n\tif ( isClosing ) {\n\t\treturn [ 'closer', name, startedAt, length ];\n\t}\n\treturn [ 'opener', name, startedAt, length ];\n}\n\n/**\n * Pushes text extracted from the indoc string to the output stack given the\n * current rawLength value and offset (if rawLength is provided ) or the\n * indoc.length and offset.\n *\n * @private\n */\nfunction addText() {\n\tconst length = indoc.length - offset;\n\tif ( 0 === length ) {\n\t\treturn;\n\t}\n\toutput.push( indoc.substr( offset, length ) );\n}\n\n/**\n * Pushes a child element to the associated parent element's children for the\n * parent currently active in the stack.\n *\n * @private\n *\n * @param {Frame} frame The Frame containing the child element and it's\n * token information.\n */\nfunction addChild( frame ) {\n\tconst { element, tokenStart, tokenLength, prevOffset, children } = frame;\n\tconst parent = stack[ stack.length - 1 ];\n\tconst text = indoc.substr(\n\t\tparent.prevOffset,\n\t\ttokenStart - parent.prevOffset\n\t);\n\n\tif ( text ) {\n\t\tparent.children.push( text );\n\t}\n\n\tparent.children.push( cloneElement( element, null, ...children ) );\n\tparent.prevOffset = prevOffset ? prevOffset : tokenStart + tokenLength;\n}\n\n/**\n * This is called for closing tags. It creates the element currently active in\n * the stack.\n *\n * @private\n *\n * @param {number} endOffset Offset at which the closing tag for the element\n * begins in the string. If this is greater than the\n * prevOffset attached to the element, then this\n * helps capture any remaining nested text nodes in\n * the element.\n */\nfunction closeOuterElement( endOffset ) {\n\tconst {\n\t\telement,\n\t\tleadingTextStart,\n\t\tprevOffset,\n\t\ttokenStart,\n\t\tchildren,\n\t} = stack.pop();\n\n\tconst text = endOffset\n\t\t? indoc.substr( prevOffset, endOffset - prevOffset )\n\t\t: indoc.substr( prevOffset );\n\n\tif ( text ) {\n\t\tchildren.push( text );\n\t}\n\n\tif ( null !== leadingTextStart ) {\n\t\toutput.push(\n\t\t\tindoc.substr( leadingTextStart, tokenStart - leadingTextStart )\n\t\t);\n\t}\n\n\toutput.push( cloneElement( element, null, ...children ) );\n}\n\nexport default createInterpolateElement;\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"lodash\"];","/**\n * External dependencies\n */\n// eslint-disable-next-line @typescript-eslint/no-restricted-imports\nimport {\n\tChildren,\n\tcloneElement,\n\tComponent,\n\tcreateContext,\n\tcreateElement,\n\tcreateRef,\n\tforwardRef,\n\tFragment,\n\tisValidElement,\n\tmemo,\n\tStrictMode,\n\tuseState,\n\tuseEffect,\n\tuseContext,\n\tuseReducer,\n\tuseCallback,\n\tuseMemo,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseLayoutEffect,\n\tuseDebugValue,\n\tlazy,\n\tSuspense,\n} from 'react';\nimport { isString } from 'lodash';\n\n/**\n * Object containing a React element.\n *\n * @typedef {import('react').ReactElement} WPElement\n */\n\n/**\n * Object containing a React component.\n *\n * @typedef {import('react').ComponentType} WPComponent\n */\n\n/**\n * Object containing a React synthetic event.\n *\n * @typedef {import('react').SyntheticEvent} WPSyntheticEvent\n */\n\n/**\n * Object that provides utilities for dealing with React children.\n */\nexport { Children };\n\n/**\n * Creates a copy of an element with extended props.\n *\n * @param {WPElement} element Element\n * @param {?Object} props Props to apply to cloned element\n *\n * @return {WPElement} Cloned element.\n */\nexport { cloneElement };\n\n/**\n * A base class to create WordPress Components (Refs, state and lifecycle hooks)\n */\nexport { Component };\n\n/**\n * Creates a context object containing two components: a provider and consumer.\n *\n * @param {Object} defaultValue A default data stored in the context.\n *\n * @return {Object} Context object.\n */\nexport { createContext };\n\n/**\n * Returns a new element of given type. Type can be either a string tag name or\n * another function which itself returns an element.\n *\n * @param {?(string|Function)} type Tag name or element creator\n * @param {Object} props Element properties, either attribute\n * set to apply to DOM node or values to\n * pass through to element creator\n * @param {...WPElement} children Descendant elements\n *\n * @return {WPElement} Element.\n */\nexport { createElement };\n\n/**\n * Returns an object tracking a reference to a rendered element via its\n * `current` property as either a DOMElement or Element, dependent upon the\n * type of element rendered with the ref attribute.\n *\n * @return {Object} Ref object.\n */\nexport { createRef };\n\n/**\n * Component enhancer used to enable passing a ref to its wrapped component.\n * Pass a function argument which receives `props` and `ref` as its arguments,\n * returning an element using the forwarded ref. The return value is a new\n * component which forwards its ref.\n *\n * @param {Function} forwarder Function passed `props` and `ref`, expected to\n * return an element.\n *\n * @return {WPComponent} Enhanced component.\n */\nexport { forwardRef };\n\n/**\n * A component which renders its children without any wrapping element.\n */\nexport { Fragment };\n\n/**\n * Checks if an object is a valid WPElement.\n *\n * @param {Object} objectToCheck The object to be checked.\n *\n * @return {boolean} true if objectToTest is a valid WPElement and false otherwise.\n */\nexport { isValidElement };\n\n/**\n * @see https://reactjs.org/docs/react-api.html#reactmemo\n */\nexport { memo };\n\n/**\n * Component that activates additional checks and warnings for its descendants.\n */\nexport { StrictMode };\n\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usecallback\n */\nexport { useCallback };\n\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usecontext\n */\nexport { useContext };\n\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usedebugvalue\n */\nexport { useDebugValue };\n\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useeffect\n */\nexport { useEffect };\n\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useimperativehandle\n */\nexport { useImperativeHandle };\n\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\nexport { useLayoutEffect };\n\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usememo\n */\nexport { useMemo };\n\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usereducer\n */\nexport { useReducer };\n\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n */\nexport { useRef };\n\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usestate\n */\nexport { useState };\n\n/**\n * @see https://reactjs.org/docs/react-api.html#reactlazy\n */\nexport { lazy };\n\n/**\n * @see https://reactjs.org/docs/react-api.html#reactsuspense\n */\nexport { Suspense };\n\n/**\n * Concatenate two or more React children objects.\n *\n * @param {...?Object} childrenArguments Array of children arguments (array of arrays/strings/objects) to concatenate.\n *\n * @return {Array} The concatenated value.\n */\nexport function concatChildren( ...childrenArguments ) {\n\treturn childrenArguments.reduce( ( accumulator, children, i ) => {\n\t\tChildren.forEach( children, ( child, j ) => {\n\t\t\tif ( child && 'string' !== typeof child ) {\n\t\t\t\tchild = cloneElement( child, {\n\t\t\t\t\tkey: [ i, j ].join(),\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\taccumulator.push( child );\n\t\t} );\n\n\t\treturn accumulator;\n\t}, [] );\n}\n\n/**\n * Switches the nodeName of all the elements in the children object.\n *\n * @param {?Object} children Children object.\n * @param {string} nodeName Node name.\n *\n * @return {?Object} The updated children object.\n */\nexport function switchChildrenNodeName( children, nodeName ) {\n\treturn (\n\t\tchildren &&\n\t\tChildren.map( children, ( elt, index ) => {\n\t\t\tif ( isString( elt ) ) {\n\t\t\t\treturn createElement( nodeName, { key: index }, elt );\n\t\t\t}\n\t\t\tconst { children: childrenProp, ...props } = elt.props;\n\t\t\treturn createElement(\n\t\t\t\tnodeName,\n\t\t\t\t{ key: index, ...props },\n\t\t\t\tchildrenProp\n\t\t\t);\n\t\t} )\n\t);\n}\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"ReactDOM\"];","/**\n * External dependencies\n */\nimport { isArray, isNumber, isString } from 'lodash';\n\n/**\n * Checks if the provided WP element is empty.\n *\n * @param {*} element WP element to check.\n * @return {boolean} True when an element is considered empty.\n */\nexport const isEmptyElement = ( element ) => {\n\tif ( isNumber( element ) ) {\n\t\treturn false;\n\t}\n\n\tif ( isString( element ) || isArray( element ) ) {\n\t\treturn ! element.length;\n\t}\n\n\treturn ! element;\n};\n","/**\n * Parts of this source were derived and modified from react-native-web,\n * released under the MIT license.\n *\n * Copyright (c) 2016-present, Nicolas Gallagher.\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n */\nconst Platform = {\n\tOS: 'web',\n\tselect: ( spec ) => ( 'web' in spec ? spec.web : spec.default ),\n\tisWeb: true,\n};\n/**\n * Component used to detect the current Platform being used.\n * Use Platform.OS === 'web' to detect if running on web enviroment.\n *\n * This is the same concept as the React Native implementation.\n *\n * @see https://facebook.github.io/react-native/docs/platform-specific-code#platform-module\n *\n * Here is an example of how to use the select method:\n * @example\n * ```js\n * import { Platform } from '@wordpress/element';\n *\n * const placeholderLabel = Platform.select( {\n * native: __( 'Add media' ),\n * web: __( 'Drag images, upload new ones or select files from your library.' ),\n * } );\n * ```\n */\nexport default Platform;\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"escapeHtml\"];","/**\n * Internal dependencies\n */\nimport { Children, createElement } from './react';\n\n// Disable reason: JSDoc linter doesn't seem to parse the union (`&`) correctly.\n/** @typedef {{children: string} & import('react').ComponentPropsWithoutRef<'div'>} RawHTMLProps */\n\n/**\n * Component used as equivalent of Fragment with unescaped HTML, in cases where\n * it is desirable to render dangerous HTML without needing a wrapper element.\n * To preserve additional props, a `div` wrapper _will_ be created if any props\n * aside from `children` are passed.\n *\n * @param {RawHTMLProps} props Children should be a string of HTML or an array\n * of strings. Other props will be passed through\n * to the div wrapper.\n *\n * @return {JSX.Element} Dangerously-rendering component.\n */\nexport default function RawHTML( { children, ...props } ) {\n\tlet rawHtml = '';\n\n\t// Cast children as an array, and concatenate each element if it is a string.\n\tChildren.toArray( children ).forEach( ( child ) => {\n\t\tif ( typeof child === 'string' && child.trim() !== '' ) {\n\t\t\trawHtml += child;\n\t\t}\n\t} );\n\n\t// The `div` wrapper will be stripped by the `renderElement` serializer in\n\t// `./serialize.js` unless there are non-children props present.\n\treturn createElement( 'div', {\n\t\tdangerouslySetInnerHTML: { __html: rawHtml },\n\t\t...props,\n\t} );\n}\n","/**\n * Parts of this source were derived and modified from fast-react-render,\n * released under the MIT license.\n *\n * https://github.com/alt-j/fast-react-render\n *\n * Copyright (c) 2016 Andrey Morozov\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * External dependencies\n */\nimport {\n\tisEmpty,\n\tcastArray,\n\tomit,\n\tstartsWith,\n\tkebabCase,\n\tisPlainObject,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tescapeHTML,\n\tescapeAttribute,\n\tisValidAttributeName,\n} from '@wordpress/escape-html';\n\n/**\n * Internal dependencies\n */\nimport { createContext, Fragment, StrictMode, forwardRef } from './react';\nimport RawHTML from './raw-html';\n\n/** @typedef {import('./react').WPElement} WPElement */\n\nconst { Provider, Consumer } = createContext( undefined );\nconst ForwardRef = forwardRef( () => {\n\treturn null;\n} );\n\n/**\n * Valid attribute types.\n *\n * @type {Set}\n */\nconst ATTRIBUTES_TYPES = new Set( [ 'string', 'boolean', 'number' ] );\n\n/**\n * Element tags which can be self-closing.\n *\n * @type {Set}\n */\nconst SELF_CLOSING_TAGS = new Set( [\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'command',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'keygen',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr',\n] );\n\n/**\n * Boolean attributes are attributes whose presence as being assigned is\n * meaningful, even if only empty.\n *\n * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes\n * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n *\n * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]\n * .filter( ( tr ) => tr.lastChild.textContent.indexOf( 'Boolean attribute' ) !== -1 )\n * .reduce( ( result, tr ) => Object.assign( result, {\n * [ tr.firstChild.textContent.trim() ]: true\n * } ), {} ) ).sort();\n *\n * @type {Set}\n */\nconst BOOLEAN_ATTRIBUTES = new Set( [\n\t'allowfullscreen',\n\t'allowpaymentrequest',\n\t'allowusermedia',\n\t'async',\n\t'autofocus',\n\t'autoplay',\n\t'checked',\n\t'controls',\n\t'default',\n\t'defer',\n\t'disabled',\n\t'download',\n\t'formnovalidate',\n\t'hidden',\n\t'ismap',\n\t'itemscope',\n\t'loop',\n\t'multiple',\n\t'muted',\n\t'nomodule',\n\t'novalidate',\n\t'open',\n\t'playsinline',\n\t'readonly',\n\t'required',\n\t'reversed',\n\t'selected',\n\t'typemustmatch',\n] );\n\n/**\n * Enumerated attributes are attributes which must be of a specific value form.\n * Like boolean attributes, these are meaningful if specified, even if not of a\n * valid enumerated value.\n *\n * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute\n * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n *\n * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]\n * .filter( ( tr ) => /^(\"(.+?)\";?\\s*)+/.test( tr.lastChild.textContent.trim() ) )\n * .reduce( ( result, tr ) => Object.assign( result, {\n * [ tr.firstChild.textContent.trim() ]: true\n * } ), {} ) ).sort();\n *\n * Some notable omissions:\n *\n * - `alt`: https://blog.whatwg.org/omit-alt\n *\n * @type {Set}\n */\nconst ENUMERATED_ATTRIBUTES = new Set( [\n\t'autocapitalize',\n\t'autocomplete',\n\t'charset',\n\t'contenteditable',\n\t'crossorigin',\n\t'decoding',\n\t'dir',\n\t'draggable',\n\t'enctype',\n\t'formenctype',\n\t'formmethod',\n\t'http-equiv',\n\t'inputmode',\n\t'kind',\n\t'method',\n\t'preload',\n\t'scope',\n\t'shape',\n\t'spellcheck',\n\t'translate',\n\t'type',\n\t'wrap',\n] );\n\n/**\n * Set of CSS style properties which support assignment of unitless numbers.\n * Used in rendering of style properties, where `px` unit is assumed unless\n * property is included in this set or value is zero.\n *\n * Generated via:\n *\n * Object.entries( document.createElement( 'div' ).style )\n * .filter( ( [ key ] ) => (\n * ! /^(webkit|ms|moz)/.test( key ) &&\n * ( e.style[ key ] = 10 ) &&\n * e.style[ key ] === '10'\n * ) )\n * .map( ( [ key ] ) => key )\n * .sort();\n *\n * @type {Set}\n */\nconst CSS_PROPERTIES_SUPPORTS_UNITLESS = new Set( [\n\t'animation',\n\t'animationIterationCount',\n\t'baselineShift',\n\t'borderImageOutset',\n\t'borderImageSlice',\n\t'borderImageWidth',\n\t'columnCount',\n\t'cx',\n\t'cy',\n\t'fillOpacity',\n\t'flexGrow',\n\t'flexShrink',\n\t'floodOpacity',\n\t'fontWeight',\n\t'gridColumnEnd',\n\t'gridColumnStart',\n\t'gridRowEnd',\n\t'gridRowStart',\n\t'lineHeight',\n\t'opacity',\n\t'order',\n\t'orphans',\n\t'r',\n\t'rx',\n\t'ry',\n\t'shapeImageThreshold',\n\t'stopOpacity',\n\t'strokeDasharray',\n\t'strokeDashoffset',\n\t'strokeMiterlimit',\n\t'strokeOpacity',\n\t'strokeWidth',\n\t'tabSize',\n\t'widows',\n\t'x',\n\t'y',\n\t'zIndex',\n\t'zoom',\n] );\n\n/**\n * Returns true if the specified string is prefixed by one of an array of\n * possible prefixes.\n *\n * @param {string} string String to check.\n * @param {string[]} prefixes Possible prefixes.\n *\n * @return {boolean} Whether string has prefix.\n */\nexport function hasPrefix( string, prefixes ) {\n\treturn prefixes.some( ( prefix ) => string.indexOf( prefix ) === 0 );\n}\n\n/**\n * Returns true if the given prop name should be ignored in attributes\n * serialization, or false otherwise.\n *\n * @param {string} attribute Attribute to check.\n *\n * @return {boolean} Whether attribute should be ignored.\n */\nfunction isInternalAttribute( attribute ) {\n\treturn 'key' === attribute || 'children' === attribute;\n}\n\n/**\n * Returns the normal form of the element's attribute value for HTML.\n *\n * @param {string} attribute Attribute name.\n * @param {*} value Non-normalized attribute value.\n *\n * @return {*} Normalized attribute value.\n */\nfunction getNormalAttributeValue( attribute, value ) {\n\tswitch ( attribute ) {\n\t\tcase 'style':\n\t\t\treturn renderStyle( value );\n\t}\n\n\treturn value;\n}\n/**\n * This is a map of all SVG attributes that have dashes. Map(lower case prop => dashed lower case attribute).\n * We need this to render e.g strokeWidth as stroke-width.\n *\n * List from: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute.\n */\nconst SVG_ATTRIBUTE_WITH_DASHES_LIST = [\n\t'accentHeight',\n\t'alignmentBaseline',\n\t'arabicForm',\n\t'baselineShift',\n\t'capHeight',\n\t'clipPath',\n\t'clipRule',\n\t'colorInterpolation',\n\t'colorInterpolationFilters',\n\t'colorProfile',\n\t'colorRendering',\n\t'dominantBaseline',\n\t'enableBackground',\n\t'fillOpacity',\n\t'fillRule',\n\t'floodColor',\n\t'floodOpacity',\n\t'fontFamily',\n\t'fontSize',\n\t'fontSizeAdjust',\n\t'fontStretch',\n\t'fontStyle',\n\t'fontVariant',\n\t'fontWeight',\n\t'glyphName',\n\t'glyphOrientationHorizontal',\n\t'glyphOrientationVertical',\n\t'horizAdvX',\n\t'horizOriginX',\n\t'imageRendering',\n\t'letterSpacing',\n\t'lightingColor',\n\t'markerEnd',\n\t'markerMid',\n\t'markerStart',\n\t'overlinePosition',\n\t'overlineThickness',\n\t'paintOrder',\n\t'panose1',\n\t'pointerEvents',\n\t'renderingIntent',\n\t'shapeRendering',\n\t'stopColor',\n\t'stopOpacity',\n\t'strikethroughPosition',\n\t'strikethroughThickness',\n\t'strokeDasharray',\n\t'strokeDashoffset',\n\t'strokeLinecap',\n\t'strokeLinejoin',\n\t'strokeMiterlimit',\n\t'strokeOpacity',\n\t'strokeWidth',\n\t'textAnchor',\n\t'textDecoration',\n\t'textRendering',\n\t'underlinePosition',\n\t'underlineThickness',\n\t'unicodeBidi',\n\t'unicodeRange',\n\t'unitsPerEm',\n\t'vAlphabetic',\n\t'vHanging',\n\t'vIdeographic',\n\t'vMathematical',\n\t'vectorEffect',\n\t'vertAdvY',\n\t'vertOriginX',\n\t'vertOriginY',\n\t'wordSpacing',\n\t'writingMode',\n\t'xmlnsXlink',\n\t'xHeight',\n].reduce( ( map, attribute ) => {\n\t// The keys are lower-cased for more robust lookup.\n\tmap[ attribute.toLowerCase() ] = attribute;\n\treturn map;\n}, {} );\n\n/**\n * This is a map of all case-sensitive SVG attributes. Map(lowercase key => proper case attribute).\n * The keys are lower-cased for more robust lookup.\n * Note that this list only contains attributes that contain at least one capital letter.\n * Lowercase attributes don't need mapping, since we lowercase all attributes by default.\n */\nconst CASE_SENSITIVE_SVG_ATTRIBUTES = [\n\t'allowReorder',\n\t'attributeName',\n\t'attributeType',\n\t'autoReverse',\n\t'baseFrequency',\n\t'baseProfile',\n\t'calcMode',\n\t'clipPathUnits',\n\t'contentScriptType',\n\t'contentStyleType',\n\t'diffuseConstant',\n\t'edgeMode',\n\t'externalResourcesRequired',\n\t'filterRes',\n\t'filterUnits',\n\t'glyphRef',\n\t'gradientTransform',\n\t'gradientUnits',\n\t'kernelMatrix',\n\t'kernelUnitLength',\n\t'keyPoints',\n\t'keySplines',\n\t'keyTimes',\n\t'lengthAdjust',\n\t'limitingConeAngle',\n\t'markerHeight',\n\t'markerUnits',\n\t'markerWidth',\n\t'maskContentUnits',\n\t'maskUnits',\n\t'numOctaves',\n\t'pathLength',\n\t'patternContentUnits',\n\t'patternTransform',\n\t'patternUnits',\n\t'pointsAtX',\n\t'pointsAtY',\n\t'pointsAtZ',\n\t'preserveAlpha',\n\t'preserveAspectRatio',\n\t'primitiveUnits',\n\t'refX',\n\t'refY',\n\t'repeatCount',\n\t'repeatDur',\n\t'requiredExtensions',\n\t'requiredFeatures',\n\t'specularConstant',\n\t'specularExponent',\n\t'spreadMethod',\n\t'startOffset',\n\t'stdDeviation',\n\t'stitchTiles',\n\t'suppressContentEditableWarning',\n\t'suppressHydrationWarning',\n\t'surfaceScale',\n\t'systemLanguage',\n\t'tableValues',\n\t'targetX',\n\t'targetY',\n\t'textLength',\n\t'viewBox',\n\t'viewTarget',\n\t'xChannelSelector',\n\t'yChannelSelector',\n].reduce( ( map, attribute ) => {\n\t// The keys are lower-cased for more robust lookup.\n\tmap[ attribute.toLowerCase() ] = attribute;\n\treturn map;\n}, {} );\n\n/**\n * This is a map of all SVG attributes that have colons.\n * Keys are lower-cased and stripped of their colons for more robust lookup.\n */\nconst SVG_ATTRIBUTES_WITH_COLONS = [\n\t'xlink:actuate',\n\t'xlink:arcrole',\n\t'xlink:href',\n\t'xlink:role',\n\t'xlink:show',\n\t'xlink:title',\n\t'xlink:type',\n\t'xml:base',\n\t'xml:lang',\n\t'xml:space',\n\t'xmlns:xlink',\n].reduce( ( map, attribute ) => {\n\tmap[ attribute.replace( ':', '' ).toLowerCase() ] = attribute;\n\treturn map;\n}, {} );\n\n/**\n * Returns the normal form of the element's attribute name for HTML.\n *\n * @param {string} attribute Non-normalized attribute name.\n *\n * @return {string} Normalized attribute name.\n */\nfunction getNormalAttributeName( attribute ) {\n\tswitch ( attribute ) {\n\t\tcase 'htmlFor':\n\t\t\treturn 'for';\n\n\t\tcase 'className':\n\t\t\treturn 'class';\n\t}\n\tconst attributeLowerCase = attribute.toLowerCase();\n\n\tif ( CASE_SENSITIVE_SVG_ATTRIBUTES[ attributeLowerCase ] ) {\n\t\treturn CASE_SENSITIVE_SVG_ATTRIBUTES[ attributeLowerCase ];\n\t} else if ( SVG_ATTRIBUTE_WITH_DASHES_LIST[ attributeLowerCase ] ) {\n\t\treturn kebabCase(\n\t\t\tSVG_ATTRIBUTE_WITH_DASHES_LIST[ attributeLowerCase ]\n\t\t);\n\t} else if ( SVG_ATTRIBUTES_WITH_COLONS[ attributeLowerCase ] ) {\n\t\treturn SVG_ATTRIBUTES_WITH_COLONS[ attributeLowerCase ];\n\t}\n\n\treturn attributeLowerCase;\n}\n\n/**\n * Returns the normal form of the style property name for HTML.\n *\n * - Converts property names to kebab-case, e.g. 'backgroundColor' → 'background-color'\n * - Leaves custom attributes alone, e.g. '--myBackgroundColor' → '--myBackgroundColor'\n * - Converts vendor-prefixed property names to -kebab-case, e.g. 'MozTransform' → '-moz-transform'\n *\n * @param {string} property Property name.\n *\n * @return {string} Normalized property name.\n */\nfunction getNormalStylePropertyName( property ) {\n\tif ( startsWith( property, '--' ) ) {\n\t\treturn property;\n\t}\n\n\tif ( hasPrefix( property, [ 'ms', 'O', 'Moz', 'Webkit' ] ) ) {\n\t\treturn '-' + kebabCase( property );\n\t}\n\n\treturn kebabCase( property );\n}\n\n/**\n * Returns the normal form of the style property value for HTML. Appends a\n * default pixel unit if numeric, not a unitless property, and not zero.\n *\n * @param {string} property Property name.\n * @param {*} value Non-normalized property value.\n *\n * @return {*} Normalized property value.\n */\nfunction getNormalStylePropertyValue( property, value ) {\n\tif (\n\t\ttypeof value === 'number' &&\n\t\t0 !== value &&\n\t\t! CSS_PROPERTIES_SUPPORTS_UNITLESS.has( property )\n\t) {\n\t\treturn value + 'px';\n\t}\n\n\treturn value;\n}\n\n/**\n * Serializes a React element to string.\n *\n * @param {import('react').ReactNode} element Element to serialize.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized element.\n */\nexport function renderElement( element, context, legacyContext = {} ) {\n\tif ( null === element || undefined === element || false === element ) {\n\t\treturn '';\n\t}\n\n\tif ( Array.isArray( element ) ) {\n\t\treturn renderChildren( element, context, legacyContext );\n\t}\n\n\tswitch ( typeof element ) {\n\t\tcase 'string':\n\t\t\treturn escapeHTML( element );\n\n\t\tcase 'number':\n\t\t\treturn element.toString();\n\t}\n\n\tconst {\n\t\ttype,\n\t\tprops,\n\t} = /** @type {{type?: any, props?: any}} */ ( element );\n\n\tswitch ( type ) {\n\t\tcase StrictMode:\n\t\tcase Fragment:\n\t\t\treturn renderChildren( props.children, context, legacyContext );\n\n\t\tcase RawHTML:\n\t\t\tconst { children, ...wrapperProps } = props;\n\n\t\t\treturn renderNativeComponent(\n\t\t\t\tisEmpty( wrapperProps ) ? null : 'div',\n\t\t\t\t{\n\t\t\t\t\t...wrapperProps,\n\t\t\t\t\tdangerouslySetInnerHTML: { __html: children },\n\t\t\t\t},\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\t}\n\n\tswitch ( typeof type ) {\n\t\tcase 'string':\n\t\t\treturn renderNativeComponent( type, props, context, legacyContext );\n\n\t\tcase 'function':\n\t\t\tif (\n\t\t\t\ttype.prototype &&\n\t\t\t\ttypeof type.prototype.render === 'function'\n\t\t\t) {\n\t\t\t\treturn renderComponent( type, props, context, legacyContext );\n\t\t\t}\n\n\t\t\treturn renderElement(\n\t\t\t\ttype( props, legacyContext ),\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\t}\n\n\tswitch ( type && type.$$typeof ) {\n\t\tcase Provider.$$typeof:\n\t\t\treturn renderChildren( props.children, props.value, legacyContext );\n\n\t\tcase Consumer.$$typeof:\n\t\t\treturn renderElement(\n\t\t\t\tprops.children( context || type._currentValue ),\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\n\t\tcase ForwardRef.$$typeof:\n\t\t\treturn renderElement(\n\t\t\t\ttype.render( props ),\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\t}\n\n\treturn '';\n}\n\n/**\n * Serializes a native component type to string.\n *\n * @param {?string} type Native component type to serialize, or null if\n * rendering as fragment of children content.\n * @param {Object} props Props object.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized element.\n */\nexport function renderNativeComponent(\n\ttype,\n\tprops,\n\tcontext,\n\tlegacyContext = {}\n) {\n\tlet content = '';\n\tif ( type === 'textarea' && props.hasOwnProperty( 'value' ) ) {\n\t\t// Textarea children can be assigned as value prop. If it is, render in\n\t\t// place of children. Ensure to omit so it is not assigned as attribute\n\t\t// as well.\n\t\tcontent = renderChildren( props.value, context, legacyContext );\n\t\tprops = omit( props, 'value' );\n\t} else if (\n\t\tprops.dangerouslySetInnerHTML &&\n\t\ttypeof props.dangerouslySetInnerHTML.__html === 'string'\n\t) {\n\t\t// Dangerous content is left unescaped.\n\t\tcontent = props.dangerouslySetInnerHTML.__html;\n\t} else if ( typeof props.children !== 'undefined' ) {\n\t\tcontent = renderChildren( props.children, context, legacyContext );\n\t}\n\n\tif ( ! type ) {\n\t\treturn content;\n\t}\n\n\tconst attributes = renderAttributes( props );\n\n\tif ( SELF_CLOSING_TAGS.has( type ) ) {\n\t\treturn '<' + type + attributes + '/>';\n\t}\n\n\treturn '<' + type + attributes + '>' + content + '';\n}\n\n/** @typedef {import('./react').WPComponent} WPComponent */\n\n/**\n * Serializes a non-native component type to string.\n *\n * @param {WPComponent} Component Component type to serialize.\n * @param {Object} props Props object.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized element\n */\nexport function renderComponent(\n\tComponent,\n\tprops,\n\tcontext,\n\tlegacyContext = {}\n) {\n\tconst instance = new /** @type {import('react').ComponentClass} */ ( Component )(\n\t\tprops,\n\t\tlegacyContext\n\t);\n\n\tif (\n\t\ttypeof (\n\t\t\t// Ignore reason: Current prettier reformats parens and mangles type assertion\n\t\t\t// prettier-ignore\n\t\t\t/** @type {{getChildContext?: () => unknown}} */ ( instance ).getChildContext\n\t\t) === 'function'\n\t) {\n\t\tObject.assign(\n\t\t\tlegacyContext,\n\t\t\t/** @type {{getChildContext?: () => unknown}} */ ( instance ).getChildContext()\n\t\t);\n\t}\n\n\tconst html = renderElement( instance.render(), context, legacyContext );\n\n\treturn html;\n}\n\n/**\n * Serializes an array of children to string.\n *\n * @param {import('react').ReactNodeArray} children Children to serialize.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized children.\n */\nfunction renderChildren( children, context, legacyContext = {} ) {\n\tlet result = '';\n\n\tchildren = castArray( children );\n\n\tfor ( let i = 0; i < children.length; i++ ) {\n\t\tconst child = children[ i ];\n\n\t\tresult += renderElement( child, context, legacyContext );\n\t}\n\n\treturn result;\n}\n\n/**\n * Renders a props object as a string of HTML attributes.\n *\n * @param {Object} props Props object.\n *\n * @return {string} Attributes string.\n */\nexport function renderAttributes( props ) {\n\tlet result = '';\n\n\tfor ( const key in props ) {\n\t\tconst attribute = getNormalAttributeName( key );\n\t\tif ( ! isValidAttributeName( attribute ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet value = getNormalAttributeValue( key, props[ key ] );\n\n\t\t// If value is not of serializeable type, skip.\n\t\tif ( ! ATTRIBUTES_TYPES.has( typeof value ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Don't render internal attribute names.\n\t\tif ( isInternalAttribute( key ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst isBooleanAttribute = BOOLEAN_ATTRIBUTES.has( attribute );\n\n\t\t// Boolean attribute should be omitted outright if its value is false.\n\t\tif ( isBooleanAttribute && value === false ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst isMeaningfulAttribute =\n\t\t\tisBooleanAttribute ||\n\t\t\thasPrefix( key, [ 'data-', 'aria-' ] ) ||\n\t\t\tENUMERATED_ATTRIBUTES.has( attribute );\n\n\t\t// Only write boolean value as attribute if meaningful.\n\t\tif ( typeof value === 'boolean' && ! isMeaningfulAttribute ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tresult += ' ' + attribute;\n\n\t\t// Boolean attributes should write attribute name, but without value.\n\t\t// Mere presence of attribute name is effective truthiness.\n\t\tif ( isBooleanAttribute ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( typeof value === 'string' ) {\n\t\t\tvalue = escapeAttribute( value );\n\t\t}\n\n\t\tresult += '=\"' + value + '\"';\n\t}\n\n\treturn result;\n}\n\n/**\n * Renders a style object as a string attribute value.\n *\n * @param {Object} style Style object.\n *\n * @return {string} Style attribute value.\n */\nexport function renderStyle( style ) {\n\t// Only generate from object, e.g. tolerate string value.\n\tif ( ! isPlainObject( style ) ) {\n\t\treturn style;\n\t}\n\n\tlet result;\n\n\tfor ( const property in style ) {\n\t\tconst value = style[ property ];\n\t\tif ( null === value || undefined === value ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( result ) {\n\t\t\tresult += ';';\n\t\t} else {\n\t\t\tresult = '';\n\t\t}\n\n\t\tconst normalName = getNormalStylePropertyName( property );\n\t\tconst normalValue = getNormalStylePropertyValue( property, value );\n\t\tresult += normalName + ':' + normalValue;\n\t}\n\n\treturn result;\n}\n\nexport default renderElement;\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","window","indoc","offset","output","stack","tokenizer","createFrame","element","tokenStart","tokenLength","prevOffset","leadingTextStart","children","proceed","conversionMap","next","matches","exec","startedAt","index","match","isClosing","name","isSelfClosed","length","nextToken","tokenType","startOffset","stackDepth","addText","stackLeadingText","pop","push","substr","addChild","endOffset","text","cloneElement","closeOuterElement","stackTop","frame","parent","interpolatedString","lastIndex","isObject","values","every","isValidElement","isValidConversionMap","TypeError","createElement","Fragment","concatChildren","childrenArguments","reduce","accumulator","i","Children","child","j","join","switchChildrenNodeName","nodeName","elt","isString","childrenProp","props","isEmptyElement","isNumber","isArray","OS","select","spec","web","default","isWeb","RawHTML","rawHtml","forEach","trim","dangerouslySetInnerHTML","__html","Provider","Consumer","createContext","undefined","ForwardRef","forwardRef","ATTRIBUTES_TYPES","Set","SELF_CLOSING_TAGS","BOOLEAN_ATTRIBUTES","ENUMERATED_ATTRIBUTES","CSS_PROPERTIES_SUPPORTS_UNITLESS","hasPrefix","string","prefixes","some","prefix","indexOf","isInternalAttribute","attribute","getNormalAttributeValue","style","isPlainObject","result","property","getNormalStylePropertyName","getNormalStylePropertyValue","renderStyle","SVG_ATTRIBUTE_WITH_DASHES_LIST","map","toLowerCase","CASE_SENSITIVE_SVG_ATTRIBUTES","SVG_ATTRIBUTES_WITH_COLONS","replace","getNormalAttributeName","attributeLowerCase","kebabCase","startsWith","has","renderElement","context","legacyContext","Array","renderChildren","escapeHTML","toString","type","StrictMode","wrapperProps","renderNativeComponent","isEmpty","render","renderComponent","$$typeof","_currentValue","content","omit","attributes","renderAttributes","Component","instance","getChildContext","assign","html","castArray","isValidAttributeName","isBooleanAttribute","isMeaningfulAttribute","escapeAttribute"],"sourceRoot":""}