UNPKG

@maskito/angular

Version:

The Angular-specific Maskito's library

1 lines 7.06 kB
{"version":3,"file":"maskito-angular.mjs","sources":["../../../projects/angular/src/lib/maskito.directive.ts","../../../projects/angular/src/lib/maskito.pipe.ts","../../../projects/angular/src/lib/pattern.directive.ts","../../../projects/angular/src/maskito-angular.ts"],"sourcesContent":["import {\n Directive,\n effect,\n ElementRef,\n inject,\n model,\n NgZone,\n type OnDestroy,\n untracked,\n} from '@angular/core';\nimport {DefaultValueAccessor} from '@angular/forms';\nimport {\n Maskito,\n MASKITO_DEFAULT_ELEMENT_PREDICATE,\n type MaskitoOptions,\n maskitoTransform,\n} from '@maskito/core';\n\n@Directive({selector: '[maskito]'})\nexport class MaskitoDirective implements OnDestroy {\n private readonly elementRef: HTMLElement = inject(ElementRef).nativeElement;\n private readonly ngZone = inject(NgZone);\n private maskedElement: Maskito | null = null;\n\n protected readonly initEffect = effect(async () => {\n const options = this.options();\n const elementPredicate = this.elementPredicate();\n const {elementRef, ngZone} = this;\n\n this.destroy();\n\n if (!options) {\n return;\n }\n\n const predicateResult = await elementPredicate(elementRef);\n\n if (\n untracked(this.elementPredicate) !== elementPredicate ||\n untracked(this.options) !== options\n ) {\n // Ignore the result of the predicate if the\n // maskito element (or its options) has changed before the predicate was resolved.\n return;\n }\n\n ngZone.runOutsideAngular(() => {\n this.maskedElement = new Maskito(predicateResult, options);\n });\n });\n\n public readonly options = model<MaskitoOptions | null>(null, {alias: 'maskito'});\n\n public readonly elementPredicate = model(MASKITO_DEFAULT_ELEMENT_PREDICATE, {\n alias: 'maskitoElement',\n });\n\n constructor() {\n const accessor = inject(DefaultValueAccessor, {self: true, optional: true});\n\n if (accessor) {\n const original = accessor.writeValue.bind(accessor);\n\n accessor.writeValue = (value: unknown) => {\n const options = untracked(this.options);\n\n original(\n options ? maskitoTransform(String(value ?? ''), options) : value,\n );\n };\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private destroy(): void {\n this.maskedElement?.destroy();\n this.maskedElement = null;\n }\n}\n","import {Pipe, type PipeTransform} from '@angular/core';\nimport {\n MASKITO_DEFAULT_OPTIONS,\n type MaskitoOptions,\n maskitoTransform,\n} from '@maskito/core';\n\n@Pipe({name: 'maskito'})\nexport class MaskitoPipe implements PipeTransform {\n public transform(value: unknown, maskitoOptions: MaskitoOptions | null): string {\n return maskitoTransform(\n String(value ?? ''),\n maskitoOptions ?? MASKITO_DEFAULT_OPTIONS,\n );\n }\n}\n","import {Directive, inject} from '@angular/core';\n\nimport {MaskitoDirective} from './maskito.directive';\n\n@Directive({\n selector: '[maskitoPattern]',\n inputs: ['maskitoPattern'],\n hostDirectives: [MaskitoDirective],\n})\nexport class MaskitoPattern {\n private readonly maskitoDirective = inject(MaskitoDirective, {self: true});\n\n public set maskitoPattern(pattern: RegExp | string) {\n this.maskitoDirective.options.set({\n mask: typeof pattern === 'string' ? new RegExp(`^${pattern}$`) : pattern,\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MaskitoDirective"],"mappings":"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"}