File: /mnt/data/smarthr-co-in/demo/angular/template/chunk-LZCQVABC.js
import{a as le,e as he}from"./chunk-7PPOABPU.js";import{$c as g,Ab as se,Ea as q,Ec as ae,Fa as X,Ha as ee,_c as ne,cc as re,fa as W,ia as B,ka as N,kb as te,rb as ie,ta as z,ya as A}from"./chunk-AQ27DSQO.js";import{a as H,f as J}from"./chunk-EQDQRRRY.js";var i=(function(c){return c.SEPARATOR="separator",c.PERCENT="percent",c.IP="IP",c.CPF_CNPJ="CPF_CNPJ",c.MONTH="M",c.MONTHS="M0",c.MINUTE="m",c.HOUR="h",c.HOURS="H",c.MINUTES="m0",c.HOURS_HOUR="Hh",c.SECONDS="s0",c.HOURS_MINUTES_SECONDS="Hh:m0:s0",c.EMAIL_MASK="A*@A*.A*",c.HOURS_MINUTES="Hh:m0",c.MINUTES_SECONDS="m0:s0",c.DAYS_MONTHS_YEARS="d0/M0/0000",c.DAYS_MONTHS="d0/M0",c.DAYS="d0",c.DAY="d",c.SECOND="s",c.LETTER_S="S",c.DOT=".",c.COMMA=",",c.CURLY_BRACKETS_LEFT="{",c.CURLY_BRACKETS_RIGHT="}",c.MINUS="-",c.OR="||",c.HASH="#",c.EMPTY_STRING="",c.SYMBOL_STAR="*",c.SYMBOL_QUESTION="?",c.SLASH="/",c.WHITE_SPACE=" ",c.NUMBER_ZERO="0",c.NUMBER_NINE="9",c.BACKSPACE="Backspace",c.DELETE="Delete",c.ARROW_LEFT="ArrowLeft",c.ARROW_UP="ArrowUp",c.DOUBLE_ZERO="00",c})(i||{}),Z=new B("ngx-mask config"),ce=new B("new ngx-mask config"),oe=new B("initial ngx-mask config"),_e={suffix:"",prefix:"",thousandSeparator:" ",decimalMarker:[".",","],clearIfNotMatch:!1,showMaskTyped:!1,instantPrefix:!1,placeHolderCharacter:"_",dropSpecialCharacters:!0,hiddenInput:!1,shownMaskExpression:"",separatorLimit:"",allowNegativeNumbers:!1,validation:!0,specialCharacters:["-","/","(",")",".",":"," ","+",",","@","[","]",'"',"'"],leadZeroDateTime:!1,apm:!1,leadZero:!1,keepCharacterPositions:!1,triggerOnMaskChange:!1,inputTransformFn:c=>c,outputTransformFn:c=>c,maskFilled:new te,patterns:{0:{pattern:new RegExp("\\d")},9:{pattern:new RegExp("\\d"),optional:!0},X:{pattern:new RegExp("\\d"),symbol:"*"},A:{pattern:new RegExp("[a-zA-Z0-9]")},S:{pattern:new RegExp("[a-zA-Z]")},U:{pattern:new RegExp("[A-Z]")},L:{pattern:new RegExp("[a-z]")},d:{pattern:new RegExp("\\d")},m:{pattern:new RegExp("\\d")},M:{pattern:new RegExp("\\d")},H:{pattern:new RegExp("\\d")},h:{pattern:new RegExp("\\d")},s:{pattern:new RegExp("\\d")}}},ge=[i.HOURS_MINUTES_SECONDS,i.HOURS_MINUTES,i.MINUTES_SECONDS],ke=[i.PERCENT,i.HOURS_HOUR,i.SECONDS,i.MINUTES,i.SEPARATOR,i.DAYS_MONTHS_YEARS,i.DAYS_MONTHS,i.DAYS,i.MONTHS],Me=(()=>{class c{_config=N(Z);dropSpecialCharacters=this._config.dropSpecialCharacters;hiddenInput=this._config.hiddenInput;clearIfNotMatch=this._config.clearIfNotMatch;specialCharacters=this._config.specialCharacters;patterns=this._config.patterns;prefix=this._config.prefix;suffix=this._config.suffix;thousandSeparator=this._config.thousandSeparator;decimalMarker=this._config.decimalMarker;customPattern;showMaskTyped=this._config.showMaskTyped;placeHolderCharacter=this._config.placeHolderCharacter;validation=this._config.validation;separatorLimit=this._config.separatorLimit;allowNegativeNumbers=this._config.allowNegativeNumbers;leadZeroDateTime=this._config.leadZeroDateTime;leadZero=this._config.leadZero;apm=this._config.apm;inputTransformFn=this._config.inputTransformFn;outputTransformFn=this._config.outputTransformFn;keepCharacterPositions=this._config.keepCharacterPositions;instantPrefix=this._config.instantPrefix;triggerOnMaskChange=this._config.triggerOnMaskChange;_shift=new Set;plusOnePosition=!1;maskExpression="";actualValue="";showKeepCharacterExp="";shownMaskExpression=this._config.shownMaskExpression;deletedSpecialCharacter=!1;ipError;cpfCnpjError;applyMask(t,e,a=0,s=!1,l=!1,u=()=>{}){if(!e||typeof t!="string")return i.EMPTY_STRING;let n=0,h="",f=!1,m=!1,d=1,M=!1,r=t,p=a,R=r.slice(0,this.prefix.length)===this.prefix,I=s&&r.length===this.prefix.length+e.length,O=r===this.prefix+r.slice(this.prefix.length);R&&(I||O)&&(r=r.slice(this.prefix.length)),this.suffix&&r.length>0&&(r=this.checkAndRemoveSuffix(r)),r==="("&&this.prefix&&(r="");let T=r.toString().split(i.EMPTY_STRING);if(this.allowNegativeNumbers&&r.slice(n,n+1)===i.MINUS&&(h+=r.slice(n,n+1)),e===i.IP){let S=r.split(i.DOT);this.ipError=this._validIP(S),e="099.099.099.099"}let P=[];for(let S=0;S<r.length;S++)r[S]?.match("\\d")&&P.push(r[S]??i.EMPTY_STRING);if(e===i.CPF_CNPJ&&(this.cpfCnpjError=P.length!==11&&P.length!==14,P.length>11?e="00.000.000/0000-00":e="000.000.000-00"),e.startsWith(i.PERCENT)){if(r.match("[a-z]|[A-Z]")||r.match(/[-!$%^&*()_+|~=`{}\[\]:";'<>?,\/.]/)&&!l){r=this._stripToDecimal(r);let C=this.getPrecision(e);r=this.checkInputPrecision(r,C,this.decimalMarker)}let S=typeof this.decimalMarker=="string"?this.decimalMarker:i.DOT;if(r.indexOf(S)>0&&!this.percentage(r.substring(0,r.indexOf(S)))){let C=r.substring(0,r.indexOf(S)-1);this.allowNegativeNumbers&&r.slice(n,n+1)===i.MINUS&&!l&&(C=r.substring(0,r.indexOf(S))),r=`${C}${r.substring(r.indexOf(S),r.length)}`}let o="";this.allowNegativeNumbers&&r.slice(n,n+1)===i.MINUS?o=`${i.MINUS}${r.slice(n+1,n+r.length)}`:o=r,this.percentage(o)?h=this._splitPercentZero(r):h=this._splitPercentZero(r.substring(0,r.length-1))}else if(e.startsWith(i.SEPARATOR)){(r.match("[w\u0430-\u044F\u0410-\u042F]")||r.match("[\u0401\u0451\u0410-\u044F]")||r.match("[a-z]|[A-Z]")||r.match(/[-@#!$%\\^&*()_£¬'+|~=`{}\]:";<>.?/]/)||r.match("[^A-Za-z0-9,]"))&&(r=this._stripToDecimal(r));let S=this.getPrecision(e),o=this.decimalMarker;if(Array.isArray(this.decimalMarker)&&(this.actualValue.includes(this.decimalMarker[0])||this.actualValue.includes(this.decimalMarker[1])?o=this.actualValue.includes(this.decimalMarker[0])?this.decimalMarker[0]:this.decimalMarker[1]:o=this.decimalMarker.find(_=>_!==this.thousandSeparator)),l){let{decimalMarkerIndex:_,nonZeroIndex:k}=this._findFirstNonZeroAndDecimalIndex(r,o),y=r[0]===i.MINUS,F=r[0]===i.NUMBER_ZERO,G=r[0]===o,Y=r[1]===o;(G&&!k||y&&Y&&!k||F&&!_&&!k)&&(r=i.NUMBER_ZERO),_&&k&&y&&p===1&&(_<k||_>k)&&(r=i.MINUS+r.slice(k)),!_&&k&&r.length>k&&(r=y?i.MINUS+r.slice(k):r.slice(k)),_&&k&&p===0&&(_<k&&(r=r.slice(_-1)),_>k&&(r=r.slice(k)))}S===0?r=this.allowNegativeNumbers?r.length>2&&r[0]===i.MINUS&&r[1]===i.NUMBER_ZERO&&r[2]!==this.thousandSeparator&&r[2]!==i.COMMA&&r[2]!==i.DOT?"-"+r.slice(2,r.length):r[0]===i.NUMBER_ZERO&&r.length>1&&r[1]!==this.thousandSeparator&&r[1]!==i.COMMA&&r[1]!==i.DOT?r.slice(1,r.length):r:r.length>1&&r[0]===i.NUMBER_ZERO&&r[1]!==this.thousandSeparator&&r[1]!==i.COMMA&&r[1]!==i.DOT?r.slice(1,r.length):r:(r[0]===o&&r.length>1&&!l&&(r=i.NUMBER_ZERO+r.slice(0,r.length+1),this.plusOnePosition=!0),r[0]===i.NUMBER_ZERO&&r[1]!==o&&r[1]!==this.thousandSeparator&&!l&&(r=r.length>1?r.slice(0,1)+o+r.slice(1,r.length+1):r,this.plusOnePosition=!0),this.allowNegativeNumbers&&!l&&r[0]===i.MINUS&&(r[1]===o||r[1]===i.NUMBER_ZERO)&&(r=r[1]===o&&r.length>2?r.slice(0,1)+i.NUMBER_ZERO+r.slice(1,r.length):r[1]===i.NUMBER_ZERO&&r.length>2&&r[2]!==o?r.slice(0,2)+o+r.slice(2,r.length):r,this.plusOnePosition=!0));let C=this._charToRegExpExpression(this.thousandSeparator),v='@#!$%^&*()_+|~=`{}\\[\\]:\\s,\\.";<>?\\/'.replace(C,"");if(Array.isArray(this.decimalMarker))for(let _ of this.decimalMarker)v=v.replace(this._charToRegExpExpression(_),i.EMPTY_STRING);else v=v.replace(this._charToRegExpExpression(this.decimalMarker),"");let D=new RegExp("["+v+"]");r.match(D)&&(r=r.substring(0,r.length-1)),r=this.checkInputPrecision(r,S,this.decimalMarker);let x=r.replace(new RegExp(C,"g"),"");h=this._formatWithSeparators(x,this.thousandSeparator,this.decimalMarker,S);let K=h.indexOf(i.COMMA)-r.indexOf(i.COMMA),E=h.length-r.length,U=l&&h.length<t.length-this.suffix.length&&this.separatorLimit;if((h[p-1]===this.thousandSeparator||h[p-this.prefix.length])&&this.prefix&&l)p=p-1;else if(E>0&&h[p]!==this.thousandSeparator||U){m=!0;let _=0;do this._shift.add(p+_),_++;while(_<E)}else h[p-1]===this.thousandSeparator||E===-4||E===-3||h[p]===this.thousandSeparator?(this._shift.clear(),this._shift.add(p-1)):K!==0&&p>0&&!(h.indexOf(i.COMMA)>=p&&p>3)||!(h.indexOf(i.DOT)>=p&&p>3)&&E<=0?(this._shift.clear(),m=!0,d=E,p+=E,this._shift.add(p)):this._shift.clear()}else for(let S=0,o=T[0];S<T.length&&n!==e.length;S++,o=T[S]??i.EMPTY_STRING){let C=i.SYMBOL_STAR in this.patterns;if(this._checkSymbolMask(o,e[n]??i.EMPTY_STRING)&&e[n+1]===i.SYMBOL_QUESTION)h+=o,n+=2;else if(e[n+1]===i.SYMBOL_STAR&&f&&this._checkSymbolMask(o,e[n+2]??i.EMPTY_STRING))h+=o,n+=3,f=!1;else if(this._checkSymbolMask(o,e[n]??i.EMPTY_STRING)&&e[n+1]===i.SYMBOL_STAR&&!C)h+=o,f=!0;else if(e[n+1]===i.SYMBOL_QUESTION&&this._checkSymbolMask(o,e[n+2]??i.EMPTY_STRING))h+=o,n+=3;else if(this._checkSymbolMask(o,e[n]??i.EMPTY_STRING)){if(e[n]===i.HOURS&&(this.apm?Number(o)>9:Number(o)>2)){p=this.leadZeroDateTime?p:p+1,n+=1,this._shiftStep(n),S--,this.leadZeroDateTime&&(h+="0");continue}if(e[n]===i.HOUR&&(this.apm?h.length===1&&Number(h)>1||h==="1"&&Number(o)>2||r.slice(n-1,n).length===1&&Number(r.slice(n-1,n))>2||r.slice(n-1,n)==="1"&&Number(o)>2:h==="2"&&Number(o)>3||(h.slice(n-2,n)==="2"||h.slice(n-3,n)==="2"||h.slice(n-4,n)==="2"||h.slice(n-1,n)==="2")&&Number(o)>3&&n>10)){p=p+1,n+=1,S--;continue}if((e[n]===i.MINUTE||e[n]===i.SECOND)&&Number(o)>5){p=this.leadZeroDateTime?p:p+1,n+=1,this._shiftStep(n),S--,this.leadZeroDateTime&&(h+="0");continue}let v=31,D=r[n],x=r[n+1],K=r[n+2],E=r[n-1],U=r[n-2],_=r.slice(n-3,n-1),k=r.slice(n-1,n+1),y=r.slice(n,n+2),F=r.slice(n-2,n);if(e[n]===i.DAY){let G=e.slice(0,2)===i.MONTHS,Y=e.slice(0,2)===i.MONTHS&&this.specialCharacters.includes(U);if(Number(o)>3&&this.leadZeroDateTime||!G&&(Number(y)>v||Number(k)>v||this.specialCharacters.includes(x))||(Y?Number(k)>v||!this.specialCharacters.includes(D)&&this.specialCharacters.includes(K)||this.specialCharacters.includes(D):Number(y)>v||this.specialCharacters.includes(x)&&!l)){p=this.leadZeroDateTime?p:p+1,n+=1,this._shiftStep(n),S--,this.leadZeroDateTime&&(h+="0");continue}}if(e[n]===i.MONTH){let Y=n===0&&(Number(o)>2||Number(y)>12||this.specialCharacters.includes(x)&&!l),ue=e.slice(n+2,n+3),fe=_.includes(ue)&&e.includes("d0")&&(this.specialCharacters.includes(U)&&Number(k)>12&&!this.specialCharacters.includes(D)||this.specialCharacters.includes(D)),pe=Number(_)<=v&&!this.specialCharacters.includes(_)&&this.specialCharacters.includes(E)&&(Number(y)>12||this.specialCharacters.includes(x)),me=Number(y)>12&&n===5||this.specialCharacters.includes(x)&&n===5,Se=Number(_)>v&&!this.specialCharacters.includes(_)&&!this.specialCharacters.includes(F)&&Number(F)>12&&e.includes("d0"),de=Number(_)<=v&&!this.specialCharacters.includes(_)&&!this.specialCharacters.includes(E)&&Number(k)>12;if(Number(o)>1&&this.leadZeroDateTime||Y||fe||de||Se||pe||me&&!this.leadZeroDateTime){p=this.leadZeroDateTime?p:p+1,n+=1,this._shiftStep(n),S--,this.leadZeroDateTime&&(h+="0");continue}}h+=o,n++}else this.specialCharacters.includes(o)&&e[n]===o?(h+=o,n++):this.specialCharacters.indexOf(e[n]??i.EMPTY_STRING)!==-1?(h+=e[n],n++,this._shiftStep(n),S--):e[n]===i.NUMBER_NINE&&this.showMaskTyped?this._shiftStep(n):this.patterns[e[n]??i.EMPTY_STRING]&&this.patterns[e[n]??i.EMPTY_STRING]?.optional?(T[n]&&e!=="099.099.099.099"&&e!=="000.000.000-00"&&e!=="00.000.000/0000-00"&&!e.match(/^9+\.0+$/)&&!this.patterns[e[n]??i.EMPTY_STRING]?.optional&&(h+=T[n]),e.includes(i.NUMBER_NINE+i.SYMBOL_STAR)&&e.includes(i.NUMBER_ZERO+i.SYMBOL_STAR)&&n++,n++,S--):this.maskExpression[n+1]===i.SYMBOL_STAR&&this._findSpecialChar(this.maskExpression[n+2]??i.EMPTY_STRING)&&this._findSpecialChar(o)===this.maskExpression[n+2]&&f||this.maskExpression[n+1]===i.SYMBOL_QUESTION&&this._findSpecialChar(this.maskExpression[n+2]??i.EMPTY_STRING)&&this._findSpecialChar(o)===this.maskExpression[n+2]&&f?(n+=3,h+=o):this.showMaskTyped&&this.specialCharacters.indexOf(o)<0&&o!==this.placeHolderCharacter&&this.placeHolderCharacter.length===1&&(M=!0)}h[p-1]&&h.length+1===e.length&&this.specialCharacters.indexOf(e[e.length-1]??i.EMPTY_STRING)!==-1&&(h+=e[e.length-1]);let V=p+1;for(;this._shift.has(V);)d++,V++;let b=s&&!e.startsWith(i.SEPARATOR)?n:this._shift.has(p)?d:0;M&&b--,u(b,m),d<0&&this._shift.clear();let $=!1;l&&($=T.every(S=>this.specialCharacters.includes(S)));let w=`${this.prefix}${$?i.EMPTY_STRING:h}${this.showMaskTyped?"":this.suffix}`;h.length===0&&(w=this.instantPrefix?`${this.prefix}${h}`:`${h}`);let L=r.length===1&&this.specialCharacters.includes(e[0])&&r!==e[0];if(!this._checkSymbolMask(r,e[1])&&L)return"";if(h.includes(i.MINUS)&&this.prefix&&this.allowNegativeNumbers){if(l&&h===i.MINUS)return"";w=`${i.MINUS}${this.prefix}${h.split(i.MINUS).join(i.EMPTY_STRING)}${this.suffix}`}return w}_findDropSpecialChar(t){return Array.isArray(this.dropSpecialCharacters)?this.dropSpecialCharacters.find(e=>e===t):this._findSpecialChar(t)}_findSpecialChar(t){return this.specialCharacters.find(e=>e===t)}_checkSymbolMask(t,e){return this.patterns=this.customPattern?this.customPattern:this.patterns,(this.patterns[e]?.pattern&&this.patterns[e]?.pattern.test(t))??!1}_formatWithSeparators=(t,e,a,s)=>{let l=[],u="";if(Array.isArray(a)){let d=new RegExp(a.map(M=>"[\\^$.|?*+()".indexOf(M)>=0?`\\${M}`:M).join("|"));l=t.split(d),u=t.match(d)?.[0]??i.EMPTY_STRING}else l=t.split(a),u=a;let n=l.length>1?`${u}${l[1]}`:i.EMPTY_STRING,h=l[0]??i.EMPTY_STRING,f=this.separatorLimit.replace(/\s/g,i.EMPTY_STRING);f&&+f&&(h[0]===i.MINUS?h=`-${h.slice(1,h.length).slice(0,f.length)}`:h=h.slice(0,f.length));let m=/(\d+)(\d{3})/;for(;e&&m.test(h);)h=h.replace(m,"$1"+e+"$2");return typeof s>"u"?h+n:s===0?h:h+n.substring(0,s+1)};percentage=t=>{let e=t.replace(",","."),a=Number(this.allowNegativeNumbers&&t.includes(i.MINUS)?e.slice(1,t.length):e);return!isNaN(a)&&a>=0&&a<=100};getPrecision=t=>{let e=t.split(i.DOT);return e.length>1?Number(e[e.length-1]):1/0};checkAndRemoveSuffix=t=>{for(let e=this.suffix?.length-1;e>=0;e--){let a=this.suffix.substring(e,this.suffix?.length);if(t.includes(a)&&e!==this.suffix?.length-1&&(e-1<0||!t.includes(this.suffix.substring(e-1,this.suffix?.length))))return t.replace(a,i.EMPTY_STRING)}return t};checkInputPrecision=(t,e,a)=>{let s=t,l=a;if(e<1/0){if(Array.isArray(l)){let f=l.find(m=>m!==this.thousandSeparator);l=f||l[0]}let u=new RegExp(this._charToRegExpExpression(l)+`\\d{${e}}.*$`),n=s.match(u),h=(n&&n[0]?.length)??0;if(h-1>e){let f=h-1-e;s=s.substring(0,s.length-f)}e===0&&this._compareOrIncludes(s[s.length-1],l,this.thousandSeparator)&&(s=s.substring(0,s.length-1))}return s};_stripToDecimal(t){return t.split(i.EMPTY_STRING).filter((e,a)=>{let s=typeof this.decimalMarker=="string"?e===this.decimalMarker:this.decimalMarker.includes(e);return e.match("^-?\\d")||e===this.thousandSeparator||s||e===i.MINUS&&a===0&&this.allowNegativeNumbers}).join(i.EMPTY_STRING)}_charToRegExpExpression(t){return t&&(t===" "?"\\s":"[\\^$.|?*+()".indexOf(t)>=0?`\\${t}`:t)}_shiftStep(t){this._shift.add(t+this.prefix.length||0)}_compareOrIncludes(t,e,a){return Array.isArray(e)?e.filter(s=>s!==a).includes(t):t===e}_validIP(t){return!(t.length===4&&!t.some((e,a)=>t.length!==a+1?e===i.EMPTY_STRING||Number(e)>255:e===i.EMPTY_STRING||Number(e.substring(0,3))>255))}_splitPercentZero(t){if(t===i.MINUS&&this.allowNegativeNumbers)return t;let e=typeof this.decimalMarker=="string"?t.indexOf(this.decimalMarker):t.indexOf(i.DOT),a=this.allowNegativeNumbers&&t.includes(i.MINUS)?"-":"";if(e===-1){let s=parseInt(a?t.slice(1,t.length):t,10);return isNaN(s)?i.EMPTY_STRING:`${a}${s}`}else{let s=parseInt(t.replace("-","").substring(0,e),10),l=t.substring(e+1),u=isNaN(s)?"":s.toString(),n=typeof this.decimalMarker=="string"?this.decimalMarker:i.DOT;return u===i.EMPTY_STRING?i.EMPTY_STRING:`${a}${u}${n}${l}`}}_findFirstNonZeroAndDecimalIndex(t,e){let a=null,s=null;for(let l=0;l<t.length;l++){let u=t[l];if(u===e&&a===null&&(a=l),u&&u>="1"&&u<="9"&&s===null&&(s=l),a!==null&&s!==null)break}return{decimalMarkerIndex:a,nonZeroIndex:s}}static \u0275fac=function(e){return new(e||c)};static \u0275prov=W({token:c,factory:c.\u0275fac})}return c})(),Q=(()=>{class c extends Me{isNumberValue=!1;maskIsShown="";selStart=null;selEnd=null;maskChanged=!1;maskExpressionArray=[];previousValue="";currentValue="";writingValue=!1;isInitialized=!1;_emitValue=!1;_start;_end;onChange=t=>{};_elementRef=N(ee,{optional:!0});document=N(z);_config=N(Z);_renderer=N(ie,{optional:!0});applyMask(t,e,a=0,s=!1,l=!1,u=()=>{}){if(!e)return t!==this.actualValue?this.actualValue:t;if(this.maskIsShown=this.showMaskTyped?this.showMaskInInput():i.EMPTY_STRING,this.maskExpression===i.IP&&this.showMaskTyped&&(this.maskIsShown=this.showMaskInInput(t||i.HASH)),this.maskExpression===i.CPF_CNPJ&&this.showMaskTyped&&(this.maskIsShown=this.showMaskInInput(t||i.HASH)),!t&&this.showMaskTyped)return this.formControlResult(this.prefix),`${this.prefix}${this.maskIsShown}${this.suffix}`;let n=t&&typeof this.selStart=="number"?t[this.selStart]??i.EMPTY_STRING:i.EMPTY_STRING,h="",f=a;if((this.hiddenInput||t&&t.indexOf(i.SYMBOL_STAR)>=0)&&!this.writingValue){let r=t&&t.length===1?t.split(i.EMPTY_STRING):this.actualValue.split(i.EMPTY_STRING);l&&(r=r.slice(0,a).concat(r.slice(a+1))),this.showMaskTyped&&(t=this.removeMask(t),r=this.removeMask(r.join("")).split(i.EMPTY_STRING)),typeof this.selStart=="object"&&typeof this.selEnd=="object"?(this.selStart=Number(this.selStart),this.selEnd=Number(this.selEnd)):t!==i.EMPTY_STRING&&r.length?typeof this.selStart=="number"&&typeof this.selEnd=="number"&&(t.length>r.length?r.splice(this.selStart,0,n):t.length<r.length&&(r.length-t.length===1?l?r.splice(this.selStart-1,1):r.splice(t.length-1,1):r.splice(this.selStart,this.selEnd-this.selStart))):r=[],this.showMaskTyped&&!this.hiddenInput&&(h=this.removeMask(t)),this.actualValue.length?r.length<t.length?h=this.shiftTypedSymbols(r.join(i.EMPTY_STRING)):r.length===t.length?h=r.join(i.EMPTY_STRING):h=t:h=t}if(s&&(this.hiddenInput||!this.hiddenInput)&&(h=t),l&&this.specialCharacters.indexOf(this.maskExpression[f]??i.EMPTY_STRING)!==-1&&this.showMaskTyped&&!this.prefix&&(h=this.currentValue),this.deletedSpecialCharacter&&f&&(this.specialCharacters.includes(this.actualValue.slice(f,f+1))?f=f+1:e.slice(f-1,f+1)!==i.MONTHS&&(f=f-2),this.deletedSpecialCharacter=!1),this.showMaskTyped&&this.placeHolderCharacter.length===1&&!this.leadZeroDateTime&&(h=this.removeMask(h)),this.maskChanged?h=t:h=h&&h.length?h:t,this.showMaskTyped&&this.keepCharacterPositions&&this.actualValue&&!s&&!this.writingValue){let r=this.dropSpecialCharacters?this.removeMask(this.actualValue):this.actualValue;return this.formControlResult(r),this.actualValue?this.actualValue:`${this.prefix}${this.maskIsShown}${this.suffix}`}let m=super.applyMask(h,e,f,s,l,u);if(this.actualValue=this.getActualValue(m),this.thousandSeparator===i.DOT&&this.decimalMarker===i.DOT&&(this.decimalMarker=i.COMMA),this.maskExpression.startsWith(i.SEPARATOR)&&this.dropSpecialCharacters===!0&&(this.specialCharacters=this.specialCharacters.filter(r=>!this._compareOrIncludes(r,this.decimalMarker,this.thousandSeparator))),(m||m==="")&&(this.previousValue=this.currentValue,this.currentValue=m,this._emitValue=this.previousValue!==this.currentValue||this.previousValue===this.currentValue&&s),this._emitValue&&this.formControlResult(m),!this.showMaskTyped||this.showMaskTyped&&this.hiddenInput)return this.hiddenInput?`${this.hideInput(m,this.maskExpression)}${this.maskIsShown.slice(m.length)}`:m;let d=m.length,M=`${this.prefix}${this.maskIsShown}${this.suffix}`;if(this.maskExpression.includes(i.HOURS)){let r=this._numberSkipedSymbols(m);return`${m}${M.slice(d+r)}`}else if(this.maskExpression===i.IP||this.maskExpression===i.CPF_CNPJ)return`${m}${M}`;return`${m}${M.slice(d)}`}_numberSkipedSymbols(t){let e=/(^|\D)(\d\D)/g,a=e.exec(t),s=0;for(;a!=null;)s+=1,a=e.exec(t);return s}applyValueChanges(t,e,a,s=()=>{}){let l=this._elementRef?.nativeElement;l&&(l.value=this.applyMask(l.value,this.maskExpression,t,e,a,s),l!==this._getActiveElement()&&this.clearIfNotMatchFn())}hideInput(t,e){return t.split(i.EMPTY_STRING).map((a,s)=>this.patterns&&this.patterns[e[s]??i.EMPTY_STRING]&&this.patterns[e[s]??i.EMPTY_STRING]?.symbol?this.patterns[e[s]??i.EMPTY_STRING]?.symbol:a).join(i.EMPTY_STRING)}getActualValue(t){let e=t.split(i.EMPTY_STRING).filter((a,s)=>{let l=this.maskExpression[s]??i.EMPTY_STRING;return this._checkSymbolMask(a,l)||this.specialCharacters.includes(l)&&a===l});return e.join(i.EMPTY_STRING)===t?e.join(i.EMPTY_STRING):t}shiftTypedSymbols(t){let e="";return(t&&t.split(i.EMPTY_STRING).map((s,l)=>{if(this.specialCharacters.includes(t[l+1]??i.EMPTY_STRING)&&t[l+1]!==this.maskExpression[l+1])return e=s,t[l+1];if(e.length){let u=e;return e=i.EMPTY_STRING,u}return s})||[]).join(i.EMPTY_STRING)}numberToString(t){return!t&&t!==0||this.maskExpression.startsWith(i.SEPARATOR)&&(this.leadZero||!this.dropSpecialCharacters)||this.maskExpression.startsWith(i.SEPARATOR)&&this.separatorLimit.length>14&&String(t).length>14?String(t):Number(t).toLocaleString("fullwide",{useGrouping:!1,maximumFractionDigits:20}).replace(`/${i.MINUS}/`,i.MINUS)}showMaskInInput(t){if(this.showMaskTyped&&this.shownMaskExpression){if(this.maskExpression.length!==this.shownMaskExpression.length)throw new Error("Mask expression must match mask placeholder length");return this.shownMaskExpression}else if(this.showMaskTyped){if(t){if(this.maskExpression===i.IP)return this._checkForIp(t);if(this.maskExpression===i.CPF_CNPJ)return this._checkForCpfCnpj(t)}return this.placeHolderCharacter.length===this.maskExpression.length?this.placeHolderCharacter:this.maskExpression.replace(/\w/g,this.placeHolderCharacter)}return""}clearIfNotMatchFn(){let t=this._elementRef?.nativeElement;t&&this.clearIfNotMatch&&this.prefix.length+this.maskExpression.length+this.suffix.length!==t.value.replace(this.placeHolderCharacter,i.EMPTY_STRING).length&&(this.formElementProperty=["value",i.EMPTY_STRING],this.applyMask("",this.maskExpression))}set formElementProperty([t,e]){!this._renderer||!this._elementRef||Promise.resolve().then(()=>this._renderer?.setProperty(this._elementRef?.nativeElement,t,e))}checkDropSpecialCharAmount(t){return t.split(i.EMPTY_STRING).filter(a=>this._findDropSpecialChar(a)).length}removeMask(t){return this._removeMask(this._removeSuffix(this._removePrefix(t)),this.specialCharacters.concat("_").concat(this.placeHolderCharacter))}_checkForIp(t){if(t===i.HASH)return`${this.placeHolderCharacter}.${this.placeHolderCharacter}.${this.placeHolderCharacter}.${this.placeHolderCharacter}`;let e=[];for(let a=0;a<t.length;a++){let s=t[a]??i.EMPTY_STRING;s&&s.match("\\d")&&e.push(s)}return e.length<=3?`${this.placeHolderCharacter}.${this.placeHolderCharacter}.${this.placeHolderCharacter}`:e.length>3&&e.length<=6?`${this.placeHolderCharacter}.${this.placeHolderCharacter}`:e.length>6&&e.length<=9?this.placeHolderCharacter:(e.length>9&&e.length<=12,"")}_checkForCpfCnpj(t){let e=`${this.placeHolderCharacter}${this.placeHolderCharacter}${this.placeHolderCharacter}.${this.placeHolderCharacter}${this.placeHolderCharacter}${this.placeHolderCharacter}.${this.placeHolderCharacter}${this.placeHolderCharacter}${this.placeHolderCharacter}-${this.placeHolderCharacter}${this.placeHolderCharacter}`,a=`${this.placeHolderCharacter}${this.placeHolderCharacter}.${this.placeHolderCharacter}${this.placeHolderCharacter}${this.placeHolderCharacter}.${this.placeHolderCharacter}${this.placeHolderCharacter}${this.placeHolderCharacter}/${this.placeHolderCharacter}${this.placeHolderCharacter}${this.placeHolderCharacter}${this.placeHolderCharacter}-${this.placeHolderCharacter}${this.placeHolderCharacter}`;if(t===i.HASH)return e;let s=[];for(let l=0;l<t.length;l++){let u=t[l]??i.EMPTY_STRING;u&&u.match("\\d")&&s.push(u)}return s.length<=3?e.slice(s.length,e.length):s.length>3&&s.length<=6?e.slice(s.length+1,e.length):s.length>6&&s.length<=9?e.slice(s.length+2,e.length):s.length>9&&s.length<11?e.slice(s.length+3,e.length):s.length===11?"":s.length===12?t.length===17?a.slice(16,a.length):a.slice(15,a.length):s.length>12&&s.length<=14?a.slice(s.length+4,a.length):""}_getActiveElement(t=this.document){let e=t?.activeElement?.shadowRoot;return e?.activeElement?this._getActiveElement(e):t.activeElement}formControlResult(t){let e=this.outputTransformFn?this.outputTransformFn:a=>a;this.writingValue=!1,this.maskChanged=!1,!(!this.isInitialized&&this._emitValue)&&(Array.isArray(this.dropSpecialCharacters)?this.onChange(e(this._toNumber(this._checkSymbols(this._removeMask(this._removeSuffix(this._removePrefix(t)),this.dropSpecialCharacters))))):this.dropSpecialCharacters||!this.dropSpecialCharacters&&this.prefix===t?this.onChange(e(this._toNumber(this._checkSymbols(this._removeSuffix(this._removePrefix(t)))))):this.onChange(e(this._toNumber(t))))}_toNumber(t){if(!this.isNumberValue||t===i.EMPTY_STRING||this.maskExpression.startsWith(i.SEPARATOR)&&(this.leadZero||!this.dropSpecialCharacters))return t;if(String(t).length>14&&this.maskExpression.startsWith(i.SEPARATOR))return String(t);let e=Number(t);if(this.maskExpression.startsWith(i.SEPARATOR)&&Number.isNaN(e)){let a=String(t).replace(",",".");return Number(a)}return Number.isNaN(e)?t:e}_removeMask(t,e){return this.maskExpression.startsWith(i.PERCENT)&&t.includes(i.DOT)?t:t&&t.replace(this._regExpForRemove(e),i.EMPTY_STRING)}_removePrefix(t){return this.prefix?t&&t.replace(this.prefix,i.EMPTY_STRING):t}_removeSuffix(t){return this.suffix?t&&t.replace(this.suffix,i.EMPTY_STRING):t}_retrieveSeparatorValue(t){let e=Array.isArray(this.dropSpecialCharacters)?this.specialCharacters.filter(a=>this.dropSpecialCharacters.includes(a)):this.specialCharacters;return!this.deletedSpecialCharacter&&this._checkPatternForSpace()&&t.includes(i.WHITE_SPACE)&&this.maskExpression.includes(i.SYMBOL_STAR)&&(e=e.filter(a=>a!==i.WHITE_SPACE)),this._removeMask(t,e)}_regExpForRemove(t){return new RegExp(t.map(e=>`\\${e}`).join("|"),"gi")}_replaceDecimalMarkerToDot(t){let e=Array.isArray(this.decimalMarker)?this.decimalMarker:[this.decimalMarker];return t.replace(this._regExpForRemove(e),i.DOT)}_checkSymbols(t){let e=t;if(e===i.EMPTY_STRING)return e;this.maskExpression.startsWith(i.PERCENT)&&this.decimalMarker===i.COMMA&&(e=e.replace(i.COMMA,i.DOT));let a=this._retrieveSeparatorPrecision(this.maskExpression),s=this.specialCharacters.length===0?this._retrieveSeparatorValue(e):this._replaceDecimalMarkerToDot(this._retrieveSeparatorValue(e));return this.isNumberValue&&a?e===this.decimalMarker?null:s.length>14?String(s):this._checkPrecision(this.maskExpression,s):s}_checkPatternForSpace(){for(let t in this.patterns)if(this.patterns[t]&&this.patterns[t]?.hasOwnProperty("pattern")){let e=this.patterns[t]?.pattern.toString(),a=this.patterns[t]?.pattern;if(e?.includes(i.WHITE_SPACE)&&a?.test(this.maskExpression))return!0}return!1}_retrieveSeparatorPrecision(t){let e=t.match(new RegExp("^separator\\.([^d]*)"));return e?Number(e[1]):null}_checkPrecision(t,e){let a=this.getPrecision(t),s=e;return t.indexOf("2")>0||this.leadZero&&Number(a)>0&&Number.isFinite(a)?(this.decimalMarker===i.COMMA&&this.leadZero&&(s=s.replace(",",".")),this.leadZero?Number(s).toFixed(Number(a)):Number(s).toFixed(2)):this.numberToString(s)}_repeatPatternSymbols(t){return t.match(/{[0-9]+}/)&&t.split(i.EMPTY_STRING).reduce((e,a,s)=>{if(this._start=a===i.CURLY_BRACKETS_LEFT?s:this._start,a!==i.CURLY_BRACKETS_RIGHT)return this._findSpecialChar(a)?e+a:e;this._end=s;let l=Number(t.slice(this._start+1,this._end)),u=new Array(l+1).join(t[this._start-1]);if(t.slice(0,this._start).length>1&&t.includes(i.LETTER_S)){let n=t.slice(0,this._start-1);return n.includes(i.CURLY_BRACKETS_LEFT)?e+u:n+e+u}else return e+u},"")||t}currentLocaleDecimalMarker(){return 1.1.toLocaleString().substring(1,2)}static \u0275fac=(()=>{let t;return function(a){return(t||(t=X(c)))(a||c)}})();static \u0275prov=W({token:c,factory:c.\u0275fac})}return c})();function ve(){let c=N(oe),j=N(ce);return j instanceof Function?H(H({},c),j()):H(H({},c),j)}function we(c){return[{provide:ce,useValue:c},{provide:oe,useValue:_e},{provide:Z,useFactory:ve},Q]}var De=(()=>{class c{mask=g("");specialCharacters=g([]);patterns=g({});prefix=g("");suffix=g("");thousandSeparator=g(" ");decimalMarker=g(".");dropSpecialCharacters=g(null);hiddenInput=g(null);showMaskTyped=g(null);placeHolderCharacter=g(null);shownMaskExpression=g(null);clearIfNotMatch=g(null);validation=g(null);separatorLimit=g("");allowNegativeNumbers=g(null);leadZeroDateTime=g(null);leadZero=g(null);triggerOnMaskChange=g(null);apm=g(null);inputTransformFn=g(null);outputTransformFn=g(null);keepCharacterPositions=g(null);instantPrefix=g(null);maskFilled=ne();_maskValue=A("");_inputValue=A("");_position=A(null);_code=A("");_maskExpressionArray=A([]);_justPasted=A(!1);_isFocused=A(!1);_isComposing=A(!1);_maskService=N(Q,{self:!0});document=N(z);_config=N(Z);onChange=t=>{};onTouch=()=>{};ngOnChanges(t){let{mask:e,specialCharacters:a,patterns:s,prefix:l,suffix:u,thousandSeparator:n,decimalMarker:h,dropSpecialCharacters:f,hiddenInput:m,showMaskTyped:d,placeHolderCharacter:M,shownMaskExpression:r,clearIfNotMatch:p,validation:R,separatorLimit:I,allowNegativeNumbers:O,leadZeroDateTime:T,leadZero:P,triggerOnMaskChange:V,apm:b,inputTransformFn:$,outputTransformFn:w,keepCharacterPositions:L,instantPrefix:S}=t;if(e&&(e.currentValue!==e.previousValue&&!e.firstChange&&(this._maskService.maskChanged=!0),e.currentValue&&e.currentValue.split(i.OR).length>1?(this._maskExpressionArray.set(e.currentValue.split(i.OR).sort((o,C)=>o.length-C.length)),this._setMask()):(this._maskExpressionArray.set([]),this._maskValue.set(e.currentValue||i.EMPTY_STRING),this._maskService.maskExpression=this._maskValue())),a){if(!a.currentValue||!Array.isArray(a.currentValue))return;this._maskService.specialCharacters=a.currentValue||[]}if(O&&(this._maskService.allowNegativeNumbers=O.currentValue,this._maskService.allowNegativeNumbers&&(this._maskService.specialCharacters=this._maskService.specialCharacters.filter(o=>o!==i.MINUS))),s&&s.currentValue&&(this._maskService.patterns=s.currentValue),b&&b.currentValue&&(this._maskService.apm=b.currentValue),S&&(this._maskService.instantPrefix=S.currentValue),l&&(this._maskService.prefix=l.currentValue),u&&(this._maskService.suffix=u.currentValue),n&&(this._maskService.thousandSeparator=n.currentValue,n.previousValue&&n.currentValue)){let o=this._maskService.decimalMarker;n.currentValue===this._maskService.decimalMarker&&(this._maskService.decimalMarker=n.currentValue===i.COMMA?i.DOT:i.COMMA),this._maskService.dropSpecialCharacters===!0&&(this._maskService.specialCharacters=this._config.specialCharacters),typeof o=="string"&&typeof this._maskService.decimalMarker=="string"&&(this._inputValue.set(this._inputValue().split(n.previousValue).join("").replace(o,this._maskService.decimalMarker)),this._maskService.actualValue=this._inputValue()),this._maskService.writingValue=!0}h&&(this._maskService.decimalMarker=h.currentValue),f&&(this._maskService.dropSpecialCharacters=f.currentValue),m&&(this._maskService.hiddenInput=m.currentValue,m.previousValue===!0&&m.currentValue===!1&&this._inputValue.set(this._maskService.actualValue)),d&&(this._maskService.showMaskTyped=d.currentValue,d.previousValue===!1&&d.currentValue===!0&&this._isFocused()&&requestAnimationFrame(()=>{this._maskService._elementRef?.nativeElement.click()})),M&&(this._maskService.placeHolderCharacter=M.currentValue),r&&(this._maskService.shownMaskExpression=r.currentValue),p&&(this._maskService.clearIfNotMatch=p.currentValue),R&&(this._maskService.validation=R.currentValue),I&&(this._maskService.separatorLimit=I.currentValue),T&&(this._maskService.leadZeroDateTime=T.currentValue),P&&(this._maskService.leadZero=P.currentValue),V&&(this._maskService.triggerOnMaskChange=V.currentValue),$&&(this._maskService.inputTransformFn=$.currentValue),w&&(this._maskService.outputTransformFn=w.currentValue),L&&(this._maskService.keepCharacterPositions=L.currentValue),this._applyMask()}validate({value:t}){let e=typeof t=="number"?String(t):t,a=this._maskValue();if(!this._maskService.validation||!a)return null;if(this._maskService.ipError)return this._createValidationError(e);if(this._maskService.cpfCnpjError)return this._createValidationError(e);if(a.startsWith(i.SEPARATOR)||ke.includes(a)||this._maskService.clearIfNotMatch)return null;if(ge.includes(a))return this._validateTime(e);if(a===i.EMAIL_MASK)return!/^[^@]+@[^@]+\.[^@]+$/.test(e)&&e?this._createValidationError(e):null;if(e&&e.length>=1){let s=0;if(a.includes(i.CURLY_BRACKETS_LEFT)&&a.includes(i.CURLY_BRACKETS_RIGHT))return a.slice(a.indexOf(i.CURLY_BRACKETS_LEFT)+1,a.indexOf(i.CURLY_BRACKETS_RIGHT))===String(e.length)?null:this._createValidationError(e);if(a.startsWith(i.PERCENT))return null;for(let l in this._maskService.patterns)if(this._maskService.patterns[l]?.optional){if(a.indexOf(l)!==a.lastIndexOf(l)){let u=a.split(i.EMPTY_STRING).filter(n=>n===l).join(i.EMPTY_STRING);s+=u.length}else a.indexOf(l)!==-1&&s++;if(a.indexOf(l)!==-1&&e.length>=a.indexOf(l)||s===a.length)return null}if(a.indexOf(i.SYMBOL_STAR)>1&&e.length<a.indexOf(i.SYMBOL_STAR)||a.indexOf(i.SYMBOL_QUESTION)>1&&e.length<a.indexOf(i.SYMBOL_QUESTION))return this._createValidationError(e);if(a.indexOf(i.SYMBOL_STAR)===-1||a.indexOf(i.SYMBOL_QUESTION)===-1){let l=a.split("*"),u=this._maskService.dropSpecialCharacters?a.length-this._maskService.checkDropSpecialCharAmount(a)-s:this.prefix()?a.length+this.prefix().length-s:a.length-s;if(l.length===1&&e.length<u)return this._createValidationError(e);if(l.length>1){let n=l[l.length-1];if(n&&this._maskService.specialCharacters.includes(n[0])&&String(e).includes(n[0]??"")&&!this.dropSpecialCharacters()){let h=t.split(n[0]);return h[h.length-1].length===n.length-1?null:this._createValidationError(e)}else return(n&&!this._maskService.specialCharacters.includes(n[0])||!n||this._maskService.dropSpecialCharacters)&&e.length>=u-1?null:this._createValidationError(e)}}if(a.indexOf(i.SYMBOL_STAR)===1||a.indexOf(i.SYMBOL_QUESTION)===1)return null}return t&&this.maskFilled.emit(),null}onPaste(){this._justPasted.set(!0)}onFocus(){this._isFocused.set(!0)}onModelChange(t){(t===i.EMPTY_STRING||t===null||typeof t>"u")&&this._maskService.actualValue&&(this._maskService.actualValue=this._maskService.getActualValue(i.EMPTY_STRING))}onInput(t){if(this._maskService.isInitialized=!0,this._isComposing())return;let e=t.target,a=this._maskService.inputTransformFn?this._maskService.inputTransformFn(e.value):e.value;if(e.type!=="number")if(typeof a=="string"||typeof a=="number"){if(e.value=a.toString(),this._inputValue.set(e.value),this._setMask(),!this._maskValue()){this.onChange(e.value);return}let s=e.selectionStart===1?e.selectionStart+this._maskService.prefix.length:e.selectionStart;if(this.showMaskTyped()&&this.keepCharacterPositions()&&this._maskService.placeHolderCharacter.length===1){let h=this.suffix(),f=this.prefix(),m=e.value.slice(s-1,s),d=f.length,M=this._maskService._checkSymbolMask(m,this._maskService.maskExpression[s-1-d]??i.EMPTY_STRING),r=this._maskService._checkSymbolMask(m,this._maskService.maskExpression[s+1-d]??i.EMPTY_STRING),p=this._maskService.selStart===this._maskService.selEnd,R=Number(this._maskService.selStart)-d,I=Number(this._maskService.selEnd)-d,O=this._code()===i.BACKSPACE||this._code()===i.DELETE;if(O){if(!p)this._maskService.selStart===d?this._maskService.actualValue=`${f}${this._maskService.maskIsShown.slice(0,I)}${this._inputValue().split(f).join("")}`:this._maskService.selStart===this._maskService.maskIsShown.length+d?this._maskService.actualValue=`${this._inputValue()}${this._maskService.maskIsShown.slice(R,I)}`:this._maskService.actualValue=`${f}${this._inputValue().split(f).join("").slice(0,R)}${this._maskService.maskIsShown.slice(R,I)}${this._maskService.actualValue.slice(I+d,this._maskService.maskIsShown.length+d)}${h}`;else if(!this._maskService.specialCharacters.includes(this._maskService.maskExpression.slice(s-d,s+1-d))&&p)if(R===1&&f)this._maskService.actualValue=`${f}${this._maskService.placeHolderCharacter}${e.value.split(f).join("").split(h).join("")}${h}`,s=s-1;else{let T=e.value.substring(0,s),P=e.value.substring(s);this._maskService.actualValue=`${T}${this._maskService.placeHolderCharacter}${P}`}s=this._code()===i.DELETE?s+1:s}O||(!M&&!r&&p?s=Number(e.selectionStart)-1:this._maskService.specialCharacters.includes(e.value.slice(s,s+1))&&r&&!this._maskService.specialCharacters.includes(e.value.slice(s+1,s+2))?(this._maskService.actualValue=`${e.value.slice(0,s-1)}${e.value.slice(s,s+1)}${m}${e.value.slice(s+2)}`,s=s+1):M?e.value.length===1&&s===1?this._maskService.actualValue=`${f}${m}${this._maskService.maskIsShown.slice(1,this._maskService.maskIsShown.length)}${h}`:this._maskService.actualValue=`${e.value.slice(0,s-1)}${m}${e.value.slice(s+1).split(h).join("")}${h}`:f&&e.value.length===1&&s-d===1&&this._maskService._checkSymbolMask(e.value,this._maskService.maskExpression[s-1-d]??i.EMPTY_STRING)&&(this._maskService.actualValue=`${f}${e.value}${this._maskService.maskIsShown.slice(1,this._maskService.maskIsShown.length)}${h}`))}let l=0,u=!1;if(this._code()===i.DELETE&&i.SEPARATOR&&(this._maskService.deletedSpecialCharacter=!0),this._inputValue().length>=this._maskService.maskExpression.length-1&&this._code()!==i.BACKSPACE&&this._maskService.maskExpression===i.DAYS_MONTHS_YEARS&&s<10){let h=this._inputValue().slice(s-1,s);e.value=this._inputValue().slice(0,s-1)+h+this._inputValue().slice(s+1)}if(this._maskService.maskExpression===i.DAYS_MONTHS_YEARS&&this.leadZeroDateTime()&&(s<3&&Number(e.value)>31&&Number(e.value)<40||s===5&&Number(e.value.slice(3,5))>12)&&(s=s+2),this._maskService.maskExpression===i.HOURS_MINUTES_SECONDS&&this.apm()&&(this._justPasted()&&e.value.slice(0,2)===i.DOUBLE_ZERO&&(e.value=e.value.slice(1,2)+e.value.slice(2,e.value.length)),e.value=e.value===i.DOUBLE_ZERO?i.NUMBER_ZERO:e.value),this._maskService.applyValueChanges(s,this._justPasted(),this._code()===i.BACKSPACE||this._code()===i.DELETE,(h,f)=>{this._justPasted.set(!1),l=h,u=f}),this._getActiveElement()!==e)return;if(this._maskService.plusOnePosition&&(s=s+1,this._maskService.plusOnePosition=!1),this._maskExpressionArray().length)if(this._code()===i.BACKSPACE){let h=this.specialCharacters().includes(this._maskService.actualValue.slice(s-1,s)),f=this._maskService.removeMask(this._inputValue())?.length===this._maskService.removeMask(this._maskService.maskExpression)?.length,m=this.specialCharacters().includes(this._maskService.actualValue.slice(s,s+1));f&&!m?s=e.selectionStart+1:s=h?s-1:s}else s=e.selectionStart===1?e.selectionStart+this._maskService.prefix.length:e.selectionStart;this._position.set(this._position()===1&&this._inputValue().length===1?null:this._position());let n=this._position()?this._inputValue().length+s+l:s+(this._code()===i.BACKSPACE&&!u?0:l);n>this._getActualInputLength()&&(n=e.value===this._maskService.decimalMarker&&e.value.length===1?this._getActualInputLength()+1:this._getActualInputLength()),n<0&&(n=0),e.setSelectionRange(n,n),this._position.set(null)}else console.warn("Ngx-mask writeValue work with string | number, your current value:",typeof a);else{if(!this._maskValue()){this.onChange(e.value);return}this._maskService.applyValueChanges(e.value.length,this._justPasted(),this._code()===i.BACKSPACE||this._code()===i.DELETE)}}onCompositionStart(){this._isComposing.set(!0)}onCompositionEnd(t){this._isComposing.set(!1),this._justPasted.set(!0),this.onInput(t)}onBlur(t){if(this._maskValue()){let e=t.target;if(this._maskService.leadZero&&e.value.length>0&&typeof this._maskService.decimalMarker=="string"){let a=this._maskService.maskExpression,s=this._maskService.decimalMarker,l=this._maskService.suffix,u=Number(this._maskService.maskExpression.slice(a.length-1,a.length));if(u>0){e.value=l?e.value.split(l).join(""):e.value;let n=e.value.split(s)[1];e.value=e.value.includes(s)?e.value+i.NUMBER_ZERO.repeat(u-n.length)+l:e.value+s+i.NUMBER_ZERO.repeat(u)+l,this._maskService.actualValue=e.value}}this._maskService.clearIfNotMatchFn()}this._isFocused.set(!1),this.onTouch()}onClick(t){if(!this._maskValue())return;let e=t.target,a=0,s=0;e!==null&&e.selectionStart!==null&&e.selectionStart===e.selectionEnd&&e.selectionStart>this._maskService.prefix.length&&t.keyCode!==38&&this._maskService.showMaskTyped&&!this.keepCharacterPositions()&&(this._maskService.maskIsShown=this._maskService.showMaskInInput(),e.setSelectionRange&&this._maskService.prefix+this._maskService.maskIsShown===e.value?(e.focus(),e.setSelectionRange(a,s)):e.selectionStart>this._maskService.actualValue.length&&e.setSelectionRange(this._maskService.actualValue.length,this._maskService.actualValue.length));let l=e&&(e.value===this._maskService.prefix?this._maskService.prefix+this._maskService.maskIsShown:e.value);if(e&&e.value!==l&&(e.value=l),e&&e.type!=="number"&&(e.selectionStart||e.selectionEnd)<=this._maskService.prefix.length){let u=this._maskService.maskExpression.match(new RegExp(`^[${this._maskService.specialCharacters.map(n=>`\\${n}`).join("")}]+`))?.[0].length||0;e.selectionStart=this._maskService.prefix.length+u;return}e&&e.selectionEnd>this._getActualInputLength()&&(e.selectionEnd=this._getActualInputLength())}onKeyDown(t){if(!this._maskValue())return;if(this._isComposing()){t.key==="Enter"&&this.onCompositionEnd(t);return}this._code.set(t.code?t.code:t.key);let e=t.target;this._inputValue.set(e.value),this._setMask();let a=e.tagName.toLowerCase()==="textarea";if(e.type!=="number"){if(t.key===i.ARROW_UP&&!a&&t.preventDefault(),t.key===i.ARROW_LEFT||t.key===i.BACKSPACE||t.key===i.DELETE){if(t.key===i.BACKSPACE&&e.value.length===0&&(e.selectionStart=e.selectionEnd),t.key===i.BACKSPACE&&e.selectionStart!==0){let l=this.prefix().length,u=this.specialCharacters().length?this.specialCharacters():this._config.specialCharacters;if(l>1&&e.selectionStart<=l)e.setSelectionRange(l,e.selectionEnd);else if(this._inputValue().length!==e.selectionStart&&e.selectionStart!==1)for(;u.includes((this._inputValue()[e.selectionStart-1]??i.EMPTY_STRING).toString())&&(l>=1&&e.selectionStart>l||l===0);)e.setSelectionRange(e.selectionStart-1,e.selectionEnd)}this.checkSelectionOnDeletion(e),this._maskService.prefix.length&&e.selectionStart<=this._maskService.prefix.length&&e.selectionEnd<=this._maskService.prefix.length&&t.preventDefault();let s=e.selectionStart;t.key===i.BACKSPACE&&!e.readOnly&&s===0&&e.selectionEnd===e.value.length&&e.value.length!==0&&(this._position.set(this._maskService.prefix?this._maskService.prefix.length:0),this._maskService.applyMask(this._maskService.prefix,this._maskService.maskExpression,this._position()))}this.suffix()&&this.suffix().length>1&&this._inputValue().length-this.suffix().length<e.selectionStart?e.setSelectionRange(this._inputValue().length-this.suffix().length,this._inputValue().length):(t.code==="KeyA"&&t.ctrlKey||t.code==="KeyA"&&t.metaKey)&&(e.setSelectionRange(0,this._getActualInputLength()),t.preventDefault()),this._maskService.selStart=e.selectionStart,this._maskService.selEnd=e.selectionEnd}}writeValue(t){return J(this,null,function*(){let e=t,a=this._maskService.inputTransformFn;if(typeof e=="object"&&e!==null&&"value"in e&&("disable"in e&&this.setDisabledState(!!e.disable),e=e.value),e!==null&&(e=a?a(e):e),typeof e=="string"||typeof e=="number"||e===null||typeof e>"u"){(e===null||typeof e>"u"||e==="")&&(this._maskService.currentValue="",this._maskService.previousValue="");let s=e;if(typeof s=="number"||this._maskValue().startsWith(i.SEPARATOR)){s=String(s);let l=this._maskService.currentLocaleDecimalMarker();Array.isArray(this._maskService.decimalMarker)||(s=this._maskService.decimalMarker!==l?s.replace(l,this._maskService.decimalMarker):s),this._maskService.leadZero&&s&&this.mask()&&this.dropSpecialCharacters()!==!1&&(s=this._maskService._checkPrecision(this._maskService.maskExpression,s)),(this._maskService.decimalMarker===i.COMMA||Array.isArray(this._maskService.decimalMarker)&&this._maskService.thousandSeparator===i.DOT)&&(s=s.toString().replace(i.DOT,i.COMMA)),this.mask()?.startsWith(i.SEPARATOR)&&this.leadZero()&&requestAnimationFrame(()=>{this._maskService.applyMask(s?.toString()??"",this._maskService.maskExpression)}),this._maskService.isNumberValue=!0}(typeof s!="string"||e===null||typeof e>"u")&&(s=""),this._inputValue.set(s),this._setMask(),s&&this._maskService.maskExpression||this._maskService.maskExpression&&(this._maskService.prefix||this._maskService.showMaskTyped)?(this._maskService.writingValue=!0,this._maskService.formElementProperty=["value",this._maskService.applyMask(s,this._maskService.maskExpression)],this._maskService.writingValue=!1,this._maskService.isInitialized=!0):(this._maskService.formElementProperty=["value",s],this._maskService.isInitialized=!0),this._inputValue.set(s)}else console.warn("Ngx-mask writeValue work with string | number, your current value:",typeof e)})}registerOnChange(t){this._maskService.onChange=this.onChange=t}registerOnTouched(t){this.onTouch=t}_getActiveElement(t=this.document){let e=t?.activeElement?.shadowRoot;return e?.activeElement?this._getActiveElement(e):t.activeElement}checkSelectionOnDeletion(t){let e=this.prefix().length,a=this.suffix().length,s=this._inputValue().length;t.selectionStart=Math.min(Math.max(e,t.selectionStart),s-a),t.selectionEnd=Math.min(Math.max(e,t.selectionEnd),s-a)}setDisabledState(t){this._maskService.formElementProperty=["disabled",t]}_applyMask(){this._maskService.maskExpression=this._maskService._repeatPatternSymbols(this._maskValue()||""),this._maskService.formElementProperty=["value",this._maskService.applyMask(this._inputValue(),this._maskService.maskExpression)]}_validateTime(t){let e=this._maskValue().split(i.EMPTY_STRING).filter(a=>a!==":").length;return t&&(+(t[t.length-1]??-1)==0&&t.length<e||t.length<=e-2)?this._createValidationError(t):null}_getActualInputLength(){return this._maskService.actualValue.length||this._maskService.actualValue.length+this._maskService.prefix.length}_createValidationError(t){return{mask:{requiredMask:this._maskValue(),actualValue:t}}}_setMask(){this._maskExpressionArray().some(t=>{if(t.split(i.EMPTY_STRING).some(a=>this._maskService.specialCharacters.includes(a))&&this._inputValue()&&this._areAllCharactersInEachStringSame(this._maskExpressionArray())||t.includes(i.CURLY_BRACKETS_LEFT)){let a=this._maskService.removeMask(this._inputValue())?.length<=this._maskService.removeMask(t)?.length;if(a){let s=t.includes(i.CURLY_BRACKETS_LEFT)?this._maskService._repeatPatternSymbols(t):t;return this._maskValue.set(s),this._maskService.maskExpression=s,a}else{let s=this._maskExpressionArray()[this._maskExpressionArray().length-1]??i.EMPTY_STRING,l=s.includes(i.CURLY_BRACKETS_LEFT)?this._maskService._repeatPatternSymbols(s):s;this._maskValue.set(l),this._maskService.maskExpression=l}}else{let a=this._maskService.removeMask(t),s=this._maskService.removeMask(this._inputValue())?.split(i.EMPTY_STRING).every((l,u)=>{let n=a.charAt(u);return this._maskService._checkSymbolMask(l,n)});if(s||this._justPasted())return this._maskValue.set(t),this._maskService.maskExpression=t,s}})}_areAllCharactersInEachStringSame(t){let e=this._maskService.specialCharacters;function a(l){let u=new RegExp(`[${e.map(n=>`\\${n}`).join("")}]`,"g");return l.replace(u,"")}return t.map(a).every(l=>new Set(l).size===1)}static \u0275fac=function(e){return new(e||c)};static \u0275dir=se({type:c,selectors:[["input","mask",""],["textarea","mask",""]],hostBindings:function(e,a){e&1&&re("paste",function(){return a.onPaste()})("focus",function(l){return a.onFocus(l)})("ngModelChange",function(l){return a.onModelChange(l)})("input",function(l){return a.onInput(l)})("compositionstart",function(l){return a.onCompositionStart(l)})("compositionend",function(l){return a.onCompositionEnd(l)})("blur",function(l){return a.onBlur(l)})("click",function(l){return a.onClick(l)})("keydown",function(l){return a.onKeyDown(l)})},inputs:{mask:[1,"mask"],specialCharacters:[1,"specialCharacters"],patterns:[1,"patterns"],prefix:[1,"prefix"],suffix:[1,"suffix"],thousandSeparator:[1,"thousandSeparator"],decimalMarker:[1,"decimalMarker"],dropSpecialCharacters:[1,"dropSpecialCharacters"],hiddenInput:[1,"hiddenInput"],showMaskTyped:[1,"showMaskTyped"],placeHolderCharacter:[1,"placeHolderCharacter"],shownMaskExpression:[1,"shownMaskExpression"],clearIfNotMatch:[1,"clearIfNotMatch"],validation:[1,"validation"],separatorLimit:[1,"separatorLimit"],allowNegativeNumbers:[1,"allowNegativeNumbers"],leadZeroDateTime:[1,"leadZeroDateTime"],leadZero:[1,"leadZero"],triggerOnMaskChange:[1,"triggerOnMaskChange"],apm:[1,"apm"],inputTransformFn:[1,"inputTransformFn"],outputTransformFn:[1,"outputTransformFn"],keepCharacterPositions:[1,"keepCharacterPositions"],instantPrefix:[1,"instantPrefix"]},outputs:{maskFilled:"maskFilled"},exportAs:["mask","ngxMask"],features:[ae([{provide:le,useExisting:c,multi:!0},{provide:he,useExisting:c,multi:!0},Q]),q]})}return c})();export{we as a,De as b};