{"version":3,"file":"keycloakify-angular-email.mjs","sources":["../../../projects/angular-email/src/lib/components/background/background.component.ts","../../../projects/angular-email/src/lib/components/background/background.component.html","../../../projects/angular-email/src/lib/components/body/body.component.ts","../../../projects/angular-email/src/lib/components/body/body.component.html","../../../projects/angular-email/src/lib/components/button/button.component.ts","../../../projects/angular-email/src/lib/components/button/button.component.html","../../../projects/angular-email/src/lib/components/color-scheme/color-scheme.component.ts","../../../projects/angular-email/src/lib/components/color-scheme/color-scheme.component.html","../../../projects/angular-email/src/lib/components/column/column.component.ts","../../../projects/angular-email/src/lib/components/column/column.component.html","../../../projects/angular-email/src/lib/components/conditional/conditional.component.ts","../../../projects/angular-email/src/lib/components/conditional/conditional.component.html","../../../projects/angular-email/src/lib/components/container/container.component.ts","../../../projects/angular-email/src/lib/components/container/container.component.html","../../../projects/angular-email/src/lib/components/head/head.component.ts","../../../projects/angular-email/src/lib/components/head/head.component.html","../../../projects/angular-email/src/lib/utils.ts","../../../projects/angular-email/src/lib/components/heading/heading.component.ts","../../../projects/angular-email/src/lib/components/heading/heading.component.html","../../../projects/angular-email/src/lib/components/hr/hr.component.ts","../../../projects/angular-email/src/lib/components/hr/hr.component.html","../../../projects/angular-email/src/lib/components/html/html.component.ts","../../../projects/angular-email/src/lib/components/html/html.component.html","../../../projects/angular-email/src/lib/components/img/img.component.ts","../../../projects/angular-email/src/lib/components/img/img.component.html","../../../projects/angular-email/src/lib/components/link/link.component.ts","../../../projects/angular-email/src/lib/components/link/link.component.html","../../../projects/angular-email/src/lib/components/raw/raw.component.ts","../../../projects/angular-email/src/lib/components/raw/raw.component.html","../../../projects/angular-email/src/lib/components/preview/preview.component.ts","../../../projects/angular-email/src/lib/components/preview/preview.component.html","../../../projects/angular-email/src/lib/components/row/row.component.ts","../../../projects/angular-email/src/lib/components/row/row.component.html","../../../projects/angular-email/src/lib/components/section/section.component.ts","../../../projects/angular-email/src/lib/components/section/section.component.html","../../../projects/angular-email/src/lib/components/text/text.component.ts","../../../projects/angular-email/src/lib/components/text/text.component.html","../../../projects/angular-email/src/lib/render.ts","../../../projects/angular-email/src/index.ts","../../../projects/angular-email/src/keycloakify-angular-email.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-background',\n  templateUrl: 'background.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [],\n})\nexport class BackgroundComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n\n  $width = input<number>(0, { alias: 'width' });\n  $height = input<number>(0, { alias: 'height' });\n  $src = input<string>(undefined, { alias: 'src' });\n  $bgRepeat = input<'repeat' | 'no-repeat'>('no-repeat', { alias: 'bgRepeat' });\n  $bgColor = input<string>(undefined, { alias: 'bgColor' });\n\n  $bgStyle = computed(() => ({ backgroundRepeat: this.$bgRepeat(), ...(this.$style() ?? {}) }));\n}\n","@let width = $width();\n@let height = $height();\n\n<table\n  [cellPadding]=\"0\"\n  [cellSpacing]=\"0\"\n  [border]=\"0\"\n  width=\"100%\"\n  [attr.height]=\"height\"\n  role=\"presentation\"\n>\n  <tr>\n    <td\n      [align]=\"'top'\"\n      [width]=\"width\"\n      [height]=\"height && width ? height : undefined\"\n      [attr.bgcolor]=\"$bgColor()\"\n      [attr.background]=\"$src()\"\n      [style]=\"$bgStyle()\"\n      [class]=\"$styleClass()\"\n    >\n      <ng-content />\n    </td>\n  </tr>\n</table>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-body',\n  templateUrl: 'body.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BodyComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n}\n","<body\n  [style]=\"$style()\"\n  [class]=\"$styleClass()\"\n>\n  <ng-content />\n</body>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-button',\n  templateUrl: 'button.component.html',\n  imports: [NgTemplateOutlet],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | null>(null, { alias: 'styleClass' });\n\n  $href = input<string>(undefined, { alias: 'href' });\n  $textContent = input.required<string>({ alias: 'textContent' });\n  $width = input<number>(undefined, { alias: 'width' });\n  $height = input<number>(undefined, { alias: 'height' });\n  $borderRadius = input(0, { alias: 'borderRadius' });\n  $textColor = input<string>(undefined, { alias: 'textColor' });\n  $backgroundColor = input<string>(undefined, { alias: 'backgroundColor' });\n  $borderColor = input<string>(undefined, { alias: 'borderColor' });\n  $borderSize = input(1, { alias: 'borderSize' });\n  $fontSize = input(16, { alias: 'fontSize' });\n  $align = input<string>('left', { alias: 'align' });\n  $withBackground = input(false, { alias: 'withBackground' });\n\n  $arcsize = computed(() => Math.floor((this.$borderRadius() / (this.$height() ?? 1)) * 100));\n  $lineHeight = computed(() =>\n    this.$borderSize() ? (this.$height() ?? 0) - 2 * this.$borderSize() : (this.$height() ?? 0),\n  );\n\n  private $baseStyle = computed(() => ({\n    '-webkit-text-size-adjust': 'none',\n    borderRadius: `${this.$borderRadius()}px`,\n    display: 'inline-block',\n    fontSize: `${this.$fontSize()}px`,\n    lineHeight: `${this.$lineHeight()}px`,\n    maxWidth: this.$width() ? `${this.$width()}px` : undefined,\n    textAlign: 'center',\n    textDecoration: 'none',\n    width: '100%',\n  }));\n\n  private $borderStyles = computed(() => ({\n    border: `${this.$borderSize()}px solid ${this.$borderColor()}`,\n    msoBorderAlt: 'none',\n  }));\n\n  private $propStyles = computed(() => ({\n    // border styles\n    ...(this.$borderColor() ? this.$borderStyles() : {}),\n    // background styles\n    ...(this.$backgroundColor() ? { backgroundColor: this.$backgroundColor() } : {}),\n    // text styles\n    ...(this.$textColor() ? { color: this.$textColor() } : {}),\n  }));\n\n  $withBackgroundStyle = computed(() => ({\n    ...this.$baseStyle(),\n    // background styles\n    ...(this.$backgroundColor() ? { backgroundColor: this.$backgroundColor() } : {}),\n    // text styles\n    ...(this.$textColor() ? { color: this.$textColor() } : {}),\n    ...(this.$style() ?? {}),\n    ...(this.$withBackground() ? {} : { msoHide: 'all' }),\n  }));\n\n  $withoutBackgroundStyle = computed(() => ({\n    ...this.$baseStyle(),\n    // background styles\n    ...this.$propStyles(),\n    ...(this.$style() ?? {}),\n    ...(this.$withBackground() ? {} : { msoHide: 'all' }),\n  }));\n\n  $noBgInnerHtml = computed(() => {\n    const href = this.$href();\n    const borderColor = this.$borderColor();\n    const borderSize = this.$borderSize();\n    const height = this.$height();\n    const width = this.$width();\n    const arcsize = this.$arcsize();\n    const backgroundColor = this.$backgroundColor();\n    const fontSize = this.$fontSize();\n    const textColor = this.$textColor();\n    const textContent = this.$textContent();\n    return `<!--[if mso]>\n            <v:roundrect href=\"${href}\" xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" style=\"${height !== undefined ? `height:${height}px` : ''};v-text-anchor:middle;${width !== undefined ? `height:${width}px` : ''};\" arcsize=\"${arcsize}%\" ${\n              borderColor ? `strokecolor=${borderColor}` : ''\n            } ${borderSize ? `strokeweight=\"${borderSize}px\"` : `stroke=\"false\"`} ${\n              backgroundColor ? `fillcolor=${backgroundColor}` : `fill=\"false\"`\n            }>\n            <w:anchorlock/>\n            <center style=\"font-size:${fontSize}px;${textColor ? `color:${textColor};` : ''}\">\n            ${textContent}\n            </center></v:roundrect>\n            <![endif]-->`;\n  });\n}\n","@let withBackground = $withBackground();\n@let align = $align();\n@let href = $href();\n@let height = $height();\n@let width = $width();\n@let borderRadius = $borderRadius();\n\n<ng-template #child><ng-content></ng-content></ng-template>\n\n<table\n  [width]=\"'100%'\"\n  [border]=\"0\"\n  [cellPadding]=\"0\"\n  [cellSpacing]=\"0\"\n  style=\"border-collapse: collapse\"\n  role=\"presentation\"\n>\n  <tr>\n    <td [align]=\"align\">\n      @if (withBackground) {\n        <table\n          [align]=\"align\"\n          [width]=\"width\"\n          [border]=\"0\"\n          [cellPadding]=\"0\"\n          [cellSpacing]=\"0\"\n          role=\"presentation\"\n          [style]=\"{\n            border: $borderSize() + 'px solid ' + ($borderColor() ?? 'inherit'),\n            borderRadius: borderRadius ? borderRadius + 'px' : undefined,\n          }\"\n        >\n          <tr>\n            <td\n              [attr.bgcolor]=\"$backgroundColor()\"\n              [width]=\"width\"\n              [height]=\"height\"\n              [style]=\"{\n                borderRadius: borderRadius ? borderRadius + 'px' : undefined,\n                height: height ? height + 'px' : undefined,\n                width: width ? width + 'px' : undefined,\n                maxWidth: width ? width + 'px' : undefined,\n                textAlign: 'center',\n              }\"\n            >\n              <a\n                [href]=\"href\"\n                [class]=\"$styleClass()\"\n                [style]=\"$withBackgroundStyle()\"\n              >\n                <ng-container [ngTemplateOutlet]=\"child\"></ng-container>\n              </a>\n            </td>\n          </tr>\n        </table>\n      } @else {\n        <noscript [attr.data-html]=\"$noBgInnerHtml()\"></noscript>\n        <a\n          [href]=\"href\"\n          [class]=\"$styleClass()\"\n          [style]=\"$withoutBackgroundStyle()\"\n        >\n          <ng-container [ngTemplateOutlet]=\"child\"></ng-container>\n        </a>\n      }\n    </td>\n  </tr>\n</table>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nexport type ColorSchemeMode =\n  | 'dark'\n  /**\n   * The email client will only ever render the content in the dark color scheme and forbids the\n   * email client from overriding the color scheme.\n   */\n  | 'dark only'\n  | 'light'\n  /**\n   * The email client will choose the light or dark theme to match the user’s preference.\n   * If the user’s preference does not match something in the list, the email client will choose\n   * which mode to display.\n   */\n  | 'light dark'\n  /**\n   * The email client will choose the first of the listed schemes that it supports taking user\n   * preference into account and forbids the email client from overriding the color scheme.\n   */\n  | 'light dark only'\n  /**\n   * The email client will only ever render the content in the light color scheme and forbids the\n   * email client from overriding the color scheme.\n   */\n  | 'light only'\n  /**\n   * Indicates that the email supports the page’s supported color schemes, if they are set, or\n   * that it supports no color schemes at all otherwise.\n   */\n  | 'normal';\n\n@Component({\n  selector: 'ng-email-color-scheme',\n  templateUrl: 'color-scheme.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ColorSchemeComponent {\n  $mode = input<ColorSchemeMode>('normal', { alias: 'mode' });\n  $style = computed(\n    () => `<style>:root { color-scheme: ${this.$mode()}; supported-color-schemes: ${this.$mode()}; }</style>`,\n  );\n}\n","@let mode = $mode();\n\n<meta\n  name=\"color-scheme\"\n  [content]=\"mode\"\n/>\n<meta\n  name=\"supported-color-schemes\"\n  [content]=\"mode\"\n/>\n\n<noscript [attr.data-html]=\"$style()\"></noscript>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-column',\n  templateUrl: 'column.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [],\n})\nexport class ColumnComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n  $bgImage = input<string>(undefined, { alias: 'bgImage' });\n  $bgColor = input<string>(undefined, { alias: 'bgColor' });\n}\n","<td\n  [attr.background]=\"$bgImage()\"\n  [attr.bgcolor]=\"$bgColor()\"\n  [style]=\"$style()\"\n  [class]=\"$styleClass()\"\n  role=\"presentation\"\n>\n  <ng-content />\n</td>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-conditional',\n  templateUrl: 'conditional.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [NgTemplateOutlet],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class ConditionalComponent {\n  $expression = input(undefined, { alias: 'expression' });\n  $mso = input<boolean>(undefined, { alias: 'mso' });\n\n  noMsoInnerHtmlPre = '&lt;!--[if !mso]&gt;&lt;!--&gt;';\n  noMsoInnerHtmlPost = '&lt;!--&lt;![endif]--&gt;';\n\n  $msoInnerHtmlPre = computed(() => `&lt;!--[if ${this.$expression() ?? 'mso'}]&gt;`);\n  msoInnerHtmlPost = '&lt;![endif]--&gt;';\n\n  constructor() {\n    effect(() => {\n      if (typeof this.$expression() === 'undefined' && typeof this.$mso() === 'undefined')\n        throw new RangeError('angular-email: Conditional expects the `expression` or `mso` prop to be defined');\n\n      if (typeof this.$expression() !== 'undefined' && typeof this.$mso() !== 'undefined')\n        throw new RangeError(\n          'angular-email: Conditional expects the `expression` or `mso` prop to be defined, not both',\n        );\n    });\n  }\n}\n","@let mso = $mso();\n\n@if (!mso) {\n  <noscript [attr.data-html]=\"noMsoInnerHtmlPre\"></noscript>\n  <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n  <noscript [attr.data-html]=\"noMsoInnerHtmlPost\"></noscript>\n} @else {\n  <noscript [attr.data-html]=\"$msoInnerHtmlPre()\"></noscript>\n  <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n  <noscript [attr.data-html]=\"msoInnerHtmlPost\"></noscript>\n}\n<ng-template #content><ng-content></ng-content></ng-template>\n","import { ChangeDetectionStrategy, Component, computed, inject, input, DOCUMENT } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-container',\n  templateUrl: 'container.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [],\n})\nexport class ContainerComponent {\n  random = Math.random();\n  document = inject(DOCUMENT);\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n  $alignment = input('center', { alias: 'alignment' });\n  $disableDefaultStyle = input(false, { alias: 'disableDefaultStyle' });\n  $containerWidth = input(600, { alias: 'containerWidth' });\n\n  $containerStyle = computed(() => ({\n    ...(this.$disableDefaultStyle() ? {} : { maxWidth: `${this.$containerWidth()}px` }),\n    ...this.$style(),\n  }));\n\n  $trStyle = computed(() => ({\n    ...(this.$disableDefaultStyle() ? {} : { width: '100%' }),\n  }));\n\n  $innerHtmlPre = computed(\n    () =>\n      `<!--[if mso]><table align=\"${this.$alignment()}\" width=\"${this.$containerWidth()}\" style=\"border-spacing: 0; width:${this.$containerWidth()}px;\" role=\"presentation\"><tr><td><![endif]-->`,\n  );\n\n  $innerHtmlPost = computed(() => `<!--[if mso]></td></tr></table><![endif]-->`);\n}\n","@let containerWidth = $containerWidth();\n@let alignment = $alignment();\n\n<div [style]=\"{ tableLayout: 'fixed', width: '100%' }\">\n  <div [style]=\"{ margin: '0 auto', maxWidth: containerWidth }\">\n    <noscript [attr.data-html]=\"$innerHtmlPre()\"></noscript>\n    <table\n      [align]=\"alignment\"\n      [width]=\"'100%'\"\n      role=\"presentation\"\n      [cellSpacing]=\"0\"\n      [cellPadding]=\"0\"\n      [border]=\"0\"\n      [style]=\"$containerStyle()\"\n      [class]=\"$styleClass()\"\n    >\n      <tbody>\n        <tr [style]=\"$trStyle()\">\n          <td [align]=\"alignment\">\n            <ng-content></ng-content>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n    <noscript [attr.data-html]=\"$innerHtmlPost()\"></noscript>\n  </div>\n</div>\n","import { ChangeDetectionStrategy, Component, input, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { ConditionalComponent } from '../conditional/conditional.component';\n\n@Component({\n  selector: 'ng-email-head',\n  templateUrl: 'head.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [ConditionalComponent],\n  schemas: [NO_ERRORS_SCHEMA],\n})\nexport class HeadComponent {\n  $enableFormatDetection = input(false, { alias: 'enableFormatDetection' });\n  xml = `\\n<xml><o:OfficeDocumentSettings><o:AllowPNG /><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml>\\n`;\n}\n","@let enableFormatDetection = $enableFormatDetection();\n\n<head>\n  <meta\n    http-equiv=\"content-type\"\n    content=\"text/html; charset=UTF-8\"\n  />\n  <meta\n    name=\"viewport\"\n    content=\"width=device-width, initial-scale=1, user-scalable=yes\"\n  />\n  <meta name=\"x-apple-disable-message-reformatting\" />\n  @if (!enableFormatDetection) {\n    <meta\n      name=\"format-detection\"\n      content=\"telephone=no, date=no, address=no, email=no, url=no\"\n    />\n  }\n  <ng-content></ng-content>\n  <ng-email-conditional [mso]=\"true\">\n    <noscript [attr.data-html]=\"xml\"></noscript>\n  </ng-email-conditional>\n</head>\n","export const copyTextToClipboard = async (text: string) => {\n  try {\n    await navigator.clipboard.writeText(text);\n  } catch {\n    throw new Error('Not able to copy');\n  }\n};\n\nexport const pxToPt = (px: string): number | null => (isNaN(Number(px)) ? null : (parseInt(px, 10) * 3) / 4);\n\nexport interface Margin {\n  m?: string;\n  mx?: string;\n  my?: string;\n  mt?: string;\n  mr?: string;\n  mb?: string;\n  ml?: string;\n}\n\nexport const withMargin = (props: Margin) =>\n  [\n    withSpace(props.m, ['margin']),\n    withSpace(props.mx, ['marginLeft', 'marginRight']),\n    withSpace(props.my, ['marginTop', 'marginBottom']),\n    withSpace(props.mt, ['marginTop']),\n    withSpace(props.mr, ['marginRight']),\n    withSpace(props.mb, ['marginBottom']),\n    withSpace(props.ml, ['marginLeft']),\n  ].filter((s) => Object.keys(s).length)[0];\n\nconst withSpace = (value: string | undefined, properties: string[]) => {\n  return properties.reduce((styles, property) => {\n    if (value) {\n      return { ...styles, [property]: `${value}px` };\n    }\n    return styles;\n  }, {});\n};\n\n// https://stackoverflow.com/a/61410824\n\nexport const styleToString = (style: Record<string, string | number | null> | undefined | null) => {\n  if (!style) return '';\n  return Object.keys(style).reduce(\n    (acc, key) =>\n      acc +\n      key\n        .split(/(?=[A-Z])/)\n        .join('-')\n        .toLowerCase() +\n      ':' +\n      style[key] +\n      ';',\n    '',\n  );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const classToString = (style: string | string[] | Set<string> | Record<string, any> | null | undefined) => {\n  if (!style) return '';\n  if (typeof style === 'string') return style;\n  if (Array.isArray(style)) return style.join(' ');\n  return Object.keys(style).reduce(\n    (acc, key) =>\n      acc +\n      key\n        .split(/(?=[A-Z])/)\n        .join('-')\n        .toLowerCase() +\n      ':' +\n      style[key as keyof typeof style] +\n      ';',\n    '',\n  );\n};\n\nexport const unreachable = (\n  condition: never,\n  message = `Entered unreachable code. Received '${condition}'.`,\n): never => {\n  throw new TypeError(message);\n};\n\nexport const HTMLElements = [\n  '!DOCTYPE',\n  'a',\n  'abbr',\n  'abbr',\n  //\"acronym\", // NOT HTML5\n  'address',\n  //\"applet\", // NOT HTML5 (NOT MAJORLY SUPPORTED)\n  'area',\n  'article',\n  'aside',\n  'audio',\n  'b',\n  'base',\n  //\"basefont\", // NOT HTML5\n  'bdi',\n  'bdo',\n  //\"big\", // NOT HTML5\n  'blockquote',\n  'body',\n  'br',\n  'button',\n  'canvas',\n  'caption',\n  //\"center\", // NOT HTML5\n  'cite',\n  'code',\n  'col',\n  'colgroup',\n  'data',\n  'datalist',\n  'dd',\n  'del',\n  'details',\n  'dfn',\n  'dialog',\n  //\"dir\", NOT HTML5 (use \"ul\" instead)\n  'div',\n  'dl',\n  'dt',\n  'em',\n  'embed',\n  'fieldset',\n  'figcaption',\n  'figure',\n  //\"font\", // NOT HTML5 (use CSS)\n  'footer',\n  'form',\n  //\"frame\", // NOT HTML5\n  //\"frameset\", // NOT HTML5\n  'h1',\n  'h2',\n  'h3',\n  'h4',\n  'h5',\n  'h6',\n  'head',\n  'header',\n  'hr',\n  'html',\n  'i',\n  'iframe',\n  'img',\n  'input',\n  'ins',\n  'kbd',\n  'label',\n  'legend',\n  'li',\n  'link',\n  'main',\n  'map',\n  'mark',\n  'meta',\n  'meter',\n  'nav',\n  //\"noframes\", // NOT HTML5\n  'noscript',\n  'object',\n  'ol',\n  'optgroup',\n  'option',\n  'output',\n  'p',\n  'param',\n  'picture',\n  'pre',\n  'progress',\n  'q',\n  'rp',\n  'rt',\n  'ruby',\n  's',\n  'samp',\n  'script',\n  'section',\n  'select',\n  'small',\n  'source',\n  'span',\n  //\"strike\", NOT HTML5 (Use <del> or <s> instead)\n  'strong',\n  'style',\n  'sub',\n  'summary',\n  'sup',\n  'svg',\n  'table',\n  'tbody',\n  'td',\n  'template',\n  'textarea',\n  'tfoot',\n  'th',\n  'thead',\n  'time',\n  'title',\n  'tr',\n  'track',\n  //\"tt\", // NOT HTML5 (Use CSS)\n  'u',\n  'ul',\n  'var',\n  'video',\n  'wbr',\n  // xml\n  'xml',\n  'o:OfficeDocumentSettings',\n  'o:AllowPNG',\n  'o:PixelsPerInch',\n  'angular-email-raw',\n];\n\nconst START_TAG = '__COMMENT_START';\nconst END_TAG = '__COMMENT_END';\nexport function escapeForRawComponent(input: string): string {\n  // escape comment sequences\n  return input.replace(/<!--/g, START_TAG).replace(/-->/g, END_TAG);\n}\n\nexport function unescapeForRawComponent(input: string): string {\n  return input.replace(new RegExp(START_TAG, 'g'), '<!--').replace(new RegExp(END_TAG, 'g'), '-->');\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { styleToString, withMargin } from '../../utils';\n\n@Component({\n  selector: 'ng-email-heading',\n  templateUrl: 'heading.component.html',\n  imports: [NgTemplateOutlet],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeadingComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n  $as = input<'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>('h1', { alias: 'as' });\n  $m = input<string>(undefined, { alias: 'm' });\n  $mx = input<string>(undefined, { alias: 'mx' });\n  $my = input<string>(undefined, { alias: 'my' });\n  $mt = input<string>(undefined, { alias: 'mt' });\n  $mr = input<string>(undefined, { alias: 'mr' });\n  $mb = input<string>(undefined, { alias: 'mb' });\n  $ml = input<string>(undefined, { alias: 'ml' });\n  $headingStyle = computed(() => {\n    return styleToString({\n      ...withMargin({\n        m: this.$m(),\n        mx: this.$mx(),\n        my: this.$my(),\n        mt: this.$mt(),\n        mr: this.$mr(),\n        mb: this.$mb(),\n        ml: this.$ml(),\n      }),\n      ...(this.$style() ?? {}),\n    });\n  });\n}\n","@let heading = $as();\n@let style = $headingStyle();\n@let styleClass = $styleClass();\n@if (heading === 'h1') {\n  <h1\n    [style]=\"style\"\n    [class]=\"styleClass\"\n  >\n    <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n  </h1>\n} @else if (heading === 'h2') {\n  <h2\n    [style]=\"style\"\n    [class]=\"styleClass\"\n  >\n    <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n  </h2>\n} @else if (heading === 'h3') {\n  <h3\n    [style]=\"style\"\n    [class]=\"styleClass\"\n  >\n    <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n  </h3>\n} @else if (heading === 'h4') {\n  <h4\n    [style]=\"style\"\n    [class]=\"styleClass\"\n  >\n    <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n  </h4>\n} @else if (heading === 'h5') {\n  <h5\n    [style]=\"style\"\n    [class]=\"styleClass\"\n  >\n    <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n  </h5>\n} @else if (heading === 'h6') {\n  <h6\n    [style]=\"style\"\n    [class]=\"styleClass\"\n  >\n    <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n  </h6>\n} @else {\n  <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n}\n<ng-template #content><ng-content></ng-content></ng-template>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-hr',\n  templateUrl: 'hr.component.html',\n  imports: [],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HrComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n  $disableDefaultStyle = input<boolean>(false, { alias: 'disableDefaultStyle' });\n  $hrStyle = computed(() => {\n    return {\n      ...(this.$disableDefaultStyle()\n        ? {}\n        : {\n            width: '100%',\n            border: 'none',\n            borderTop: '1px solid #eaeaea',\n          }),\n      ...(this.$style() ?? {}),\n    };\n  });\n}\n","<hr\n  [style]=\"$hrStyle()\"\n  [class]=\"$styleClass()\"\n/>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-html',\n  templateUrl: 'html.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HtmlComponent {\n  $lang = input('en', { alias: 'lang' });\n  $dir = input('ltr', { alias: 'dir' });\n  $enableVML = input(true, { alias: 'enableVML' });\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n}\n","@let enableVML = $enableVML();\n@let lang = $lang();\n@let dir = $dir();\n\n<html\n  id=\"__angular-email\"\n  [lang]=\"lang\"\n  [dir]=\"dir\"\n  [attr.xmlns:o]=\"enableVML ? 'urn:schemas-microsoft-com:office:office' : undefined\"\n  [attr.xmlns:v]=\"enableVML ? 'urn:schemas-microsoft-com:vml' : undefined\"\n  [style]=\"$style()\"\n  [class]=\"$styleClass()\"\n>\n  <ng-content />\n</html>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-img',\n  templateUrl: 'img.component.html',\n  imports: [],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImgComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n  $disableDefaultStyle = input<boolean>(false, { alias: 'disableDefaultStyle' });\n  $alt = input('', { alias: 'alt' });\n  $src = input('', { alias: 'src' });\n  $width = input('0', { alias: 'width' });\n  $height = input('0', { alias: 'height' });\n  $imageStyle = computed(() => {\n    return {\n      ...(this.$disableDefaultStyle()\n        ? {}\n        : {\n            display: 'block',\n            outline: 'none',\n            border: 'none',\n            textDecoration: 'none',\n          }),\n      ...(this.$style() ?? {}),\n    };\n  });\n}\n","<img\n  [style]=\"$imageStyle()\"\n  [class]=\"$styleClass()\"\n  [alt]=\"$alt()\"\n  [src]=\"$src()\"\n  [width]=\"$width()\"\n  [height]=\"$height()\"\n/>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-link',\n  templateUrl: 'link.component.html',\n  imports: [],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LinkComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n  $disableDefaultStyle = input<boolean>(false, { alias: 'disableDefaultStyle' });\n  $href = input('', { alias: 'href' });\n  $target = input('_blank', { alias: 'target' });\n  $linkStyle = computed(() => {\n    return {\n      ...(this.$disableDefaultStyle()\n        ? {}\n        : {\n            color: '#067df7',\n            textDecoration: 'none',\n          }),\n      ...(this.$style() ?? {}),\n    };\n  });\n}\n","<a\n  [style]=\"$linkStyle()\"\n  [class]=\"$styleClass()\"\n  [href]=\"$href()\"\n  [target]=\"$target()\"\n  ><ng-content></ng-content\n></a>\n","import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, input } from '@angular/core';\nimport { escapeForRawComponent } from '../../utils';\n\n@Component({\n  selector: 'ng-email-raw',\n  templateUrl: 'raw.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class RawComponent {\n  $disablePlainTextOutput = input(false, { alias: 'disablePlainTextOutput' });\n  $content = input('', { alias: 'content' });\n  $escapingContent = computed(() => `<!--${escapeForRawComponent(this.$content())}-->`);\n}\n","<angular-email-raw [attr.data-skip]=\"$disablePlainTextOutput()\">\n  <noscript [attr.data-html]=\"$escapingContent()\"></noscript>\n</angular-email-raw>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { RawComponent } from '../raw/raw.component';\n\n@Component({\n  selector: 'ng-email-preview',\n  templateUrl: 'preview.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [RawComponent],\n})\nexport class PreviewComponent {\n  $preview = input('', { alias: 'preview' });\n\n  maxLength = 150;\n  $text = computed(() => {\n    const preview = this.$preview();\n    if (preview.length >= this.maxLength) return null;\n    const whiteSpaceCodes = '&nbsp;&#x200c;&#x200b;&#x200d;&#x200e;&#x200f;&#xfeff;';\n    return whiteSpaceCodes.repeat(this.maxLength - preview.length);\n  });\n}\n","@let text = $text();\n\n<div\n  id=\"__angular-email-preview\"\n  style=\"display: none; overflow: hidden; line-height: 1px; opacity: 0; max-height: 0; max-width: 0\"\n>\n  {{ $preview() }}\n  @if (text) {\n    <ng-email-raw\n      [content]=\"text\"\n      [disablePlainTextOutput]=\"false\"\n    ></ng-email-raw>\n  }\n</div>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-row',\n  templateUrl: 'row.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [],\n})\nexport class RowComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n  $disableDefaultStyle = input(false, { alias: 'disableDefaultStyle' });\n}\n","<table\n  align=\"center\"\n  width=\"100%\"\n  [class]=\"$styleClass()\"\n  [style]=\"$style()\"\n  role=\"presentation\"\n  cellSpacing=\"0\"\n  cellPadding=\"0\"\n  border=\"0\"\n>\n  <tbody [style]=\"$disableDefaultStyle() ? {} : { width: '100%' }\">\n    <tr [style]=\"$disableDefaultStyle() ? {} : { width: '100%' }\">\n      <ng-content />\n    </tr>\n  </tbody>\n</table>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { styleToString } from '../../utils';\n\n@Component({\n  selector: 'ng-email-section',\n  templateUrl: 'section.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [],\n})\nexport class SectionComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n  $sectionStyle = computed(() => {\n    return styleToString({\n      width: '100%',\n      ...(this.$style() ?? {}),\n    });\n  });\n}\n","<table\n  [align]=\"'center'\"\n  [border]=\"0\"\n  [cellPadding]=\"0\"\n  [cellSpacing]=\"0\"\n  width=\"100%\"\n  role=\"presentation\"\n  [style]=\"$sectionStyle()\"\n  [class]=\"$styleClass()\"\n>\n  <tbody>\n    <tr>\n      <td>\n        <ng-content />\n      </td>\n    </tr>\n  </tbody>\n</table>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\n@Component({\n  selector: 'ng-email-text',\n  templateUrl: 'text.component.html',\n  imports: [],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TextComponent {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  $style = input<Record<string, any> | null | undefined>(null, { alias: 'style' });\n  $styleClass = input<string | undefined>(undefined, { alias: 'styleClass' });\n  $disableDefaultStyle = input<boolean>(false, { alias: 'disableDefaultStyle' });\n  $textStyle = computed(() => {\n    return {\n      ...(this.$disableDefaultStyle()\n        ? {}\n        : {\n            fontSize: '14px',\n            lineHeight: '24px',\n            margin: '16px 0',\n          }),\n      ...(this.$style() ?? {}),\n    };\n  });\n}\n","<p\n  [style]=\"$textStyle()\"\n  [class]=\"$styleClass()\"\n>\n  <ng-content></ng-content>\n</p>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { provideZonelessChangeDetection, Type } from '@angular/core';\nimport { bootstrapApplication, BootstrapContext } from '@angular/platform-browser';\nimport { renderApplication } from '@angular/platform-server';\nimport { provideServerRendering } from '@angular/ssr';\nimport * as cheerio from 'cheerio/slim';\nimport { convert } from 'html-to-text';\nimport juice from 'juice';\nimport prettyPrint from 'pretty';\nimport { HTMLElements, unescapeForRawComponent } from './utils';\n\ntype Render<Input extends Record<string, any>> = {\n  component: Type<unknown>;\n  /** Component selector */\n  selector: string;\n  props?: Input;\n  options?: {\n    plainText?: boolean;\n    pretty?: boolean;\n    cssProcessor?: (css: string, html: string) => Promise<string>;\n    signalInputsPrefix?: string;\n  };\n};\n\n/**\n * Renders an Angular component to HTML and applies transformations.\n *\n * @param component - The Angular component to render.\n * @param selector - The Component selector.\n * @param options - Optional rendering options.\n *\n * @returns {Promise<string>} The rendered HTML or plain text.\n */\nexport const render = async <Input extends Record<string, any>>({\n  component,\n  selector,\n  props,\n  options,\n}: Render<Input>) => {\n  const __originalConsoleLog = console.log;\n  console.log = (\n    (log) =>\n    (...args) => {\n      if (args[0] !== 'Angular is running in development mode.') log(...args);\n    }\n  )(console.log);\n  try {\n    const { style, html: normalizedHtml } = await renderNgComponent(\n      component,\n      selector,\n      props,\n      options?.signalInputsPrefix,\n    );\n    const html = applyHtmlTransformations(normalizedHtml);\n\n    if (options?.plainText) {\n      return renderAsPlainText(html);\n    }\n    const cssProcessor = options?.cssProcessor;\n    const css = await parseStyles(style, html, cssProcessor);\n    const doctype =\n      '<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">';\n\n    const markup = await inlineCss(html, css, !!options?.pretty);\n    const document = `${doctype}${markup}`;\n    return document;\n  } finally {\n    console.log = __originalConsoleLog;\n  }\n};\n\nexport type RenderToHtml<Input extends Record<string, any>> = (props?: Input) => ReturnType<typeof render>;\n\n/**\n * Converts the given markup string to plain text while skipping certain elements.\n *\n * @param markup - The HTML markup string to be converted to plain text.\n * @returns The plain text representation of the given markup.\n *\n * The conversion skips the following elements:\n * - `<img>` tags\n * - Elements with the ID `__angular-email-preview`\n */\nconst renderAsPlainText = (markup: string) => {\n  return convert(markup, {\n    decodeEntities: true,\n    formatters: {\n      raw: (elem, _walk, builder) => {\n        if (elem.children.length && elem.children[0].type === 'comment') {\n          builder.addInline(unescapeForRawComponent(elem.children[0].data!.trim()));\n        }\n      },\n    },\n    selectors: [\n      { selector: '[data-skip=\"true\"]', format: 'skip' },\n      { selector: 'img', format: 'skip' },\n      { selector: '#__angular-email-preview', format: 'skip' },\n      {\n        format: 'raw',\n        options: {},\n        selector: 'angular-email-raw',\n      },\n      { selector: 'h1', format: 'heading', options: { leadingLineBreaks: 3, trailingLineBreaks: 2, uppercase: false } },\n      { selector: 'h2', format: 'heading', options: { leadingLineBreaks: 3, trailingLineBreaks: 2, uppercase: false } },\n      { selector: 'h3', format: 'heading', options: { leadingLineBreaks: 3, trailingLineBreaks: 2, uppercase: false } },\n      { selector: 'h4', format: 'heading', options: { leadingLineBreaks: 2, trailingLineBreaks: 2, uppercase: false } },\n      { selector: 'h5', format: 'heading', options: { leadingLineBreaks: 2, trailingLineBreaks: 2, uppercase: false } },\n      { selector: 'h6', format: 'heading', options: { leadingLineBreaks: 2, trailingLineBreaks: 2, uppercase: false } },\n    ],\n  });\n};\n\n/**\n * Renders an Angular component to html.\n *\n * @param component - The Angular component to render.\n * @param selector - The CSS selector for the component.\n * @returns A promise that resolves to the rendered HTML string.\n */\nconst renderNgComponent = async (\n  component: Type<unknown>,\n  selector: string,\n  props?: Record<string, any>,\n  signalInputsPrefix?: string,\n) => {\n  const bootstrap = async (context?: BootstrapContext) => {\n    const appRef = await bootstrapApplication(\n      component,\n      {\n        providers: [provideZonelessChangeDetection(), provideServerRendering()],\n      },\n      context,\n    );\n    appRef.components.forEach((componentRef) => {\n      Object.entries(props ?? {}).forEach(([key, value]) => {\n        if (key in componentRef.instance || `${signalInputsPrefix ?? ''}${key}` in componentRef.instance) {\n          componentRef.setInput(key, value);\n        }\n      });\n      componentRef.changeDetectorRef.detectChanges();\n    });\n    return appRef;\n  };\n  const ngHtml = await renderApplication(bootstrap, {\n    document: `<${selector}></${selector}>`,\n  });\n  const $ = cheerio.load(ngHtml, {\n    xml: { lowerCaseAttributeNames: false, lowerCaseTags: false },\n  });\n  let style: string = '';\n  $('style').each(function () {\n    const content = $(this).html();\n    if (content) {\n      style += `\\n${content}`;\n    }\n  });\n  const html = normalizeNgHtml(ngHtml, selector);\n  return { style, html };\n};\n\n/**\n * Normalizes the provided HTML string by extracting the content within the specified selector\n * and removing any non-standard HTML elements.\n *\n * @param html - The HTML string to be normalized.\n * @param selector - The CSS selector used to identify the content to be extracted.\n * @returns The normalized HTML string with the content of the specified selector and without non-standard HTML elements.\n */\nconst normalizeNgHtml = (html: string, selector: string): string => {\n  const nsHtmlRegex = new RegExp(`<(?!(\\\\/?(${HTMLElements.join('|')})(?![-\\\\w])))[^>]+>`, 'gm');\n  return html\n    .replace(new RegExp(`[\\\\s\\\\S]*?<${selector}[\\\\s\\\\S]*?>([\\\\s\\\\S]*?)<\\\\/${selector}>[\\\\s\\\\S]*?.+`, 'gm'), '$1')\n    .replace(nsHtmlRegex, '');\n};\n\n/**\n * Applies HTML transformations to the provided HTML string.\n *\n * This function uses Cheerio to load the HTML and perform transformations such as\n * replacing placeholders and applying styles from the provided CSS file paths.\n * It also ensures that certain HTML entities are replaced with their corresponding\n * characters.\n *\n * @param html - The HTML string to transform.\n * @param cssFilePaths - An optional array of CSS file paths to apply styles from.\n * @returns The transformed HTML string.\n */\nconst applyHtmlTransformations = (html: string) => {\n  const $ = cheerio.load(html);\n  replacePlaceholders($);\n\n  return $.html()\n    .replace(/\\s+/g, ' ')\n    .replace(/>\\s+</g, '><')\n    .replaceAll('&lt;', '<')\n    .replaceAll('&gt;', '>')\n    .replaceAll('&#x24;', '$');\n};\n\n/**\n * Replaces elements with the `data-html` attribute with their corresponding HTML content.\n *\n * This function iterates over all elements that have the `data-html` attribute,\n * retrieves the value of the attribute, and replaces the element with the HTML content\n * specified in the attribute.\n *\n * @param $ - The Cheerio API instance used to manipulate the HTML.\n */\nconst replacePlaceholders = ($: cheerio.CheerioAPI) => {\n  $('[data-html]').each(function () {\n    const content = $(this).attr('data-html');\n    if (content) {\n      $(this).replaceWith(`${content}`);\n    }\n  });\n};\n\n/**\n * Applies the styles from the specified CSS file paths to the HTML document.\n *\n * @param style - The raw content of <style> tags\n * @param cssProcessor - Optional hook for manipulate the css extracted.\n * Useful for postcss processing\n *\n */\nconst parseStyles = async (\n  style: string,\n  html: string,\n  cssProcessor?: (css: string, html: string) => Promise<string>,\n) => {\n  const normalized = normalizeCssInput(style);\n  if (!cssProcessor) return normalized;\n  const processed = await cssProcessor(normalized, html);\n  return processed;\n};\n\n/**\n * Normalize css\n *\n * @param input css to normalize\n * @returns normalized css\n */\nconst normalizeCssInput = (input: string): string => {\n  return input\n    .replace(/\\s+/g, ' ')\n    .replace(/>\\s+</g, '><')\n    .replaceAll('&lt;', '<')\n    .replaceAll('&gt;', '>')\n    .replaceAll('&#x24;', '$')\n    .replaceAll('&quot;', '\"')\n    .replaceAll('&amp;', '&');\n};\n\n/**\n * Inlines CSS into the provided HTML string using Maizzle and Tailwind CSS.\n *\n * @param html - The HTML string to process.\n * @param css - The CSS to inline.\n * @param pretty - Whether to prettify the output HTML. Defaults to `false`.\n * @returns A promise that resolves to the processed HTML string with inlined CSS.\n */\n\nconst inlineCss = async (html: string, css: string, pretty: boolean = false) => {\n  juice.styleToAttribute = {};\n  juice.excludedProperties.push(...[]);\n  juice.widthElements = ['img', 'video'].map((i) => i.toUpperCase() as unknown as HTMLElement);\n  juice.heightElements = ['img', 'video'].map((i) => i.toUpperCase() as unknown as HTMLElement);\n\n  const inlined = unescapeForRawComponent(\n    juice\n      .inlineContent(html, css, {\n        applyWidthAttributes: true,\n        applyHeightAttributes: true,\n        removeStyleTags: false,\n        resolveCSSVariables: true,\n      })\n      .replace(/\\s+/g, ' ')\n      .replace(/>\\s+</g, '><')\n      .replaceAll('&#x24;', '$')\n      .replace(/<angular-email-raw[\\s\\S]*?><!--(.*?)--><\\/angular-email-raw>/gm, `$1`),\n  );\n  if (pretty) return prettyPrint(inlined);\n  return inlined;\n};\n","/*\n * Public API Surface of angular-email\n */\n\nexport * from './lib/components/background/background.component';\nexport * from './lib/components/body/body.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/color-scheme/color-scheme.component';\nexport * from './lib/components/column/column.component';\nexport * from './lib/components/conditional/conditional.component';\nexport * from './lib/components/container/container.component';\nexport * from './lib/components/head/head.component';\nexport * from './lib/components/heading/heading.component';\nexport * from './lib/components/hr/hr.component';\nexport * from './lib/components/html/html.component';\nexport * from './lib/components/img/img.component';\nexport * from './lib/components/link/link.component';\nexport * from './lib/components/preview/preview.component';\nexport * from './lib/components/raw/raw.component';\nexport * from './lib/components/row/row.component';\nexport * from './lib/components/section/section.component';\nexport * from './lib/components/text/text.component';\nexport * from './lib/render';\nexport * from './lib/utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}