{"version":3,"file":"chunk-njiifmis.js","sources":["packages/vanilla/lib/shared/browser/src/trust-as-html.pipe.ts","packages/vanilla/lib/shared/browser/src/format.pipe.ts","packages/vanilla/lib/shared/browser/src/html-attrs.directive.ts","packages/vanilla/lib/shared/browser/src/trust-as-resource-url.pipe.ts","packages/vanilla/lib/shared/browser/src/iframe.component.ts","packages/vanilla/lib/features/icons/src/icons.client-config.ts","packages/vanilla/lib/features/icons/src/icon-fast.service.ts","packages/vanilla/lib/features/icons/src/icon-fast.component.ts","packages/vanilla/lib/shared/forms/src/validation/validators.ts","packages/vanilla/lib/shared/forms/src/date/date-range-validator.directive.ts","packages/vanilla/lib/shared/forms/src/date/date.client-config.ts","packages/vanilla/lib/shared/forms/src/validation/validation.client-config.ts","packages/vanilla/lib/shared/forms/src/validation/custom-tooltip-messages.component.html","packages/vanilla/lib/shared/forms/src/validation/custom-tooltip-messages.component.ts","packages/vanilla/lib/shared/forms/src/validation/validation-messages.component.html","packages/vanilla/lib/shared/forms/src/validation/validation-messages.component.ts","packages/vanilla/lib/shared/forms/src/forms/portal-form-group.ts","packages/vanilla/lib/shared/forms/src/forms/validation-helper.service.ts","packages/vanilla/lib/shared/forms/src/forms/form-field.component.html","packages/vanilla/lib/shared/forms/src/forms/form-field.component.ts","packages/vanilla/lib/shared/forms/src/validation/number-only.directive.ts","packages/vanilla/lib/shared/forms/src/date/date.html","packages/vanilla/lib/shared/forms/src/date/date.component.ts","packages/vanilla/lib/shared/forms/src/monthly-view/monthly-view.component.html","packages/vanilla/lib/shared/forms/src/monthly-view/monthly-view.component.ts","packages/vanilla/lib/shared/forms/src/username-mobile-number/username-mobile-resource.service.ts","packages/vanilla/lib/shared/forms/src/validation/countrycode-validator-directive.ts","packages/vanilla/lib/shared/forms/src/username-mobile-number/username-mobile-number.component.html","packages/vanilla/lib/shared/forms/src/username-mobile-number/username-mobile-number.component.ts","packages/vanilla/lib/shared/forms/src/validation/max.directive.ts","packages/vanilla/lib/shared/forms/src/validation/min.directive.ts","packages/vanilla/lib/shared/forms/src/validation/number-input.directive.ts","packages/vanilla/lib/shared/forms/src/validation/validation-hint.component.html","packages/vanilla/lib/shared/forms/src/validation/validation-hint.component.ts","packages/vanilla/lib/shared/forms/src/forms/dynamic-validation.service.ts","packages/vanilla/lib/shared/forms/src/forms/portal-form-control.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n/**\n * @whatItDoes Runs html string through `DomSanitizer.bypassSecurityTrustHtml()`\n *\n * @howToUse\n *\n * ```\n *
\n * ```\n *\n * @stable\n */\n@Pipe({ standalone: true, name: 'trustAsHtml', pure: true })\nexport class TrustAsHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n public transform(value: string | null | undefined): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(value || '');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { UtilsService } from '@frontend/vanilla/core';\n\n/**\n * @whatItDoes Provides format pipe\n *\n * @howToUse `
{{'User: {0} Balance: {1}' | format:user.name : user.balance}}
`\n *\n * @stable\n */\n@Pipe({ standalone: true, name: 'format', pure: true })\nexport class FormatPipe implements PipeTransform {\n constructor(private util: UtilsService) {}\n\n transform(mask: string | undefined, ...args: any[]): string {\n return this.util.format(mask!, ...args);\n }\n}\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\n\n/**\n * @whatItDoes Dynamically sets html attributes on an element\n *\n * @howToUse\n *\n * ```\n *
\n * ```\n *\n * If `collectionWithAttributes` is `{'class':'foo','title':'Hello', 'id': 'new_id'}` the resulting html will be\n *\n * ```\n *
\n * ```\n *\n * @description\n *\n * Used internally to set attributes on an element rendered from sitecore, that has dictionary of\n * arbitrary html attributes. You can also use this yourself, but there will not be many use cases for it (if any at all).\n *\n * It updates the attributes when the input object changes.\n *\n * NOTE: It does not do any compilation, so bindings will not work.\n *\n * @stable\n */\n@Directive({\n standalone: true,\n selector: '[vnHtmlAttrs]',\n})\nexport class HtmlAttrsDirective implements OnChanges {\n @Input() vnHtmlAttrs: any;\n private snapshot: Map;\n private addedClasses: string[];\n private element: HTMLElement;\n\n constructor(elementRef: ElementRef) {\n this.element = elementRef.nativeElement;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const attrs = changes.vnHtmlAttrs;\n\n if (attrs) {\n this.renderAttributes(attrs.currentValue, attrs.previousValue);\n }\n }\n\n private renderAttributes(newValues: { [attr: string]: string }, oldValues: { [attr: string]: string }) {\n if (this.snapshot) {\n this.addedClasses.forEach((c) => this.element.classList.remove(c));\n\n Object.keys(oldValues || []).forEach((key: string) => {\n if (this.snapshot.has(key)) {\n if (oldValues[key] === this.element.getAttribute(key)) {\n this.element.setAttribute(key, this.snapshot.get(key)!);\n }\n } else if (!this.isClass(key)) {\n this.element.removeAttribute(key);\n }\n });\n }\n\n this.snapshot = new Map();\n this.addedClasses = [];\n\n Object.keys(newValues || []).forEach((key: string) => {\n const value = newValues[key]!;\n\n if (this.isClass(key)) {\n this.addedClasses.push(value);\n\n this.element.classList.add(value);\n } else {\n const attrValue = this.element.getAttribute(key);\n\n if (attrValue) {\n this.snapshot.set(key, attrValue);\n }\n\n this.element.setAttribute(key, value);\n }\n });\n }\n\n private isClass(name: string): boolean {\n return name.toLowerCase() === 'class';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n/**\n * A pipe to bypass security and trust the given value to be a safe resource URL,\n * i.e. a location that may be used to load executable code from, like