{"version":3,"file":"ncr-contentful-contentful-rich-text.component-BFs47jdf.mjs","sources":["../../../projects/ncr-contentful/src/components/contentful-rich-text/contentful-rich-text.component.ts","../../../projects/ncr-contentful/src/components/contentful-rich-text/contentful-rich-text.component.html"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Inject, OnInit,} from \"@angular/core\";\nimport {TypeRichText} from \"./contentful-rich-text.model\";\nimport {SafePipe} from \"safe-pipe\";\nimport {NcrDynamicDirective} from \"../../directives/dynamic/ncr-dynamic.directive\";\nimport {CommonModule, DOCUMENT} from \"@angular/common\";\nimport {ContentfulComponent} from \"../ncr-contentful-components.model\";\n\n@Component({\n  selector: \"ncr-contentful-rich-text\",\n  templateUrl: \"./contentful-rich-text.component.html\",\n  styleUrls: [\"./contentful-rich-text.component.scss\"],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CommonModule, SafePipe, NcrDynamicDirective],\n  standalone: true\n})\nexport class ContentfulRichTextComponent\n    extends ContentfulComponent<TypeRichText>\n    implements OnInit {\n  static contentfulType = \"eCommerceComponentRichText\";\n  @HostBinding(\"class\")\n  hostClass: string | undefined;\n\n  constructor(\n      @Inject(DOCUMENT) private document : Document,\n  ) {\n    super();\n  }\n\n  ngOnInit(): void {\n    this.hostClass = this.entry?.fields?.customClass;\n  }\n\n  get content() {\n    return Array.isArray(this.entry.fields?.content)\n      ? this.entry.fields?.content\n      : (this.entry.fields?.content as any)?.fields?.content;\n  }\n\n  isParagraph(node: any) {\n    return Array.isArray(node);\n  }\n\n  isHTML(node: any) {\n    return typeof node === \"string\";\n  }\n\n  getHTML(node: string) {\n    const txt = this.document.createElement(\"textarea\");\n    txt.innerHTML = node;\n    return txt.value;\n  }\n\n  isComponent(node: any) {\n    return !!node?.component;\n  }\n}\n","<ng-container *ngFor=\"let block of content\">\n  <ng-container *ngIf=\"!isParagraph(block); else paragraph\">\n    <p *ngIf=\"isHTML(block); else component\" [innerHTML]=\"block | safe : 'html'\"></p>\n    <ng-template #component [ncrDynamic]=\"block\"></ng-template>\n  </ng-container>\n  <ng-template #paragraph>\n    <ng-container *ngFor=\"let element of block\">\n      <span *ngIf=\"isHTML(element)\" [innerHTML]=\"getHTML(element) | safe : 'html'\"></span>\n      <ng-template *ngIf=\"isComponent(element)\" [ncrDynamic]=\"element\"></ng-template>\n    </ng-container>\n  </ng-template>\n</ng-container>\n"],"names":["i1"],"mappings":"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"}