{"version":3,"sources":["webpack:///./src/modules/IntroRichModule/IntroRichModule.types.ts","webpack:///./src/utils/htmlUtils.ts"],"names":["convert","data","TextBody","selector","fn","a","className","editHtml","html","edit","isStripParagraphs","el","document","createElement","innerHTML","stripParagraphs","forEach","e","item","childNodes","c","tag","tagName","toLowerCase","outerHTML","text","textContent","trim"],"mappings":"4FACA,0DASaA,EAAU,SAACC,GAKtB,OAJAA,EAAKC,SAAW,YACdD,EAAKC,SACL,CAAC,CAAEC,SAAU,IAAKC,GAAI,SAACC,GAAM,OAACA,EAAEC,UAAY,sBAEvCL,I,iCCfT,4CAOaM,EAAW,SACtBC,EACAC,EACAC,QADA,IAAAD,MAAA,SACA,IAAAC,OAAA,GAEA,IAAMC,EAAKC,SAASC,cAAc,OASlC,OARAF,EAAGG,UAAYN,EAEXE,GACFK,EAAgBJ,GAGlBF,EAAKO,QAAQ,SAACC,GAAM,mBAAIA,EAAEd,SAAUQ,GAAIK,QAAQ,SAACE,GAAS,OAAAD,EAAEb,GAAGc,OAExDP,EAAGG,WAGCC,EAAkB,SAACJ,GAC9B,IAAIH,EAAO,GACX,YAAQG,EAAGQ,YAAYH,QAAQ,SAACI,GAC9B,IAAMC,EAAMD,EAEZ,GAAIC,EAAIC,QAC4B,MAA9BD,EAAIC,QAAQC,cACdf,GAAQa,EAAIP,UAEZN,GAAQa,EAAIG,cAET,CACL,IAAMC,EAAOL,EACTK,IAAMjB,GAAQiB,EAAKC,YAAcD,EAAKC,YAAYC,OAAS,OAGnEhB,EAAGG,UAAYN","file":"175.3830cbf5906526451365.js","sourcesContent":["import ImageItem from '@/common/interfaces/ImageItem';\nimport { editHtml } from '@/utils/htmlUtils';\n\nexport interface IntroRichBlockViewModel {\n Title: string;\n TextBody: string;\n Image: ImageItem;\n AlternateImageLayout?: Boolean;\n}\n\nexport const convert = (data: IntroRichBlockViewModel): IntroRichBlockViewModel => {\n data.TextBody = editHtml(\n data.TextBody,\n [{ selector: 'a', fn: (a) => (a.className = 'cta cta--inline') }],\n );\n return data;\n};\n","import { toArray, qsa } from './domUtils';\n\nexport interface EditItem {\n selector: string;\n fn: (el: HTMLElement) => void;\n}\n\nexport const editHtml = (\n html: string,\n edit: EditItem[] = [],\n isStripParagraphs: boolean = false,\n) => {\n const el = document.createElement('div');\n el.innerHTML = html;\n\n if (isStripParagraphs) {\n stripParagraphs(el);\n }\n\n edit.forEach((e) => qsa(e.selector, el).forEach((item) => e.fn(item)));\n\n return el.innerHTML;\n};\n\nexport const stripParagraphs = (el: HTMLElement) => {\n let html = '';\n toArray(el.childNodes).forEach((c) => {\n const tag = c as HTMLElement;\n\n if (tag.tagName) {\n if (tag.tagName.toLowerCase() === 'p') {\n html += tag.innerHTML;\n } else {\n html += tag.outerHTML;\n }\n } else {\n const text = c as Text;\n if (text) html += text.textContent ? text.textContent.trim() : '';\n }\n });\n el.innerHTML = html;\n};\n\nexport const makeDropLetter = (html: string) => {\n return editHtml(\n html,\n [{ selector: 'p:first-of-type', fn: (p) => (p.className = 'text--first-letter') }],\n false,\n );\n};\n"],"sourceRoot":""}