{"version":3,"file":"dom-serializer-ed2a0b3f.js","sources":["../../node_modules/dom-serializer/lib/esm/foreignNames.js","../../node_modules/dom-serializer/lib/esm/index.js"],"sourcesContent":["export const elementNames = new Map([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"clipPath\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feDropShadow\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"foreignObject\",\n \"glyphRef\",\n \"linearGradient\",\n \"radialGradient\",\n \"textPath\",\n].map((val) => [val.toLowerCase(), val]));\nexport const attributeNames = new Map([\n \"definitionURL\",\n \"attributeName\",\n \"attributeType\",\n \"baseFrequency\",\n \"baseProfile\",\n \"calcMode\",\n \"clipPathUnits\",\n \"diffuseConstant\",\n \"edgeMode\",\n \"filterUnits\",\n \"glyphRef\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keyPoints\",\n \"keySplines\",\n \"keyTimes\",\n \"lengthAdjust\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerUnits\",\n \"markerWidth\",\n \"maskContentUnits\",\n \"maskUnits\",\n \"numOctaves\",\n \"pathLength\",\n \"patternContentUnits\",\n \"patternTransform\",\n \"patternUnits\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"primitiveUnits\",\n \"refX\",\n \"refY\",\n \"repeatCount\",\n \"repeatDur\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"specularConstant\",\n \"specularExponent\",\n \"spreadMethod\",\n \"startOffset\",\n \"stdDeviation\",\n \"stitchTiles\",\n \"surfaceScale\",\n \"systemLanguage\",\n \"tableValues\",\n \"targetX\",\n \"targetY\",\n \"textLength\",\n \"viewBox\",\n \"viewTarget\",\n \"xChannelSelector\",\n \"yChannelSelector\",\n \"zoomAndPan\",\n].map((val) => [val.toLowerCase(), val]));\n","/*\n * Module dependencies\n */\nimport * as ElementType from \"domelementtype\";\nimport { encodeXML, escapeAttribute, escapeText } from \"entities\";\n/**\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\nimport { elementNames, attributeNames } from \"./foreignNames.js\";\nconst unencodedElements = new Set([\n \"style\",\n \"script\",\n \"xmp\",\n \"iframe\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"noscript\",\n]);\nfunction replaceQuotes(value) {\n return value.replace(/\"/g, \""\");\n}\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n var _a;\n if (!attributes)\n return;\n const encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false\n ? replaceQuotes\n : opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? encodeXML\n : escapeAttribute;\n return Object.keys(attributes)\n .map((key) => {\n var _a, _b;\n const value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return `${key}=\"${encode(value)}\"`;\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nconst singleTag = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nexport function render(node, options = {}) {\n const nodes = \"length\" in node ? node : [node];\n let output = \"\";\n for (let i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexport default render;\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n // @ts-expect-error We don't use `Doctype` yet\n case ElementType.Doctype:\n case ElementType.Directive:\n return renderDirective(node);\n case ElementType.Comment:\n return renderComment(node);\n case ElementType.CDATA:\n return renderCdata(node);\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n case ElementType.Text:\n return renderText(node, options);\n }\n}\nconst foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nconst foreignElements = new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n var _a;\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n if (elem.parent &&\n foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = { ...opts, xmlMode: false };\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = { ...opts, xmlMode: \"foreign\" };\n }\n let tag = `<${elem.name}`;\n const attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += ` ${attribs}`;\n }\n if (elem.children.length === 0 &&\n (opts.xmlMode\n ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false\n : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode)\n tag += \" \";\n tag += \"/>\";\n }\n else {\n tag += \">\";\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += ``;\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return `<${elem.data}>`;\n}\nfunction renderText(elem, opts) {\n var _a;\n let data = elem.data || \"\";\n // If entities weren't decoded, no need to encode them back\n if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false &&\n !(!opts.xmlMode &&\n elem.parent &&\n unencodedElements.has(elem.parent.name))) {\n data =\n opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? encodeXML(data)\n : escapeText(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return ``;\n}\nfunction renderComment(elem) {\n return ``;\n}\n"],"names":["elementNames","val","attributeNames","unencodedElements","replaceQuotes","value","formatAttributes","attributes","opts","_a","encode","encodeXML","escapeAttribute","key","_b","singleTag","render","node","options","nodes","output","i","renderNode","ElementType.Root","ElementType.Doctype","ElementType.Directive","renderDirective","ElementType.Comment","renderComment","ElementType.CDATA","renderCdata","ElementType.Script","ElementType.Style","ElementType.Tag","renderTag","ElementType.Text","renderText","foreignModeIntegrationPoints","foreignElements","elem","tag","attribs","data","escapeText"],"mappings":"kKAAO,MAAMA,EAAe,IAAI,IAAI,CAChC,WACA,cACA,eACA,eACA,gBACA,mBACA,WACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,eACA,gBACA,WACA,iBACA,iBACA,UACJ,EAAE,IAAKC,GAAQ,CAACA,EAAI,cAAeA,CAAG,CAAC,CAAC,EAC3BC,EAAiB,IAAI,IAAI,CAClC,gBACA,gBACA,gBACA,gBACA,cACA,WACA,gBACA,kBACA,WACA,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,eACA,iBACA,cACA,UACA,UACA,aACA,UACA,aACA,mBACA,mBACA,YACJ,EAAE,IAAKD,GAAQ,CAACA,EAAI,YAAa,EAAEA,CAAG,CAAC,CAAC,ECvFlCE,EAAoB,IAAI,IAAI,CAC9B,QACA,SACA,MACA,SACA,UACA,WACA,YACA,UACJ,CAAC,EACD,SAASC,EAAcC,EAAO,CAC1B,OAAOA,EAAM,QAAQ,KAAM,QAAQ,CACvC,CAIA,SAASC,EAAiBC,EAAYC,EAAM,CACxC,IAAIC,EACJ,GAAI,CAACF,EACD,OACJ,MAAMG,IAAWD,EAAKD,EAAK,kBAAoB,MAAQC,IAAO,OAASA,EAAKD,EAAK,kBAAoB,GAC/FJ,EACAI,EAAK,SAAWA,EAAK,iBAAmB,OACpCG,EACAC,EACV,OAAO,OAAO,KAAKL,CAAU,EACxB,IAAKM,GAAQ,CACd,IAAIJ,EAAIK,EACR,MAAMT,GAASI,EAAKF,EAAWM,CAAG,KAAO,MAAQJ,IAAO,OAASA,EAAK,GAKtE,OAJID,EAAK,UAAY,YAEjBK,GAAOC,EAAKZ,EAAe,IAAIW,CAAG,KAAO,MAAQC,IAAO,OAASA,EAAKD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","x_google_ignoreList":[0,1]}