{"version":3,"file":"kif-lib-input.mjs","sources":["../../../projects/kif-lib/input/components/tooltip/tooltip-content.component.ts","../../../projects/kif-lib/input/components/tooltip/tooltip-content.component.html","../../../projects/kif-lib/input/components/tooltip/directive/tooltip.directive.ts","../../../projects/kif-lib/input/input.component.ts","../../../projects/kif-lib/input/input.component.html","../../../projects/kif-lib/input/commons/commonUtils.ts","../../../projects/kif-lib/input/pipe/rut-Formatted.pipe.ts","../../../projects/kif-lib/input/components/tooltip/tooltip.module.ts","../../../projects/kif-lib/input/input.module.ts","../../../projects/kif-lib/input/directives/RutValidator.directive.ts","../../../projects/kif-lib/input/models/mask.ts","../../../projects/kif-lib/input/public-api.ts","../../../projects/kif-lib/input/kif-lib-input.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, Input, signal, TemplateRef } from '@angular/core';\n\n@Component({\n    selector: 'kit-tooltip-content',\n    templateUrl: './tooltip-content.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n\n})\nexport class TooltipContentComponent {\n    @Input() title?: string;\n    @Input() description?: string;\n    @Input() templateRef?: TemplateRef<any>;\n    @Input() positionType = 'top';\n    @Input() offset = 8;\n    \n    private visibleState = signal(false);\n    private positionCoords = signal({ top: 0, left: 0 });\n    \n    // Expose signal readers for the template\n    visible = this.visibleState.asReadonly();\n    positionState = this.positionCoords.asReadonly();\n    \n    show(x: number, y: number, position?: string): void {\n        if (position) {\n            this.positionType = position;\n        }\n        \n        this.calculatePosition(x, y);\n        this.visibleState.set(true);\n    }\n    \n    hide(): void {\n        this.visibleState.set(false);\n    }\n    \n    private calculatePosition(x: number, y: number): void {\n        let top = 0;\n        let left = 0;\n        \n        // Get tooltip dimensions\n        const tooltipElement = this.elementRef.nativeElement.querySelector('.tooltip-container');\n        const tooltipHeight = tooltipElement.offsetHeight;\n        const tooltipWidth = tooltipElement.offsetWidth;\n        \n        switch (this.positionType) {\n            case 'top':\n                top = y - tooltipHeight - this.offset;\n                left = x - (tooltipWidth / 2);\n                break;\n            case 'bottom':\n                top = y + this.offset;\n                left = x - (tooltipWidth / 2);\n                break;\n            case 'left':\n                top = y - (tooltipHeight / 2);\n                left = x - tooltipWidth - this.offset;\n                break;\n            case 'right':\n                top = y - (tooltipHeight / 2);\n                left = x + this.offset;\n                break;\n        }\n        \n        // Ensure tooltip doesn't go outside viewport\n        const viewportWidth = window.innerWidth;\n        const viewportHeight = window.innerHeight;\n        \n        if (left < 0) left = 0;\n        if (left + tooltipWidth > viewportWidth) left = viewportWidth - tooltipWidth;\n        if (top < 0) top = 0;\n        if (top + tooltipHeight > viewportHeight) top = viewportHeight - tooltipHeight;\n        \n        this.positionCoords.set({ top, left });\n    }\n    \n    constructor(private elementRef: ElementRef) {}\n}\n\n","<div \nclass=\"tooltip-container d-flex flex-column gap-2\" \n[class.visible]=\"visible()\" \n\n[style.top.px]=\"positionState().top\" \n[style.left.px]=\"positionState().left\">\n@if (title) {\n  <div class=\"tooltip-title\">{{ title }}</div>\n}\n@if (description) {\n  <div class=\"tooltip-description\">{{ description }}</div>\n}\n@if (templateRef) {\n  <ng-container [ngTemplateOutlet]=\"templateRef\"></ng-container>\n}","import { ComponentRef, Directive, ElementRef, HostListener, inject, Input, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { TooltipContentComponent } from '../tooltip-content.component';\n\n@Directive({\n    selector: '[kitTooltip]',\n    exportAs: 'kitTooltip'\n})\nexport class TooltipDirective implements OnDestroy {\n    @Input() kitTooltip = '';\n    @Input() tooltipDescription = '';\n    @Input() tooltipTemplate?: TemplateRef<any>;\n    @Input() tooltipPosition: 'top' | 'bottom' | 'left' | 'right' = 'top';\n    @Input() tooltipOffset = 8;\n    @Input() tooltipDelay = 100;\n  \n    private tooltipRef?: ComponentRef<TooltipContentComponent>;\n    private showTimeoutId?: number;\n    private hideTimeoutId?: number;\n    private viewContainerRef = inject(ViewContainerRef);\n    private document = inject(DOCUMENT);\n  \n    constructor(private elementRef: ElementRef) {}\n  \n    @HostListener('mouseenter')\n    onMouseEnter(): void {\n        this.clearTimeouts();\n        \n        this.showTimeoutId = window.setTimeout(() => {\n            this.show();\n        }, this.tooltipDelay);\n    }\n      \n    @HostListener('mouseleave')\n    onMouseLeave(): void {\n        this.clearTimeouts();\n        \n        if (this.tooltipRef) {\n            this.hideTimeoutId = window.setTimeout(() => {\n                this.hide();\n            }, 100);\n        }\n    }\n    \n    private show(): void {\n        if (this.tooltipRef) {\n            return;\n        }\n      \n        // Create tooltip component\n        this.tooltipRef = this.viewContainerRef.createComponent(TooltipContentComponent);\n        \n        // Set inputs\n        this.tooltipRef.instance.title = this.kitTooltip;\n        this.tooltipRef.instance.description = this.tooltipDescription;\n        this.tooltipRef.instance.templateRef = this.tooltipTemplate;\n        this.tooltipRef.instance.positionType = this.tooltipPosition;\n        this.tooltipRef.instance.offset = this.tooltipOffset;\n        \n        // Append to body to avoid clipping issues\n        this.document.body.appendChild(this.tooltipRef.location.nativeElement);\n        \n        // Calculate position and show\n        const rect = this.elementRef.nativeElement.getBoundingClientRect();\n        let x = rect.left + rect.width / 2;\n        let y = 0;\n        \n        switch (this.tooltipPosition) {\n            case 'top':\n                y = rect.top;\n                break;\n            case 'bottom':\n                y = rect.bottom;\n                break;\n            case 'left':\n            case 'right':\n                y = rect.top + rect.height / 2;\n                break;\n        }\n        \n        if (this.tooltipPosition === 'left') {\n            x = rect.left;\n        } else if (this.tooltipPosition === 'right') {\n            x = rect.right;\n        }\n        \n        // Give the browser a chance to render before calculating position\n        setTimeout(() => {\n            this.tooltipRef?.instance.show(x, y, this.tooltipPosition);\n        });\n    }\n    \n    private hide(): void {\n        if (this.tooltipRef) {\n            this.tooltipRef.instance.hide();\n          \n            setTimeout(() => {\n                this.tooltipRef?.destroy();\n                this.tooltipRef = undefined;\n            }, 150);\n        }\n    }\n    \n    private clearTimeouts(): void {\n        if (this.showTimeoutId) {\n            clearTimeout(this.showTimeoutId);\n            this.showTimeoutId = undefined;\n        }\n        \n        if (this.hideTimeoutId) {\n            clearTimeout(this.hideTimeoutId);\n            this.hideTimeoutId = undefined;\n        }\n    }\n    \n    ngOnDestroy(): void {\n        this.clearTimeouts();\n        \n        if (this.tooltipRef) {\n            this.tooltipRef.destroy();\n        }\n    }\n}\n","\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Mask } from './models/mask';\nimport { IAffixes } from './interfaces/affixes.interface';\nimport { LabelAction, LabelActionEvent } from './interfaces/label-action.interface';\nimport { CircleAlert } from 'lucide-angular';\n\n@Component({\n    selector: 'kit-input',\n    templateUrl: './input.component.html',\n    styleUrls: ['../styles/index.scss']\n})\nexport class InputComponent  {\n    @Input() placeholderText: string = '';  \n    @Input() type: string = ''; \n    @Input() label: string = ''; \n    @Input() minlength?: number;\n    @Input() maxlength?: number;\n    @Input() control: FormControl | any;\n    @Input() mask?: Mask | any;\n    @Input() messageErrorCustom: string = '';\n    @Input() affixes: IAffixes|null = null\n    @Input() labelActions: LabelAction[] = [];\n    @Input() descriptionTooltip: string = '';\n    \n    @Output() clickIcon: EventEmitter<MouseEvent> = new EventEmitter();\n    @Output() labelActionClicked: EventEmitter<LabelActionEvent> = new EventEmitter();\n\n    readonly infoCircle = CircleAlert;\n\n    onClickIcon(event: MouseEvent) {\n        this.clickIcon.emit(event)\n    }\n    onLabelActionClick(action: LabelAction) {\n        if (!action.disabled) {\n            this.labelActionClicked.emit({\n                actionId: action.id,\n                action\n            });\n        }\n    }\n    isControlRequired(): boolean {\n        if(this.control && this.control.validator) {\n            const validator = this.control.validator({} as any);\n            return !!(validator && validator.required);\n        }\n        return false\n    }\n}\n","@if(label) {\n  @if(labelActions && labelActions.length > 0) {\n    <div class=\"d-flex justify-content-between cell-flex align-items-center action-button-container h-label label-mb \">\n        <mat-label [class.required]=\"isControlRequired()\">{{label}}</mat-label>\n        <div class=\"d-flex gap-2 action-button\">\n            @for(action of labelActions; track action.id) {\n                @if (!action.showBelow) {\n                    <button \n                        mat-icon-button \n                        [matTooltip]=\"action.matTooltip ?? ''\" \n                        matTooltipClass=\"custom-tooltip\"\n                        [disabled]=\"action.disabled ?? false\"\n                        class=\"action-icon-label p-0\"\n                        (click)=\"onLabelActionClick(action)\">\n                        <lucide-angular \n                            [img]=\"action.icon.iconSvg\" \n                            [size]=\"action.icon.size ?? '16'\" \n                            [color]=\"action.icon.color ?? '#5D6F85'\"\n                            [class]=\"action.icon.class ?? 'lucide-angular-icon'\">\n                        </lucide-angular>\n                    </button>\n                }\n            }\n             @if(descriptionTooltip) {\n                <button \n                class=\"action-icon-info d-flex align-items-center justify-content-center p-0 \"\n                    matTooltipClass=\"custom-tooltip\">\n                    <lucide-angular\n                [size]=\"16\"\n                [color]=\"'#5D6F85'\"\n                [img]=\"infoCircle\"\n                [kitTooltip]=\"''\"\n                [tooltipDescription]=\"descriptionTooltip\"\n                [tooltipPosition]=\"'top'\">\n            </lucide-angular>\n                </button>\n                \n           \n        }\n        </div>\n    </div>\n  } @else {\n    <div class=\"w-100 d-flex justify-content-between align-items-center label-mb h-label\">\n        <mat-label [class.required]=\"isControlRequired()\">{{label}}</mat-label>\n        @if(descriptionTooltip) {\n\n                <button \n                class=\"action-icon-info d-flex align-items-center justify-content-center p-0 \"\n                    matTooltipClass=\"custom-tooltip\">\n                    <lucide-angular\n                [size]=\"16\"\n                [color]=\"'#5D6F85'\"\n                [img]=\"infoCircle\"\n                [kitTooltip]=\"''\"\n                [tooltipDescription]=\"descriptionTooltip\"\n                [tooltipPosition]=\"'top'\">\n            </lucide-angular>\n                </button>\n        }\n    </div>\n  }\n}\n    <mat-form-field class=\"example-full-width custom-label-outside\" appearance=\"outline\" floatLabel=\"always\">\n        \n        <input matInput \n            [type]=\"type\" \n            class=\"form-control\" \n            [formControl]=\"control\" \n            [placeholder]=\"placeholderText\" \n            [dropSpecialCharacters]=\"mask && mask.dropSpecialCharacters ? false : true\" \n            [prefix]=\"mask && mask.prefix ? mask.prefix : ''\"  \n            [suffix]=\"mask && mask.suffix ? mask.suffix : ''\"\n            [mask]=\"mask && mask.mask ? mask.mask : ''\"\n            [showMaskTyped]=\"mask && mask.showMaskTyped ? mask.showMaskTyped : false\"\n            [allowNegativeNumbers]=\"mask && mask.allowNegativeNumbers ? mask.allowNegativeNumbers : false\"\n            [placeHolderCharacter]=\"mask && mask.placeHolderCharacter ? mask.placeHolderCharacter : null\"\n            [clearIfNotMatch]=\"mask && mask.clearIfNotMatch ? mask.clearIfNotMatch : false\" \n            [specialCharacters]=\"mask && mask.specialCharacters ? mask.specialCharacters : mask && mask.thousandSeparator ? [mask.thousandSeparator]:null\"\n            [thousandSeparator]=\"mask && mask.thousandSeparator ? mask.thousandSeparator : '.'\"\n            [decimalMarker]=\"(mask && mask.thousandSeparator && mask.thousandSeparator === '.') ? ',':'.'\"\n            [validation]=\"mask && mask.validation ? mask.validation : false\"\n            [patterns]=\"mask && mask.customPatterns ? mask.customPatterns : null\"\n        />\n        @if(affixes && affixes.suffix) {\n            @if(affixes.suffix.iconSuffix || affixes.suffix.imgSuffix) {\n\n                <button mat-icon-button matSuffix (click)=\"onClickIcon($event)\">\n                    @if(affixes.suffix.iconSuffix) { \n                        <lucide-angular [img]=\"affixes.suffix.iconSuffix\" [size]=\"affixes.suffix.size ? affixes.suffix.size : '24'\" [color]=\"affixes.suffix.color ? affixes.suffix.color : '#5B62DA'\" class=\"{{affixes.suffix.class? affixes.suffix.class:''}}\"></lucide-angular>\n                    } @else if(affixes.suffix.imgSuffix) {\n                        <img [src]=\"affixes.suffix.imgSuffix\" alt=\"\" [width]=\"affixes.suffix.imgSizeWidth\" [height]=\"affixes.suffix.imgSizeHeight\" [class]=\"affixes.suffix.class\" />\n                    }\n                </button>\n            } @else if(affixes.suffix.textSuffix) {\n\n                <span matSuffix class=\"suffix-text\">{{affixes.suffix.textSuffix}}</span>\n            }\n        } \n        @if(affixes && affixes.prefix) {\n            @if(affixes.prefix.iconPrefix || affixes.prefix.imgPreffix) {\n\n                <button mat-icon-button matPrefix (click)=\"onClickIcon($event)\">\n                    @if(affixes.prefix.iconPrefix) { \n                        <lucide-angular [img]=\"affixes.prefix.iconPrefix\" [size]=\"affixes.prefix.size ? affixes.prefix.size : '24'\" [color]=\"affixes.prefix.color ? affixes.prefix.color : '#5B62DA'\" class=\"{{affixes.prefix.class? affixes.prefix.class:''}}\"></lucide-angular>\n                    } @else if(affixes.prefix.imgPreffix) {\n                        <img [src]=\"affixes.prefix.imgPreffix\" alt=\"\" [width]=\"affixes.prefix.imgSizeWidth\" [height]=\"affixes.prefix.imgSizeHeight\" [class]=\"affixes.prefix.class\" />\n                    }\n                </button>\n            } @else if(affixes.prefix.textPrefix) {\n           \n                <span matPrefix class=\"prefix-text\">{{affixes.prefix.textPrefix}}</span>\n            }\n        }\n        @if (control?.hasError('email') && !control?.hasError('required')) {\n            <mat-error>El email no es válido</mat-error>\n        }\n        \n        @if (control?.hasError('required')) {\n        <mat-error\n            > {{label ? label: 'Este campo'}} es <strong>requerido</strong></mat-error\n        >\n        }\n        @if (control?.hasError('minlength')) {\n        <mat-error\n            >El mínimo permitido son {{minlength}} caracteres</mat-error\n        >\n        }\n\n        @if (control?.hasError('errorCommons')) {\n        <mat-error\n            >{{messageErrorCustom}}</mat-error\n        >\n        }\n\n        @if (control?.hasError('maxlength')) {\n        <mat-error>El máximo permitido son {{maxlength}} caracteres</mat-error\n    >\n        }\n        \n    </mat-form-field>\n@if(labelActions && labelActions.length > 0 && !control?.errors) {\n    <div class=\"custom-hints\">\n        @for(action of labelActions; track action.id) {\n            @if(action.showBelow) {\n                <div class=\"hint-item-wrapper\">\n                    @if(action.text) {\n                        <span class=\"hint-text\">{{action.text}}</span>\n                    }\n                    <button\n                        mat-icon-button \n                        [matTooltip]=\"action.matTooltip ?? ''\" \n                        matTooltipClass=\"custom-tooltip\"\n                        [disabled]=\"action.disabled ?? false\"\n                        class=\"hint-icon-button\"\n                        (click)=\"onLabelActionClick(action)\">\n                        <lucide-angular \n                            [img]=\"action.icon.iconSvg\" \n                            [size]=\"action.icon.size ?? '16'\" \n                            [color]=\"action.icon.color ?? '#5D6F85'\"\n                            [class]=\"action.icon.class ?? 'lucide-angular-icon'\">\n                        </lucide-angular>\n                    </button>\n                </div>\n            }\n        }\n    </div>\n}\n","export class CommonUtils {\n    /**\n     * Check if the current rut is valid or not.\n     * \n     * @param rut\n     */\n    public static  validRut(rut: any): boolean {\n        if (typeof rut !== 'string') {\n            return false\n        }\n        if (!/^0*(\\d{1,3}(\\.?\\d{3})*)-?([\\dkK])$/.test(rut)) {\n            return false\n        }\n\n        rut = this.cleanRut(rut)\n\n        let t = parseInt(rut.slice(0, -1), 10)\n        let m = 0\n        let s = 1\n\n        while (t > 0) {\n            s = (s + (t % 10) * (9 - m++ % 6)) % 11\n            t = Math.floor(t / 10)\n        }\n\n        const v = s > 0 ? '' + (s - 1) : 'K'\n        return v === rut.slice(-1)\n    }\n\n    /**\n     * Format a rut input to add correct format\n     * @param rut \n     */\n    public static  formatRut(rut: string, useDotDelimiter: boolean) {\n        rut = this.cleanRut(rut)\n\n        let result = rut.slice(-4, -1) + '-' + rut.substring(rut.length - 1)\n        for (let i = 4; i < rut.length; i += 3) {\n            if (useDotDelimiter) {\n                result = rut.slice(-3 - i, -i) + '.' + result\n            } else {\n                result = rut.slice(-3 - i, -i) + result\n            }\n\n        }\n        if (result == '-') {\n            result = '';\n        }\n        return result\n    }\n\n    /**\n     * Remove dots from input rut \n     * @param rut \n     */\n    public static  cleanRut(rut: string) {\n        return typeof rut === 'string' ?\n            rut.replace(/^0+|[^0-9kK]+/g, '').toUpperCase() :\n            ''\n    }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { CommonUtils } from '../commons/commonUtils';\n\n@Pipe({\n    name: 'rut-Formatted'\n})\nexport class RutFormattedPipe implements PipeTransform {\n\n    transform(rutEnv: string): any {\n        return CommonUtils.formatRut(rutEnv, true);\n    }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipContentComponent } from './tooltip-content.component';\nimport { TooltipDirective } from './directive/tooltip.directive';\n@NgModule({\n    imports: [\n        CommonModule,\n\n    ],\n    declarations: [\n        TooltipContentComponent,\n        TooltipDirective\n    ],\n    exports:[\n        TooltipDirective\n    ],\n    \n})\nexport class KifTooltipModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputComponent } from './input.component';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport {MatIconModule} from '@angular/material/icon';\nimport { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask';\nimport { RutFormattedPipe } from './pipe/rut-Formatted.pipe';\nimport { LucideAngularModule } from 'lucide-angular';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { KifTooltipModule } from './components/tooltip/tooltip.module';\n\n@NgModule({\n    imports: [\n        CommonModule,\n        MatInputModule,\n        FormsModule,\n        ReactiveFormsModule,\n        MatFormFieldModule,\n        MatIconModule, \n        NgxMaskDirective, \n        NgxMaskPipe,\n        MatTooltipModule,\n        LucideAngularModule,\n        LucideAngularModule, \n        KifTooltipModule\n    ],\n    declarations: [\tInputComponent, RutFormattedPipe],\n    exports:[\n        InputComponent,\n        RutFormattedPipe\n    ],\n    providers: [provideNgxMask()],\n\n})\nexport class KifInputModule { }\n","import { Directive } from '@angular/core';\nimport { AbstractControl, UntypedFormControl, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';\nimport { CommonUtils } from '../commons/commonUtils';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[rutValidator]',\n    standalone: true\n})\nexport class RutValidator implements Validator {\n    validate(c: UntypedFormControl): ValidationErrors | null {\n        return RutValidator.validateRut(c);\n    }\n\n    static validateRut(control: UntypedFormControl): ValidationErrors | null{\n        if (control.value && !CommonUtils.validRut(CommonUtils.formatRut(control.value, true))) {\n            return {\n                'invalidRut' : control.value\n            };\n        }\n    \n        return null;\n    }\n\n    validateRutWithPartyType(tipo: string): ValidatorFn | null{\n        return (control: AbstractControl): (ValidationErrors | null) => {\n            if (control.value && !CommonUtils.validRut(CommonUtils.formatRut(control.value, true))) {\n                return {\n                    'invalidRut' : control.value\n                };\n            } else if (control.value && tipo) {\n                const formattedRut = CommonUtils.formatRut(control.value, false);\n                const intRut = parseInt(formattedRut.substring(0,formattedRut.indexOf('-')));\n                if (tipo === 'ORGANIZATION' && intRut < 50000000) {\n                    return {\n                        'invalidRutForType' : control.value\n                    };\n                } else if (tipo === 'PERSON' && intRut > 50000000) {\n                    return {\n                        'invalidRutForType' : control.value\n                    };\n                }\n            }\n            return null;\n        };\n    }\n\n} ","export class Mask {\n    //Si se incluye caracter especial en el modelo o no, es decir si el formato que se confgura debe ser guardado \n    dropSpecialCharacters?: boolean | undefined; //You can choose if mask will drop special character in the model, or not, default value is true.\n    //Prefijo // Es valido para los campo de texto,número pero no para select,autocomplete,date\n    prefix?: string; //You can add prefix to you masked value\n    //Sufijo // Es valido para los campo de texto,número pero no para select,autocomplete,date\n    suffix?: string; //You can add suffix to you masked value\n    //Formato del campo\n    mask: string | undefined;\n    //showMaskTyped // Define si se muestra la máscara mientras escribe o no, el valor predeterminado es false.\n    showMaskTyped?: boolean //You can choose if mask is shown while typing, or not, default value is false.\n    //Si permite números negativos\n    allowNegativeNumbers?: boolean; //You can choose if mask will allow the use of negative numbers. The default value is false.\n    //Si el showMaskTypedparámetro está habilitado, esta configuración personaliza el carácter utilizado como marcador de posición\n    placeHolderCharacter?: string|null //If the showMaskTyped parameter is enabled, this setting customizes the character used as placeholder. Default value is _.\n    //Puede elegir borrar la entrada si el valor de entrada no coincide con la máscara, el valor predeterminado es false.\n    clearIfNotMatch?: boolean; //You can choose clear the input if the input value not match the mask, default value is false.\n    //Es un array de string que debe incluir los caracteres especiales que se incluyen en el mask por ejemplo ['-','.']\n    specialCharacters?: Array<string>|null //You can define your custom options for all directives (as object in the mask module) or for each (as attributes for directive). \n    //If you override this parameter, you have to provide all the special characters (default one are not included).\n    //Separador de miles\n    thousandSeparator?: string = \"\"\n    //Separador de decimales\n    decimalMarker?:string\n    customPatterns?: any\n    validation?: boolean\n}\n","/*\n * Public API Surface of kif-lib-input\n */\n\nexport * from '../input/input.component';\nexport * from '../input/input.module';\nexport * from '../input/directives/RutValidator.directive';\nexport * from './commons/commonUtils'\nexport * from './models/mask'\nexport * from './pipe/rut-Formatted.pipe'\nexport * from './interfaces/index'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i7.TooltipDirective"],"mappings":"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"}