{"version":3,"mappings":"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","names":["parseHtmlToJson","doc","element","parseElementsToJson","el","childEls","_a","getAllAttributes","childEl","attributes","i","transformHTMLToJson","htmlString","filterElements","contentAsDomDocument","Tags","wysiwygTagImports","defineAsyncComponent","__vitePreload","props","__props","resolvedHtml","__temp","__restore","_withAsyncContext","items","isVdv","useSiteIdent","SiteIdent"],"ignoreList":[],"sources":["../../../../src/components/components/cms/wysiwyg/htmlToJsonTransformer/utils/htmlTransformations.ts","../../../../src/components/components/cms/wysiwyg/htmlToJsonTransformer/transformHTMLToJson.ts","../../../../src/components/components/cms/wysiwyg/types.ts","../../../../src/components/components/cms/wysiwyg/components/tagHandlers/minilu/dynamicImportMap.ts","../../../../src/components/components/cms/wysiwyg/components/renderer/minilu/renderer.vue","../../../../src/components/components/cms/wysiwyg/components/tagHandlers/vdv/dynamicImportMap.ts","../../../../src/components/components/cms/wysiwyg/components/renderer/vdv/renderer.vue","../../../../src/components/components/cms/wysiwyg/wysiwyg.vue"],"sourcesContent":["import type { Tags, HTMLElementSimplified } from '../../types';\n\nexport function parseHtmlToJson(doc: Document): Array {\n const htmlElements = Array.from(doc.body.childNodes) as Array;\n return htmlElements.map((element) => parseElementsToJson(element));\n}\n\nfunction parseElementsToJson(el: Element): HTMLElementSimplified {\n const childEls = el.childNodes?.length\n ? (Array.from(el.childNodes) as Array)\n : [];\n\n return {\n tag: (el.tagName ?? el.nodeName) as Tags,\n attributes: getAllAttributes(el),\n classList: el.classList,\n innerHTML: el.innerHTML,\n textContent: el.textContent,\n children: childEls.map((childEl) => parseElementsToJson(childEl)),\n parent: el.parentElement,\n };\n}\n\nfunction getAllAttributes(el: Element) {\n const attributes = {} as Record;\n for (let i = 0; i < el.attributes?.length; i++) {\n attributes[el.attributes[i].nodeName] = el.attributes[i].nodeValue;\n }\n return attributes;\n}\n","import { parseHtmlToJson } from './utils/htmlTransformations';\nimport type { HTMLElementSimplified } from '~/components/components/cms/wysiwyg/types';\n/**\n * @Description\n * Parses a string to HTML and then maps the HTML-Tags+Content to specific vue-components\n * @returns\n * Vue Render Function with VNodes\n */\nexport default async function transformHTMLToJson(\n htmlString: string,\n filterElements?: (\n content: HTMLElementSimplified[],\n ) => HTMLElementSimplified[],\n): Promise> {\n let contentAsDomDocument: Document;\n\n if (!import.meta.client) {\n const jsdomParser = await import('./utils/jsdomParser');\n contentAsDomDocument = jsdomParser.parseHtmlString(htmlString);\n } else {\n const parser = new window.DOMParser();\n contentAsDomDocument = parser.parseFromString(htmlString, 'text/html');\n }\n\n if (contentAsDomDocument.body && !filterElements) {\n return parseHtmlToJson(contentAsDomDocument);\n }\n\n if (contentAsDomDocument.body && typeof filterElements === 'function') {\n return filterElements(parseHtmlToJson(contentAsDomDocument));\n }\n return [];\n}\n","export enum Tags {\n TEXT = '#text',\n A = 'A',\n BUTTON = 'BUTTON',\n H1 = 'H1',\n H2 = 'H2',\n H3 = 'H3',\n H4 = 'H4',\n H5 = 'H5',\n H6 = 'H6',\n UL = 'UL',\n OL = 'OL',\n P = 'P',\n IMG = 'IMG',\n IFRAME = 'IFRAME',\n STRONG = 'STRONG',\n EM = 'EM',\n BR = 'BR',\n SPAN = 'SPAN',\n LI = 'LI',\n TABLE = 'TABLE',\n TBODY = 'TBODY',\n TROW = 'TROW',\n}\n\nexport interface HTMLElementSimplified {\n tag: Tags;\n attributes: Record;\n classList: DOMTokenList;\n textContent?: string;\n innerHTML?: string;\n children: Array;\n parent?: HTMLElement;\n}\n","import { Tags } from '../../../types';\nexport const wysiwygTagImports: Partial<\n Record>\n> = {\n [Tags.TEXT]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/text.vue'\n ),\n ),\n [Tags.H1]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/headline.vue'\n ),\n ),\n [Tags.H2]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/headline.vue'\n ),\n ),\n [Tags.H3]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/headline.vue'\n ),\n ),\n [Tags.H4]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/headline.vue'\n ),\n ),\n [Tags.H5]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/headline.vue'\n ),\n ),\n [Tags.H6]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/headline.vue'\n ),\n ),\n [Tags.P]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/paragraph.vue'\n ),\n ),\n [Tags.IFRAME]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/iframe.vue'\n ),\n ),\n [Tags.SPAN]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/span.vue'\n ),\n ),\n [Tags.BUTTON]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/button.vue'\n ),\n ),\n [Tags.UL]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/list.vue'\n ),\n ),\n [Tags.OL]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/list.vue'\n ),\n ),\n [Tags.IMG]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/image.vue'\n ),\n ),\n [Tags.A]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/minilu/links.vue'\n ),\n ),\n [Tags.BR]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/br.vue'\n ),\n ),\n};\n","\n\n","import { Tags } from '../../../types';\nexport const wysiwygTagImports: Partial<\n Record>\n> = {\n [Tags.TEXT]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/text.vue'\n ),\n ),\n [Tags.H1]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/headline.vue'\n ),\n ),\n [Tags.H2]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/headline.vue'\n ),\n ),\n [Tags.H3]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/headline.vue'\n ),\n ),\n [Tags.H4]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/headline.vue'\n ),\n ),\n [Tags.H5]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/headline.vue'\n ),\n ),\n [Tags.H6]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/headline.vue'\n ),\n ),\n [Tags.P]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/paragraph.vue'\n ),\n ),\n [Tags.IFRAME]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/iframe.vue'\n ),\n ),\n [Tags.SPAN]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/span.vue'\n ),\n ),\n [Tags.BUTTON]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/button.vue'\n ),\n ),\n [Tags.UL]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/list.vue'\n ),\n ),\n [Tags.OL]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/list.vue'\n ),\n ),\n [Tags.IMG]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/image.vue'\n ),\n ),\n [Tags.A]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/links.vue'\n ),\n ),\n [Tags.BR]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/br.vue'\n ),\n ),\n [Tags.TABLE]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/table.vue'\n ),\n ),\n [Tags.TBODY]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/tbody.vue'\n ),\n ),\n [Tags.TROW]: defineAsyncComponent(\n () =>\n import(\n '~/components/components/cms/wysiwyg/components/tagHandlers/vdv/trow.vue'\n ),\n ),\n};\n","\n\n","\n\n\n\n"],"file":"_nuxt/DXAgOBtx.js"}