{ "version": 3, "sources": ["src/app/shared/read-more/read-more.component.ts", "src/app/shared/read-more/read-more.component.html"], "sourcesContent": ["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges } from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {SafeHtmlPipe} from \"../../_pipes/safe-html.pipe\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-read-more',\n standalone: true,\n imports: [CommonModule, SafeHtmlPipe, TranslocoDirective],\n templateUrl: './read-more.component.html',\n styleUrls: ['./read-more.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReadMoreComponent implements OnChanges {\n /**\n * String to apply readmore on\n */\n @Input({required: true}) text!: string;\n /**\n * Max length before apply read more. Defaults to 250 characters.\n */\n @Input() maxLength: number = 250;\n /**\n * If the field is collapsed and blur true, text will not be readable\n */\n @Input() blur: boolean = false;\n /**\n * If the read more toggle is visible\n */\n @Input() showToggle: boolean = true;\n\n currentText!: string;\n hideToggle: boolean = true;\n isCollapsed: boolean = true;\n\n constructor(private readonly cdRef: ChangeDetectorRef) {}\n\n toggleView() {\n this.isCollapsed = !this.isCollapsed;\n this.determineView();\n }\n\n determineView() {\n if (!this.text || this.text.length <= this.maxLength) {\n this.currentText = this.text;\n this.isCollapsed = true;\n this.hideToggle = true;\n return;\n }\n this.hideToggle = false;\n if (this.isCollapsed) {\n this.currentText = this.text.substring(0, this.maxLength);\n this.currentText = this.currentText.substring(0, Math.min(this.currentText.length, this.currentText.lastIndexOf(' ')));\n this.currentText = this.currentText + '…';\n } else if (!this.isCollapsed) {\n this.currentText = this.text;\n }\n\n this.cdRef.markForCheck();\n }\n ngOnChanges() {\n this.determineView();\n }\n}\n", "\n
\n \n maxLength && showToggle\" class=\"read-more-link\" (click)=\"toggleView()\">\n   {{isCollapsed ? t('read-more') : t('read-less')}}\n \n
\n
\n"], "mappings": "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", "names": ["\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r4", "ctx_r3", "\u0275\u0275nextContext", "\u0275\u0275resetView", "toggleView", "\u0275\u0275text", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275classProp", "ctx_r2", "hideToggle", "\u0275\u0275advance", "\u0275\u0275property", "\u0275\u0275pureFunction2", "_c0", "isCollapsed", "\u0275\u0275textInterpolate1", "t_r1", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "ReadMoreComponent_ng_container_0_a_4_Template", "\u0275\u0275elementContainerEnd", "\u0275\u0275pipeBind1", "ctx_r0", "currentText", "\u0275\u0275sanitizeHtml", "\u0275\u0275pureFunction1", "_c1", "blur", "text", "length", "maxLength", "showToggle", "ReadMoreComponent", "constructor", "cdRef", "determineView", "substring", "Math", "min", "lastIndexOf", "markForCheck", "ngOnChanges", "\u0275\u0275directiveInject", "ChangeDetectorRef", "selectors", "inputs", "standalone", "features", "\u0275\u0275NgOnChangesFeature", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "ReadMoreComponent_ng_container_0_Template", "CommonModule", "NgClass", "NgIf", "SafeHtmlPipe", "TranslocoDirective", "styles", "changeDetection", "_ReadMoreComponent"] }