{"version":3,"sources":["../src/parser.ts","../src/utils.ts","../src/styles.ts","../src/parseMarkdownToJSX.ts","../src/components/emailMarkdown.tsx"],"names":["styles"],"mappings":";AAAA,SAAS,cAAwB;;;ACEjC,SAAS,gBAAgB;;;ACAzB,IAAM,aAAa,CAAC;AAEpB,IAAM,mBAAmB;AAAA,EACvB,YAAY;AAAA,EACZ,YAAY;AACd;AAEA,IAAM,KAAK;AAAA,EACT,GAAG;AAAA,EACH,UAAU;AACZ;AAEA,IAAM,KAAK;AAAA,EACT,GAAG;AAAA,EACH,UAAU;AACZ;AACA,IAAM,KAAK;AAAA,EACT,GAAG;AAAA,EACH,UAAU;AACZ;AACA,IAAM,KAAK;AAAA,EACT,GAAG;AAAA,EACH,UAAU;AACZ;AACA,IAAM,KAAK;AAAA,EACT,GAAG;AAAA,EACH,UAAU;AACZ;AACA,IAAM,KAAK;AAAA,EACT,GAAG;AAAA,EACH,UAAU;AACZ;AAEA,IAAM,OAAO;AAAA,EACX,YAAY;AACd;AAEA,IAAM,SAAS;AAAA,EACb,WAAW;AACb;AAEA,IAAM,aAAa;AAAA,EACjB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,IAAM,aAAa;AAAA,EACjB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AACd;AAEA,IAAM,YAAY;AAAA,EAChB,GAAG;AAAA,EACH,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,eAAe;AAAA,EACf,cAAc;AAAA,EACd,YAAY;AACd;AAEA,IAAM,OAAO;AAAA,EACX,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,iBAAiB;AACnB;AAEO,IAAM,SAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,EAAE,GAAG,WAAW,UAAU,aAAa;AAAA,EAClD,YAAY,EAAE,GAAG,YAAY,UAAU,aAAa;AAAA,EACpD,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,eAAe;AACjB;;;ADhGA,SAAS,aAAa,OAAgB;AACpC,MAAI,OAAO,UAAU,YAAY,MAAM,SAAS,GAAG,GAAG;AACpD,WAAO,MAAM,QAAQ,MAAM,QAAQ;AAAA,EACrC;AACA,SAAO;AACT;AAEO,SAAS,iBAAiB,KAAqB;AACpD,SAAO,IAAI,QAAQ,sBAAsB,OAAO,EAAE,YAAY;AAChE;AAEO,SAAS,wBACd,eACQ;AACR,MAAI,CAAC;AAAe,WAAO;AAE3B,QAAM,yBAAyB;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SAAO,OAAO,QAAQ,aAAa,EAChC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM;AAC1B,QACE,OAAO,UAAU,YACjB,uBAAuB,SAAS,QAAQ,GACxC;AACA,aAAO,GAAG,iBAAiB,QAAQ,KAAK;AAAA,IAC1C,OAAO;AACL,YAAM,eAAe,aAAa,KAAK;AACvC,aAAO,GAAG,iBAAiB,QAAQ,KAAK;AAAA,IAC1C;AAAA,EACF,CAAC,EACA,KAAK,GAAG;AACb;AAEO,IAAM,eAAe,CAAC;AAAA,EAC3B;AACF,MAAmC;AACjC,QAAM,cAAc,EAAE,GAAG,QAAQ,GAAG,aAAa;AAEjD,QAAM,iBAAiB,IAAI,SAAS;AAEpC,iBAAe,aAAa,CAAC,UAAU;AACrC,WAAO,cACL,wBAAwB,YAAY,UAAU,MAAM,KAChD,WAAW,wBAAwB,YAAY,UAAU,OACzD;AAAA,EACA;AAAA;AAAA,EACR;AAEA,iBAAe,KAAK,MAAM;AACxB,WAAO,MACL,wBAAwB,YAAY,EAAE,MAAM,KACxC,WAAW,wBAAwB,YAAY,EAAE,OACjD;AAAA,EAER;AAEA,iBAAe,OAAO,CAAC,SAAS;AAC9B,WAAO,KAAK,QAAQ,OAAO,EAAE,IAAI;AAEjC,WAAO,OACL,wBAAwB,YAAY,SAAS,MAAM,KAC/C,WAAW,wBAAwB,YAAY,SAAS,OACxD,YACI;AAAA;AAAA,EACZ;AAEA,iBAAe,WAAW,CAAC,SAAS;AAClC,WAAO,QACL,wBAAwB,YAAY,UAAU,MAAM,KAChD,WAAW,wBAAwB,YAAY,UAAU,OACzD,MACF;AAAA,EACN;AAEA,iBAAe,MAAM,CAAC,SAAS;AAC7B,WAAO,OACL,wBAAwB,YAAY,aAAa,MAAM,KACnD,WAAW,wBAAwB,YAAY,aAAa,OAC5D,MACF;AAAA,EACN;AAEA,iBAAe,KAAK,CAAC,SAAS;AAC5B,WAAO,MACL,wBAAwB,YAAY,MAAM,MAAM,KAC5C,WAAW,wBAAwB,YAAY,MAAM,OACrD,MACF;AAAA,EACN;AAEA,iBAAe,UAAU,CAAC,MAAM,UAAU;AACxC,WAAO,KAAK,QACV;AAAA,MACE,YAAY,IAAI,OAA2B;AAAA,IAC7C,MAAM,KACF,WAAW;AAAA,MACT,YAAY,IAAI,OAA2B;AAAA,IAC7C,OACA,MACF,UAAU;AAAA,EAChB;AAEA,iBAAe,KAAK,MAAM;AACxB,WAAO,MACL,wBAAwB,YAAY,EAAE,MAAM,KACxC,WAAW,wBAAwB,YAAY,EAAE,OACjD;AAAA;AAAA,EAER;AAEA,iBAAe,QAAQ,CAAC,MAAM,GAAG,SAAS;AACxC,WAAO,aAAa,cAAc,QAChC,wBAAwB,YAAY,KAAK,MAAM,KAC3C,WAAW,wBAAwB,YAAY,KAAK,OACpD;AAAA,EAER;AAEA,iBAAe,OAAO,CAAC,MAAM,GAAG,SAAS;AACvC,WAAO,YAAY,wBACf,wBAAwB,YAAY,IAAI,MAAM,KAC1C,WAAW,wBAAwB,YAAY,IAAI,OACnD,MACF;AAAA,EACR;AAEA,iBAAe,OAAO,CAAC,MAAM,SAAS,UAAU;AAC9C,UAAM,OAAO,UAAU,OAAO;AAC5B,UAAM,WAAW,WAAW,UAAU,IAAI,aAAa,QAAQ,MAAM;AACrE,UAAMA,UAAS;AAAA,MACb,YAAY,UAAU,OAAO,IAAI;AAAA,IACnC;AACA,WACE,MACA,OACA,WACA,GAAGA,YAAW,KAAK,WAAWA,aAAY;AAAA,IAC1C,OACA,OACA,OACA;AAAA,EAEN;AAEA,iBAAe,WAAW,CAAC,SAAS;AAClC,WAAO,MACL,wBAAwB,YAAY,EAAE,MAAM,KACxC,WAAW,wBAAwB,YAAY,EAAE,OACjD,MACF;AAAA;AAAA,EACN;AAEA,iBAAe,YAAY,CAAC,SAAS;AACnC,WAAO,KACL,wBAAwB,YAAY,CAAC,MAAM,KACvC,WAAW,wBAAwB,YAAY,CAAC,OAChD,MACF;AAAA;AAAA,EACN;AAEA,iBAAe,SAAS,CAAC,SAAS;AAChC,WAAO,UACL,wBAAwB,YAAY,IAAI,MAAM,KAC1C,WAAW,wBAAwB,YAAY,IAAI,OACnD,MACF;AAAA,EACN;AAEA,iBAAe,QAAQ,CAAC,QAAQ,SAAS;AACvC,QAAI;AAAM,aAAO,UAAU;AAEzB,WAAO,SACL,wBAAwB,YAAY,KAAK,MAAM,KAC3C,WAAW,wBAAwB,YAAY,KAAK,OACpD;AAAA,QAEJ,wBAAwB,YAAY,KAAK,MAAM,KAC3C,WAAW,wBAAwB,YAAY,KAAK,OACpD;AAAA,EACA;AAAA,EAAmB;AAAA;AAAA,EAC7B;AAEA,iBAAe,YAAY,CAAC,SAAS,UAAU;AAC7C,UAAM,OAAO,MAAM,SAAS,OAAO;AACjC,UAAM,MAAM,MAAM,QACd,IAAI,eAAe,MAAM,SACvB,wBAAwB,YAAY,EAAE,MAAM,KACxC,WAAW,wBAAwB,YAAY,EAAE,OACjD,QAEN,IAAI,OACF,wBAAwB,YAAY,EAAE,MAAM,KACxC,WAAW,wBAAwB,YAAY,EAAE,OACjD;AAEV,WAAO,MAAM,UAAU,KAAK;AAAA;AAAA,EAChC;AAEA,iBAAe,WAAW,CAAC,YAAY;AACrC,WAAO,MACL,wBAAwB,YAAY,EAAE,MAAM,KACxC,WAAW,wBAAwB,YAAY,EAAE,OACjD;AAAA,EACA;AAAA;AAAA,EACR;AAEA,SAAO;AACT;;;AD1PO,IAAM,iBAAN,MAAqB;AAAA,EACT;AAAA,EAEjB,YAAY,EAAE,aAAa,GAAkC;AAC3D,SAAK,WAAW,aAAa,EAAE,aAAa,CAAC;AAAA,EAC/C;AAAA,EAEA,MAAM,UAAkB;AACtB,WAAO,OAAO,MAAM,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;AAAA,EAC3D;AACF;;;AGXO,IAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,SAAS,IAAI,eAAe,EAAE,aAAa,CAAC;AAClD,SAAO,OAAO,MAAM,QAAQ;AAC9B;;;ACTA,YAAY,WAAW;AAUhB,IAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,iBAAiB,mBAAmB;AAAA,IACxC;AAAA,IACA,cAAc;AAAA,EAChB,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,yBAAyB,EAAE,QAAQ,eAAe;AAAA;AAAA,EACpD;AAEJ","sourcesContent":["import { marked, Renderer } from \"marked\";\nimport { StylesType } from \"./types\";\nimport { initRenderer } from \"./utils\";\n\nexport class MarkdownParser {\n private readonly renderer: Renderer;\n\n constructor({ customStyles }: { customStyles?: StylesType }) {\n this.renderer = initRenderer({ customStyles });\n }\n\n parse(markdown: string) {\n return marked.parse(markdown, { renderer: this.renderer });\n }\n}\n","import { CSSProperties } from \"react\";\nimport { StylesType, initRendererProps } from \"./types\";\nimport { Renderer } from \"marked\";\nimport { styles } from \"./styles\";\n\nfunction escapeQuotes(value: unknown) {\n if (typeof value === 'string' && value.includes('\"')) {\n return value.replace(/\"/g, \"'\");\n }\n return value;\n}\n\nexport function camelToKebabCase(str: string): string {\n return str.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\n\nexport function parseCssInJsToInlineCss(\n cssProperties: CSSProperties | undefined\n): string {\n if (!cssProperties) return \"\";\n\n const numericalCssProperties = [\n \"width\",\n \"height\",\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n \"padding\",\n \"paddingTop\",\n \"paddingRight\",\n \"paddingBottom\",\n \"paddingLeft\",\n \"borderWidth\",\n \"borderTopWidth\",\n \"borderRightWidth\",\n \"borderBottomWidth\",\n \"borderLeftWidth\",\n \"outlineWidth\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"fontSize\",\n \"lineHeight\",\n \"letterSpacing\",\n \"wordSpacing\",\n \"maxWidth\",\n \"minWidth\",\n \"maxHeight\",\n \"minHeight\",\n \"borderRadius\",\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\",\n \"textIndent\",\n \"gridColumnGap\",\n \"gridRowGap\",\n \"gridGap\",\n \"translateX\",\n \"translateY\",\n ];\n\n return Object.entries(cssProperties)\n .map(([property, value]) => {\n if (\n typeof value === \"number\" &&\n numericalCssProperties.includes(property)\n ) {\n return `${camelToKebabCase(property)}:${value}px`;\n } else {\n const escapedValue = escapeQuotes(value);\n return `${camelToKebabCase(property)}:${escapedValue}`;\n }\n })\n .join(\";\");\n}\n\nexport const initRenderer = ({\n customStyles,\n}: initRendererProps): Renderer => {\n const finalStyles = { ...styles, ...customStyles };\n\n const customRenderer = new Renderer();\n\n customRenderer.blockquote = (quote) => {\n return `
\\n${quote}\\n`;\n }\n\n customRenderer.br = () => {\n return `
${code}\\n`;\n }\n\n customRenderer.codespan = (text) => {\n return `${text}`;\n }\n\n customRenderer.del = (text) => {\n return `${text}
\\n`;\n }\n\n customRenderer.strong = (text) => {\n return `${text}`;\n }\n\n customRenderer.table = (header, body) => {\n if (body) body = `${body}`;\n\n return `