PageSourceSearch

https://application.firsthomescheme.ie/6212.c9dc0e4c28ceefa5.js

js firsthomescheme.ie collected 2026-10-04 06:55:18 UTC 41,633 bytes, 1 lines download raw bytes

1(self.webpackChunkcollectlogic_web=self.webpackChunkcollectlogic_web||[]).push([[6212,7563],{76212:(ve,L,v)=>{v.r(L),v.d(L,{FORMLY_CONFIG:()=>R,FieldArrayType:()=>ue,FieldType:()=>P,FieldWrapper:()=>he,FormlyConfig:()=>C,FormlyField:()=>B,FormlyForm:()=>le,FormlyFormBuilder:()=>A,FormlyModule:()=>Ce,\u0275FormlyAttributes:()=>ce,\u0275FormlyGroup:()=>z,\u0275FormlyTemplate:()=>K,\u0275FormlyValidationMessage:()=>pe,\u0275clone:()=>m,\u0275defineHiddenProp:()=>f,\u0275getFieldValue:()=>_,\u0275hasKey:()=>h,\u0275observe:()=>d,\u0275reverseDeepMerge:()=>x});var o=v(71715),p=v(69534),g=v(39509),b=v(99848),M=v(31288),J=v(96245);const X=["container"];function q(r,t){}function ee(r,t){1&r&&o.\u0275\u0275element(0,"formly-field",1),2&r&&o.\u0275\u0275property("field",t.$implicit)}const te=["*"],$=["fieldComponent"];function ne(r,t,e){if(t.id)return t.id;let s=t.type;return!s&&t.template&&(s="template"),s instanceof o.Type&&(s=s.prototype.constructor.name),[r,s,t.key,e].join("_")}function h(r){return!E(r.key)&&""!==r.key}function O(r){if(!h(r))return[];if(r._keyPath?.key!==r.key){let t=[];if("string"==typeof r.key){const e=-1===r.key.indexOf("[")?r.key:r.key.replace(/\[(\w+)\]/g,".$1");t=-1!==e.indexOf(".")?e.split("."):[e]}else t=Array.isArray(r.key)?r.key.slice(0):[`${r.key}`];f(r,"_keyPath",{key:r.key,path:t})}return r._keyPath.path.slice(0)}const V=["required","pattern","minLength","maxLength","min","max"];function w(r,t){let e=O(r);if(0===e.length)return;let s=r;for(;s.parent;)s=s.parent,e=[...O(s),...e];if(void 0===t&&r.resetOnHide){const n=e.pop();delete e.reduce((a,l)=>a[l]||{},s.model)[n]}else!function re(r,t,e){for(let s=0;s<t.length-1;s++){const n=t[s];(!r[n]||!F(r[n]))&&(r[n]=/^\d+$/.test(t[s+1])?[]:{}),r=r[n]}r[t[t.length-1]]=m(e)}(s.model,e,t)}function _(r){let t=r.parent?r.parent.model:r.model;for(const e of O(r)){if(!t)return t;t=t[e]}return t}function x(r,...t){return t.forEach(e=>{for(const s in e)E(r[s])||ie(r[s])?r[s]=m(e[s]):oe(r[s],e[s])&&x(r[s],e[s])}),r}function E(r){return null==r}function T(r){return void 0===r}function ie(r){return""===r}function j(r){return"function"==typeof r}function oe(r,t){return F(r)&&F(t)&&Object.getPrototypeOf(r)===Object.getPrototypeOf(t)&&!(Array.isArray(r)||Array.isArray(t))}function F(r){return null!=r&&"object"==typeof r}function m(r){if(!F(r)||(0,g.isObservable)(r)||r instanceof o.TemplateRef||r.changingThisBreaksApplicationSecurity||-1!==["RegExp","FileList","File","Blob"].indexOf(r.constructor.name))return r;if(r instanceof Set)return new Set(r);if(r instanceof Map)return new Map(r);if(r._isAMomentObject&&j(r.clone))return r.clone();if(r instanceof p.AbstractControl)return null;if(r instanceof Date)return new Date(r.getTime());if(Array.isArray(r))return r.slice(0).map(s=>m(s));const t=Object.getPrototypeOf(r);let e=Object.create(t);return e=Object.setPrototypeOf(e,t),Object.keys(r).reduce((s,n)=>{const i=Object.getOwnPropertyDescriptor(r,n);return i.get?Object.defineProperty(s,n,i):s[n]=m(r[n]),s},e)}function f(r,t,e){Object.defineProperty(r,t,{enumerable:!1,writable:!0,configurable:!0}),r[t]=e}function I(r,t,e){let s=[];const n=()=>{s.forEach(a=>a()),s=[]},i=d(r,t,({firstChange:a,currentValue:l})=>{!a&&e(),n(),F(l)&&"Object"===l.constructor.name&&Object.keys(l).forEach(c=>{s.push(I(r,[...t,c],e))})});return()=>{i.unsubscribe(),n()}}function d(r,t,e){r._observers||f(r,"_observers",{});let s=r;for(let l=0;l<t.length-1;l++)(!s[t[l]]||!F(s[t[l]]))&&(s[t[l]]=/^\d+$/.test(t[l+1])?[]:{}),s=s[t[l]];const n=t[t.length-1],i=t.join(".");r._observers[i]||(r._observers[i]={value:s[n],onChange:[]});const a=r._observers[i];if(s[n]!==a.value&&(a.value=s[n]),-1===a.onChange.indexOf(e)&&(a.onChange.push(e),e({currentValue:a.value,firstChange:!0}),a.onChange.length>=1)){const{enumerable:l}=Object.getOwnPropertyDescriptor(s,n)||{enumerable:!0};Object.defineProperty(s,n,{enumerable:l,configurable:!0,get:()=>a.value,set:c=>{if(c!==a.value){const u=a.value;a.value=c,a.onChange.forEach(y=>y({previousValue:u,currentValue:c,firstChange:!1}))}}})}return{setValue(l){a.value=l},unsubscribe(){a.onChange=a.onChange.filter(l=>l!==e),0===a.onChange.length&&delete r._observers[i]}}}function W(r,t){if(t=Array.isArray(t)?t.join("."):t,r.fieldGroup)for(let e=0,s=r.fieldGroup.length;e<s;e++){const n=r.fieldGroup[e],i=Array.isArray(n.key)?n.key.join("."):n.key;if(i===t)return n;if(n.fieldGroup&&(E(i)||0===t.indexOf(`${i}
1.`))){const a=W(n,E(i)?t:t.slice(i.length+1));if(a)return a}}}function N(r){r._componentRefs?.forEach(t=>{t instanceof o.ComponentRef?t.injector.get(o.ChangeDetectorRef).markForCheck():t.markForCheck()})}const R=new o.InjectionToken("FORMLY_CONFIG");let C=(()=>{class r{constructor(){this.types={},this.validators={},this.wrappers={},this.messages={},this.extras={checkExpressionOn:"modelChange",lazyRender:!0,resetFieldOnHide:!0,renderFormlyFieldElement:!0,showError:e=>e.formControl?.invalid&&(e.formControl?.touched||e.options.parentForm?.submitted||!!e.field.validation?.show)},this.extensions={},this.presets={},this.extensionsByPriority={}}addConfig(e){e.types&&e.types.forEach(s=>this.setType(s)),e.validators&&e.validators.forEach(s=>this.setValidator(s)),e.wrappers&&e.wrappers.forEach(s=>this.setWrapper(s)),e.validationMessages&&e.validationMessages.forEach(s=>this.addValidatorMessage(s.name,s.message)),e.extensions&&this.setSortedExtensions(e.extensions),e.extras&&(this.extras={...this.extras,...e.extras}),e.presets&&(this.presets={...this.presets,...e.presets.reduce((s,n)=>({...s,[n.name]:n.config}),{})})}setType(e){Array.isArray(e)?e.forEach(s=>this.setType(s)):(this.types[e.name]||(this.types[e.name]={name:e.name}),["component","extends","defaultOptions","wrappers"].forEach(s=>{e.hasOwnProperty(s)&&(this.types[e.name][s]=e[s])}))}getType(e,s=!1){if(e instanceof o.Type)return{component:e,name:e.prototype.constructor.name};if(!this.types[e]){if(s)throw new Error(`[Formly Error] The type "${e}" could not be found. Please make sure that is registered through the FormlyModule declaration.`);return null}return this.mergeExtendedType(e),this.types[e]}getMergedField(e={}){const s=this.getType(e.type);if(!s)return;s.defaultOptions&&x(e,s.defaultOptions);const n=s.extends&&this.getType(s.extends).defaultOptions;n&&x(e,n),e?.optionsTypes&&e.optionsTypes.forEach(a=>{const l=this.getType(a).defaultOptions;l&&x(e,l)});const i=this.resolveFieldTypeRef(e);i?.instance?.defaultOptions&&x(e,i.instance.defaultOptions),!e.wrappers&&s.wrappers&&(e.wrappers=[...s.wrappers])}resolveFieldTypeRef(e={}){const s=this.getType(e.type);if(!s)return null;if(!s.component||s._componentRef)return s._componentRef;const{_viewContainerRef:n,_injector:i}=e.options;if(!n||!i)return null;const a=n.createComponent(s.component,{injector:i});f(s,"_componentRef",a);try{a.destroy()}catch(l){console.error(`An error occurred while destroying the Formly component type "${e.type}"`,l)}return s._componentRef}setWrapper(e){this.wrappers[e.name]=e,e.types&&e.types.forEach(s=>{this.setTypeWrapper(s,e.name)})}getWrapper(e){if(e instanceof o.Type)return{component:e,name:e.prototype.constructor.name};if(!this.wrappers[e])throw new Error(`[Formly Error] The wrapper "${e}" could not be found. Please make sure that is registered through the FormlyModule declaration.`);return this.wrappers[e]}setTypeWrapper(e,s){this.types[e]||(this.types[e]={}),this.types[e].wrappers||(this.types[e].wrappers=[]),-1===this.types[e].wrappers.indexOf(s)&&this.types[e].wrappers.push(s)}setValidator(e){this.validators[e.name]=e}getValidator(e){if(!this.validators[e])throw new Error(`[Formly Error] The validator "${e}" could not be found. Please make sure that is registered through the FormlyModule declaration.`);return this.validators[e]}addValidatorMessage(e,s){this.messages[e]=s}getValidatorMessage(e){return this.messages[e]}setSortedExtensions(e){e.forEach(s=>{const n=s.priority??1;this.extensionsByPriority[n]={...this.extensionsByPriority[n],[s.name]:s.extension}}),this.extensions=Object.keys(this.extensionsByPriority).map(Number).sort((s,n)=>s-n).reduce((s,n)=>({...s,...this.extensionsByPriority[n]}),{})}mergeExtendedType(e){if(!this.types[e].extends)return;const s=this.getType(this.types[e].extends);this.types[e].component||(this.types[e].component=s.component),this.types[e].wrappers||(this.types[e].wrappers=s.wrappers)}}return r.\u0275fac=function(e){return new(e||r)},r.\u0275prov=o.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac,providedIn:"root"}),r})(),A=(()=>{class r{constructor(e,s,n,i){this.config=e,this.injector=s,this.viewContainerRef
1=n,this.parentForm=i}buildForm(e,s=[],n,i){this.build({fieldGroup:s,model:n,form:e,options:i})}build(e){if(!this.config.extensions.core)throw new Error("NgxFormly: missing `forRoot()` call. use `forRoot()` when registering the `FormlyModule`.");e.parent?this._build(e):(this._setOptions(e),function se(r,t){const e=r._updateTreeValidity.bind(r);r._updateTreeValidity=()=>{},t(),r._updateTreeValidity=e}(e.form,()=>{this._build(e);const s=e.options;s.checkExpressions?.(e,!0),s.detectChanges?.(e)}))}_build(e){if(!e)return;const s=Object.values(this.config.extensions);s.forEach(n=>n.prePopulate?.(e)),s.forEach(n=>n.onPopulate?.(e)),e.fieldGroup?.forEach(n=>this._build(n)),s.forEach(n=>n.postPopulate?.(e))}_setOptions(e){e.form=e.form||new p.FormGroup({}),e.model=e.model||{},e.options=e.options||{};const s=e.options;s._viewContainerRef||f(s,"_viewContainerRef",this.viewContainerRef),s._injector||f(s,"_injector",this.injector),s.build||(s._buildForm=()=>{console.warn("Formly: 'options._buildForm' is deprecated since v6.0, use 'options.build' instead."),this.build(e)},s.build=(n=e)=>(this.build(n),n)),!s.parentForm&&this.parentForm&&(f(s,"parentForm",this.parentForm),d(s,["parentForm","submitted"],({firstChange:n})=>{n||(s.checkExpressions(e),s.detectChanges(e))}))}}return r.\u0275fac=function(e){return new(e||r)(o.\u0275\u0275inject(C),o.\u0275\u0275inject(o.Injector),o.\u0275\u0275inject(o.ViewContainerRef,8),o.\u0275\u0275inject(p.FormGroupDirective,8))},r.\u0275prov=o.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac,providedIn:"root"}),r})();function G(r,t=!1){const e=r.formControl,s=e._fields?e._fields.indexOf(r):-1;-1!==s&&e._fields.splice(s,1);const n=e.parent;if(!n)return;const i={emitEvent:t};if(n instanceof p.FormArray){const a=n.controls.findIndex(l=>l===e);-1!==a&&n.removeAt(a,i)}else if(n instanceof p.FormGroup){const a=O(r),l=a[a.length-1];n.get([l])===e&&n.removeControl(l,i)}e.setParent(null)}function U(r){return r.formControl?r.formControl:!1===r.shareFormControl?null:r.form?.get(O(r))}function H(r,t,e=!1){if((t=t||r.formControl)._fields||f(t,"_fields",[]),-1===t._fields.indexOf(r)&&t._fields.push(r),!r.formControl&&t){f(r,"formControl",t),t.setValidators(null),t.setAsyncValidators(null),r.props.disabled=!!r.props.disabled;const l=d(r,["props","disabled"],({firstChange:c,currentValue:u})=>{c||(u?r.formControl.disable():r.formControl.enable())});t instanceof p.FormControl&&t.registerOnDisabledChange(l.setValue)}if(!r.form||!h(r))return;let s=r.form;const n=O(r),i=_(r);(!E(t.value)||!E(i))&&t.value!==i&&t instanceof p.FormControl&&t.patchValue(i);for(let l=0;l<n.length-1;l++){const c=n[l];s.get([c])||s.setControl(c,new p.FormGroup({}),{emitEvent:e}),s=s.get([c])}const a=n[n.length-1];!r._hide&&s.get([a])!==t&&s.setControl(a,t,{emitEvent:e})}function D(r,t=!1){const e=r.status,s=r.value;r.updateValueAndValidity({emitEvent:!1,onlySelf:t}),e!==r.status&&r.statusChanges.emit(r.status),s!==r.value&&r.valueChanges.emit(r.value)}function Q(r){delete r?._fields,r.setValidators(null),r.setAsyncValidators(null),(r instanceof p.FormGroup||r instanceof p.FormArray)&&Object.values(r.controls).forEach(t=>Q(t))}let K=(()=>{class r{constructor(e){this.ref=e}ngOnChanges(){this.name=this.name||"formly-group"}}return r.\u0275fac=function(e){return new(e||r)(o.\u0275\u0275directiveInject(o.TemplateRef))},r.\u0275dir=o.\u0275\u0275defineDirective({type:r,selectors:[["","formlyTemplate",""]],inputs:{name:["formlyTemplate","name"]},features:[o.\u0275\u0275NgOnChangesFeature]}),r})(),S=(()=>{class r{}return r.\u0275fac=function(e){return new(e||r)},r.\u0275prov=o.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})(),B=(()=>{class r{constructor(e,s,n,i,a){this.config=e,this.renderer=s,this._elementRef=n,this.hostContainerRef=i,this.form=a,this.hostObservers=[],this.componentRefs=[],this.hooksObservers=[],this.detectFieldBuild=!1,this.valueChangesUnsubscribe=()=>{}}get containerRef(){return this.config.extras.renderFormlyFieldElement?this.viewContainerRef:this.hostContainerRef}get elementRef(){return this.config.extras.renderFormlyFieldElement?this._elementRef:this.componentRefs?.[0]instanceof o.C
1omponentRef?this.componentRefs[0].location:null}ngAfterContentInit(){this.triggerHook("afterContentInit")}ngAfterViewInit(){this.triggerHook("afterViewInit")}ngDoCheck(){this.detectFieldBuild&&this.field&&this.field.options&&this.render()}ngOnInit(){this.triggerHook("onInit")}ngOnChanges(e){this.triggerHook("onChanges",e)}ngOnDestroy(){this.resetRefs(this.field),this.hostObservers.forEach(e=>e.unsubscribe()),this.hooksObservers.forEach(e=>e()),this.valueChangesUnsubscribe(),this.triggerHook("onDestroy")}renderField(e,s,n=[]){if(this.containerRef===e&&(this.resetRefs(this.field),this.containerRef.clear(),n=this.field?.wrappers),n?.length>0){const[i,...a]=n,{component:l}=this.config.getWrapper(i),c=e.createComponent(l);this.attachComponentRef(c,s),d(c.instance,["fieldComponent"],({currentValue:u,previousValue:y,firstChange:Z})=>{if(u){if(y&&y._lContainer===u._lContainer)return;const k=y?y.detach():null;k&&!k.destroyed?u.insert(k):this.renderField(u,s,a),!Z&&c.changeDetectorRef.detectChanges()}})}else if(s?.type){const i=this.form?.templates?.find(l=>
1l.name===s.type);let a;if(i)a=e.createEmbeddedView(i.ref,{$implicit:s});else{const{component:l}=this.config.getType(s.type,!0);a=e.createComponent(l)}this.attachComponentRef(a,s)}}triggerHook(e,s){if(("onInit"===e||"onChanges"===e&&s.field&&!s.field.firstChange)&&(this.valueChangesUnsubscribe=this.fieldChanges(this.field)),this.field?.hooks?.[e]&&(!s||s.field)){const n=this.field.hooks[e](this.field);if((0,g.isObservable)(n)&&-1!==["onInit","afterContentInit","afterViewInit"].indexOf(e)){const i=n.subscribe();this.hooksObservers.push(()=>i.unsubscribe())}}"onChanges"===e&&s.field&&(this.resetRefs(s.field.previousValue),this.render())}attachComponentRef(e,s){this.componentRefs.push(e),s._componentRefs.push(e),e instanceof o.ComponentRef&&Object.assign(e.instance,{field:s})}render(){if(this.field){if(!this.field.options)return void(this.detectFieldBuild=!0);this.detectFieldBuild=!1,this.hostObservers.forEach(e=>e.unsubscribe()),this.hostObservers=[d(this.field,["hide"],({firstChange:e,currentValue:s})=>{const n=this.containerRef;!1===this.config.extras.lazyRender?(e&&this.renderField(n,this.field),(!e||e&&s)&&this.elementRef&&this.renderer.setStyle(this.elementRef.nativeElement,"display",s?"none":"")):s?(n.clear(),this.field.className&&this.renderer.removeAttribute(this.elementRef.nativeElement,"class")):(this.renderField(n,this.field),this.field.className&&this.renderer.setAttribute(this.elementRef.nativeElement,"class",this.field.className)),!e&&this.field.options.detectChanges(this.field)}),d(this.field,["className"],({firstChange:e,currentValue:s})=>{(!e||e&&s)&&(!this.config.extras.lazyRender||!0!==this.field.hide)&&this.elementRef&&this.renderer.setAttribute(this.elementRef.nativeElement,"class",s)}),...["touched","pristine","status"].map(e=>d(this.field,["formControl",e],({firstChange:s})=>!s&&N(this.field)))]}}resetRefs(e){e&&(e._componentRefs?e._componentRefs=e._componentRefs.filter(s=>-1===this.componentRefs.indexOf(s)):f(this.field,"_componentRefs",[])),this.componentRefs=[]}fieldChanges(e){if(this.valueChangesUnsubscribe(),!e)return()=>{};const s=[I(e,["props"],()=>e.options.detectChanges(e)),I(e.options,["formState"],()=>e.options.detectChanges(e))];for(const n of Object.keys(e._expressions)){const i=d(e,["_expressions",n],({currentValue:a,previousValue:l})=>{l?.subscription&&(l.subscription.unsubscribe(),l.subscription=null),(0,g.isObservable)(a.value$)&&(a.subscription=a.value$.subscribe())});s.push(()=>{e._expressions[n]?.subscription&&e._expressions[n].subscription.unsubscribe(),i.unsubscribe()})}for(const n of[["template"],["fieldGroupClassName"],["validation","show"]]){const i=d(e,n,({firstChange:a})=>!a&&e.options.detectChanges(e));s.push(()=>i.unsubscribe())}if(e.formControl&&!e.fieldGroup){const n=e.formControl;let i=n.valueChanges.pipe((0,b.distinctUntilChanged)((u,y)=>!(u!==y||Array.isArray(u)||F(u))));n.value!==_(e)&&(i=i.pipe((0,b.startWith)(n.value)));const{updateOn:a,debounce:l}=e.modelOptions;(!a||"change"===a)&&l?.default>0&&(i=n.valueChanges.pipe((0,b.debounceTime)(l.default)));const c=i.subscribe(u=>{n._fields?.length>1&&n instanceof p.FormControl&&n.patchValue(u,{emitEvent:!1,onlySelf:!0}),e.parsers?.forEach(y=>u=y(u)),u===e.formControl.value?(h(e)&&w(e,u),e.options.fieldChanges.next({value:u,field:e,type:"valueChanges"})):e.formControl.setValue(u)});s.push(()=>c.unsubscribe())}return()=>s.forEach(n=>n())}}return r.\u0275fac=function(e){return new(e||r)(o.\u0275\u0275directiveInject(C),o.\u0275\u0275directiveInject(o.Renderer2),o.\u0275\u0275directiveInject(o.ElementRef),o.\u0275\u0275directiveInject(o.ViewContainerRef),o.\u0275\u0275directiveInject(S,8))},r.\u0275cmp=o.\u0275\u0275defineComponent({type:r,selectors:[["formly-field"]],viewQuery:function(e,s){if(1&e&&o.\u0275\u0275viewQuery(X,7,o.ViewContainerRef),2&e){let n;o.\u0275\u0275queryRefresh(n=o.\u0275\u0275loadQuery())&&(s.viewContainerRef=n.first)}},inputs:{field:"field"},features:[o.\u0275\u0275NgOnChangesFeature],decls:2,vars:0,consts:[["container",""]],template:function(e,s){1&e&&o.\u0275\u0275template(0,q,0,0,"ng-template",null,0,o.\u0275\u0275templateRefExtractor)},encapsulation:2}),r})(),le=(()=>
1{class r{constructor(e,s,n,i){this.builder=e,this.config=s,this.ngZone=n,this.fieldTemplates=i,this.modelChange=new o.EventEmitter,this.field={type:"formly-group"},this._modelChangeValue={},this.valueChangesUnsubscribe=()=>{}}set form(e){this.field.form=e}get form(){return this.field.form}set model(e){this.setField({model:e})}get model(){return this.field.model}set fields(e){this.setField({fieldGroup:e})}get fields(){return this.field.fieldGroup}set options(e){this.setField({options:e})}get options(){return this.field.options}set templates(e){this.fieldTemplates.templates=e}ngDoCheck(){"changeDetectionCheck"===this.config.extras.checkExpressionOn&&this.checkExpressionChange()}ngOnChanges(e){e.fields&&this.form&&Q(this.form),(e.fields||e.form||e.model&&this._modelChangeValue!==e.model.currentValue)&&(this.valueChangesUnsubscribe(),this.builder.build(this.field),this.valueChangesUnsubscribe=this.valueChanges())}ngOnDestroy(){this.valueChangesUnsubscribe()}checkExpressionChange(){this.field.options.checkExpressions?.(this.field)}valueChanges(){this.valueChangesUnsubscribe();const e=this.field.options.fieldChanges.pipe((0,b.filter)(({field:s,type:n})=>h(s)&&"valueChanges"===n),(0,b.switchMap)(()=>this.ngZone.onStable.asObservable().pipe((0,b.take)(1)))).subscribe(()=>this.ngZone.runGuarded(()=>{this.checkExpressionChange(),this.modelChange.emit(this._modelChangeValue=m(this.model))}));return()=>e.unsubscribe()}setField(e){this.config.extras.immutable?this.field={...this.field,...m(e)}:Object.keys(e).forEach(s=>this.field[s]=e[s])}}return r.\u0275fac=function(e){return new(e||r)(o.\u0275\u0275directiveInject(A),o.\u0275\u0275directiveInject(C),o.\u0275\u0275directiveInject(o.NgZone),o.\u0275\u0275directiveInject(S))},r.\u0275cmp=o.\u0275\u0275defineComponent({type:r,selectors:[["formly-form"]],contentQueries:function(e,s,n){if(1&e&&o.\u0275\u0275contentQuery(n,K,4),2&e){let i;o.\u0275\u0275queryRefresh(i=o.\u0275\u0275loadQuery())&&(s.templates=i)}},inputs:{form:"form",model:"model",fields:"fields",options:"options"},outputs:{modelChange:"modelChange"},features:[o.\u0275\u0275ProvidersFeature([A,S]),o.\u0275\u0275NgOnChangesFeature],decls:1,vars:1,consts:[[3,"field"]],template:function(e,s){1&e&&o.\u0275\u0275element(0,"formly-field",0),2&e&&o.\u0275\u0275property("field",s.field)},dependencies:[B],encapsulation:2,changeDetection:0}),r})(),ce=(()=>{class r{constructor(e,s,n){this.renderer=e,this.elementRef=s,this.uiAttributesCache={},this.uiEvents={listeners:[],events:["click","keyup","keydown","keypress","focus","blur","change"],callback:(i,a)=>{switch(i){case"focus":return this.onFocus(a);case"blur":return this.onBlur(a);case"change":return this.onChange(a);default:return this.props[i](this.field,a)}}},this.document=n}get props(){return this.field.props||{}}get fieldAttrElements(){return this.field?._elementRefs||[]}ngOnChanges(e){e.field&&(this.field.name&&this.setAttribute("name",this.field.name),this.uiEvents.listeners.forEach(s=>s()),this.uiEvents.events.forEach(s=>{(this.props?.[s]||-1!==["focus","blur","change"].indexOf(s))&&this.uiEvents.listeners.push(this.renderer.listen(this.elementRef.nativeElement,s,n=>this.uiEvents.callback(s,n)))}),this.props?.attributes&&d(this.field,["props","attributes"],({currentValue:s,previousValue:n})=>{n&&Object.keys(n).forEach(i=>this.removeAttribute(i)),s&&Object.keys(s).forEach(i=>{null!=s[i]&&this.setAttribute(i,s[i])})}),this.detachElementRef(e.field.previousValue),this.attachElementRef(e.field.currentValue),1===this.fieldAttrElements.length&&(!this.id&&this.field.id&&this.setAttribute("id",this.field.id),this.focusObserver=d(this.field,["focus"],({currentValue:s})=>{this.toggleFocus(s)}))),e.id&&this.setAttribute("id",this.id)}ngDoCheck(){if(!this.uiAttributes){const e=this.elementRef.nativeElement;this.uiAttributes=[...V,"tabindex","placeholder","readonly","disabled","step"].filter(s=>!e.hasAttribute||!e.hasAttribute(s))}this.uiAttributes.forEach(e=>{const s=this.props[e];this.uiAttributesCache[e]!==s&&(!this.props.attributes||!this.props.attributes.hasOwnProperty(e.toLowerCase()))&&
1(this.uiAttributesCache[e]=s,s||0===s?this.setAttribute(e,!0===s?e:`${s}`):this.removeAttribute(e))})}ngOnDestroy(){this.uiEvents.listeners.forEach(e=>e()),this.detachElementRef(this.field),this.focusObserver?.unsubscribe()}toggleFocus(e){const s=this.fieldAttrElements?this.fieldAttrElements[0]:null;if(!s||!s.nativeElement.focus)return;const n=!!this.document.activeElement&&this.fieldAttrElements.some(({nativeElement:i})=>this.document.activeElement===i||i.contains(this.document.activeElement));e&&!n?Promise.resolve().then(()=>s.nativeElement.focus()):!e&&n&&Promise.resolve().then(()=>s.nativeElement.blur())}onFocus(e){this.focusObserver?.setValue(!0),this.props.focus?.(this.field,e)}onBlur(e){this.focusObserver?.setValue(!1),this.props.blur?.(this.field,e)}onHostChange(e){e instanceof Event||this.onChange(e)}onChange(e){this.props.change?.(this.field,e),this.field.formControl?.markAsDirty()}attachElementRef(e){!e||(-1===e._elementRefs?.indexOf(this.elementRef)?e._elementRefs.push(this.elementRef):f(e,"_elementRefs",[this.elementRef]))}detachElementRef(e){const s=e?._elementRefs?this.fieldAttrElements.indexOf(this.elementRef):-1;-1!==s&&e._elementRefs.splice(s,1)}setAttribute(e,s){this.renderer.setAttribute(this.elementRef.nativeElement,e,s)}removeAttribute(e){this.renderer.removeAttribute(this.elementRef.nativeElement,e)}}return r.\u0275fac=function(e){return new(e||r)(o.\u0275\u0275directiveInject(o.Renderer2),o.\u0275\u0275directiveInject(o.ElementRef),o.\u0275\u0275directiveInject(M.DOCUMENT))},r.\u0275dir=o.\u0275\u0275defineDirective({type:r,selectors:[["","formlyAttributes",""]],hostBindings:function(e,s){1&e&&o.\u0275\u0275listener("change",function(i){return s.onHostChange(i)})},inputs:{field:["formlyAttributes","field"],id:"id"},features:[o.\u0275\u0275NgOnChangesFeature]}),r})(),P=(()=>{class r{get model(){return this.field.model}get form(){return this.field.form}get options(){return this.field.options}get key(){return this.field.key}get formControl(){return this.field.formControl}get props(){return this.field.props||{}}get to(){return this.props}get showError(){return this.options.showError(this)}get id(){return this.field.id}get formState(){return this.options.formState||{}}}return r.\u0275fac=function(e){return new(e||r)},r.\u0275dir=o.\u0275\u0275defineDirective({type:r,inputs:{field:"field"}}),r})(),z=(()=>{class r extends P{}return r.\u0275fac=function(){let t;return function(s){return(t||(t=o.\u0275\u0275getInheritedFactory(r)))(s||r)}}(),r.\u0275cmp=o.\u0275\u0275defineComponent({type:r,selectors:[["formly-group"]],hostVars:2,hostBindings:function(e,s){2&e&&o.\u0275\u0275classMap(s.field.fieldGroupClassName||"")},features:[o.\u0275\u0275InheritDefinitionFeature],ngContentSelectors:te,decls:2,vars:1,consts:[[3,"field",4,"ngFor","ngForOf"],[3,"field"]],template:function(e,s){1&e&&(o.\u0275\u0275projectionDef(),o.\u0275\u0275template(0,ee,1,1,"formly-field",0),o.\u0275\u0275projection(1)),2&e&&o.\u0275\u0275property("ngForOf",s.field.fieldGroup)},dependencies:[B,M.NgForOf],encapsulation:2,changeDetection:0}),r})(),pe=(()=>{class r{constructor(e){this.config=e}
1ngOnChanges(){const e=V.map(s=>`templateOptions.${s}`);this.errorMessage$=(0,g.merge)(this.field.formControl.statusChanges,this.field.options?this.field.options.fieldChanges.pipe((0,b.filter)(({field:s,type:n,property:i})=>s===this.field&&"expressionChanges"===n&&(-1!==i.indexOf("validation")||-1!==e.indexOf(i)))):(0,g.of)(null)).pipe((0,b.startWith)(null),(0,b.switchMap)(()=>(0,g.isObservable)(this.errorMessage)?this.errorMessage:(0,g.of)(this.errorMessage)))}get errorMessage(){const e=this.field.formControl;for(const s in e.errors)if(e.errors.hasOwnProperty(s)){let n=this.config.getValidatorMessage(s);if(F(e.errors[s])){if(e.errors[s].errorPath)return;e.errors[s].message&&(n=e.errors[s].message)}return this.field.validation?.messages?.[s]&&(n=this.field.validation.messages[s]),this.field.validators?.[s]?.message&&(n=this.field.validators[s].message),this.field.asyncValidators?.[s]?.message&&(n=this.field.asyncValidators[s].message),"function"==typeof n?n(e.errors[s],this.field):n}}}return r.\u0275fac=function(e){return new(e||r)(o.\u0275\u0275directiveInject(C))},r.\u0275cmp=o.\u0275\u0275defineComponent({type:r,selectors:[["formly-validation-message"]],inputs:{field:"field"},features:[o.\u0275\u0275NgOnChangesFeature],decls:2,vars:3,template:function(e,s){1&e&&(o.\u0275\u0275text(0),o.\u0275\u0275pipe(1,"async")),2&e&&o.\u0275\u0275textInterpolate(o.\u0275\u0275pipeBind1(1,1,s.errorMessage$))},dependencies:[M.AsyncPipe],encapsulation:2,changeDetection:0}),r})(),ue=(()=>{class r extends P{onPopulate(e){!e.formControl&&h(e)&&H(e,U(e)||new p.FormArray([],{updateOn:e.modelOptions.updateOn})),e.fieldGroup=e.fieldGroup||[];const s=e.model?e.model.length:0;if(e.fieldGroup.length>s)for(let n=e.fieldGroup.length-1;n>=s;--n)G(e.fieldGroup[n],!0),e.fieldGroup.splice(n,1);for(let n=e.fieldGroup.length;n<s;n++){const i={...m("function"==typeof e.fieldArray?e.fieldArray(e):e.fieldArray),key:`${n}`};e.fieldGroup.push(i)}}add(e,s,{markAsDirty:n}={markAsDirty:!0}){e=e??this.field.fieldGroup.length,this.model||w(this.field,[]),this.model.splice(e,0,s?m(s):void 0),this._build(),n&&this.formControl.markAsDirty()}remove(e,{markAsDirty:s}={markAsDirty:!0}){this.model.splice(e,1);const n=this.field.fieldGroup[e];this.field.fieldGroup.splice(e,1),this.field.fieldGroup.forEach((i,a)=>i.key=`${a}`),G(n,!0),this._build(),s&&this.formControl.markAsDirty()}_build(){(this.field.formControl._fields??[this.field]).forEach(s=>this.options.build(s)),this.options.fieldChanges.next({field:this.field,value:_(this.field),type:"valueChanges"})}}return r.\u0275fac=function(){let t;return function(s){return(t||(t=o.\u0275\u0275getInheritedFactory(r)))(s||r)}}(),r.\u0275dir=o.\u0275\u0275defineDirective({type:r,features:[o.\u0275\u0275InheritDefinitionFeature]}),r})(),he=(()=>{class r extends P{set _staticContent(e){this.fieldComponent=e}}return r.\u0275fac=function(){let t;return function(s){return(t||(t=o.\u0275\u0275getInheritedFactory(r)))(s||r)}}(),r.\u0275dir=o.\u0275\u0275defineDirective({type:r,viewQuery:function(e,s){if(1&e&&(o.\u0275\u0275viewQuery($,5,o.ViewContainerRef),o.\u0275\u0275viewQuery($,7,o.ViewContainerRef)),2&e){let n;o.\u0275\u0275queryRefresh(n=o.\u0275\u0275loadQuery())&&(s.fieldComponent=n.first),o.\u0275\u0275queryRefresh(n=o.\u0275\u0275loadQuery())&&(s._staticContent=n.first)}},features:[o.\u0275\u0275InheritDefinitionFeature]}),r})(),fe=(()=>{class r extends P{constructor(e){super(),this.sanitizer=e,this.innerHtml={}}get template(){return this.field&&this.field.template!==this.innerHtml.template&&(this.innerHtml={template:this.field.template,content:this.props.safeHtml?this.sanitizer.bypassSecurityTrustHtml(this.field.template):this.field.template}),this.innerHtml.content}}return r.\u0275fac=function(e){return new(e||r)(o.\u0275\u0275directiveInject(J.DomSanitizer))},r.\u0275cmp=o.\u0275\u0275defineComponent({type:r,selectors:[["formly-template"]],features:[o.\u0275\u0275InheritDefinitionFeature],decls:1,vars:1,consts:[[3,"innerHtml"]],template:function(e,s){1&e&&o.\u0275\u0275element(0,"div",0),2&e&&o.\u0275\u0275property("innerHtml",s.template,o.\u0275\u0275sanitizeHtml)},encapsulation:2,changeDetection:0}),r})();class ge{onPopulate(t){if(t._expressions)return;f(t,"_expressions",{}),d(t,["hide"],({currentValue:s,firstChange:n})=>
1{f(t,"_hide",!!s),(!n||n&&!0===s)&&(t.props.hidden=s,t.options._hiddenFieldsForCheck.push(t))}),t.hideExpression&&d(t,["hideExpression"],({currentValue:s})=>{t._expressions.hide=this.parseExpressions(t,"hide","boolean"==typeof s?()=>s:s)});const e=(s,n)=>{"string"==typeof n||j(n)?t._expressions[s]=this.parseExpressions(t,s,n):n instanceof g.Observable&&(t._expressions[s]={value$:n.pipe((0,b.tap)(i=>{this.evalExpr(t,s,i),t.options.detectChanges(t)}))})};t.expressions=t.expressions||{};for(const s of Object.keys(t.expressions))d(t,["expressions",s],({currentValue:n})=>{e(s,j(n)?(...i)=>n(t,i[3]):n)});t.expressionProperties=t.expressionProperties||{};for(const s of Object.keys(t.expressionProperties))d(t,["expressionProperties",s],({currentValue:n})=>e(s,n))}postPopulate(t){if(!t.parent&&!t.options.checkExpressions){let e=!1;t.options.checkExpressions=(s,n)=>{if(e)return;e=!0;const i=this.checkExpressions(s,n),a=t.options;a._hiddenFieldsForCheck.sort(l=>l.hide?-1:1).forEach(l=>this.changeHideState(l,l.hide,!n)),a._hiddenFieldsForCheck=[],i&&(this.checkExpressions(t),t.options&&t.options.detectChanges&&t.options.detectChanges(t)),e=!1},t.options._checkField=(s,n)=>{console.warn("Formly: 'options._checkField' is deprecated since v6.0, use 'options.checkExpressions' instead."),t.options.checkExpressions(s,n)}}}parseExpressions(t,e,s){let n,i;if(t.parent&&["hide","props.disabled"].includes(e)){const a=l=>"hide"===e?l.hide:l.props.disabled;n=()=>{let l=t.parent;for(;l.parent&&!a(l);)l=l.parent;return a(l)}}return"string"==typeof(s=s||(()=>!1))&&(s=function de(r,t){try{return Function(...t,`return ${r};`)}catch(e){console.error(e)}}(s,["model","formState","field"])),{callback:a=>{try{const l=function me(r,t,e){return"function"==typeof r?r.apply(t,e):!!r}(n?(...c)=>n(t)||s(...c):s,{field:t},[t.model,t.options.formState,t,a]);return!(!a&&(i===l||F(l)&&!(0,g.isObservable)(l)&&JSON.stringify(l)===JSON.stringify(i))||(i=l,this.evalExpr(t,e,l),0))}catch(l){throw l.message=`[Formly Error] [Expression "${e}"] ${l.message}`,l}}}}checkExpressions(t,e=!1){if(!t)return!1;let s=!1;if(t._expressions)for(const n of Object.keys(t._expressions))t._expressions[n].callback?.(e)&&(s=!0);return t.fieldGroup?.forEach(n=>this.checkExpressions(n,e)&&(s=!0)),s}changeDisabledState(t,e){t.fieldGroup&&t.fieldGroup.filter(s=>!s._expressions.hasOwnProperty("props.disabled")).forEach(s=>this.changeDisabledState(s,e)),h(t)&&t.props.disabled!==e&&(t.props.disabled=e)}changeHideState(t,e,s){if(t.fieldGroup&&t.fieldGroup.filter(n=>!n._expressions.hide).forEach(n=>this.changeHideState(n,e,s)),t.formControl&&h(t)){f(t,"_hide",!(!e&&!t.hide));const n=t.formControl;n._fields?.length>1&&D(n),!0!==e||n._fields&&!n._fields.every(i=>!!i._hide)?!1===e&&(t.resetOnHide&&!T(t.defaultValue)&&T(_(t))&&w(t,t.defaultValue),H(t,void 0,!0),t.resetOnHide&&t.fieldArray&&t.fieldGroup?.length!==t.model?.length&&t.options.build(t)):(G(t,!0),s&&t.resetOnHide&&(w(t,void 0),t.formControl.reset({value:void 0,disabled:t.formControl.disabled}),t.options.fieldChanges.next({value:void 0,field:t,type:"valueChanges"}),t.fieldGroup&&t.formControl instanceof p.FormArray&&(t.fieldGroup.length=0)))}t.options.fieldChanges&&t.options.fieldChanges.next({field:t,type:"hidden",value:e})}evalExpr(t,e,s){try{let n=t;const i=this._evalExpressionPath(t,e),a=i.length-1;for(let l=0;l<a;l++)n=n[i[l]];n[i[a]]=s}catch(n){throw n.message=`[Formly Error] [Expression "${e}"] ${n.message}`,n}if(["templateOptions.disabled","props.disabled"].includes(e)&&h(t)&&this.changeDisabledState(t,s),0===e.indexOf("model.")){const n=e.replace(/^model\./,""),i=t?.key===n?t.formControl:t.form.get(n);i&&(!E(i.value)||!E(s))&&i.value!==s&&i.patchValue(s)}this.emitExpressionChanges(t,e,s)}emitExpressionChanges(t,e,s){!t.options.fieldChanges||t.options.fieldChanges.next({field:t,type:"expressionChanges",property:e,value:s})}_evalExpressionPath(t,e){if(t._expressions[e]&&t._expressions[e].paths)return t._expressions[e].paths;let s=[];return-1===e.indexOf("[")?s=e.split("."):e.split(/[[\]]{1,2}/).filter(n=>n).forEach(n=>{const i=n.match(/['|"](.*?)['|"]/);i?s.push(i[1]):s.push(...n.split(".").filter(a=>a))}),t._expressions[e]&&(t._expressions[e].paths=s),s}}class ye{constructor(t){this.config=t}onPopulate(t){this.initFieldValidation(t,"validators"),this.initFieldValidation(t,"asyncValidators")}initFieldValidation(t,e){const s=[];if("validators"===e&&!(t.hasOwnProperty("fieldGroup")&&!h(t))&&s.push(this.getPredefinedFieldValidation(t)),t[e])for(const n of Object.keys(t[e]))"validation"===n?s.push(...t[e].validation.map(i=>this.wrapNgValidatorFn(t,i))):s.push(this.wrapNgValidatorFn(t,t[e][n],n)
1);f(t,"_"+e,s)}getPredefinedFieldValidation(t){let e=[];return V.forEach(s=>d(t,["props",s],({currentValue:n,firstChange:i})=>{e=e.filter(a=>a!==s),null!=n&&!1!==n&&e.push(s),!i&&t.formControl&&D(t.formControl)})),s=>0===e.length?null:p.Validators.compose(e.map(n=>()=>{const i=t.props[n];switch(n){case"required":return p.Validators.required(s);case"pattern":return p.Validators.pattern(i)(s);case"minLength":const a=p.Validators.minLength(i)(s),l=this.config.getValidatorMessage("minlength")||t.validation?.messages?.minlength?"minlength":"minLength";return a?{[l]:a.minlength}:null;case"maxLength":const c=p.Validators.maxLength(i)(s),u=this.config.getValidatorMessage("maxlength")||t.validation?.messages?.maxlength?"maxlength":"maxLength";return c?{[u]:c.maxlength}:null;case"min":return p.Validators.min(i)(s);case"max":return p.Validators.max(i)(s);default:return null}}))(s)}wrapNgValidatorFn(t,e,s){let n;if("string"==typeof e&&(n=m(this.config.getValidator(e))),"object"==typeof e&&e.name&&(n=m(this.config.getValidator(e.name)),e.options&&(n.options=e.options)),"object"==typeof e&&e.expression){const{expression:i,...a}=e;n={name:s,validation:i,options:Object.keys(a).length>0?a:null}}return"function"==typeof e&&(n={name:s,validation:e}),i=>{const a=n.validation(i,t,n.options);return function ae(r){return!!r&&"function"==typeof r.then}(a)?a.then(l=>this.handleAsyncResult(t,s?!!l:l,n)):(0,g.isObservable)(a)?a.pipe((0,b.map)(l=>this.handleAsyncResult(t,s?!!l:l,n))):this.handleResult(t,s?!!a:a,n)}}handleAsyncResult(t,e,s){return t.options.detectChanges(t),this.handleResult(t,e,s)}handleResult(t,e,{name:s,options:n}){"boolean"==typeof e&&(e=e?null:{[s]:n||!0});const i=t.formControl;return i?._childrenErrors?.[s]?.(),F(e)&&Object.keys(e).forEach(a=>{const l=e[a].errorPath?e[a].errorPath:n?.errorPath,c=l?t.formControl.get(l):null;if(c){const{errorPath:u,...y}=e[a];c.setErrors({...c.errors||{},[a]:y}),!i._childrenErrors&&f(i,"_childrenErrors",{}),i._childrenErrors[a]=()=>{const{[a]:Z,...k}=c.errors||{};c.setErrors(0===Object.keys(k).length?null:k)}}}),e}}class be{prePopulate(t){this.root||(this.root=t),t.parent&&Object.defineProperty(t,"form",{get:()=>t.parent.formControl,configurable:!0})}onPopulate(t){t.hasOwnProperty("fieldGroup")&&!h(t)?f(t,"formControl",t.form):this.addFormControl(t)}postPopulate(t){if(this.root===t&&(this.root=null,this.setValidators(t)&&t.parent)){let s=t.parent;for(;s;)(h(s)||!s.parent)&&D(s.formControl,!0),s=s.parent}}addFormControl(t){let e=U(t);if(!e){const s={updateOn:t.modelOptions.updateOn};if(t.fieldGroup)e=new p.FormGroup({},s);else{const n=h(t)?_(t):t.defaultValue;e=new p.FormControl({value:n,disabled:!1},{...s,initialValueIsDefault:!0})}}H(t,e)}setValidators(t,e=!1){!1===e&&h(t)&&t.props?.disabled&&(e=!0);let s=!1;if(t.fieldGroup?.forEach(n=>n&&this.setValidators(n,e)&&(s=!0)),h(t)||!t.parent||!h(t)&&!t.fieldGroup){const{formControl:n}=t;if(n&&(h(t)&&n instanceof p.FormControl&&(e&&n.enabled&&(n.disable({emitEvent:!1,onlySelf:!0}),s=!0),!e&&n.disabled&&(n.enable({emitEvent:!1,onlySelf:!0}),s=!0)),(null===n.validator||null===n.asyncValidator)&&(n.setValidators(()=>{const i=p.Validators.compose(this.mergeValidators(t,"_validators"));return i?i(n):null}),n.setAsyncValidators(()=>{const i=p.Validators.composeAsync(this.mergeValidators(t,"_asyncValidators"));return i?i(n):(0,g.of)(null)}),s=!0),s)){D(n,!0);let i=n.parent;for(let a=1;a<O(t).length;a++)i&&(D(i,!0),i=i.parent)}}return s}mergeValidators(t,e){const s=[],n=t.formControl;return n?._fields?.length>1?n._fields.filter(i=>!i._hide).forEach(i=>s.push(...i[e])):t[e]&&s.push(...t[e]),t.fieldGroup&&t.fieldGroup.filter(i=>i?.fieldGroup&&!h(i)).forEach(i=>s.push(...this.mergeValidators(i,e))),s}}class Fe{constructor(t){this.config=t,this.formId=0}prePopulate(t){const e=t.parent;this.initRootOptions(t),this.initFieldProps(t),e&&(Object.defineProperty(t,"options",{get:()=>e.options,configurable:!0}),Object.defineProperty(t,"model",{get:()=>h(t)&&t.fieldGroup?_(t):e.model,configurable:!0})),Object.defineProperty(t,"get",{value:s=>W(t,s),configurable:!0}),this.getFieldComponentInstance(t).prePopulate?.(t)}onPopulate(t){this.initFieldOptions(t),this.getFieldComponentInstance(t).onPopulate?.(t),t.fieldGroup&&t.fieldGroup.forEach((e,s)=>{e&&(Object.defineProperty(e,"parent",{get:()=>t,configurable:!0}),Object.defineProperty(e,"index",{get:()=>s,configurable:!0})),this.formId++})}postPopulate(t){this.getFieldComponentInstance(t).postPopulate?.(t)}initFieldProps(t){t.props??(t.props=t.templateOptions),Object.defineProperty(t,"templateOptions",{get:()=>t.props,set:e=>t.props=e,configurable:!0})}initRootOptions(t){if(t.parent)return;const e=t.options;t.options.formState=t.options.formState||{},e.showError||(e.showError=this.config.extras.showError),e.fieldChanges||f(e,"fieldChanges",new g.Subject),e._hiddenFieldsForCheck||(e._hiddenFieldsForCheck=[]),e._markForCheck=s=>{console.warn("Formly: 'options._markForCheck' is deprecated since v6.0, use 'options.detectChanges' instead."),e.detectChanges(s)},e.detectChanges=s=>{s._componentRefs&&(s.options.checkExpressions(s),N(s)),s.fieldGroup?.forEach(n=>n&&e.detectChanges(n))},e.resetModel=s=>{s=m(s??e._initialModel),t.model&&(Object.keys(t.model).forEach(n=>delete t.model[n]),Object.assign(t.model,s||{})),e.build(t),t.form.reset(t.model),e.parentForm&&e.parentForm.control===t.formControl&&(e.parentForm.submitted=!1)},e.updateInitialValue=s=>e._initialModel=m(s??t.model),t.options.updateInitialValue()}initFieldOptions(t){if(x(t,{id:ne(`formly_${this.formId}`,t,t.index),hooks:{},modelOptions:{},validation:{messages:{}},props:t.type&&h(t)?{label:"",placeholder:"",disabled:!1}:{}}),this.config.extras.resetFieldOnHide&&!1!==t.resetOnHide&&(t.resetOnHide=!0),"formly-template"!==t.type&&(t.template||t.expressions?.template||t.expressionProperties?.template)&&(t.type="formly-template"),!t.type&&t.fieldGroup&&(t.type="formly-group"),t.type&&this.config.getMergedField(t),h(t)&&!T(t.defaultValue)&&T(_(t))){const e=n=>n.hide||n.expressions?.hide||n.hideExpression;let s=!t.resetOnHide||!e(t);if(!e(t)&&t.resetOnHide){let n=t.parent;for(;n&&!e(n);)n=n.parent;s=!n||!e(n)}s&&w(t,t.defaultValue)}t.wrappers=t.wrappers||[]}getFieldComponentInstance(t){const e=()=>{let s=this.config.resolveFieldTypeRef(t);const n=t._componentRefs?.slice(-1)[0];
1return n instanceof o.ComponentRef&&n?.componentType===s?.componentType&&(s=n),s?.instance};return t._proxyInstance||f(t,"_proxyInstance",new Proxy({},{get:(s,n)=>e()?.[n],set:(s,n,i)=>e()[n]=i})),t._proxyInstance}}function Y(r){return{types:[{name:"formly-group",component:z},{name:"formly-template",component:fe}],extensions:[{name:"core",extension:new Fe(r),priority:-250},{name:"field-validation",extension:new ye(r),priority:-200},{name:"field-form",extension:new be,priority:-150},{name:"field-expression",extension:new ge,priority:-100}]}}let Ce=(()=>{class r{constructor(e,s=[]){!s||s.forEach(n=>e.addConfig(n))}static forRoot(e={}){return{ngModule:r,providers:[{provide:R,multi:!0,useFactory:Y,deps:[C]},{provide:R,useValue:e,multi:!0},C,A]}}static forChild(e={}){return{ngModule:r,providers:[{provide:R,multi:!0,useFactory:Y,deps:[C]},{provide:R,useValue:e,multi:!0},A]}}}return r.\u0275fac=function(e){return new(e||r)(o.\u0275\u0275inject(C),o.\u0275\u0275inject(R,8))},r.\u0275mod=o.\u0275\u0275defineNgModule({type:r}),r.\u0275inj=o.\u0275\u0275defineInjector({imports:[[M.CommonModule]]}),r})()}}]);

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.