@ixon-cdk/simulator 1.26.0-next.0 → 1.26.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,7 +47,7 @@ ${errors.map((err,i)=>`${i+1}) ${err.toString()}`).join(`
47
47
  `],encapsulation:2,changeDetection:0})}return _CdkTextFieldStyleLoader2})(),listenerOptions={passive:!0},AutofillMonitor=(()=>{class AutofillMonitor2{_platform=inject2(Platform);_ngZone=inject2(NgZone);_renderer=inject2(RendererFactory2).createRenderer(null,null);_styleLoader=inject2(_CdkPrivateStyleLoader);_monitoredElements=new Map;constructor(){}monitor(elementOrRef){if(!this._platform.isBrowser)return EMPTY;this._styleLoader.load(_CdkTextFieldStyleLoader);let element=coerceElement(elementOrRef),info=this._monitoredElements.get(element);if(info)return info.subject;let subject=new Subject,cssClass="cdk-text-field-autofilled",listener=event=>{event.animationName==="cdk-text-field-autofill-start"&&!element.classList.contains(cssClass)?(element.classList.add(cssClass),this._ngZone.run(()=>subject.next({target:event.target,isAutofilled:!0}))):event.animationName==="cdk-text-field-autofill-end"&&element.classList.contains(cssClass)&&(element.classList.remove(cssClass),this._ngZone.run(()=>subject.next({target:event.target,isAutofilled:!1})))},unlisten=this._ngZone.runOutsideAngular(()=>(element.classList.add("cdk-text-field-autofill-monitored"),this._renderer.listen(element,"animationstart",listener,listenerOptions)));return this._monitoredElements.set(element,{subject,unlisten}),subject}stopMonitoring(elementOrRef){let element=coerceElement(elementOrRef),info=this._monitoredElements.get(element);info&&(info.unlisten(),info.subject.complete(),element.classList.remove("cdk-text-field-autofill-monitored"),element.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(element))}ngOnDestroy(){this._monitoredElements.forEach((_info,element)=>this.stopMonitoring(element))}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AutofillMonitor2)};static \u0275prov=\u0275\u0275defineInjectable({token:AutofillMonitor2,factory:AutofillMonitor2.\u0275fac,providedIn:"root"})}return AutofillMonitor2})();var CdkTextareaAutosize=(()=>{class CdkTextareaAutosize2{_elementRef=inject2(ElementRef);_platform=inject2(Platform);_ngZone=inject2(NgZone);_renderer=inject2(Renderer2);_resizeEvents=new Subject;_previousValue;_initialHeight;_destroyed=new Subject;_listenerCleanups;_minRows;_maxRows;_enabled=!0;_previousMinRows=-1;_textareaElement;get minRows(){return this._minRows}set minRows(value){this._minRows=coerceNumberProperty(value),this._setMinHeight()}get maxRows(){return this._maxRows}set maxRows(value){this._maxRows=coerceNumberProperty(value),this._setMaxHeight()}get enabled(){return this._enabled}set enabled(value){this._enabled!==value&&((this._enabled=value)?this.resizeToFitContent(!0):this.reset())}get placeholder(){return this._textareaElement.placeholder}set placeholder(value){this._cachedPlaceholderHeight=void 0,value?this._textareaElement.setAttribute("placeholder",value):this._textareaElement.removeAttribute("placeholder"),this._cacheTextareaPlaceholderHeight()}_cachedLineHeight;_cachedPlaceholderHeight;_document=inject2(DOCUMENT);_hasFocus=!1;_isViewInited=!1;constructor(){inject2(_CdkPrivateStyleLoader).load(_CdkTextFieldStyleLoader),this._textareaElement=this._elementRef.nativeElement}_setMinHeight(){let minHeight=this.minRows&&this._cachedLineHeight?`${this.minRows*this._cachedLineHeight}px`:null;minHeight&&(this._textareaElement.style.minHeight=minHeight)}_setMaxHeight(){let maxHeight=this.maxRows&&this._cachedLineHeight?`${this.maxRows*this._cachedLineHeight}px`:null;maxHeight&&(this._textareaElement.style.maxHeight=maxHeight)}ngAfterViewInit(){this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(()=>{this._listenerCleanups=[this._renderer.listen("window","resize",()=>this._resizeEvents.next()),this._renderer.listen(this._textareaElement,"focus",this._handleFocusEvent),this._renderer.listen(this._textareaElement,"blur",this._handleFocusEvent)],this._resizeEvents.pipe(auditTime(16)).subscribe(()=>{this._cachedLineHeight=this._cachedPlaceholderHeight=void 0,this.resizeToFitContent(!0)})}),this._isViewInited=!0,this.resizeToFitContent(!0))}ngOnDestroy(){this._listenerCleanups?.forEach(cleanup=>cleanup()),this._resizeEvents.complete(),this._destroyed.next(),this._destroyed.complete()}_cacheTextareaLineHeight(){if(this._cachedLineHeight)return;let textareaClone=this._textareaElement.cloneNode(!1),cloneStyles=textareaClone.style;textareaClone.rows=1,cloneStyles.position="absolute",cloneStyles.visibility="hidden",cloneStyles.border="none",cloneStyles.padding="0",cloneStyles.height="",cloneStyles.minHeight="",cloneStyles.maxHeight="",cloneStyles.top=cloneStyles.bottom=cloneStyles.left=cloneStyles.right="auto",cloneStyles.overflow="hidden",this._textareaElement.parentNode.appendChild(textareaClone),this._cachedLineHeight=textareaClone.clientHeight,textareaClone.remove(),this._setMinHeight(),this._setMaxHeight()}_measureScrollHeight(){let element=this._textareaElement,previousMargin=element.style.marginBottom||"",isFirefox=this._platform.FIREFOX,needsMarginFiller=this._hasFocus,measuringClass=isFirefox?"cdk-textarea-autosize-measuring-firefox":"cdk-textarea-autosize-measuring";needsMarginFiller&&(element.style.marginBottom=`${element.clientHeight}px`),element.classList.add(measuringClass);let scrollHeight=element.scrollHeight-4;return element.classList.remove(measuringClass),needsMarginFiller&&(element.style.marginBottom=previousMargin),scrollHeight}_cacheTextareaPlaceholderHeight(){if(!this._isViewInited||this._cachedPlaceholderHeight!=null)return;if(!this.placeholder){this._cachedPlaceholderHeight=0;return}let value=this._textareaElement.value;this._textareaElement.value=this._textareaElement.placeholder,this._cachedPlaceholderHeight=this._measureScrollHeight(),this._textareaElement.value=value}_handleFocusEvent=event=>{this._hasFocus=event.type==="focus"};ngDoCheck(){this._platform.isBrowser&&this.resizeToFitContent()}resizeToFitContent(force=!1){if(!this._enabled||(this._cacheTextareaLineHeight(),this._cacheTextareaPlaceholderHeight(),!this._cachedLineHeight))return;let textarea=this._elementRef.nativeElement,value=textarea.value;if(!force&&this._minRows===this._previousMinRows&&value===this._previousValue)return;let scrollHeight=this._measureScrollHeight(),height=Math.max(scrollHeight,this._cachedPlaceholderHeight||0);textarea.style.height=`${height}px`,this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>this._scrollToCaretPosition(textarea)):setTimeout(()=>this._scrollToCaretPosition(textarea))}),this._previousValue=value,this._previousMinRows=this._minRows}reset(){this._initialHeight!==void 0&&(this._textareaElement.style.height=this._initialHeight)}_noopInputHandler(){}_scrollToCaretPosition(textarea){let{selectionStart,selectionEnd}=textarea;!this._destroyed.isStopped&&this._hasFocus&&textarea.setSelectionRange(selectionStart,selectionEnd)}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CdkTextareaAutosize2)};static \u0275dir=\u0275\u0275defineDirective({type:CdkTextareaAutosize2,selectors:[["textarea","cdkTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize"],hostBindings:function(rf,ctx){rf&1&&\u0275\u0275listener("input",function(){return ctx._noopInputHandler()})},inputs:{minRows:[0,"cdkAutosizeMinRows","minRows"],maxRows:[0,"cdkAutosizeMaxRows","maxRows"],enabled:[2,"cdkTextareaAutosize","enabled",booleanAttribute],placeholder:"placeholder"},exportAs:["cdkTextareaAutosize"]})}return CdkTextareaAutosize2})(),TextFieldModule=(()=>{class TextFieldModule2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TextFieldModule2)};static \u0275mod=\u0275\u0275defineNgModule({type:TextFieldModule2});static \u0275inj=\u0275\u0275defineInjector({})}return TextFieldModule2})();var MAT_INPUT_VALUE_ACCESSOR=new InjectionToken("MAT_INPUT_VALUE_ACCESSOR");var MAT_INPUT_INVALID_TYPES=["button","checkbox","file","hidden","image","radio","range","reset","submit"],MAT_INPUT_CONFIG=new InjectionToken("MAT_INPUT_CONFIG"),MatInput=(()=>{class MatInput2{_elementRef=inject2(ElementRef);_platform=inject2(Platform);ngControl=inject2(NgControl,{optional:!0,self:!0});_autofillMonitor=inject2(AutofillMonitor);_ngZone=inject2(NgZone);_formField=inject2(MAT_FORM_FIELD,{optional:!0});_renderer=inject2(Renderer2);_uid=inject2(_IdGenerator).getId("mat-input-");_previousNativeValue;_inputValueAccessor;_signalBasedValueAccessor;_previousPlaceholder=null;_errorStateTracker;_config=inject2(MAT_INPUT_CONFIG,{optional:!0});_cleanupIosKeyup;_cleanupWebkitWheel;_isServer=!1;_isNativeSelect=!1;_isTextarea=!1;_isInFormField=!1;focused=!1;stateChanges=new Subject;controlType="mat-input";autofilled=!1;get disabled(){return this._disabled}set disabled(value){this._disabled=coerceBooleanProperty(value),this.focused&&(this.focused=!1,this.stateChanges.next())}_disabled=!1;get id(){return this._id}set id(value){this._id=value||this._uid}_id;placeholder;name;get required(){return this._required??this.ngControl?.control?.hasValidator(Validators.required)??!1}set required(value){this._required=coerceBooleanProperty(value)}_required;get type(){return this._type}set type(value){this._type=value||"text",this._validateType(),!this._isTextarea&&getSupportedInputTypes().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}_type="text";get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(value){this._errorStateTracker.matcher=value}userAriaDescribedBy;get value(){return this._signalBasedValueAccessor?this._signalBasedValueAccessor.value():this._inputValueAccessor.value}set value(value){value!==this.value&&(this._signalBasedValueAccessor?this._signalBasedValueAccessor.value.set(value):this._inputValueAccessor.value=value,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(value){this._readonly=coerceBooleanProperty(value)}_readonly=!1;disabledInteractive;get errorState(){return this._errorStateTracker.errorState}set errorState(value){this._errorStateTracker.errorState=value}_neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>getSupportedInputTypes().has(t));constructor(){let parentForm=inject2(NgForm,{optional:!0}),parentFormGroup=inject2(FormGroupDirective,{optional:!0}),defaultErrorStateMatcher=inject2(ErrorStateMatcher),accessor=inject2(MAT_INPUT_VALUE_ACCESSOR,{optional:!0,self:!0}),element=this._elementRef.nativeElement,nodeName=element.nodeName.toLowerCase();accessor?isSignal(accessor.value)?this._signalBasedValueAccessor=accessor:this._inputValueAccessor=accessor:this._inputValueAccessor=element,this._previousNativeValue=this.value,this.id=this.id,this._platform.IOS&&this._ngZone.runOutsideAngular(()=>{this._cleanupIosKeyup=this._renderer.listen(element,"keyup",this._iOSKeyupListener)}),this._errorStateTracker=new _ErrorStateTracker(defaultErrorStateMatcher,this.ngControl,parentFormGroup,parentForm,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect=nodeName==="select",this._isTextarea=nodeName==="textarea",this._isInFormField=!!this._formField,this.disabledInteractive=this._config?.disabledInteractive||!1,this._isNativeSelect&&(this.controlType=element.multiple?"mat-native-select-multiple":"mat-native-select"),this._signalBasedValueAccessor&&effect(()=>{this._signalBasedValueAccessor.value(),this.stateChanges.next()})}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(event=>{this.autofilled=event.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._cleanupIosKeyup?.(),this._cleanupWebkitWheel?.()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==null&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl.disabled,this.stateChanges.next())),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(options){this._elementRef.nativeElement.focus(options)}updateErrorState(){this._errorStateTracker.updateErrorState()}_focusChanged(isFocused){if(isFocused!==this.focused){if(!this._isNativeSelect&&isFocused&&this.disabled&&this.disabledInteractive){let element=this._elementRef.nativeElement;element.type==="number"?(element.type="text",element.setSelectionRange(0,0),element.type="number"):element.setSelectionRange(0,0)}this.focused=isFocused,this.stateChanges.next()}}_onInput(){}_dirtyCheckNativeValue(){let newValue=this._elementRef.nativeElement.value;this._previousNativeValue!==newValue&&(this._previousNativeValue=newValue,this.stateChanges.next())}_dirtyCheckPlaceholder(){let placeholder=this._getPlaceholder();if(placeholder!==this._previousPlaceholder){let element=this._elementRef.nativeElement;this._previousPlaceholder=placeholder,placeholder?element.setAttribute("placeholder",placeholder):element.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){MAT_INPUT_INVALID_TYPES.indexOf(this._type)>-1}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let validity=this._elementRef.nativeElement.validity;return validity&&validity.badInput}get empty(){return!this._isNeverEmpty()&&!this._elementRef.nativeElement.value&&!this._isBadInput()&&!this.autofilled}get shouldLabelFloat(){if(this._isNativeSelect){let selectElement=this._elementRef.nativeElement,firstOption=selectElement.options[0];return this.focused||selectElement.multiple||!this.empty||!!(selectElement.selectedIndex>-1&&firstOption&&firstOption.label)}else return this.focused&&!this.disabled||!this.empty}get describedByIds(){return this._elementRef.nativeElement.getAttribute("aria-describedby")?.split(" ")||[]}setDescribedByIds(ids){let element=this._elementRef.nativeElement;ids.length?element.setAttribute("aria-describedby",ids.join(" ")):element.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){let element=this._elementRef.nativeElement;return this._isNativeSelect&&(element.multiple||element.size>1)}_iOSKeyupListener=event=>{let el=event.target;!el.value&&el.selectionStart===0&&el.selectionEnd===0&&(el.setSelectionRange(1,1),el.setSelectionRange(0,0))};_getReadonlyAttribute(){return this._isNativeSelect?null:this.readonly||this.disabled&&this.disabledInteractive?"true":null}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatInput2)};static \u0275dir=\u0275\u0275defineDirective({type:MatInput2,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-mdc-input-element"],hostVars:21,hostBindings:function(rf,ctx){rf&1&&\u0275\u0275listener("focus",function(){return ctx._focusChanged(!0)})("blur",function(){return ctx._focusChanged(!1)})("input",function(){return ctx._onInput()}),rf&2&&(\u0275\u0275domProperty("id",ctx.id)("disabled",ctx.disabled&&!ctx.disabledInteractive)("required",ctx.required),\u0275\u0275attribute("name",ctx.name||null)("readonly",ctx._getReadonlyAttribute())("aria-disabled",ctx.disabled&&ctx.disabledInteractive?"true":null)("aria-invalid",ctx.empty&&ctx.required?null:ctx.errorState)("aria-required",ctx.required)("id",ctx.id),\u0275\u0275classProp("mat-input-server",ctx._isServer)("mat-mdc-form-field-textarea-control",ctx._isInFormField&&ctx._isTextarea)("mat-mdc-form-field-input-control",ctx._isInFormField)("mat-mdc-input-disabled-interactive",ctx.disabledInteractive)("mdc-text-field__input",ctx._isInFormField)("mat-mdc-native-select-inline",ctx._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly",disabledInteractive:[2,"disabledInteractive","disabledInteractive",booleanAttribute]},exportAs:["matInput"],features:[\u0275\u0275ProvidersFeature([{provide:MatFormFieldControl,useExisting:MatInput2}]),\u0275\u0275NgOnChangesFeature]})}return MatInput2})(),MatInputModule=(()=>{class MatInputModule2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatInputModule2)};static \u0275mod=\u0275\u0275defineNgModule({type:MatInputModule2});static \u0275inj=\u0275\u0275defineInjector({imports:[MatFormFieldModule,MatFormFieldModule,TextFieldModule,BidiModule]})}return MatInputModule2})();var BackendComponentCallerServiceFactory=(()=>{class BackendComponentCallerServiceFactory2{constructor(){this.api=inject2(IxApiService),this.http=inject2(HttpClient)}create(config2){return new BackendComponentCallerService(this.http,this.api,config2)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BackendComponentCallerServiceFactory2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:BackendComponentCallerServiceFactory2,factory:BackendComponentCallerServiceFactory2.\u0275fac,providedIn:"root"})}}return BackendComponentCallerServiceFactory2})(),BackendComponentCallerService=class{constructor(http,api,config2){this.http=http,this.api=api,this.config=config2}call(call){let url=this.url,body={name:call.call.functionName,arguments:call.call.functionArguments,template:call.template},options={headers:this.config.myCompany?this.api.headers.set(IxApiHeaderKeys.Company,this.config.myCompany.publicId):this.api.headers};return this.http.post(url,body,options).pipe(map(response=>response.data))}get url(){return this.config.agent?this.api.url("AgentBackendComponentFunctionCall",{agentId:this.config.agent?.publicId}):this.config.asset?this.api.url("AssetBackendComponentFunctionCall",{assetId:this.config.asset?.publicId}):this.api.url("BackendComponentFunctionCall")}};var DEFAULT_CBC_INGRESS_URL="http://localhost:8020/",BackendComponentClientProxyEventType=(function(BackendComponentClientProxyEventType2){return BackendComponentClientProxyEventType2.Call="ayayot.backendcomponent.call",BackendComponentClientProxyEventType2.Error="ayayot.backendcomponent.error",BackendComponentClientProxyEventType2.Results="ayayot.backendcomponent.results",BackendComponentClientProxyEventType2})(BackendComponentClientProxyEventType||{});var BackendComponentClientProxyService=(()=>{class BackendComponentClientProxyService2{constructor(window2){this.window=window2}emitError(error,scope){let detail={error,scope},event=new CustomEvent(BackendComponentClientProxyEventType.Error,{detail});this.window.dispatchEvent(event)}emitResult(result,scope){let detail={result,scope},event=new CustomEvent(BackendComponentClientProxyEventType.Results,{detail});this.window.dispatchEvent(event)}onCall(scope){return fromEvent(this.window,BackendComponentClientProxyEventType.Call).pipe(filter(event=>scope===event.detail.scope),map(event=>event.detail))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BackendComponentClientProxyService2)(\u0275\u0275inject(WINDOW))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:BackendComponentClientProxyService2,factory:BackendComponentClientProxyService2.\u0275fac,providedIn:"root"})}}return BackendComponentClientProxyService2})();var BackendComponentClient=class{constructor(id,scope,componentId){this.id=id,this.scope=scope,this.componentId=componentId,this._destroyed=!1,this._resolverRefs=[],this._uid=0,this._onResult=this._onResult.bind(this),window.addEventListener(BackendComponentClientProxyEventType.Results,this._onResult,!0),this._onError=this._onError.bind(this),window.addEventListener(BackendComponentClientProxyEventType.Error,this._onError,!0)}_destroy(){this._destroyed||(window.removeEventListener(BackendComponentClientProxyEventType.Results,this._onResult,!0),window.removeEventListener(BackendComponentClientProxyEventType.Error,this._onError,!0)),this._destroyed=!0}_onResult(event){event.detail.scope===this.scope&&this._resolverRefs.forEach(({clientRef,resolver},i)=>{event.detail.result.call._clientRef===clientRef&&(resolver(event.detail.result),this._resolverRefs.splice(i,1))})}_onError(event){event.detail.scope===this.scope&&this._resolverRefs.forEach(({clientRef,rejecter},i)=>{event.detail.error.call._clientRef===clientRef&&(rejecter(event.detail.error),this._resolverRefs.splice(i,1))})}destroy(){this._destroy()}call(functionName,functionArguments){return new Promise((res,rej)=>{let resolver=result=>{res(result)},rejecter=error=>{rej(error)},clientRef=`yot:bcc.${this.scope?this.scope+".":""}${this.id}.c${this._uid++}`,call={functionName,functionArguments,_clientRef:clientRef};this._resolverRefs.push({clientRef,resolver,rejecter});let event=new CustomEvent(BackendComponentClientProxyEventType.Call,{detail:{call,scope:this.scope,pageComponentId:this.componentId}});window.dispatchEvent(event)})}};var DEFAULT_CBC_FORM_VALUE={url:DEFAULT_CBC_INGRESS_URL,ingress:"none",componentId:null};var STORAGE_KEY_CBC_CONFIG_VALUES="cbc-config-values",STORAGE_KEY_CBC_INGRESS="cbc-ingress",STORAGE_KEY_CBC_INGRESS_URL="cbc-ingress-url",STORAGE_KEY_CBC_PUBLIC_ID="cbc-public-id";var REGISTERED_ACTION_TYPES={};function createAction(type2,config2){if(REGISTERED_ACTION_TYPES[type2]=(REGISTERED_ACTION_TYPES[type2]||0)+1,typeof config2=="function")return defineType(type2,(...args)=>__spreadProps(__spreadValues({},config2(...args)),{type:type2}));switch(config2?config2._as:"empty"){case"empty":return defineType(type2,()=>({type:type2}));case"props":return defineType(type2,props2=>__spreadProps(__spreadValues({},props2),{type:type2}));default:throw new Error("Unexpected config.")}}function props(){return{_as:"props",_p:void 0}}function defineType(type2,creator){return Object.defineProperty(creator,"type",{value:type2,writable:!1})}function capitalize(text){return text.charAt(0).toUpperCase()+text.substring(1)}function assertDefined2(value,name){if(value==null)throw new Error(`${name} must be defined.`)}var INIT="@ngrx/store/init",ActionsSubject=(()=>{class ActionsSubject2 extends BehaviorSubject{constructor(){super({type:INIT})}next(action){if(typeof action=="function")throw new TypeError(`
48
48
  Dispatch expected an object, instead it received a function.
49
49
  If you're using the createAction function, make sure to invoke the function
50
- before dispatching the action. For example, someAction should be someAction().`);if(typeof action>"u")throw new TypeError("Actions must be objects");if(typeof action.type>"u")throw new TypeError("Actions must have a type property");super.next(action)}complete(){}ngOnDestroy(){super.complete()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ActionsSubject2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ActionsSubject2,factory:ActionsSubject2.\u0275fac})}}return ActionsSubject2})(),ACTIONS_SUBJECT_PROVIDERS=[ActionsSubject],_ROOT_STORE_GUARD=new InjectionToken("@ngrx/store Internal Root Guard"),_INITIAL_STATE=new InjectionToken("@ngrx/store Internal Initial State"),INITIAL_STATE=new InjectionToken("@ngrx/store Initial State"),REDUCER_FACTORY=new InjectionToken("@ngrx/store Reducer Factory"),_REDUCER_FACTORY=new InjectionToken("@ngrx/store Internal Reducer Factory Provider"),INITIAL_REDUCERS=new InjectionToken("@ngrx/store Initial Reducers"),_INITIAL_REDUCERS=new InjectionToken("@ngrx/store Internal Initial Reducers"),STORE_FEATURES=new InjectionToken("@ngrx/store Store Features"),_STORE_REDUCERS=new InjectionToken("@ngrx/store Internal Store Reducers"),_FEATURE_REDUCERS=new InjectionToken("@ngrx/store Internal Feature Reducers"),_FEATURE_CONFIGS=new InjectionToken("@ngrx/store Internal Feature Configs"),_STORE_FEATURES=new InjectionToken("@ngrx/store Internal Store Features"),_FEATURE_REDUCERS_TOKEN=new InjectionToken("@ngrx/store Internal Feature Reducers Token"),FEATURE_REDUCERS=new InjectionToken("@ngrx/store Feature Reducers"),USER_PROVIDED_META_REDUCERS=new InjectionToken("@ngrx/store User Provided Meta Reducers"),META_REDUCERS=new InjectionToken("@ngrx/store Meta Reducers"),_RESOLVED_META_REDUCERS=new InjectionToken("@ngrx/store Internal Resolved Meta Reducers"),USER_RUNTIME_CHECKS=new InjectionToken("@ngrx/store User Runtime Checks Config"),_USER_RUNTIME_CHECKS=new InjectionToken("@ngrx/store Internal User Runtime Checks Config"),ACTIVE_RUNTIME_CHECKS=new InjectionToken("@ngrx/store Internal Runtime Checks"),_ACTION_TYPE_UNIQUENESS_CHECK=new InjectionToken("@ngrx/store Check if Action types are unique"),ROOT_STORE_PROVIDER=new InjectionToken("@ngrx/store Root Store Provider"),FEATURE_STATE_PROVIDER=new InjectionToken("@ngrx/store Feature State Provider");function combineReducers(reducers,initialState3={}){let reducerKeys=Object.keys(reducers),finalReducers={};for(let i=0;i<reducerKeys.length;i++){let key=reducerKeys[i];typeof reducers[key]=="function"&&(finalReducers[key]=reducers[key])}let finalReducerKeys=Object.keys(finalReducers);return function(state2,action){state2=state2===void 0?initialState3:state2;let hasChanged=!1,nextState={};for(let i=0;i<finalReducerKeys.length;i++){let key=finalReducerKeys[i],reducer3=finalReducers[key],previousStateForKey=state2[key],nextStateForKey=reducer3(previousStateForKey,action);nextState[key]=nextStateForKey,hasChanged=hasChanged||nextStateForKey!==previousStateForKey}return hasChanged?nextState:state2}}function omit(object,keyToRemove){return Object.keys(object).filter(key=>key!==keyToRemove).reduce((result,key)=>Object.assign(result,{[key]:object[key]}),{})}function compose2(...functions){return function(arg){if(functions.length===0)return arg;let last4=functions[functions.length-1];return functions.slice(0,-1).reduceRight((composed,fn)=>fn(composed),last4(arg))}}function createReducerFactory(reducerFactory,metaReducers){return Array.isArray(metaReducers)&&metaReducers.length>0&&(reducerFactory=compose2.apply(null,[...metaReducers,reducerFactory])),(reducers,initialState3)=>{let reducer3=reducerFactory(reducers);return(state2,action)=>(state2=state2===void 0?initialState3:state2,reducer3(state2,action))}}function createFeatureReducerFactory(metaReducers){let reducerFactory=Array.isArray(metaReducers)&&metaReducers.length>0?compose2(...metaReducers):r=>r;return(reducer3,initialState3)=>(reducer3=reducerFactory(reducer3),(state2,action)=>(state2=state2===void 0?initialState3:state2,reducer3(state2,action)))}var ReducerObservable=class extends Observable{},ReducerManagerDispatcher=class extends ActionsSubject{},UPDATE="@ngrx/store/update-reducers",ReducerManager=(()=>{class ReducerManager2 extends BehaviorSubject{get currentReducers(){return this.reducers}constructor(dispatcher,initialState3,reducers,reducerFactory){super(reducerFactory(reducers,initialState3)),this.dispatcher=dispatcher,this.initialState=initialState3,this.reducers=reducers,this.reducerFactory=reducerFactory}addFeature(feature3){this.addFeatures([feature3])}addFeatures(features){let reducers=features.reduce((reducerDict,{reducers:reducers2,reducerFactory,metaReducers,initialState:initialState3,key})=>{let reducer3=typeof reducers2=="function"?createFeatureReducerFactory(metaReducers)(reducers2,initialState3):createReducerFactory(reducerFactory,metaReducers)(reducers2,initialState3);return reducerDict[key]=reducer3,reducerDict},{});this.addReducers(reducers)}removeFeature(feature3){this.removeFeatures([feature3])}removeFeatures(features){this.removeReducers(features.map(p=>p.key))}addReducer(key,reducer3){this.addReducers({[key]:reducer3})}addReducers(reducers){this.reducers=__spreadValues(__spreadValues({},this.reducers),reducers),this.updateReducers(Object.keys(reducers))}removeReducer(featureKey){this.removeReducers([featureKey])}removeReducers(featureKeys){featureKeys.forEach(key=>{this.reducers=omit(this.reducers,key)}),this.updateReducers(featureKeys)}updateReducers(featureKeys){this.next(this.reducerFactory(this.reducers,this.initialState)),this.dispatcher.next({type:UPDATE,features:featureKeys})}ngOnDestroy(){this.complete()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ReducerManager2)(\u0275\u0275inject(ReducerManagerDispatcher),\u0275\u0275inject(INITIAL_STATE),\u0275\u0275inject(INITIAL_REDUCERS),\u0275\u0275inject(REDUCER_FACTORY))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ReducerManager2,factory:ReducerManager2.\u0275fac})}}return ReducerManager2})(),REDUCER_MANAGER_PROVIDERS=[ReducerManager,{provide:ReducerObservable,useExisting:ReducerManager},{provide:ReducerManagerDispatcher,useExisting:ActionsSubject}],ScannedActionsSubject=(()=>{class ScannedActionsSubject2 extends Subject{ngOnDestroy(){this.complete()}static{this.\u0275fac=(()=>{let \u0275ScannedActionsSubject_BaseFactory;return function(__ngFactoryType__){return(\u0275ScannedActionsSubject_BaseFactory||(\u0275ScannedActionsSubject_BaseFactory=\u0275\u0275getInheritedFactory(ScannedActionsSubject2)))(__ngFactoryType__||ScannedActionsSubject2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ScannedActionsSubject2,factory:ScannedActionsSubject2.\u0275fac})}}return ScannedActionsSubject2})(),SCANNED_ACTIONS_SUBJECT_PROVIDERS=[ScannedActionsSubject],StateObservable=class extends Observable{},State=(()=>{class State2 extends BehaviorSubject{static{this.INIT=INIT}constructor(actions$,reducer$,scannedActions,initialState3){super(initialState3);let withLatestReducer$=actions$.pipe(observeOn(queueScheduler)).pipe(withLatestFrom(reducer$)),seed={state:initialState3},stateAndAction$=withLatestReducer$.pipe(scan(reduceState,seed));this.stateSubscription=stateAndAction$.subscribe(({state:state2,action})=>{this.next(state2),scannedActions.next(action)}),this.state=toSignal(this,{manualCleanup:!0,requireSync:!0})}ngOnDestroy(){this.stateSubscription.unsubscribe(),this.complete()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||State2)(\u0275\u0275inject(ActionsSubject),\u0275\u0275inject(ReducerObservable),\u0275\u0275inject(ScannedActionsSubject),\u0275\u0275inject(INITIAL_STATE))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:State2,factory:State2.\u0275fac})}}return State2})();function reduceState(stateActionPair={state:void 0},[action,reducer3]){let{state:state2}=stateActionPair;return{state:reducer3(state2,action),action}}var STATE_PROVIDERS=[State,{provide:StateObservable,useExisting:State}],Store=(()=>{class Store2 extends Observable{constructor(state$,actionsObserver,reducerManager,injector){super(),this.actionsObserver=actionsObserver,this.reducerManager=reducerManager,this.injector=injector,this.source=state$,this.state=state$.state}select(pathOrMapFn,...paths){return select.call(null,pathOrMapFn,...paths)(this)}selectSignal(selector,options){return computed(()=>selector(this.state()),options)}lift(operator){let store2=new Store2(this,this.actionsObserver,this.reducerManager);return store2.operator=operator,store2}dispatch(actionOrDispatchFn,config2){if(typeof actionOrDispatchFn=="function")return this.processDispatchFn(actionOrDispatchFn,config2);this.actionsObserver.next(actionOrDispatchFn)}next(action){this.actionsObserver.next(action)}error(err){this.actionsObserver.error(err)}complete(){this.actionsObserver.complete()}addReducer(key,reducer3){this.reducerManager.addReducer(key,reducer3)}removeReducer(key){this.reducerManager.removeReducer(key)}processDispatchFn(dispatchFn,config2){assertDefined2(this.injector,"Store Injector");let effectInjector=config2?.injector??getCallerInjector()??this.injector;return effect(()=>{let action=dispatchFn();untracked2(()=>this.dispatch(action))},{injector:effectInjector})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||Store2)(\u0275\u0275inject(StateObservable),\u0275\u0275inject(ActionsSubject),\u0275\u0275inject(ReducerManager),\u0275\u0275inject(Injector))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:Store2,factory:Store2.\u0275fac})}}return Store2})(),STORE_PROVIDERS=[Store];function select(pathOrMapFn,propsOrPath,...paths){return function(source$){let mapped$;if(typeof pathOrMapFn=="string"){let pathSlices=[propsOrPath,...paths].filter(Boolean);mapped$=source$.pipe(pluck(pathOrMapFn,...pathSlices))}else if(typeof pathOrMapFn=="function")mapped$=source$.pipe(map(source=>pathOrMapFn(source,propsOrPath)));else throw new TypeError(`Unexpected type '${typeof pathOrMapFn}' in select operator, expected 'string' or 'function'`);return mapped$.pipe(distinctUntilChanged())}}function getCallerInjector(){try{return inject2(Injector)}catch(_){return}}var RUNTIME_CHECK_URL="https://ngrx.io/guide/store/configuration/runtime-checks";function isUndefined(target){return target===void 0}function isNull(target){return target===null}function isArray4(target){return Array.isArray(target)}function isString2(target){return typeof target=="string"}function isBoolean2(target){return typeof target=="boolean"}function isNumber(target){return typeof target=="number"}function isObjectLike(target){return typeof target=="object"&&target!==null}function isObject2(target){return isObjectLike(target)&&!isArray4(target)}function isPlainObject(target){if(!isObject2(target))return!1;let targetPrototype=Object.getPrototypeOf(target);return targetPrototype===Object.prototype||targetPrototype===null}function isFunction4(target){return typeof target=="function"}function isComponent(target){return isFunction4(target)&&target.hasOwnProperty("\u0275cmp")}function hasOwnProperty(target,propertyName){return Object.prototype.hasOwnProperty.call(target,propertyName)}var _ngrxMockEnvironment=!1;function isNgrxMockEnvironment(){return _ngrxMockEnvironment}function isEqualCheck(a,b){return a===b}function isArgumentsChanged(args,lastArguments,comparator){for(let i=0;i<args.length;i++)if(!comparator(args[i],lastArguments[i]))return!0;return!1}function defaultMemoize(projectionFn,isArgumentsEqual=isEqualCheck,isResultEqual=isEqualCheck){let lastArguments=null,lastResult=null,overrideResult;function reset4(){lastArguments=null,lastResult=null}function setResult(result=void 0){overrideResult={result}}function clearResult(){overrideResult=void 0}function memoized(){if(overrideResult!==void 0)return overrideResult.result;if(!lastArguments)return lastResult=projectionFn.apply(null,arguments),lastArguments=arguments,lastResult;if(!isArgumentsChanged(arguments,lastArguments,isArgumentsEqual))return lastResult;let newResult=projectionFn.apply(null,arguments);return lastArguments=arguments,isResultEqual(lastResult,newResult)?lastResult:(lastResult=newResult,newResult)}return{memoized,reset:reset4,setResult,clearResult}}function createSelector(...input2){return createSelectorFactory(defaultMemoize)(...input2)}function defaultStateFn(state2,selectors,props2,memoizedProjector){if(props2===void 0){let args2=selectors.map(fn=>fn(state2));return memoizedProjector.memoized.apply(null,args2)}let args=selectors.map(fn=>fn(state2,props2));return memoizedProjector.memoized.apply(null,[...args,props2])}function createSelectorFactory(memoize,options={stateFn:defaultStateFn}){return function(...input2){let args=input2;if(Array.isArray(args[0])){let[head,...tail]=args;args=[...head,...tail]}else args.length===1&&isSelectorsDictionary(args[0])&&(args=extractArgsFromSelectorsDictionary(args[0]));let selectors=args.slice(0,args.length-1),projector=args[args.length-1],memoizedSelectors=selectors.filter(selector=>selector.release&&typeof selector.release=="function"),memoizedProjector=memoize(function(...selectors2){return projector.apply(null,selectors2)}),memoizedState=defaultMemoize(function(state2,props2){return options.stateFn.apply(null,[state2,selectors,props2,memoizedProjector])});function release(){memoizedState.reset(),memoizedProjector.reset(),memoizedSelectors.forEach(selector=>selector.release())}return Object.assign(memoizedState.memoized,{release,projector:memoizedProjector.memoized,setResult:memoizedState.setResult,clearResult:memoizedState.clearResult})}}function createFeatureSelector(featureName){return createSelector(state2=>{let featureState=state2[featureName];return!isNgrxMockEnvironment()&&isDevMode()&&!(featureName in state2)&&console.warn(`@ngrx/store: The feature name "${featureName}" does not exist in the state, therefore createFeatureSelector cannot access it. Be sure it is imported in a loaded module using StoreModule.forRoot('${featureName}', ...) or StoreModule.forFeature('${featureName}', ...). If the default state is intended to be undefined, as is the case with router state, this development-only warning message can be ignored.`),featureState},featureState=>featureState)}function isSelectorsDictionary(selectors){return!!selectors&&typeof selectors=="object"&&Object.values(selectors).every(selector=>typeof selector=="function")}function extractArgsFromSelectorsDictionary(selectorsDictionary){let selectors=Object.values(selectorsDictionary),resultKeys=Object.keys(selectorsDictionary),projector=(...selectorResults)=>resultKeys.reduce((result,key,index)=>__spreadProps(__spreadValues({},result),{[key]:selectorResults[index]}),{});return[...selectors,projector]}function createFeature(featureConfig){let{name,reducer:reducer3,extraSelectors:extraSelectorsFactory}=featureConfig,featureSelector=createFeatureSelector(name),nestedSelectors=createNestedSelectors(featureSelector,reducer3),baseSelectors=__spreadValues({[`select${capitalize(name)}State`]:featureSelector},nestedSelectors),extraSelectors=extraSelectorsFactory?extraSelectorsFactory(baseSelectors):{};return __spreadValues(__spreadValues({name,reducer:reducer3},baseSelectors),extraSelectors)}function createNestedSelectors(featureSelector,reducer3){let initialState3=getInitialState(reducer3);return(isPlainObject(initialState3)?Object.keys(initialState3):[]).reduce((nestedSelectors,nestedKey)=>__spreadProps(__spreadValues({},nestedSelectors),{[`select${capitalize(nestedKey)}`]:createSelector(featureSelector,parentState=>parentState?.[nestedKey])}),{})}function getInitialState(reducer3){return reducer3(void 0,{type:"@ngrx/feature/init"})}function _createStoreReducers(reducers){return reducers instanceof InjectionToken?inject2(reducers):reducers}function _createFeatureStore(configs,featureStores){return featureStores.map((feat,index)=>{if(configs[index]instanceof InjectionToken){let conf=inject2(configs[index]);return{key:feat.key,reducerFactory:conf.reducerFactory?conf.reducerFactory:combineReducers,metaReducers:conf.metaReducers?conf.metaReducers:[],initialState:conf.initialState}}return feat})}function _createFeatureReducers(reducerCollection){return reducerCollection.map(reducer3=>reducer3 instanceof InjectionToken?inject2(reducer3):reducer3)}function _initialStateFactory(initialState3){return typeof initialState3=="function"?initialState3():initialState3}function _concatMetaReducers(metaReducers,userProvidedMetaReducers){return metaReducers.concat(userProvidedMetaReducers)}function _provideForRootGuard(){if(inject2(Store,{optional:!0,skipSelf:!0}))throw new TypeError("The root Store has been provided more than once. Feature modules should provide feature states instead.");return"guarded"}function immutabilityCheckMetaReducer(reducer3,checks){return function(state2,action){let act=checks.action(action)?freeze(action):action,nextState=reducer3(state2,act);return checks.state()?freeze(nextState):nextState}}function freeze(target){Object.freeze(target);let targetIsFunction=isFunction4(target);return Object.getOwnPropertyNames(target).forEach(prop=>{if(!prop.startsWith("\u0275")&&hasOwnProperty(target,prop)&&(!targetIsFunction||prop!=="caller"&&prop!=="callee"&&prop!=="arguments")){let propValue=target[prop];(isObjectLike(propValue)||isFunction4(propValue))&&!Object.isFrozen(propValue)&&freeze(propValue)}}),target}function serializationCheckMetaReducer(reducer3,checks){return function(state2,action){if(checks.action(action)){let unserializableAction=getUnserializable(action);throwIfUnserializable(unserializableAction,"action")}let nextState=reducer3(state2,action);if(checks.state()){let unserializableState=getUnserializable(nextState);throwIfUnserializable(unserializableState,"state")}return nextState}}function getUnserializable(target,path=[]){return(isUndefined(target)||isNull(target))&&path.length===0?{path:["root"],value:target}:Object.keys(target).reduce((result,key)=>{if(result)return result;let value=target[key];return isComponent(value)?result:isUndefined(value)||isNull(value)||isNumber(value)||isBoolean2(value)||isString2(value)||isArray4(value)?!1:isPlainObject(value)?getUnserializable(value,[...path,key]):{path:[...path,key],value}},!1)}function throwIfUnserializable(unserializable,context2){if(unserializable===!1)return;let unserializablePath=unserializable.path.join("."),error=new Error(`Detected unserializable ${context2} at "${unserializablePath}". ${RUNTIME_CHECK_URL}#strict${context2}serializability`);throw error.value=unserializable.value,error.unserializablePath=unserializablePath,error}function inNgZoneAssertMetaReducer(reducer3,checks){return function(state2,action){if(checks.action(action)&&!NgZone.isInAngularZone())throw new Error(`Action '${action.type}' running outside NgZone. ${RUNTIME_CHECK_URL}#strictactionwithinngzone`);return reducer3(state2,action)}}function createActiveRuntimeChecks(runtimeChecks){return isDevMode()?__spreadValues({strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!0,strictActionImmutability:!0,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1},runtimeChecks):{strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!1,strictActionImmutability:!1,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1}}function createSerializationCheckMetaReducer({strictActionSerializability,strictStateSerializability}){return reducer3=>strictActionSerializability||strictStateSerializability?serializationCheckMetaReducer(reducer3,{action:action=>strictActionSerializability&&!ignoreNgrxAction(action),state:()=>strictStateSerializability}):reducer3}function createImmutabilityCheckMetaReducer({strictActionImmutability,strictStateImmutability}){return reducer3=>strictActionImmutability||strictStateImmutability?immutabilityCheckMetaReducer(reducer3,{action:action=>strictActionImmutability&&!ignoreNgrxAction(action),state:()=>strictStateImmutability}):reducer3}function ignoreNgrxAction(action){return action.type.startsWith("@ngrx")}function createInNgZoneCheckMetaReducer({strictActionWithinNgZone}){return reducer3=>strictActionWithinNgZone?inNgZoneAssertMetaReducer(reducer3,{action:action=>strictActionWithinNgZone&&!ignoreNgrxAction(action)}):reducer3}function provideRuntimeChecks(runtimeChecks){return[{provide:_USER_RUNTIME_CHECKS,useValue:runtimeChecks},{provide:USER_RUNTIME_CHECKS,useFactory:_runtimeChecksFactory,deps:[_USER_RUNTIME_CHECKS]},{provide:ACTIVE_RUNTIME_CHECKS,deps:[USER_RUNTIME_CHECKS],useFactory:createActiveRuntimeChecks},{provide:META_REDUCERS,multi:!0,deps:[ACTIVE_RUNTIME_CHECKS],useFactory:createImmutabilityCheckMetaReducer},{provide:META_REDUCERS,multi:!0,deps:[ACTIVE_RUNTIME_CHECKS],useFactory:createSerializationCheckMetaReducer},{provide:META_REDUCERS,multi:!0,deps:[ACTIVE_RUNTIME_CHECKS],useFactory:createInNgZoneCheckMetaReducer}]}function checkForActionTypeUniqueness(){return[{provide:_ACTION_TYPE_UNIQUENESS_CHECK,multi:!0,deps:[ACTIVE_RUNTIME_CHECKS],useFactory:_actionTypeUniquenessCheck}]}function _runtimeChecksFactory(runtimeChecks){return runtimeChecks}function _actionTypeUniquenessCheck(config2){if(!config2.strictActionTypeUniqueness)return;let duplicates=Object.entries(REGISTERED_ACTION_TYPES).filter(([,registrations])=>registrations>1).map(([type2])=>type2);if(duplicates.length)throw new Error(`Action types are registered more than once, ${duplicates.map(type2=>`"${type2}"`).join(", ")}. ${RUNTIME_CHECK_URL}#strictactiontypeuniqueness`)}function _provideStore(reducers={},config2={}){return[{provide:_ROOT_STORE_GUARD,useFactory:_provideForRootGuard},{provide:_INITIAL_STATE,useValue:config2.initialState},{provide:INITIAL_STATE,useFactory:_initialStateFactory,deps:[_INITIAL_STATE]},{provide:_INITIAL_REDUCERS,useValue:reducers},{provide:_STORE_REDUCERS,useExisting:reducers instanceof InjectionToken?reducers:_INITIAL_REDUCERS},{provide:INITIAL_REDUCERS,deps:[_INITIAL_REDUCERS,[new Inject(_STORE_REDUCERS)]],useFactory:_createStoreReducers},{provide:USER_PROVIDED_META_REDUCERS,useValue:config2.metaReducers?config2.metaReducers:[]},{provide:_RESOLVED_META_REDUCERS,deps:[META_REDUCERS,USER_PROVIDED_META_REDUCERS],useFactory:_concatMetaReducers},{provide:_REDUCER_FACTORY,useValue:config2.reducerFactory?config2.reducerFactory:combineReducers},{provide:REDUCER_FACTORY,deps:[_REDUCER_FACTORY,_RESOLVED_META_REDUCERS],useFactory:createReducerFactory},ACTIONS_SUBJECT_PROVIDERS,REDUCER_MANAGER_PROVIDERS,SCANNED_ACTIONS_SUBJECT_PROVIDERS,STATE_PROVIDERS,STORE_PROVIDERS,provideRuntimeChecks(config2.runtimeChecks),checkForActionTypeUniqueness()]}function rootStoreProviderFactory(){inject2(ActionsSubject),inject2(ReducerObservable),inject2(ScannedActionsSubject),inject2(Store),inject2(_ROOT_STORE_GUARD,{optional:!0}),inject2(_ACTION_TYPE_UNIQUENESS_CHECK,{optional:!0})}var ENVIRONMENT_STORE_PROVIDER=[{provide:ROOT_STORE_PROVIDER,useFactory:rootStoreProviderFactory},provideEnvironmentInitializer(()=>inject2(ROOT_STORE_PROVIDER))];function featureStateProviderFactory(){inject2(ROOT_STORE_PROVIDER);let features=inject2(_STORE_FEATURES),featureReducers=inject2(FEATURE_REDUCERS),reducerManager=inject2(ReducerManager);inject2(_ACTION_TYPE_UNIQUENESS_CHECK,{optional:!0});let feats=features.map((feature3,index)=>{let reducers=featureReducers.shift()[index];return __spreadProps(__spreadValues({},feature3),{reducers,initialState:_initialStateFactory(feature3.initialState)})});reducerManager.addFeatures(feats)}var ENVIRONMENT_STATE_PROVIDER=[{provide:FEATURE_STATE_PROVIDER,useFactory:featureStateProviderFactory},provideEnvironmentInitializer(()=>inject2(FEATURE_STATE_PROVIDER))];function _provideState(featureNameOrSlice,reducers,config2={}){return[{provide:_FEATURE_CONFIGS,multi:!0,useValue:featureNameOrSlice instanceof Object?{}:config2},{provide:STORE_FEATURES,multi:!0,useValue:{key:featureNameOrSlice instanceof Object?featureNameOrSlice.name:featureNameOrSlice,reducerFactory:!(config2 instanceof InjectionToken)&&config2.reducerFactory?config2.reducerFactory:combineReducers,metaReducers:!(config2 instanceof InjectionToken)&&config2.metaReducers?config2.metaReducers:[],initialState:!(config2 instanceof InjectionToken)&&config2.initialState?config2.initialState:void 0}},{provide:_STORE_FEATURES,deps:[_FEATURE_CONFIGS,STORE_FEATURES],useFactory:_createFeatureStore},{provide:_FEATURE_REDUCERS,multi:!0,useValue:featureNameOrSlice instanceof Object?featureNameOrSlice.reducer:reducers},{provide:_FEATURE_REDUCERS_TOKEN,multi:!0,useExisting:reducers instanceof InjectionToken?reducers:_FEATURE_REDUCERS},{provide:FEATURE_REDUCERS,multi:!0,deps:[_FEATURE_REDUCERS,[new Inject(_FEATURE_REDUCERS_TOKEN)]],useFactory:_createFeatureReducers},checkForActionTypeUniqueness()]}var StoreRootModule=(()=>{class StoreRootModule2{constructor(actions$,reducer$,scannedActions$,store2,guard,actionCheck){}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreRootModule2)(\u0275\u0275inject(ActionsSubject),\u0275\u0275inject(ReducerObservable),\u0275\u0275inject(ScannedActionsSubject),\u0275\u0275inject(Store),\u0275\u0275inject(_ROOT_STORE_GUARD,8),\u0275\u0275inject(_ACTION_TYPE_UNIQUENESS_CHECK,8))}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:StoreRootModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return StoreRootModule2})(),StoreFeatureModule=(()=>{class StoreFeatureModule2{constructor(features,featureReducers,reducerManager,root,actionCheck){this.features=features,this.featureReducers=featureReducers,this.reducerManager=reducerManager;let feats=features.map((feature3,index)=>{let reducers=featureReducers.shift()[index];return __spreadProps(__spreadValues({},feature3),{reducers,initialState:_initialStateFactory(feature3.initialState)})});reducerManager.addFeatures(feats)}ngOnDestroy(){this.reducerManager.removeFeatures(this.features)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreFeatureModule2)(\u0275\u0275inject(_STORE_FEATURES),\u0275\u0275inject(FEATURE_REDUCERS),\u0275\u0275inject(ReducerManager),\u0275\u0275inject(StoreRootModule),\u0275\u0275inject(_ACTION_TYPE_UNIQUENESS_CHECK,8))}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:StoreFeatureModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return StoreFeatureModule2})(),StoreModule=(()=>{class StoreModule2{static forRoot(reducers,config2){return{ngModule:StoreRootModule,providers:[..._provideStore(reducers,config2)]}}static forFeature(featureNameOrSlice,reducers,config2={}){return{ngModule:StoreFeatureModule,providers:[..._provideState(featureNameOrSlice,reducers,config2)]}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:StoreModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return StoreModule2})();function on(...args){let reducer3=args.pop(),types=args.map(creator=>creator.type);return{reducer:reducer3,types}}function createReducer(initialState3,...ons){let map2=new Map;for(let on2 of ons)for(let type2 of on2.types){let existingReducer=map2.get(type2);if(existingReducer){let newReducer=(state2,action)=>on2.reducer(existingReducer(state2,action),action);map2.set(type2,newReducer)}else map2.set(type2,on2.reducer)}return function(state2=initialState3,action){let reducer3=map2.get(action.type);return reducer3?reducer3(state2,action):state2}}var add=createAction("[App] Add PageComponentTemplate",props()),addFailure=createAction("[IxApi] Add PageComponentTemplate Failure",props()),addSuccess=createAction("[IxApi] Add PageComponentTemplate Success",props()),didAdd=createAction("[ChangeNotification] PageComponentTemplate Was Added",props()),didRemove=createAction("[ChangeNotification] PageComponentTemplate Was Removed",props()),didUpdate=createAction("[ChangeNotification] PageComponentTemplate Was Updated",props()),ensureAll=createAction("[App] Ensure All PageComponentTemplates"),ensureAllForIntent=createAction("[App] Ensure All PageComponentTemplates For Intent",props()),loadAll=createAction("[App] Load All PageComponentTemplates"),loadAllFailure=createAction("[IxApi] Load All PageComponentTemplates Failure",props()),loadAllSuccess=createAction("[IxApi] Load All PageComponentTemplates Success",props()),loadAllForIntent=createAction("[App] Load All PageComponentTemplates For Intent",props()),loadAllForIntentFailure=createAction("[IxApi] Load All PageComponentTemplates For Intent Failure",props()),loadAllForIntentSuccess=createAction("[IxApi] Load All PageComponentTemplates For Intent Success",props()),reset=createAction("[App] Reset PageComponentTemplate State"),update=createAction("[App] Update PageComponentTemplate",props()),updateFailure=createAction("[IxApi] Update PageComponentTemplate Failure",props()),updateSuccess=createAction("[IxApi] Update PageComponentTemplate Success",props());var BackendComponentSettingsFacade=(()=>{class BackendComponentSettingsFacade2{constructor(){this.store=inject2(Store),this.storage=inject2(StorageService),this.service=inject2(SettingsService),this.backendComponents$=this.service.tokenChanges$.pipe(switchMap(token=>this.service.getBackendComponents(token,this.storage.get(STORAGE_KEY_COMPANY))))}get apiDisabled(){return this.storage.get(STORAGE_KEY_API_DATA_PROVIDER)!=="platform"||!this.storage.get(STORAGE_KEY_COMPANY)}get ingress(){return this.storage.get(`${STORAGE_KEY_CBC_INGRESS}:${this.pageComponentTemplateId}`)}set ingress(value){this.storage.forever(`${STORAGE_KEY_CBC_INGRESS}:${this.pageComponentTemplateId}`,value)}get backendComponentTemplateId(){return this.storage.get(`${STORAGE_KEY_CBC_PUBLIC_ID}:${this.pageComponentTemplateId}`)}set backendComponentTemplateId(value){this.storage.forever(`${STORAGE_KEY_CBC_PUBLIC_ID}:${this.pageComponentTemplateId}`,value),this.store.dispatch(reset())}get pageComponentTemplateId(){return mapTemplateUrlToPublicId(sessionStorage.getItem("pct-url"))}get ingressUrl(){return this.storage.get(`${STORAGE_KEY_CBC_INGRESS_URL}:${this.pageComponentTemplateId}`)}set ingressUrl(value){this.storage.forever(`${STORAGE_KEY_CBC_INGRESS_URL}:${this.pageComponentTemplateId}`,value)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BackendComponentSettingsFacade2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:BackendComponentSettingsFacade2,factory:BackendComponentSettingsFacade2.\u0275fac,providedIn:"root"})}}return BackendComponentSettingsFacade2})();function BackendComponentSettingsComponent_For_22_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",8),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let component_r1=ctx.$implicit;\u0275\u0275property("value",component_r1.publicId),\u0275\u0275advance(),\u0275\u0275textInterpolate(component_r1.name)}}function BackendComponentSettingsComponent_Conditional_24_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"This field is required"),\u0275\u0275elementEnd())}var BackendComponentSettingsComponent=(()=>{class BackendComponentSettingsComponent2{constructor(){this.cbcForm=new FormGroup({url:new FormControl(""),ingress:new FormControl("none",{nonNullable:!0}),componentId:new FormControl(null)}),this.facade=inject2(BackendComponentSettingsFacade)}ngOnInit(){this.apiDisabled=this.facade.apiDisabled,this.apiDisabled||(this.components$=this.facade.backendComponents$),this.cbcForm.setValue(this._getInitialCbcFormValue())}cancelCbcForm(){this.cbcForm.reset(this._getInitialCbcFormValue())}confirmCbcForm(){this.facade.ingress=this.cbcForm.value.ingress,this.facade.backendComponentTemplateId=this.cbcForm.value.componentId,this.facade.ingressUrl=this.cbcForm.value.url,this.cbcForm.reset(this._getInitialCbcFormValue())}resetCbcFormDisabled(){return isEqual_default(this.cbcForm.value,DEFAULT_CBC_FORM_VALUE)}resetCbcForm(){this.cbcForm.reset(DEFAULT_CBC_FORM_VALUE),this.confirmCbcForm()}_getInitialCbcFormValue(){return{url:this.facade.ingressUrl??DEFAULT_CBC_FORM_VALUE.url,ingress:this.facade.ingress??DEFAULT_CBC_FORM_VALUE.ingress,componentId:this.facade.backendComponentTemplateId??DEFAULT_CBC_FORM_VALUE.componentId}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BackendComponentSettingsComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:BackendComponentSettingsComponent2,selectors:[["ix-backend-component-settings"]],decls:37,vars:10,consts:[["fxLayout","column","autocomplete","off",3,"ngSubmit","formGroup"],["formControlName","ingress","color","primary"],["value","none"],["value","local"],["value","platform",3,"disabled"],["appearance","fill",3,"hidden"],["matInput","","placeholder","Enter the URL for the local Cloud Function Ingress","formControlName","url"],["formControlName","componentId"],[3,"value"],["fxLayout","row",1,"actions"],[1,"submittion",3,"hidden"],["mat-stroked-button","","color","primary","type","button",3,"click"],["mat-flat-button","","color","primary","type","submit",3,"disabled"],["fxFlex","","fxLayoutAlign","end",1,"reset"],["color","warn","mat-button","",3,"click","hidden"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"section")(1,"h2"),\u0275\u0275text(2,"Cloud Function"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"form",0),\u0275\u0275listener("ngSubmit",function(){return ctx.confirmCbcForm()}),\u0275\u0275elementStart(4,"mat-radio-group",1)(5,"mat-radio-button",2),\u0275\u0275text(6,"None"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"mat-radio-button",3),\u0275\u0275text(8,"Local Cloud Function Ingress"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"mat-radio-button",4),\u0275\u0275text(10,"Production Cloud Function"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(11,"mat-form-field",5)(12,"mat-label"),\u0275\u0275text(13,"URL"),\u0275\u0275elementEnd(),\u0275\u0275element(14,"input",6),\u0275\u0275elementStart(15,"mat-hint"),\u0275\u0275text(16,"Link to a local Cloud Function Ingress"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(17,"mat-form-field",5)(18,"mat-label"),\u0275\u0275text(19,"Cloud Function"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(20,"mat-select",7),\u0275\u0275repeaterCreate(21,BackendComponentSettingsComponent_For_22_Template,2,2,"mat-option",8,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275pipe(23,"async"),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(24,BackendComponentSettingsComponent_Conditional_24_Template,2,0,"mat-error"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(25,"div",9)(26,"div",10)(27,"button",11),\u0275\u0275listener("click",function(){return ctx.cancelCbcForm()}),\u0275\u0275elementStart(28,"span"),\u0275\u0275text(29,"Cancel"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(30,"button",12)(31,"span"),\u0275\u0275text(32,"Submit"),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(33,"div",13)(34,"button",14),\u0275\u0275listener("click",function(){return ctx.resetCbcForm()}),\u0275\u0275elementStart(35,"span"),\u0275\u0275text(36,"Reset"),\u0275\u0275elementEnd()()()()()()),rf&2&&(\u0275\u0275advance(3),\u0275\u0275property("formGroup",ctx.cbcForm),\u0275\u0275advance(6),\u0275\u0275property("disabled",ctx.apiDisabled),\u0275\u0275advance(2),\u0275\u0275property("hidden",ctx.cbcForm.value.ingress!=="local"),\u0275\u0275advance(6),\u0275\u0275property("hidden",ctx.cbcForm.value.ingress!=="platform"),\u0275\u0275advance(4),\u0275\u0275repeater(\u0275\u0275pipeBind1(23,8,ctx.components$)),\u0275\u0275advance(3),\u0275\u0275conditional(ctx.cbcForm.controls.componentId.hasError("required")?24:-1),\u0275\u0275advance(2),\u0275\u0275property("hidden",ctx.cbcForm.pristine),\u0275\u0275advance(4),\u0275\u0275property("disabled",ctx.cbcForm.invalid),\u0275\u0275advance(4),\u0275\u0275property("hidden",ctx.resetCbcFormDisabled()))},dependencies:[CommonModule,FlexModule,DefaultLayoutDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatFormFieldModule,MatFormField,MatLabel,MatHint,MatError,MatInputModule,MatInput,MatOptionModule,MatOption,MatRadioModule,MatRadioGroup,MatRadioButton,MatSelectModule,MatSelect,MatButtonModule,MatButton,ReactiveFormsModule,\u0275NgNoValidate,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,AsyncPipe],styles:["section[_ngcontent-%COMP%]{margin-bottom:24px}section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-family:var(--font-family);font-size:18px;font-weight:400;line-height:24px;margin:56px 0 10px}section[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}section[_ngcontent-%COMP%] .mat-mdc-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:16px}section[_ngcontent-%COMP%] .mat-mdc-radio-group[_ngcontent-%COMP%] .mat-mdc-radio-button[_ngcontent-%COMP%] .ix-badge[_ngcontent-%COMP%]{margin-left:8px;background-color:var(--primary);color:var(--primary-color)}section[_ngcontent-%COMP%] .mat-mdc-radio-group[_ngcontent-%COMP%] .mat-mdc-radio-button[_ngcontent-%COMP%] .ix-badge[_ngcontent-%COMP%]:empty{display:none}section[_ngcontent-%COMP%] .mat-mdc-radio-group[_ngcontent-%COMP%] .mat-mdc-radio-button[_ngcontent-%COMP%] .ix-badge.warn[_ngcontent-%COMP%]{background-color:var(--warn);color:#fff}section[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{margin-top:24px}section[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] button[type=submit][_ngcontent-%COMP%]{margin-left:8px}"]})}}return BackendComponentSettingsComponent2})();function getDelay(backoffDelay,maxInterval){return Math.min(backoffDelay,maxInterval)}function exponentialBackoffDelay(iteration,initialInterval){return Math.pow(2,iteration)*initialInterval}function retryBackoff(config2){let{initialInterval,maxRetries=1/0,maxInterval=1/0,shouldRetry=()=>!0,resetOnSuccess=!1,backoffDelay=exponentialBackoffDelay}=typeof config2=="number"?{initialInterval:config2}:config2;return source=>defer(()=>{let index=0;return source.pipe(retryWhen(errors=>errors.pipe(concatMap(error=>{let attempt=index++;return iif(()=>attempt<maxRetries&&shouldRetry(error),timer(getDelay(backoffDelay(attempt,initialInterval),maxInterval)),throwError(error))}))),tap(()=>{resetOnSuccess&&(index=0)}))})}var ensureOne=createAction("[App] Ensure One PageComponentTemplateManifest",props()),ensureMany=createAction("[App] Ensure Many PageComponentTemplateManifests",props()),loadOne=createAction("[App] Load One PageComponentTemplateManifest",props()),loadOneFailure=createAction("[CDN] Load One PageComponentTemplateManifest Failure",props()),loadOneSuccess=createAction("[CDN] Load One PageComponentTemplateManifest Success",props()),loadMany=createAction("[App] Load Many PageComponentTemplateManifests",props()),loadManyFailure=createAction("[CDN] Load Many PageComponentTemplateManifests Failure",props()),loadManySuccess=createAction("[CDN] Load Many PageComponentTemplateManifests Success",props()),reset2=createAction("[App] Reset PageComponentTemplateManifest State");var FEATURE_NAME="pageComponentTemplateManifest";var DEFAULT_EFFECT_CONFIG={dispatch:!0,functional:!1,useEffectsErrorHandler:!0},CREATE_EFFECT_METADATA_KEY="__@ngrx/effects_create__";function createEffect(source,config2={}){let effect3=config2.functional?source:source(),value=__spreadValues(__spreadValues({},DEFAULT_EFFECT_CONFIG),config2);return Object.defineProperty(effect3,CREATE_EFFECT_METADATA_KEY,{value}),effect3}function getCreateEffectMetadata(instance){return Object.getOwnPropertyNames(instance).filter(propertyName=>instance[propertyName]&&instance[propertyName].hasOwnProperty(CREATE_EFFECT_METADATA_KEY)?instance[propertyName][CREATE_EFFECT_METADATA_KEY].hasOwnProperty("dispatch"):!1).map(propertyName=>{let metaData=instance[propertyName][CREATE_EFFECT_METADATA_KEY];return __spreadValues({propertyName},metaData)})}function getSourceMetadata(instance){return getCreateEffectMetadata(instance)}function getSourceForInstance(instance){return Object.getPrototypeOf(instance)}function isClassInstance(obj){return!!obj.constructor&&obj.constructor.name!=="Object"&&obj.constructor.name!=="Function"}function isClass(classOrRecord){return typeof classOrRecord=="function"}function getClasses(classesAndRecords){return classesAndRecords.filter(isClass)}function isToken(tokenOrRecord){return tokenOrRecord instanceof InjectionToken||isClass(tokenOrRecord)}function mergeEffects(sourceInstance,globalErrorHandler,effectsErrorHandler){let source=getSourceForInstance(sourceInstance),sourceName=!!source&&source.constructor.name!=="Object"?source.constructor.name:null,observables$=getSourceMetadata(sourceInstance).map(({propertyName,dispatch,useEffectsErrorHandler})=>{let observable$=typeof sourceInstance[propertyName]=="function"?sourceInstance[propertyName]():sourceInstance[propertyName],effectAction$=useEffectsErrorHandler?effectsErrorHandler(observable$,globalErrorHandler):observable$;return dispatch===!1?effectAction$.pipe(ignoreElements()):effectAction$.pipe(materialize()).pipe(map(notification=>({effect:sourceInstance[propertyName],notification,propertyName,sourceName,sourceInstance})))});return merge(...observables$)}var MAX_NUMBER_OF_RETRY_ATTEMPTS=10;function defaultEffectsErrorHandler(observable$,errorHandler2,retryAttemptLeft=MAX_NUMBER_OF_RETRY_ATTEMPTS){return observable$.pipe(catchError(error=>(errorHandler2&&errorHandler2.handleError(error),retryAttemptLeft<=1?observable$:defaultEffectsErrorHandler(observable$,errorHandler2,retryAttemptLeft-1))))}var Actions=(()=>{class Actions2 extends Observable{constructor(source){super(),source&&(this.source=source)}lift(operator){let observable2=new Actions2;return observable2.source=this,observable2.operator=operator,observable2}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||Actions2)(\u0275\u0275inject(ScannedActionsSubject))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:Actions2,factory:Actions2.\u0275fac,providedIn:"root"})}}return Actions2})();function ofType(...allowedTypes){return filter(action=>allowedTypes.some(typeOrActionCreator=>typeof typeOrActionCreator=="string"?typeOrActionCreator===action.type:typeOrActionCreator.type===action.type))}var _ROOT_EFFECTS_GUARD=new InjectionToken("@ngrx/effects Internal Root Guard"),USER_PROVIDED_EFFECTS=new InjectionToken("@ngrx/effects User Provided Effects"),_ROOT_EFFECTS=new InjectionToken("@ngrx/effects Internal Root Effects"),_ROOT_EFFECTS_INSTANCES=new InjectionToken("@ngrx/effects Internal Root Effects Instances"),_FEATURE_EFFECTS=new InjectionToken("@ngrx/effects Internal Feature Effects"),_FEATURE_EFFECTS_INSTANCE_GROUPS=new InjectionToken("@ngrx/effects Internal Feature Effects Instance Groups"),EFFECTS_ERROR_HANDLER=new InjectionToken("@ngrx/effects Effects Error Handler",{providedIn:"root",factory:()=>defaultEffectsErrorHandler}),ROOT_EFFECTS_INIT="@ngrx/effects/init",rootEffectsInit=createAction(ROOT_EFFECTS_INIT);function reportInvalidActions(output2,reporter){if(output2.notification.kind==="N"){let action=output2.notification.value;!isAction(action)&&reporter.handleError(new Error(`Effect ${getEffectName(output2)} dispatched an invalid action: ${stringify3(action)}`))}}function isAction(action){return typeof action!="function"&&action&&action.type&&typeof action.type=="string"}function getEffectName({propertyName,sourceInstance,sourceName}){let isMethod=typeof sourceInstance[propertyName]=="function";return!!sourceName?`"${sourceName}.${String(propertyName)}${isMethod?"()":""}"`:`"${String(propertyName)}()"`}function stringify3(action){try{return JSON.stringify(action)}catch(e){return action}}var onIdentifyEffectsKey="ngrxOnIdentifyEffects";function isOnIdentifyEffects(instance){return isFunction5(instance,onIdentifyEffectsKey)}var onRunEffectsKey="ngrxOnRunEffects";function isOnRunEffects(instance){return isFunction5(instance,onRunEffectsKey)}var onInitEffects="ngrxOnInitEffects";function isOnInitEffects(instance){return isFunction5(instance,onInitEffects)}function isFunction5(instance,functionName){return instance&&functionName in instance&&typeof instance[functionName]=="function"}var EffectSources=(()=>{class EffectSources2 extends Subject{constructor(errorHandler2,effectsErrorHandler){super(),this.errorHandler=errorHandler2,this.effectsErrorHandler=effectsErrorHandler}addEffects(effectSourceInstance){this.next(effectSourceInstance)}toActions(){return this.pipe(groupBy(effectsInstance2=>isClassInstance(effectsInstance2)?getSourceForInstance(effectsInstance2):effectsInstance2),mergeMap(source$=>source$.pipe(groupBy(effectsInstance))),mergeMap(source$=>{let effect$=source$.pipe(exhaustMap(sourceInstance=>resolveEffectSource(this.errorHandler,this.effectsErrorHandler)(sourceInstance)),map(output2=>(reportInvalidActions(output2,this.errorHandler),output2.notification)),filter(notification=>notification.kind==="N"&&notification.value!=null),dematerialize()),init$=source$.pipe(take(1),filter(isOnInitEffects),map(instance=>instance.ngrxOnInitEffects()));return merge(effect$,init$)}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EffectSources2)(\u0275\u0275inject(ErrorHandler),\u0275\u0275inject(EFFECTS_ERROR_HANDLER))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:EffectSources2,factory:EffectSources2.\u0275fac,providedIn:"root"})}}return EffectSources2})();function effectsInstance(sourceInstance){return isOnIdentifyEffects(sourceInstance)?sourceInstance.ngrxOnIdentifyEffects():""}function resolveEffectSource(errorHandler2,effectsErrorHandler){return sourceInstance=>{let mergedEffects$=mergeEffects(sourceInstance,errorHandler2,effectsErrorHandler);return isOnRunEffects(sourceInstance)?sourceInstance.ngrxOnRunEffects(mergedEffects$):mergedEffects$}}var EffectsRunner=(()=>{class EffectsRunner2{get isStarted(){return!!this.effectsSubscription}constructor(effectSources,store2){this.effectSources=effectSources,this.store=store2,this.effectsSubscription=null}start(){this.effectsSubscription||(this.effectsSubscription=this.effectSources.toActions().subscribe(this.store))}ngOnDestroy(){this.effectsSubscription&&(this.effectsSubscription.unsubscribe(),this.effectsSubscription=null)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EffectsRunner2)(\u0275\u0275inject(EffectSources),\u0275\u0275inject(Store))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:EffectsRunner2,factory:EffectsRunner2.\u0275fac,providedIn:"root"})}}return EffectsRunner2})(),EffectsRootModule=(()=>{class EffectsRootModule2{constructor(sources,runner,store2,rootEffectsInstances,storeRootModule,storeFeatureModule,guard){this.sources=sources,runner.start();for(let effectsInstance2 of rootEffectsInstances)sources.addEffects(effectsInstance2);store2.dispatch({type:ROOT_EFFECTS_INIT})}addEffects(effectsInstance2){this.sources.addEffects(effectsInstance2)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EffectsRootModule2)(\u0275\u0275inject(EffectSources),\u0275\u0275inject(EffectsRunner),\u0275\u0275inject(Store),\u0275\u0275inject(_ROOT_EFFECTS_INSTANCES),\u0275\u0275inject(StoreRootModule,8),\u0275\u0275inject(StoreFeatureModule,8),\u0275\u0275inject(_ROOT_EFFECTS_GUARD,8))}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:EffectsRootModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return EffectsRootModule2})(),EffectsFeatureModule=(()=>{class EffectsFeatureModule2{constructor(effectsRootModule,effectsInstanceGroups,storeRootModule,storeFeatureModule){let effectsInstances=effectsInstanceGroups.flat();for(let effectsInstance2 of effectsInstances)effectsRootModule.addEffects(effectsInstance2)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EffectsFeatureModule2)(\u0275\u0275inject(EffectsRootModule),\u0275\u0275inject(_FEATURE_EFFECTS_INSTANCE_GROUPS),\u0275\u0275inject(StoreRootModule,8),\u0275\u0275inject(StoreFeatureModule,8))}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:EffectsFeatureModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return EffectsFeatureModule2})(),EffectsModule=(()=>{class EffectsModule2{static forFeature(...featureEffects){let effects=featureEffects.flat(),effectsClasses=getClasses(effects);return{ngModule:EffectsFeatureModule,providers:[effectsClasses,{provide:_FEATURE_EFFECTS,multi:!0,useValue:effects},{provide:USER_PROVIDED_EFFECTS,multi:!0,useValue:[]},{provide:_FEATURE_EFFECTS_INSTANCE_GROUPS,multi:!0,useFactory:createEffectsInstances,deps:[_FEATURE_EFFECTS,USER_PROVIDED_EFFECTS]}]}}static forRoot(...rootEffects){let effects=rootEffects.flat(),effectsClasses=getClasses(effects);return{ngModule:EffectsRootModule,providers:[effectsClasses,{provide:_ROOT_EFFECTS,useValue:[effects]},{provide:_ROOT_EFFECTS_GUARD,useFactory:_provideForRootGuard2},{provide:USER_PROVIDED_EFFECTS,multi:!0,useValue:[]},{provide:_ROOT_EFFECTS_INSTANCES,useFactory:createEffectsInstances,deps:[_ROOT_EFFECTS,USER_PROVIDED_EFFECTS]}]}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EffectsModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:EffectsModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return EffectsModule2})();function createEffectsInstances(effectsGroups,userProvidedEffectsGroups){let effects=[];for(let effectsGroup of effectsGroups)effects.push(...effectsGroup);for(let userProvidedEffectsGroup of userProvidedEffectsGroups)effects.push(...userProvidedEffectsGroup);return effects.map(effectsTokenOrRecord=>isToken(effectsTokenOrRecord)?inject2(effectsTokenOrRecord):effectsTokenOrRecord)}function _provideForRootGuard2(){let runner=inject2(EffectsRunner,{optional:!0,skipSelf:!0}),rootEffects=inject2(_ROOT_EFFECTS,{self:!0});if(!(rootEffects.length===1&&rootEffects[0].length===0)&&runner)throw new TypeError("EffectsModule.forRoot() called twice. Feature modules should use EffectsModule.forFeature() instead.");return"guarded"}var TEMPLATE_ID_TEMPLATE="{templateId}",VERSION_NR_TEMPLATE="{versionNr}",MAIN_PATH_TEMPLATE="{mainPath}";function mapPageComponentTemplateManifestToDefaultInputs(template){if(template?.inputs){let builder=_defaultPageComponentInputsFactory(template.inputs);return JSON.stringify(builder({}))}return"{}"}function mapPageComponentTemplateToCustomElementName(template){if(template?.configuredVersion)return template?.url?.includes(VERSION_NR_TEMPLATE)?`pct-${template.publicId}`:template.configuredVersion.mainPath?.split("/").pop()?.split(".").shift();if(template?.url&&/\/.*\./.test(template.url))return template.url.split("/").pop()?.split(".").shift()}function mapPageComponentTemplateToTemplateUrl(template){return template?.configuredVersion?_buildUrl(template):template.url}function mapPageComponentTemplateToTemplateBaseUrl(template){let url;return template.configuredVersion?url=_buildUrl(template)?.replace(new RegExp(template.configuredVersion.mainPath+"$"),""):url=template.url?.replace(/\/[^/]+$/,"/"),url?.startsWith("/")&&(url=new URL(url,document.location.origin).toString()),url}function _buildUrl(template,mainPath){if(template.configuredVersion&&template.url)return template.url.replace(TEMPLATE_ID_TEMPLATE,template.publicId).replace(VERSION_NR_TEMPLATE,template.configuredVersion.number||"-").replace(MAIN_PATH_TEMPLATE,mainPath||template.configuredVersion.mainPath||"-")}function _defaultPageComponentInputsFactory(schema,namespace=""){return function(inputs2){for(let item of schema)if(isObject_default(item)){let itemKeys=Object.keys(item);if(itemKeys.includes("type")&&itemKeys.includes("key")){let type2=item.type,key=`${namespace}${item.key}`;if(type2==="Group"&&itemKeys.includes("children")){set_default(inputs2,key,{}),_defaultPageComponentInputsFactory(item.children,`${key}.`)(inputs2);continue}if(type2==="List"){set_default(inputs2,key,[]);continue}itemKeys.includes("defaultValue")&&set_default(inputs2,key,item.defaultValue)}}return inputs2}}function mapTemplateUrlToManifestUrl(templateUrl){return templateUrl.slice(0,templateUrl.lastIndexOf("/"))+"/manifest.json"}var PageComponentTemplateManifestService=(()=>{class PageComponentTemplateManifestService2{constructor(){this.http=inject2(HttpClient)}getByTemplate(template){let templateUrl=mapPageComponentTemplateToTemplateUrl(template);if(!templateUrl)return throwError(()=>new Error(`Invalid template URL "${templateUrl}"`));let manifestUrl=mapTemplateUrlToManifestUrl(templateUrl);return this.http.get(manifestUrl).pipe(map(data=>({data:__spreadProps(__spreadValues({},data),{template:{publicId:template.publicId,reference:{name:"PageComponentTemplate"}}}),type:"PageComponentTemplateManifest"})))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateManifestService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentTemplateManifestService2,factory:PageComponentTemplateManifestService2.\u0275fac,providedIn:"root"})}}return PageComponentTemplateManifestService2})();function getInitialEntityState(){return{ids:[],entities:{}}}function createInitialStateFactory(){function getInitialState2(additionalState={}){return Object.assign(getInitialEntityState(),additionalState)}return{getInitialState:getInitialState2}}function createSelectorsFactory(){function getSelectors(selectState){let selectIds=state2=>state2.ids,selectEntities3=state2=>state2.entities,selectAll2=createSelector(selectIds,selectEntities3,(ids,entities)=>ids.map(id=>entities[id])),selectTotal=createSelector(selectIds,ids=>ids.length);return selectState?{selectIds:createSelector(selectState,selectIds),selectEntities:createSelector(selectState,selectEntities3),selectAll:createSelector(selectState,selectAll2),selectTotal:createSelector(selectState,selectTotal)}:{selectIds,selectEntities:selectEntities3,selectAll:selectAll2,selectTotal}}return{getSelectors}}var DidMutate=(function(DidMutate2){return DidMutate2[DidMutate2.EntitiesOnly=0]="EntitiesOnly",DidMutate2[DidMutate2.Both=1]="Both",DidMutate2[DidMutate2.None=2]="None",DidMutate2})(DidMutate||{});function createStateOperator(mutator){return function(arg,state2){let clonedEntityState={ids:[...state2.ids],entities:__spreadValues({},state2.entities)},didMutate=mutator(arg,clonedEntityState);return didMutate===DidMutate.Both?Object.assign({},state2,clonedEntityState):didMutate===DidMutate.EntitiesOnly?__spreadProps(__spreadValues({},state2),{entities:clonedEntityState.entities}):state2}}function selectIdValue(entity,selectId){let key=selectId(entity);return isDevMode()&&key===void 0&&console.warn("@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.","You should probably provide your own `selectId` implementation.","The entity that was passed:",entity,"The `selectId` implementation:",selectId.toString()),key}function createUnsortedStateAdapter(selectId){function addOneMutably(entity,state2){let key=selectIdValue(entity,selectId);return key in state2.entities?DidMutate.None:(state2.ids.push(key),state2.entities[key]=entity,DidMutate.Both)}function addManyMutably(entities,state2){let didMutate=!1;for(let entity of entities)didMutate=addOneMutably(entity,state2)!==DidMutate.None||didMutate;return didMutate?DidMutate.Both:DidMutate.None}function setAllMutably(entities,state2){return state2.ids=[],state2.entities={},addManyMutably(entities,state2),DidMutate.Both}function setOneMutably(entity,state2){let key=selectIdValue(entity,selectId);return key in state2.entities?(state2.entities[key]=entity,DidMutate.EntitiesOnly):(state2.ids.push(key),state2.entities[key]=entity,DidMutate.Both)}function setManyMutably(entities,state2){let didMutateSetOne=entities.map(entity=>setOneMutably(entity,state2));switch(!0){case didMutateSetOne.some(didMutate=>didMutate===DidMutate.Both):return DidMutate.Both;case didMutateSetOne.some(didMutate=>didMutate===DidMutate.EntitiesOnly):return DidMutate.EntitiesOnly;default:return DidMutate.None}}function removeOneMutably(key,state2){return removeManyMutably([key],state2)}function removeManyMutably(keysOrPredicate,state2){let didMutate=(keysOrPredicate instanceof Array?keysOrPredicate:state2.ids.filter(key=>keysOrPredicate(state2.entities[key]))).filter(key=>key in state2.entities).map(key=>delete state2.entities[key]).length>0;return didMutate&&(state2.ids=state2.ids.filter(id=>id in state2.entities)),didMutate?DidMutate.Both:DidMutate.None}function removeAll(state2){return Object.assign({},state2,{ids:[],entities:{}})}function takeNewKey(keys,update3,state2){let original=state2.entities[update3.id],updated=Object.assign({},original,update3.changes),newKey=selectIdValue(updated,selectId),hasNewKey=newKey!==update3.id;return hasNewKey&&(keys[update3.id]=newKey,delete state2.entities[update3.id]),state2.entities[newKey]=updated,hasNewKey}function updateOneMutably(update3,state2){return updateManyMutably([update3],state2)}function updateManyMutably(updates,state2){let newKeys={};return updates=updates.filter(update3=>update3.id in state2.entities),updates.length>0?updates.filter(update3=>takeNewKey(newKeys,update3,state2)).length>0?(state2.ids=state2.ids.map(id=>newKeys[id]||id),DidMutate.Both):DidMutate.EntitiesOnly:DidMutate.None}function mapMutably(map2,state2){let updates=state2.ids.reduce((changes2,id)=>{let change=map2(state2.entities[id]);return change!==state2.entities[id]&&changes2.push({id,changes:change}),changes2},[]).filter(({id})=>id in state2.entities);return updateManyMutably(updates,state2)}function mapOneMutably({map:map2,id},state2){let entity=state2.entities[id];if(!entity)return DidMutate.None;let updatedEntity=map2(entity);return updateOneMutably({id,changes:updatedEntity},state2)}function upsertOneMutably(entity,state2){return upsertManyMutably([entity],state2)}function upsertManyMutably(entities,state2){let added=[],updated=[];for(let entity of entities){let id=selectIdValue(entity,selectId);id in state2.entities?updated.push({id,changes:entity}):added.push(entity)}let didMutateByUpdated=updateManyMutably(updated,state2),didMutateByAdded=addManyMutably(added,state2);switch(!0){case(didMutateByAdded===DidMutate.None&&didMutateByUpdated===DidMutate.None):return DidMutate.None;case(didMutateByAdded===DidMutate.Both||didMutateByUpdated===DidMutate.Both):return DidMutate.Both;default:return DidMutate.EntitiesOnly}}return{removeAll,addOne:createStateOperator(addOneMutably),addMany:createStateOperator(addManyMutably),setAll:createStateOperator(setAllMutably),setOne:createStateOperator(setOneMutably),setMany:createStateOperator(setManyMutably),updateOne:createStateOperator(updateOneMutably),updateMany:createStateOperator(updateManyMutably),upsertOne:createStateOperator(upsertOneMutably),upsertMany:createStateOperator(upsertManyMutably),removeOne:createStateOperator(removeOneMutably),removeMany:createStateOperator(removeManyMutably),map:createStateOperator(mapMutably),mapOne:createStateOperator(mapOneMutably)}}function createSortedStateAdapter(selectId,sort){let{removeOne,removeMany,removeAll}=createUnsortedStateAdapter(selectId);function addOneMutably(entity,state2){return addManyMutably([entity],state2)}function addManyMutably(newModels,state2){let models=newModels.filter(model=>!(selectIdValue(model,selectId)in state2.entities));return models.length===0?DidMutate.None:(merge4(models,state2),DidMutate.Both)}function setAllMutably(models,state2){return state2.entities={},state2.ids=[],addManyMutably(models,state2),DidMutate.Both}function setOneMutably(entity,state2){let id=selectIdValue(entity,selectId);return id in state2.entities?(state2.ids=state2.ids.filter(val=>val!==id),merge4([entity],state2),DidMutate.Both):addOneMutably(entity,state2)}function setManyMutably(entities,state2){let didMutateSetOne=entities.map(entity=>setOneMutably(entity,state2));switch(!0){case didMutateSetOne.some(didMutate=>didMutate===DidMutate.Both):return DidMutate.Both;case didMutateSetOne.some(didMutate=>didMutate===DidMutate.EntitiesOnly):return DidMutate.EntitiesOnly;default:return DidMutate.None}}function updateOneMutably(update3,state2){return updateManyMutably([update3],state2)}function takeUpdatedModel(models,update3,state2){if(!(update3.id in state2.entities))return!1;let original=state2.entities[update3.id],updated=Object.assign({},original,update3.changes),newKey=selectIdValue(updated,selectId);return delete state2.entities[update3.id],models.push(updated),newKey!==update3.id}function updateManyMutably(updates,state2){let models=[],didMutateIds=updates.filter(update3=>takeUpdatedModel(models,update3,state2)).length>0;if(models.length===0)return DidMutate.None;{let originalIds=state2.ids,updatedIndexes=[];return state2.ids=state2.ids.filter((id,index)=>id in state2.entities?!0:(updatedIndexes.push(index),!1)),merge4(models,state2),!didMutateIds&&updatedIndexes.every(i=>state2.ids[i]===originalIds[i])?DidMutate.EntitiesOnly:DidMutate.Both}}function mapMutably(updatesOrMap,state2){let updates=state2.ids.reduce((changes,id)=>{let change=updatesOrMap(state2.entities[id]);return change!==state2.entities[id]&&changes.push({id,changes:change}),changes},[]);return updateManyMutably(updates,state2)}function mapOneMutably({map:map2,id},state2){let entity=state2.entities[id];if(!entity)return DidMutate.None;let updatedEntity=map2(entity);return updateOneMutably({id,changes:updatedEntity},state2)}function upsertOneMutably(entity,state2){return upsertManyMutably([entity],state2)}function upsertManyMutably(entities,state2){let added=[],updated=[];for(let entity of entities){let id=selectIdValue(entity,selectId);id in state2.entities?updated.push({id,changes:entity}):added.push(entity)}let didMutateByUpdated=updateManyMutably(updated,state2),didMutateByAdded=addManyMutably(added,state2);switch(!0){case(didMutateByAdded===DidMutate.None&&didMutateByUpdated===DidMutate.None):return DidMutate.None;case(didMutateByAdded===DidMutate.Both||didMutateByUpdated===DidMutate.Both):return DidMutate.Both;default:return DidMutate.EntitiesOnly}}function merge4(models,state2){models.sort(sort);let ids=[],i=0,j=0;for(;i<models.length&&j<state2.ids.length;){let model=models[i],modelId=selectIdValue(model,selectId),entityId=state2.ids[j],entity=state2.entities[entityId];sort(model,entity)<=0?(ids.push(modelId),i++):(ids.push(entityId),j++)}i<models.length?state2.ids=ids.concat(models.slice(i).map(selectId)):state2.ids=ids.concat(state2.ids.slice(j)),models.forEach((model,i2)=>{state2.entities[selectId(model)]=model})}return{removeOne,removeMany,removeAll,addOne:createStateOperator(addOneMutably),updateOne:createStateOperator(updateOneMutably),upsertOne:createStateOperator(upsertOneMutably),setAll:createStateOperator(setAllMutably),setOne:createStateOperator(setOneMutably),setMany:createStateOperator(setManyMutably),addMany:createStateOperator(addManyMutably),updateMany:createStateOperator(updateManyMutably),upsertMany:createStateOperator(upsertManyMutably),map:createStateOperator(mapMutably),mapOne:createStateOperator(mapOneMutably)}}function createEntityAdapter(options={}){let{selectId,sortComparer}={selectId:options.selectId??(entity=>entity.id),sortComparer:options.sortComparer??!1},stateFactory=createInitialStateFactory(),selectorsFactory=createSelectorsFactory(),stateAdapter=sortComparer?createSortedStateAdapter(selectId,sortComparer):createUnsortedStateAdapter(selectId);return __spreadValues(__spreadValues(__spreadValues({selectId,sortComparer},stateFactory),selectorsFactory),stateAdapter)}var adapter=createEntityAdapter({selectId:entity=>entity.template.publicId}),initialState=adapter.getInitialState({loaded:[],loading:[]}),reducer=createReducer(initialState,on(reset2,()=>__spreadValues({},initialState)),on(loadOne,(state2,{template})=>__spreadProps(__spreadValues({},state2),{loading:[...state2.loading,template.publicId]})),on(loadOneFailure,(state2,{template})=>__spreadProps(__spreadValues({},state2),{loading:state2.loading.filter(id=>id!==template.publicId)})),on(loadOneSuccess,(state2,{data})=>__spreadValues({},adapter.upsertOne(data,__spreadProps(__spreadValues({},state2),{loading:state2.loading.filter(id=>id!==data.template.publicId),loaded:[...state2.loaded,data.template.publicId]})))),on(loadMany,(state2,{templates})=>__spreadProps(__spreadValues({},state2),{loading:[...state2.loading,...templates.map(t=>t.publicId)]})),on(loadManyFailure,(state2,{templates})=>__spreadProps(__spreadValues({},state2),{loading:state2.loading.filter(id=>!templates.some(t=>t.publicId===id))})),on(loadManySuccess,(state2,{data})=>__spreadValues({},adapter.upsertMany(data,__spreadProps(__spreadValues({},state2),{loading:state2.loading.filter(id=>!data.some(manifest=>manifest.template.publicId===id)),loaded:[...state2.loaded,...data.map(manifest=>manifest.template.publicId)]}))))),feature=createFeature({name:FEATURE_NAME,reducer});var selectEntity=publicId=>createSelector(feature.selectEntities,entities=>entities[publicId]),{selectEntities,selectLoaded,selectLoading}=feature;var PageComponentTemplateManifestEffects=(()=>{class PageComponentTemplateManifestEffects2{constructor(){this.actions$=inject2(Actions),this.store=inject2(Store),this.service=inject2(PageComponentTemplateManifestService),this.ensureOne$=createEffect(()=>this.actions$.pipe(ofType(ensureOne),mergeMap(({template})=>combineLatest([this.store.select(selectLoading),this.store.select(selectLoaded)]).pipe(take(1),mergeMap(([loading,loaded])=>!loading.includes(template.publicId)&&!loaded.includes(template.publicId)?of(loadOne({template})):EMPTY))))),this.ensureMany$=createEffect(()=>this.actions$.pipe(ofType(ensureMany),mergeMap(({templates})=>combineLatest([this.store.select(selectLoading),this.store.select(selectLoaded)]).pipe(take(1),mergeMap(([loading,loaded])=>{let unloadedTemplates=templates.filter(t=>!loading.includes(t.publicId)&&!loaded.includes(t.publicId));return unloadedTemplates.length?of(loadMany({templates:unloadedTemplates})):EMPTY}))))),this.loadOne$=createEffect(()=>this.actions$.pipe(ofType(loadOne),mergeMap(({template})=>this.service.getByTemplate(template).pipe(map(({data})=>loadOneSuccess({template,data})),catchError(error=>of(loadOneFailure({template,error}))))))),this.loadMany$=createEffect(()=>this.actions$.pipe(ofType(loadMany),mergeMap(({templates})=>forkJoin(templates.map(template=>this.service.getByTemplate(template))).pipe(map(responses=>responses.map(res=>res.data)),map(data=>loadManySuccess({templates,data})),catchError(error=>of(loadManyFailure({templates,error})))))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateManifestEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentTemplateManifestEffects2,factory:PageComponentTemplateManifestEffects2.\u0275fac,providedIn:"root"})}}return PageComponentTemplateManifestEffects2})();var PageComponentTemplateManifestModule=(()=>{class PageComponentTemplateManifestModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateManifestModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:PageComponentTemplateManifestModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[IxApiModule,StoreModule.forFeature(feature),EffectsModule.forFeature([PageComponentTemplateManifestEffects])]})}}return PageComponentTemplateManifestModule2})();var import__=__toESM(require__());var component_manifest_exports={};__export(component_manifest_exports,{$id:()=>$id,$schema:()=>$schema,additionalProperties:()=>additionalProperties,default:()=>component_manifest_default,definitions:()=>definitions,properties:()=>properties,required:()=>required,type:()=>type});var $schema="https://json-schema.org/draft/2019-09/schema",type="object",properties={id:{type:"string"},description:{type:"string"},name:{type:"string"},version:{type:"string"},main:{type:"string"},inputs:{type:"array",items:{$ref:"#/definitions/input"}},sheetSettings:{type:"object",properties:{defaultCols:{type:"number"},defaultRows:{type:"number"},maxCols:{type:"number"},maxRows:{type:"number"},minCols:{type:"number"},minRows:{type:"number"}},required:["minCols","minRows"],additionalProperties:!1},cardSettings:{type:"object",properties:{defaultHeight:{type:"number"},maxHeight:{type:"number"},minHeight:{type:"number"}},required:["minHeight"],additionalProperties:!1},reportSettings:{type:"object",properties:{defaultCols:{type:"number"},defaultRows:{type:"number"},maxCols:{type:"number"},maxRows:{type:"number"},minCols:{type:"number"},minRows:{type:"number"}},required:["minCols","minRows"],additionalProperties:!1}},required=["version","main","inputs"],additionalProperties=!1,$id="http://ayayot.com/schemas/component-manifest.json",definitions={input:{anyOf:[{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleBooleanTypes"},defaultValue:{type:"boolean"},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleFileTypes"},multiple:{type:"boolean",default:!1},defaultValue:{type:"string"},size:{type:"object",properties:{max:{type:"number"}},required:["max"],additionalProperties:!1},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleNumberTypes"},defaultValue:{type:"number"},min:{type:"number"},max:{type:"number"},step:{type:"number"},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleSelectionTypes"},defaultValue:{type:["string","number"]},options:{type:"array",items:{type:"object",properties:{label:{type:"string",description:"A label describing the value"},shortLabel:{type:"string",description:"A label that is used if there is too little space for the full label"},value:{type:["string","number"]}},required:["label","value"],additionalProperties:!1}},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleResourceSelectionTypes"},resource:{type:"object",properties:{type:{type:"string",enum:["AgentDataVariable","AgentDataTag","AssetAppConfigResource"]},allowedTypes:{type:"array",items:{type:"string",enum:["bool","int","float","str"]}}},required:["type"],additionalProperties:!1},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","resource","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleTranslatableTypes"},defaultValue:{type:"string"},translate:{type:"boolean",default:!0},pattern:{type:"string",description:"Validation pattern, expressed as a JavaScript regular expression"},patternHint:{type:"string",description:"Hint to be displayed with the input when the pattern does not match"},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleStringTypes"},defaultValue:{type:"string"},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{type:{$ref:"#/definitions/ListTypes"},itemType:{$ref:"#/definitions/input"},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{type:{$ref:"#/definitions/groupTypes"},summary:{type:"object",properties:{label:{type:"string"},colorField:{type:"string"}},required:["label"],additionalProperties:!1},children:{type:"array",items:{$ref:"#/definitions/input"}},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["children","key","label","type"]},{type:"object",additionalProperties:!1,properties:{type:{$ref:"#/definitions/metricTypes"},allowedTypes:{type:"array",items:{type:"string",enum:["bool","int","float","str"]},description:"The types of tags or variables that are allowed for this metric. All types are allowed if empty ([]), null or not specified."},metric:{type:"object",properties:{source:{type:"string",enum:["auto","app"]}},required:["source"],additionalProperties:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]}]},simpleBooleanTypes:{type:"string",const:"Checkbox"},simpleFileTypes:{type:"string",const:"File"},simpleNumberTypes:{type:"string",const:"Number"},simpleSelectionTypes:{type:"string",const:"Selection"},simpleResourceSelectionTypes:{type:"string",const:"ResourceSelection"},simpleTranslatableTypes:{type:"string",enum:["RichText","String","Text"]},simpleStringTypes:{type:"string",enum:["Color","Date","DateTime","Icon","Image","MaterialIcon"]},ListTypes:{type:"string",const:"List"},groupTypes:{type:"string",const:"Group"},metricTypes:{type:"string",enum:["LiveMetric","RawMetric","AggregatedMetric"]}},component_manifest_default={$schema,type,properties,required,additionalProperties,$id,definitions};function parseBody(body){let pattern=/customElements\s*\.\s*define\s*\(\s*('\S+'|"\S+")\s*,/,matches=body.match(pattern);return matches?.length&&matches[1]?{selector:matches[1].slice(1,matches[1].length-1)}:null}var validateManifest=new import__.default({strict:!1}).compile(component_manifest_exports);function validateUrl(string){let url;try{url=new URL(string)}catch(e){return!1}return url.protocol==="http:"||url.protocol==="https:"}var ComponentTemplateValidatorService=(()=>{class ComponentTemplateValidatorService2{constructor(){this.http=inject2(HttpClient)}validateByUrl(url,shouldRetry){return validateUrl(url)?this.http.get(url,{responseType:"text"}).pipe(debounceTime(200),retryBackoff({initialInterval:1e3,maxRetries:6,resetOnSuccess:!0,shouldRetry}),mergeMap(body=>parseBody(body)?this.http.get(mapTemplateUrlToManifestUrl(url)).pipe(map(manifest=>validateManifest(manifest)?{}:{manifestInvalid:!0}),catchError(()=>of({manifestMissing:!0}))):of({customElementDefMissing:!0})),catchError(()=>of({reqFailed:!0}))):of({urlInvalid:!0})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentTemplateValidatorService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ComponentTemplateValidatorService2,factory:ComponentTemplateValidatorService2.\u0275fac,providedIn:"root"})}}return ComponentTemplateValidatorService2})();function UrlValidator(templateValidator){return function(control){return templateValidator.validateByUrl(control.value,error=>error.status!==404)}}var DEFAULT_CARD_DIMENSIONS={type:"card",height:160,order:0},DEFAULT_SHEET_DIMENSIONS={type:"sheet",left:3,top:2,cols:6,rows:6,mobileHeight:null,mobileOrder:null},DEFAULT_REPORT_DIMENSIONS={type:"report",left:0,top:3,cols:6,rows:6},PAGE_COMPONENT={pageVersion:{publicId:"version",reference:{name:"PageVersion"}},dimensions:DEFAULT_SHEET_DIMENSIONS,inputs:"{}",publicId:"component",pagePage:{publicId:"pagepage"},template:{publicId:mapTemplateUrlToPublicId(sessionStorage.getItem("pct-url")),reference:{name:"PageComponentTemplate"}}},ONE_WEEK=Math.floor(Date.now()/1e3)+1440*60*7;var add2=createAction("[App] Add PageComponent",props()),addFailure2=createAction("[IxApi] Add PageComponent Failure",props()),addSuccess2=createAction("[IxApi] Add PageComponent Success",props()),didAdd2=createAction("[ChangeNotification] PageComponent Was Added",props()),didAddList=createAction("[ChangeNotification] PageComponent List Was Added",props()),didRemove2=createAction("[ChangeNotification] PageComponent Was Removed",props()),didRemoveList=createAction("[ChangeNotification] PageComponent List Was Removed",props()),didUpdate2=createAction("[ChangeNotification] PageComponent Was Updated",props()),didUpdateList=createAction("[ChangeNotification] PageComponent List Was Updated",props()),remove2=createAction("[App] Remove PageComponent",props()),removeFailure=createAction("[IxApi] Remove PageComponent Failure",props()),removeSuccess=createAction("[IxApi] Remove PageComponent Success",props()),update2=createAction("[App] Update PageComponent",props()),updateFailure2=createAction("[IxApi] Update PageComponent Failure",props()),updateSuccess2=createAction("[IxApi] Update PageComponent Success",props()),updateMany=createAction("[App] Update Many PageComponents",props()),updateManyFailure=createAction("[IxApi] Update Many PageComponents Failure",props()),updateManySuccess=createAction("[IxApi] Update Many PageComponents Success",props()),reset3=createAction("[App] Reset PageComponent State"),resetPendingUpdates=createAction("[App] Reset PageComponent Pending Updates State");var RESOURCE_LIST_FIELD_MATCHER=/agents\.|connectedUsers\.|dataConditions\.|dataSources\.|dataTags\.|dataVariables\.|devices\.|groups\.|invites\.|memberships\.|pageLinks\.|pagePages\.|resources\.|^scheduledAccessRequests\.|^servers.|users\./g;function buildFields(query2){let fields=[],namespaces=[],tokens=query2.match(/[a-zA-Z0-9*.]+|[{}()]/g)??[];for(let i=0;i<tokens.length;i++){let part=tokens[i],nextPart=tokens[i+1];if(!(nextPart==="{"||nextPart==="("))if(part==="{"||part==="("){let prevPart=tokens[i-1];prevPart&&namespaces.push(prevPart)}else if(part==="}"||part===")")namespaces.pop();else{let ns=namespaces.join(".");fields.push(ns?`${ns}.${part}`:part)}}return fields}function compactFields(fields){let objectToNestedString=obj=>{let keys=Object.keys(obj);return keys.length===0?"":keys.map(key=>{let nestedValue=objectToNestedString(obj[key]);return nestedValue?`${key}(${nestedValue})`:key}).join(",")},fieldsObj=fields.reduce((obj,field)=>set_default(obj,field,{}),{}),output2=objectToNestedString(fieldsObj);return output2=output2.replace(/\(publicId,reference\(name\)\)/g,""),output2}function getMissingFields(resource2,fields,requireResourceIds=!1){return fields.reduce((missingFields,field,index,all)=>{if(requireResourceIds&&field.endsWith("publicId"))if(field.includes(".")){let prefix=field.slice(0,field.lastIndexOf(".")+1);if(all.filter((_,i)=>i!==index).some(f=>f.startsWith(prefix)))return[...missingFields,field]}else return[...missingFields,field];return(Array.isArray(resource2)?resource2.every(r=>hasField(r,field)):hasField(resource2,field))?missingFields:[...missingFields,field]},[])}function haveFields(resoures,fields){return!resoures||!fields?!1:resoures.every(resource2=>fields.every(field=>hasField(resource2,field)))}function hasFields(resource2,fields){return!resource2||!fields?!1:fields.every(field=>hasField(resource2,field))}function hasField(resource2,field){if(!resource2||!field)return!1;if(RESOURCE_LIST_FIELD_MATCHER.test(field)){let matches=field.match(RESOURCE_LIST_FIELD_MATCHER);if(matches.length){let match2=matches[0],subResourcePath=field.slice(0,field.indexOf(match2)+match2.length-1),subResourceList=get_default(resource2,subResourcePath);if(!subResourceList)return!1;if(subResourceList.length===0)return!0;let path=field.slice(field.indexOf(match2)+match2.length),someUndefined=subResourceList.some(res=>hasUndefinedInPath(res,path,!0)),everyUndefined=subResourceList.every(res=>hasUndefinedInPath(res,path,!1)),someHasField=subResourceList.some(res=>hasField(res,path));return someUndefined&&someHasField?path.split(".").length===1:!!(!someUndefined&&someHasField)}}let firstSegmentEnd=field.indexOf(".");if(firstSegmentEnd>0){let firstSegment=field.slice(0,firstSegmentEnd),subResource=get_default(resource2,firstSegment);if(typeof subResource>"u")return!1;if(!subResource)return!0;let field1=field.slice(firstSegmentEnd+1);return hasField(subResource,field1)}return has_default(resource2,field)}function hasNonPublicIdFields(resources,path){let has,index=0;if(resources)for(;has===void 0;){let resource2=resources[index];if(!resource2)break;let items=get_default(resource2,path,[]);if(items?.length){let fields=Object.keys(items[0]);has=fields.length>1||fields.length===0&&fields[0]!==void 0&&fields[0]!=="publicId"}else index++}return!!has}function hasUndefinedInPath(resource2,field,some){let firstSegmentEnd=field.indexOf(".");if(firstSegmentEnd>0){let firstSegment=field.slice(0,firstSegmentEnd),subResource=get_default(resource2,firstSegment);if(typeof subResource>"u")return!0;if(subResource){if(isArray_default(subResource))return some?subResource.some(res=>hasUndefinedInPath(res,field.slice(firstSegmentEnd+1),some)):subResource.every(res=>hasUndefinedInPath(res,field.slice(firstSegmentEnd+1),some))}else return!1;return hasUndefinedInPath(subResource,field.slice(firstSegmentEnd+1),some)}return typeof get_default(resource2,field)>"u"}function _setField(target,source,field,listPathMatcher){if(field){if(listPathMatcher?.test(field)){let matches=field.match(listPathMatcher);if(matches.length){if(matches.length===1){let match2=matches[0],path=match2.slice(0,-1);if(has_default(source,path)){let items=get_default(source,path,[]);items.length?items.forEach((item,i)=>{let itemField=field.slice(match2.length);if(has_default(item,itemField))set_default(target,`${path}[${i}].${itemField}`,get_default(item,itemField));else{let closestItemField=_findClosestField(item,itemField);if(closestItemField){let closest=get_default(item,closestItemField);if(isArray_default(closest)&&closest.length){let closestItemSubfield=itemField.slice(closestItemField.length+1);closest.forEach((item2,j)=>{set_default(target,`${path}[${i}]${closestItemField}[${j}]${closestItemSubfield}`,get_default(item2,closestItemSubfield))})}else set_default(target,`${path}[${i}]${closestItemField}`,closest)}}}):set_default(target,path,[])}}return target}}if(has_default(source,field))return set_default(target,field,get_default(source,field));let closestField=_findClosestField(source,field);if(closestField)return set_default(target,closestField,get_default(source,closestField))}return target}function _findClosestField(source,searchField){let parts=searchField.split("."),closestField,matched=!1;for(;!matched;){parts.pop();let parentField=parts.join(".");if(!parts.length)matched=!0;else{let parentValue=get_default(source,parentField);(parentValue===null||isArray_default(parentValue))&&(closestField=parentField,matched=!0)}}return closestField}function setFields(target,source,fields,listPathMatcher=RESOURCE_LIST_FIELD_MATCHER){return fields&&fields.forEach(field=>_setField(target,source,field,listPathMatcher)),target}var omitLoadedFields=options=>source=>new Observable(observer=>source.pipe(withLatestFrom(...Object.values(options))).subscribe({next([action,...loaded]){let nextFields=action.fields,originalFields=action.fields;Object.keys(options).forEach((ns,i)=>{loaded[i]&&action.fields.some(f=>f.startsWith(`${ns}.`)&&f!==`${ns}.publicId`)&&(nextFields=nextFields.filter(f=>f===`${ns}.publicId`||!f.startsWith(`${ns}.`)))}),observer.next(__spreadProps(__spreadValues({},action),{fields:nextFields,originalFields}))},error(err){observer.error(err)},complete(){observer.complete()}}));var FEATURE_NAME2="pageComponentTemplate",FIELDS=buildFields(`
50
+ before dispatching the action. For example, someAction should be someAction().`);if(typeof action>"u")throw new TypeError("Actions must be objects");if(typeof action.type>"u")throw new TypeError("Actions must have a type property");super.next(action)}complete(){}ngOnDestroy(){super.complete()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ActionsSubject2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ActionsSubject2,factory:ActionsSubject2.\u0275fac})}}return ActionsSubject2})(),ACTIONS_SUBJECT_PROVIDERS=[ActionsSubject],_ROOT_STORE_GUARD=new InjectionToken("@ngrx/store Internal Root Guard"),_INITIAL_STATE=new InjectionToken("@ngrx/store Internal Initial State"),INITIAL_STATE=new InjectionToken("@ngrx/store Initial State"),REDUCER_FACTORY=new InjectionToken("@ngrx/store Reducer Factory"),_REDUCER_FACTORY=new InjectionToken("@ngrx/store Internal Reducer Factory Provider"),INITIAL_REDUCERS=new InjectionToken("@ngrx/store Initial Reducers"),_INITIAL_REDUCERS=new InjectionToken("@ngrx/store Internal Initial Reducers"),STORE_FEATURES=new InjectionToken("@ngrx/store Store Features"),_STORE_REDUCERS=new InjectionToken("@ngrx/store Internal Store Reducers"),_FEATURE_REDUCERS=new InjectionToken("@ngrx/store Internal Feature Reducers"),_FEATURE_CONFIGS=new InjectionToken("@ngrx/store Internal Feature Configs"),_STORE_FEATURES=new InjectionToken("@ngrx/store Internal Store Features"),_FEATURE_REDUCERS_TOKEN=new InjectionToken("@ngrx/store Internal Feature Reducers Token"),FEATURE_REDUCERS=new InjectionToken("@ngrx/store Feature Reducers"),USER_PROVIDED_META_REDUCERS=new InjectionToken("@ngrx/store User Provided Meta Reducers"),META_REDUCERS=new InjectionToken("@ngrx/store Meta Reducers"),_RESOLVED_META_REDUCERS=new InjectionToken("@ngrx/store Internal Resolved Meta Reducers"),USER_RUNTIME_CHECKS=new InjectionToken("@ngrx/store User Runtime Checks Config"),_USER_RUNTIME_CHECKS=new InjectionToken("@ngrx/store Internal User Runtime Checks Config"),ACTIVE_RUNTIME_CHECKS=new InjectionToken("@ngrx/store Internal Runtime Checks"),_ACTION_TYPE_UNIQUENESS_CHECK=new InjectionToken("@ngrx/store Check if Action types are unique"),ROOT_STORE_PROVIDER=new InjectionToken("@ngrx/store Root Store Provider"),FEATURE_STATE_PROVIDER=new InjectionToken("@ngrx/store Feature State Provider");function combineReducers(reducers,initialState3={}){let reducerKeys=Object.keys(reducers),finalReducers={};for(let i=0;i<reducerKeys.length;i++){let key=reducerKeys[i];typeof reducers[key]=="function"&&(finalReducers[key]=reducers[key])}let finalReducerKeys=Object.keys(finalReducers);return function(state2,action){state2=state2===void 0?initialState3:state2;let hasChanged=!1,nextState={};for(let i=0;i<finalReducerKeys.length;i++){let key=finalReducerKeys[i],reducer3=finalReducers[key],previousStateForKey=state2[key],nextStateForKey=reducer3(previousStateForKey,action);nextState[key]=nextStateForKey,hasChanged=hasChanged||nextStateForKey!==previousStateForKey}return hasChanged?nextState:state2}}function omit(object,keyToRemove){return Object.keys(object).filter(key=>key!==keyToRemove).reduce((result,key)=>Object.assign(result,{[key]:object[key]}),{})}function compose2(...functions){return function(arg){if(functions.length===0)return arg;let last4=functions[functions.length-1];return functions.slice(0,-1).reduceRight((composed,fn)=>fn(composed),last4(arg))}}function createReducerFactory(reducerFactory,metaReducers){return Array.isArray(metaReducers)&&metaReducers.length>0&&(reducerFactory=compose2.apply(null,[...metaReducers,reducerFactory])),(reducers,initialState3)=>{let reducer3=reducerFactory(reducers);return(state2,action)=>(state2=state2===void 0?initialState3:state2,reducer3(state2,action))}}function createFeatureReducerFactory(metaReducers){let reducerFactory=Array.isArray(metaReducers)&&metaReducers.length>0?compose2(...metaReducers):r=>r;return(reducer3,initialState3)=>(reducer3=reducerFactory(reducer3),(state2,action)=>(state2=state2===void 0?initialState3:state2,reducer3(state2,action)))}var ReducerObservable=class extends Observable{},ReducerManagerDispatcher=class extends ActionsSubject{},UPDATE="@ngrx/store/update-reducers",ReducerManager=(()=>{class ReducerManager2 extends BehaviorSubject{get currentReducers(){return this.reducers}constructor(dispatcher,initialState3,reducers,reducerFactory){super(reducerFactory(reducers,initialState3)),this.dispatcher=dispatcher,this.initialState=initialState3,this.reducers=reducers,this.reducerFactory=reducerFactory}addFeature(feature3){this.addFeatures([feature3])}addFeatures(features){let reducers=features.reduce((reducerDict,{reducers:reducers2,reducerFactory,metaReducers,initialState:initialState3,key})=>{let reducer3=typeof reducers2=="function"?createFeatureReducerFactory(metaReducers)(reducers2,initialState3):createReducerFactory(reducerFactory,metaReducers)(reducers2,initialState3);return reducerDict[key]=reducer3,reducerDict},{});this.addReducers(reducers)}removeFeature(feature3){this.removeFeatures([feature3])}removeFeatures(features){this.removeReducers(features.map(p=>p.key))}addReducer(key,reducer3){this.addReducers({[key]:reducer3})}addReducers(reducers){this.reducers=__spreadValues(__spreadValues({},this.reducers),reducers),this.updateReducers(Object.keys(reducers))}removeReducer(featureKey){this.removeReducers([featureKey])}removeReducers(featureKeys){featureKeys.forEach(key=>{this.reducers=omit(this.reducers,key)}),this.updateReducers(featureKeys)}updateReducers(featureKeys){this.next(this.reducerFactory(this.reducers,this.initialState)),this.dispatcher.next({type:UPDATE,features:featureKeys})}ngOnDestroy(){this.complete()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ReducerManager2)(\u0275\u0275inject(ReducerManagerDispatcher),\u0275\u0275inject(INITIAL_STATE),\u0275\u0275inject(INITIAL_REDUCERS),\u0275\u0275inject(REDUCER_FACTORY))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ReducerManager2,factory:ReducerManager2.\u0275fac})}}return ReducerManager2})(),REDUCER_MANAGER_PROVIDERS=[ReducerManager,{provide:ReducerObservable,useExisting:ReducerManager},{provide:ReducerManagerDispatcher,useExisting:ActionsSubject}],ScannedActionsSubject=(()=>{class ScannedActionsSubject2 extends Subject{ngOnDestroy(){this.complete()}static{this.\u0275fac=(()=>{let \u0275ScannedActionsSubject_BaseFactory;return function(__ngFactoryType__){return(\u0275ScannedActionsSubject_BaseFactory||(\u0275ScannedActionsSubject_BaseFactory=\u0275\u0275getInheritedFactory(ScannedActionsSubject2)))(__ngFactoryType__||ScannedActionsSubject2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ScannedActionsSubject2,factory:ScannedActionsSubject2.\u0275fac})}}return ScannedActionsSubject2})(),SCANNED_ACTIONS_SUBJECT_PROVIDERS=[ScannedActionsSubject],StateObservable=class extends Observable{},State=(()=>{class State2 extends BehaviorSubject{static{this.INIT=INIT}constructor(actions$,reducer$,scannedActions,initialState3){super(initialState3);let withLatestReducer$=actions$.pipe(observeOn(queueScheduler)).pipe(withLatestFrom(reducer$)),seed={state:initialState3},stateAndAction$=withLatestReducer$.pipe(scan(reduceState,seed));this.stateSubscription=stateAndAction$.subscribe(({state:state2,action})=>{this.next(state2),scannedActions.next(action)}),this.state=toSignal(this,{manualCleanup:!0,requireSync:!0})}ngOnDestroy(){this.stateSubscription.unsubscribe(),this.complete()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||State2)(\u0275\u0275inject(ActionsSubject),\u0275\u0275inject(ReducerObservable),\u0275\u0275inject(ScannedActionsSubject),\u0275\u0275inject(INITIAL_STATE))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:State2,factory:State2.\u0275fac})}}return State2})();function reduceState(stateActionPair={state:void 0},[action,reducer3]){let{state:state2}=stateActionPair;return{state:reducer3(state2,action),action}}var STATE_PROVIDERS=[State,{provide:StateObservable,useExisting:State}],Store=(()=>{class Store2 extends Observable{constructor(state$,actionsObserver,reducerManager,injector){super(),this.actionsObserver=actionsObserver,this.reducerManager=reducerManager,this.injector=injector,this.source=state$,this.state=state$.state}select(pathOrMapFn,...paths){return select.call(null,pathOrMapFn,...paths)(this)}selectSignal(selector,options){return computed(()=>selector(this.state()),options)}lift(operator){let store2=new Store2(this,this.actionsObserver,this.reducerManager);return store2.operator=operator,store2}dispatch(actionOrDispatchFn,config2){if(typeof actionOrDispatchFn=="function")return this.processDispatchFn(actionOrDispatchFn,config2);this.actionsObserver.next(actionOrDispatchFn)}next(action){this.actionsObserver.next(action)}error(err){this.actionsObserver.error(err)}complete(){this.actionsObserver.complete()}addReducer(key,reducer3){this.reducerManager.addReducer(key,reducer3)}removeReducer(key){this.reducerManager.removeReducer(key)}processDispatchFn(dispatchFn,config2){assertDefined2(this.injector,"Store Injector");let effectInjector=config2?.injector??getCallerInjector()??this.injector;return effect(()=>{let action=dispatchFn();untracked2(()=>this.dispatch(action))},{injector:effectInjector})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||Store2)(\u0275\u0275inject(StateObservable),\u0275\u0275inject(ActionsSubject),\u0275\u0275inject(ReducerManager),\u0275\u0275inject(Injector))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:Store2,factory:Store2.\u0275fac})}}return Store2})(),STORE_PROVIDERS=[Store];function select(pathOrMapFn,propsOrPath,...paths){return function(source$){let mapped$;if(typeof pathOrMapFn=="string"){let pathSlices=[propsOrPath,...paths].filter(Boolean);mapped$=source$.pipe(pluck(pathOrMapFn,...pathSlices))}else if(typeof pathOrMapFn=="function")mapped$=source$.pipe(map(source=>pathOrMapFn(source,propsOrPath)));else throw new TypeError(`Unexpected type '${typeof pathOrMapFn}' in select operator, expected 'string' or 'function'`);return mapped$.pipe(distinctUntilChanged())}}function getCallerInjector(){try{return inject2(Injector)}catch(_){return}}var RUNTIME_CHECK_URL="https://ngrx.io/guide/store/configuration/runtime-checks";function isUndefined(target){return target===void 0}function isNull(target){return target===null}function isArray4(target){return Array.isArray(target)}function isString2(target){return typeof target=="string"}function isBoolean2(target){return typeof target=="boolean"}function isNumber(target){return typeof target=="number"}function isObjectLike(target){return typeof target=="object"&&target!==null}function isObject2(target){return isObjectLike(target)&&!isArray4(target)}function isPlainObject(target){if(!isObject2(target))return!1;let targetPrototype=Object.getPrototypeOf(target);return targetPrototype===Object.prototype||targetPrototype===null}function isFunction4(target){return typeof target=="function"}function isComponent(target){return isFunction4(target)&&target.hasOwnProperty("\u0275cmp")}function hasOwnProperty(target,propertyName){return Object.prototype.hasOwnProperty.call(target,propertyName)}var _ngrxMockEnvironment=!1;function isNgrxMockEnvironment(){return _ngrxMockEnvironment}function isEqualCheck(a,b){return a===b}function isArgumentsChanged(args,lastArguments,comparator){for(let i=0;i<args.length;i++)if(!comparator(args[i],lastArguments[i]))return!0;return!1}function defaultMemoize(projectionFn,isArgumentsEqual=isEqualCheck,isResultEqual=isEqualCheck){let lastArguments=null,lastResult=null,overrideResult;function reset4(){lastArguments=null,lastResult=null}function setResult(result=void 0){overrideResult={result}}function clearResult(){overrideResult=void 0}function memoized(){if(overrideResult!==void 0)return overrideResult.result;if(!lastArguments)return lastResult=projectionFn.apply(null,arguments),lastArguments=arguments,lastResult;if(!isArgumentsChanged(arguments,lastArguments,isArgumentsEqual))return lastResult;let newResult=projectionFn.apply(null,arguments);return lastArguments=arguments,isResultEqual(lastResult,newResult)?lastResult:(lastResult=newResult,newResult)}return{memoized,reset:reset4,setResult,clearResult}}function createSelector(...input2){return createSelectorFactory(defaultMemoize)(...input2)}function defaultStateFn(state2,selectors,props2,memoizedProjector){if(props2===void 0){let args2=selectors.map(fn=>fn(state2));return memoizedProjector.memoized.apply(null,args2)}let args=selectors.map(fn=>fn(state2,props2));return memoizedProjector.memoized.apply(null,[...args,props2])}function createSelectorFactory(memoize,options={stateFn:defaultStateFn}){return function(...input2){let args=input2;if(Array.isArray(args[0])){let[head,...tail]=args;args=[...head,...tail]}else args.length===1&&isSelectorsDictionary(args[0])&&(args=extractArgsFromSelectorsDictionary(args[0]));let selectors=args.slice(0,args.length-1),projector=args[args.length-1],memoizedSelectors=selectors.filter(selector=>selector.release&&typeof selector.release=="function"),memoizedProjector=memoize(function(...selectors2){return projector.apply(null,selectors2)}),memoizedState=defaultMemoize(function(state2,props2){return options.stateFn.apply(null,[state2,selectors,props2,memoizedProjector])});function release(){memoizedState.reset(),memoizedProjector.reset(),memoizedSelectors.forEach(selector=>selector.release())}return Object.assign(memoizedState.memoized,{release,projector:memoizedProjector.memoized,setResult:memoizedState.setResult,clearResult:memoizedState.clearResult})}}function createFeatureSelector(featureName){return createSelector(state2=>{let featureState=state2[featureName];return!isNgrxMockEnvironment()&&isDevMode()&&!(featureName in state2)&&console.warn(`@ngrx/store: The feature name "${featureName}" does not exist in the state, therefore createFeatureSelector cannot access it. Be sure it is imported in a loaded module using StoreModule.forRoot('${featureName}', ...) or StoreModule.forFeature('${featureName}', ...). If the default state is intended to be undefined, as is the case with router state, this development-only warning message can be ignored.`),featureState},featureState=>featureState)}function isSelectorsDictionary(selectors){return!!selectors&&typeof selectors=="object"&&Object.values(selectors).every(selector=>typeof selector=="function")}function extractArgsFromSelectorsDictionary(selectorsDictionary){let selectors=Object.values(selectorsDictionary),resultKeys=Object.keys(selectorsDictionary),projector=(...selectorResults)=>resultKeys.reduce((result,key,index)=>__spreadProps(__spreadValues({},result),{[key]:selectorResults[index]}),{});return[...selectors,projector]}function createFeature(featureConfig){let{name,reducer:reducer3,extraSelectors:extraSelectorsFactory}=featureConfig,featureSelector=createFeatureSelector(name),nestedSelectors=createNestedSelectors(featureSelector,reducer3),baseSelectors=__spreadValues({[`select${capitalize(name)}State`]:featureSelector},nestedSelectors),extraSelectors=extraSelectorsFactory?extraSelectorsFactory(baseSelectors):{};return __spreadValues(__spreadValues({name,reducer:reducer3},baseSelectors),extraSelectors)}function createNestedSelectors(featureSelector,reducer3){let initialState3=getInitialState(reducer3);return(isPlainObject(initialState3)?Object.keys(initialState3):[]).reduce((nestedSelectors,nestedKey)=>__spreadProps(__spreadValues({},nestedSelectors),{[`select${capitalize(nestedKey)}`]:createSelector(featureSelector,parentState=>parentState?.[nestedKey])}),{})}function getInitialState(reducer3){return reducer3(void 0,{type:"@ngrx/feature/init"})}function _createStoreReducers(reducers){return reducers instanceof InjectionToken?inject2(reducers):reducers}function _createFeatureStore(configs,featureStores){return featureStores.map((feat,index)=>{if(configs[index]instanceof InjectionToken){let conf=inject2(configs[index]);return{key:feat.key,reducerFactory:conf.reducerFactory?conf.reducerFactory:combineReducers,metaReducers:conf.metaReducers?conf.metaReducers:[],initialState:conf.initialState}}return feat})}function _createFeatureReducers(reducerCollection){return reducerCollection.map(reducer3=>reducer3 instanceof InjectionToken?inject2(reducer3):reducer3)}function _initialStateFactory(initialState3){return typeof initialState3=="function"?initialState3():initialState3}function _concatMetaReducers(metaReducers,userProvidedMetaReducers){return metaReducers.concat(userProvidedMetaReducers)}function _provideForRootGuard(){if(inject2(Store,{optional:!0,skipSelf:!0}))throw new TypeError("The root Store has been provided more than once. Feature modules should provide feature states instead.");return"guarded"}function immutabilityCheckMetaReducer(reducer3,checks){return function(state2,action){let act=checks.action(action)?freeze(action):action,nextState=reducer3(state2,act);return checks.state()?freeze(nextState):nextState}}function freeze(target){Object.freeze(target);let targetIsFunction=isFunction4(target);return Object.getOwnPropertyNames(target).forEach(prop=>{if(!prop.startsWith("\u0275")&&hasOwnProperty(target,prop)&&(!targetIsFunction||prop!=="caller"&&prop!=="callee"&&prop!=="arguments")){let propValue=target[prop];(isObjectLike(propValue)||isFunction4(propValue))&&!Object.isFrozen(propValue)&&freeze(propValue)}}),target}function serializationCheckMetaReducer(reducer3,checks){return function(state2,action){if(checks.action(action)){let unserializableAction=getUnserializable(action);throwIfUnserializable(unserializableAction,"action")}let nextState=reducer3(state2,action);if(checks.state()){let unserializableState=getUnserializable(nextState);throwIfUnserializable(unserializableState,"state")}return nextState}}function getUnserializable(target,path=[]){return(isUndefined(target)||isNull(target))&&path.length===0?{path:["root"],value:target}:Object.keys(target).reduce((result,key)=>{if(result)return result;let value=target[key];return isComponent(value)?result:isUndefined(value)||isNull(value)||isNumber(value)||isBoolean2(value)||isString2(value)||isArray4(value)?!1:isPlainObject(value)?getUnserializable(value,[...path,key]):{path:[...path,key],value}},!1)}function throwIfUnserializable(unserializable,context2){if(unserializable===!1)return;let unserializablePath=unserializable.path.join("."),error=new Error(`Detected unserializable ${context2} at "${unserializablePath}". ${RUNTIME_CHECK_URL}#strict${context2}serializability`);throw error.value=unserializable.value,error.unserializablePath=unserializablePath,error}function inNgZoneAssertMetaReducer(reducer3,checks){return function(state2,action){if(checks.action(action)&&!NgZone.isInAngularZone())throw new Error(`Action '${action.type}' running outside NgZone. ${RUNTIME_CHECK_URL}#strictactionwithinngzone`);return reducer3(state2,action)}}function createActiveRuntimeChecks(runtimeChecks){return isDevMode()?__spreadValues({strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!0,strictActionImmutability:!0,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1},runtimeChecks):{strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!1,strictActionImmutability:!1,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1}}function createSerializationCheckMetaReducer({strictActionSerializability,strictStateSerializability}){return reducer3=>strictActionSerializability||strictStateSerializability?serializationCheckMetaReducer(reducer3,{action:action=>strictActionSerializability&&!ignoreNgrxAction(action),state:()=>strictStateSerializability}):reducer3}function createImmutabilityCheckMetaReducer({strictActionImmutability,strictStateImmutability}){return reducer3=>strictActionImmutability||strictStateImmutability?immutabilityCheckMetaReducer(reducer3,{action:action=>strictActionImmutability&&!ignoreNgrxAction(action),state:()=>strictStateImmutability}):reducer3}function ignoreNgrxAction(action){return action.type.startsWith("@ngrx")}function createInNgZoneCheckMetaReducer({strictActionWithinNgZone}){return reducer3=>strictActionWithinNgZone?inNgZoneAssertMetaReducer(reducer3,{action:action=>strictActionWithinNgZone&&!ignoreNgrxAction(action)}):reducer3}function provideRuntimeChecks(runtimeChecks){return[{provide:_USER_RUNTIME_CHECKS,useValue:runtimeChecks},{provide:USER_RUNTIME_CHECKS,useFactory:_runtimeChecksFactory,deps:[_USER_RUNTIME_CHECKS]},{provide:ACTIVE_RUNTIME_CHECKS,deps:[USER_RUNTIME_CHECKS],useFactory:createActiveRuntimeChecks},{provide:META_REDUCERS,multi:!0,deps:[ACTIVE_RUNTIME_CHECKS],useFactory:createImmutabilityCheckMetaReducer},{provide:META_REDUCERS,multi:!0,deps:[ACTIVE_RUNTIME_CHECKS],useFactory:createSerializationCheckMetaReducer},{provide:META_REDUCERS,multi:!0,deps:[ACTIVE_RUNTIME_CHECKS],useFactory:createInNgZoneCheckMetaReducer}]}function checkForActionTypeUniqueness(){return[{provide:_ACTION_TYPE_UNIQUENESS_CHECK,multi:!0,deps:[ACTIVE_RUNTIME_CHECKS],useFactory:_actionTypeUniquenessCheck}]}function _runtimeChecksFactory(runtimeChecks){return runtimeChecks}function _actionTypeUniquenessCheck(config2){if(!config2.strictActionTypeUniqueness)return;let duplicates=Object.entries(REGISTERED_ACTION_TYPES).filter(([,registrations])=>registrations>1).map(([type2])=>type2);if(duplicates.length)throw new Error(`Action types are registered more than once, ${duplicates.map(type2=>`"${type2}"`).join(", ")}. ${RUNTIME_CHECK_URL}#strictactiontypeuniqueness`)}function _provideStore(reducers={},config2={}){return[{provide:_ROOT_STORE_GUARD,useFactory:_provideForRootGuard},{provide:_INITIAL_STATE,useValue:config2.initialState},{provide:INITIAL_STATE,useFactory:_initialStateFactory,deps:[_INITIAL_STATE]},{provide:_INITIAL_REDUCERS,useValue:reducers},{provide:_STORE_REDUCERS,useExisting:reducers instanceof InjectionToken?reducers:_INITIAL_REDUCERS},{provide:INITIAL_REDUCERS,deps:[_INITIAL_REDUCERS,[new Inject(_STORE_REDUCERS)]],useFactory:_createStoreReducers},{provide:USER_PROVIDED_META_REDUCERS,useValue:config2.metaReducers?config2.metaReducers:[]},{provide:_RESOLVED_META_REDUCERS,deps:[META_REDUCERS,USER_PROVIDED_META_REDUCERS],useFactory:_concatMetaReducers},{provide:_REDUCER_FACTORY,useValue:config2.reducerFactory?config2.reducerFactory:combineReducers},{provide:REDUCER_FACTORY,deps:[_REDUCER_FACTORY,_RESOLVED_META_REDUCERS],useFactory:createReducerFactory},ACTIONS_SUBJECT_PROVIDERS,REDUCER_MANAGER_PROVIDERS,SCANNED_ACTIONS_SUBJECT_PROVIDERS,STATE_PROVIDERS,STORE_PROVIDERS,provideRuntimeChecks(config2.runtimeChecks),checkForActionTypeUniqueness()]}function rootStoreProviderFactory(){inject2(ActionsSubject),inject2(ReducerObservable),inject2(ScannedActionsSubject),inject2(Store),inject2(_ROOT_STORE_GUARD,{optional:!0}),inject2(_ACTION_TYPE_UNIQUENESS_CHECK,{optional:!0})}var ENVIRONMENT_STORE_PROVIDER=[{provide:ROOT_STORE_PROVIDER,useFactory:rootStoreProviderFactory},provideEnvironmentInitializer(()=>inject2(ROOT_STORE_PROVIDER))];function featureStateProviderFactory(){inject2(ROOT_STORE_PROVIDER);let features=inject2(_STORE_FEATURES),featureReducers=inject2(FEATURE_REDUCERS),reducerManager=inject2(ReducerManager);inject2(_ACTION_TYPE_UNIQUENESS_CHECK,{optional:!0});let feats=features.map((feature3,index)=>{let reducers=featureReducers.shift()[index];return __spreadProps(__spreadValues({},feature3),{reducers,initialState:_initialStateFactory(feature3.initialState)})});reducerManager.addFeatures(feats)}var ENVIRONMENT_STATE_PROVIDER=[{provide:FEATURE_STATE_PROVIDER,useFactory:featureStateProviderFactory},provideEnvironmentInitializer(()=>inject2(FEATURE_STATE_PROVIDER))];function _provideState(featureNameOrSlice,reducers,config2={}){return[{provide:_FEATURE_CONFIGS,multi:!0,useValue:featureNameOrSlice instanceof Object?{}:config2},{provide:STORE_FEATURES,multi:!0,useValue:{key:featureNameOrSlice instanceof Object?featureNameOrSlice.name:featureNameOrSlice,reducerFactory:!(config2 instanceof InjectionToken)&&config2.reducerFactory?config2.reducerFactory:combineReducers,metaReducers:!(config2 instanceof InjectionToken)&&config2.metaReducers?config2.metaReducers:[],initialState:!(config2 instanceof InjectionToken)&&config2.initialState?config2.initialState:void 0}},{provide:_STORE_FEATURES,deps:[_FEATURE_CONFIGS,STORE_FEATURES],useFactory:_createFeatureStore},{provide:_FEATURE_REDUCERS,multi:!0,useValue:featureNameOrSlice instanceof Object?featureNameOrSlice.reducer:reducers},{provide:_FEATURE_REDUCERS_TOKEN,multi:!0,useExisting:reducers instanceof InjectionToken?reducers:_FEATURE_REDUCERS},{provide:FEATURE_REDUCERS,multi:!0,deps:[_FEATURE_REDUCERS,[new Inject(_FEATURE_REDUCERS_TOKEN)]],useFactory:_createFeatureReducers},checkForActionTypeUniqueness()]}var StoreRootModule=(()=>{class StoreRootModule2{constructor(actions$,reducer$,scannedActions$,store2,guard,actionCheck){}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreRootModule2)(\u0275\u0275inject(ActionsSubject),\u0275\u0275inject(ReducerObservable),\u0275\u0275inject(ScannedActionsSubject),\u0275\u0275inject(Store),\u0275\u0275inject(_ROOT_STORE_GUARD,8),\u0275\u0275inject(_ACTION_TYPE_UNIQUENESS_CHECK,8))}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:StoreRootModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return StoreRootModule2})(),StoreFeatureModule=(()=>{class StoreFeatureModule2{constructor(features,featureReducers,reducerManager,root,actionCheck){this.features=features,this.featureReducers=featureReducers,this.reducerManager=reducerManager;let feats=features.map((feature3,index)=>{let reducers=featureReducers.shift()[index];return __spreadProps(__spreadValues({},feature3),{reducers,initialState:_initialStateFactory(feature3.initialState)})});reducerManager.addFeatures(feats)}ngOnDestroy(){this.reducerManager.removeFeatures(this.features)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreFeatureModule2)(\u0275\u0275inject(_STORE_FEATURES),\u0275\u0275inject(FEATURE_REDUCERS),\u0275\u0275inject(ReducerManager),\u0275\u0275inject(StoreRootModule),\u0275\u0275inject(_ACTION_TYPE_UNIQUENESS_CHECK,8))}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:StoreFeatureModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return StoreFeatureModule2})(),StoreModule=(()=>{class StoreModule2{static forRoot(reducers,config2){return{ngModule:StoreRootModule,providers:[..._provideStore(reducers,config2)]}}static forFeature(featureNameOrSlice,reducers,config2={}){return{ngModule:StoreFeatureModule,providers:[..._provideState(featureNameOrSlice,reducers,config2)]}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:StoreModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return StoreModule2})();function on(...args){let reducer3=args.pop(),types=args.map(creator=>creator.type);return{reducer:reducer3,types}}function createReducer(initialState3,...ons){let map2=new Map;for(let on2 of ons)for(let type2 of on2.types){let existingReducer=map2.get(type2);if(existingReducer){let newReducer=(state2,action)=>on2.reducer(existingReducer(state2,action),action);map2.set(type2,newReducer)}else map2.set(type2,on2.reducer)}return function(state2=initialState3,action){let reducer3=map2.get(action.type);return reducer3?reducer3(state2,action):state2}}var add=createAction("[App] Add PageComponentTemplate",props()),addFailure=createAction("[IxApi] Add PageComponentTemplate Failure",props()),addSuccess=createAction("[IxApi] Add PageComponentTemplate Success",props()),didAdd=createAction("[ChangeNotification] PageComponentTemplate Was Added",props()),didRemove=createAction("[ChangeNotification] PageComponentTemplate Was Removed",props()),didUpdate=createAction("[ChangeNotification] PageComponentTemplate Was Updated",props()),ensureAll=createAction("[App] Ensure All PageComponentTemplates"),ensureAllForIntent=createAction("[App] Ensure All PageComponentTemplates For Intent",props()),loadAll=createAction("[App] Load All PageComponentTemplates"),loadAllFailure=createAction("[IxApi] Load All PageComponentTemplates Failure",props()),loadAllSuccess=createAction("[IxApi] Load All PageComponentTemplates Success",props()),loadAllForIntent=createAction("[App] Load All PageComponentTemplates For Intent",props()),loadAllForIntentFailure=createAction("[IxApi] Load All PageComponentTemplates For Intent Failure",props()),loadAllForIntentSuccess=createAction("[IxApi] Load All PageComponentTemplates For Intent Success",props()),reset=createAction("[App] Reset PageComponentTemplate State"),update=createAction("[App] Update PageComponentTemplate",props()),updateFailure=createAction("[IxApi] Update PageComponentTemplate Failure",props()),updateSuccess=createAction("[IxApi] Update PageComponentTemplate Success",props());var BackendComponentSettingsFacade=(()=>{class BackendComponentSettingsFacade2{constructor(){this.store=inject2(Store),this.storage=inject2(StorageService),this.service=inject2(SettingsService),this.backendComponents$=this.service.tokenChanges$.pipe(switchMap(token=>this.service.getBackendComponents(token,this.storage.get(STORAGE_KEY_COMPANY))))}get apiDisabled(){return this.storage.get(STORAGE_KEY_API_DATA_PROVIDER)!=="platform"||!this.storage.get(STORAGE_KEY_COMPANY)}get ingress(){return this.storage.get(`${STORAGE_KEY_CBC_INGRESS}:${this.pageComponentTemplateId}`)}set ingress(value){this.storage.forever(`${STORAGE_KEY_CBC_INGRESS}:${this.pageComponentTemplateId}`,value)}get backendComponentTemplateId(){return this.storage.get(`${STORAGE_KEY_CBC_PUBLIC_ID}:${this.pageComponentTemplateId}`)}set backendComponentTemplateId(value){this.storage.forever(`${STORAGE_KEY_CBC_PUBLIC_ID}:${this.pageComponentTemplateId}`,value),this.store.dispatch(reset())}get pageComponentTemplateId(){return mapTemplateUrlToPublicId(sessionStorage.getItem("pct-url"))}get ingressUrl(){return this.storage.get(`${STORAGE_KEY_CBC_INGRESS_URL}:${this.pageComponentTemplateId}`)}set ingressUrl(value){this.storage.forever(`${STORAGE_KEY_CBC_INGRESS_URL}:${this.pageComponentTemplateId}`,value)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BackendComponentSettingsFacade2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:BackendComponentSettingsFacade2,factory:BackendComponentSettingsFacade2.\u0275fac,providedIn:"root"})}}return BackendComponentSettingsFacade2})();function BackendComponentSettingsComponent_For_22_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",8),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let component_r1=ctx.$implicit;\u0275\u0275property("value",component_r1.publicId),\u0275\u0275advance(),\u0275\u0275textInterpolate(component_r1.name)}}function BackendComponentSettingsComponent_Conditional_24_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"This field is required"),\u0275\u0275elementEnd())}var BackendComponentSettingsComponent=(()=>{class BackendComponentSettingsComponent2{constructor(){this.cbcForm=new FormGroup({url:new FormControl(""),ingress:new FormControl("none",{nonNullable:!0}),componentId:new FormControl(null)}),this.facade=inject2(BackendComponentSettingsFacade)}ngOnInit(){this.apiDisabled=this.facade.apiDisabled,this.apiDisabled||(this.components$=this.facade.backendComponents$),this.cbcForm.setValue(this._getInitialCbcFormValue())}cancelCbcForm(){this.cbcForm.reset(this._getInitialCbcFormValue())}confirmCbcForm(){this.facade.ingress=this.cbcForm.value.ingress,this.facade.backendComponentTemplateId=this.cbcForm.value.componentId,this.facade.ingressUrl=this.cbcForm.value.url,this.cbcForm.reset(this._getInitialCbcFormValue())}resetCbcFormDisabled(){return isEqual_default(this.cbcForm.value,DEFAULT_CBC_FORM_VALUE)}resetCbcForm(){this.cbcForm.reset(DEFAULT_CBC_FORM_VALUE),this.confirmCbcForm()}_getInitialCbcFormValue(){return{url:this.facade.ingressUrl??DEFAULT_CBC_FORM_VALUE.url,ingress:this.facade.ingress??DEFAULT_CBC_FORM_VALUE.ingress,componentId:this.facade.backendComponentTemplateId??DEFAULT_CBC_FORM_VALUE.componentId}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BackendComponentSettingsComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:BackendComponentSettingsComponent2,selectors:[["ix-backend-component-settings"]],decls:37,vars:10,consts:[["fxLayout","column","autocomplete","off",3,"ngSubmit","formGroup"],["formControlName","ingress","color","primary"],["value","none"],["value","local"],["value","platform",3,"disabled"],["appearance","fill",3,"hidden"],["matInput","","placeholder","Enter the URL for the local Cloud Function Ingress","formControlName","url"],["formControlName","componentId"],[3,"value"],["fxLayout","row",1,"actions"],[1,"submittion",3,"hidden"],["mat-stroked-button","","color","primary","type","button",3,"click"],["mat-flat-button","","color","primary","type","submit",3,"disabled"],["fxFlex","","fxLayoutAlign","end",1,"reset"],["color","warn","mat-button","",3,"click","hidden"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"section")(1,"h2"),\u0275\u0275text(2,"Cloud Function"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"form",0),\u0275\u0275listener("ngSubmit",function(){return ctx.confirmCbcForm()}),\u0275\u0275elementStart(4,"mat-radio-group",1)(5,"mat-radio-button",2),\u0275\u0275text(6,"None"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"mat-radio-button",3),\u0275\u0275text(8,"Local Cloud Function Ingress"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"mat-radio-button",4),\u0275\u0275text(10,"Production Cloud Function"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(11,"mat-form-field",5)(12,"mat-label"),\u0275\u0275text(13,"URL"),\u0275\u0275elementEnd(),\u0275\u0275element(14,"input",6),\u0275\u0275elementStart(15,"mat-hint"),\u0275\u0275text(16,"Link to a local Cloud Function Ingress"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(17,"mat-form-field",5)(18,"mat-label"),\u0275\u0275text(19,"Cloud Function"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(20,"mat-select",7),\u0275\u0275repeaterCreate(21,BackendComponentSettingsComponent_For_22_Template,2,2,"mat-option",8,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275pipe(23,"async"),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(24,BackendComponentSettingsComponent_Conditional_24_Template,2,0,"mat-error"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(25,"div",9)(26,"div",10)(27,"button",11),\u0275\u0275listener("click",function(){return ctx.cancelCbcForm()}),\u0275\u0275elementStart(28,"span"),\u0275\u0275text(29,"Cancel"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(30,"button",12)(31,"span"),\u0275\u0275text(32,"Submit"),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(33,"div",13)(34,"button",14),\u0275\u0275listener("click",function(){return ctx.resetCbcForm()}),\u0275\u0275elementStart(35,"span"),\u0275\u0275text(36,"Reset"),\u0275\u0275elementEnd()()()()()()),rf&2&&(\u0275\u0275advance(3),\u0275\u0275property("formGroup",ctx.cbcForm),\u0275\u0275advance(6),\u0275\u0275property("disabled",ctx.apiDisabled),\u0275\u0275advance(2),\u0275\u0275property("hidden",ctx.cbcForm.value.ingress!=="local"),\u0275\u0275advance(6),\u0275\u0275property("hidden",ctx.cbcForm.value.ingress!=="platform"),\u0275\u0275advance(4),\u0275\u0275repeater(\u0275\u0275pipeBind1(23,8,ctx.components$)),\u0275\u0275advance(3),\u0275\u0275conditional(ctx.cbcForm.controls.componentId.hasError("required")?24:-1),\u0275\u0275advance(2),\u0275\u0275property("hidden",ctx.cbcForm.pristine),\u0275\u0275advance(4),\u0275\u0275property("disabled",ctx.cbcForm.invalid),\u0275\u0275advance(4),\u0275\u0275property("hidden",ctx.resetCbcFormDisabled()))},dependencies:[CommonModule,FlexModule,DefaultLayoutDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatFormFieldModule,MatFormField,MatLabel,MatHint,MatError,MatInputModule,MatInput,MatOptionModule,MatOption,MatRadioModule,MatRadioGroup,MatRadioButton,MatSelectModule,MatSelect,MatButtonModule,MatButton,ReactiveFormsModule,\u0275NgNoValidate,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,AsyncPipe],styles:["section[_ngcontent-%COMP%]{margin-bottom:24px}section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-family:var(--font-family);font-size:18px;font-weight:400;line-height:24px;margin:56px 0 10px}section[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}section[_ngcontent-%COMP%] .mat-mdc-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:16px}section[_ngcontent-%COMP%] .mat-mdc-radio-group[_ngcontent-%COMP%] .mat-mdc-radio-button[_ngcontent-%COMP%] .ix-badge[_ngcontent-%COMP%]{margin-left:8px;background-color:var(--primary);color:var(--primary-color)}section[_ngcontent-%COMP%] .mat-mdc-radio-group[_ngcontent-%COMP%] .mat-mdc-radio-button[_ngcontent-%COMP%] .ix-badge[_ngcontent-%COMP%]:empty{display:none}section[_ngcontent-%COMP%] .mat-mdc-radio-group[_ngcontent-%COMP%] .mat-mdc-radio-button[_ngcontent-%COMP%] .ix-badge.warn[_ngcontent-%COMP%]{background-color:var(--warn);color:#fff}section[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{margin-top:24px}section[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] button[type=submit][_ngcontent-%COMP%]{margin-left:8px}"]})}}return BackendComponentSettingsComponent2})();function getDelay(backoffDelay,maxInterval){return Math.min(backoffDelay,maxInterval)}function exponentialBackoffDelay(iteration,initialInterval){return Math.pow(2,iteration)*initialInterval}function retryBackoff(config2){let{initialInterval,maxRetries=1/0,maxInterval=1/0,shouldRetry=()=>!0,resetOnSuccess=!1,backoffDelay=exponentialBackoffDelay}=typeof config2=="number"?{initialInterval:config2}:config2;return source=>defer(()=>{let index=0;return source.pipe(retryWhen(errors=>errors.pipe(concatMap(error=>{let attempt=index++;return iif(()=>attempt<maxRetries&&shouldRetry(error),timer(getDelay(backoffDelay(attempt,initialInterval),maxInterval)),throwError(error))}))),tap(()=>{resetOnSuccess&&(index=0)}))})}var ensureOne=createAction("[App] Ensure One PageComponentTemplateManifest",props()),ensureMany=createAction("[App] Ensure Many PageComponentTemplateManifests",props()),loadOne=createAction("[App] Load One PageComponentTemplateManifest",props()),loadOneFailure=createAction("[CDN] Load One PageComponentTemplateManifest Failure",props()),loadOneSuccess=createAction("[CDN] Load One PageComponentTemplateManifest Success",props()),loadMany=createAction("[App] Load Many PageComponentTemplateManifests",props()),loadManyFailure=createAction("[CDN] Load Many PageComponentTemplateManifests Failure",props()),loadManySuccess=createAction("[CDN] Load Many PageComponentTemplateManifests Success",props()),reset2=createAction("[App] Reset PageComponentTemplateManifest State");var FEATURE_NAME="pageComponentTemplateManifest";var DEFAULT_EFFECT_CONFIG={dispatch:!0,functional:!1,useEffectsErrorHandler:!0},CREATE_EFFECT_METADATA_KEY="__@ngrx/effects_create__";function createEffect(source,config2={}){let effect3=config2.functional?source:source(),value=__spreadValues(__spreadValues({},DEFAULT_EFFECT_CONFIG),config2);return Object.defineProperty(effect3,CREATE_EFFECT_METADATA_KEY,{value}),effect3}function getCreateEffectMetadata(instance){return Object.getOwnPropertyNames(instance).filter(propertyName=>instance[propertyName]&&instance[propertyName].hasOwnProperty(CREATE_EFFECT_METADATA_KEY)?instance[propertyName][CREATE_EFFECT_METADATA_KEY].hasOwnProperty("dispatch"):!1).map(propertyName=>{let metaData=instance[propertyName][CREATE_EFFECT_METADATA_KEY];return __spreadValues({propertyName},metaData)})}function getSourceMetadata(instance){return getCreateEffectMetadata(instance)}function getSourceForInstance(instance){return Object.getPrototypeOf(instance)}function isClassInstance(obj){return!!obj.constructor&&obj.constructor.name!=="Object"&&obj.constructor.name!=="Function"}function isClass(classOrRecord){return typeof classOrRecord=="function"}function getClasses(classesAndRecords){return classesAndRecords.filter(isClass)}function isToken(tokenOrRecord){return tokenOrRecord instanceof InjectionToken||isClass(tokenOrRecord)}function mergeEffects(sourceInstance,globalErrorHandler,effectsErrorHandler){let source=getSourceForInstance(sourceInstance),sourceName=!!source&&source.constructor.name!=="Object"?source.constructor.name:null,observables$=getSourceMetadata(sourceInstance).map(({propertyName,dispatch,useEffectsErrorHandler})=>{let observable$=typeof sourceInstance[propertyName]=="function"?sourceInstance[propertyName]():sourceInstance[propertyName],effectAction$=useEffectsErrorHandler?effectsErrorHandler(observable$,globalErrorHandler):observable$;return dispatch===!1?effectAction$.pipe(ignoreElements()):effectAction$.pipe(materialize()).pipe(map(notification=>({effect:sourceInstance[propertyName],notification,propertyName,sourceName,sourceInstance})))});return merge(...observables$)}var MAX_NUMBER_OF_RETRY_ATTEMPTS=10;function defaultEffectsErrorHandler(observable$,errorHandler2,retryAttemptLeft=MAX_NUMBER_OF_RETRY_ATTEMPTS){return observable$.pipe(catchError(error=>(errorHandler2&&errorHandler2.handleError(error),retryAttemptLeft<=1?observable$:defaultEffectsErrorHandler(observable$,errorHandler2,retryAttemptLeft-1))))}var Actions=(()=>{class Actions2 extends Observable{constructor(source){super(),source&&(this.source=source)}lift(operator){let observable2=new Actions2;return observable2.source=this,observable2.operator=operator,observable2}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||Actions2)(\u0275\u0275inject(ScannedActionsSubject))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:Actions2,factory:Actions2.\u0275fac,providedIn:"root"})}}return Actions2})();function ofType(...allowedTypes){return filter(action=>allowedTypes.some(typeOrActionCreator=>typeof typeOrActionCreator=="string"?typeOrActionCreator===action.type:typeOrActionCreator.type===action.type))}var _ROOT_EFFECTS_GUARD=new InjectionToken("@ngrx/effects Internal Root Guard"),USER_PROVIDED_EFFECTS=new InjectionToken("@ngrx/effects User Provided Effects"),_ROOT_EFFECTS=new InjectionToken("@ngrx/effects Internal Root Effects"),_ROOT_EFFECTS_INSTANCES=new InjectionToken("@ngrx/effects Internal Root Effects Instances"),_FEATURE_EFFECTS=new InjectionToken("@ngrx/effects Internal Feature Effects"),_FEATURE_EFFECTS_INSTANCE_GROUPS=new InjectionToken("@ngrx/effects Internal Feature Effects Instance Groups"),EFFECTS_ERROR_HANDLER=new InjectionToken("@ngrx/effects Effects Error Handler",{providedIn:"root",factory:()=>defaultEffectsErrorHandler}),ROOT_EFFECTS_INIT="@ngrx/effects/init",rootEffectsInit=createAction(ROOT_EFFECTS_INIT);function reportInvalidActions(output2,reporter){if(output2.notification.kind==="N"){let action=output2.notification.value;!isAction(action)&&reporter.handleError(new Error(`Effect ${getEffectName(output2)} dispatched an invalid action: ${stringify3(action)}`))}}function isAction(action){return typeof action!="function"&&action&&action.type&&typeof action.type=="string"}function getEffectName({propertyName,sourceInstance,sourceName}){let isMethod=typeof sourceInstance[propertyName]=="function";return!!sourceName?`"${sourceName}.${String(propertyName)}${isMethod?"()":""}"`:`"${String(propertyName)}()"`}function stringify3(action){try{return JSON.stringify(action)}catch(e){return action}}var onIdentifyEffectsKey="ngrxOnIdentifyEffects";function isOnIdentifyEffects(instance){return isFunction5(instance,onIdentifyEffectsKey)}var onRunEffectsKey="ngrxOnRunEffects";function isOnRunEffects(instance){return isFunction5(instance,onRunEffectsKey)}var onInitEffects="ngrxOnInitEffects";function isOnInitEffects(instance){return isFunction5(instance,onInitEffects)}function isFunction5(instance,functionName){return instance&&functionName in instance&&typeof instance[functionName]=="function"}var EffectSources=(()=>{class EffectSources2 extends Subject{constructor(errorHandler2,effectsErrorHandler){super(),this.errorHandler=errorHandler2,this.effectsErrorHandler=effectsErrorHandler}addEffects(effectSourceInstance){this.next(effectSourceInstance)}toActions(){return this.pipe(groupBy(effectsInstance2=>isClassInstance(effectsInstance2)?getSourceForInstance(effectsInstance2):effectsInstance2),mergeMap(source$=>source$.pipe(groupBy(effectsInstance))),mergeMap(source$=>{let effect$=source$.pipe(exhaustMap(sourceInstance=>resolveEffectSource(this.errorHandler,this.effectsErrorHandler)(sourceInstance)),map(output2=>(reportInvalidActions(output2,this.errorHandler),output2.notification)),filter(notification=>notification.kind==="N"&&notification.value!=null),dematerialize()),init$=source$.pipe(take(1),filter(isOnInitEffects),map(instance=>instance.ngrxOnInitEffects()));return merge(effect$,init$)}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EffectSources2)(\u0275\u0275inject(ErrorHandler),\u0275\u0275inject(EFFECTS_ERROR_HANDLER))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:EffectSources2,factory:EffectSources2.\u0275fac,providedIn:"root"})}}return EffectSources2})();function effectsInstance(sourceInstance){return isOnIdentifyEffects(sourceInstance)?sourceInstance.ngrxOnIdentifyEffects():""}function resolveEffectSource(errorHandler2,effectsErrorHandler){return sourceInstance=>{let mergedEffects$=mergeEffects(sourceInstance,errorHandler2,effectsErrorHandler);return isOnRunEffects(sourceInstance)?sourceInstance.ngrxOnRunEffects(mergedEffects$):mergedEffects$}}var EffectsRunner=(()=>{class EffectsRunner2{get isStarted(){return!!this.effectsSubscription}constructor(effectSources,store2){this.effectSources=effectSources,this.store=store2,this.effectsSubscription=null}start(){this.effectsSubscription||(this.effectsSubscription=this.effectSources.toActions().subscribe(this.store))}ngOnDestroy(){this.effectsSubscription&&(this.effectsSubscription.unsubscribe(),this.effectsSubscription=null)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EffectsRunner2)(\u0275\u0275inject(EffectSources),\u0275\u0275inject(Store))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:EffectsRunner2,factory:EffectsRunner2.\u0275fac,providedIn:"root"})}}return EffectsRunner2})(),EffectsRootModule=(()=>{class EffectsRootModule2{constructor(sources,runner,store2,rootEffectsInstances,storeRootModule,storeFeatureModule,guard){this.sources=sources,runner.start();for(let effectsInstance2 of rootEffectsInstances)sources.addEffects(effectsInstance2);store2.dispatch({type:ROOT_EFFECTS_INIT})}addEffects(effectsInstance2){this.sources.addEffects(effectsInstance2)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EffectsRootModule2)(\u0275\u0275inject(EffectSources),\u0275\u0275inject(EffectsRunner),\u0275\u0275inject(Store),\u0275\u0275inject(_ROOT_EFFECTS_INSTANCES),\u0275\u0275inject(StoreRootModule,8),\u0275\u0275inject(StoreFeatureModule,8),\u0275\u0275inject(_ROOT_EFFECTS_GUARD,8))}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:EffectsRootModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return EffectsRootModule2})(),EffectsFeatureModule=(()=>{class EffectsFeatureModule2{constructor(effectsRootModule,effectsInstanceGroups,storeRootModule,storeFeatureModule){let effectsInstances=effectsInstanceGroups.flat();for(let effectsInstance2 of effectsInstances)effectsRootModule.addEffects(effectsInstance2)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EffectsFeatureModule2)(\u0275\u0275inject(EffectsRootModule),\u0275\u0275inject(_FEATURE_EFFECTS_INSTANCE_GROUPS),\u0275\u0275inject(StoreRootModule,8),\u0275\u0275inject(StoreFeatureModule,8))}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:EffectsFeatureModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return EffectsFeatureModule2})(),EffectsModule=(()=>{class EffectsModule2{static forFeature(...featureEffects){let effects=featureEffects.flat(),effectsClasses=getClasses(effects);return{ngModule:EffectsFeatureModule,providers:[effectsClasses,{provide:_FEATURE_EFFECTS,multi:!0,useValue:effects},{provide:USER_PROVIDED_EFFECTS,multi:!0,useValue:[]},{provide:_FEATURE_EFFECTS_INSTANCE_GROUPS,multi:!0,useFactory:createEffectsInstances,deps:[_FEATURE_EFFECTS,USER_PROVIDED_EFFECTS]}]}}static forRoot(...rootEffects){let effects=rootEffects.flat(),effectsClasses=getClasses(effects);return{ngModule:EffectsRootModule,providers:[effectsClasses,{provide:_ROOT_EFFECTS,useValue:[effects]},{provide:_ROOT_EFFECTS_GUARD,useFactory:_provideForRootGuard2},{provide:USER_PROVIDED_EFFECTS,multi:!0,useValue:[]},{provide:_ROOT_EFFECTS_INSTANCES,useFactory:createEffectsInstances,deps:[_ROOT_EFFECTS,USER_PROVIDED_EFFECTS]}]}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EffectsModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:EffectsModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return EffectsModule2})();function createEffectsInstances(effectsGroups,userProvidedEffectsGroups){let effects=[];for(let effectsGroup of effectsGroups)effects.push(...effectsGroup);for(let userProvidedEffectsGroup of userProvidedEffectsGroups)effects.push(...userProvidedEffectsGroup);return effects.map(effectsTokenOrRecord=>isToken(effectsTokenOrRecord)?inject2(effectsTokenOrRecord):effectsTokenOrRecord)}function _provideForRootGuard2(){let runner=inject2(EffectsRunner,{optional:!0,skipSelf:!0}),rootEffects=inject2(_ROOT_EFFECTS,{self:!0});if(!(rootEffects.length===1&&rootEffects[0].length===0)&&runner)throw new TypeError("EffectsModule.forRoot() called twice. Feature modules should use EffectsModule.forFeature() instead.");return"guarded"}var TEMPLATE_ID_TEMPLATE="{templateId}",VERSION_NR_TEMPLATE="{versionNr}",MAIN_PATH_TEMPLATE="{mainPath}";function mapPageComponentTemplateManifestToDefaultInputs(template){if(template?.inputs){let builder=_defaultPageComponentInputsFactory(template.inputs);return JSON.stringify(builder({}))}return"{}"}function mapPageComponentTemplateToCustomElementName(template){if(template?.configuredVersion)return template?.url?.includes(VERSION_NR_TEMPLATE)?`pct-${template.publicId}`:template.configuredVersion.mainPath?.split("/").pop()?.split(".").shift();if(template?.url&&/\/.*\./.test(template.url))return template.url.split("/").pop()?.split(".").shift()}function mapPageComponentTemplateToTemplateUrl(template){return template?.configuredVersion?_buildUrl(template):template.url}function mapPageComponentTemplateToTemplateBaseUrl(template){let url;return template.configuredVersion?url=_buildUrl(template)?.replace(new RegExp(template.configuredVersion.mainPath+"$"),""):url=template.url?.replace(/\/[^/]+$/,"/"),url?.startsWith("/")&&(url=new URL(url,document.location.origin).toString()),url}function _buildUrl(template,mainPath){if(template.configuredVersion&&template.url)return template.url.replace(TEMPLATE_ID_TEMPLATE,template.publicId).replace(VERSION_NR_TEMPLATE,template.configuredVersion.number||"-").replace(MAIN_PATH_TEMPLATE,mainPath||template.configuredVersion.mainPath||"-")}function _defaultPageComponentInputsFactory(schema,namespace=""){return function(inputs2){for(let item of schema)if(isObject_default(item)){let itemKeys=Object.keys(item);if(itemKeys.includes("type")&&itemKeys.includes("key")){let type2=item.type,key=`${namespace}${item.key}`;if(type2==="Group"&&itemKeys.includes("children")){set_default(inputs2,key,{}),_defaultPageComponentInputsFactory(item.children,`${key}.`)(inputs2);continue}if(type2==="List"){set_default(inputs2,key,[]);continue}itemKeys.includes("defaultValue")&&set_default(inputs2,key,item.defaultValue)}}return inputs2}}function mapTemplateUrlToManifestUrl(templateUrl){return templateUrl.slice(0,templateUrl.lastIndexOf("/"))+"/manifest.json"}var PageComponentTemplateManifestService=(()=>{class PageComponentTemplateManifestService2{constructor(){this.http=inject2(HttpClient)}getByTemplate(template){let templateUrl=mapPageComponentTemplateToTemplateUrl(template);if(!templateUrl)return throwError(()=>new Error(`Invalid template URL "${templateUrl}"`));let manifestUrl=mapTemplateUrlToManifestUrl(templateUrl);return this.http.get(manifestUrl).pipe(map(data=>({data:__spreadProps(__spreadValues({},data),{template:{publicId:template.publicId,reference:{name:"PageComponentTemplate"}}}),type:"PageComponentTemplateManifest"})))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateManifestService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentTemplateManifestService2,factory:PageComponentTemplateManifestService2.\u0275fac,providedIn:"root"})}}return PageComponentTemplateManifestService2})();function getInitialEntityState(){return{ids:[],entities:{}}}function createInitialStateFactory(){function getInitialState2(additionalState={}){return Object.assign(getInitialEntityState(),additionalState)}return{getInitialState:getInitialState2}}function createSelectorsFactory(){function getSelectors(selectState){let selectIds=state2=>state2.ids,selectEntities3=state2=>state2.entities,selectAll2=createSelector(selectIds,selectEntities3,(ids,entities)=>ids.map(id=>entities[id])),selectTotal=createSelector(selectIds,ids=>ids.length);return selectState?{selectIds:createSelector(selectState,selectIds),selectEntities:createSelector(selectState,selectEntities3),selectAll:createSelector(selectState,selectAll2),selectTotal:createSelector(selectState,selectTotal)}:{selectIds,selectEntities:selectEntities3,selectAll:selectAll2,selectTotal}}return{getSelectors}}var DidMutate=(function(DidMutate2){return DidMutate2[DidMutate2.EntitiesOnly=0]="EntitiesOnly",DidMutate2[DidMutate2.Both=1]="Both",DidMutate2[DidMutate2.None=2]="None",DidMutate2})(DidMutate||{});function createStateOperator(mutator){return function(arg,state2){let clonedEntityState={ids:[...state2.ids],entities:__spreadValues({},state2.entities)},didMutate=mutator(arg,clonedEntityState);return didMutate===DidMutate.Both?Object.assign({},state2,clonedEntityState):didMutate===DidMutate.EntitiesOnly?__spreadProps(__spreadValues({},state2),{entities:clonedEntityState.entities}):state2}}function selectIdValue(entity,selectId){let key=selectId(entity);return isDevMode()&&key===void 0&&console.warn("@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.","You should probably provide your own `selectId` implementation.","The entity that was passed:",entity,"The `selectId` implementation:",selectId.toString()),key}function createUnsortedStateAdapter(selectId){function addOneMutably(entity,state2){let key=selectIdValue(entity,selectId);return key in state2.entities?DidMutate.None:(state2.ids.push(key),state2.entities[key]=entity,DidMutate.Both)}function addManyMutably(entities,state2){let didMutate=!1;for(let entity of entities)didMutate=addOneMutably(entity,state2)!==DidMutate.None||didMutate;return didMutate?DidMutate.Both:DidMutate.None}function setAllMutably(entities,state2){return state2.ids=[],state2.entities={},addManyMutably(entities,state2),DidMutate.Both}function setOneMutably(entity,state2){let key=selectIdValue(entity,selectId);return key in state2.entities?(state2.entities[key]=entity,DidMutate.EntitiesOnly):(state2.ids.push(key),state2.entities[key]=entity,DidMutate.Both)}function setManyMutably(entities,state2){let didMutateSetOne=entities.map(entity=>setOneMutably(entity,state2));switch(!0){case didMutateSetOne.some(didMutate=>didMutate===DidMutate.Both):return DidMutate.Both;case didMutateSetOne.some(didMutate=>didMutate===DidMutate.EntitiesOnly):return DidMutate.EntitiesOnly;default:return DidMutate.None}}function removeOneMutably(key,state2){return removeManyMutably([key],state2)}function removeManyMutably(keysOrPredicate,state2){let didMutate=(keysOrPredicate instanceof Array?keysOrPredicate:state2.ids.filter(key=>keysOrPredicate(state2.entities[key]))).filter(key=>key in state2.entities).map(key=>delete state2.entities[key]).length>0;return didMutate&&(state2.ids=state2.ids.filter(id=>id in state2.entities)),didMutate?DidMutate.Both:DidMutate.None}function removeAll(state2){return Object.assign({},state2,{ids:[],entities:{}})}function takeNewKey(keys,update3,state2){let original=state2.entities[update3.id],updated=Object.assign({},original,update3.changes),newKey=selectIdValue(updated,selectId),hasNewKey=newKey!==update3.id;return hasNewKey&&(keys[update3.id]=newKey,delete state2.entities[update3.id]),state2.entities[newKey]=updated,hasNewKey}function updateOneMutably(update3,state2){return updateManyMutably([update3],state2)}function updateManyMutably(updates,state2){let newKeys={};return updates=updates.filter(update3=>update3.id in state2.entities),updates.length>0?updates.filter(update3=>takeNewKey(newKeys,update3,state2)).length>0?(state2.ids=state2.ids.map(id=>newKeys[id]||id),DidMutate.Both):DidMutate.EntitiesOnly:DidMutate.None}function mapMutably(map2,state2){let updates=state2.ids.reduce((changes2,id)=>{let change=map2(state2.entities[id]);return change!==state2.entities[id]&&changes2.push({id,changes:change}),changes2},[]).filter(({id})=>id in state2.entities);return updateManyMutably(updates,state2)}function mapOneMutably({map:map2,id},state2){let entity=state2.entities[id];if(!entity)return DidMutate.None;let updatedEntity=map2(entity);return updateOneMutably({id,changes:updatedEntity},state2)}function upsertOneMutably(entity,state2){return upsertManyMutably([entity],state2)}function upsertManyMutably(entities,state2){let added=[],updated=[];for(let entity of entities){let id=selectIdValue(entity,selectId);id in state2.entities?updated.push({id,changes:entity}):added.push(entity)}let didMutateByUpdated=updateManyMutably(updated,state2),didMutateByAdded=addManyMutably(added,state2);switch(!0){case(didMutateByAdded===DidMutate.None&&didMutateByUpdated===DidMutate.None):return DidMutate.None;case(didMutateByAdded===DidMutate.Both||didMutateByUpdated===DidMutate.Both):return DidMutate.Both;default:return DidMutate.EntitiesOnly}}return{removeAll,addOne:createStateOperator(addOneMutably),addMany:createStateOperator(addManyMutably),setAll:createStateOperator(setAllMutably),setOne:createStateOperator(setOneMutably),setMany:createStateOperator(setManyMutably),updateOne:createStateOperator(updateOneMutably),updateMany:createStateOperator(updateManyMutably),upsertOne:createStateOperator(upsertOneMutably),upsertMany:createStateOperator(upsertManyMutably),removeOne:createStateOperator(removeOneMutably),removeMany:createStateOperator(removeManyMutably),map:createStateOperator(mapMutably),mapOne:createStateOperator(mapOneMutably)}}function createSortedStateAdapter(selectId,sort){let{removeOne,removeMany,removeAll}=createUnsortedStateAdapter(selectId);function addOneMutably(entity,state2){return addManyMutably([entity],state2)}function addManyMutably(newModels,state2){let models=newModels.filter(model=>!(selectIdValue(model,selectId)in state2.entities));return models.length===0?DidMutate.None:(merge4(models,state2),DidMutate.Both)}function setAllMutably(models,state2){return state2.entities={},state2.ids=[],addManyMutably(models,state2),DidMutate.Both}function setOneMutably(entity,state2){let id=selectIdValue(entity,selectId);return id in state2.entities?(state2.ids=state2.ids.filter(val=>val!==id),merge4([entity],state2),DidMutate.Both):addOneMutably(entity,state2)}function setManyMutably(entities,state2){let didMutateSetOne=entities.map(entity=>setOneMutably(entity,state2));switch(!0){case didMutateSetOne.some(didMutate=>didMutate===DidMutate.Both):return DidMutate.Both;case didMutateSetOne.some(didMutate=>didMutate===DidMutate.EntitiesOnly):return DidMutate.EntitiesOnly;default:return DidMutate.None}}function updateOneMutably(update3,state2){return updateManyMutably([update3],state2)}function takeUpdatedModel(models,update3,state2){if(!(update3.id in state2.entities))return!1;let original=state2.entities[update3.id],updated=Object.assign({},original,update3.changes),newKey=selectIdValue(updated,selectId);return delete state2.entities[update3.id],models.push(updated),newKey!==update3.id}function updateManyMutably(updates,state2){let models=[],didMutateIds=updates.filter(update3=>takeUpdatedModel(models,update3,state2)).length>0;if(models.length===0)return DidMutate.None;{let originalIds=state2.ids,updatedIndexes=[];return state2.ids=state2.ids.filter((id,index)=>id in state2.entities?!0:(updatedIndexes.push(index),!1)),merge4(models,state2),!didMutateIds&&updatedIndexes.every(i=>state2.ids[i]===originalIds[i])?DidMutate.EntitiesOnly:DidMutate.Both}}function mapMutably(updatesOrMap,state2){let updates=state2.ids.reduce((changes,id)=>{let change=updatesOrMap(state2.entities[id]);return change!==state2.entities[id]&&changes.push({id,changes:change}),changes},[]);return updateManyMutably(updates,state2)}function mapOneMutably({map:map2,id},state2){let entity=state2.entities[id];if(!entity)return DidMutate.None;let updatedEntity=map2(entity);return updateOneMutably({id,changes:updatedEntity},state2)}function upsertOneMutably(entity,state2){return upsertManyMutably([entity],state2)}function upsertManyMutably(entities,state2){let added=[],updated=[];for(let entity of entities){let id=selectIdValue(entity,selectId);id in state2.entities?updated.push({id,changes:entity}):added.push(entity)}let didMutateByUpdated=updateManyMutably(updated,state2),didMutateByAdded=addManyMutably(added,state2);switch(!0){case(didMutateByAdded===DidMutate.None&&didMutateByUpdated===DidMutate.None):return DidMutate.None;case(didMutateByAdded===DidMutate.Both||didMutateByUpdated===DidMutate.Both):return DidMutate.Both;default:return DidMutate.EntitiesOnly}}function merge4(models,state2){models.sort(sort);let ids=[],i=0,j=0;for(;i<models.length&&j<state2.ids.length;){let model=models[i],modelId=selectIdValue(model,selectId),entityId=state2.ids[j],entity=state2.entities[entityId];sort(model,entity)<=0?(ids.push(modelId),i++):(ids.push(entityId),j++)}i<models.length?state2.ids=ids.concat(models.slice(i).map(selectId)):state2.ids=ids.concat(state2.ids.slice(j)),models.forEach((model,i2)=>{state2.entities[selectId(model)]=model})}return{removeOne,removeMany,removeAll,addOne:createStateOperator(addOneMutably),updateOne:createStateOperator(updateOneMutably),upsertOne:createStateOperator(upsertOneMutably),setAll:createStateOperator(setAllMutably),setOne:createStateOperator(setOneMutably),setMany:createStateOperator(setManyMutably),addMany:createStateOperator(addManyMutably),updateMany:createStateOperator(updateManyMutably),upsertMany:createStateOperator(upsertManyMutably),map:createStateOperator(mapMutably),mapOne:createStateOperator(mapOneMutably)}}function createEntityAdapter(options={}){let{selectId,sortComparer}={selectId:options.selectId??(entity=>entity.id),sortComparer:options.sortComparer??!1},stateFactory=createInitialStateFactory(),selectorsFactory=createSelectorsFactory(),stateAdapter=sortComparer?createSortedStateAdapter(selectId,sortComparer):createUnsortedStateAdapter(selectId);return __spreadValues(__spreadValues(__spreadValues({selectId,sortComparer},stateFactory),selectorsFactory),stateAdapter)}var adapter=createEntityAdapter({selectId:entity=>entity.template.publicId}),initialState=adapter.getInitialState({loaded:[],loading:[]}),reducer=createReducer(initialState,on(reset2,()=>__spreadValues({},initialState)),on(loadOne,(state2,{template})=>__spreadProps(__spreadValues({},state2),{loading:[...state2.loading,template.publicId]})),on(loadOneFailure,(state2,{template})=>__spreadProps(__spreadValues({},state2),{loading:state2.loading.filter(id=>id!==template.publicId)})),on(loadOneSuccess,(state2,{data})=>__spreadValues({},adapter.upsertOne(data,__spreadProps(__spreadValues({},state2),{loading:state2.loading.filter(id=>id!==data.template.publicId),loaded:[...state2.loaded,data.template.publicId]})))),on(loadMany,(state2,{templates})=>__spreadProps(__spreadValues({},state2),{loading:[...state2.loading,...templates.map(t=>t.publicId)]})),on(loadManyFailure,(state2,{templates})=>__spreadProps(__spreadValues({},state2),{loading:state2.loading.filter(id=>!templates.some(t=>t.publicId===id))})),on(loadManySuccess,(state2,{data})=>__spreadValues({},adapter.upsertMany(data,__spreadProps(__spreadValues({},state2),{loading:state2.loading.filter(id=>!data.some(manifest=>manifest.template.publicId===id)),loaded:[...state2.loaded,...data.map(manifest=>manifest.template.publicId)]}))))),feature=createFeature({name:FEATURE_NAME,reducer});var selectEntity=publicId=>createSelector(feature.selectEntities,entities=>entities[publicId]),{selectEntities,selectLoaded,selectLoading}=feature;var PageComponentTemplateManifestEffects=(()=>{class PageComponentTemplateManifestEffects2{constructor(){this.actions$=inject2(Actions),this.store=inject2(Store),this.service=inject2(PageComponentTemplateManifestService),this.ensureOne$=createEffect(()=>this.actions$.pipe(ofType(ensureOne),mergeMap(({template})=>combineLatest([this.store.select(selectLoading),this.store.select(selectLoaded)]).pipe(take(1),mergeMap(([loading,loaded])=>!loading.includes(template.publicId)&&!loaded.includes(template.publicId)?of(loadOne({template})):EMPTY))))),this.ensureMany$=createEffect(()=>this.actions$.pipe(ofType(ensureMany),mergeMap(({templates})=>combineLatest([this.store.select(selectLoading),this.store.select(selectLoaded)]).pipe(take(1),mergeMap(([loading,loaded])=>{let unloadedTemplates=templates.filter(t=>!loading.includes(t.publicId)&&!loaded.includes(t.publicId));return unloadedTemplates.length?of(loadMany({templates:unloadedTemplates})):EMPTY}))))),this.loadOne$=createEffect(()=>this.actions$.pipe(ofType(loadOne),mergeMap(({template})=>this.service.getByTemplate(template).pipe(map(({data})=>loadOneSuccess({template,data})),catchError(error=>of(loadOneFailure({template,error}))))))),this.loadMany$=createEffect(()=>this.actions$.pipe(ofType(loadMany),mergeMap(({templates})=>forkJoin(templates.map(template=>this.service.getByTemplate(template))).pipe(map(responses=>responses.map(res=>res.data)),map(data=>loadManySuccess({templates,data})),catchError(error=>of(loadManyFailure({templates,error})))))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateManifestEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentTemplateManifestEffects2,factory:PageComponentTemplateManifestEffects2.\u0275fac,providedIn:"root"})}}return PageComponentTemplateManifestEffects2})();var PageComponentTemplateManifestModule=(()=>{class PageComponentTemplateManifestModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateManifestModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:PageComponentTemplateManifestModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[IxApiModule,StoreModule.forFeature(feature),EffectsModule.forFeature([PageComponentTemplateManifestEffects])]})}}return PageComponentTemplateManifestModule2})();var import__=__toESM(require__());var component_manifest_exports={};__export(component_manifest_exports,{$id:()=>$id,$schema:()=>$schema,additionalProperties:()=>additionalProperties,default:()=>component_manifest_default,definitions:()=>definitions,properties:()=>properties,required:()=>required,type:()=>type});var $schema="https://json-schema.org/draft/2019-09/schema",type="object",properties={id:{type:"string"},description:{type:"string"},name:{type:"string"},version:{type:"string"},main:{type:"string"},inputs:{type:"array",items:{$ref:"#/definitions/input"}},sheetSettings:{type:"object",properties:{defaultCols:{type:"number"},defaultRows:{type:"number"},maxCols:{type:"number"},maxRows:{type:"number"},minCols:{type:"number"},minRows:{type:"number"}},required:["minCols","minRows"],additionalProperties:!1},cardSettings:{type:"object",properties:{defaultHeight:{type:"number"},maxHeight:{type:"number"},minHeight:{type:"number"}},required:["minHeight"],additionalProperties:!1},reportSettings:{type:"object",properties:{defaultCols:{type:"number"},defaultRows:{type:"number"},maxCols:{type:"number"},maxRows:{type:"number"},minCols:{type:"number"},minRows:{type:"number"}},required:["minCols","minRows"],additionalProperties:!1}},required=["version","main","inputs"],additionalProperties=!1,$id="http://ayayot.com/schemas/component-manifest.json",definitions={input:{anyOf:[{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleBooleanTypes"},defaultValue:{type:"boolean"},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleFileTypes"},multiple:{type:"boolean",default:!1},defaultValue:{type:"string"},size:{type:"object",properties:{max:{type:"number"}},required:["max"],additionalProperties:!1},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleNumberTypes"},defaultValue:{type:"number"},min:{type:"number"},max:{type:"number"},step:{type:"number"},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleSelectionTypes"},defaultValue:{type:["string","number"]},options:{type:"array",items:{type:"object",properties:{label:{type:"string",description:"A label describing the value"},shortLabel:{type:"string",description:"A label that is used if there is too little space for the full label"},value:{type:["string","number"]}},required:["label","value"],additionalProperties:!1}},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleResourceSelectionTypes"},resource:{type:"object",properties:{type:{type:"string",enum:["AgentDataVariable","AgentDataTag","AssetAppConfigResource"]},allowedTypes:{type:"array",items:{type:"string",enum:["bool","int","float","str"]}}},required:["type"],additionalProperties:!1},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","resource","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleTranslatableTypes"},defaultValue:{type:"string"},translate:{type:"boolean",default:!0},pattern:{type:"string",description:"Validation pattern, expressed as a JavaScript regular expression"},patternHint:{type:"string",description:"Hint to be displayed with the input when the pattern does not match"},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleStringTypes"},defaultValue:{type:"string"},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{disabled:{type:"boolean",default:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},type:{$ref:"#/definitions/simpleDateTypes"},defaultValue:{type:"string"},max:{type:"string",description:'Maximum selectable date, as an ISO date string (e.g. "2030-01-15").'},min:{type:"string",description:'Minimum selectable date, as an ISO date string (e.g. "2024-01-15").'},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{type:{$ref:"#/definitions/ListTypes"},itemType:{$ref:"#/definitions/input"},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]},{type:"object",additionalProperties:!1,properties:{type:{$ref:"#/definitions/groupTypes"},summary:{type:"object",properties:{label:{type:"string"},colorField:{type:"string"}},required:["label"],additionalProperties:!1},children:{type:"array",items:{$ref:"#/definitions/input"}},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["children","key","label","type"]},{type:"object",additionalProperties:!1,properties:{type:{$ref:"#/definitions/metricTypes"},allowedTypes:{type:"array",items:{type:"string",enum:["bool","int","float","str"]},description:"The types of tags or variables that are allowed for this metric. All types are allowed if empty ([]), null or not specified."},metric:{type:"object",properties:{source:{type:"string",enum:["auto","app"]}},required:["source"],additionalProperties:!1},placeholder:{type:"string"},required:{type:"boolean",default:!1},key:{type:"string"},description:{type:"string",description:"A Markdown or plain text string describing the input."},label:{type:"string"}},required:["key","label","type"]}]},simpleBooleanTypes:{type:"string",const:"Checkbox"},simpleFileTypes:{type:"string",const:"File"},simpleNumberTypes:{type:"string",const:"Number"},simpleSelectionTypes:{type:"string",const:"Selection"},simpleResourceSelectionTypes:{type:"string",const:"ResourceSelection"},simpleTranslatableTypes:{type:"string",enum:["RichText","String","Text"]},simpleStringTypes:{type:"string",enum:["Color","Icon","Image","MaterialIcon"]},simpleDateTypes:{type:"string",enum:["Date","DateTime"]},ListTypes:{type:"string",const:"List"},groupTypes:{type:"string",const:"Group"},metricTypes:{type:"string",enum:["LiveMetric","RawMetric","AggregatedMetric"]}},component_manifest_default={$schema,type,properties,required,additionalProperties,$id,definitions};function parseBody(body){let pattern=/customElements\s*\.\s*define\s*\(\s*('\S+'|"\S+")\s*,/,matches=body.match(pattern);return matches?.length&&matches[1]?{selector:matches[1].slice(1,matches[1].length-1)}:null}var validateManifest=new import__.default({strict:!1}).compile(component_manifest_exports);function validateUrl(string){let url;try{url=new URL(string)}catch(e){return!1}return url.protocol==="http:"||url.protocol==="https:"}var ComponentTemplateValidatorService=(()=>{class ComponentTemplateValidatorService2{constructor(){this.http=inject2(HttpClient)}validateByUrl(url,shouldRetry){return validateUrl(url)?this.http.get(url,{responseType:"text"}).pipe(debounceTime(200),retryBackoff({initialInterval:1e3,maxRetries:6,resetOnSuccess:!0,shouldRetry}),mergeMap(body=>parseBody(body)?this.http.get(mapTemplateUrlToManifestUrl(url)).pipe(map(manifest=>validateManifest(manifest)?{}:{manifestInvalid:!0}),catchError(()=>of({manifestMissing:!0}))):of({customElementDefMissing:!0})),catchError(()=>of({reqFailed:!0}))):of({urlInvalid:!0})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentTemplateValidatorService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ComponentTemplateValidatorService2,factory:ComponentTemplateValidatorService2.\u0275fac,providedIn:"root"})}}return ComponentTemplateValidatorService2})();function UrlValidator(templateValidator){return function(control){return templateValidator.validateByUrl(control.value,error=>error.status!==404)}}var DEFAULT_CARD_DIMENSIONS={type:"card",height:160,order:0},DEFAULT_SHEET_DIMENSIONS={type:"sheet",left:3,top:2,cols:6,rows:6,mobileHeight:null,mobileOrder:null},DEFAULT_REPORT_DIMENSIONS={type:"report",left:0,top:3,cols:6,rows:6},PAGE_COMPONENT={pageVersion:{publicId:"version",reference:{name:"PageVersion"}},dimensions:DEFAULT_SHEET_DIMENSIONS,inputs:"{}",publicId:"component",pagePage:{publicId:"pagepage"},template:{publicId:mapTemplateUrlToPublicId(sessionStorage.getItem("pct-url")),reference:{name:"PageComponentTemplate"}}},ONE_WEEK=Math.floor(Date.now()/1e3)+1440*60*7;var add2=createAction("[App] Add PageComponent",props()),addFailure2=createAction("[IxApi] Add PageComponent Failure",props()),addSuccess2=createAction("[IxApi] Add PageComponent Success",props()),didAdd2=createAction("[ChangeNotification] PageComponent Was Added",props()),didAddList=createAction("[ChangeNotification] PageComponent List Was Added",props()),didRemove2=createAction("[ChangeNotification] PageComponent Was Removed",props()),didRemoveList=createAction("[ChangeNotification] PageComponent List Was Removed",props()),didUpdate2=createAction("[ChangeNotification] PageComponent Was Updated",props()),didUpdateList=createAction("[ChangeNotification] PageComponent List Was Updated",props()),remove2=createAction("[App] Remove PageComponent",props()),removeFailure=createAction("[IxApi] Remove PageComponent Failure",props()),removeSuccess=createAction("[IxApi] Remove PageComponent Success",props()),update2=createAction("[App] Update PageComponent",props()),updateFailure2=createAction("[IxApi] Update PageComponent Failure",props()),updateSuccess2=createAction("[IxApi] Update PageComponent Success",props()),updateMany=createAction("[App] Update Many PageComponents",props()),updateManyFailure=createAction("[IxApi] Update Many PageComponents Failure",props()),updateManySuccess=createAction("[IxApi] Update Many PageComponents Success",props()),reset3=createAction("[App] Reset PageComponent State"),resetPendingUpdates=createAction("[App] Reset PageComponent Pending Updates State");var RESOURCE_LIST_FIELD_MATCHER=/agents\.|connectedUsers\.|dataConditions\.|dataSources\.|dataTags\.|dataVariables\.|devices\.|groups\.|invites\.|memberships\.|pageLinks\.|pagePages\.|resources\.|^scheduledAccessRequests\.|^servers.|users\./g;function buildFields(query2){let fields=[],namespaces=[],tokens=query2.match(/[a-zA-Z0-9*.]+|[{}()]/g)??[];for(let i=0;i<tokens.length;i++){let part=tokens[i],nextPart=tokens[i+1];if(!(nextPart==="{"||nextPart==="("))if(part==="{"||part==="("){let prevPart=tokens[i-1];prevPart&&namespaces.push(prevPart)}else if(part==="}"||part===")")namespaces.pop();else{let ns=namespaces.join(".");fields.push(ns?`${ns}.${part}`:part)}}return fields}function compactFields(fields){let objectToNestedString=obj=>{let keys=Object.keys(obj);return keys.length===0?"":keys.map(key=>{let nestedValue=objectToNestedString(obj[key]);return nestedValue?`${key}(${nestedValue})`:key}).join(",")},fieldsObj=fields.reduce((obj,field)=>set_default(obj,field,{}),{}),output2=objectToNestedString(fieldsObj);return output2=output2.replace(/\(publicId,reference\(name\)\)/g,""),output2}function getMissingFields(resource2,fields,requireResourceIds=!1){return fields.reduce((missingFields,field,index,all)=>{if(requireResourceIds&&field.endsWith("publicId"))if(field.includes(".")){let prefix=field.slice(0,field.lastIndexOf(".")+1);if(all.filter((_,i)=>i!==index).some(f=>f.startsWith(prefix)))return[...missingFields,field]}else return[...missingFields,field];return(Array.isArray(resource2)?resource2.every(r=>hasField(r,field)):hasField(resource2,field))?missingFields:[...missingFields,field]},[])}function haveFields(resoures,fields){return!resoures||!fields?!1:resoures.every(resource2=>fields.every(field=>hasField(resource2,field)))}function hasFields(resource2,fields){return!resource2||!fields?!1:fields.every(field=>hasField(resource2,field))}function hasField(resource2,field){if(!resource2||!field)return!1;if(RESOURCE_LIST_FIELD_MATCHER.test(field)){let matches=field.match(RESOURCE_LIST_FIELD_MATCHER);if(matches.length){let match2=matches[0],subResourcePath=field.slice(0,field.indexOf(match2)+match2.length-1),subResourceList=get_default(resource2,subResourcePath);if(!subResourceList)return!1;if(subResourceList.length===0)return!0;let path=field.slice(field.indexOf(match2)+match2.length),someUndefined=subResourceList.some(res=>hasUndefinedInPath(res,path,!0)),everyUndefined=subResourceList.every(res=>hasUndefinedInPath(res,path,!1)),someHasField=subResourceList.some(res=>hasField(res,path));return someUndefined&&someHasField?path.split(".").length===1:!!(!someUndefined&&someHasField)}}let firstSegmentEnd=field.indexOf(".");if(firstSegmentEnd>0){let firstSegment=field.slice(0,firstSegmentEnd),subResource=get_default(resource2,firstSegment);if(typeof subResource>"u")return!1;if(!subResource)return!0;let field1=field.slice(firstSegmentEnd+1);return hasField(subResource,field1)}return has_default(resource2,field)}function hasNonPublicIdFields(resources,path){let has,index=0;if(resources)for(;has===void 0;){let resource2=resources[index];if(!resource2)break;let items=get_default(resource2,path,[]);if(items?.length){let fields=Object.keys(items[0]);has=fields.length>1||fields.length===0&&fields[0]!==void 0&&fields[0]!=="publicId"}else index++}return!!has}function hasUndefinedInPath(resource2,field,some){let firstSegmentEnd=field.indexOf(".");if(firstSegmentEnd>0){let firstSegment=field.slice(0,firstSegmentEnd),subResource=get_default(resource2,firstSegment);if(typeof subResource>"u")return!0;if(subResource){if(isArray_default(subResource))return some?subResource.some(res=>hasUndefinedInPath(res,field.slice(firstSegmentEnd+1),some)):subResource.every(res=>hasUndefinedInPath(res,field.slice(firstSegmentEnd+1),some))}else return!1;return hasUndefinedInPath(subResource,field.slice(firstSegmentEnd+1),some)}return typeof get_default(resource2,field)>"u"}function _setField(target,source,field,listPathMatcher){if(field){if(listPathMatcher?.test(field)){let matches=field.match(listPathMatcher);if(matches.length){if(matches.length===1){let match2=matches[0],path=match2.slice(0,-1);if(has_default(source,path)){let items=get_default(source,path,[]);items.length?items.forEach((item,i)=>{let itemField=field.slice(match2.length);if(has_default(item,itemField))set_default(target,`${path}[${i}].${itemField}`,get_default(item,itemField));else{let closestItemField=_findClosestField(item,itemField);if(closestItemField){let closest=get_default(item,closestItemField);if(isArray_default(closest)&&closest.length){let closestItemSubfield=itemField.slice(closestItemField.length+1);closest.forEach((item2,j)=>{set_default(target,`${path}[${i}]${closestItemField}[${j}]${closestItemSubfield}`,get_default(item2,closestItemSubfield))})}else set_default(target,`${path}[${i}]${closestItemField}`,closest)}}}):set_default(target,path,[])}}return target}}if(has_default(source,field))return set_default(target,field,get_default(source,field));let closestField=_findClosestField(source,field);if(closestField)return set_default(target,closestField,get_default(source,closestField))}return target}function _findClosestField(source,searchField){let parts=searchField.split("."),closestField,matched=!1;for(;!matched;){parts.pop();let parentField=parts.join(".");if(!parts.length)matched=!0;else{let parentValue=get_default(source,parentField);(parentValue===null||isArray_default(parentValue))&&(closestField=parentField,matched=!0)}}return closestField}function setFields(target,source,fields,listPathMatcher=RESOURCE_LIST_FIELD_MATCHER){return fields&&fields.forEach(field=>_setField(target,source,field,listPathMatcher)),target}var omitLoadedFields=options=>source=>new Observable(observer=>source.pipe(withLatestFrom(...Object.values(options))).subscribe({next([action,...loaded]){let nextFields=action.fields,originalFields=action.fields;Object.keys(options).forEach((ns,i)=>{loaded[i]&&action.fields.some(f=>f.startsWith(`${ns}.`)&&f!==`${ns}.publicId`)&&(nextFields=nextFields.filter(f=>f===`${ns}.publicId`||!f.startsWith(`${ns}.`)))}),observer.next(__spreadProps(__spreadValues({},action),{fields:nextFields,originalFields}))},error(err){observer.error(err)},complete(){observer.complete()}}));var FEATURE_NAME2="pageComponentTemplate",FIELDS=buildFields(`
51
51
  {
52
52
  backendComponent { publicId reference { name } }
53
53
  cardSettings
@@ -72,7 +72,7 @@ ${errors.map((err,i)=>`${i+1}) ${err.toString()}`).join(`
72
72
  `),SUBRESOURCE_PATH_TO_FEATURE_NAME=new Map([["category","pageComponentTemplateCategory"],["company","company"],["configuredVersion","pageComponentTemplateVersion"],["draft","pageComponentTemplateVersion"],["published","pageComponentTemplateVersion"]]),SUBRESOURCE_PATHS=[...SUBRESOURCE_PATH_TO_FEATURE_NAME.keys(),"backendComponent"];var PageComponentTemplateService=(()=>{class PageComponentTemplateService2{constructor(){this.api=inject2(IxApiService),this.http=inject2(HttpClient)}add(body){let url=this.api.url("PageComponentTemplateList"),context2=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context2,headers};return this.http.post(url,body,options)}getAll(fields,filters){return whileMoreAfter(moreAfter=>this.getList(fields,filters,moreAfter))}getAllForIntent(intent,fields){return this.getAll(fields,`listcontains(intent,"${intent}")`)}getList(fields,filters,pageAfter,pageSize){let url=this.api.url("PageComponentTemplateList"),context2=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues(__spreadValues({fields:fields.join(",")},filters?{filters}:{}),getPageParams(pageAfter,pageSize))}),options={context:context2,headers,params};return this.http.get(url,options)}updateByPublicId(publicId,body){let url=this.api.url("PageComponentTemplate",{publicId}),context2=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context2,headers};return this.http.patch(url,body,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentTemplateService2,factory:PageComponentTemplateService2.\u0275fac,providedIn:"root"})}}return PageComponentTemplateService2})();var ResourceDataClientProxyEventType=(function(ResourceDataClientProxyEventType2){return ResourceDataClientProxyEventType2.Add="ayayot.resourcedata.add",ResourceDataClientProxyEventType2.Added="ayayot.resourcedata.added",ResourceDataClientProxyEventType2.Query="ayayot.resourcedata.query",ResourceDataClientProxyEventType2.Results="ayayot.resourcedata.results",ResourceDataClientProxyEventType2.Update="ayayot.resourcedata.update",ResourceDataClientProxyEventType2.Updated="ayayot.resourcedata.updated",ResourceDataClientProxyEventType2.Remove="ayayot.resourcedata.remove",ResourceDataClientProxyEventType2.Removed="ayayot.resourcedata.removed",ResourceDataClientProxyEventType2})(ResourceDataClientProxyEventType||{});var objectToString=Object.prototype.toString,isArray5=Array.isArray||function(object){return objectToString.call(object)==="[object Array]"};function isFunction6(object){return typeof object=="function"}function typeStr(obj){return isArray5(obj)?"array":typeof obj}function escapeRegExp(string){return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function hasProperty(obj,propName){return obj!=null&&typeof obj=="object"&&propName in obj}function primitiveHasOwnProperty(primitive,propName){return primitive!=null&&typeof primitive!="object"&&primitive.hasOwnProperty&&primitive.hasOwnProperty(propName)}var regExpTest=RegExp.prototype.test;function testRegExp(re,string){return regExpTest.call(re,string)}var nonSpaceRe=/\S/;function isWhitespace(string){return!testRegExp(nonSpaceRe,string)}var entityMap={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function escapeHtml(string){return String(string).replace(/[&<>"'`=\/]/g,function(s){return entityMap[s]})}var whiteRe=/\s*/,spaceRe=/\s+/,equalsRe=/\s*=/,curlyRe=/\s*\}/,tagRe=/#|\^|\/|>|\{|&|=|!/;function parseTemplate(template,tags){if(!template)return[];var lineHasNonSpace=!1,sections=[],tokens=[],spaces=[],hasTag=!1,nonSpace=!1,indentation="",tagIndex=0;function stripSpace(){if(hasTag&&!nonSpace)for(;spaces.length;)delete tokens[spaces.pop()];else spaces=[];hasTag=!1,nonSpace=!1}var openingTagRe,closingTagRe,closingCurlyRe;function compileTags(tagsToCompile){if(typeof tagsToCompile=="string"&&(tagsToCompile=tagsToCompile.split(spaceRe,2)),!isArray5(tagsToCompile)||tagsToCompile.length!==2)throw new Error("Invalid tags: "+tagsToCompile);openingTagRe=new RegExp(escapeRegExp(tagsToCompile[0])+"\\s*"),closingTagRe=new RegExp("\\s*"+escapeRegExp(tagsToCompile[1])),closingCurlyRe=new RegExp("\\s*"+escapeRegExp("}"+tagsToCompile[1]))}compileTags(tags||mustache.tags);for(var scanner=new Scanner(template),start,type2,value,chr,token,openSection;!scanner.eos();){if(start=scanner.pos,value=scanner.scanUntil(openingTagRe),value)for(var i=0,valueLength=value.length;i<valueLength;++i)chr=value.charAt(i),isWhitespace(chr)?(spaces.push(tokens.length),indentation+=chr):(nonSpace=!0,lineHasNonSpace=!0,indentation+=" "),tokens.push(["text",chr,start,start+1]),start+=1,chr===`
73
73
  `&&(stripSpace(),indentation="",tagIndex=0,lineHasNonSpace=!1);if(!scanner.scan(openingTagRe))break;if(hasTag=!0,type2=scanner.scan(tagRe)||"name",scanner.scan(whiteRe),type2==="="?(value=scanner.scanUntil(equalsRe),scanner.scan(equalsRe),scanner.scanUntil(closingTagRe)):type2==="{"?(value=scanner.scanUntil(closingCurlyRe),scanner.scan(curlyRe),scanner.scanUntil(closingTagRe),type2="&"):value=scanner.scanUntil(closingTagRe),!scanner.scan(closingTagRe))throw new Error("Unclosed tag at "+scanner.pos);if(type2==">"?token=[type2,value,start,scanner.pos,indentation,tagIndex,lineHasNonSpace]:token=[type2,value,start,scanner.pos],tagIndex++,tokens.push(token),type2==="#"||type2==="^")sections.push(token);else if(type2==="/"){if(openSection=sections.pop(),!openSection)throw new Error('Unopened section "'+value+'" at '+start);if(openSection[1]!==value)throw new Error('Unclosed section "'+openSection[1]+'" at '+start)}else type2==="name"||type2==="{"||type2==="&"?nonSpace=!0:type2==="="&&compileTags(value)}if(stripSpace(),openSection=sections.pop(),openSection)throw new Error('Unclosed section "'+openSection[1]+'" at '+scanner.pos);return nestTokens(squashTokens(tokens))}function squashTokens(tokens){for(var squashedTokens=[],token,lastToken,i=0,numTokens=tokens.length;i<numTokens;++i)token=tokens[i],token&&(token[0]==="text"&&lastToken&&lastToken[0]==="text"?(lastToken[1]+=token[1],lastToken[3]=token[3]):(squashedTokens.push(token),lastToken=token));return squashedTokens}function nestTokens(tokens){for(var nestedTokens=[],collector=nestedTokens,sections=[],token,section,i=0,numTokens=tokens.length;i<numTokens;++i)switch(token=tokens[i],token[0]){case"#":case"^":collector.push(token),sections.push(token),collector=token[4]=[];break;case"/":section=sections.pop(),section[5]=token[2],collector=sections.length>0?sections[sections.length-1][4]:nestedTokens;break;default:collector.push(token)}return nestedTokens}function Scanner(string){this.string=string,this.tail=string,this.pos=0}Scanner.prototype.eos=function(){return this.tail===""};Scanner.prototype.scan=function(re){var match2=this.tail.match(re);if(!match2||match2.index!==0)return"";var string=match2[0];return this.tail=this.tail.substring(string.length),this.pos+=string.length,string};Scanner.prototype.scanUntil=function(re){var index=this.tail.search(re),match2;switch(index){case-1:match2=this.tail,this.tail="";break;case 0:match2="";break;default:match2=this.tail.substring(0,index),this.tail=this.tail.substring(index)}return this.pos+=match2.length,match2};function Context(view,parentContext){this.view=view,this.cache={".":this.view},this.parent=parentContext}Context.prototype.push=function(view){return new Context(view,this)};Context.prototype.lookup=function(name){var cache=this.cache,value;if(cache.hasOwnProperty(name))value=cache[name];else{for(var context2=this,intermediateValue,names,index,lookupHit=!1;context2;){if(name.indexOf(".")>0)for(intermediateValue=context2.view,names=name.split("."),index=0;intermediateValue!=null&&index<names.length;)index===names.length-1&&(lookupHit=hasProperty(intermediateValue,names[index])||primitiveHasOwnProperty(intermediateValue,names[index])),intermediateValue=intermediateValue[names[index++]];else intermediateValue=context2.view[name],lookupHit=hasProperty(context2.view,name);if(lookupHit){value=intermediateValue;break}context2=context2.parent}cache[name]=value}return isFunction6(value)&&(value=value.call(this.view)),value};function Writer(){this.templateCache={_cache:{},set:function(key,value){this._cache[key]=value},get:function(key){return this._cache[key]},clear:function(){this._cache={}}}}Writer.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};Writer.prototype.parse=function(template,tags){var cache=this.templateCache,cacheKey=template+":"+(tags||mustache.tags).join(":"),isCacheEnabled=typeof cache<"u",tokens=isCacheEnabled?cache.get(cacheKey):void 0;return tokens==null&&(tokens=parseTemplate(template,tags),isCacheEnabled&&cache.set(cacheKey,tokens)),tokens};Writer.prototype.render=function(template,view,partials,config2){var tags=this.getConfigTags(config2),tokens=this.parse(template,tags),context2=view instanceof Context?view:new Context(view,void 0);return this.renderTokens(tokens,context2,partials,template,config2)};Writer.prototype.renderTokens=function(tokens,context2,partials,originalTemplate,config2){for(var buffer2="",token,symbol,value,i=0,numTokens=tokens.length;i<numTokens;++i)value=void 0,token=tokens[i],symbol=token[0],symbol==="#"?value=this.renderSection(token,context2,partials,originalTemplate,config2):symbol==="^"?value=this.renderInverted(token,context2,partials,originalTemplate,config2):symbol===">"?value=this.renderPartial(token,context2,partials,config2):symbol==="&"?value=this.unescapedValue(token,context2):symbol==="name"?value=this.escapedValue(token,context2,config2):symbol==="text"&&(value=this.rawValue(token)),value!==void 0&&(buffer2+=value);return buffer2};Writer.prototype.renderSection=function(token,context2,partials,originalTemplate,config2){var self2=this,buffer2="",value=context2.lookup(token[1]);function subRender(template){return self2.render(template,context2,partials,config2)}if(value){if(isArray5(value))for(var j=0,valueLength=value.length;j<valueLength;++j)buffer2+=this.renderTokens(token[4],context2.push(value[j]),partials,originalTemplate,config2);else if(typeof value=="object"||typeof value=="string"||typeof value=="number")buffer2+=this.renderTokens(token[4],context2.push(value),partials,originalTemplate,config2);else if(isFunction6(value)){if(typeof originalTemplate!="string")throw new Error("Cannot use higher-order sections without the original template");value=value.call(context2.view,originalTemplate.slice(token[3],token[5]),subRender),value!=null&&(buffer2+=value)}else buffer2+=this.renderTokens(token[4],context2,partials,originalTemplate,config2);return buffer2}};Writer.prototype.renderInverted=function(token,context2,partials,originalTemplate,config2){var value=context2.lookup(token[1]);if(!value||isArray5(value)&&value.length===0)return this.renderTokens(token[4],context2,partials,originalTemplate,config2)};Writer.prototype.indentPartial=function(partial,indentation,lineHasNonSpace){for(var filteredIndentation=indentation.replace(/[^ \t]/g,""),partialByNl=partial.split(`
74
74
  `),i=0;i<partialByNl.length;i++)partialByNl[i].length&&(i>0||!lineHasNonSpace)&&(partialByNl[i]=filteredIndentation+partialByNl[i]);return partialByNl.join(`
75
- `)};Writer.prototype.renderPartial=function(token,context2,partials,config2){if(partials){var tags=this.getConfigTags(config2),value=isFunction6(partials)?partials(token[1]):partials[token[1]];if(value!=null){var lineHasNonSpace=token[6],tagIndex=token[5],indentation=token[4],indentedValue=value;tagIndex==0&&indentation&&(indentedValue=this.indentPartial(value,indentation,lineHasNonSpace));var tokens=this.parse(indentedValue,tags);return this.renderTokens(tokens,context2,partials,indentedValue,config2)}}};Writer.prototype.unescapedValue=function(token,context2){var value=context2.lookup(token[1]);if(value!=null)return value};Writer.prototype.escapedValue=function(token,context2,config2){var escape2=this.getConfigEscape(config2)||mustache.escape,value=context2.lookup(token[1]);if(value!=null)return typeof value=="number"&&escape2===mustache.escape?String(value):escape2(value)};Writer.prototype.rawValue=function(token){return token[1]};Writer.prototype.getConfigTags=function(config2){return isArray5(config2)?config2:config2&&typeof config2=="object"?config2.tags:void 0};Writer.prototype.getConfigEscape=function(config2){if(config2&&typeof config2=="object"&&!isArray5(config2))return config2.escape};var mustache={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(cache){defaultWriter.templateCache=cache},get templateCache(){return defaultWriter.templateCache}},defaultWriter=new Writer;mustache.clearCache=function(){return defaultWriter.clearCache()};mustache.parse=function(template,tags){return defaultWriter.parse(template,tags)};mustache.render=function(template,view,partials,config2){if(typeof template!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+typeStr(template)+'" was given as the first argument for mustache#render(template, view, partials)');return defaultWriter.render(template,view,partials,config2)};mustache.escape=escapeHtml;mustache.Scanner=Scanner;mustache.Context=Context;mustache.Writer=Writer;var mustache_default=mustache;function extractResourcesFromTemplate(template){let parsedTemplate;try{parsedTemplate=mustache_default.parse(template)}catch(error){return console.log("Template parsing error:",error.message),[]}return parsedTemplate.length>0?parsedTemplate.filter(keyValue=>["name","&"].includes(keyValue[0])).map(keyValue=>keyValue[1]).filter(field=>/agent|asset\./.test(field)).map(field=>{let customPattern=/(agent|asset)\.custom\.\S+/;return customPattern.test(field)?field.replace(customPattern,"$1.custom"):field}):[]}function extractResourcesFromTemplates(templates){return uniq_default(flatten_default(templates.map(extractResourcesFromTemplate)))}function resourceCustomizer(value,srcValue){if(isArray_default(value)&&isArray_default(srcValue)){if(!srcValue.length)return srcValue;if(has_default(value,"[0].publicId")&&has_default(srcValue,"[0].publicId"))return srcValue.map(item=>merge3({},value.find(({publicId})=>publicId===item.publicId),item));if(srcValue.length&&value.length)return srcValue}}function merge3(object,...otherArgs){return mergeWith_default(object,...otherArgs,resourceCustomizer)}function omitSubresources(object,paths){let data=object;if(paths.length){data=clone_default(object);for(let _path of paths){let path=_path.endsWith("[]")?_path.slice(0,-2):_path,result=get_default(object,path);if(isArray_default(result)){let subresourceList=result.map(o=>({publicId:o.publicId}));setWith_default(data,path,subresourceList,clone_default)}else if(isObject_default(result)&&result.publicId){let subresource={publicId:result.publicId};setWith_default(data,path,subresource,clone_default)}}}return data}function updateResource(object,...otherArgs){return merge3({},object,...otherArgs)}function mergeLoadedFields(id,loadedFields,fields){return __spreadProps(__spreadValues({},loadedFields),{[id]:loadedFields[id]?uniq_default([...loadedFields[id],...fields]):fields})}function mergeFields(fields1,fields2){return uniq_default([...fields1,...fields2])}function createResourceSelectorFactory(selector,map2=new Map([])){return function(fields){let mappings=[];return map2.forEach((featureName,subresourcePath)=>{let iterable=subresourcePath.endsWith("[]"),path=iterable?subresourcePath.slice(0,-2):subresourcePath;if(fields.some(field=>field==="*"||field.startsWith(`${path}.`))){let selector2=createFeatureSelector(featureName);mappings.push({iterable,path,selector:selector2})}}),createSelectorFactory(defaultMemoize)(selector,...mappings.map(s=>s.selector),(state2,...others)=>{let source=state2,selectorIsArray=isArray_default(state2),selectorIsObject=isObject_default(state2);others.length&&(source=(others.length===mappings.length+1?others.slice(0,-1):[...others]).reduce((combinedState,featureState,i)=>featureState===void 0?combinedState:selectorIsArray?combinedState.map(item=>_reduceCombinedState(item,featureState,mappings[i])):selectorIsObject?_reduceCombinedState(combinedState,featureState,mappings[i]):combinedState,state2));let iterablePaths=[...map2.keys()].filter(key=>key.endsWith("[]")),listPathMatcher=iterablePaths.length?new RegExp(iterablePaths.map(key=>`^${key.slice(0,-2)}.`).join("|"),"g"):null;return selectorIsArray?source.map(src=>setFields({},src,fields,listPathMatcher)):selectorIsObject?setFields({},source,fields,listPathMatcher):null})}}function mapResourceToSubResourceList(resource2,subResourcePath,subResourceReferencePath,subResourceReferenceName){if(has_default(resource2,subResourcePath)){let reference={publicId:resource2.publicId,reference:{name:subResourceReferenceName}};return get_default(resource2,subResourcePath,[]).map(item=>has_default(item,subResourceReferencePath)?item:__spreadProps(__spreadValues({},item),{[subResourceReferencePath]:reference}))}return[]}function _reduceCombinedState(item,entityState,mapping){if(!mapping||!has_default(item,mapping.path))return item;if(mapping.iterable){let list=sortSubResourceList(uniqBy_default(get_default(item,mapping.path,[]).map(r=>entityState.entities[r.publicId]||r),"publicId"));return setWith_default(clone_default(item),mapping.path,list,clone_default)}let entity=entityState.entities[get_default(item,`${mapping.path}.publicId`)];return entity!==void 0?setWith_default(clone_default(item),mapping.path,entity,clone_default):item}function sortSubResourceList(list){return hasField(list?.[0]??void 0,"name")?list.sort((a,b)=>sortByNameAndPublicIdComparer(a,b)):list=sortBy_default(list,["publicId"]),list}var nameCollator2=new Intl.Collator(JSON.parse(localStorage.getItem("ix-locale")??"{}").value,{caseFirst:"upper"});function sortByNameAndPublicIdComparer(a,b){return(a.name||b.name)&&sortByNameComparer(a,b)||sortByPublicIdComparer(a,b)}function sortByNameComparer(a,b){return a.name?nameCollator2.compare(a.name,b.name||""):-1}function sortByPublicIdComparer(a,b){return a.publicId<b.publicId?-1:a.publicId>b.publicId?1:0}function createClientRef(clientId,eventId,appId,scope){return`yot:rdc${typeof scope=="string"?`.s:${scope}`:""}${appId?`.a:${appId}`:""}.c:${clientId}.e:${eventId}`}function findAppIdInClientRef(ref){return ref.match(/\.a:([^.]+)/)?.[1]??void 0}function findAppId(target){if(target?._clientRef)return findAppIdInClientRef(target._clientRef)}var ResourceDataClient=class{constructor(id,scope,mode="view",backendComponentId){this.id=id,this.scope=scope,this.mode=mode,this.backendComponentId=backendComponentId,this._destroyed=!1,this._queryListenerRefs=[],this._addListenerRefs=[],this._updateListenerRefs=[],this._removeListenerRefs=[],this._uid=0,this._onAdded=this._onAdded.bind(this),this._onResults=this._onResults.bind(this),this._onUpdated=this._onUpdated.bind(this),this._onRemoved=this._onRemoved.bind(this),window.addEventListener(ResourceDataClientProxyEventType.Added,this._onAdded,!0),window.addEventListener(ResourceDataClientProxyEventType.Results,this._onResults,!0),window.addEventListener(ResourceDataClientProxyEventType.Updated,this._onUpdated,!0),window.addEventListener(ResourceDataClientProxyEventType.Removed,this._onRemoved,!0)}_destroy(){this._destroyed||window.removeEventListener(ResourceDataClientProxyEventType.Results,this._onResults,!0),this._destroyed=!0}_onRemoved(event){event.detail.scope===this.scope&&(this._removeListenerRefs.forEach(({clientRef,resolve})=>{clientRef===event.detail.remove._clientRef&&resolve()}),this._removeListenerRefs.splice(this._removeListenerRefs.findIndex(listener=>listener.clientRef===event.detail.remove._clientRef),1))}_onAdded(event){event.detail.scope===this.scope&&(this._addListenerRefs.forEach(({clientRef,resolve})=>{clientRef===event.detail.add._clientRef&&resolve()}),this._addListenerRefs.splice(this._addListenerRefs.findIndex(listener=>listener.clientRef===event.detail.add._clientRef),1))}_onResults(event){event.detail.scope===this.scope&&this._queryListenerRefs.forEach(({clientRefs,listener})=>{let results=event.detail.results.filter(resource2=>resource2.query._clientRef?(isArray_default(resource2.query._clientRef)?resource2.query._clientRef:[resource2.query._clientRef]).some(ref=>clientRefs.includes(ref)):!1);results.length&&listener(results)})}_onUpdated(event){event.detail.scope===this.scope&&(this._updateListenerRefs.forEach(({clientRef,resolve})=>{clientRef===event.detail.update._clientRef&&resolve()}),this._updateListenerRefs.splice(this._updateListenerRefs.findIndex(listener=>listener.clientRef===event.detail.update._clientRef),1))}add(addCall){return new Promise(resolve=>{let{backendComponentId,id,scope}=this,clientRef=createClientRef(id,this._uid++,backendComponentId,scope),add3=__spreadProps(__spreadValues({},addCall),{_clientRef:clientRef}),addListenerRef={clientRef,resolve};this._addListenerRefs.push(addListenerRef);let event=new CustomEvent(ResourceDataClientProxyEventType.Add,{detail:{add:add3,scope,backendComponentId:this.backendComponentId}});window.dispatchEvent(event)})}destroy(){this._destroy()}query(query2,listener){let{backendComponentId,id,scope}=this,clientRef=createClientRef(id,this._uid++,backendComponentId,scope),queries=(Array.isArray(query2)?query2:[query2]).map(q=>__spreadProps(__spreadValues({},q),{_clientRef:clientRef})),listenerRef={clientRefs:queries.map(q=>q._clientRef),listener};this._queryListenerRefs.push(listenerRef);let event=new CustomEvent(ResourceDataClientProxyEventType.Query,{detail:{queries,scope,backendComponentId:this.backendComponentId}});return window.dispatchEvent(event),()=>{this._queryListenerRefs.splice(this._queryListenerRefs.indexOf(listenerRef),1)}}remove(removeCall){return new Promise(resolve=>{let{backendComponentId,id,scope}=this,clientRef=createClientRef(id,this._uid++,backendComponentId,scope),remove3=__spreadProps(__spreadValues({},removeCall),{_clientRef:clientRef}),removeListenerRef={clientRef,resolve};this._removeListenerRefs.push(removeListenerRef);let event=new CustomEvent(ResourceDataClientProxyEventType.Remove,{detail:{remove:remove3,scope,backendComponentId:this.backendComponentId}});window.dispatchEvent(event)})}render(templates,listener){let fields=extractResourcesFromTemplates(templates.map(t=>t.template));this.mode==="edit"&&listener(templates.map(q=>q.template));let queries=[];return fields.some(f=>f.startsWith("agent."))&&queries.push({selector:"Agent",fields:fields.filter(f=>f.startsWith("agent.")).map(f=>f.slice(6))}),fields.some(f=>f.startsWith("asset."))&&queries.push({selector:"Asset",fields:fields.filter(f=>f.startsWith("asset.")).map(f=>f.slice(6))}),queries.length?this.query(queries,results=>{let params=results.reduce((acc,result)=>__spreadProps(__spreadValues({},acc),{[result.query.selector.toLowerCase()]:result.data}),{}),rendered=templates.map(templateQuery=>mustache_default.render(templateQuery.template,params));listener(rendered)}):(listener(templates.map(q=>q.template)),()=>{})}update(updateCall){return new Promise(resolve=>{let{backendComponentId,id,scope}=this,clientRef=createClientRef(id,this._uid++,backendComponentId,scope),update3=__spreadProps(__spreadValues({},updateCall),{_clientRef:clientRef}),updateListenerRef={clientRef,resolve};this._updateListenerRefs.push(updateListenerRef);let event=new CustomEvent(ResourceDataClientProxyEventType.Update,{detail:{update:update3,scope,backendComponentId:this.backendComponentId}});window.dispatchEvent(event)})}};var ResourceDataClientProxyService=(()=>{class ResourceDataClientProxyService2{constructor(){this.window=inject2(WINDOW)}emitAdd(add3,scope){let detail={scope,add:add3},event=new CustomEvent(ResourceDataClientProxyEventType.Added,{detail});this.window.dispatchEvent(event)}emitRemove(remove3,scope){let detail={scope,remove:remove3},event=new CustomEvent(ResourceDataClientProxyEventType.Removed,{detail});this.window.dispatchEvent(event)}emitResults(results,scope){let detail={results,scope},event=new CustomEvent(ResourceDataClientProxyEventType.Results,{detail});this.window.dispatchEvent(event)}emitUpdate(update3,scope){let detail={scope,update:update3},event=new CustomEvent(ResourceDataClientProxyEventType.Updated,{detail});this.window.dispatchEvent(event)}onAdd(scope){return fromEvent(this.window,ResourceDataClientProxyEventType.Add).pipe(filter(event=>scope===event.detail.scope),map(event=>event.detail))}onQuery(scope){return fromEvent(this.window,ResourceDataClientProxyEventType.Query).pipe(filter(event=>scope===event.detail.scope),map(event=>event.detail))}onRemove(scope){return fromEvent(this.window,ResourceDataClientProxyEventType.Remove).pipe(filter(event=>scope===event.detail.scope),map(event=>event.detail))}onUpdate(scope){return fromEvent(this.window,ResourceDataClientProxyEventType.Update).pipe(filter(event=>scope===event.detail.scope),map(event=>event.detail))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ResourceDataClientProxyService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ResourceDataClientProxyService2,factory:ResourceDataClientProxyService2.\u0275fac,providedIn:"root"})}}return ResourceDataClientProxyService2})();var ResourceDataServiceFactory=(()=>{class ResourceDataServiceFactory2{create(config2){return new ResourceDataService(config2)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ResourceDataServiceFactory2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ResourceDataServiceFactory2,factory:ResourceDataServiceFactory2.\u0275fac,providedIn:"root"})}}return ResourceDataServiceFactory2})(),ResourceDataService=class{constructor(config2){this.config=config2,this.destroyed=new Subject}add(add3){let provider=this.config.addProviders.find(({selector})=>selector===add3.selector);return provider?provider.add(add3):(console.warn(`Add selector (${add3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}update(update3){let provider=this.config.updateProviders.find(({selector})=>selector===update3.selector);return provider?provider.update(update3):(console.warn(`Update selector (${update3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}remove(remove3){let provider=this.config.removeProviders.find(({selector})=>selector===remove3.selector);return provider?provider.remove(remove3):(console.warn(`Remove selector (${remove3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}fetch(queries){return combineLatest(queries.map(query2=>{let provider=this.config.dataProviders.find(({selector})=>selector===query2.selector);return provider?(typeof provider.dataFeed=="function"?provider.dataFeed(query2):provider.dataFeed).pipe(filter(data=>provider.dataGuard?provider.dataGuard(query2,data):!0),map(data=>({query:query2,data:provider.dataReducer?provider.dataReducer(query2,data):data}))):(console.warn(`Query selector (${query2.selector}) cannot be matched to a resource-data provider.`),of({query:query2,data:null}))})).pipe(takeUntil(this.destroyed))}pledge(queries){return combineLatest(queries.map(query2=>{let provider=this.config.dataProviders.find(({selector})=>selector===query2.selector);return provider?(typeof provider.dataFeed=="function"?provider.dataFeed(query2):provider.dataFeed).pipe(take(1),map(data=>provider.dataPledge?provider.dataPledge(query2,data):!0)):of(!1)})).pipe(map(pledges=>pledges.every(pledge=>pledge)),takeUntil(this.destroyed))}destroy(){this.destroyed.next(),this.destroyed.complete()}};function createResourceAdapter(options){options===void 0&&(options={}),options.selectId===void 0&&(options.selectId=_selectPublicId);let _translate,_trimNamespace=value=>value.replace(/^__TRANSLATION__\./,""),adapter3=createEntityAdapter(options),_setAll=_setListFactory("setAll"),_upsertMany=_setListFactory("upsertMany");return __spreadProps(__spreadValues({},adapter3),{addOne,addMany,mutate,removeOne,removeMany,retranslate,setAll:_setAll,setMany:_setListFactory("setMany"),updateOne,updateMany:updateMany2,upsertOne,upsertMany,useTranslateService(translate){_translate=translate},getInitialState(state2){let initialState3=__spreadValues(__spreadProps(__spreadValues({},adapter3.getInitialState()),{ids:[],allLoaded:!1,allLoadedFields:[],allLoading:!1,allLoadingFields:[]}),(options?.translationPaths||[]).reduce((acc,path)=>__spreadProps(__spreadValues({},acc),{[`${path}TranslationKeys`]:{}}),{}));return state2?__spreadValues(__spreadValues({},initialState3),state2):initialState3},getSelectors(){return __spreadValues(__spreadProps(__spreadValues({},adapter3.getSelectors()),{selectAllLoading(state2){return state2.allLoading},selectAllLoadingFields(state2){return state2.allLoadingFields},selectAllLoaded(state2){return state2.allLoaded},selectAllLoadedFields(state2){return state2.allLoadedFields}}),(options?.translationPaths||[]).reduce((acc,path)=>{let keysProp=`${path}TranslationKeys`;return __spreadProps(__spreadValues({},acc),{[`select${upperFirst_default(keysProp)}`]:state2=>state2[keysProp]})},{}))}});function mutate(id,path,state2){let _resource=state2.entities[id];return{upsertOne:key=>{if(has_default(_resource,path)){let list=get_default(_resource,path);if(Array.isArray(list)&&list.every(entity=>entity.publicId!==key)){let data=[...list,{publicId:key}],changes=_setIn(path,data,_resource);return updateOne({id,changes},state2)}}return state2},removeOne:key=>{if(has_default(_resource,path)){let list=get_default(_resource,path);if(Array.isArray(list)&&list.some(entity=>entity.publicId===key)){let data=list.filter(r=>r.publicId!==key),changes=_setIn(path,data,_resource);return updateOne({id,changes},state2)}}return state2}}}function retranslate(state2){if(options?.translationPaths?.length&&_translate!==void 0){let updates=[];for(let path of options.translationPaths){let keysProp=`${path}TranslationKeys`;if(state2[keysProp])for(let id of Object.keys(state2[keysProp])){let index=updates.findIndex(u=>u.id===id);if(index!==-1){let changes={[path]:_trimNamespace(_translate?.instant(state2[keysProp][id]))};updates[index]=__spreadProps(__spreadValues({},updates[index]),{changes:__spreadValues(__spreadValues({},updates[index].changes),changes)})}else{let changes={[path]:_trimNamespace(_translate?.instant(state2[keysProp][id]))};updates.push({id,changes})}}}if(updates.length)return adapter3.updateMany(updates,state2)}return state2}function addOne(entity,state2){if(options?.subresourcePaths&&(entity=omitSubresources(entity,options.subresourcePaths)),options?.translationPaths?.length&&_translate){let _a=_translateEntity(entity,state2),{translated}=_a,translationKeys=__objRest(_a,["translated"]);return adapter3.addOne(translated,__spreadValues(__spreadValues({},state2),translationKeys))}return adapter3.addOne(entity,state2)}function addMany(entities,state2){return entities.reduce((next,entity)=>addOne(entity,next),state2)}function removeOne(key,state2){return removeMany([key],state2)}function removeMany(keysOrPredicate,state2){let keys=keysOrPredicate instanceof Array?keysOrPredicate:state2.ids.filter(key=>keysOrPredicate(state2.entities[key]));return options?.translationPaths?.length&&_translate?adapter3.removeMany(keys,options?.translationPaths?.reduce((_state,path)=>{let keysProp=`${path}TranslationKeys`;return keys.reduce((s,key)=>key in s[keysProp]?__spreadProps(__spreadValues({},s),{[keysProp]:omit_default(s[keysProp],key)}):s,_state)},state2)):adapter3.removeMany(keys,state2)}function updateOne(update3,state2){if(options?.mergeFn&&(update3.changes=options.mergeFn(state2.entities[update3.id],update3.changes)),options?.subresourcePaths&&(update3.changes=omitSubresources(update3.changes,options.subresourcePaths)),options?.translationPaths?.length&&_translate){let hasId=!!_selectPublicId(update3.changes),entity=hasId?update3.changes:__spreadProps(__spreadValues({},update3.changes),{publicId:update3.id}),_a=_translateEntity(entity,state2),{translated}=_a,translationKeys=__objRest(_a,["translated"]);return adapter3.updateOne(__spreadProps(__spreadValues({},update3),{changes:hasId?translated:omit_default(translated,["publicId"])}),__spreadValues(__spreadValues({},state2),translationKeys))}return adapter3.updateOne(update3,state2)}function updateMany2(updates,state2){return updates.reduce((next,update3)=>updateOne(update3,next),state2)}function upsertOne(entity,state2){return options?.selectId&&state2.entities[options.selectId(entity)]!==void 0?updateOne({id:options.selectId(entity),changes:entity},state2):addOne(entity,state2)}function upsertMany(entities,state2){return state2.ids.length?_upsertMany(entities,state2):_setAll(entities,state2)}function _selectPublicId(a){return a.publicId}function _setListFactory(method){return function(entities,state2){let list=entities;if(options?.subresourcePaths){let paths=options.subresourcePaths;list=entities.map(entity=>omitSubresources(entity,paths))}if(options?.translationPaths?.length&&_translate){let translatedEntities=[],translatedState=state2;return list.forEach(entity=>{let _a=_translateEntity(entity,translatedState),{translated}=_a,translationKeys=__objRest(_a,["translated"]);translatedEntities.push(translated),translatedState=__spreadValues(__spreadValues({},translatedState),translationKeys)}),adapter3[method](translatedEntities,translatedState)}return adapter3[method](list,state2)}}function _translateEntity(entity,state2){let publicId=_selectPublicId(entity);return(options?.translationPaths??[]).reduce((acc,path)=>{let keysProp=`${path}TranslationKeys`;if(has_default(entity,path)){if(entity[path]?.startsWith("__TRANSLATION__."))return __spreadProps(__spreadValues({},acc),{translated:__spreadProps(__spreadValues({},acc.translated),{[path]:_trimNamespace(_translate?.instant(acc.translated[path]))}),[keysProp]:__spreadProps(__spreadValues({},state2[keysProp]),{[publicId]:acc.translated[path]})});if(publicId in state2[keysProp])return __spreadProps(__spreadValues({},acc),{[keysProp]:omit_default(state2[keysProp],publicId)})}return acc},{translated:entity})}}var _setIn=curry_default((path,value,obj)=>setWith_default(clone_default(obj),path,value,clone_default));var loadHost=createAction("[App] Load Host Branding"),loadHostFailure=createAction("[IxApi] Load Host Branding Failure",props()),loadHostSuccess=createAction("[IxApi] Load Host Branding Success",props());var adapter2=createResourceAdapter({sortComparer:sortByNameAndPublicIdComparer,subresourcePaths:SUBRESOURCE_PATHS,mergeFn:updateResource}),initialState2=adapter2.getInitialState({allLoadedForIntents:[],allLoadingForIntents:[],persistentIds:[]}),reducer2=createReducer(initialState2,on(addSuccess,didAdd,(state2,{data})=>adapter2.upsertOne(data,state2)),on(reset,state2=>{let persistentTemplates=state2.persistentIds.map(id=>state2.entities[id]).filter(template=>!!template),persistentIds=persistentTemplates.map(template=>template.publicId);return adapter2.setAll(persistentTemplates,__spreadProps(__spreadValues({},initialState2),{persistentIds}))}),on(loadAll,state2=>__spreadProps(__spreadValues({},state2),{allLoading:!0})),on(loadAllFailure,state2=>__spreadProps(__spreadValues({},state2),{allLoading:!1})),on(loadAllSuccess,(state2,{data})=>adapter2.upsertMany(data,__spreadProps(__spreadValues({},state2),{allLoaded:!0,allLoading:!1}))),on(loadAllForIntent,(state2,{intent})=>__spreadProps(__spreadValues({},state2),{allLoadingForIntents:[...state2.allLoadingForIntents,intent]})),on(loadAllForIntentFailure,(state2,{intent})=>__spreadProps(__spreadValues({},state2),{allLoadingForIntents:state2.allLoadingForIntents.filter(i=>i!==intent)})),on(loadAllForIntentSuccess,(state2,{intent,data})=>adapter2.upsertMany(data,__spreadProps(__spreadValues({},state2),{allLoadingForIntents:state2.allLoadingForIntents.filter(i=>i!==intent),allLoadedForIntents:[...state2.allLoadedForIntents,intent]}))),on(updateSuccess,didUpdate,(state2,{data,publicId})=>adapter2.updateOne({id:publicId,changes:data},state2)),on(loadHostSuccess,(state2,{data})=>{let template=data.landingPageComponentTemplate;if(template){let persistentIds=uniq_default([...state2.persistentIds,template.publicId]);return adapter2.upsertOne(template,__spreadProps(__spreadValues({},state2),{persistentIds}))}return state2})),feature2=createFeature({name:FEATURE_NAME2,reducer:reducer2});var{selectAllLoadingForIntents,selectAllLoadedForIntents}=feature2,selectAll=createResourceSelectorFactory(createSelector(feature2.selectPageComponentTemplateState,adapter2.getSelectors().selectAll),SUBRESOURCE_PATH_TO_FEATURE_NAME)(FIELDS),selectEntity2=publicId=>createResourceSelectorFactory(createSelector(feature2.selectEntities,entities=>publicId?entities[publicId]:void 0),SUBRESOURCE_PATH_TO_FEATURE_NAME)(FIELDS),selectAllLoadingForIntent=intent=>createSelector(selectAllLoadingForIntents,loading=>loading.includes(intent)),selectAllLoadedForIntent=intent=>createSelector(selectAllLoadedForIntents,loaded=>loaded.includes(intent));var{selectAllLoading,selectAllLoaded,selectAllLoadedFields,selectEntities:selectEntities2}=feature2;var PageComponentTemplateEffects=(()=>{class PageComponentTemplateEffects2{constructor(){this.actions$=inject2(Actions),this.service=inject2(PageComponentTemplateService),this.store=inject2(Store),this.add$=createEffect(()=>this.actions$.pipe(ofType(add),mergeMap(({data})=>this.service.add(data).pipe(map(response=>addSuccess({publicId:response.data.publicId,data:__spreadValues(__spreadValues({},data),response.data)})),catchError(errorResponse=>of(addFailure({errors:errorResponse.error?.data??[]}))))))),this.ensureAll$=createEffect(()=>this.actions$.pipe(ofType(ensureAll),mergeMap(()=>combineLatest([this.store.select(selectAllLoading),this.store.select(selectAllLoaded)]).pipe(take(1),mergeMap(([loading,loaded])=>!loading&&!loaded?of(loadAll()):EMPTY))))),this.ensureAllForIntent$=createEffect(()=>this.actions$.pipe(ofType(ensureAllForIntent),mergeMap(({intent})=>combineLatest([this.store.select(selectAllLoadingForIntent(intent)),this.store.select(selectAllLoadedForIntent(intent))]).pipe(take(1),mergeMap(([loading,loaded])=>!loading&&!loaded?of(loadAllForIntent({intent})):EMPTY))))),this.loadAll$=createEffect(()=>this.actions$.pipe(ofType(loadAll),switchMap(()=>this.service.getAll(FIELDS).pipe(map(({data})=>loadAllSuccess({data})),catchError(errorResponse=>of(loadAllFailure({errors:errorResponse.error?.data??[]}))))))),this.loadAllForIntent$=createEffect(()=>this.actions$.pipe(ofType(loadAllForIntent),switchMap(({intent})=>this.service.getAllForIntent(intent,FIELDS).pipe(map(({data})=>loadAllForIntentSuccess({intent,data})),catchError(errorResponse=>of(loadAllForIntentFailure({intent,errors:errorResponse.error?.data??[]}))))))),this.update$=createEffect(()=>this.actions$.pipe(ofType(update),mergeMap(({data,publicId})=>this.service.updateByPublicId(publicId,data).pipe(map(()=>updateSuccess({data:__spreadProps(__spreadValues({},data),{publicId}),publicId})),catchError(errorResponse=>of(updateFailure({errors:errorResponse.error?.data??[]})))))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentTemplateEffects2,factory:PageComponentTemplateEffects2.\u0275fac,providedIn:"root"})}}return PageComponentTemplateEffects2})();var environment={appName:"Simulator",name:"production",version:"cdk-1.26.0-next.0",build:"241479-2686727",production:!0};var PageComponentTemplatePrependBaseUrlInterceptor=(()=>{class PageComponentTemplatePrependBaseUrlInterceptor2{constructor(){this.document=inject2(DOCUMENT);let options=inject2(IXAPI_OPTIONS);this.options=__spreadValues(__spreadValues({},defaultOptions),options),this.baseUrl=this.getTemplateBaseUrl()}getTemplateBaseUrl(){let baseUrl=this.document.baseURI.slice(this.document.location.origin.length),appUrlPath=`/${kebabCase_default(environment.appName)}/`;return baseUrl.endsWith(appUrlPath)&&(baseUrl=baseUrl.slice(0,1-appUrlPath.length)),baseUrl}intercept(request,delegate){if(request.method==="GET"&&request.url===`${this.options.baseUrl}/page-component-templates`&&this.options.baseUrl){let fields=request.params.get("fields");if(fields?.includes("url")||fields?.includes("*"))return delegate.handle(request).pipe(map(response=>{if(response instanceof HttpResponse){let data=response.body.data.map(template=>template.url?.startsWith("/")&&this.baseUrl.endsWith("/")?__spreadProps(__spreadValues({},template),{url:this.baseUrl==="/"?template.url:`${this.baseUrl.slice(0,-1)}${template.url}`}):template),body=__spreadProps(__spreadValues({},response.body),{data});return response.clone({body})}return response}))}return delegate.handle(request)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplatePrependBaseUrlInterceptor2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentTemplatePrependBaseUrlInterceptor2,factory:PageComponentTemplatePrependBaseUrlInterceptor2.\u0275fac})}}return PageComponentTemplatePrependBaseUrlInterceptor2})();var PageComponentTemplateModule=(()=>{class PageComponentTemplateModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:PageComponentTemplateModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:HTTP_INTERCEPTORS,useClass:PageComponentTemplatePrependBaseUrlInterceptor,multi:!0}],imports:[IxApiModule,StoreModule.forFeature(feature2),EffectsModule.forFeature([PageComponentTemplateEffects])]})}}return PageComponentTemplateModule2})();var ComponentSettingsFacade=(()=>{class ComponentSettingsFacade2{constructor(){this.document=inject2(DOCUMENT),this.store=inject2(Store),this.http=inject2(HttpClient)}setTemplateUrl(url){this.http.get(mapTemplateUrlToManifestUrl(url)).subscribe(manifest=>{let publicId=mapTemplateUrlToPublicId(url),component=__spreadProps(__spreadValues({},PAGE_COMPONENT),{template:__spreadProps(__spreadValues({},PAGE_COMPONENT.template),{publicId})}),name=manifest.name||"";sessionStorage.setItem("pct-url",url),this.store.dispatch(loadAllSuccess({data:[{name,url,publicId}]})),this.store.dispatch(addSuccess2({publicId:component.publicId,data:__spreadProps(__spreadValues({},component),{inputs:mapPageComponentTemplateManifestToDefaultInputs(manifest)})}))})}unsetTemplateUrl(){let url=sessionStorage.getItem("pct-url");url&&(sessionStorage.removeItem("pct-url"),this.store.dispatch(reset()),this.store.dispatch(remove2({publicId:"component"})),this.document.getElementById(`pct-${mapTemplateUrlToPublicId(url)}`)?.remove())}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentSettingsFacade2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ComponentSettingsFacade2,factory:ComponentSettingsFacade2.\u0275fac,providedIn:"root"})}}return ComponentSettingsFacade2})();function PageComponentSettingsComponent_Conditional_10_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"Could not find a UI Component definition"),\u0275\u0275elementEnd())}function PageComponentSettingsComponent_Conditional_11_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"Invalid manifest file"),\u0275\u0275elementEnd())}function PageComponentSettingsComponent_Conditional_12_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"Could not find a manifest file"),\u0275\u0275elementEnd())}function PageComponentSettingsComponent_Conditional_13_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"Request failed"),\u0275\u0275elementEnd())}function PageComponentSettingsComponent_Conditional_14_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"Invalid URL"),\u0275\u0275elementEnd())}var PageComponentSettingsComponent=(()=>{class PageComponentSettingsComponent2{constructor(){this.componentForm=new FormGroup({url:new FormControl(sessionStorage.getItem("pct-url"),Validators.required,UrlValidator(inject2(ComponentTemplateValidatorService)))}),this.destroy=inject2(DestroyRef),this.facade=inject2(ComponentSettingsFacade)}ngOnInit(){this.componentForm.statusChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(status=>{status==="VALID"&&this.componentForm.controls.url.value?this.facade.setTemplateUrl(this.componentForm.controls.url.value):status==="INVALID"&&this.facade.unsetTemplateUrl()})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentSettingsComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:PageComponentSettingsComponent2,selectors:[["ix-page-component-settings"]],decls:17,vars:8,consts:[["autocomplete","off",3,"formGroup"],["appearance","fill"],["matInput","","formControlName","url","data-testid","component-template-url",3,"required"],["matIconSuffix","",3,"hidden"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"section")(1,"h2"),\u0275\u0275text(2,"UI Component"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"form",0)(4,"mat-form-field",1)(5,"mat-label"),\u0275\u0275text(6,"URL"),\u0275\u0275elementEnd(),\u0275\u0275element(7,"input",2),\u0275\u0275elementStart(8,"mat-icon",3),\u0275\u0275text(9,"check"),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(10,PageComponentSettingsComponent_Conditional_10_Template,2,0,"mat-error"),\u0275\u0275conditionalCreate(11,PageComponentSettingsComponent_Conditional_11_Template,2,0,"mat-error"),\u0275\u0275conditionalCreate(12,PageComponentSettingsComponent_Conditional_12_Template,2,0,"mat-error"),\u0275\u0275conditionalCreate(13,PageComponentSettingsComponent_Conditional_13_Template,2,0,"mat-error"),\u0275\u0275conditionalCreate(14,PageComponentSettingsComponent_Conditional_14_Template,2,0,"mat-error"),\u0275\u0275elementStart(15,"mat-hint"),\u0275\u0275text(16,"Link to a JavaScript file that defines a UI Component"),\u0275\u0275elementEnd()()()()),rf&2&&(\u0275\u0275advance(3),\u0275\u0275property("formGroup",ctx.componentForm),\u0275\u0275advance(4),\u0275\u0275property("required",!0),\u0275\u0275advance(),\u0275\u0275property("hidden",ctx.componentForm.controls.url.invalid),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.componentForm.controls.url.hasError("customElementDefMissing")?10:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.componentForm.controls.url.hasError("manifestInvalid")?11:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.componentForm.controls.url.hasError("manifestMissing")?12:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.componentForm.controls.url.hasError("reqFailed")?13:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.componentForm.controls.url.hasError("urlInvalid")?14:-1))},dependencies:[FlexModule,MatIconModule,MatIcon,MatFormFieldModule,MatFormField,MatLabel,MatHint,MatError,MatSuffix,MatInputModule,MatInput,MatOptionModule,MatRadioModule,MatSelectModule,MatButtonModule,ReactiveFormsModule,\u0275NgNoValidate,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,RequiredValidator,FormGroupDirective,FormControlName],styles:["[_nghost-%COMP%] section[_ngcontent-%COMP%]{margin-bottom:24px}[_nghost-%COMP%] section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-family:var(--font-family);font-size:18px;font-weight:400;line-height:24px;margin:56px 0 10px}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"]})}}return PageComponentSettingsComponent2})();var ComponentSettingsComponent=(()=>{class ComponentSettingsComponent2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentSettingsComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ComponentSettingsComponent2,selectors:[["ix-component-settings"]],decls:2,vars:0,template:function(rf,ctx){rf&1&&\u0275\u0275element(0,"ix-page-component-settings")(1,"ix-backend-component-settings")},dependencies:[BackendComponentSettingsComponent,PageComponentSettingsComponent],encapsulation:2})}}return ComponentSettingsComponent2})();function deepCloneNode(node){let clone=node.cloneNode(!0),descendantsWithId=clone.querySelectorAll("[id]"),nodeName=node.nodeName.toLowerCase();clone.removeAttribute("id");for(let i=0;i<descendantsWithId.length;i++)descendantsWithId[i].removeAttribute("id");return nodeName==="canvas"?transferCanvasData(node,clone):(nodeName==="input"||nodeName==="select"||nodeName==="textarea")&&transferInputData(node,clone),transferData("canvas",node,clone,transferCanvasData),transferData("input, textarea, select",node,clone,transferInputData),clone}function transferData(selector,node,clone,callback){let descendantElements=node.querySelectorAll(selector);if(descendantElements.length){let cloneElements=clone.querySelectorAll(selector);for(let i=0;i<descendantElements.length;i++)callback(descendantElements[i],cloneElements[i])}}var cloneUniqueId=0;function transferInputData(source,clone){clone.type!=="file"&&(clone.value=source.value),clone.type==="radio"&&clone.name&&(clone.name=`mat-clone-${clone.name}-${cloneUniqueId++}`)}function transferCanvasData(source,clone){let context2=clone.getContext("2d");if(context2)try{context2.drawImage(source,0,0)}catch(e){}}function getMutableClientRect(element){let rect=element.getBoundingClientRect();return{top:rect.top,right:rect.right,bottom:rect.bottom,left:rect.left,width:rect.width,height:rect.height,x:rect.x,y:rect.y}}function isInsideClientRect(clientRect,x,y){let{top,bottom,left,right}=clientRect;return y>=top&&y<=bottom&&x>=left&&x<=right}function isOverflowingParent(parentRect,childRect){let isLeftOverflowing=childRect.left<parentRect.left,isRightOverflowing=childRect.left+childRect.width>parentRect.right,isTopOverflowing=childRect.top<parentRect.top,isBottomOverflowing=childRect.top+childRect.height>parentRect.bottom;return isLeftOverflowing||isRightOverflowing||isTopOverflowing||isBottomOverflowing}function adjustDomRect(domRect,top,left){domRect.top+=top,domRect.bottom=domRect.top+domRect.height,domRect.left+=left,domRect.right=domRect.left+domRect.width}function isPointerNearDomRect(rect,threshold,pointerX,pointerY){let{top,right,bottom,left,width,height}=rect,xThreshold=width*threshold,yThreshold=height*threshold;return pointerY>top-yThreshold&&pointerY<bottom+yThreshold&&pointerX>left-xThreshold&&pointerX<right+xThreshold}var ParentPositionTracker=class{_document;positions=new Map;constructor(_document2){this._document=_document2}clear(){this.positions.clear()}cache(elements){this.clear(),this.positions.set(this._document,{scrollPosition:this.getViewportScrollPosition()}),elements.forEach(element=>{this.positions.set(element,{scrollPosition:{top:element.scrollTop,left:element.scrollLeft},clientRect:getMutableClientRect(element)})})}handleScroll(event){let target=_getEventTarget(event),cachedPosition=this.positions.get(target);if(!cachedPosition)return null;let scrollPosition=cachedPosition.scrollPosition,newTop,newLeft;if(target===this._document){let viewportScrollPosition=this.getViewportScrollPosition();newTop=viewportScrollPosition.top,newLeft=viewportScrollPosition.left}else newTop=target.scrollTop,newLeft=target.scrollLeft;let topDifference=scrollPosition.top-newTop,leftDifference=scrollPosition.left-newLeft;return this.positions.forEach((position,node)=>{position.clientRect&&target!==node&&target.contains(node)&&adjustDomRect(position.clientRect,topDifference,leftDifference)}),scrollPosition.top=newTop,scrollPosition.left=newLeft,{top:topDifference,left:leftDifference}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}};function getRootNode(viewRef,_document2){let rootNodes=viewRef.rootNodes;if(rootNodes.length===1&&rootNodes[0].nodeType===_document2.ELEMENT_NODE)return rootNodes[0];let wrapper=_document2.createElement("div");return rootNodes.forEach(node=>wrapper.appendChild(node)),wrapper}function extendStyles2(dest,source,importantProperties2){for(let key in source)if(source.hasOwnProperty(key)){let value=source[key];value?dest.setProperty(key,value,importantProperties2?.has(key)?"important":""):dest.removeProperty(key)}return dest}function toggleNativeDragInteractions(element,enable){let userSelect=enable?"":"none";extendStyles2(element.style,{"touch-action":enable?"":"none","-webkit-user-drag":enable?"":"none","-webkit-tap-highlight-color":enable?"":"transparent","user-select":userSelect,"-ms-user-select":userSelect,"-webkit-user-select":userSelect,"-moz-user-select":userSelect})}function toggleVisibility(element,enable,importantProperties2){extendStyles2(element.style,{position:enable?"":"fixed",top:enable?"":"0",opacity:enable?"":"0",left:enable?"":"-999em"},importantProperties2)}function combineTransforms(transform,initialTransform){return initialTransform&&initialTransform!="none"?transform+" "+initialTransform:transform}function matchElementSize(target,sourceRect){target.style.width=`${sourceRect.width}px`,target.style.height=`${sourceRect.height}px`,target.style.transform=getTransform(sourceRect.left,sourceRect.top)}function getTransform(x,y){return`translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`}var capturingEventOptions={capture:!0},activeCapturingEventOptions$1={passive:!1,capture:!0},_ResetsLoader=(()=>{class _ResetsLoader2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_ResetsLoader2)};static \u0275cmp=\u0275\u0275defineComponent({type:_ResetsLoader2,selectors:[["ng-component"]],hostAttrs:["cdk-drag-resets-container",""],decls:0,vars:0,template:function(rf,ctx){},styles:[`@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;color:inherit;inset:auto}}.cdk-drag-placeholder *,.cdk-drag-preview *{pointer-events:none !important}
75
+ `)};Writer.prototype.renderPartial=function(token,context2,partials,config2){if(partials){var tags=this.getConfigTags(config2),value=isFunction6(partials)?partials(token[1]):partials[token[1]];if(value!=null){var lineHasNonSpace=token[6],tagIndex=token[5],indentation=token[4],indentedValue=value;tagIndex==0&&indentation&&(indentedValue=this.indentPartial(value,indentation,lineHasNonSpace));var tokens=this.parse(indentedValue,tags);return this.renderTokens(tokens,context2,partials,indentedValue,config2)}}};Writer.prototype.unescapedValue=function(token,context2){var value=context2.lookup(token[1]);if(value!=null)return value};Writer.prototype.escapedValue=function(token,context2,config2){var escape2=this.getConfigEscape(config2)||mustache.escape,value=context2.lookup(token[1]);if(value!=null)return typeof value=="number"&&escape2===mustache.escape?String(value):escape2(value)};Writer.prototype.rawValue=function(token){return token[1]};Writer.prototype.getConfigTags=function(config2){return isArray5(config2)?config2:config2&&typeof config2=="object"?config2.tags:void 0};Writer.prototype.getConfigEscape=function(config2){if(config2&&typeof config2=="object"&&!isArray5(config2))return config2.escape};var mustache={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(cache){defaultWriter.templateCache=cache},get templateCache(){return defaultWriter.templateCache}},defaultWriter=new Writer;mustache.clearCache=function(){return defaultWriter.clearCache()};mustache.parse=function(template,tags){return defaultWriter.parse(template,tags)};mustache.render=function(template,view,partials,config2){if(typeof template!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+typeStr(template)+'" was given as the first argument for mustache#render(template, view, partials)');return defaultWriter.render(template,view,partials,config2)};mustache.escape=escapeHtml;mustache.Scanner=Scanner;mustache.Context=Context;mustache.Writer=Writer;var mustache_default=mustache;function extractResourcesFromTemplate(template){let parsedTemplate;try{parsedTemplate=mustache_default.parse(template)}catch(error){return console.log("Template parsing error:",error.message),[]}return parsedTemplate.length>0?parsedTemplate.filter(keyValue=>["name","&"].includes(keyValue[0])).map(keyValue=>keyValue[1]).filter(field=>/agent|asset\./.test(field)).map(field=>{let customPattern=/(agent|asset)\.custom\.\S+/;return customPattern.test(field)?field.replace(customPattern,"$1.custom"):field}):[]}function extractResourcesFromTemplates(templates){return uniq_default(flatten_default(templates.map(extractResourcesFromTemplate)))}function resourceCustomizer(value,srcValue){if(isArray_default(value)&&isArray_default(srcValue)){if(!srcValue.length)return srcValue;if(has_default(value,"[0].publicId")&&has_default(srcValue,"[0].publicId"))return srcValue.map(item=>merge3({},value.find(({publicId})=>publicId===item.publicId),item));if(srcValue.length&&value.length)return srcValue}}function merge3(object,...otherArgs){return mergeWith_default(object,...otherArgs,resourceCustomizer)}function omitSubresources(object,paths){let data=object;if(paths.length){data=clone_default(object);for(let _path of paths){let path=_path.endsWith("[]")?_path.slice(0,-2):_path,result=get_default(object,path);if(isArray_default(result)){let subresourceList=result.map(o=>({publicId:o.publicId}));setWith_default(data,path,subresourceList,clone_default)}else if(isObject_default(result)&&result.publicId){let subresource={publicId:result.publicId};setWith_default(data,path,subresource,clone_default)}}}return data}function updateResource(object,...otherArgs){return merge3({},object,...otherArgs)}function mergeLoadedFields(id,loadedFields,fields){return __spreadProps(__spreadValues({},loadedFields),{[id]:loadedFields[id]?uniq_default([...loadedFields[id],...fields]):fields})}function mergeFields(fields1,fields2){return uniq_default([...fields1,...fields2])}function createResourceSelectorFactory(selector,map2=new Map([])){return function(fields){let mappings=[];return map2.forEach((featureName,subresourcePath)=>{let iterable=subresourcePath.endsWith("[]"),path=iterable?subresourcePath.slice(0,-2):subresourcePath;if(fields.some(field=>field==="*"||field.startsWith(`${path}.`))){let selector2=createFeatureSelector(featureName);mappings.push({iterable,path,selector:selector2})}}),createSelectorFactory(defaultMemoize)(selector,...mappings.map(s=>s.selector),(state2,...others)=>{let source=state2,selectorIsArray=isArray_default(state2),selectorIsObject=isObject_default(state2);others.length&&(source=(others.length===mappings.length+1?others.slice(0,-1):[...others]).reduce((combinedState,featureState,i)=>featureState===void 0?combinedState:selectorIsArray?combinedState.map(item=>_reduceCombinedState(item,featureState,mappings[i])):selectorIsObject?_reduceCombinedState(combinedState,featureState,mappings[i]):combinedState,state2));let iterablePaths=[...map2.keys()].filter(key=>key.endsWith("[]")),listPathMatcher=iterablePaths.length?new RegExp(iterablePaths.map(key=>`^${key.slice(0,-2)}.`).join("|"),"g"):null;return selectorIsArray?source.map(src=>setFields({},src,fields,listPathMatcher)):selectorIsObject?setFields({},source,fields,listPathMatcher):null})}}function mapResourceToSubResourceList(resource2,subResourcePath,subResourceReferencePath,subResourceReferenceName){if(has_default(resource2,subResourcePath)){let reference={publicId:resource2.publicId,reference:{name:subResourceReferenceName}};return get_default(resource2,subResourcePath,[]).map(item=>has_default(item,subResourceReferencePath)?item:__spreadProps(__spreadValues({},item),{[subResourceReferencePath]:reference}))}return[]}function _reduceCombinedState(item,entityState,mapping){if(!mapping||!has_default(item,mapping.path))return item;if(mapping.iterable){let list=sortSubResourceList(uniqBy_default(get_default(item,mapping.path,[]).map(r=>entityState.entities[r.publicId]||r),"publicId"));return setWith_default(clone_default(item),mapping.path,list,clone_default)}let entity=entityState.entities[get_default(item,`${mapping.path}.publicId`)];return entity!==void 0?setWith_default(clone_default(item),mapping.path,entity,clone_default):item}function sortSubResourceList(list){return hasField(list?.[0]??void 0,"name")?list.sort((a,b)=>sortByNameAndPublicIdComparer(a,b)):list=sortBy_default(list,["publicId"]),list}var nameCollator2=new Intl.Collator(JSON.parse(localStorage.getItem("ix-locale")??"{}").value,{caseFirst:"upper"});function sortByNameAndPublicIdComparer(a,b){return(a.name||b.name)&&sortByNameComparer(a,b)||sortByPublicIdComparer(a,b)}function sortByNameComparer(a,b){return a.name?nameCollator2.compare(a.name,b.name||""):-1}function sortByPublicIdComparer(a,b){return a.publicId<b.publicId?-1:a.publicId>b.publicId?1:0}function createClientRef(clientId,eventId,appId,scope){return`yot:rdc${typeof scope=="string"?`.s:${scope}`:""}${appId?`.a:${appId}`:""}.c:${clientId}.e:${eventId}`}function findAppIdInClientRef(ref){return ref.match(/\.a:([^.]+)/)?.[1]??void 0}function findAppId(target){if(target?._clientRef)return findAppIdInClientRef(target._clientRef)}var ResourceDataClient=class{constructor(id,scope,mode="view",backendComponentId){this.id=id,this.scope=scope,this.mode=mode,this.backendComponentId=backendComponentId,this._destroyed=!1,this._queryListenerRefs=[],this._addListenerRefs=[],this._updateListenerRefs=[],this._removeListenerRefs=[],this._uid=0,this._onAdded=this._onAdded.bind(this),this._onResults=this._onResults.bind(this),this._onUpdated=this._onUpdated.bind(this),this._onRemoved=this._onRemoved.bind(this),window.addEventListener(ResourceDataClientProxyEventType.Added,this._onAdded,!0),window.addEventListener(ResourceDataClientProxyEventType.Results,this._onResults,!0),window.addEventListener(ResourceDataClientProxyEventType.Updated,this._onUpdated,!0),window.addEventListener(ResourceDataClientProxyEventType.Removed,this._onRemoved,!0)}_destroy(){this._destroyed||window.removeEventListener(ResourceDataClientProxyEventType.Results,this._onResults,!0),this._destroyed=!0}_onRemoved(event){event.detail.scope===this.scope&&(this._removeListenerRefs.forEach(({clientRef,resolve})=>{clientRef===event.detail.remove._clientRef&&resolve()}),this._removeListenerRefs.splice(this._removeListenerRefs.findIndex(listener=>listener.clientRef===event.detail.remove._clientRef),1))}_onAdded(event){event.detail.scope===this.scope&&(this._addListenerRefs.forEach(({clientRef,resolve})=>{clientRef===event.detail.add._clientRef&&resolve()}),this._addListenerRefs.splice(this._addListenerRefs.findIndex(listener=>listener.clientRef===event.detail.add._clientRef),1))}_onResults(event){event.detail.scope===this.scope&&this._queryListenerRefs.forEach(({clientRefs,listener})=>{let results=event.detail.results.filter(resource2=>resource2.query._clientRef?(isArray_default(resource2.query._clientRef)?resource2.query._clientRef:[resource2.query._clientRef]).some(ref=>clientRefs.includes(ref)):!1);results.length&&listener(results)})}_onUpdated(event){event.detail.scope===this.scope&&(this._updateListenerRefs.forEach(({clientRef,resolve})=>{clientRef===event.detail.update._clientRef&&resolve()}),this._updateListenerRefs.splice(this._updateListenerRefs.findIndex(listener=>listener.clientRef===event.detail.update._clientRef),1))}add(addCall){return new Promise(resolve=>{let{backendComponentId,id,scope}=this,clientRef=createClientRef(id,this._uid++,backendComponentId,scope),add3=__spreadProps(__spreadValues({},addCall),{_clientRef:clientRef}),addListenerRef={clientRef,resolve};this._addListenerRefs.push(addListenerRef);let event=new CustomEvent(ResourceDataClientProxyEventType.Add,{detail:{add:add3,scope,backendComponentId:this.backendComponentId}});window.dispatchEvent(event)})}destroy(){this._destroy()}query(query2,listener){let{backendComponentId,id,scope}=this,clientRef=createClientRef(id,this._uid++,backendComponentId,scope),queries=(Array.isArray(query2)?query2:[query2]).map(q=>__spreadProps(__spreadValues({},q),{_clientRef:clientRef})),listenerRef={clientRefs:queries.map(q=>q._clientRef),listener};this._queryListenerRefs.push(listenerRef);let event=new CustomEvent(ResourceDataClientProxyEventType.Query,{detail:{queries,scope,backendComponentId:this.backendComponentId}});return window.dispatchEvent(event),()=>{this._queryListenerRefs.splice(this._queryListenerRefs.indexOf(listenerRef),1)}}remove(removeCall){return new Promise(resolve=>{let{backendComponentId,id,scope}=this,clientRef=createClientRef(id,this._uid++,backendComponentId,scope),remove3=__spreadProps(__spreadValues({},removeCall),{_clientRef:clientRef}),removeListenerRef={clientRef,resolve};this._removeListenerRefs.push(removeListenerRef);let event=new CustomEvent(ResourceDataClientProxyEventType.Remove,{detail:{remove:remove3,scope,backendComponentId:this.backendComponentId}});window.dispatchEvent(event)})}render(templates,listener){let fields=extractResourcesFromTemplates(templates.map(t=>t.template));this.mode==="edit"&&listener(templates.map(q=>q.template));let queries=[];return fields.some(f=>f.startsWith("agent."))&&queries.push({selector:"Agent",fields:fields.filter(f=>f.startsWith("agent.")).map(f=>f.slice(6))}),fields.some(f=>f.startsWith("asset."))&&queries.push({selector:"Asset",fields:fields.filter(f=>f.startsWith("asset.")).map(f=>f.slice(6))}),queries.length?this.query(queries,results=>{let params=results.reduce((acc,result)=>__spreadProps(__spreadValues({},acc),{[result.query.selector.toLowerCase()]:result.data}),{}),rendered=templates.map(templateQuery=>mustache_default.render(templateQuery.template,params));listener(rendered)}):(listener(templates.map(q=>q.template)),()=>{})}update(updateCall){return new Promise(resolve=>{let{backendComponentId,id,scope}=this,clientRef=createClientRef(id,this._uid++,backendComponentId,scope),update3=__spreadProps(__spreadValues({},updateCall),{_clientRef:clientRef}),updateListenerRef={clientRef,resolve};this._updateListenerRefs.push(updateListenerRef);let event=new CustomEvent(ResourceDataClientProxyEventType.Update,{detail:{update:update3,scope,backendComponentId:this.backendComponentId}});window.dispatchEvent(event)})}};var ResourceDataClientProxyService=(()=>{class ResourceDataClientProxyService2{constructor(){this.window=inject2(WINDOW)}emitAdd(add3,scope){let detail={scope,add:add3},event=new CustomEvent(ResourceDataClientProxyEventType.Added,{detail});this.window.dispatchEvent(event)}emitRemove(remove3,scope){let detail={scope,remove:remove3},event=new CustomEvent(ResourceDataClientProxyEventType.Removed,{detail});this.window.dispatchEvent(event)}emitResults(results,scope){let detail={results,scope},event=new CustomEvent(ResourceDataClientProxyEventType.Results,{detail});this.window.dispatchEvent(event)}emitUpdate(update3,scope){let detail={scope,update:update3},event=new CustomEvent(ResourceDataClientProxyEventType.Updated,{detail});this.window.dispatchEvent(event)}onAdd(scope){return fromEvent(this.window,ResourceDataClientProxyEventType.Add).pipe(filter(event=>scope===event.detail.scope),map(event=>event.detail))}onQuery(scope){return fromEvent(this.window,ResourceDataClientProxyEventType.Query).pipe(filter(event=>scope===event.detail.scope),map(event=>event.detail))}onRemove(scope){return fromEvent(this.window,ResourceDataClientProxyEventType.Remove).pipe(filter(event=>scope===event.detail.scope),map(event=>event.detail))}onUpdate(scope){return fromEvent(this.window,ResourceDataClientProxyEventType.Update).pipe(filter(event=>scope===event.detail.scope),map(event=>event.detail))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ResourceDataClientProxyService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ResourceDataClientProxyService2,factory:ResourceDataClientProxyService2.\u0275fac,providedIn:"root"})}}return ResourceDataClientProxyService2})();var ResourceDataServiceFactory=(()=>{class ResourceDataServiceFactory2{create(config2){return new ResourceDataService(config2)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ResourceDataServiceFactory2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ResourceDataServiceFactory2,factory:ResourceDataServiceFactory2.\u0275fac,providedIn:"root"})}}return ResourceDataServiceFactory2})(),ResourceDataService=class{constructor(config2){this.config=config2,this.destroyed=new Subject}add(add3){let provider=this.config.addProviders.find(({selector})=>selector===add3.selector);return provider?provider.add(add3):(console.warn(`Add selector (${add3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}update(update3){let provider=this.config.updateProviders.find(({selector})=>selector===update3.selector);return provider?provider.update(update3):(console.warn(`Update selector (${update3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}remove(remove3){let provider=this.config.removeProviders.find(({selector})=>selector===remove3.selector);return provider?provider.remove(remove3):(console.warn(`Remove selector (${remove3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}fetch(queries){return combineLatest(queries.map(query2=>{let provider=this.config.dataProviders.find(({selector})=>selector===query2.selector);return provider?(typeof provider.dataFeed=="function"?provider.dataFeed(query2):provider.dataFeed).pipe(filter(data=>provider.dataGuard?provider.dataGuard(query2,data):!0),map(data=>({query:query2,data:provider.dataReducer?provider.dataReducer(query2,data):data}))):(console.warn(`Query selector (${query2.selector}) cannot be matched to a resource-data provider.`),of({query:query2,data:null}))})).pipe(takeUntil(this.destroyed))}pledge(queries){return combineLatest(queries.map(query2=>{let provider=this.config.dataProviders.find(({selector})=>selector===query2.selector);return provider?(typeof provider.dataFeed=="function"?provider.dataFeed(query2):provider.dataFeed).pipe(take(1),map(data=>provider.dataPledge?provider.dataPledge(query2,data):!0)):of(!1)})).pipe(map(pledges=>pledges.every(pledge=>pledge)),takeUntil(this.destroyed))}destroy(){this.destroyed.next(),this.destroyed.complete()}};function createResourceAdapter(options){options===void 0&&(options={}),options.selectId===void 0&&(options.selectId=_selectPublicId);let _translate,_trimNamespace=value=>value.replace(/^__TRANSLATION__\./,""),adapter3=createEntityAdapter(options),_setAll=_setListFactory("setAll"),_upsertMany=_setListFactory("upsertMany");return __spreadProps(__spreadValues({},adapter3),{addOne,addMany,mutate,removeOne,removeMany,retranslate,setAll:_setAll,setMany:_setListFactory("setMany"),updateOne,updateMany:updateMany2,upsertOne,upsertMany,useTranslateService(translate){_translate=translate},getInitialState(state2){let initialState3=__spreadValues(__spreadProps(__spreadValues({},adapter3.getInitialState()),{ids:[],allLoaded:!1,allLoadedFields:[],allLoading:!1,allLoadingFields:[]}),(options?.translationPaths||[]).reduce((acc,path)=>__spreadProps(__spreadValues({},acc),{[`${path}TranslationKeys`]:{}}),{}));return state2?__spreadValues(__spreadValues({},initialState3),state2):initialState3},getSelectors(){return __spreadValues(__spreadProps(__spreadValues({},adapter3.getSelectors()),{selectAllLoading(state2){return state2.allLoading},selectAllLoadingFields(state2){return state2.allLoadingFields},selectAllLoaded(state2){return state2.allLoaded},selectAllLoadedFields(state2){return state2.allLoadedFields}}),(options?.translationPaths||[]).reduce((acc,path)=>{let keysProp=`${path}TranslationKeys`;return __spreadProps(__spreadValues({},acc),{[`select${upperFirst_default(keysProp)}`]:state2=>state2[keysProp]})},{}))}});function mutate(id,path,state2){let _resource=state2.entities[id];return{upsertOne:key=>{if(has_default(_resource,path)){let list=get_default(_resource,path);if(Array.isArray(list)&&list.every(entity=>entity.publicId!==key)){let data=[...list,{publicId:key}],changes=_setIn(path,data,_resource);return updateOne({id,changes},state2)}}return state2},removeOne:key=>{if(has_default(_resource,path)){let list=get_default(_resource,path);if(Array.isArray(list)&&list.some(entity=>entity.publicId===key)){let data=list.filter(r=>r.publicId!==key),changes=_setIn(path,data,_resource);return updateOne({id,changes},state2)}}return state2}}}function retranslate(state2){if(options?.translationPaths?.length&&_translate!==void 0){let updates=[];for(let path of options.translationPaths){let keysProp=`${path}TranslationKeys`;if(state2[keysProp])for(let id of Object.keys(state2[keysProp])){let index=updates.findIndex(u=>u.id===id);if(index!==-1){let changes={[path]:_trimNamespace(_translate?.instant(state2[keysProp][id]))};updates[index]=__spreadProps(__spreadValues({},updates[index]),{changes:__spreadValues(__spreadValues({},updates[index].changes),changes)})}else{let changes={[path]:_trimNamespace(_translate?.instant(state2[keysProp][id]))};updates.push({id,changes})}}}if(updates.length)return adapter3.updateMany(updates,state2)}return state2}function addOne(entity,state2){if(options?.subresourcePaths&&(entity=omitSubresources(entity,options.subresourcePaths)),options?.translationPaths?.length&&_translate){let _a=_translateEntity(entity,state2),{translated}=_a,translationKeys=__objRest(_a,["translated"]);return adapter3.addOne(translated,__spreadValues(__spreadValues({},state2),translationKeys))}return adapter3.addOne(entity,state2)}function addMany(entities,state2){return entities.reduce((next,entity)=>addOne(entity,next),state2)}function removeOne(key,state2){return removeMany([key],state2)}function removeMany(keysOrPredicate,state2){let keys=keysOrPredicate instanceof Array?keysOrPredicate:state2.ids.filter(key=>keysOrPredicate(state2.entities[key]));return options?.translationPaths?.length&&_translate?adapter3.removeMany(keys,options?.translationPaths?.reduce((_state,path)=>{let keysProp=`${path}TranslationKeys`;return keys.reduce((s,key)=>key in s[keysProp]?__spreadProps(__spreadValues({},s),{[keysProp]:omit_default(s[keysProp],key)}):s,_state)},state2)):adapter3.removeMany(keys,state2)}function updateOne(update3,state2){if(options?.mergeFn&&(update3.changes=options.mergeFn(state2.entities[update3.id],update3.changes)),options?.subresourcePaths&&(update3.changes=omitSubresources(update3.changes,options.subresourcePaths)),options?.translationPaths?.length&&_translate){let hasId=!!_selectPublicId(update3.changes),entity=hasId?update3.changes:__spreadProps(__spreadValues({},update3.changes),{publicId:update3.id}),_a=_translateEntity(entity,state2),{translated}=_a,translationKeys=__objRest(_a,["translated"]);return adapter3.updateOne(__spreadProps(__spreadValues({},update3),{changes:hasId?translated:omit_default(translated,["publicId"])}),__spreadValues(__spreadValues({},state2),translationKeys))}return adapter3.updateOne(update3,state2)}function updateMany2(updates,state2){return updates.reduce((next,update3)=>updateOne(update3,next),state2)}function upsertOne(entity,state2){return options?.selectId&&state2.entities[options.selectId(entity)]!==void 0?updateOne({id:options.selectId(entity),changes:entity},state2):addOne(entity,state2)}function upsertMany(entities,state2){return state2.ids.length?_upsertMany(entities,state2):_setAll(entities,state2)}function _selectPublicId(a){return a.publicId}function _setListFactory(method){return function(entities,state2){let list=entities;if(options?.subresourcePaths){let paths=options.subresourcePaths;list=entities.map(entity=>omitSubresources(entity,paths))}if(options?.translationPaths?.length&&_translate){let translatedEntities=[],translatedState=state2;return list.forEach(entity=>{let _a=_translateEntity(entity,translatedState),{translated}=_a,translationKeys=__objRest(_a,["translated"]);translatedEntities.push(translated),translatedState=__spreadValues(__spreadValues({},translatedState),translationKeys)}),adapter3[method](translatedEntities,translatedState)}return adapter3[method](list,state2)}}function _translateEntity(entity,state2){let publicId=_selectPublicId(entity);return(options?.translationPaths??[]).reduce((acc,path)=>{let keysProp=`${path}TranslationKeys`;if(has_default(entity,path)){if(entity[path]?.startsWith("__TRANSLATION__."))return __spreadProps(__spreadValues({},acc),{translated:__spreadProps(__spreadValues({},acc.translated),{[path]:_trimNamespace(_translate?.instant(acc.translated[path]))}),[keysProp]:__spreadProps(__spreadValues({},state2[keysProp]),{[publicId]:acc.translated[path]})});if(publicId in state2[keysProp])return __spreadProps(__spreadValues({},acc),{[keysProp]:omit_default(state2[keysProp],publicId)})}return acc},{translated:entity})}}var _setIn=curry_default((path,value,obj)=>setWith_default(clone_default(obj),path,value,clone_default));var loadHost=createAction("[App] Load Host Branding"),loadHostFailure=createAction("[IxApi] Load Host Branding Failure",props()),loadHostSuccess=createAction("[IxApi] Load Host Branding Success",props());var adapter2=createResourceAdapter({sortComparer:sortByNameAndPublicIdComparer,subresourcePaths:SUBRESOURCE_PATHS,mergeFn:updateResource}),initialState2=adapter2.getInitialState({allLoadedForIntents:[],allLoadingForIntents:[],persistentIds:[]}),reducer2=createReducer(initialState2,on(addSuccess,didAdd,(state2,{data})=>adapter2.upsertOne(data,state2)),on(reset,state2=>{let persistentTemplates=state2.persistentIds.map(id=>state2.entities[id]).filter(template=>!!template),persistentIds=persistentTemplates.map(template=>template.publicId);return adapter2.setAll(persistentTemplates,__spreadProps(__spreadValues({},initialState2),{persistentIds}))}),on(loadAll,state2=>__spreadProps(__spreadValues({},state2),{allLoading:!0})),on(loadAllFailure,state2=>__spreadProps(__spreadValues({},state2),{allLoading:!1})),on(loadAllSuccess,(state2,{data})=>adapter2.upsertMany(data,__spreadProps(__spreadValues({},state2),{allLoaded:!0,allLoading:!1}))),on(loadAllForIntent,(state2,{intent})=>__spreadProps(__spreadValues({},state2),{allLoadingForIntents:[...state2.allLoadingForIntents,intent]})),on(loadAllForIntentFailure,(state2,{intent})=>__spreadProps(__spreadValues({},state2),{allLoadingForIntents:state2.allLoadingForIntents.filter(i=>i!==intent)})),on(loadAllForIntentSuccess,(state2,{intent,data})=>adapter2.upsertMany(data,__spreadProps(__spreadValues({},state2),{allLoadingForIntents:state2.allLoadingForIntents.filter(i=>i!==intent),allLoadedForIntents:[...state2.allLoadedForIntents,intent]}))),on(updateSuccess,didUpdate,(state2,{data,publicId})=>adapter2.updateOne({id:publicId,changes:data},state2)),on(loadHostSuccess,(state2,{data})=>{let template=data.landingPageComponentTemplate;if(template){let persistentIds=uniq_default([...state2.persistentIds,template.publicId]);return adapter2.upsertOne(template,__spreadProps(__spreadValues({},state2),{persistentIds}))}return state2})),feature2=createFeature({name:FEATURE_NAME2,reducer:reducer2});var{selectAllLoadingForIntents,selectAllLoadedForIntents}=feature2,selectAll=createResourceSelectorFactory(createSelector(feature2.selectPageComponentTemplateState,adapter2.getSelectors().selectAll),SUBRESOURCE_PATH_TO_FEATURE_NAME)(FIELDS),selectEntity2=publicId=>createResourceSelectorFactory(createSelector(feature2.selectEntities,entities=>publicId?entities[publicId]:void 0),SUBRESOURCE_PATH_TO_FEATURE_NAME)(FIELDS),selectAllLoadingForIntent=intent=>createSelector(selectAllLoadingForIntents,loading=>loading.includes(intent)),selectAllLoadedForIntent=intent=>createSelector(selectAllLoadedForIntents,loaded=>loaded.includes(intent));var{selectAllLoading,selectAllLoaded,selectAllLoadedFields,selectEntities:selectEntities2}=feature2;var PageComponentTemplateEffects=(()=>{class PageComponentTemplateEffects2{constructor(){this.actions$=inject2(Actions),this.service=inject2(PageComponentTemplateService),this.store=inject2(Store),this.add$=createEffect(()=>this.actions$.pipe(ofType(add),mergeMap(({data})=>this.service.add(data).pipe(map(response=>addSuccess({publicId:response.data.publicId,data:__spreadValues(__spreadValues({},data),response.data)})),catchError(errorResponse=>of(addFailure({errors:errorResponse.error?.data??[]}))))))),this.ensureAll$=createEffect(()=>this.actions$.pipe(ofType(ensureAll),mergeMap(()=>combineLatest([this.store.select(selectAllLoading),this.store.select(selectAllLoaded)]).pipe(take(1),mergeMap(([loading,loaded])=>!loading&&!loaded?of(loadAll()):EMPTY))))),this.ensureAllForIntent$=createEffect(()=>this.actions$.pipe(ofType(ensureAllForIntent),mergeMap(({intent})=>combineLatest([this.store.select(selectAllLoadingForIntent(intent)),this.store.select(selectAllLoadedForIntent(intent))]).pipe(take(1),mergeMap(([loading,loaded])=>!loading&&!loaded?of(loadAllForIntent({intent})):EMPTY))))),this.loadAll$=createEffect(()=>this.actions$.pipe(ofType(loadAll),switchMap(()=>this.service.getAll(FIELDS).pipe(map(({data})=>loadAllSuccess({data})),catchError(errorResponse=>of(loadAllFailure({errors:errorResponse.error?.data??[]}))))))),this.loadAllForIntent$=createEffect(()=>this.actions$.pipe(ofType(loadAllForIntent),switchMap(({intent})=>this.service.getAllForIntent(intent,FIELDS).pipe(map(({data})=>loadAllForIntentSuccess({intent,data})),catchError(errorResponse=>of(loadAllForIntentFailure({intent,errors:errorResponse.error?.data??[]}))))))),this.update$=createEffect(()=>this.actions$.pipe(ofType(update),mergeMap(({data,publicId})=>this.service.updateByPublicId(publicId,data).pipe(map(()=>updateSuccess({data:__spreadProps(__spreadValues({},data),{publicId}),publicId})),catchError(errorResponse=>of(updateFailure({errors:errorResponse.error?.data??[]})))))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentTemplateEffects2,factory:PageComponentTemplateEffects2.\u0275fac,providedIn:"root"})}}return PageComponentTemplateEffects2})();var environment={appName:"Simulator",name:"production",version:"cdk-1.26.0-next.1",build:"245960-2759869",production:!0};var PageComponentTemplatePrependBaseUrlInterceptor=(()=>{class PageComponentTemplatePrependBaseUrlInterceptor2{constructor(){this.document=inject2(DOCUMENT);let options=inject2(IXAPI_OPTIONS);this.options=__spreadValues(__spreadValues({},defaultOptions),options),this.baseUrl=this.getTemplateBaseUrl()}getTemplateBaseUrl(){let baseUrl=this.document.baseURI.slice(this.document.location.origin.length),appUrlPath=`/${kebabCase_default(environment.appName)}/`;return baseUrl.endsWith(appUrlPath)&&(baseUrl=baseUrl.slice(0,1-appUrlPath.length)),baseUrl}intercept(request,delegate){if(request.method==="GET"&&request.url===`${this.options.baseUrl}/page-component-templates`&&this.options.baseUrl){let fields=request.params.get("fields");if(fields?.includes("url")||fields?.includes("*"))return delegate.handle(request).pipe(map(response=>{if(response instanceof HttpResponse){let data=response.body.data.map(template=>template.url?.startsWith("/")&&this.baseUrl.endsWith("/")?__spreadProps(__spreadValues({},template),{url:this.baseUrl==="/"?template.url:`${this.baseUrl.slice(0,-1)}${template.url}`}):template),body=__spreadProps(__spreadValues({},response.body),{data});return response.clone({body})}return response}))}return delegate.handle(request)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplatePrependBaseUrlInterceptor2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentTemplatePrependBaseUrlInterceptor2,factory:PageComponentTemplatePrependBaseUrlInterceptor2.\u0275fac})}}return PageComponentTemplatePrependBaseUrlInterceptor2})();var PageComponentTemplateModule=(()=>{class PageComponentTemplateModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentTemplateModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:PageComponentTemplateModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:HTTP_INTERCEPTORS,useClass:PageComponentTemplatePrependBaseUrlInterceptor,multi:!0}],imports:[IxApiModule,StoreModule.forFeature(feature2),EffectsModule.forFeature([PageComponentTemplateEffects])]})}}return PageComponentTemplateModule2})();var ComponentSettingsFacade=(()=>{class ComponentSettingsFacade2{constructor(){this.document=inject2(DOCUMENT),this.store=inject2(Store),this.http=inject2(HttpClient)}setTemplateUrl(url){this.http.get(mapTemplateUrlToManifestUrl(url)).subscribe(manifest=>{let publicId=mapTemplateUrlToPublicId(url),component=__spreadProps(__spreadValues({},PAGE_COMPONENT),{template:__spreadProps(__spreadValues({},PAGE_COMPONENT.template),{publicId})}),name=manifest.name||"";sessionStorage.setItem("pct-url",url),this.store.dispatch(loadAllSuccess({data:[{name,url,publicId}]})),this.store.dispatch(addSuccess2({publicId:component.publicId,data:__spreadProps(__spreadValues({},component),{inputs:mapPageComponentTemplateManifestToDefaultInputs(manifest)})}))})}unsetTemplateUrl(){let url=sessionStorage.getItem("pct-url");url&&(sessionStorage.removeItem("pct-url"),this.store.dispatch(reset()),this.store.dispatch(remove2({publicId:"component"})),this.document.getElementById(`pct-${mapTemplateUrlToPublicId(url)}`)?.remove())}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentSettingsFacade2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ComponentSettingsFacade2,factory:ComponentSettingsFacade2.\u0275fac,providedIn:"root"})}}return ComponentSettingsFacade2})();function PageComponentSettingsComponent_Conditional_10_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"Could not find a UI Component definition"),\u0275\u0275elementEnd())}function PageComponentSettingsComponent_Conditional_11_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"Invalid manifest file"),\u0275\u0275elementEnd())}function PageComponentSettingsComponent_Conditional_12_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"Could not find a manifest file"),\u0275\u0275elementEnd())}function PageComponentSettingsComponent_Conditional_13_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"Request failed"),\u0275\u0275elementEnd())}function PageComponentSettingsComponent_Conditional_14_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1,"Invalid URL"),\u0275\u0275elementEnd())}var PageComponentSettingsComponent=(()=>{class PageComponentSettingsComponent2{constructor(){this.componentForm=new FormGroup({url:new FormControl(sessionStorage.getItem("pct-url"),Validators.required,UrlValidator(inject2(ComponentTemplateValidatorService)))}),this.destroy=inject2(DestroyRef),this.facade=inject2(ComponentSettingsFacade)}ngOnInit(){this.componentForm.statusChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(status=>{status==="VALID"&&this.componentForm.controls.url.value?this.facade.setTemplateUrl(this.componentForm.controls.url.value):status==="INVALID"&&this.facade.unsetTemplateUrl()})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PageComponentSettingsComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:PageComponentSettingsComponent2,selectors:[["ix-page-component-settings"]],decls:17,vars:8,consts:[["autocomplete","off",3,"formGroup"],["appearance","fill"],["matInput","","formControlName","url","data-testid","component-template-url",3,"required"],["matIconSuffix","",3,"hidden"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"section")(1,"h2"),\u0275\u0275text(2,"UI Component"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"form",0)(4,"mat-form-field",1)(5,"mat-label"),\u0275\u0275text(6,"URL"),\u0275\u0275elementEnd(),\u0275\u0275element(7,"input",2),\u0275\u0275elementStart(8,"mat-icon",3),\u0275\u0275text(9,"check"),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(10,PageComponentSettingsComponent_Conditional_10_Template,2,0,"mat-error"),\u0275\u0275conditionalCreate(11,PageComponentSettingsComponent_Conditional_11_Template,2,0,"mat-error"),\u0275\u0275conditionalCreate(12,PageComponentSettingsComponent_Conditional_12_Template,2,0,"mat-error"),\u0275\u0275conditionalCreate(13,PageComponentSettingsComponent_Conditional_13_Template,2,0,"mat-error"),\u0275\u0275conditionalCreate(14,PageComponentSettingsComponent_Conditional_14_Template,2,0,"mat-error"),\u0275\u0275elementStart(15,"mat-hint"),\u0275\u0275text(16,"Link to a JavaScript file that defines a UI Component"),\u0275\u0275elementEnd()()()()),rf&2&&(\u0275\u0275advance(3),\u0275\u0275property("formGroup",ctx.componentForm),\u0275\u0275advance(4),\u0275\u0275property("required",!0),\u0275\u0275advance(),\u0275\u0275property("hidden",ctx.componentForm.controls.url.invalid),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.componentForm.controls.url.hasError("customElementDefMissing")?10:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.componentForm.controls.url.hasError("manifestInvalid")?11:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.componentForm.controls.url.hasError("manifestMissing")?12:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.componentForm.controls.url.hasError("reqFailed")?13:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.componentForm.controls.url.hasError("urlInvalid")?14:-1))},dependencies:[FlexModule,MatIconModule,MatIcon,MatFormFieldModule,MatFormField,MatLabel,MatHint,MatError,MatSuffix,MatInputModule,MatInput,MatOptionModule,MatRadioModule,MatSelectModule,MatButtonModule,ReactiveFormsModule,\u0275NgNoValidate,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,RequiredValidator,FormGroupDirective,FormControlName],styles:["[_nghost-%COMP%] section[_ngcontent-%COMP%]{margin-bottom:24px}[_nghost-%COMP%] section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-family:var(--font-family);font-size:18px;font-weight:400;line-height:24px;margin:56px 0 10px}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"]})}}return PageComponentSettingsComponent2})();var ComponentSettingsComponent=(()=>{class ComponentSettingsComponent2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentSettingsComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ComponentSettingsComponent2,selectors:[["ix-component-settings"]],decls:2,vars:0,template:function(rf,ctx){rf&1&&\u0275\u0275element(0,"ix-page-component-settings")(1,"ix-backend-component-settings")},dependencies:[BackendComponentSettingsComponent,PageComponentSettingsComponent],encapsulation:2})}}return ComponentSettingsComponent2})();function deepCloneNode(node){let clone=node.cloneNode(!0),descendantsWithId=clone.querySelectorAll("[id]"),nodeName=node.nodeName.toLowerCase();clone.removeAttribute("id");for(let i=0;i<descendantsWithId.length;i++)descendantsWithId[i].removeAttribute("id");return nodeName==="canvas"?transferCanvasData(node,clone):(nodeName==="input"||nodeName==="select"||nodeName==="textarea")&&transferInputData(node,clone),transferData("canvas",node,clone,transferCanvasData),transferData("input, textarea, select",node,clone,transferInputData),clone}function transferData(selector,node,clone,callback){let descendantElements=node.querySelectorAll(selector);if(descendantElements.length){let cloneElements=clone.querySelectorAll(selector);for(let i=0;i<descendantElements.length;i++)callback(descendantElements[i],cloneElements[i])}}var cloneUniqueId=0;function transferInputData(source,clone){clone.type!=="file"&&(clone.value=source.value),clone.type==="radio"&&clone.name&&(clone.name=`mat-clone-${clone.name}-${cloneUniqueId++}`)}function transferCanvasData(source,clone){let context2=clone.getContext("2d");if(context2)try{context2.drawImage(source,0,0)}catch(e){}}function getMutableClientRect(element){let rect=element.getBoundingClientRect();return{top:rect.top,right:rect.right,bottom:rect.bottom,left:rect.left,width:rect.width,height:rect.height,x:rect.x,y:rect.y}}function isInsideClientRect(clientRect,x,y){let{top,bottom,left,right}=clientRect;return y>=top&&y<=bottom&&x>=left&&x<=right}function isOverflowingParent(parentRect,childRect){let isLeftOverflowing=childRect.left<parentRect.left,isRightOverflowing=childRect.left+childRect.width>parentRect.right,isTopOverflowing=childRect.top<parentRect.top,isBottomOverflowing=childRect.top+childRect.height>parentRect.bottom;return isLeftOverflowing||isRightOverflowing||isTopOverflowing||isBottomOverflowing}function adjustDomRect(domRect,top,left){domRect.top+=top,domRect.bottom=domRect.top+domRect.height,domRect.left+=left,domRect.right=domRect.left+domRect.width}function isPointerNearDomRect(rect,threshold,pointerX,pointerY){let{top,right,bottom,left,width,height}=rect,xThreshold=width*threshold,yThreshold=height*threshold;return pointerY>top-yThreshold&&pointerY<bottom+yThreshold&&pointerX>left-xThreshold&&pointerX<right+xThreshold}var ParentPositionTracker=class{_document;positions=new Map;constructor(_document2){this._document=_document2}clear(){this.positions.clear()}cache(elements){this.clear(),this.positions.set(this._document,{scrollPosition:this.getViewportScrollPosition()}),elements.forEach(element=>{this.positions.set(element,{scrollPosition:{top:element.scrollTop,left:element.scrollLeft},clientRect:getMutableClientRect(element)})})}handleScroll(event){let target=_getEventTarget(event),cachedPosition=this.positions.get(target);if(!cachedPosition)return null;let scrollPosition=cachedPosition.scrollPosition,newTop,newLeft;if(target===this._document){let viewportScrollPosition=this.getViewportScrollPosition();newTop=viewportScrollPosition.top,newLeft=viewportScrollPosition.left}else newTop=target.scrollTop,newLeft=target.scrollLeft;let topDifference=scrollPosition.top-newTop,leftDifference=scrollPosition.left-newLeft;return this.positions.forEach((position,node)=>{position.clientRect&&target!==node&&target.contains(node)&&adjustDomRect(position.clientRect,topDifference,leftDifference)}),scrollPosition.top=newTop,scrollPosition.left=newLeft,{top:topDifference,left:leftDifference}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}};function getRootNode(viewRef,_document2){let rootNodes=viewRef.rootNodes;if(rootNodes.length===1&&rootNodes[0].nodeType===_document2.ELEMENT_NODE)return rootNodes[0];let wrapper=_document2.createElement("div");return rootNodes.forEach(node=>wrapper.appendChild(node)),wrapper}function extendStyles2(dest,source,importantProperties2){for(let key in source)if(source.hasOwnProperty(key)){let value=source[key];value?dest.setProperty(key,value,importantProperties2?.has(key)?"important":""):dest.removeProperty(key)}return dest}function toggleNativeDragInteractions(element,enable){let userSelect=enable?"":"none";extendStyles2(element.style,{"touch-action":enable?"":"none","-webkit-user-drag":enable?"":"none","-webkit-tap-highlight-color":enable?"":"transparent","user-select":userSelect,"-ms-user-select":userSelect,"-webkit-user-select":userSelect,"-moz-user-select":userSelect})}function toggleVisibility(element,enable,importantProperties2){extendStyles2(element.style,{position:enable?"":"fixed",top:enable?"":"0",opacity:enable?"":"0",left:enable?"":"-999em"},importantProperties2)}function combineTransforms(transform,initialTransform){return initialTransform&&initialTransform!="none"?transform+" "+initialTransform:transform}function matchElementSize(target,sourceRect){target.style.width=`${sourceRect.width}px`,target.style.height=`${sourceRect.height}px`,target.style.transform=getTransform(sourceRect.left,sourceRect.top)}function getTransform(x,y){return`translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`}var capturingEventOptions={capture:!0},activeCapturingEventOptions$1={passive:!1,capture:!0},_ResetsLoader=(()=>{class _ResetsLoader2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_ResetsLoader2)};static \u0275cmp=\u0275\u0275defineComponent({type:_ResetsLoader2,selectors:[["ng-component"]],hostAttrs:["cdk-drag-resets-container",""],decls:0,vars:0,template:function(rf,ctx){},styles:[`@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;color:inherit;inset:auto}}.cdk-drag-placeholder *,.cdk-drag-preview *{pointer-events:none !important}
76
76
  `],encapsulation:2,changeDetection:0})}return _ResetsLoader2})(),DragDropRegistry=(()=>{class DragDropRegistry2{_ngZone=inject2(NgZone);_document=inject2(DOCUMENT);_styleLoader=inject2(_CdkPrivateStyleLoader);_renderer=inject2(RendererFactory2).createRenderer(null,null);_cleanupDocumentTouchmove;_scroll=new Subject;_dropInstances=new Set;_dragInstances=new Set;_activeDragInstances=signal([]);_globalListeners;_draggingPredicate=item=>item.isDragging();_domNodesToDirectives=null;pointerMove=new Subject;pointerUp=new Subject;constructor(){}registerDropContainer(drop){this._dropInstances.has(drop)||this._dropInstances.add(drop)}registerDragItem(drag){this._dragInstances.add(drag),this._dragInstances.size===1&&this._ngZone.runOutsideAngular(()=>{this._cleanupDocumentTouchmove?.(),this._cleanupDocumentTouchmove=this._renderer.listen(this._document,"touchmove",this._persistentTouchmoveListener,activeCapturingEventOptions$1)})}removeDropContainer(drop){this._dropInstances.delete(drop)}removeDragItem(drag){this._dragInstances.delete(drag),this.stopDragging(drag),this._dragInstances.size===0&&this._cleanupDocumentTouchmove?.()}startDragging(drag,event){if(!(this._activeDragInstances().indexOf(drag)>-1)&&(this._styleLoader.load(_ResetsLoader),this._activeDragInstances.update(instances=>[...instances,drag]),this._activeDragInstances().length===1)){let isTouchEvent2=event.type.startsWith("touch"),endEventHandler=e=>this.pointerUp.next(e),toBind=[["scroll",e=>this._scroll.next(e),capturingEventOptions],["selectstart",this._preventDefaultWhileDragging,activeCapturingEventOptions$1]];isTouchEvent2?toBind.push(["touchend",endEventHandler,capturingEventOptions],["touchcancel",endEventHandler,capturingEventOptions]):toBind.push(["mouseup",endEventHandler,capturingEventOptions]),isTouchEvent2||toBind.push(["mousemove",e=>this.pointerMove.next(e),activeCapturingEventOptions$1]),this._ngZone.runOutsideAngular(()=>{this._globalListeners=toBind.map(([name,handler,options])=>this._renderer.listen(this._document,name,handler,options))})}}stopDragging(drag){this._activeDragInstances.update(instances=>{let index=instances.indexOf(drag);return index>-1?(instances.splice(index,1),[...instances]):instances}),this._activeDragInstances().length===0&&this._clearGlobalListeners()}isDragging(drag){return this._activeDragInstances().indexOf(drag)>-1}scrolled(shadowRoot){let streams=[this._scroll];return shadowRoot&&shadowRoot!==this._document&&streams.push(new Observable(observer=>this._ngZone.runOutsideAngular(()=>{let cleanup=this._renderer.listen(shadowRoot,"scroll",event=>{this._activeDragInstances().length&&observer.next(event)},capturingEventOptions);return()=>{cleanup()}}))),merge(...streams)}registerDirectiveNode(node,dragRef){this._domNodesToDirectives??=new WeakMap,this._domNodesToDirectives.set(node,dragRef)}removeDirectiveNode(node){this._domNodesToDirectives?.delete(node)}getDragDirectiveForNode(node){return this._domNodesToDirectives?.get(node)||null}ngOnDestroy(){this._dragInstances.forEach(instance=>this.removeDragItem(instance)),this._dropInstances.forEach(instance=>this.removeDropContainer(instance)),this._domNodesToDirectives=null,this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()}_preventDefaultWhileDragging=event=>{this._activeDragInstances().length>0&&event.preventDefault()};_persistentTouchmoveListener=event=>{this._activeDragInstances().length>0&&(this._activeDragInstances().some(this._draggingPredicate)&&event.preventDefault(),this.pointerMove.next(event))};_clearGlobalListeners(){this._globalListeners?.forEach(cleanup=>cleanup()),this._globalListeners=void 0}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DragDropRegistry2)};static \u0275prov=\u0275\u0275defineInjectable({token:DragDropRegistry2,factory:DragDropRegistry2.\u0275fac,providedIn:"root"})}return DragDropRegistry2})();function parseCssTimeUnitsToMs(value){let multiplier=value.toLowerCase().indexOf("ms")>-1?1:1e3;return parseFloat(value)*multiplier}function getTransformTransitionDurationInMs(element){let computedStyle=getComputedStyle(element),transitionedProperties=parseCssPropertyValue(computedStyle,"transition-property"),property=transitionedProperties.find(prop=>prop==="transform"||prop==="all");if(!property)return 0;let propertyIndex=transitionedProperties.indexOf(property),rawDurations=parseCssPropertyValue(computedStyle,"transition-duration"),rawDelays=parseCssPropertyValue(computedStyle,"transition-delay");return parseCssTimeUnitsToMs(rawDurations[propertyIndex])+parseCssTimeUnitsToMs(rawDelays[propertyIndex])}function parseCssPropertyValue(computedStyle,name){return computedStyle.getPropertyValue(name).split(",").map(part=>part.trim())}var importantProperties=new Set(["position"]),PreviewRef=class{_document;_rootElement;_direction;_initialDomRect;_previewTemplate;_previewClass;_pickupPositionOnPage;_initialTransform;_zIndex;_renderer;_previewEmbeddedView=null;_preview;get element(){return this._preview}constructor(_document2,_rootElement,_direction,_initialDomRect,_previewTemplate,_previewClass,_pickupPositionOnPage,_initialTransform,_zIndex,_renderer){this._document=_document2,this._rootElement=_rootElement,this._direction=_direction,this._initialDomRect=_initialDomRect,this._previewTemplate=_previewTemplate,this._previewClass=_previewClass,this._pickupPositionOnPage=_pickupPositionOnPage,this._initialTransform=_initialTransform,this._zIndex=_zIndex,this._renderer=_renderer}attach(parent){this._preview=this._createPreview(),parent.appendChild(this._preview),supportsPopover(this._preview)&&this._preview.showPopover()}destroy(){this._preview.remove(),this._previewEmbeddedView?.destroy(),this._preview=this._previewEmbeddedView=null}setTransform(value){this._preview.style.transform=value}getBoundingClientRect(){return this._preview.getBoundingClientRect()}addClass(className){this._preview.classList.add(className)}getTransitionDuration(){return getTransformTransitionDurationInMs(this._preview)}addEventListener(name,handler){return this._renderer.listen(this._preview,name,handler)}_createPreview(){let previewConfig=this._previewTemplate,previewClass=this._previewClass,previewTemplate=previewConfig?previewConfig.template:null,preview;if(previewTemplate&&previewConfig){let rootRect=previewConfig.matchSize?this._initialDomRect:null,viewRef=previewConfig.viewContainer.createEmbeddedView(previewTemplate,previewConfig.context);viewRef.detectChanges(),preview=getRootNode(viewRef,this._document),this._previewEmbeddedView=viewRef,previewConfig.matchSize?matchElementSize(preview,rootRect):preview.style.transform=getTransform(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else preview=deepCloneNode(this._rootElement),matchElementSize(preview,this._initialDomRect),this._initialTransform&&(preview.style.transform=this._initialTransform);return extendStyles2(preview.style,{"pointer-events":"none",margin:supportsPopover(preview)?"0 auto 0 0":"0",position:"fixed",top:"0",left:"0","z-index":this._zIndex+""},importantProperties),toggleNativeDragInteractions(preview,!1),preview.classList.add("cdk-drag-preview"),preview.setAttribute("popover","manual"),preview.setAttribute("dir",this._direction),previewClass&&(Array.isArray(previewClass)?previewClass.forEach(className=>preview.classList.add(className)):preview.classList.add(previewClass)),preview}};function supportsPopover(element){return"showPopover"in element}var passiveEventListenerOptions={passive:!0},activeEventListenerOptions={passive:!1},activeCapturingEventOptions={passive:!1,capture:!0},MOUSE_EVENT_IGNORE_TIME=800,PLACEHOLDER_CLASS="cdk-drag-placeholder",dragImportantProperties=new Set(["position"]);function createDragRef(injector,element,config2={dragStartThreshold:5,pointerDirectionChangeThreshold:5}){let renderer=injector.get(Renderer2,null,{optional:!0})||injector.get(RendererFactory2).createRenderer(null,null);return new DragRef(element,config2,injector.get(DOCUMENT),injector.get(NgZone),injector.get(ViewportRuler),injector.get(DragDropRegistry),renderer)}var DragRef=class{_config;_document;_ngZone;_viewportRuler;_dragDropRegistry;_renderer;_rootElementCleanups;_cleanupShadowRootSelectStart;_preview=null;_previewContainer;_placeholderRef=null;_placeholder;_pickupPositionInElement;_pickupPositionOnPage;_marker;_anchor=null;_passiveTransform={x:0,y:0};_activeTransform={x:0,y:0};_initialTransform;_hasStartedDragging=signal(!1);_hasMoved=!1;_initialContainer;_initialIndex;_parentPositions;_moveEvents=new Subject;_pointerDirectionDelta;_pointerPositionAtLastDirectionChange;_lastKnownPointerPosition;_rootElement;_ownerSVGElement=null;_rootElementTapHighlight;_pointerMoveSubscription=Subscription.EMPTY;_pointerUpSubscription=Subscription.EMPTY;_scrollSubscription=Subscription.EMPTY;_resizeSubscription=Subscription.EMPTY;_lastTouchEventTime;_dragStartTime;_boundaryElement=null;_nativeInteractionsEnabled=!0;_initialDomRect;_previewRect;_boundaryRect;_previewTemplate;_placeholderTemplate;_handles=[];_disabledHandles=new Set;_dropContainer;_direction="ltr";_parentDragRef=null;_cachedShadowRoot;lockAxis=null;dragStartDelay=0;previewClass;scale=1;get disabled(){return this._disabled||!!(this._dropContainer&&this._dropContainer.disabled)}set disabled(value){value!==this._disabled&&(this._disabled=value,this._toggleNativeDragInteractions(),this._handles.forEach(handle=>toggleNativeDragInteractions(handle,value)))}_disabled=!1;beforeStarted=new Subject;started=new Subject;released=new Subject;ended=new Subject;entered=new Subject;exited=new Subject;dropped=new Subject;moved=this._moveEvents;data;constrainPosition;constructor(element,_config,_document2,_ngZone,_viewportRuler,_dragDropRegistry,_renderer){this._config=_config,this._document=_document2,this._ngZone=_ngZone,this._viewportRuler=_viewportRuler,this._dragDropRegistry=_dragDropRegistry,this._renderer=_renderer,this.withRootElement(element).withParent(_config.parentDragRef||null),this._parentPositions=new ParentPositionTracker(_document2),_dragDropRegistry.registerDragItem(this)}getPlaceholderElement(){return this._placeholder}getRootElement(){return this._rootElement}getVisibleElement(){return this.isDragging()?this.getPlaceholderElement():this.getRootElement()}withHandles(handles){this._handles=handles.map(handle=>coerceElement(handle)),this._handles.forEach(handle=>toggleNativeDragInteractions(handle,this.disabled)),this._toggleNativeDragInteractions();let disabledHandles=new Set;return this._disabledHandles.forEach(handle=>{this._handles.indexOf(handle)>-1&&disabledHandles.add(handle)}),this._disabledHandles=disabledHandles,this}withPreviewTemplate(template){return this._previewTemplate=template,this}withPlaceholderTemplate(template){return this._placeholderTemplate=template,this}withRootElement(rootElement){let element=coerceElement(rootElement);if(element!==this._rootElement){this._removeRootElementListeners();let renderer=this._renderer;this._rootElementCleanups=this._ngZone.runOutsideAngular(()=>[renderer.listen(element,"mousedown",this._pointerDown,activeEventListenerOptions),renderer.listen(element,"touchstart",this._pointerDown,passiveEventListenerOptions),renderer.listen(element,"dragstart",this._nativeDragStart,activeEventListenerOptions)]),this._initialTransform=void 0,this._rootElement=element}return typeof SVGElement<"u"&&this._rootElement instanceof SVGElement&&(this._ownerSVGElement=this._rootElement.ownerSVGElement),this}withBoundaryElement(boundaryElement){return this._boundaryElement=boundaryElement?coerceElement(boundaryElement):null,this._resizeSubscription.unsubscribe(),boundaryElement&&(this._resizeSubscription=this._viewportRuler.change(10).subscribe(()=>this._containInsideBoundaryOnResize())),this}withParent(parent){return this._parentDragRef=parent,this}dispose(){this._removeRootElementListeners(),this.isDragging()&&this._rootElement?.remove(),this._marker?.remove(),this._destroyPreview(),this._destroyPlaceholder(),this._dragDropRegistry.removeDragItem(this),this._removeListeners(),this.beforeStarted.complete(),this.started.complete(),this.released.complete(),this.ended.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this._moveEvents.complete(),this._handles=[],this._disabledHandles.clear(),this._dropContainer=void 0,this._resizeSubscription.unsubscribe(),this._parentPositions.clear(),this._boundaryElement=this._rootElement=this._ownerSVGElement=this._placeholderTemplate=this._previewTemplate=this._marker=this._parentDragRef=null}isDragging(){return this._hasStartedDragging()&&this._dragDropRegistry.isDragging(this)}reset(){this._rootElement.style.transform=this._initialTransform||"",this._activeTransform={x:0,y:0},this._passiveTransform={x:0,y:0}}resetToBoundary(){if(this._boundaryElement&&this._rootElement&&isOverflowingParent(this._boundaryElement.getBoundingClientRect(),this._rootElement.getBoundingClientRect())){let parentRect=this._boundaryElement.getBoundingClientRect(),childRect=this._rootElement.getBoundingClientRect(),offsetX=0,offsetY=0;childRect.left<parentRect.left?offsetX=parentRect.left-childRect.left:childRect.right>parentRect.right&&(offsetX=parentRect.right-childRect.right),childRect.top<parentRect.top?offsetY=parentRect.top-childRect.top:childRect.bottom>parentRect.bottom&&(offsetY=parentRect.bottom-childRect.bottom);let currentLeft=this._activeTransform.x,currentTop=this._activeTransform.y,x=currentLeft+offsetX,y=currentTop+offsetY;this._rootElement.style.transform=getTransform(x,y),this._activeTransform={x,y},this._passiveTransform={x,y}}}disableHandle(handle){!this._disabledHandles.has(handle)&&this._handles.indexOf(handle)>-1&&(this._disabledHandles.add(handle),toggleNativeDragInteractions(handle,!0))}enableHandle(handle){this._disabledHandles.has(handle)&&(this._disabledHandles.delete(handle),toggleNativeDragInteractions(handle,this.disabled))}withDirection(direction){return this._direction=direction,this}_withDropContainer(container){this._dropContainer=container}getFreeDragPosition(){let position=this.isDragging()?this._activeTransform:this._passiveTransform;return{x:position.x,y:position.y}}setFreeDragPosition(value){return this._activeTransform={x:0,y:0},this._passiveTransform.x=value.x,this._passiveTransform.y=value.y,this._dropContainer||this._applyRootElementTransform(value.x,value.y),this}withPreviewContainer(value){return this._previewContainer=value,this}_sortFromLastPointerPosition(){let position=this._lastKnownPointerPosition;position&&this._dropContainer&&this._updateActiveDropContainer(this._getConstrainedPointerPosition(position),position)}_removeListeners(){this._pointerMoveSubscription.unsubscribe(),this._pointerUpSubscription.unsubscribe(),this._scrollSubscription.unsubscribe(),this._cleanupShadowRootSelectStart?.(),this._cleanupShadowRootSelectStart=void 0}_destroyPreview(){this._preview?.destroy(),this._preview=null}_destroyPlaceholder(){this._anchor?.remove(),this._placeholder?.remove(),this._placeholderRef?.destroy(),this._placeholder=this._anchor=this._placeholderRef=null}_pointerDown=event=>{if(this.beforeStarted.next(),this._handles.length){let targetHandle=this._getTargetHandle(event);targetHandle&&!this._disabledHandles.has(targetHandle)&&!this.disabled&&this._initializeDragSequence(targetHandle,event)}else this.disabled||this._initializeDragSequence(this._rootElement,event)};_pointerMove=event=>{let pointerPosition=this._getPointerPositionOnPage(event);if(!this._hasStartedDragging()){let distanceX=Math.abs(pointerPosition.x-this._pickupPositionOnPage.x),distanceY=Math.abs(pointerPosition.y-this._pickupPositionOnPage.y);if(distanceX+distanceY>=this._config.dragStartThreshold){let isDelayElapsed=Date.now()>=this._dragStartTime+this._getDragStartDelay(event),container=this._dropContainer;if(!isDelayElapsed){this._endDragSequence(event);return}(!container||!container.isDragging()&&!container.isReceiving())&&(event.cancelable&&event.preventDefault(),this._hasStartedDragging.set(!0),this._ngZone.run(()=>this._startDragSequence(event)))}return}event.cancelable&&event.preventDefault();let constrainedPointerPosition=this._getConstrainedPointerPosition(pointerPosition);if(this._hasMoved=!0,this._lastKnownPointerPosition=pointerPosition,this._updatePointerDirectionDelta(constrainedPointerPosition),this._dropContainer)this._updateActiveDropContainer(constrainedPointerPosition,pointerPosition);else{let offset=this.constrainPosition?this._initialDomRect:this._pickupPositionOnPage,activeTransform=this._activeTransform;activeTransform.x=constrainedPointerPosition.x-offset.x+this._passiveTransform.x,activeTransform.y=constrainedPointerPosition.y-offset.y+this._passiveTransform.y,this._applyRootElementTransform(activeTransform.x,activeTransform.y)}this._moveEvents.observers.length&&this._ngZone.run(()=>{this._moveEvents.next({source:this,pointerPosition:constrainedPointerPosition,event,distance:this._getDragDistance(constrainedPointerPosition),delta:this._pointerDirectionDelta})})};_pointerUp=event=>{this._endDragSequence(event)};_endDragSequence(event){if(this._dragDropRegistry.isDragging(this)&&(this._removeListeners(),this._dragDropRegistry.stopDragging(this),this._toggleNativeDragInteractions(),this._handles&&(this._rootElement.style.webkitTapHighlightColor=this._rootElementTapHighlight),!!this._hasStartedDragging()))if(this.released.next({source:this,event}),this._dropContainer)this._dropContainer._stopScrolling(),this._animatePreviewToPlaceholder().then(()=>{this._cleanupDragArtifacts(event),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)});else{this._passiveTransform.x=this._activeTransform.x;let pointerPosition=this._getPointerPositionOnPage(event);this._passiveTransform.y=this._activeTransform.y,this._ngZone.run(()=>{this.ended.next({source:this,distance:this._getDragDistance(pointerPosition),dropPoint:pointerPosition,event})}),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)}}_startDragSequence(event){isTouchEvent(event)&&(this._lastTouchEventTime=Date.now()),this._toggleNativeDragInteractions();let shadowRoot=this._getShadowRoot(),dropContainer=this._dropContainer;if(shadowRoot&&this._ngZone.runOutsideAngular(()=>{this._cleanupShadowRootSelectStart=this._renderer.listen(shadowRoot,"selectstart",shadowDomSelectStart,activeCapturingEventOptions)}),dropContainer){let element=this._rootElement,parent=element.parentNode,placeholder=this._placeholder=this._createPlaceholderElement(),marker=this._marker=this._marker||this._document.createComment("");parent.insertBefore(marker,element),this._initialTransform=element.style.transform||"",this._preview=new PreviewRef(this._document,this._rootElement,this._direction,this._initialDomRect,this._previewTemplate||null,this.previewClass||null,this._pickupPositionOnPage,this._initialTransform,this._config.zIndex||1e3,this._renderer),this._preview.attach(this._getPreviewInsertionPoint(parent,shadowRoot)),toggleVisibility(element,!1,dragImportantProperties),this._document.body.appendChild(parent.replaceChild(placeholder,element)),this.started.next({source:this,event}),dropContainer.start(),this._initialContainer=dropContainer,this._initialIndex=dropContainer.getItemIndex(this)}else this.started.next({source:this,event}),this._initialContainer=this._initialIndex=void 0;this._parentPositions.cache(dropContainer?dropContainer.getScrollableParents():[])}_initializeDragSequence(referenceElement,event){this._parentDragRef&&event.stopPropagation();let isDragging=this.isDragging(),isTouchSequence=isTouchEvent(event),isAuxiliaryMouseButton=!isTouchSequence&&event.button!==0,rootElement=this._rootElement,target=_getEventTarget(event),isSyntheticEvent=!isTouchSequence&&this._lastTouchEventTime&&this._lastTouchEventTime+MOUSE_EVENT_IGNORE_TIME>Date.now(),isFakeEvent=isTouchSequence?isFakeTouchstartFromScreenReader(event):isFakeMousedownFromScreenReader(event);if(target&&target.draggable&&event.type==="mousedown"&&event.preventDefault(),isDragging||isAuxiliaryMouseButton||isSyntheticEvent||isFakeEvent)return;if(this._handles.length){let rootStyles=rootElement.style;this._rootElementTapHighlight=rootStyles.webkitTapHighlightColor||"",rootStyles.webkitTapHighlightColor="transparent"}this._hasMoved=!1,this._hasStartedDragging.set(this._hasMoved),this._removeListeners(),this._initialDomRect=this._rootElement.getBoundingClientRect(),this._pointerMoveSubscription=this._dragDropRegistry.pointerMove.subscribe(this._pointerMove),this._pointerUpSubscription=this._dragDropRegistry.pointerUp.subscribe(this._pointerUp),this._scrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(scrollEvent=>this._updateOnScroll(scrollEvent)),this._boundaryElement&&(this._boundaryRect=getMutableClientRect(this._boundaryElement));let previewTemplate=this._previewTemplate;this._pickupPositionInElement=previewTemplate&&previewTemplate.template&&!previewTemplate.matchSize?{x:0,y:0}:this._getPointerPositionInElement(this._initialDomRect,referenceElement,event);let pointerPosition=this._pickupPositionOnPage=this._lastKnownPointerPosition=this._getPointerPositionOnPage(event);this._pointerDirectionDelta={x:0,y:0},this._pointerPositionAtLastDirectionChange={x:pointerPosition.x,y:pointerPosition.y},this._dragStartTime=Date.now(),this._dragDropRegistry.startDragging(this,event)}_cleanupDragArtifacts(event){toggleVisibility(this._rootElement,!0,dragImportantProperties),this._marker.parentNode.replaceChild(this._rootElement,this._marker),this._destroyPreview(),this._destroyPlaceholder(),this._initialDomRect=this._boundaryRect=this._previewRect=this._initialTransform=void 0,this._ngZone.run(()=>{let container=this._dropContainer,currentIndex=container.getItemIndex(this),pointerPosition=this._getPointerPositionOnPage(event),distance=this._getDragDistance(pointerPosition),isPointerOverContainer=container._isOverContainer(pointerPosition.x,pointerPosition.y);this.ended.next({source:this,distance,dropPoint:pointerPosition,event}),this.dropped.next({item:this,currentIndex,previousIndex:this._initialIndex,container,previousContainer:this._initialContainer,isPointerOverContainer,distance,dropPoint:pointerPosition,event}),container.drop(this,currentIndex,this._initialIndex,this._initialContainer,isPointerOverContainer,distance,pointerPosition,event),this._dropContainer=this._initialContainer})}_updateActiveDropContainer({x,y},{x:rawX,y:rawY}){let newContainer=this._initialContainer._getSiblingContainerFromPosition(this,x,y);!newContainer&&this._dropContainer!==this._initialContainer&&this._initialContainer._isOverContainer(x,y)&&(newContainer=this._initialContainer),newContainer&&newContainer!==this._dropContainer&&this._ngZone.run(()=>{let exitIndex=this._dropContainer.getItemIndex(this),nextItemElement=this._dropContainer.getItemAtIndex(exitIndex+1)?.getVisibleElement()||null;this.exited.next({item:this,container:this._dropContainer}),this._dropContainer.exit(this),this._conditionallyInsertAnchor(newContainer,this._dropContainer,nextItemElement),this._dropContainer=newContainer,this._dropContainer.enter(this,x,y,newContainer===this._initialContainer&&newContainer.sortingDisabled?this._initialIndex:void 0),this.entered.next({item:this,container:newContainer,currentIndex:newContainer.getItemIndex(this)})}),this.isDragging()&&(this._dropContainer._startScrollingIfNecessary(rawX,rawY),this._dropContainer._sortItem(this,x,y,this._pointerDirectionDelta),this.constrainPosition?this._applyPreviewTransform(x,y):this._applyPreviewTransform(x-this._pickupPositionInElement.x,y-this._pickupPositionInElement.y))}_animatePreviewToPlaceholder(){if(!this._hasMoved)return Promise.resolve();let placeholderRect=this._placeholder.getBoundingClientRect();this._preview.addClass("cdk-drag-animating"),this._applyPreviewTransform(placeholderRect.left,placeholderRect.top);let duration=this._preview.getTransitionDuration();return duration===0?Promise.resolve():this._ngZone.runOutsideAngular(()=>new Promise(resolve=>{let handler=event=>{(!event||this._preview&&_getEventTarget(event)===this._preview.element&&event.propertyName==="transform")&&(cleanupListener(),resolve(),clearTimeout(timeout2))},timeout2=setTimeout(handler,duration*1.5),cleanupListener=this._preview.addEventListener("transitionend",handler)}))}_createPlaceholderElement(){let placeholderConfig=this._placeholderTemplate,placeholderTemplate=placeholderConfig?placeholderConfig.template:null,placeholder;return placeholderTemplate?(this._placeholderRef=placeholderConfig.viewContainer.createEmbeddedView(placeholderTemplate,placeholderConfig.context),this._placeholderRef.detectChanges(),placeholder=getRootNode(this._placeholderRef,this._document)):placeholder=deepCloneNode(this._rootElement),placeholder.style.pointerEvents="none",placeholder.classList.add(PLACEHOLDER_CLASS),placeholder}_getPointerPositionInElement(elementRect,referenceElement,event){let handleElement=referenceElement===this._rootElement?null:referenceElement,referenceRect=handleElement?handleElement.getBoundingClientRect():elementRect,point=isTouchEvent(event)?event.targetTouches[0]:event,scrollPosition=this._getViewportScrollPosition(),x=point.pageX-referenceRect.left-scrollPosition.left,y=point.pageY-referenceRect.top-scrollPosition.top;return{x:referenceRect.left-elementRect.left+x,y:referenceRect.top-elementRect.top+y}}_getPointerPositionOnPage(event){let scrollPosition=this._getViewportScrollPosition(),point=isTouchEvent(event)?event.touches[0]||event.changedTouches[0]||{pageX:0,pageY:0}:event,x=point.pageX-scrollPosition.left,y=point.pageY-scrollPosition.top;if(this._ownerSVGElement){let svgMatrix=this._ownerSVGElement.getScreenCTM();if(svgMatrix){let svgPoint=this._ownerSVGElement.createSVGPoint();return svgPoint.x=x,svgPoint.y=y,svgPoint.matrixTransform(svgMatrix.inverse())}}return{x,y}}_getConstrainedPointerPosition(point){let dropContainerLock=this._dropContainer?this._dropContainer.lockAxis:null,{x,y}=this.constrainPosition?this.constrainPosition(point,this,this._initialDomRect,this._pickupPositionInElement):point;if(this.lockAxis==="x"||dropContainerLock==="x"?y=this._pickupPositionOnPage.y-(this.constrainPosition?this._pickupPositionInElement.y:0):(this.lockAxis==="y"||dropContainerLock==="y")&&(x=this._pickupPositionOnPage.x-(this.constrainPosition?this._pickupPositionInElement.x:0)),this._boundaryRect){let{x:pickupX,y:pickupY}=this.constrainPosition?{x:0,y:0}:this._pickupPositionInElement,boundaryRect=this._boundaryRect,{width:previewWidth,height:previewHeight}=this._getPreviewRect(),minY=boundaryRect.top+pickupY,maxY=boundaryRect.bottom-(previewHeight-pickupY),minX=boundaryRect.left+pickupX,maxX=boundaryRect.right-(previewWidth-pickupX);x=clamp$1(x,minX,maxX),y=clamp$1(y,minY,maxY)}return{x,y}}_updatePointerDirectionDelta(pointerPositionOnPage){let{x,y}=pointerPositionOnPage,delta=this._pointerDirectionDelta,positionSinceLastChange=this._pointerPositionAtLastDirectionChange,changeX=Math.abs(x-positionSinceLastChange.x),changeY=Math.abs(y-positionSinceLastChange.y);return changeX>this._config.pointerDirectionChangeThreshold&&(delta.x=x>positionSinceLastChange.x?1:-1,positionSinceLastChange.x=x),changeY>this._config.pointerDirectionChangeThreshold&&(delta.y=y>positionSinceLastChange.y?1:-1,positionSinceLastChange.y=y),delta}_toggleNativeDragInteractions(){if(!this._rootElement||!this._handles)return;let shouldEnable=this._handles.length>0||!this.isDragging();shouldEnable!==this._nativeInteractionsEnabled&&(this._nativeInteractionsEnabled=shouldEnable,toggleNativeDragInteractions(this._rootElement,shouldEnable))}_removeRootElementListeners(){this._rootElementCleanups?.forEach(cleanup=>cleanup()),this._rootElementCleanups=void 0}_applyRootElementTransform(x,y){let scale=1/this.scale,transform=getTransform(x*scale,y*scale),styles=this._rootElement.style;this._initialTransform==null&&(this._initialTransform=styles.transform&&styles.transform!="none"?styles.transform:""),styles.transform=combineTransforms(transform,this._initialTransform)}_applyPreviewTransform(x,y){let initialTransform=this._previewTemplate?.template?void 0:this._initialTransform,transform=getTransform(x,y);this._preview.setTransform(combineTransforms(transform,initialTransform))}_getDragDistance(currentPosition){let pickupPosition=this._pickupPositionOnPage;return pickupPosition?{x:currentPosition.x-pickupPosition.x,y:currentPosition.y-pickupPosition.y}:{x:0,y:0}}_cleanupCachedDimensions(){this._boundaryRect=this._previewRect=void 0,this._parentPositions.clear()}_containInsideBoundaryOnResize(){let{x,y}=this._passiveTransform;if(x===0&&y===0||this.isDragging()||!this._boundaryElement)return;let elementRect=this._rootElement.getBoundingClientRect(),boundaryRect=this._boundaryElement.getBoundingClientRect();if(boundaryRect.width===0&&boundaryRect.height===0||elementRect.width===0&&elementRect.height===0)return;let leftOverflow=boundaryRect.left-elementRect.left,rightOverflow=elementRect.right-boundaryRect.right,topOverflow=boundaryRect.top-elementRect.top,bottomOverflow=elementRect.bottom-boundaryRect.bottom;boundaryRect.width>elementRect.width?(leftOverflow>0&&(x+=leftOverflow),rightOverflow>0&&(x-=rightOverflow)):x=0,boundaryRect.height>elementRect.height?(topOverflow>0&&(y+=topOverflow),bottomOverflow>0&&(y-=bottomOverflow)):y=0,(x!==this._passiveTransform.x||y!==this._passiveTransform.y)&&this.setFreeDragPosition({y,x})}_getDragStartDelay(event){let value=this.dragStartDelay;return typeof value=="number"?value:isTouchEvent(event)?value.touch:value?value.mouse:0}_updateOnScroll(event){let scrollDifference=this._parentPositions.handleScroll(event);if(scrollDifference){let target=_getEventTarget(event);this._boundaryRect&&target!==this._boundaryElement&&target.contains(this._boundaryElement)&&adjustDomRect(this._boundaryRect,scrollDifference.top,scrollDifference.left),this._pickupPositionOnPage.x+=scrollDifference.left,this._pickupPositionOnPage.y+=scrollDifference.top,this._dropContainer||(this._activeTransform.x-=scrollDifference.left,this._activeTransform.y-=scrollDifference.top,this._applyRootElementTransform(this._activeTransform.x,this._activeTransform.y))}}_getViewportScrollPosition(){return this._parentPositions.positions.get(this._document)?.scrollPosition||this._parentPositions.getViewportScrollPosition()}_getShadowRoot(){return this._cachedShadowRoot===void 0&&(this._cachedShadowRoot=_getShadowRoot(this._rootElement)),this._cachedShadowRoot}_getPreviewInsertionPoint(initialParent,shadowRoot){let previewContainer=this._previewContainer||"global";if(previewContainer==="parent")return initialParent;if(previewContainer==="global"){let documentRef=this._document;return shadowRoot||documentRef.fullscreenElement||documentRef.webkitFullscreenElement||documentRef.mozFullScreenElement||documentRef.msFullscreenElement||documentRef.body}return coerceElement(previewContainer)}_getPreviewRect(){return(!this._previewRect||!this._previewRect.width&&!this._previewRect.height)&&(this._previewRect=this._preview?this._preview.getBoundingClientRect():this._initialDomRect),this._previewRect}_nativeDragStart=event=>{if(this._handles.length){let targetHandle=this._getTargetHandle(event);targetHandle&&!this._disabledHandles.has(targetHandle)&&!this.disabled&&event.preventDefault()}else this.disabled||event.preventDefault()};_getTargetHandle(event){return this._handles.find(handle=>event.target&&(event.target===handle||handle.contains(event.target)))}_conditionallyInsertAnchor(newContainer,exitContainer,nextItemElement){if(newContainer===this._initialContainer)this._anchor?.remove(),this._anchor=null;else if(exitContainer===this._initialContainer&&exitContainer.hasAnchor){let anchor=this._anchor??=deepCloneNode(this._placeholder);anchor.classList.remove(PLACEHOLDER_CLASS),anchor.classList.add("cdk-drag-anchor"),anchor.style.transform="",nextItemElement?nextItemElement.before(anchor):coerceElement(exitContainer.element).appendChild(anchor)}}};function clamp$1(value,min,max){return Math.max(min,Math.min(max,value))}function isTouchEvent(event){return event.type[0]==="t"}function shadowDomSelectStart(event){event.preventDefault()}function moveItemInArray(array,fromIndex,toIndex){let from3=clamp(fromIndex,array.length-1),to=clamp(toIndex,array.length-1);if(from3===to)return;let target=array[from3],delta=to<from3?-1:1;for(let i=from3;i!==to;i+=delta)array[i]=array[i+delta];array[to]=target}function clamp(value,max){return Math.max(0,Math.min(max,value))}var SingleAxisSortStrategy=class{_dragDropRegistry;_element;_sortPredicate;_itemPositions=[];_activeDraggables;orientation="vertical";direction="ltr";constructor(_dragDropRegistry){this._dragDropRegistry=_dragDropRegistry}_previousSwap={drag:null,delta:0,overlaps:!1};start(items){this.withItems(items)}sort(item,pointerX,pointerY,pointerDelta){let siblings=this._itemPositions,newIndex=this._getItemIndexFromPointerPosition(item,pointerX,pointerY,pointerDelta);if(newIndex===-1&&siblings.length>0)return null;let isHorizontal=this.orientation==="horizontal",currentIndex=siblings.findIndex(currentItem=>currentItem.drag===item),siblingAtNewPosition=siblings[newIndex],currentPosition=siblings[currentIndex].clientRect,newPosition=siblingAtNewPosition.clientRect,delta=currentIndex>newIndex?1:-1,itemOffset=this._getItemOffsetPx(currentPosition,newPosition,delta),siblingOffset=this._getSiblingOffsetPx(currentIndex,siblings,delta),oldOrder=siblings.slice();return moveItemInArray(siblings,currentIndex,newIndex),siblings.forEach((sibling,index)=>{if(oldOrder[index]===sibling)return;let isDraggedItem=sibling.drag===item,offset=isDraggedItem?itemOffset:siblingOffset,elementToOffset=isDraggedItem?item.getPlaceholderElement():sibling.drag.getRootElement();sibling.offset+=offset;let transformAmount=Math.round(sibling.offset*(1/sibling.drag.scale));isHorizontal?(elementToOffset.style.transform=combineTransforms(`translate3d(${transformAmount}px, 0, 0)`,sibling.initialTransform),adjustDomRect(sibling.clientRect,0,offset)):(elementToOffset.style.transform=combineTransforms(`translate3d(0, ${transformAmount}px, 0)`,sibling.initialTransform),adjustDomRect(sibling.clientRect,offset,0))}),this._previousSwap.overlaps=isInsideClientRect(newPosition,pointerX,pointerY),this._previousSwap.drag=siblingAtNewPosition.drag,this._previousSwap.delta=isHorizontal?pointerDelta.x:pointerDelta.y,{previousIndex:currentIndex,currentIndex:newIndex}}enter(item,pointerX,pointerY,index){let activeDraggables=this._activeDraggables,currentIndex=activeDraggables.indexOf(item),placeholder=item.getPlaceholderElement();currentIndex>-1&&activeDraggables.splice(currentIndex,1);let newIndex=index==null||index<0?this._getItemIndexFromPointerPosition(item,pointerX,pointerY):index,newPositionReference=activeDraggables[newIndex];if(newPositionReference===item&&(newPositionReference=activeDraggables[newIndex+1]),!newPositionReference&&(newIndex==null||newIndex===-1||newIndex<activeDraggables.length-1)&&this._shouldEnterAsFirstChild(pointerX,pointerY)&&(newPositionReference=activeDraggables[0]),newPositionReference&&!this._dragDropRegistry.isDragging(newPositionReference)){let element=newPositionReference.getRootElement();element.parentElement.insertBefore(placeholder,element),activeDraggables.splice(newIndex,0,item)}else this._element.appendChild(placeholder),activeDraggables.push(item);placeholder.style.transform="",this._cacheItemPositions()}withItems(items){this._activeDraggables=items.slice(),this._cacheItemPositions()}withSortPredicate(predicate){this._sortPredicate=predicate}reset(){this._activeDraggables?.forEach(item=>{let rootElement=item.getRootElement();if(rootElement){let initialTransform=this._itemPositions.find(p=>p.drag===item)?.initialTransform;rootElement.style.transform=initialTransform||""}}),this._itemPositions=[],this._activeDraggables=[],this._previousSwap.drag=null,this._previousSwap.delta=0,this._previousSwap.overlaps=!1}getActiveItemsSnapshot(){return this._activeDraggables}getItemIndex(item){return this._getVisualItemPositions().findIndex(currentItem=>currentItem.drag===item)}getItemAtIndex(index){return this._getVisualItemPositions()[index]?.drag||null}updateOnScroll(topDifference,leftDifference){this._itemPositions.forEach(({clientRect})=>{adjustDomRect(clientRect,topDifference,leftDifference)}),this._itemPositions.forEach(({drag})=>{this._dragDropRegistry.isDragging(drag)&&drag._sortFromLastPointerPosition()})}withElementContainer(container){this._element=container}_cacheItemPositions(){let isHorizontal=this.orientation==="horizontal";this._itemPositions=this._activeDraggables.map(drag=>{let elementToMeasure=drag.getVisibleElement();return{drag,offset:0,initialTransform:elementToMeasure.style.transform||"",clientRect:getMutableClientRect(elementToMeasure)}}).sort((a,b)=>isHorizontal?a.clientRect.left-b.clientRect.left:a.clientRect.top-b.clientRect.top)}_getVisualItemPositions(){return this.orientation==="horizontal"&&this.direction==="rtl"?this._itemPositions.slice().reverse():this._itemPositions}_getItemOffsetPx(currentPosition,newPosition,delta){let isHorizontal=this.orientation==="horizontal",itemOffset=isHorizontal?newPosition.left-currentPosition.left:newPosition.top-currentPosition.top;return delta===-1&&(itemOffset+=isHorizontal?newPosition.width-currentPosition.width:newPosition.height-currentPosition.height),itemOffset}_getSiblingOffsetPx(currentIndex,siblings,delta){let isHorizontal=this.orientation==="horizontal",currentPosition=siblings[currentIndex].clientRect,immediateSibling=siblings[currentIndex+delta*-1],siblingOffset=currentPosition[isHorizontal?"width":"height"]*delta;if(immediateSibling){let start=isHorizontal?"left":"top",end=isHorizontal?"right":"bottom";delta===-1?siblingOffset-=immediateSibling.clientRect[start]-currentPosition[end]:siblingOffset+=currentPosition[start]-immediateSibling.clientRect[end]}return siblingOffset}_shouldEnterAsFirstChild(pointerX,pointerY){if(!this._activeDraggables.length)return!1;let itemPositions=this._itemPositions,isHorizontal=this.orientation==="horizontal";if(itemPositions[0].drag!==this._activeDraggables[0]){let lastItemRect=itemPositions[itemPositions.length-1].clientRect;return isHorizontal?pointerX>=lastItemRect.right:pointerY>=lastItemRect.bottom}else{let firstItemRect=itemPositions[0].clientRect;return isHorizontal?pointerX<=firstItemRect.left:pointerY<=firstItemRect.top}}_getItemIndexFromPointerPosition(item,pointerX,pointerY,delta){let isHorizontal=this.orientation==="horizontal",index=this._itemPositions.findIndex(({drag,clientRect})=>{if(drag===item)return!1;if(delta){let direction=isHorizontal?delta.x:delta.y;if(drag===this._previousSwap.drag&&this._previousSwap.overlaps&&direction===this._previousSwap.delta)return!1}return isHorizontal?pointerX>=Math.floor(clientRect.left)&&pointerX<Math.floor(clientRect.right):pointerY>=Math.floor(clientRect.top)&&pointerY<Math.floor(clientRect.bottom)});return index===-1||!this._sortPredicate(index,item)?-1:index}},MixedSortStrategy=class{_document;_dragDropRegistry;_element;_sortPredicate;_rootNode;_activeItems;_previousSwap={drag:null,deltaX:0,deltaY:0,overlaps:!1};_relatedNodes=[];constructor(_document2,_dragDropRegistry){this._document=_document2,this._dragDropRegistry=_dragDropRegistry}start(items){let childNodes=this._element.childNodes;this._relatedNodes=[];for(let i=0;i<childNodes.length;i++){let node=childNodes[i];this._relatedNodes.push([node,node.nextSibling])}this.withItems(items)}sort(item,pointerX,pointerY,pointerDelta){let newIndex=this._getItemIndexFromPointerPosition(item,pointerX,pointerY),previousSwap=this._previousSwap;if(newIndex===-1||this._activeItems[newIndex]===item)return null;let toSwapWith=this._activeItems[newIndex];if(previousSwap.drag===toSwapWith&&previousSwap.overlaps&&previousSwap.deltaX===pointerDelta.x&&previousSwap.deltaY===pointerDelta.y)return null;let previousIndex=this.getItemIndex(item),current=item.getPlaceholderElement(),overlapElement=toSwapWith.getRootElement();newIndex>previousIndex?overlapElement.after(current):overlapElement.before(current),moveItemInArray(this._activeItems,previousIndex,newIndex);let newOverlapElement=this._getRootNode().elementFromPoint(pointerX,pointerY);return previousSwap.deltaX=pointerDelta.x,previousSwap.deltaY=pointerDelta.y,previousSwap.drag=toSwapWith,previousSwap.overlaps=overlapElement===newOverlapElement||overlapElement.contains(newOverlapElement),{previousIndex,currentIndex:newIndex}}enter(item,pointerX,pointerY,index){let currentIndex=this._activeItems.indexOf(item);currentIndex>-1&&this._activeItems.splice(currentIndex,1);let enterIndex=index==null||index<0?this._getItemIndexFromPointerPosition(item,pointerX,pointerY):index;enterIndex===-1&&(enterIndex=this._getClosestItemIndexToPointer(item,pointerX,pointerY));let targetItem=this._activeItems[enterIndex];targetItem&&!this._dragDropRegistry.isDragging(targetItem)?(this._activeItems.splice(enterIndex,0,item),targetItem.getRootElement().before(item.getPlaceholderElement())):(this._activeItems.push(item),this._element.appendChild(item.getPlaceholderElement()))}withItems(items){this._activeItems=items.slice()}withSortPredicate(predicate){this._sortPredicate=predicate}reset(){let root=this._element,previousSwap=this._previousSwap;for(let i=this._relatedNodes.length-1;i>-1;i--){let[node,nextSibling]=this._relatedNodes[i];node.parentNode===root&&node.nextSibling!==nextSibling&&(nextSibling===null?root.appendChild(node):nextSibling.parentNode===root&&root.insertBefore(node,nextSibling))}this._relatedNodes=[],this._activeItems=[],previousSwap.drag=null,previousSwap.deltaX=previousSwap.deltaY=0,previousSwap.overlaps=!1}getActiveItemsSnapshot(){return this._activeItems}getItemIndex(item){return this._activeItems.indexOf(item)}getItemAtIndex(index){return this._activeItems[index]||null}updateOnScroll(){this._activeItems.forEach(item=>{this._dragDropRegistry.isDragging(item)&&item._sortFromLastPointerPosition()})}withElementContainer(container){container!==this._element&&(this._element=container,this._rootNode=void 0)}_getItemIndexFromPointerPosition(item,pointerX,pointerY){let elementAtPoint=this._getRootNode().elementFromPoint(Math.floor(pointerX),Math.floor(pointerY)),index=elementAtPoint?this._activeItems.findIndex(item2=>{let root=item2.getRootElement();return elementAtPoint===root||root.contains(elementAtPoint)}):-1;return index===-1||!this._sortPredicate(index,item)?-1:index}_getRootNode(){return this._rootNode||(this._rootNode=_getShadowRoot(this._element)||this._document),this._rootNode}_getClosestItemIndexToPointer(item,pointerX,pointerY){if(this._activeItems.length===0)return-1;if(this._activeItems.length===1)return 0;let minDistance=1/0,minIndex=-1;for(let i=0;i<this._activeItems.length;i++){let current=this._activeItems[i];if(current!==item){let{x,y}=current.getRootElement().getBoundingClientRect(),distance=Math.hypot(pointerX-x,pointerY-y);distance<minDistance&&(minDistance=distance,minIndex=i)}}return minIndex}},DROP_PROXIMITY_THRESHOLD=.05,SCROLL_PROXIMITY_THRESHOLD=.05,AutoScrollVerticalDirection=(function(AutoScrollVerticalDirection2){return AutoScrollVerticalDirection2[AutoScrollVerticalDirection2.NONE=0]="NONE",AutoScrollVerticalDirection2[AutoScrollVerticalDirection2.UP=1]="UP",AutoScrollVerticalDirection2[AutoScrollVerticalDirection2.DOWN=2]="DOWN",AutoScrollVerticalDirection2})(AutoScrollVerticalDirection||{}),AutoScrollHorizontalDirection=(function(AutoScrollHorizontalDirection2){return AutoScrollHorizontalDirection2[AutoScrollHorizontalDirection2.NONE=0]="NONE",AutoScrollHorizontalDirection2[AutoScrollHorizontalDirection2.LEFT=1]="LEFT",AutoScrollHorizontalDirection2[AutoScrollHorizontalDirection2.RIGHT=2]="RIGHT",AutoScrollHorizontalDirection2})(AutoScrollHorizontalDirection||{});function createDropListRef(injector,element){return new DropListRef(element,injector.get(DragDropRegistry),injector.get(DOCUMENT),injector.get(NgZone),injector.get(ViewportRuler))}var DropListRef=class{_dragDropRegistry;_ngZone;_viewportRuler;element;disabled=!1;sortingDisabled=!1;lockAxis=null;autoScrollDisabled=!1;autoScrollStep=2;hasAnchor=!1;enterPredicate=()=>!0;sortPredicate=()=>!0;beforeStarted=new Subject;entered=new Subject;exited=new Subject;dropped=new Subject;sorted=new Subject;receivingStarted=new Subject;receivingStopped=new Subject;data;_container;_isDragging=!1;_parentPositions;_sortStrategy;_domRect;_draggables=[];_siblings=[];_activeSiblings=new Set;_viewportScrollSubscription=Subscription.EMPTY;_verticalScrollDirection=AutoScrollVerticalDirection.NONE;_horizontalScrollDirection=AutoScrollHorizontalDirection.NONE;_scrollNode;_stopScrollTimers=new Subject;_cachedShadowRoot=null;_document;_scrollableElements=[];_initialScrollSnap;_direction="ltr";constructor(element,_dragDropRegistry,_document2,_ngZone,_viewportRuler){this._dragDropRegistry=_dragDropRegistry,this._ngZone=_ngZone,this._viewportRuler=_viewportRuler;let coercedElement=this.element=coerceElement(element);this._document=_document2,this.withOrientation("vertical").withElementContainer(coercedElement),_dragDropRegistry.registerDropContainer(this),this._parentPositions=new ParentPositionTracker(_document2)}dispose(){this._stopScrolling(),this._stopScrollTimers.complete(),this._viewportScrollSubscription.unsubscribe(),this.beforeStarted.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this.sorted.complete(),this.receivingStarted.complete(),this.receivingStopped.complete(),this._activeSiblings.clear(),this._scrollNode=null,this._parentPositions.clear(),this._dragDropRegistry.removeDropContainer(this)}isDragging(){return this._isDragging}start(){this._draggingStarted(),this._notifyReceivingSiblings()}enter(item,pointerX,pointerY,index){this._draggingStarted(),index==null&&this.sortingDisabled&&(index=this._draggables.indexOf(item)),this._sortStrategy.enter(item,pointerX,pointerY,index),this._cacheParentPositions(),this._notifyReceivingSiblings(),this.entered.next({item,container:this,currentIndex:this.getItemIndex(item)})}exit(item){this._reset(),this.exited.next({item,container:this})}drop(item,currentIndex,previousIndex,previousContainer,isPointerOverContainer,distance,dropPoint,event={}){this._reset(),this.dropped.next({item,currentIndex,previousIndex,container:this,previousContainer,isPointerOverContainer,distance,dropPoint,event})}withItems(items){let previousItems=this._draggables;return this._draggables=items,items.forEach(item=>item._withDropContainer(this)),this.isDragging()&&(previousItems.filter(item=>item.isDragging()).every(item=>items.indexOf(item)===-1)?this._reset():this._sortStrategy.withItems(this._draggables)),this}withDirection(direction){return this._direction=direction,this._sortStrategy instanceof SingleAxisSortStrategy&&(this._sortStrategy.direction=direction),this}connectedTo(connectedTo){return this._siblings=connectedTo.slice(),this}withOrientation(orientation){if(orientation==="mixed")this._sortStrategy=new MixedSortStrategy(this._document,this._dragDropRegistry);else{let strategy=new SingleAxisSortStrategy(this._dragDropRegistry);strategy.direction=this._direction,strategy.orientation=orientation,this._sortStrategy=strategy}return this._sortStrategy.withElementContainer(this._container),this._sortStrategy.withSortPredicate((index,item)=>this.sortPredicate(index,item,this)),this}withScrollableParents(elements){let element=this._container;return this._scrollableElements=elements.indexOf(element)===-1?[element,...elements]:elements.slice(),this}withElementContainer(container){if(container===this._container)return this;let element=coerceElement(this.element),oldContainerIndex=this._scrollableElements.indexOf(this._container),newContainerIndex=this._scrollableElements.indexOf(container);return oldContainerIndex>-1&&this._scrollableElements.splice(oldContainerIndex,1),newContainerIndex>-1&&this._scrollableElements.splice(newContainerIndex,1),this._sortStrategy&&this._sortStrategy.withElementContainer(container),this._cachedShadowRoot=null,this._scrollableElements.unshift(container),this._container=container,this}getScrollableParents(){return this._scrollableElements}getItemIndex(item){return this._isDragging?this._sortStrategy.getItemIndex(item):this._draggables.indexOf(item)}getItemAtIndex(index){return this._isDragging?this._sortStrategy.getItemAtIndex(index):this._draggables[index]||null}isReceiving(){return this._activeSiblings.size>0}_sortItem(item,pointerX,pointerY,pointerDelta){if(this.sortingDisabled||!this._domRect||!isPointerNearDomRect(this._domRect,DROP_PROXIMITY_THRESHOLD,pointerX,pointerY))return;let result=this._sortStrategy.sort(item,pointerX,pointerY,pointerDelta);result&&this.sorted.next({previousIndex:result.previousIndex,currentIndex:result.currentIndex,container:this,item})}_startScrollingIfNecessary(pointerX,pointerY){if(this.autoScrollDisabled)return;let scrollNode,verticalScrollDirection=AutoScrollVerticalDirection.NONE,horizontalScrollDirection=AutoScrollHorizontalDirection.NONE;if(this._parentPositions.positions.forEach((position,element)=>{element===this._document||!position.clientRect||scrollNode||isPointerNearDomRect(position.clientRect,DROP_PROXIMITY_THRESHOLD,pointerX,pointerY)&&([verticalScrollDirection,horizontalScrollDirection]=getElementScrollDirections(element,position.clientRect,this._direction,pointerX,pointerY),(verticalScrollDirection||horizontalScrollDirection)&&(scrollNode=element))}),!verticalScrollDirection&&!horizontalScrollDirection){let{width,height}=this._viewportRuler.getViewportSize(),domRect={width,height,top:0,right:width,bottom:height,left:0};verticalScrollDirection=getVerticalScrollDirection(domRect,pointerY),horizontalScrollDirection=getHorizontalScrollDirection(domRect,pointerX),scrollNode=window}scrollNode&&(verticalScrollDirection!==this._verticalScrollDirection||horizontalScrollDirection!==this._horizontalScrollDirection||scrollNode!==this._scrollNode)&&(this._verticalScrollDirection=verticalScrollDirection,this._horizontalScrollDirection=horizontalScrollDirection,this._scrollNode=scrollNode,(verticalScrollDirection||horizontalScrollDirection)&&scrollNode?this._ngZone.runOutsideAngular(this._startScrollInterval):this._stopScrolling())}_stopScrolling(){this._stopScrollTimers.next()}_draggingStarted(){let styles=this._container.style;this.beforeStarted.next(),this._isDragging=!0,this._initialScrollSnap=styles.msScrollSnapType||styles.scrollSnapType||"",styles.scrollSnapType=styles.msScrollSnapType="none",this._sortStrategy.start(this._draggables),this._cacheParentPositions(),this._viewportScrollSubscription.unsubscribe(),this._listenToScrollEvents()}_cacheParentPositions(){this._parentPositions.cache(this._scrollableElements),this._domRect=this._parentPositions.positions.get(this._container).clientRect}_reset(){this._isDragging=!1;let styles=this._container.style;styles.scrollSnapType=styles.msScrollSnapType=this._initialScrollSnap,this._siblings.forEach(sibling=>sibling._stopReceiving(this)),this._sortStrategy.reset(),this._stopScrolling(),this._viewportScrollSubscription.unsubscribe(),this._parentPositions.clear()}_startScrollInterval=()=>{this._stopScrolling(),interval(0,animationFrameScheduler).pipe(takeUntil(this._stopScrollTimers)).subscribe(()=>{let node=this._scrollNode,scrollStep=this.autoScrollStep;this._verticalScrollDirection===AutoScrollVerticalDirection.UP?node.scrollBy(0,-scrollStep):this._verticalScrollDirection===AutoScrollVerticalDirection.DOWN&&node.scrollBy(0,scrollStep),this._horizontalScrollDirection===AutoScrollHorizontalDirection.LEFT?node.scrollBy(-scrollStep,0):this._horizontalScrollDirection===AutoScrollHorizontalDirection.RIGHT&&node.scrollBy(scrollStep,0)})};_isOverContainer(x,y){return this._domRect!=null&&isInsideClientRect(this._domRect,x,y)}_getSiblingContainerFromPosition(item,x,y){return this._siblings.find(sibling=>sibling._canReceive(item,x,y))}_canReceive(item,x,y){if(!this._domRect||!isInsideClientRect(this._domRect,x,y)||!this.enterPredicate(item,this))return!1;let elementFromPoint=this._getShadowRoot().elementFromPoint(x,y);return elementFromPoint?elementFromPoint===this._container||this._container.contains(elementFromPoint):!1}_startReceiving(sibling,items){let activeSiblings=this._activeSiblings;!activeSiblings.has(sibling)&&items.every(item=>this.enterPredicate(item,this)||this._draggables.indexOf(item)>-1)&&(activeSiblings.add(sibling),this._cacheParentPositions(),this._listenToScrollEvents(),this.receivingStarted.next({initiator:sibling,receiver:this,items}))}_stopReceiving(sibling){this._activeSiblings.delete(sibling),this._viewportScrollSubscription.unsubscribe(),this.receivingStopped.next({initiator:sibling,receiver:this})}_listenToScrollEvents(){this._viewportScrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(event=>{if(this.isDragging()){let scrollDifference=this._parentPositions.handleScroll(event);scrollDifference&&this._sortStrategy.updateOnScroll(scrollDifference.top,scrollDifference.left)}else this.isReceiving()&&this._cacheParentPositions()})}_getShadowRoot(){if(!this._cachedShadowRoot){let shadowRoot=_getShadowRoot(this._container);this._cachedShadowRoot=shadowRoot||this._document}return this._cachedShadowRoot}_notifyReceivingSiblings(){let draggedItems=this._sortStrategy.getActiveItemsSnapshot().filter(item=>item.isDragging());this._siblings.forEach(sibling=>sibling._startReceiving(this,draggedItems))}};function getVerticalScrollDirection(clientRect,pointerY){let{top,bottom,height}=clientRect,yThreshold=height*SCROLL_PROXIMITY_THRESHOLD;return pointerY>=top-yThreshold&&pointerY<=top+yThreshold?AutoScrollVerticalDirection.UP:pointerY>=bottom-yThreshold&&pointerY<=bottom+yThreshold?AutoScrollVerticalDirection.DOWN:AutoScrollVerticalDirection.NONE}function getHorizontalScrollDirection(clientRect,pointerX){let{left,right,width}=clientRect,xThreshold=width*SCROLL_PROXIMITY_THRESHOLD;return pointerX>=left-xThreshold&&pointerX<=left+xThreshold?AutoScrollHorizontalDirection.LEFT:pointerX>=right-xThreshold&&pointerX<=right+xThreshold?AutoScrollHorizontalDirection.RIGHT:AutoScrollHorizontalDirection.NONE}function getElementScrollDirections(element,clientRect,direction,pointerX,pointerY){let computedVertical=getVerticalScrollDirection(clientRect,pointerY),computedHorizontal=getHorizontalScrollDirection(clientRect,pointerX),verticalScrollDirection=AutoScrollVerticalDirection.NONE,horizontalScrollDirection=AutoScrollHorizontalDirection.NONE;if(computedVertical){let scrollTop=element.scrollTop;computedVertical===AutoScrollVerticalDirection.UP?scrollTop>0&&(verticalScrollDirection=AutoScrollVerticalDirection.UP):element.scrollHeight-scrollTop>element.clientHeight&&(verticalScrollDirection=AutoScrollVerticalDirection.DOWN)}if(computedHorizontal){let scrollLeft=element.scrollLeft;direction==="rtl"?computedHorizontal===AutoScrollHorizontalDirection.RIGHT?scrollLeft<0&&(horizontalScrollDirection=AutoScrollHorizontalDirection.RIGHT):element.scrollWidth+scrollLeft>element.clientWidth&&(horizontalScrollDirection=AutoScrollHorizontalDirection.LEFT):computedHorizontal===AutoScrollHorizontalDirection.LEFT?scrollLeft>0&&(horizontalScrollDirection=AutoScrollHorizontalDirection.LEFT):element.scrollWidth-scrollLeft>element.clientWidth&&(horizontalScrollDirection=AutoScrollHorizontalDirection.RIGHT)}return[verticalScrollDirection,horizontalScrollDirection]}var DragDrop=(()=>{class DragDrop2{_injector=inject2(Injector);constructor(){}createDrag(element,config2){return createDragRef(this._injector,element,config2)}createDropList(element){return createDropListRef(this._injector,element)}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DragDrop2)};static \u0275prov=\u0275\u0275defineInjectable({token:DragDrop2,factory:DragDrop2.\u0275fac,providedIn:"root"})}return DragDrop2})(),CDK_DRAG_PARENT=new InjectionToken("CDK_DRAG_PARENT");var CDK_DRAG_HANDLE=new InjectionToken("CdkDragHandle");var CDK_DRAG_CONFIG=new InjectionToken("CDK_DRAG_CONFIG"),CDK_DROP_LIST=new InjectionToken("CdkDropList"),CdkDrag=(()=>{class CdkDrag2{element=inject2(ElementRef);dropContainer=inject2(CDK_DROP_LIST,{optional:!0,skipSelf:!0});_ngZone=inject2(NgZone);_viewContainerRef=inject2(ViewContainerRef);_dir=inject2(Directionality,{optional:!0});_changeDetectorRef=inject2(ChangeDetectorRef);_selfHandle=inject2(CDK_DRAG_HANDLE,{optional:!0,self:!0});_parentDrag=inject2(CDK_DRAG_PARENT,{optional:!0,skipSelf:!0});_dragDropRegistry=inject2(DragDropRegistry);_destroyed=new Subject;_handles=new BehaviorSubject([]);_previewTemplate=null;_placeholderTemplate=null;_dragRef;data;lockAxis=null;rootElementSelector;boundaryElement;dragStartDelay;freeDragPosition;get disabled(){return this._disabled||!!(this.dropContainer&&this.dropContainer.disabled)}set disabled(value){this._disabled=value,this._dragRef.disabled=this._disabled}_disabled=!1;constrainPosition;previewClass;previewContainer;scale=1;started=new EventEmitter;released=new EventEmitter;ended=new EventEmitter;entered=new EventEmitter;exited=new EventEmitter;dropped=new EventEmitter;moved=new Observable(observer=>{let subscription=this._dragRef.moved.pipe(map(movedEvent=>({source:this,pointerPosition:movedEvent.pointerPosition,event:movedEvent.event,delta:movedEvent.delta,distance:movedEvent.distance}))).subscribe(observer);return()=>{subscription.unsubscribe()}});_injector=inject2(Injector);constructor(){let dropContainer=this.dropContainer,config2=inject2(CDK_DRAG_CONFIG,{optional:!0});this._dragRef=createDragRef(this._injector,this.element,{dragStartThreshold:config2&&config2.dragStartThreshold!=null?config2.dragStartThreshold:5,pointerDirectionChangeThreshold:config2&&config2.pointerDirectionChangeThreshold!=null?config2.pointerDirectionChangeThreshold:5,zIndex:config2?.zIndex}),this._dragRef.data=this,this._dragDropRegistry.registerDirectiveNode(this.element.nativeElement,this),config2&&this._assignDefaults(config2),dropContainer&&(dropContainer.addItem(this),dropContainer._dropListRef.beforeStarted.pipe(takeUntil(this._destroyed)).subscribe(()=>{this._dragRef.scale=this.scale})),this._syncInputs(this._dragRef),this._handleEvents(this._dragRef)}getPlaceholderElement(){return this._dragRef.getPlaceholderElement()}getRootElement(){return this._dragRef.getRootElement()}reset(){this._dragRef.reset()}resetToBoundary(){this._dragRef.resetToBoundary()}getFreeDragPosition(){return this._dragRef.getFreeDragPosition()}setFreeDragPosition(value){this._dragRef.setFreeDragPosition(value)}ngAfterViewInit(){afterNextRender(()=>{this._updateRootElement(),this._setupHandlesListener(),this._dragRef.scale=this.scale,this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)},{injector:this._injector})}ngOnChanges(changes){let rootSelectorChange=changes.rootElementSelector,positionChange=changes.freeDragPosition;rootSelectorChange&&!rootSelectorChange.firstChange&&this._updateRootElement(),this._dragRef.scale=this.scale,positionChange&&!positionChange.firstChange&&this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)}ngOnDestroy(){this.dropContainer&&this.dropContainer.removeItem(this),this._dragDropRegistry.removeDirectiveNode(this.element.nativeElement),this._ngZone.runOutsideAngular(()=>{this._handles.complete(),this._destroyed.next(),this._destroyed.complete(),this._dragRef.dispose()})}_addHandle(handle){let handles=this._handles.getValue();handles.push(handle),this._handles.next(handles)}_removeHandle(handle){let handles=this._handles.getValue(),index=handles.indexOf(handle);index>-1&&(handles.splice(index,1),this._handles.next(handles))}_setPreviewTemplate(preview){this._previewTemplate=preview}_resetPreviewTemplate(preview){preview===this._previewTemplate&&(this._previewTemplate=null)}_setPlaceholderTemplate(placeholder){this._placeholderTemplate=placeholder}_resetPlaceholderTemplate(placeholder){placeholder===this._placeholderTemplate&&(this._placeholderTemplate=null)}_updateRootElement(){let element=this.element.nativeElement,rootElement=element;this.rootElementSelector&&(rootElement=element.closest!==void 0?element.closest(this.rootElementSelector):element.parentElement?.closest(this.rootElementSelector)),this._dragRef.withRootElement(rootElement||element)}_getBoundaryElement(){let boundary=this.boundaryElement;return boundary?typeof boundary=="string"?this.element.nativeElement.closest(boundary):coerceElement(boundary):null}_syncInputs(ref){ref.beforeStarted.subscribe(()=>{if(!ref.isDragging()){let dir=this._dir,dragStartDelay=this.dragStartDelay,placeholder=this._placeholderTemplate?{template:this._placeholderTemplate.templateRef,context:this._placeholderTemplate.data,viewContainer:this._viewContainerRef}:null,preview=this._previewTemplate?{template:this._previewTemplate.templateRef,context:this._previewTemplate.data,matchSize:this._previewTemplate.matchSize,viewContainer:this._viewContainerRef}:null;ref.disabled=this.disabled,ref.lockAxis=this.lockAxis,ref.scale=this.scale,ref.dragStartDelay=typeof dragStartDelay=="object"&&dragStartDelay?dragStartDelay:coerceNumberProperty(dragStartDelay),ref.constrainPosition=this.constrainPosition,ref.previewClass=this.previewClass,ref.withBoundaryElement(this._getBoundaryElement()).withPlaceholderTemplate(placeholder).withPreviewTemplate(preview).withPreviewContainer(this.previewContainer||"global"),dir&&ref.withDirection(dir.value)}}),ref.beforeStarted.pipe(take(1)).subscribe(()=>{if(this._parentDrag){ref.withParent(this._parentDrag._dragRef);return}let parent=this.element.nativeElement.parentElement;for(;parent;){let parentDrag=this._dragDropRegistry.getDragDirectiveForNode(parent);if(parentDrag){ref.withParent(parentDrag._dragRef);break}parent=parent.parentElement}})}_handleEvents(ref){ref.started.subscribe(startEvent=>{this.started.emit({source:this,event:startEvent.event}),this._changeDetectorRef.markForCheck()}),ref.released.subscribe(releaseEvent=>{this.released.emit({source:this,event:releaseEvent.event})}),ref.ended.subscribe(endEvent=>{this.ended.emit({source:this,distance:endEvent.distance,dropPoint:endEvent.dropPoint,event:endEvent.event}),this._changeDetectorRef.markForCheck()}),ref.entered.subscribe(enterEvent=>{this.entered.emit({container:enterEvent.container.data,item:this,currentIndex:enterEvent.currentIndex})}),ref.exited.subscribe(exitEvent=>{this.exited.emit({container:exitEvent.container.data,item:this})}),ref.dropped.subscribe(dropEvent=>{this.dropped.emit({previousIndex:dropEvent.previousIndex,currentIndex:dropEvent.currentIndex,previousContainer:dropEvent.previousContainer.data,container:dropEvent.container.data,isPointerOverContainer:dropEvent.isPointerOverContainer,item:this,distance:dropEvent.distance,dropPoint:dropEvent.dropPoint,event:dropEvent.event})})}_assignDefaults(config2){let{lockAxis,dragStartDelay,constrainPosition,previewClass,boundaryElement,draggingDisabled,rootElementSelector,previewContainer}=config2;this.disabled=draggingDisabled??!1,this.dragStartDelay=dragStartDelay||0,this.lockAxis=lockAxis||null,constrainPosition&&(this.constrainPosition=constrainPosition),previewClass&&(this.previewClass=previewClass),boundaryElement&&(this.boundaryElement=boundaryElement),rootElementSelector&&(this.rootElementSelector=rootElementSelector),previewContainer&&(this.previewContainer=previewContainer)}_setupHandlesListener(){this._handles.pipe(tap(handles=>{let handleElements=handles.map(handle=>handle.element);this._selfHandle&&this.rootElementSelector&&handleElements.push(this.element),this._dragRef.withHandles(handleElements)}),switchMap(handles=>merge(...handles.map(item=>item._stateChanges.pipe(startWith(item))))),takeUntil(this._destroyed)).subscribe(handleInstance=>{let dragRef=this._dragRef,handle=handleInstance.element.nativeElement;handleInstance.disabled?dragRef.disableHandle(handle):dragRef.enableHandle(handle)})}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CdkDrag2)};static \u0275dir=\u0275\u0275defineDirective({type:CdkDrag2,selectors:[["","cdkDrag",""]],hostAttrs:[1,"cdk-drag"],hostVars:4,hostBindings:function(rf,ctx){rf&2&&\u0275\u0275classProp("cdk-drag-disabled",ctx.disabled)("cdk-drag-dragging",ctx._dragRef.isDragging())},inputs:{data:[0,"cdkDragData","data"],lockAxis:[0,"cdkDragLockAxis","lockAxis"],rootElementSelector:[0,"cdkDragRootElement","rootElementSelector"],boundaryElement:[0,"cdkDragBoundary","boundaryElement"],dragStartDelay:[0,"cdkDragStartDelay","dragStartDelay"],freeDragPosition:[0,"cdkDragFreeDragPosition","freeDragPosition"],disabled:[2,"cdkDragDisabled","disabled",booleanAttribute],constrainPosition:[0,"cdkDragConstrainPosition","constrainPosition"],previewClass:[0,"cdkDragPreviewClass","previewClass"],previewContainer:[0,"cdkDragPreviewContainer","previewContainer"],scale:[2,"cdkDragScale","scale",numberAttribute]},outputs:{started:"cdkDragStarted",released:"cdkDragReleased",ended:"cdkDragEnded",entered:"cdkDragEntered",exited:"cdkDragExited",dropped:"cdkDragDropped",moved:"cdkDragMoved"},exportAs:["cdkDrag"],features:[\u0275\u0275ProvidersFeature([{provide:CDK_DRAG_PARENT,useExisting:CdkDrag2}]),\u0275\u0275NgOnChangesFeature]})}return CdkDrag2})(),CDK_DROP_LIST_GROUP=new InjectionToken("CdkDropListGroup");var CdkDropList=(()=>{class CdkDropList2{element=inject2(ElementRef);_changeDetectorRef=inject2(ChangeDetectorRef);_scrollDispatcher=inject2(ScrollDispatcher);_dir=inject2(Directionality,{optional:!0});_group=inject2(CDK_DROP_LIST_GROUP,{optional:!0,skipSelf:!0});_latestSortedRefs;_destroyed=new Subject;_scrollableParentsResolved=!1;static _dropLists=[];_dropListRef;connectedTo=[];data;orientation="vertical";id=inject2(_IdGenerator).getId("cdk-drop-list-");lockAxis=null;get disabled(){return this._disabled||!!this._group&&this._group.disabled}set disabled(value){this._dropListRef.disabled=this._disabled=value}_disabled=!1;sortingDisabled=!1;enterPredicate=()=>!0;sortPredicate=()=>!0;autoScrollDisabled=!1;autoScrollStep;elementContainerSelector=null;hasAnchor=!1;dropped=new EventEmitter;entered=new EventEmitter;exited=new EventEmitter;sorted=new EventEmitter;_unsortedItems=new Set;constructor(){let config2=inject2(CDK_DRAG_CONFIG,{optional:!0}),injector=inject2(Injector);this._dropListRef=createDropListRef(injector,this.element),this._dropListRef.data=this,config2&&this._assignDefaults(config2),this._dropListRef.enterPredicate=(drag,drop)=>this.enterPredicate(drag.data,drop.data),this._dropListRef.sortPredicate=(index,drag,drop)=>this.sortPredicate(index,drag.data,drop.data),this._setupInputSyncSubscription(this._dropListRef),this._handleEvents(this._dropListRef),CdkDropList2._dropLists.push(this),this._group&&this._group._items.add(this)}addItem(item){this._unsortedItems.add(item),item._dragRef._withDropContainer(this._dropListRef),this._dropListRef.isDragging()&&this._syncItemsWithRef(this.getSortedItems().map(item2=>item2._dragRef))}removeItem(item){if(this._unsortedItems.delete(item),this._latestSortedRefs){let index=this._latestSortedRefs.indexOf(item._dragRef);index>-1&&(this._latestSortedRefs.splice(index,1),this._syncItemsWithRef(this._latestSortedRefs))}}getSortedItems(){return Array.from(this._unsortedItems).sort((a,b)=>a._dragRef.getVisibleElement().compareDocumentPosition(b._dragRef.getVisibleElement())&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)}ngOnDestroy(){let index=CdkDropList2._dropLists.indexOf(this);index>-1&&CdkDropList2._dropLists.splice(index,1),this._group&&this._group._items.delete(this),this._latestSortedRefs=void 0,this._unsortedItems.clear(),this._dropListRef.dispose(),this._destroyed.next(),this._destroyed.complete()}_setupInputSyncSubscription(ref){this._dir&&this._dir.change.pipe(startWith(this._dir.value),takeUntil(this._destroyed)).subscribe(value=>ref.withDirection(value)),ref.beforeStarted.subscribe(()=>{let siblings=coerceArray(this.connectedTo).map(drop=>{if(typeof drop=="string"){let correspondingDropList=CdkDropList2._dropLists.find(list=>list.id===drop);return correspondingDropList}return drop});if(this._group&&this._group._items.forEach(drop=>{siblings.indexOf(drop)===-1&&siblings.push(drop)}),!this._scrollableParentsResolved){let scrollableParents=this._scrollDispatcher.getAncestorScrollContainers(this.element).map(scrollable=>scrollable.getElementRef().nativeElement);this._dropListRef.withScrollableParents(scrollableParents),this._scrollableParentsResolved=!0}if(this.elementContainerSelector){let container=this.element.nativeElement.querySelector(this.elementContainerSelector);ref.withElementContainer(container)}ref.disabled=this.disabled,ref.lockAxis=this.lockAxis,ref.sortingDisabled=this.sortingDisabled,ref.autoScrollDisabled=this.autoScrollDisabled,ref.autoScrollStep=coerceNumberProperty(this.autoScrollStep,2),ref.hasAnchor=this.hasAnchor,ref.connectedTo(siblings.filter(drop=>drop&&drop!==this).map(list=>list._dropListRef)).withOrientation(this.orientation)})}_handleEvents(ref){ref.beforeStarted.subscribe(()=>{this._syncItemsWithRef(this.getSortedItems().map(item=>item._dragRef)),this._changeDetectorRef.markForCheck()}),ref.entered.subscribe(event=>{this.entered.emit({container:this,item:event.item.data,currentIndex:event.currentIndex})}),ref.exited.subscribe(event=>{this.exited.emit({container:this,item:event.item.data}),this._changeDetectorRef.markForCheck()}),ref.sorted.subscribe(event=>{this.sorted.emit({previousIndex:event.previousIndex,currentIndex:event.currentIndex,container:this,item:event.item.data})}),ref.dropped.subscribe(dropEvent=>{this.dropped.emit({previousIndex:dropEvent.previousIndex,currentIndex:dropEvent.currentIndex,previousContainer:dropEvent.previousContainer.data,container:dropEvent.container.data,item:dropEvent.item.data,isPointerOverContainer:dropEvent.isPointerOverContainer,distance:dropEvent.distance,dropPoint:dropEvent.dropPoint,event:dropEvent.event}),this._changeDetectorRef.markForCheck()}),merge(ref.receivingStarted,ref.receivingStopped).subscribe(()=>this._changeDetectorRef.markForCheck())}_assignDefaults(config2){let{lockAxis,draggingDisabled,sortingDisabled,listAutoScrollDisabled,listOrientation}=config2;this.disabled=draggingDisabled??!1,this.sortingDisabled=sortingDisabled??!1,this.autoScrollDisabled=listAutoScrollDisabled??!1,this.orientation=listOrientation||"vertical",this.lockAxis=lockAxis||null}_syncItemsWithRef(items){this._latestSortedRefs=items,this._dropListRef.withItems(items)}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CdkDropList2)};static \u0275dir=\u0275\u0275defineDirective({type:CdkDropList2,selectors:[["","cdkDropList",""],["cdk-drop-list"]],hostAttrs:[1,"cdk-drop-list"],hostVars:7,hostBindings:function(rf,ctx){rf&2&&(\u0275\u0275attribute("id",ctx.id),\u0275\u0275classProp("cdk-drop-list-disabled",ctx.disabled)("cdk-drop-list-dragging",ctx._dropListRef.isDragging())("cdk-drop-list-receiving",ctx._dropListRef.isReceiving()))},inputs:{connectedTo:[0,"cdkDropListConnectedTo","connectedTo"],data:[0,"cdkDropListData","data"],orientation:[0,"cdkDropListOrientation","orientation"],id:"id",lockAxis:[0,"cdkDropListLockAxis","lockAxis"],disabled:[2,"cdkDropListDisabled","disabled",booleanAttribute],sortingDisabled:[2,"cdkDropListSortingDisabled","sortingDisabled",booleanAttribute],enterPredicate:[0,"cdkDropListEnterPredicate","enterPredicate"],sortPredicate:[0,"cdkDropListSortPredicate","sortPredicate"],autoScrollDisabled:[2,"cdkDropListAutoScrollDisabled","autoScrollDisabled",booleanAttribute],autoScrollStep:[0,"cdkDropListAutoScrollStep","autoScrollStep"],elementContainerSelector:[0,"cdkDropListElementContainer","elementContainerSelector"],hasAnchor:[2,"cdkDropListHasAnchor","hasAnchor",booleanAttribute]},outputs:{dropped:"cdkDropListDropped",entered:"cdkDropListEntered",exited:"cdkDropListExited",sorted:"cdkDropListSorted"},exportAs:["cdkDropList"],features:[\u0275\u0275ProvidersFeature([{provide:CDK_DROP_LIST_GROUP,useValue:void 0},{provide:CDK_DROP_LIST,useExisting:CdkDropList2}])]})}return CdkDropList2})(),CDK_DRAG_PREVIEW=new InjectionToken("CdkDragPreview"),CdkDragPreview=(()=>{class CdkDragPreview2{templateRef=inject2(TemplateRef);_drag=inject2(CDK_DRAG_PARENT,{optional:!0});data;matchSize=!1;constructor(){this._drag?._setPreviewTemplate(this)}ngOnDestroy(){this._drag?._resetPreviewTemplate(this)}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CdkDragPreview2)};static \u0275dir=\u0275\u0275defineDirective({type:CdkDragPreview2,selectors:[["ng-template","cdkDragPreview",""]],inputs:{data:"data",matchSize:[2,"matchSize","matchSize",booleanAttribute]},features:[\u0275\u0275ProvidersFeature([{provide:CDK_DRAG_PREVIEW,useExisting:CdkDragPreview2}])]})}return CdkDragPreview2})(),CDK_DRAG_PLACEHOLDER=new InjectionToken("CdkDragPlaceholder"),CdkDragPlaceholder=(()=>{class CdkDragPlaceholder2{templateRef=inject2(TemplateRef);_drag=inject2(CDK_DRAG_PARENT,{optional:!0});data;constructor(){this._drag?._setPlaceholderTemplate(this)}ngOnDestroy(){this._drag?._resetPlaceholderTemplate(this)}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CdkDragPlaceholder2)};static \u0275dir=\u0275\u0275defineDirective({type:CdkDragPlaceholder2,selectors:[["ng-template","cdkDragPlaceholder",""]],inputs:{data:"data"},features:[\u0275\u0275ProvidersFeature([{provide:CDK_DRAG_PLACEHOLDER,useExisting:CdkDragPlaceholder2}])]})}return CdkDragPlaceholder2})();var DragDropModule=(()=>{class DragDropModule2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DragDropModule2)};static \u0275mod=\u0275\u0275defineNgModule({type:DragDropModule2});static \u0275inj=\u0275\u0275defineInjector({providers:[DragDrop],imports:[CdkScrollableModule]})}return DragDropModule2})();var MatBadgeModule=(()=>{class MatBadgeModule2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatBadgeModule2)};static \u0275mod=\u0275\u0275defineNgModule({type:MatBadgeModule2});static \u0275inj=\u0275\u0275defineInjector({imports:[A11yModule,BidiModule]})}return MatBadgeModule2})();function CdkDialogContainer_ng_template_0_Template(rf,ctx){}var DialogConfig=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;positionStrategy;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;closeOnNavigation=!0;closeOnDestroy=!0;closeOnOverlayDetachments=!0;disableAnimations=!1;providers;container;templateContext};var CdkDialogContainer=(()=>{class CdkDialogContainer2 extends BasePortalOutlet{_elementRef=inject2(ElementRef);_focusTrapFactory=inject2(FocusTrapFactory);_config;_interactivityChecker=inject2(InteractivityChecker);_ngZone=inject2(NgZone);_focusMonitor=inject2(FocusMonitor);_renderer=inject2(Renderer2);_changeDetectorRef=inject2(ChangeDetectorRef);_injector=inject2(Injector);_platform=inject2(Platform);_document=inject2(DOCUMENT);_portalOutlet;_focusTrapped=new Subject;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_isDestroyed=!1;constructor(){super(),this._config=inject2(DialogConfig,{optional:!0})||new DialogConfig,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(id){this._ariaLabelledByQueue.push(id),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(id){let index=this._ariaLabelledByQueue.indexOf(id);index>-1&&(this._ariaLabelledByQueue.splice(index,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._focusTrapped.complete(),this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(portal){this._portalOutlet.hasAttached();let result=this._portalOutlet.attachComponentPortal(portal);return this._contentAttached(),result}attachTemplatePortal(portal){this._portalOutlet.hasAttached();let result=this._portalOutlet.attachTemplatePortal(portal);return this._contentAttached(),result}attachDomPortal=portal=>{this._portalOutlet.hasAttached();let result=this._portalOutlet.attachDomPortal(portal);return this._contentAttached(),result};_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(element,options){this._interactivityChecker.isFocusable(element)||(element.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let callback=()=>{deregisterBlur(),deregisterMousedown(),element.removeAttribute("tabindex")},deregisterBlur=this._renderer.listen(element,"blur",callback),deregisterMousedown=this._renderer.listen(element,"mousedown",callback)})),element.focus(options)}_focusByCssSelector(selector,options){let elementToFocus=this._elementRef.nativeElement.querySelector(selector);elementToFocus&&this._forceFocus(elementToFocus,options)}_trapFocus(options){this._isDestroyed||afterNextRender(()=>{let element=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||element.focus(options);break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement(options)||this._focusDialogContainer(options);break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]',options);break;default:this._focusByCssSelector(this._config.autoFocus,options);break}this._focusTrapped.next()},{injector:this._injector})}_restoreFocus(){let focusConfig=this._config.restoreFocus,focusTargetElement=null;if(typeof focusConfig=="string"?focusTargetElement=this._document.querySelector(focusConfig):typeof focusConfig=="boolean"?focusTargetElement=focusConfig?this._elementFocusedBeforeDialogWasOpened:null:focusConfig&&(focusTargetElement=focusConfig),this._config.restoreFocus&&focusTargetElement&&typeof focusTargetElement.focus=="function"){let activeElement=_getFocusedElementPierceShadowDom(),element=this._elementRef.nativeElement;(!activeElement||activeElement===this._document.body||activeElement===element||element.contains(activeElement))&&(this._focusMonitor?(this._focusMonitor.focusVia(focusTargetElement,this._closeInteractionType),this._closeInteractionType=null):focusTargetElement.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(options){this._elementRef.nativeElement.focus?.(options)}_containsFocus(){let element=this._elementRef.nativeElement,activeElement=_getFocusedElementPierceShadowDom();return element===activeElement||element.contains(activeElement)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=_getFocusedElementPierceShadowDom()))}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CdkDialogContainer2)};static \u0275cmp=\u0275\u0275defineComponent({type:CdkDialogContainer2,selectors:[["cdk-dialog-container"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(CdkPortalOutlet,7),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._portalOutlet=_t.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(rf,ctx){rf&2&&\u0275\u0275attribute("id",ctx._config.id||null)("role",ctx._config.role)("aria-modal",ctx._config.ariaModal)("aria-labelledby",ctx._config.ariaLabel?null:ctx._ariaLabelledByQueue[0])("aria-label",ctx._config.ariaLabel)("aria-describedby",ctx._config.ariaDescribedBy||null)},features:[\u0275\u0275InheritDefinitionFeature],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(rf,ctx){rf&1&&\u0275\u0275template(0,CdkDialogContainer_ng_template_0_Template,0,0,"ng-template",0)},dependencies:[CdkPortalOutlet],styles:[`.cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}
77
77
  `],encapsulation:2})}return CdkDialogContainer2})(),DialogRef=class{overlayRef;config;componentInstance=null;componentRef=null;containerInstance;disableClose;closed=new Subject;backdropClick;keydownEvents;outsidePointerEvents;id;_detachSubscription;constructor(overlayRef,config2){this.overlayRef=overlayRef,this.config=config2,this.disableClose=config2.disableClose,this.backdropClick=overlayRef.backdropClick(),this.keydownEvents=overlayRef.keydownEvents(),this.outsidePointerEvents=overlayRef.outsidePointerEvents(),this.id=config2.id,this.keydownEvents.subscribe(event=>{event.keyCode===27&&!this.disableClose&&!hasModifierKey(event)&&(event.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{!this.disableClose&&this._canClose()?this.close(void 0,{focusOrigin:"mouse"}):this.containerInstance._recaptureFocus?.()}),this._detachSubscription=overlayRef.detachments().subscribe(()=>{config2.closeOnOverlayDetachments!==!1&&this.close()})}close(result,options){if(this._canClose(result)){let closedSubject=this.closed;this.containerInstance._closeInteractionType=options?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),closedSubject.next(result),closedSubject.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(width="",height=""){return this.overlayRef.updateSize({width,height}),this}addPanelClass(classes){return this.overlayRef.addPanelClass(classes),this}removePanelClass(classes){return this.overlayRef.removePanelClass(classes),this}_canClose(result){let config2=this.config;return!!this.containerInstance&&(!config2.closePredicate||config2.closePredicate(result,config2,this.componentInstance))}},DIALOG_SCROLL_STRATEGY=new InjectionToken("DialogScrollStrategy",{providedIn:"root",factory:()=>{let injector=inject2(Injector);return()=>createBlockScrollStrategy(injector)}}),DIALOG_DATA=new InjectionToken("DialogData"),DEFAULT_DIALOG_CONFIG=new InjectionToken("DefaultDialogConfig");function getDirectionality(value){let valueSignal=signal(value),change=new EventEmitter;return{valueSignal,get value(){return valueSignal()},change,ngOnDestroy(){change.complete()}}}var Dialog=(()=>{class Dialog2{_injector=inject2(Injector);_defaultOptions=inject2(DEFAULT_DIALOG_CONFIG,{optional:!0});_parentDialog=inject2(Dialog2,{optional:!0,skipSelf:!0});_overlayContainer=inject2(OverlayContainer);_idGenerator=inject2(_IdGenerator);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new Subject;_afterOpenedAtThisLevel=new Subject;_ariaHiddenElements=new Map;_scrollStrategy=inject2(DIALOG_SCROLL_STRATEGY);get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}afterAllClosed=defer(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(startWith(void 0)));constructor(){}open(componentOrTemplateRef,config2){let defaults=this._defaultOptions||new DialogConfig;config2=__spreadValues(__spreadValues({},defaults),config2),config2.id=config2.id||this._idGenerator.getId("cdk-dialog-"),config2.id&&this.getDialogById(config2.id);let overlayConfig=this._getOverlayConfig(config2),overlayRef=createOverlayRef(this._injector,overlayConfig),dialogRef=new DialogRef(overlayRef,config2),dialogContainer=this._attachContainer(overlayRef,dialogRef,config2);if(dialogRef.containerInstance=dialogContainer,!this.openDialogs.length){let overlayContainer=this._overlayContainer.getContainerElement();dialogContainer._focusTrapped?dialogContainer._focusTrapped.pipe(take(1)).subscribe(()=>{this._hideNonDialogContentFromAssistiveTechnology(overlayContainer)}):this._hideNonDialogContentFromAssistiveTechnology(overlayContainer)}return this._attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config2),this.openDialogs.push(dialogRef),dialogRef.closed.subscribe(()=>this._removeOpenDialog(dialogRef,!0)),this.afterOpened.next(dialogRef),dialogRef}closeAll(){reverseForEach(this.openDialogs,dialog=>dialog.close())}getDialogById(id){return this.openDialogs.find(dialog=>dialog.id===id)}ngOnDestroy(){reverseForEach(this._openDialogsAtThisLevel,dialog=>{dialog.config.closeOnDestroy===!1&&this._removeOpenDialog(dialog,!1)}),reverseForEach(this._openDialogsAtThisLevel,dialog=>dialog.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(config2){let state2=new OverlayConfig({positionStrategy:config2.positionStrategy||createGlobalPositionStrategy().centerHorizontally().centerVertically(),scrollStrategy:config2.scrollStrategy||this._scrollStrategy(),panelClass:config2.panelClass,hasBackdrop:config2.hasBackdrop,direction:config2.direction,minWidth:config2.minWidth,minHeight:config2.minHeight,maxWidth:config2.maxWidth,maxHeight:config2.maxHeight,width:config2.width,height:config2.height,disposeOnNavigation:config2.closeOnNavigation,disableAnimations:config2.disableAnimations});return config2.backdropClass&&(state2.backdropClass=config2.backdropClass),state2}_attachContainer(overlay,dialogRef,config2){let userInjector=config2.injector||config2.viewContainerRef?.injector,providers=[{provide:DialogConfig,useValue:config2},{provide:DialogRef,useValue:dialogRef},{provide:OverlayRef,useValue:overlay}],containerType;config2.container?typeof config2.container=="function"?containerType=config2.container:(containerType=config2.container.type,providers.push(...config2.container.providers(config2))):containerType=CdkDialogContainer;let containerPortal=new ComponentPortal(containerType,config2.viewContainerRef,Injector.create({parent:userInjector||this._injector,providers}));return overlay.attach(containerPortal).instance}_attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config2){if(componentOrTemplateRef instanceof TemplateRef){let injector=this._createInjector(config2,dialogRef,dialogContainer,void 0),context2={$implicit:config2.data,dialogRef};config2.templateContext&&(context2=__spreadValues(__spreadValues({},context2),typeof config2.templateContext=="function"?config2.templateContext():config2.templateContext)),dialogContainer.attachTemplatePortal(new TemplatePortal(componentOrTemplateRef,null,context2,injector))}else{let injector=this._createInjector(config2,dialogRef,dialogContainer,this._injector),contentRef=dialogContainer.attachComponentPortal(new ComponentPortal(componentOrTemplateRef,config2.viewContainerRef,injector));dialogRef.componentRef=contentRef,dialogRef.componentInstance=contentRef.instance}}_createInjector(config2,dialogRef,dialogContainer,fallbackInjector){let userInjector=config2.injector||config2.viewContainerRef?.injector,providers=[{provide:DIALOG_DATA,useValue:config2.data},{provide:DialogRef,useValue:dialogRef}];return config2.providers&&(typeof config2.providers=="function"?providers.push(...config2.providers(dialogRef,config2,dialogContainer)):providers.push(...config2.providers)),config2.direction&&(!userInjector||!userInjector.get(Directionality,null,{optional:!0}))&&providers.push({provide:Directionality,useValue:getDirectionality(config2.direction)}),Injector.create({parent:userInjector||fallbackInjector,providers})}_removeOpenDialog(dialogRef,emitEvent){let index=this.openDialogs.indexOf(dialogRef);index>-1&&(this.openDialogs.splice(index,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((previousValue,element)=>{previousValue?element.setAttribute("aria-hidden",previousValue):element.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),emitEvent&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(overlayContainer){if(overlayContainer.parentElement){let siblings=overlayContainer.parentElement.children;for(let i=siblings.length-1;i>-1;i--){let sibling=siblings[i];sibling!==overlayContainer&&sibling.nodeName!=="SCRIPT"&&sibling.nodeName!=="STYLE"&&!sibling.hasAttribute("aria-live")&&!sibling.hasAttribute("popover")&&(this._ariaHiddenElements.set(sibling,sibling.getAttribute("aria-hidden")),sibling.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){let parent=this._parentDialog;return parent?parent._getAfterAllClosed():this._afterAllClosedAtThisLevel}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||Dialog2)};static \u0275prov=\u0275\u0275defineInjectable({token:Dialog2,factory:Dialog2.\u0275fac,providedIn:"root"})}return Dialog2})();function reverseForEach(items,callback){let i=items.length;for(;i--;)callback(items[i])}var DialogModule=(()=>{class DialogModule2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DialogModule2)};static \u0275mod=\u0275\u0275defineNgModule({type:DialogModule2});static \u0275inj=\u0275\u0275defineInjector({providers:[Dialog],imports:[OverlayModule,PortalModule,A11yModule,PortalModule]})}return DialogModule2})();function MatBottomSheetContainer_ng_template_0_Template(rf,ctx){}var ENTER_ANIMATION2="_mat-bottom-sheet-enter",EXIT_ANIMATION2="_mat-bottom-sheet-exit",MatBottomSheetContainer=(()=>{class MatBottomSheetContainer2 extends CdkDialogContainer{_breakpointSubscription;_animationsDisabled=_animationsDisabled();_animationState="void";_animationStateChanged=new EventEmitter;_destroyed=!1;constructor(){super();let breakpointObserver=inject2(BreakpointObserver);this._breakpointSubscription=breakpointObserver.observe([Breakpoints.Medium,Breakpoints.Large,Breakpoints.XLarge]).subscribe(()=>{let classList=this._elementRef.nativeElement.classList;classList.toggle("mat-bottom-sheet-container-medium",breakpointObserver.isMatched(Breakpoints.Medium)),classList.toggle("mat-bottom-sheet-container-large",breakpointObserver.isMatched(Breakpoints.Large)),classList.toggle("mat-bottom-sheet-container-xlarge",breakpointObserver.isMatched(Breakpoints.XLarge))})}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.markForCheck(),this._changeDetectorRef.detectChanges(),this._animationsDisabled&&this._simulateAnimation(ENTER_ANIMATION2))}exit(){this._destroyed||(this._elementRef.nativeElement.setAttribute("mat-exit",""),this._animationState="hidden",this._changeDetectorRef.markForCheck(),this._animationsDisabled&&this._simulateAnimation(EXIT_ANIMATION2))}ngOnDestroy(){super.ngOnDestroy(),this._breakpointSubscription.unsubscribe(),this._destroyed=!0}_simulateAnimation(name){this._ngZone.run(()=>{this._handleAnimationEvent(!0,name),setTimeout(()=>this._handleAnimationEvent(!1,name))})}_trapFocus(){super._trapFocus({preventScroll:!0})}_handleAnimationEvent(isStart2,animationName){let isEnter=animationName===ENTER_ANIMATION2;(isEnter||animationName===EXIT_ANIMATION2)&&this._animationStateChanged.emit({toState:isEnter?"visible":"hidden",phase:isStart2?"start":"done"})}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatBottomSheetContainer2)};static \u0275cmp=\u0275\u0275defineComponent({type:MatBottomSheetContainer2,selectors:[["mat-bottom-sheet-container"]],hostAttrs:["tabindex","-1",1,"mat-bottom-sheet-container"],hostVars:9,hostBindings:function(rf,ctx){rf&1&&\u0275\u0275listener("animationstart",function($event){return ctx._handleAnimationEvent(!0,$event.animationName)})("animationend",function($event){return ctx._handleAnimationEvent(!1,$event.animationName)})("animationcancel",function($event){return ctx._handleAnimationEvent(!1,$event.animationName)}),rf&2&&(\u0275\u0275attribute("role",ctx._config.role)("aria-modal",ctx._config.ariaModal)("aria-label",ctx._config.ariaLabel),\u0275\u0275classProp("mat-bottom-sheet-container-animations-enabled",!ctx._animationsDisabled)("mat-bottom-sheet-container-enter",ctx._animationState==="visible")("mat-bottom-sheet-container-exit",ctx._animationState==="hidden"))},features:[\u0275\u0275InheritDefinitionFeature],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(rf,ctx){rf&1&&\u0275\u0275template(0,MatBottomSheetContainer_ng_template_0_Template,0,0,"ng-template",0)},dependencies:[CdkPortalOutlet],styles:[`@keyframes _mat-bottom-sheet-enter{from{transform:translateY(100%)}to{transform:none}}@keyframes _mat-bottom-sheet-exit{from{transform:none}to{transform:translateY(100%)}}.mat-bottom-sheet-container{box-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);padding:8px 16px;min-width:100vw;box-sizing:border-box;display:block;outline:0;max-height:80vh;overflow:auto;position:relative;background:var(--mat-bottom-sheet-container-background-color, var(--mat-sys-surface-container-low));color:var(--mat-bottom-sheet-container-text-color, var(--mat-sys-on-surface));font-family:var(--mat-bottom-sheet-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-bottom-sheet-container-text-size, var(--mat-sys-body-large-size));line-height:var(--mat-bottom-sheet-container-text-line-height, var(--mat-sys-body-large-line-height));font-weight:var(--mat-bottom-sheet-container-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-bottom-sheet-container-text-tracking, var(--mat-sys-body-large-tracking))}@media(forced-colors: active){.mat-bottom-sheet-container{outline:1px solid}}.mat-bottom-sheet-container-animations-enabled{transform:translateY(100%)}.mat-bottom-sheet-container-animations-enabled.mat-bottom-sheet-container-enter{animation:_mat-bottom-sheet-enter 195ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-bottom-sheet-container-animations-enabled.mat-bottom-sheet-container-exit{animation:_mat-bottom-sheet-exit 375ms cubic-bezier(0.4, 0, 1, 1) backwards}.mat-bottom-sheet-container-xlarge,.mat-bottom-sheet-container-large,.mat-bottom-sheet-container-medium{border-top-left-radius:var(--mat-bottom-sheet-container-shape, 28px);border-top-right-radius:var(--mat-bottom-sheet-container-shape, 28px)}.mat-bottom-sheet-container-medium{min-width:384px;max-width:calc(100vw - 128px)}.mat-bottom-sheet-container-large{min-width:512px;max-width:calc(100vw - 256px)}.mat-bottom-sheet-container-xlarge{min-width:576px;max-width:calc(100vw - 384px)}
78
78
  `],encapsulation:2})}return MatBottomSheetContainer2})(),MAT_BOTTOM_SHEET_DATA=new InjectionToken("MatBottomSheetData"),MatBottomSheetConfig=class{viewContainerRef;injector;panelClass;direction;data=null;hasBackdrop=!0;backdropClass;disableClose=!1;ariaLabel=null;ariaModal=!1;closeOnNavigation=!0;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;height="";minHeight;maxHeight},MatBottomSheetRef=class{_ref;get instance(){return this._ref.componentInstance}get componentRef(){return this._ref.componentRef}containerInstance;disableClose;_afterOpened=new Subject;_result;_closeFallbackTimeout;constructor(_ref,config2,containerInstance){this._ref=_ref,this.containerInstance=containerInstance,this.disableClose=config2.disableClose,containerInstance._animationStateChanged.pipe(filter(event=>event.phase==="done"&&event.toState==="visible"),take(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),containerInstance._animationStateChanged.pipe(filter(event=>event.phase==="done"&&event.toState==="hidden"),take(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._ref.close(this._result)}),_ref.overlayRef.detachments().subscribe(()=>{this._ref.close(this._result)}),merge(this.backdropClick(),this.keydownEvents().pipe(filter(event=>event.keyCode===27))).subscribe(event=>{!this.disableClose&&(event.type!=="keydown"||!hasModifierKey(event))&&(event.preventDefault(),this.dismiss())})}dismiss(result){this.containerInstance&&(this.containerInstance._animationStateChanged.pipe(filter(event=>event.phase==="start"),take(1)).subscribe(()=>{this._closeFallbackTimeout=setTimeout(()=>this._ref.close(this._result),500),this._ref.overlayRef.detachBackdrop()}),this._result=result,this.containerInstance.exit(),this.containerInstance=null)}afterDismissed(){return this._ref.closed}afterOpened(){return this._afterOpened}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}},MAT_BOTTOM_SHEET_DEFAULT_OPTIONS=new InjectionToken("mat-bottom-sheet-default-options"),MatBottomSheet=(()=>{class MatBottomSheet2{_injector=inject2(Injector);_parentBottomSheet=inject2(MatBottomSheet2,{optional:!0,skipSelf:!0});_animationsDisabled=_animationsDisabled();_defaultOptions=inject2(MAT_BOTTOM_SHEET_DEFAULT_OPTIONS,{optional:!0});_bottomSheetRefAtThisLevel=null;_dialog=inject2(Dialog);get _openedBottomSheetRef(){let parent=this._parentBottomSheet;return parent?parent._openedBottomSheetRef:this._bottomSheetRefAtThisLevel}set _openedBottomSheetRef(value){this._parentBottomSheet?this._parentBottomSheet._openedBottomSheetRef=value:this._bottomSheetRefAtThisLevel=value}constructor(){}open(componentOrTemplateRef,config2){let _config=__spreadValues(__spreadValues({},this._defaultOptions||new MatBottomSheetConfig),config2),ref;return this._dialog.open(componentOrTemplateRef,__spreadProps(__spreadValues({},_config),{disableClose:!0,closeOnOverlayDetachments:!1,maxWidth:"100%",container:MatBottomSheetContainer,scrollStrategy:_config.scrollStrategy||createBlockScrollStrategy(this._injector),positionStrategy:createGlobalPositionStrategy(this._injector).centerHorizontally().bottom("0"),disableAnimations:this._animationsDisabled,templateContext:()=>({bottomSheetRef:ref}),providers:(cdkRef,_cdkConfig,container)=>(ref=new MatBottomSheetRef(cdkRef,_config,container),[{provide:MatBottomSheetRef,useValue:ref},{provide:MAT_BOTTOM_SHEET_DATA,useValue:_config.data}])})),ref.afterDismissed().subscribe(()=>{this._openedBottomSheetRef===ref&&(this._openedBottomSheetRef=null)}),this._openedBottomSheetRef?(this._openedBottomSheetRef.afterDismissed().subscribe(()=>ref.containerInstance?.enter()),this._openedBottomSheetRef.dismiss()):ref.containerInstance.enter(),this._openedBottomSheetRef=ref,ref}dismiss(result){this._openedBottomSheetRef&&this._openedBottomSheetRef.dismiss(result)}ngOnDestroy(){this._bottomSheetRefAtThisLevel&&this._bottomSheetRefAtThisLevel.dismiss()}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatBottomSheet2)};static \u0275prov=\u0275\u0275defineInjectable({token:MatBottomSheet2,factory:MatBottomSheet2.\u0275fac,providedIn:"root"})}return MatBottomSheet2})(),MatBottomSheetModule=(()=>{class MatBottomSheetModule2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatBottomSheetModule2)};static \u0275mod=\u0275\u0275defineNgModule({type:MatBottomSheetModule2});static \u0275inj=\u0275\u0275defineInjector({providers:[MatBottomSheet],imports:[DialogModule,PortalModule,BidiModule]})}return MatBottomSheetModule2})();var _c016=["button"],_c113=["*"];function MatButtonToggle_Conditional_2_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",2),\u0275\u0275element(1,"mat-pseudo-checkbox",6),\u0275\u0275elementEnd()),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275property("disabled",ctx_r0.disabled)}}var MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS=new InjectionToken("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:()=>({hideSingleSelectionIndicator:!1,hideMultipleSelectionIndicator:!1,disabledInteractive:!1})}),MAT_BUTTON_TOGGLE_GROUP=new InjectionToken("MatButtonToggleGroup");var MatButtonToggleChange=class{source;value;constructor(source,value){this.source=source,this.value=value}};var MatButtonToggle=(()=>{class MatButtonToggle2{_changeDetectorRef=inject2(ChangeDetectorRef);_elementRef=inject2(ElementRef);_focusMonitor=inject2(FocusMonitor);_idGenerator=inject2(_IdGenerator);_animationDisabled=_animationsDisabled();_checked=!1;ariaLabel;ariaLabelledby=null;_buttonElement;buttonToggleGroup;get buttonId(){return`${this.id}-button`}id;name;value;get tabIndex(){return this._tabIndex()}set tabIndex(value){this._tabIndex.set(value)}_tabIndex;disableRipple=!1;get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(value){this._appearance=value}_appearance;get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(value){value!==this._checked&&(this._checked=value,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(value){this._disabled=value}_disabled=!1;get disabledInteractive(){return this._disabledInteractive||this.buttonToggleGroup!==null&&this.buttonToggleGroup.disabledInteractive}set disabledInteractive(value){this._disabledInteractive=value}_disabledInteractive;change=new EventEmitter;constructor(){inject2(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);let toggleGroup=inject2(MAT_BUTTON_TOGGLE_GROUP,{optional:!0}),defaultTabIndex=inject2(new HostAttributeToken("tabindex"),{optional:!0})||"",defaultOptions2=inject2(MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,{optional:!0});this._tabIndex=signal(parseInt(defaultTabIndex)||0),this.buttonToggleGroup=toggleGroup,this._appearance=defaultOptions2&&defaultOptions2.appearance?defaultOptions2.appearance:"standard",this._disabledInteractive=defaultOptions2?.disabledInteractive??!1}ngOnInit(){let group2=this.buttonToggleGroup;this.id=this.id||this._idGenerator.getId("mat-button-toggle-"),group2&&(group2._isPrechecked(this)?this.checked=!0:group2._isSelected(this)!==this._checked&&group2._syncButtonToggle(this,this._checked))}ngAfterViewInit(){this._animationDisabled||this._elementRef.nativeElement.classList.add("mat-button-toggle-animations-enabled"),this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){let group2=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),group2&&group2._isSelected(this)&&group2._syncButtonToggle(this,!1,!1,!0)}focus(options){this._buttonElement.nativeElement.focus(options)}_onButtonClick(){if(this.disabled)return;let newChecked=this.isSingleSelector()?!0:!this._checked;if(newChecked!==this._checked&&(this._checked=newChecked,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.isSingleSelector()){let focusable=this.buttonToggleGroup._buttonToggles.find(toggle=>toggle.tabIndex===0);focusable&&(focusable.tabIndex=-1),this.tabIndex=0}this.change.emit(new MatButtonToggleChange(this,this.value))}_markForCheck(){this._changeDetectorRef.markForCheck()}_getButtonName(){return this.isSingleSelector()?this.buttonToggleGroup.name:this.name||null}isSingleSelector(){return this.buttonToggleGroup&&!this.buttonToggleGroup.multiple}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatButtonToggle2)};static \u0275cmp=\u0275\u0275defineComponent({type:MatButtonToggle2,selectors:[["mat-button-toggle"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(_c016,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._buttonElement=_t.first)}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:14,hostBindings:function(rf,ctx){rf&1&&\u0275\u0275listener("focus",function(){return ctx.focus()}),rf&2&&(\u0275\u0275attribute("aria-label",null)("aria-labelledby",null)("id",ctx.id)("name",null),\u0275\u0275classProp("mat-button-toggle-standalone",!ctx.buttonToggleGroup)("mat-button-toggle-checked",ctx.checked)("mat-button-toggle-disabled",ctx.disabled)("mat-button-toggle-disabled-interactive",ctx.disabledInteractive)("mat-button-toggle-appearance-standard",ctx.appearance==="standard"))},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],id:"id",name:"name",value:"value",tabIndex:"tabIndex",disableRipple:[2,"disableRipple","disableRipple",booleanAttribute],appearance:"appearance",checked:[2,"checked","checked",booleanAttribute],disabled:[2,"disabled","disabled",booleanAttribute],disabledInteractive:[2,"disabledInteractive","disabledInteractive",booleanAttribute]},outputs:{change:"change"},exportAs:["matButtonToggle"],ngContentSelectors:_c113,decls:7,vars:13,consts:[["button",""],["type","button",1,"mat-button-toggle-button","mat-focus-indicator",3,"click","id","disabled"],[1,"mat-button-toggle-checkbox-wrapper"],[1,"mat-button-toggle-label-content"],[1,"mat-button-toggle-focus-overlay"],["matRipple","",1,"mat-button-toggle-ripple",3,"matRippleTrigger","matRippleDisabled"],["state","checked","aria-hidden","true","appearance","minimal",3,"disabled"]],template:function(rf,ctx){if(rf&1&&(\u0275\u0275projectionDef(),\u0275\u0275elementStart(0,"button",1,0),\u0275\u0275listener("click",function(){return ctx._onButtonClick()}),\u0275\u0275conditionalCreate(2,MatButtonToggle_Conditional_2_Template,2,1,"div",2),\u0275\u0275elementStart(3,"span",3),\u0275\u0275projection(4),\u0275\u0275elementEnd()(),\u0275\u0275element(5,"span",4)(6,"span",5)),rf&2){let button_r2=\u0275\u0275reference(1);\u0275\u0275property("id",ctx.buttonId)("disabled",ctx.disabled&&!ctx.disabledInteractive||null),\u0275\u0275attribute("role",ctx.isSingleSelector()?"radio":"button")("tabindex",ctx.disabled&&!ctx.disabledInteractive?-1:ctx.tabIndex)("aria-pressed",ctx.isSingleSelector()?null:ctx.checked)("aria-checked",ctx.isSingleSelector()?ctx.checked:null)("name",ctx._getButtonName())("aria-label",ctx.ariaLabel)("aria-labelledby",ctx.ariaLabelledby)("aria-disabled",ctx.disabled&&ctx.disabledInteractive?"true":null),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.buttonToggleGroup&&(!ctx.buttonToggleGroup.multiple&&!ctx.buttonToggleGroup.hideSingleSelectionIndicator||ctx.buttonToggleGroup.multiple&&!ctx.buttonToggleGroup.hideMultipleSelectionIndicator)?2:-1),\u0275\u0275advance(4),\u0275\u0275property("matRippleTrigger",button_r2)("matRippleDisabled",ctx.disableRipple||ctx.disabled)}},dependencies:[MatRipple,MatPseudoCheckbox],styles:[`.mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);border-radius:var(--mat-button-toggle-legacy-shape);transform:translateZ(0)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}@media(forced-colors: active){.mat-button-toggle-standalone,.mat-button-toggle-group{outline:solid 1px}}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}@media(forced-colors: active){.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{outline:0}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-button-toggle-legacy-text-color);font-family:var(--mat-button-toggle-legacy-label-text-font);font-size:var(--mat-button-toggle-legacy-label-text-size);line-height:var(--mat-button-toggle-legacy-label-text-line-height);font-weight:var(--mat-button-toggle-legacy-label-text-weight);letter-spacing:var(--mat-button-toggle-legacy-label-text-tracking);--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-legacy-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-legacy-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle-checkbox-wrapper{display:inline-block;justify-content:flex-start;align-items:center;width:0;height:18px;line-height:18px;overflow:hidden;box-sizing:border-box;position:absolute;top:50%;left:16px;transform:translate3d(0, -50%, 0)}[dir=rtl] .mat-button-toggle-checkbox-wrapper{left:auto;right:16px}.mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:12px}[dir=rtl] .mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:auto;right:12px}.mat-button-toggle-checked .mat-button-toggle-checkbox-wrapper{width:18px}.mat-button-toggle-animations-enabled .mat-button-toggle-checkbox-wrapper{transition:width 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-checkbox-wrapper{transition:none}.mat-button-toggle-checked{color:var(--mat-button-toggle-legacy-selected-state-text-color);background-color:var(--mat-button-toggle-legacy-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-button-toggle-legacy-disabled-state-text-color);background-color:var(--mat-button-toggle-legacy-disabled-state-background-color);--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-legacy-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-button-toggle-legacy-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-button-toggle-text-color, var(--mat-sys-on-surface));background-color:var(--mat-button-toggle-background-color, transparent);font-family:var(--mat-button-toggle-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-toggle-label-text-size, var(--mat-sys-label-large-size));line-height:var(--mat-button-toggle-label-text-line-height, var(--mat-sys-label-large-line-height));font-weight:var(--mat-button-toggle-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-button-toggle-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-button-toggle-selected-state-background-color, var(--mat-sys-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-button-toggle-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-toggle-disabled-state-background-color, transparent)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-toggle-disabled-selected-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-button-toggle-state-layer-color, var(--mat-sys-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}@media(hover: none){.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-button-toggle-legacy-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-button-toggle-height, 40px)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-button-toggle-legacy-state-layer-color)}@media(forced-colors: active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-animations-enabled .mat-button-toggle-button{transition:padding 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-button{transition:none}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:30px}[dir=rtl] .mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:0;padding-right:30px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-bottom-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-top-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}