1import{a as y}from"./chunk-KADQP2XK.js";import{f as M}from"./chunk-C4XHNRNH.js";import{Ja as I}from"./chunk-C7VFP4N4.js";import{c as D,d as N}from"./chunk-CYMQMRSQ.js";import{e as F,l as b,s as _}from"./chunk-SAPP7HDL.js";import{a as T}from"./chunk-TPWGF6XO.js";import{$a as a,Ic as g,Qa as p,Tb as h,Ya as i,lc as c,pd as v,qd as C,xa as r,xc as m,yc as f}from"./chunk-MH4BPXDL.js";var G=(()=>{let o=class o{get computedState(){this.controlTick();let e=this.formGroupDir?.submitted||this.ngForm?.submitted||!1;return M(this.ngControl??void 0,this.state(),this.isFocused(),this.isDisabledCva(),e)}constructor(){this.ngControl=r(F,{optional:!0,self:!0}),this.formGroupDir=r(_,{optional:!0}),this.ngForm=r(b,{optional:!0}),this.destroyRef=r(p),this.size=i("md"),this.state=i("enabled"),this.placeholder=i(void 0),this.hint=i(void 0),this.errorMessage=i(void 0),this.errorTemplate=i(void 0),this.label=i(void 0),this.required=i(!1),this.optional=i(!1),this.infoTooltipText=i(void 0),this.inputId=i(void 0),this.leadingIcon=i(void 0),this.trailingIcon=i(void 0),this.value=a(""),this.isFocused=a(!1),this.isDisabledCva=a(!1),this.controlTick=a(0),this.onChange=()=>{},this.onTouched=()=>{},this.ngControl&&(this.ngControl.valueAccessor=this)}ngOnInit(){this.ngControl?.control&&(this.ngControl.control.addValidators(this.validate.bind(this)),this.ngControl.control.updateValueAndValidity({emitEvent:!1})),this.ngControl?.control?.events&&this.ngControl.control.events.pipe(T(this.destroyRef)).subscribe(()=>{this.controlTick.update(e=>e+1)})}writeValue(e){this.value.set(e??"")}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.isDisabledCva.set(e)}validate(e){let n=e.value?.trim();if(!n)return null;if(!/^[\p{L}\p{M}\s'â-]+$/u.test(n))return{invalidFullName:{reason:"invalid_chars"}};let s=n.split(/\s+/);if(s.length<2)return{invalidFullName:{reason:"incomplete"}};if(!s.some(u=>u.length>=2))return{invalidFullName:{reason:"too_short"}};if(/(.)\1{2,}/i.test(n))return{invalidFullName:{reason:"spam"}};let z=new Set(["teste","test","admin","administrador","usuario","vds-user","null","undefined","nan","sistema","system","root","suporte","support","dev","developer","desconhecido","unknown","anonimo","anonymous","nome","sobrenome","name","surname","fulano","ciclano","beltrano","alguem","ninguem","vazio","nao","informado","asdf","qwer","zxcv","abcd","asdfg","qwert","clinica","consultorio","hospital","estudio","studio","espaco","empresa","company","centro","instituto"]);return s.some(u=>z.has(u.toLowerCase()))?{invalidFullName:{reason:"blacklisted"}}:null}onNameInput(e){this.value.set(e),this.onChange(e)}onFocusIn(){this.isFocused.set(!0)}onFocusOut(){this.isFocused.set(!1),this.normalizeValue(),this.onTouched()}normalizeValue(){let e=this.value(),n=I(e);!n||n===e||(this.value.set(n),this.onChange(n))}};o.\u0275fac=function(n){return new(n||o)},o.\u0275cmp=h({type:o,selectors:[["vds-full-name-input"]],inputs:{size:[1,"size"],state:[1,"state"],placeholder:[1,"placeholder"],hint:[1,"hint"],errorMessage:[1,"errorMessage"],errorTemplate:[1,"errorTemplate"],label:[1,"label"],required:[1,"required"],optional:[1,"optional"],infoTooltipText:[1,"infoTooltipText"],inputId:[1,"inputId"],leadingIcon:[1,"leadingIcon"],trailingIcon:[1,"trailingIcon"]},decls:2,vars:16,consts:[["type","text",3,"valueChange","focusin","focusout","size","state","placeholder","value","hint","errorMessage","errorTemplate","label","required","optional","infoTooltipText","inputId","leadingIcon","trailingIcon"]],template:function(n,t){n&1&&(m(0,"vds-input",0),v(1,"translate"),g("valueChange",function(d){return t.onNameInput(d)})("focusin",function(){return t.onFocusIn()})("focusout",function(){return t.onFocusOut()}),f()),n&2&&c("size",t.size())("state",t.computedState)("placeholder",t.placeholder()?t.placeholder():C(1,14,"VDS.INPUTS.FULL_NAME.PLACEHOLDER"))("value",t.value())("hint",t.hint())("errorMessage",t.errorMessage())("errorTemplate",t.errorTemplate())("label",t.label())("required",t.required())("optional",t.optional())("infoTooltipText",t.infoTooltipText())("inputId",t.inputId())("leadingIcon",t.leadingIcon())("trailingIcon",t.trailingIcon())},dependencies:[y,N,D],encapsulation:2,changeDetection:0});let l=o;return l})();export{G as a};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.