@ixon-cdk/simulator 1.16.0-next.1 → 1.16.0-next.2

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.
@@ -50,7 +50,7 @@ ${errors.map((err,i)=>`${i+1}) ${err.toString()}`).join(`
50
50
  `),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=(()=>{let _PageComponentTemplateService=class _PageComponentTemplateService{constructor(){this.api=inject(IxApiService),this.http=inject(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)}};_PageComponentTemplateService.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_PageComponentTemplateService)},_PageComponentTemplateService.\u0275prov=\u0275\u0275defineInjectable({token:_PageComponentTemplateService,factory:_PageComponentTemplateService.\u0275fac,providedIn:"root"});let PageComponentTemplateService2=_PageComponentTemplateService;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===`
51
51
  `&&(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(`
52
52
  `),i=0;i<partialByNl.length;i++)partialByNl[i].length&&(i>0||!lineHasNonSpace)&&(partialByNl[i]=filteredIndentation+partialByNl[i]);return partialByNl.join(`
53
- `)};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)))}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 scope=this.scope,clientRef=`yot:rdc.${scope?scope+".":""}${this.id}.u${this._uid++}`,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 scope=this.scope,clientRef=`yot:rdc.${scope?scope+".":""}${this.id}.q${this._uid++}`,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 scope=this.scope,clientRef=`yot:rdc.${scope?scope+".":""}${this.id}.u${this._uid++}`,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 scope=this.scope,clientRef=`yot:rdc.${scope?scope+".":""}${this.id}.u${this._uid++}`,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=(()=>{let _ResourceDataClientProxyService=class _ResourceDataClientProxyService{constructor(){this.window=inject(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))}};_ResourceDataClientProxyService.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_ResourceDataClientProxyService)},_ResourceDataClientProxyService.\u0275prov=\u0275\u0275defineInjectable({token:_ResourceDataClientProxyService,factory:_ResourceDataClientProxyService.\u0275fac,providedIn:"root"});let ResourceDataClientProxyService2=_ResourceDataClientProxyService;return ResourceDataClientProxyService2})();var ResourceDataServiceFactory=(()=>{let _ResourceDataServiceFactory=class _ResourceDataServiceFactory{create(config2){return new ResourceDataService(config2)}};_ResourceDataServiceFactory.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_ResourceDataServiceFactory)},_ResourceDataServiceFactory.\u0275prov=\u0275\u0275defineInjectable({token:_ResourceDataServiceFactory,factory:_ResourceDataServiceFactory.\u0275fac,providedIn:"root"});let ResourceDataServiceFactory2=_ResourceDataServiceFactory;return ResourceDataServiceFactory2})(),ResourceDataService=class{constructor(config2){this.config=config2,this.destroyed=new Subject}add(add3,backendComponentId){let provider=this.config.addProviders.find(({selector})=>selector===add3.selector);return provider?provider.add(add3.data,backendComponentId):(console.warn(`Add selector (${add3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}update(update3,backendComponentId){let provider=this.config.updateProviders.find(({selector})=>selector===update3.selector);return provider?provider.update(update3.data,backendComponentId):(console.warn(`Update selector (${update3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}remove(remove3,backendComponentId){let provider=this.config.removeProviders.find(({selector})=>selector===remove3.selector);return provider?provider.remove(remove3.publicId,backendComponentId):(console.warn(`Remove selector (${remove3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}fetch(queries){return combineLatest(queries.map(({query:query2,backendComponentId})=>{let provider=this.config.dataProviders.find(({selector})=>selector===query2.selector);return provider?(typeof provider.dataFeed=="function"?provider.dataFeed(backendComponentId):provider.dataFeed).pipe(filter(data=>provider.dataGuard?provider.dataGuard(query2,data,backendComponentId):!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,backendComponentId){return combineLatest(queries.map(query2=>{let provider=this.config.dataProviders.find(({selector})=>selector===query2.selector);return provider?(typeof provider.dataFeed=="function"?provider.dataFeed(backendComponentId):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 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 nameCollator=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?nameCollator.compare(a.name,b.name||""):-1}function sortByPublicIdComparer(a,b){return a.publicId<b.publicId?-1:a.publicId>b.publicId?1:0}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=(()=>{let _PageComponentTemplateEffects=class _PageComponentTemplateEffects{constructor(){this.actions$=inject(Actions),this.service=inject(PageComponentTemplateService),this.store=inject(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??[]})))))))}};_PageComponentTemplateEffects.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_PageComponentTemplateEffects)},_PageComponentTemplateEffects.\u0275prov=\u0275\u0275defineInjectable({token:_PageComponentTemplateEffects,factory:_PageComponentTemplateEffects.\u0275fac,providedIn:"root"});let PageComponentTemplateEffects2=_PageComponentTemplateEffects;return PageComponentTemplateEffects2})();var environment={appName:"Simulator",name:"production",version:"cdk-1.16.0-next.1",build:"164828-1549435",production:!0};var PageComponentTemplatePrependBaseUrlInterceptor=(()=>{let _PageComponentTemplatePrependBaseUrlInterceptor=class _PageComponentTemplatePrependBaseUrlInterceptor{constructor(document2,options){this.document=document2,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)}};_PageComponentTemplatePrependBaseUrlInterceptor.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_PageComponentTemplatePrependBaseUrlInterceptor)(\u0275\u0275inject(DOCUMENT2),\u0275\u0275inject(IXAPI_OPTIONS))},_PageComponentTemplatePrependBaseUrlInterceptor.\u0275prov=\u0275\u0275defineInjectable({token:_PageComponentTemplatePrependBaseUrlInterceptor,factory:_PageComponentTemplatePrependBaseUrlInterceptor.\u0275fac});let PageComponentTemplatePrependBaseUrlInterceptor2=_PageComponentTemplatePrependBaseUrlInterceptor;return PageComponentTemplatePrependBaseUrlInterceptor2})();var PageComponentTemplateModule=(()=>{let _PageComponentTemplateModule=class _PageComponentTemplateModule{};_PageComponentTemplateModule.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_PageComponentTemplateModule)},_PageComponentTemplateModule.\u0275mod=\u0275\u0275defineNgModule({type:_PageComponentTemplateModule}),_PageComponentTemplateModule.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:HTTP_INTERCEPTORS,useClass:PageComponentTemplatePrependBaseUrlInterceptor,multi:!0}],imports:[IxApiModule,StoreModule.forFeature(feature2),EffectsModule.forFeature([PageComponentTemplateEffects])]});let PageComponentTemplateModule2=_PageComponentTemplateModule;return PageComponentTemplateModule2})();var ComponentSettingsFacade=(()=>{let _ComponentSettingsFacade=class _ComponentSettingsFacade{constructor(document2,store2,http){this.document=document2,this.store=store2,this.http=http}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())}};_ComponentSettingsFacade.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_ComponentSettingsFacade)(\u0275\u0275inject(DOCUMENT2),\u0275\u0275inject(Store),\u0275\u0275inject(HttpClient))},_ComponentSettingsFacade.\u0275prov=\u0275\u0275defineInjectable({token:_ComponentSettingsFacade,factory:_ComponentSettingsFacade.\u0275fac,providedIn:"root"});let ComponentSettingsFacade2=_ComponentSettingsFacade;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=(()=>{let _PageComponentSettingsComponent=class _PageComponentSettingsComponent{constructor(){this.componentForm=new FormGroup({url:new FormControl(sessionStorage.getItem("pct-url"),Validators.required,UrlValidator(inject(ComponentTemplateValidatorService)))}),this.destroy=inject(DestroyRef),this.facade=inject(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()})}};_PageComponentSettingsComponent.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_PageComponentSettingsComponent)},_PageComponentSettingsComponent.\u0275cmp=\u0275\u0275defineComponent({type:_PageComponentSettingsComponent,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\u0275template(10,PageComponentSettingsComponent_Conditional_10_Template,2,0,"mat-error")(11,PageComponentSettingsComponent_Conditional_11_Template,2,0,"mat-error")(12,PageComponentSettingsComponent_Conditional_12_Template,2,0,"mat-error")(13,PageComponentSettingsComponent_Conditional_13_Template,2,0,"mat-error")(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%}"]});let PageComponentSettingsComponent2=_PageComponentSettingsComponent;return PageComponentSettingsComponent2})();var ComponentSettingsComponent=(()=>{let _ComponentSettingsComponent=class _ComponentSettingsComponent{};_ComponentSettingsComponent.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_ComponentSettingsComponent)},_ComponentSettingsComponent.\u0275cmp=\u0275\u0275defineComponent({type:_ComponentSettingsComponent,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});let ComponentSettingsComponent2=_ComponentSettingsComponent;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{}}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 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)`}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;_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$1={passive:!1,capture:!0},MOUSE_EVENT_IGNORE_TIME=800,dragImportantProperties=new Set(["position"]),DragRef=class{_config;_document;_ngZone;_viewportRuler;_dragDropRegistry;_renderer;_rootElementCleanups;_cleanupShadowRootSelectStart;_preview;_previewContainer;_placeholderRef;_placeholder;_pickupPositionInElement;_pickupPositionOnPage;_anchor;_passiveTransform={x:0,y:0};_activeTransform={x:0,y:0};_initialTransform;_hasStartedDragging=signal(!1);_hasMoved;_initialContainer;_initialIndex;_parentPositions;_moveEvents=new Subject;_pointerDirectionDelta;_pointerPositionAtLastDirectionChange;_lastKnownPointerPosition;_rootElement;_ownerSVGElement;_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;_cachedShadowRoot;lockAxis;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);return element!==this._rootElement&&(this._removeRootElementListeners(),this._rootElementCleanups=this._ngZone.runOutsideAngular(()=>[_bindEventWithOptions(this._renderer,element,"mousedown",this._pointerDown,activeEventListenerOptions),_bindEventWithOptions(this._renderer,element,"touchstart",this._pointerDown,passiveEventListenerOptions),_bindEventWithOptions(this._renderer,element,"dragstart",this._nativeDragStart,activeEventListenerOptions)]),this._initialTransform=void 0,this._rootElement=element),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._anchor?.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._anchor=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}}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._placeholder?.remove(),this._placeholderRef?.destroy(),this._placeholder=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=_bindEventWithOptions(this._renderer,shadowRoot,"selectstart",shadowDomSelectStart,activeCapturingEventOptions$1)}),dropContainer){let element=this._rootElement,parent=element.parentNode,placeholder=this._placeholder=this._createPlaceholderElement(),anchor=this._anchor=this._anchor||this._document.createComment("");parent.insertBefore(anchor,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._anchor.parentNode.replaceChild(this._rootElement,this._anchor),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(()=>{this.exited.next({item:this,container:this._dropContainer}),this._dropContainer.exit(this),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("cdk-drag-placeholder"),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)))}};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 from2=clamp(fromIndex,array.length-1),to=clamp(toIndex,array.length-1);if(from2===to)return;let target=array[from2],delta=to<from2?-1:1;for(let i=from2;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;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 newIndex=index==null||index<0?this._getItemIndexFromPointerPosition(item,pointerX,pointerY):index,activeDraggables=this._activeDraggables,currentIndex=activeDraggables.indexOf(item),placeholder=item.getPlaceholderElement(),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]),currentIndex>-1&&activeDraggables.splice(currentIndex,1),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.orientation==="horizontal"&&this.direction==="rtl"?this._itemPositions.slice().reverse():this._itemPositions).findIndex(currentItem=>currentItem.drag===item)}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)}_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 enterIndex=index==null||index<0?this._getItemIndexFromPointerPosition(item,pointerX,pointerY):index;enterIndex===-1&&(enterIndex=this._getClosestItemIndexToPointer(item,pointerX,pointerY));let targetItem=this._activeItems[enterIndex],currentIndex=this._activeItems.indexOf(item);currentIndex>-1&&this._activeItems.splice(currentIndex,1),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)}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||{}),DropListRef=class{_dragDropRegistry;_ngZone;_viewportRuler;element;disabled=!1;sortingDisabled=!1;lockAxis;autoScrollDisabled=!1;autoScrollStep=2;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)}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 capturingEventOptions={capture:!0},activeCapturingEventOptions={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}"],encapsulation:2,changeDetection:0})}return _ResetsLoader2})(),DragDropRegistry=(()=>{class DragDropRegistry2{_ngZone=inject(NgZone);_document=inject(DOCUMENT2);_styleLoader=inject(_CdkPrivateStyleLoader);_renderer=inject(RendererFactory2).createRenderer(null,null);_cleanupDocumentTouchmove;_dropInstances=new Set;_dragInstances=new Set;_activeDragInstances=signal([]);_globalListeners;_draggingPredicate=item=>item.isDragging();_domNodesToDirectives=null;pointerMove=new Subject;pointerUp=new Subject;scroll=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=_bindEventWithOptions(this._renderer,this._document,"touchmove",this._persistentTouchmoveListener,activeCapturingEventOptions)})}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]];isTouchEvent2?toBind.push(["touchend",endEventHandler,capturingEventOptions],["touchcancel",endEventHandler,capturingEventOptions]):toBind.push(["mouseup",endEventHandler,capturingEventOptions]),isTouchEvent2||toBind.push(["mousemove",e=>this.pointerMove.next(e),activeCapturingEventOptions]),this._ngZone.runOutsideAngular(()=>{this._globalListeners=toBind.map(([name,handler,options])=>_bindEventWithOptions(this._renderer,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=_bindEventWithOptions(this._renderer,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})(),DEFAULT_CONFIG2={dragStartThreshold:5,pointerDirectionChangeThreshold:5},DragDrop=(()=>{class DragDrop2{_document=inject(DOCUMENT2);_ngZone=inject(NgZone);_viewportRuler=inject(ViewportRuler);_dragDropRegistry=inject(DragDropRegistry);_renderer=inject(RendererFactory2).createRenderer(null,null);constructor(){}createDrag(element,config2=DEFAULT_CONFIG2){return new DragRef(element,config2,this._document,this._ngZone,this._viewportRuler,this._dragDropRegistry,this._renderer)}createDropList(element){return new DropListRef(element,this._dragDropRegistry,this._document,this._ngZone,this._viewportRuler)}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=inject(ElementRef);dropContainer=inject(CDK_DROP_LIST,{optional:!0,skipSelf:!0});_ngZone=inject(NgZone);_viewContainerRef=inject(ViewContainerRef);_dir=inject(Directionality,{optional:!0});_changeDetectorRef=inject(ChangeDetectorRef);_selfHandle=inject(CDK_DRAG_HANDLE,{optional:!0,self:!0});_parentDrag=inject(CDK_DRAG_PARENT,{optional:!0,skipSelf:!0});_dragDropRegistry=inject(DragDropRegistry);_destroyed=new Subject;_handles=new BehaviorSubject([]);_previewTemplate;_placeholderTemplate;_dragRef;data;lockAxis;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;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=inject(Injector);constructor(){let dropContainer=this.dropContainer,config2=inject(CDK_DRAG_CONFIG,{optional:!0}),dragDrop=inject(DragDrop);this._dragRef=dragDrop.createDrag(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&&(this._dragRef._withDropContainer(dropContainer._dropListRef),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()}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,lockAxis&&(this.lockAxis=lockAxis),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=inject(ElementRef);_changeDetectorRef=inject(ChangeDetectorRef);_scrollDispatcher=inject(ScrollDispatcher);_dir=inject(Directionality,{optional:!0});_group=inject(CDK_DROP_LIST_GROUP,{optional:!0,skipSelf:!0});_latestSortedRefs;_destroyed=new Subject;_scrollableParentsResolved;static _dropLists=[];_dropListRef;connectedTo=[];data;orientation;id=inject(_IdGenerator).getId("cdk-drop-list-");lockAxis;get disabled(){return this._disabled||!!this._group&&this._group.disabled}set disabled(value){this._dropListRef.disabled=this._disabled=value}_disabled;sortingDisabled;enterPredicate=()=>!0;sortPredicate=()=>!0;autoScrollDisabled;autoScrollStep;elementContainerSelector;dropped=new EventEmitter;entered=new EventEmitter;exited=new EventEmitter;sorted=new EventEmitter;_unsortedItems=new Set;constructor(){let dragDrop=inject(DragDrop),config2=inject(CDK_DRAG_CONFIG,{optional:!0});this._dropListRef=dragDrop.createDropList(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),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.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",lockAxis&&(this.lockAxis=lockAxis)}_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"]},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=inject(TemplateRef);_drag=inject(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=inject(TemplateRef);_drag=inject(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 BADGE_CONTENT_CLASS="mat-badge-content",_MatBadgeStyleLoader=(()=>{class _MatBadgeStyleLoader2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_MatBadgeStyleLoader2)};static \u0275cmp=\u0275\u0275defineComponent({type:_MatBadgeStyleLoader2,selectors:[["ng-component"]],decls:0,vars:0,template:function(rf,ctx){},styles:[".mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-content{position:absolute;text-align:center;display:inline-block;transition:transform 200ms ease-in-out;transform:scale(0.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;pointer-events:none;background-color:var(--mat-badge-background-color, var(--mat-sys-error));color:var(--mat-badge-text-color, var(--mat-sys-on-error));font-family:var(--mat-badge-text-font, var(--mat-sys-label-small-font));font-weight:var(--mat-badge-text-weight, var(--mat-sys-label-small-weight));border-radius:var(--mat-badge-container-shape, var(--mat-sys-corner-full))}.mat-badge-above .mat-badge-content{bottom:100%}.mat-badge-below .mat-badge-content{top:100%}.mat-badge-before .mat-badge-content{right:100%}[dir=rtl] .mat-badge-before .mat-badge-content{right:auto;left:100%}.mat-badge-after .mat-badge-content{left:100%}[dir=rtl] .mat-badge-after .mat-badge-content{left:auto;right:100%}@media(forced-colors: active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-disabled .mat-badge-content{background-color:var(--mat-badge-disabled-state-background-color, color-mix(in srgb, var(--mat-sys-error) 38%, transparent));color:var(--mat-badge-disabled-state-text-color, var(--mat-sys-on-error))}.mat-badge-hidden .mat-badge-content{display:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:var(--mat-badge-legacy-small-size-container-size, unset);height:var(--mat-badge-legacy-small-size-container-size, unset);min-width:var(--mat-badge-small-size-container-size, 6px);min-height:var(--mat-badge-small-size-container-size, 6px);line-height:var(--mat-badge-small-size-line-height, 6px);padding:var(--mat-badge-small-size-container-padding, 0);font-size:var(--mat-badge-small-size-text-size, 0);margin:var(--mat-badge-small-size-container-offset, -6px 0)}.mat-badge-small.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-small-size-container-overlap-offset, -6px)}.mat-badge-medium .mat-badge-content{width:var(--mat-badge-legacy-container-size, unset);height:var(--mat-badge-legacy-container-size, unset);min-width:var(--mat-badge-container-size, 16px);min-height:var(--mat-badge-container-size, 16px);line-height:var(--mat-badge-line-height, 16px);padding:var(--mat-badge-container-padding, 0 4px);font-size:var(--mat-badge-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-container-offset, -12px 0)}.mat-badge-medium.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-container-overlap-offset, -12px)}.mat-badge-large .mat-badge-content{width:var(--mat-badge-legacy-large-size-container-size, unset);height:var(--mat-badge-legacy-large-size-container-size, unset);min-width:var(--mat-badge-large-size-container-size, 16px);min-height:var(--mat-badge-large-size-container-size, 16px);line-height:var(--mat-badge-large-size-line-height, 16px);padding:var(--mat-badge-large-size-container-padding, 0 4px);font-size:var(--mat-badge-large-size-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-large-size-container-offset, -12px 0)}.mat-badge-large.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-large-size-container-overlap-offset, -12px)}"],encapsulation:2,changeDetection:0})}return _MatBadgeStyleLoader2})(),MatBadge=(()=>{class MatBadge2{_ngZone=inject(NgZone);_elementRef=inject(ElementRef);_ariaDescriber=inject(AriaDescriber);_renderer=inject(Renderer2);_animationMode=inject(ANIMATION_MODULE_TYPE,{optional:!0});_idGenerator=inject(_IdGenerator);get color(){return this._color}set color(value){this._setColor(value),this._color=value}_color="primary";overlap=!0;disabled;position="above after";get content(){return this._content}set content(newContent){this._updateRenderedContent(newContent)}_content;get description(){return this._description}set description(newDescription){this._updateDescription(newDescription)}_description;size="medium";hidden;_badgeElement;_inlineBadgeDescription;_isInitialized=!1;_interactivityChecker=inject(InteractivityChecker);_document=inject(DOCUMENT2);constructor(){let styleLoader=inject(_CdkPrivateStyleLoader);styleLoader.load(_MatBadgeStyleLoader),styleLoader.load(_VisuallyHiddenLoader)}isAbove(){return this.position.indexOf("below")===-1}isAfter(){return this.position.indexOf("before")===-1}getBadgeElement(){return this._badgeElement}ngOnInit(){this._clearExistingBadges(),this.content&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement(),this._updateRenderedContent(this.content)),this._isInitialized=!0}ngOnDestroy(){this._renderer.destroyNode&&(this._renderer.destroyNode(this._badgeElement),this._inlineBadgeDescription?.remove()),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description)}_isHostInteractive(){return this._interactivityChecker.isFocusable(this._elementRef.nativeElement,{ignoreVisibility:!0})}_createBadgeElement(){let badgeElement=this._renderer.createElement("span"),activeClass="mat-badge-active";return badgeElement.setAttribute("id",this._idGenerator.getId("mat-badge-content-")),badgeElement.setAttribute("aria-hidden","true"),badgeElement.classList.add(BADGE_CONTENT_CLASS),this._animationMode==="NoopAnimations"&&badgeElement.classList.add("_mat-animation-noopable"),this._elementRef.nativeElement.appendChild(badgeElement),typeof requestAnimationFrame=="function"&&this._animationMode!=="NoopAnimations"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{badgeElement.classList.add(activeClass)})}):badgeElement.classList.add(activeClass),badgeElement}_updateRenderedContent(newContent){let newContentNormalized=`${newContent??""}`.trim();this._isInitialized&&newContentNormalized&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement()),this._badgeElement&&(this._badgeElement.textContent=newContentNormalized),this._content=newContentNormalized}_updateDescription(newDescription){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description),(!newDescription||this._isHostInteractive())&&this._removeInlineDescription(),this._description=newDescription,this._isHostInteractive()?this._ariaDescriber.describe(this._elementRef.nativeElement,newDescription):this._updateInlineDescription()}_updateInlineDescription(){this._inlineBadgeDescription||(this._inlineBadgeDescription=this._document.createElement("span"),this._inlineBadgeDescription.classList.add("cdk-visually-hidden")),this._inlineBadgeDescription.textContent=this.description,this._badgeElement?.appendChild(this._inlineBadgeDescription)}_removeInlineDescription(){this._inlineBadgeDescription?.remove(),this._inlineBadgeDescription=void 0}_setColor(colorPalette){let classList=this._elementRef.nativeElement.classList;classList.remove(`mat-badge-${this._color}`),colorPalette&&classList.add(`mat-badge-${colorPalette}`)}_clearExistingBadges(){let badges=this._elementRef.nativeElement.querySelectorAll(`:scope > .${BADGE_CONTENT_CLASS}`);for(let badgeElement of Array.from(badges))badgeElement!==this._badgeElement&&badgeElement.remove()}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatBadge2)};static \u0275dir=\u0275\u0275defineDirective({type:MatBadge2,selectors:[["","matBadge",""]],hostAttrs:[1,"mat-badge"],hostVars:20,hostBindings:function(rf,ctx){rf&2&&\u0275\u0275classProp("mat-badge-overlap",ctx.overlap)("mat-badge-above",ctx.isAbove())("mat-badge-below",!ctx.isAbove())("mat-badge-before",!ctx.isAfter())("mat-badge-after",ctx.isAfter())("mat-badge-small",ctx.size==="small")("mat-badge-medium",ctx.size==="medium")("mat-badge-large",ctx.size==="large")("mat-badge-hidden",ctx.hidden||!ctx.content)("mat-badge-disabled",ctx.disabled)},inputs:{color:[0,"matBadgeColor","color"],overlap:[2,"matBadgeOverlap","overlap",booleanAttribute],disabled:[2,"matBadgeDisabled","disabled",booleanAttribute],position:[0,"matBadgePosition","position"],content:[0,"matBadge","content"],description:[0,"matBadgeDescription","description"],size:[0,"matBadgeSize","size"],hidden:[2,"matBadgeHidden","hidden",booleanAttribute]}})}return MatBadge2})(),MatBadgeModule=(()=>{class MatBadgeModule2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatBadgeModule2)};static \u0275mod=\u0275\u0275defineNgModule({type:MatBadgeModule2});static \u0275inj=\u0275\u0275defineInjector({imports:[A11yModule,MatCommonModule,MatCommonModule]})}return MatBadgeModule2})();function CdkDialogContainer_ng_template_0_Template(rf,ctx){}var DialogConfig=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;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;componentFactoryResolver;providers;container;templateContext};var CdkDialogContainer=(()=>{class CdkDialogContainer2 extends BasePortalOutlet{_elementRef=inject(ElementRef);_focusTrapFactory=inject(FocusTrapFactory);_config;_interactivityChecker=inject(InteractivityChecker);_ngZone=inject(NgZone);_overlayRef=inject(OverlayRef);_focusMonitor=inject(FocusMonitor);_renderer=inject(Renderer2);_platform=inject(Platform);_document=inject(DOCUMENT2,{optional:!0});_portalOutlet;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_changeDetectorRef=inject(ChangeDetectorRef);_injector=inject(Injector);_isDestroyed=!1;constructor(){super(),this._config=inject(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._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){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(){this._isDestroyed||afterNextRender(()=>{let element=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||element.focus();break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement()||this._focusDialogContainer();break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus);break}},{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(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_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()))}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}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}"],encapsulation:2})}return CdkDialogContainer2})(),DialogRef=class{overlayRef;config;componentInstance;componentRef;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.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=overlayRef.detachments().subscribe(()=>{config2.closeOnOverlayDetachments!==!1&&this.close()})}close(result,options){if(this.containerInstance){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}},DIALOG_SCROLL_STRATEGY=new InjectionToken("DialogScrollStrategy",{providedIn:"root",factory:()=>{let overlay=inject(Overlay);return()=>overlay.scrollStrategies.block()}}),DIALOG_DATA=new InjectionToken("DialogData"),DEFAULT_DIALOG_CONFIG=new InjectionToken("DefaultDialogConfig");var Dialog=(()=>{class Dialog2{_overlay=inject(Overlay);_injector=inject(Injector);_defaultOptions=inject(DEFAULT_DIALOG_CONFIG,{optional:!0});_parentDialog=inject(Dialog2,{optional:!0,skipSelf:!0});_overlayContainer=inject(OverlayContainer);_idGenerator=inject(_IdGenerator);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new Subject;_afterOpenedAtThisLevel=new Subject;_ariaHiddenElements=new Map;_scrollStrategy=inject(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 defaults2=this._defaultOptions||new DialogConfig;config2=__spreadValues(__spreadValues({},defaults2),config2),config2.id=config2.id||this._idGenerator.getId("cdk-dialog-"),config2.id&&this.getDialogById(config2.id);let overlayConfig=this._getOverlayConfig(config2),overlayRef=this._overlay.create(overlayConfig),dialogRef=new DialogRef(overlayRef,config2),dialogContainer=this._attachContainer(overlayRef,dialogRef,config2);return dialogRef.containerInstance=dialogContainer,this._attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config2),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),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||this._overlay.position().global().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});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:{value:config2.direction,change:of()}}),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(){let overlayContainer=this._overlayContainer.getContainerElement();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")&&(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=inject(ANIMATION_MODULE_TYPE,{optional:!0})==="NoopAnimations";_animationState="void";_animationStateChanged=new EventEmitter;_destroyed;constructor(){super();let breakpointObserver=inject(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))})}_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)}"],encapsulation:2})}return MatBottomSheetContainer2})(),MAT_BOTTOM_SHEET_DATA=new InjectionToken("MatBottomSheetData"),MatBottomSheetConfig=class{viewContainerRef;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{_overlay=inject(Overlay);_parentBottomSheet=inject(MatBottomSheet2,{optional:!0,skipSelf:!0});_defaultOptions=inject(MAT_BOTTOM_SHEET_DEFAULT_OPTIONS,{optional:!0});_bottomSheetRefAtThisLevel=null;_dialog=inject(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||this._overlay.scrollStrategies.block(),positionStrategy:this._overlay.position().global().centerHorizontally().bottom("0"),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,MatCommonModule,PortalModule,MatCommonModule]})}return MatBottomSheetModule2})();var _c015=["button"],_c112=["*"];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_r1=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275property("disabled",ctx_r1.disabled)}}var MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS=new InjectionToken("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:MAT_BUTTON_TOGGLE_GROUP_DEFAULT_OPTIONS_FACTORY});function MAT_BUTTON_TOGGLE_GROUP_DEFAULT_OPTIONS_FACTORY(){return{hideSingleSelectionIndicator:!1,hideMultipleSelectionIndicator:!1,disabledInteractive:!1}}var 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=inject(ChangeDetectorRef);_elementRef=inject(ElementRef);_focusMonitor=inject(FocusMonitor);_idGenerator=inject(_IdGenerator);_animationMode=inject(ANIMATION_MODULE_TYPE,{optional:!0});_checked=!1;ariaLabel;ariaLabelledby=null;_buttonElement;buttonToggleGroup;get buttonId(){return`${this.id}-button`}id;name;value;get tabIndex(){return this._tabIndex}set tabIndex(value){value!==this._tabIndex&&(this._tabIndex=value,this._markForCheck())}_tabIndex;disableRipple;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(){inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);let toggleGroup=inject(MAT_BUTTON_TOGGLE_GROUP,{optional:!0}),defaultTabIndex=inject(new HostAttributeToken("tabindex"),{optional:!0})||"",defaultOptions2=inject(MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,{optional:!0});this._tabIndex=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._animationMode!=="NoopAnimations"&&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(_c015,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:_c112,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){let _r1=\u0275\u0275getCurrentView();\u0275\u0275projectionDef(),\u0275\u0275elementStart(0,"button",1,0),\u0275\u0275listener("click",function(){return \u0275\u0275restoreView(_r1),\u0275\u0275resetView(ctx._onButtonClick())}),\u0275\u0275template(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)}if(rf&2){let button_r3=\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_r3)("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);transform:translateZ(0);border-radius:var(--mat-legacy-button-toggle-shape)}.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-standard-button-toggle-shape, var(--mat-sys-corner-full));border:solid 1px var(--mat-standard-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-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-standard-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-legacy-button-toggle-text-color);font-family:var(--mat-legacy-button-toggle-label-text-font);font-size:var(--mat-legacy-button-toggle-label-text-size);line-height:var(--mat-legacy-button-toggle-label-text-line-height);font-weight:var(--mat-legacy-button-toggle-label-text-weight);letter-spacing:var(--mat-legacy-button-toggle-label-text-tracking);--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-legacy-button-toggle-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-legacy-button-toggle-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-legacy-button-toggle-selected-state-text-color);background-color:var(--mat-legacy-button-toggle-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-legacy-button-toggle-disabled-state-text-color);background-color:var(--mat-legacy-button-toggle-disabled-state-background-color);--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-legacy-button-toggle-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-legacy-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-standard-button-toggle-text-color, var(--mat-sys-on-surface));background-color:var(--mat-standard-button-toggle-background-color, transparent);font-family:var(--mat-standard-button-toggle-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-standard-button-toggle-label-text-size, var(--mat-sys-label-large-size));line-height:var(--mat-standard-button-toggle-label-text-line-height, var(--mat-sys-label-large-line-height));font-weight:var(--mat-standard-button-toggle-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-standard-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-standard-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-standard-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-standard-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-standard-button-toggle-selected-state-background-color, var(--mat-sys-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-standard-button-toggle-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-standard-button-toggle-disabled-state-background-color, transparent)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-standard-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-standard-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-standard-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-standard-button-toggle-state-layer-color, var(--mat-sys-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-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-standard-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-legacy-button-toggle-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-standard-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-legacy-button-toggle-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-standard-button-toggle-shape, var(--mat-sys-corner-full))}.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-standard-button-toggle-shape, var(--mat-sys-corner-full));border-bottom-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-full))}.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-standard-button-toggle-shape, var(--mat-sys-corner-full));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-full))}.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-standard-button-toggle-shape, var(--mat-sys-corner-full));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-full))}.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-standard-button-toggle-shape, var(--mat-sys-corner-full));border-top-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-full))}"],encapsulation:2,changeDetection:0})}return MatButtonToggle2})(),MatButtonToggleModule=(()=>{class MatButtonToggleModule2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatButtonToggleModule2)};static \u0275mod=\u0275\u0275defineNgModule({type:MatButtonToggleModule2});static \u0275inj=\u0275\u0275defineInjector({imports:[MatCommonModule,MatRippleModule,MatButtonToggle,MatCommonModule]})}return MatButtonToggleModule2})();var _c016=["mat-calendar-body",""];function _forTrack0($index,$item){return this._trackRow($item)}var _forTrack1=($index,$item)=>$item.id;function MatCalendarBody_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"tr",0)(1,"td",3),\u0275\u0275text(2),\u0275\u0275elementEnd()()),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275styleProp("padding-top",ctx_r0._cellPadding)("padding-bottom",ctx_r0._cellPadding),\u0275\u0275attribute("colspan",ctx_r0.numCols),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",ctx_r0.label," ")}}function MatCalendarBody_For_2_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"td",3),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275styleProp("padding-top",ctx_r0._cellPadding)("padding-bottom",ctx_r0._cellPadding),\u0275\u0275attribute("colspan",ctx_r0._firstRowOffset),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",ctx_r0._firstRowOffset>=ctx_r0.labelMinRequiredCells?ctx_r0.label:""," ")}}function MatCalendarBody_For_2_For_3_Template(rf,ctx){if(rf&1){let _r2=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"td",6)(1,"button",7),\u0275\u0275listener("click",function($event){let item_r3=\u0275\u0275restoreView(_r2).$implicit,ctx_r0=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r0._cellClicked(item_r3,$event))})("focus",function($event){let item_r3=\u0275\u0275restoreView(_r2).$implicit,ctx_r0=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r0._emitActiveDateChange(item_r3,$event))}),\u0275\u0275elementStart(2,"span",8),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275element(4,"span",9),\u0275\u0275elementEnd()()}if(rf&2){let item_r3=ctx.$implicit,\u0275$index_14_r4=ctx.$index,\u0275$index_7_r5=\u0275\u0275nextContext().$index,ctx_r0=\u0275\u0275nextContext();\u0275\u0275styleProp("width",ctx_r0._cellWidth)("padding-top",ctx_r0._cellPadding)("padding-bottom",ctx_r0._cellPadding),\u0275\u0275attribute("data-mat-row",\u0275$index_7_r5)("data-mat-col",\u0275$index_14_r4),\u0275\u0275advance(),\u0275\u0275classProp("mat-calendar-body-disabled",!item_r3.enabled)("mat-calendar-body-active",ctx_r0._isActiveCell(\u0275$index_7_r5,\u0275$index_14_r4))("mat-calendar-body-range-start",ctx_r0._isRangeStart(item_r3.compareValue))("mat-calendar-body-range-end",ctx_r0._isRangeEnd(item_r3.compareValue))("mat-calendar-body-in-range",ctx_r0._isInRange(item_r3.compareValue))("mat-calendar-body-comparison-bridge-start",ctx_r0._isComparisonBridgeStart(item_r3.compareValue,\u0275$index_7_r5,\u0275$index_14_r4))("mat-calendar-body-comparison-bridge-end",ctx_r0._isComparisonBridgeEnd(item_r3.compareValue,\u0275$index_7_r5,\u0275$index_14_r4))("mat-calendar-body-comparison-start",ctx_r0._isComparisonStart(item_r3.compareValue))("mat-calendar-body-comparison-end",ctx_r0._isComparisonEnd(item_r3.compareValue))("mat-calendar-body-in-comparison-range",ctx_r0._isInComparisonRange(item_r3.compareValue))("mat-calendar-body-preview-start",ctx_r0._isPreviewStart(item_r3.compareValue))("mat-calendar-body-preview-end",ctx_r0._isPreviewEnd(item_r3.compareValue))("mat-calendar-body-in-preview",ctx_r0._isInPreview(item_r3.compareValue)),\u0275\u0275property("ngClass",item_r3.cssClasses)("tabindex",ctx_r0._isActiveCell(\u0275$index_7_r5,\u0275$index_14_r4)?0:-1),\u0275\u0275attribute("aria-label",item_r3.ariaLabel)("aria-disabled",!item_r3.enabled||null)("aria-pressed",ctx_r0._isSelected(item_r3.compareValue))("aria-current",ctx_r0.todayValue===item_r3.compareValue?"date":null)("aria-describedby",ctx_r0._getDescribedby(item_r3.compareValue)),\u0275\u0275advance(),\u0275\u0275classProp("mat-calendar-body-selected",ctx_r0._isSelected(item_r3.compareValue))("mat-calendar-body-comparison-identical",ctx_r0._isComparisonIdentical(item_r3.compareValue))("mat-calendar-body-today",ctx_r0.todayValue===item_r3.compareValue),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",item_r3.displayValue," ")}}function MatCalendarBody_For_2_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"tr",1),\u0275\u0275template(1,MatCalendarBody_For_2_Conditional_1_Template,2,6,"td",4),\u0275\u0275repeaterCreate(2,MatCalendarBody_For_2_For_3_Template,5,48,"td",5,_forTrack1),\u0275\u0275elementEnd()),rf&2){let row_r6=ctx.$implicit,\u0275$index_7_r5=ctx.$index,ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275conditional(\u0275$index_7_r5===0&&ctx_r0._firstRowOffset?1:-1),\u0275\u0275advance(),\u0275\u0275repeater(row_r6)}}function MatMonthView_For_4_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"th",2)(1,"span",6),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"span",3),\u0275\u0275text(4),\u0275\u0275elementEnd()()),rf&2){let day_r1=ctx.$implicit;\u0275\u0275advance(2),\u0275\u0275textInterpolate(day_r1.long),\u0275\u0275advance(2),\u0275\u0275textInterpolate(day_r1.narrow)}}var _c113=["*"];function MatCalendar_ng_template_0_Template(rf,ctx){}function MatCalendar_Case_2_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-month-view",4),\u0275\u0275twoWayListener("activeDateChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275twoWayBindingSet(ctx_r1.activeDate,$event)||(ctx_r1.activeDate=$event),\u0275\u0275resetView($event)}),\u0275\u0275listener("_userSelection",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._dateSelected($event))})("dragStarted",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._dragStarted($event))})("dragEnded",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._dragEnded($event))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275twoWayProperty("activeDate",ctx_r1.activeDate),\u0275\u0275property("selected",ctx_r1.selected)("dateFilter",ctx_r1.dateFilter)("maxDate",ctx_r1.maxDate)("minDate",ctx_r1.minDate)("dateClass",ctx_r1.dateClass)("comparisonStart",ctx_r1.comparisonStart)("comparisonEnd",ctx_r1.comparisonEnd)("startDateAccessibleName",ctx_r1.startDateAccessibleName)("endDateAccessibleName",ctx_r1.endDateAccessibleName)("activeDrag",ctx_r1._activeDrag)}}function MatCalendar_Case_3_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-year-view",5),\u0275\u0275twoWayListener("activeDateChange",function($event){\u0275\u0275restoreView(_r3);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275twoWayBindingSet(ctx_r1.activeDate,$event)||(ctx_r1.activeDate=$event),\u0275\u0275resetView($event)}),\u0275\u0275listener("monthSelected",function($event){\u0275\u0275restoreView(_r3);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._monthSelectedInYearView($event))})("selectedChange",function($event){\u0275\u0275restoreView(_r3);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._goToDateInView($event,"month"))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275twoWayProperty("activeDate",ctx_r1.activeDate),\u0275\u0275property("selected",ctx_r1.selected)("dateFilter",ctx_r1.dateFilter)("maxDate",ctx_r1.maxDate)("minDate",ctx_r1.minDate)("dateClass",ctx_r1.dateClass)}}function MatCalendar_Case_4_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-multi-year-view",6),\u0275\u0275twoWayListener("activeDateChange",function($event){\u0275\u0275restoreView(_r4);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275twoWayBindingSet(ctx_r1.activeDate,$event)||(ctx_r1.activeDate=$event),\u0275\u0275resetView($event)}),\u0275\u0275listener("yearSelected",function($event){\u0275\u0275restoreView(_r4);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._yearSelectedInMultiYearView($event))})("selectedChange",function($event){\u0275\u0275restoreView(_r4);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._goToDateInView($event,"year"))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275twoWayProperty("activeDate",ctx_r1.activeDate),\u0275\u0275property("selected",ctx_r1.selected)("dateFilter",ctx_r1.dateFilter)("maxDate",ctx_r1.maxDate)("minDate",ctx_r1.minDate)("dateClass",ctx_r1.dateClass)}}function MatDatepickerContent_ng_template_2_Template(rf,ctx){}var _c29=["button"],_c36=[[["","matDatepickerToggleIcon",""]]],_c44=["[matDatepickerToggleIcon]"];function MatDatepickerToggle_Conditional_2_Template(rf,ctx){rf&1&&(\u0275\u0275namespaceSVG(),\u0275\u0275elementStart(0,"svg",2),\u0275\u0275element(1,"path",3),\u0275\u0275elementEnd())}var MatDatepickerIntl=(()=>{class MatDatepickerIntl2{changes=new Subject;calendarLabel="Calendar";openCalendarLabel="Open calendar";closeCalendarLabel="Close calendar";prevMonthLabel="Previous month";nextMonthLabel="Next month";prevYearLabel="Previous year";nextYearLabel="Next year";prevMultiYearLabel="Previous 24 years";nextMultiYearLabel="Next 24 years";switchToMonthViewLabel="Choose date";switchToMultiYearViewLabel="Choose month and year";startDateLabel="Start date";endDateLabel="End date";comparisonDateLabel="Comparison range";formatYearRange(start,end){return`${start} \u2013 ${end}`}formatYearRangeLabel(start,end){return`${start} to ${end}`}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatDatepickerIntl2)};static \u0275prov=\u0275\u0275defineInjectable({token:MatDatepickerIntl2,factory:MatDatepickerIntl2.\u0275fac,providedIn:"root"})}return MatDatepickerIntl2})(),uniqueIdCounter$1=0,MatCalendarCell=class{value;displayValue;ariaLabel;enabled;cssClasses;compareValue;rawValue;id=uniqueIdCounter$1++;constructor(value,displayValue,ariaLabel,enabled,cssClasses={},compareValue=value,rawValue2){this.value=value,this.displayValue=displayValue,this.ariaLabel=ariaLabel,this.enabled=enabled,this.cssClasses=cssClasses,this.compareValue=compareValue,this.rawValue=rawValue2}},activeCapturingEventOptions2={passive:!1,capture:!0},passiveCapturingEventOptions2={passive:!0,capture:!0},passiveEventOptions={passive:!0},MatCalendarBody=(()=>{class MatCalendarBody2{_elementRef=inject(ElementRef);_ngZone=inject(NgZone);_platform=inject(Platform);_intl=inject(MatDatepickerIntl);_eventCleanups;_skipNextFocus;_focusActiveCellAfterViewChecked=!1;label;rows;todayValue;startValue;endValue;labelMinRequiredCells;numCols=7;activeCell=0;ngAfterViewChecked(){this._focusActiveCellAfterViewChecked&&(this._focusActiveCell(),this._focusActiveCellAfterViewChecked=!1)}isRange=!1;cellAspectRatio=1;comparisonStart;comparisonEnd;previewStart=null;previewEnd=null;startDateAccessibleName;endDateAccessibleName;selectedValueChange=new EventEmitter;previewChange=new EventEmitter;activeDateChange=new EventEmitter;dragStarted=new EventEmitter;dragEnded=new EventEmitter;_firstRowOffset;_cellPadding;_cellWidth;_startDateLabelId;_endDateLabelId;_comparisonStartDateLabelId;_comparisonEndDateLabelId;_didDragSinceMouseDown=!1;_injector=inject(Injector);comparisonDateAccessibleName=this._intl.comparisonDateLabel;_trackRow=row=>row;constructor(){let renderer=inject(Renderer2),idGenerator=inject(_IdGenerator);this._startDateLabelId=idGenerator.getId("mat-calendar-body-start-"),this._endDateLabelId=idGenerator.getId("mat-calendar-body-end-"),this._comparisonStartDateLabelId=idGenerator.getId("mat-calendar-body-comparison-start-"),this._comparisonEndDateLabelId=idGenerator.getId("mat-calendar-body-comparison-end-"),inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader),this._ngZone.runOutsideAngular(()=>{let element=this._elementRef.nativeElement,cleanups=[_bindEventWithOptions(renderer,element,"touchmove",this._touchmoveHandler,activeCapturingEventOptions2),_bindEventWithOptions(renderer,element,"mouseenter",this._enterHandler,passiveCapturingEventOptions2),_bindEventWithOptions(renderer,element,"focus",this._enterHandler,passiveCapturingEventOptions2),_bindEventWithOptions(renderer,element,"mouseleave",this._leaveHandler,passiveCapturingEventOptions2),_bindEventWithOptions(renderer,element,"blur",this._leaveHandler,passiveCapturingEventOptions2),_bindEventWithOptions(renderer,element,"mousedown",this._mousedownHandler,passiveEventOptions),_bindEventWithOptions(renderer,element,"touchstart",this._mousedownHandler,passiveEventOptions)];this._platform.isBrowser&&cleanups.push(renderer.listen("window","mouseup",this._mouseupHandler),renderer.listen("window","touchend",this._touchendHandler)),this._eventCleanups=cleanups})}_cellClicked(cell,event){this._didDragSinceMouseDown||cell.enabled&&this.selectedValueChange.emit({value:cell.value,event})}_emitActiveDateChange(cell,event){cell.enabled&&this.activeDateChange.emit({value:cell.value,event})}_isSelected(value){return this.startValue===value||this.endValue===value}ngOnChanges(changes){let columnChanges=changes.numCols,{rows,numCols}=this;(changes.rows||columnChanges)&&(this._firstRowOffset=rows&&rows.length&&rows[0].length?numCols-rows[0].length:0),(changes.cellAspectRatio||columnChanges||!this._cellPadding)&&(this._cellPadding=`${50*this.cellAspectRatio/numCols}%`),(columnChanges||!this._cellWidth)&&(this._cellWidth=`${100/numCols}%`)}ngOnDestroy(){this._eventCleanups.forEach(cleanup=>cleanup())}_isActiveCell(rowIndex,colIndex){let cellNumber=rowIndex*this.numCols+colIndex;return rowIndex&&(cellNumber-=this._firstRowOffset),cellNumber==this.activeCell}_focusActiveCell(movePreview=!0){afterNextRender(()=>{setTimeout(()=>{let activeCell=this._elementRef.nativeElement.querySelector(".mat-calendar-body-active");activeCell&&(movePreview||(this._skipNextFocus=!0),activeCell.focus())})},{injector:this._injector})}_scheduleFocusActiveCellAfterViewChecked(){this._focusActiveCellAfterViewChecked=!0}_isRangeStart(value){return isStart(value,this.startValue,this.endValue)}_isRangeEnd(value){return isEnd(value,this.startValue,this.endValue)}_isInRange(value){return isInRange(value,this.startValue,this.endValue,this.isRange)}_isComparisonStart(value){return isStart(value,this.comparisonStart,this.comparisonEnd)}_isComparisonBridgeStart(value,rowIndex,colIndex){if(!this._isComparisonStart(value)||this._isRangeStart(value)||!this._isInRange(value))return!1;let previousCell=this.rows[rowIndex][colIndex-1];if(!previousCell){let previousRow=this.rows[rowIndex-1];previousCell=previousRow&&previousRow[previousRow.length-1]}return previousCell&&!this._isRangeEnd(previousCell.compareValue)}_isComparisonBridgeEnd(value,rowIndex,colIndex){if(!this._isComparisonEnd(value)||this._isRangeEnd(value)||!this._isInRange(value))return!1;let nextCell=this.rows[rowIndex][colIndex+1];if(!nextCell){let nextRow=this.rows[rowIndex+1];nextCell=nextRow&&nextRow[0]}return nextCell&&!this._isRangeStart(nextCell.compareValue)}_isComparisonEnd(value){return isEnd(value,this.comparisonStart,this.comparisonEnd)}_isInComparisonRange(value){return isInRange(value,this.comparisonStart,this.comparisonEnd,this.isRange)}_isComparisonIdentical(value){return this.comparisonStart===this.comparisonEnd&&value===this.comparisonStart}_isPreviewStart(value){return isStart(value,this.previewStart,this.previewEnd)}_isPreviewEnd(value){return isEnd(value,this.previewStart,this.previewEnd)}_isInPreview(value){return isInRange(value,this.previewStart,this.previewEnd,this.isRange)}_getDescribedby(value){if(!this.isRange)return null;if(this.startValue===value&&this.endValue===value)return`${this._startDateLabelId} ${this._endDateLabelId}`;if(this.startValue===value)return this._startDateLabelId;if(this.endValue===value)return this._endDateLabelId;if(this.comparisonStart!==null&&this.comparisonEnd!==null){if(value===this.comparisonStart&&value===this.comparisonEnd)return`${this._comparisonStartDateLabelId} ${this._comparisonEndDateLabelId}`;if(value===this.comparisonStart)return this._comparisonStartDateLabelId;if(value===this.comparisonEnd)return this._comparisonEndDateLabelId}return null}_enterHandler=event=>{if(this._skipNextFocus&&event.type==="focus"){this._skipNextFocus=!1;return}if(event.target&&this.isRange){let cell=this._getCellFromElement(event.target);cell&&this._ngZone.run(()=>this.previewChange.emit({value:cell.enabled?cell:null,event}))}};_touchmoveHandler=event=>{if(!this.isRange)return;let target=getActualTouchTarget(event),cell=target?this._getCellFromElement(target):null;target!==event.target&&(this._didDragSinceMouseDown=!0),getCellElement(event.target)&&event.preventDefault(),this._ngZone.run(()=>this.previewChange.emit({value:cell?.enabled?cell:null,event}))};_leaveHandler=event=>{this.previewEnd!==null&&this.isRange&&(event.type!=="blur"&&(this._didDragSinceMouseDown=!0),event.target&&this._getCellFromElement(event.target)&&!(event.relatedTarget&&this._getCellFromElement(event.relatedTarget))&&this._ngZone.run(()=>this.previewChange.emit({value:null,event})))};_mousedownHandler=event=>{if(!this.isRange)return;this._didDragSinceMouseDown=!1;let cell=event.target&&this._getCellFromElement(event.target);!cell||!this._isInRange(cell.compareValue)||this._ngZone.run(()=>{this.dragStarted.emit({value:cell.rawValue,event})})};_mouseupHandler=event=>{if(!this.isRange)return;let cellElement=getCellElement(event.target);if(!cellElement){this._ngZone.run(()=>{this.dragEnded.emit({value:null,event})});return}cellElement.closest(".mat-calendar-body")===this._elementRef.nativeElement&&this._ngZone.run(()=>{let cell=this._getCellFromElement(cellElement);this.dragEnded.emit({value:cell?.rawValue??null,event})})};_touchendHandler=event=>{let target=getActualTouchTarget(event);target&&this._mouseupHandler({target})};_getCellFromElement(element){let cell=getCellElement(element);if(cell){let row=cell.getAttribute("data-mat-row"),col=cell.getAttribute("data-mat-col");if(row&&col)return this.rows[parseInt(row)][parseInt(col)]}return null}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatCalendarBody2)};static \u0275cmp=\u0275\u0275defineComponent({type:MatCalendarBody2,selectors:[["","mat-calendar-body",""]],hostAttrs:[1,"mat-calendar-body"],inputs:{label:"label",rows:"rows",todayValue:"todayValue",startValue:"startValue",endValue:"endValue",labelMinRequiredCells:"labelMinRequiredCells",numCols:"numCols",activeCell:"activeCell",isRange:"isRange",cellAspectRatio:"cellAspectRatio",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd",previewStart:"previewStart",previewEnd:"previewEnd",startDateAccessibleName:"startDateAccessibleName",endDateAccessibleName:"endDateAccessibleName"},outputs:{selectedValueChange:"selectedValueChange",previewChange:"previewChange",activeDateChange:"activeDateChange",dragStarted:"dragStarted",dragEnded:"dragEnded"},exportAs:["matCalendarBody"],features:[\u0275\u0275NgOnChangesFeature],attrs:_c016,decls:11,vars:11,consts:[["aria-hidden","true"],["role","row"],[1,"mat-calendar-body-hidden-label",3,"id"],[1,"mat-calendar-body-label"],[1,"mat-calendar-body-label",3,"paddingTop","paddingBottom"],["role","gridcell",1,"mat-calendar-body-cell-container",3,"width","paddingTop","paddingBottom"],["role","gridcell",1,"mat-calendar-body-cell-container"],["type","button",1,"mat-calendar-body-cell",3,"click","focus","ngClass","tabindex"],[1,"mat-calendar-body-cell-content","mat-focus-indicator"],["aria-hidden","true",1,"mat-calendar-body-cell-preview"]],template:function(rf,ctx){rf&1&&(\u0275\u0275template(0,MatCalendarBody_Conditional_0_Template,3,6,"tr",0),\u0275\u0275repeaterCreate(1,MatCalendarBody_For_2_Template,4,1,"tr",1,_forTrack0,!0),\u0275\u0275elementStart(3,"span",2),\u0275\u0275text(4),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"span",2),\u0275\u0275text(6),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"span",2),\u0275\u0275text(8),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"span",2),\u0275\u0275text(10),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275conditional(ctx._firstRowOffset<ctx.labelMinRequiredCells?0:-1),\u0275\u0275advance(),\u0275\u0275repeater(ctx.rows),\u0275\u0275advance(2),\u0275\u0275property("id",ctx._startDateLabelId),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",ctx.startDateAccessibleName,`
53
+ `)};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)))}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 scope=this.scope,clientRef=`yot:rdc.${scope?scope+".":""}${this.id}.u${this._uid++}`,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 scope=this.scope,clientRef=`yot:rdc.${scope?scope+".":""}${this.id}.q${this._uid++}`,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 scope=this.scope,clientRef=`yot:rdc.${scope?scope+".":""}${this.id}.u${this._uid++}`,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 scope=this.scope,clientRef=`yot:rdc.${scope?scope+".":""}${this.id}.u${this._uid++}`,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=(()=>{let _ResourceDataClientProxyService=class _ResourceDataClientProxyService{constructor(){this.window=inject(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))}};_ResourceDataClientProxyService.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_ResourceDataClientProxyService)},_ResourceDataClientProxyService.\u0275prov=\u0275\u0275defineInjectable({token:_ResourceDataClientProxyService,factory:_ResourceDataClientProxyService.\u0275fac,providedIn:"root"});let ResourceDataClientProxyService2=_ResourceDataClientProxyService;return ResourceDataClientProxyService2})();var ResourceDataServiceFactory=(()=>{let _ResourceDataServiceFactory=class _ResourceDataServiceFactory{create(config2){return new ResourceDataService(config2)}};_ResourceDataServiceFactory.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_ResourceDataServiceFactory)},_ResourceDataServiceFactory.\u0275prov=\u0275\u0275defineInjectable({token:_ResourceDataServiceFactory,factory:_ResourceDataServiceFactory.\u0275fac,providedIn:"root"});let ResourceDataServiceFactory2=_ResourceDataServiceFactory;return ResourceDataServiceFactory2})(),ResourceDataService=class{constructor(config2){this.config=config2,this.destroyed=new Subject}add(add3,backendComponentId){let provider=this.config.addProviders.find(({selector})=>selector===add3.selector);return provider?provider.add(add3.data,backendComponentId):(console.warn(`Add selector (${add3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}update(update3,backendComponentId){let provider=this.config.updateProviders.find(({selector})=>selector===update3.selector);return provider?provider.update(update3.data,backendComponentId):(console.warn(`Update selector (${update3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}remove(remove3,backendComponentId){let provider=this.config.removeProviders.find(({selector})=>selector===remove3.selector);return provider?provider.remove(remove3.publicId,backendComponentId):(console.warn(`Remove selector (${remove3.selector}) cannot be matched to a resource-data provider.`),of(void 0))}fetch(queries){return combineLatest(queries.map(({query:query2,backendComponentId})=>{let provider=this.config.dataProviders.find(({selector})=>selector===query2.selector);return provider?(typeof provider.dataFeed=="function"?provider.dataFeed(backendComponentId):provider.dataFeed).pipe(filter(data=>provider.dataGuard?provider.dataGuard(query2,data,backendComponentId):!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,backendComponentId){return combineLatest(queries.map(query2=>{let provider=this.config.dataProviders.find(({selector})=>selector===query2.selector);return provider?(typeof provider.dataFeed=="function"?provider.dataFeed(backendComponentId):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 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 nameCollator=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?nameCollator.compare(a.name,b.name||""):-1}function sortByPublicIdComparer(a,b){return a.publicId<b.publicId?-1:a.publicId>b.publicId?1:0}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=(()=>{let _PageComponentTemplateEffects=class _PageComponentTemplateEffects{constructor(){this.actions$=inject(Actions),this.service=inject(PageComponentTemplateService),this.store=inject(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??[]})))))))}};_PageComponentTemplateEffects.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_PageComponentTemplateEffects)},_PageComponentTemplateEffects.\u0275prov=\u0275\u0275defineInjectable({token:_PageComponentTemplateEffects,factory:_PageComponentTemplateEffects.\u0275fac,providedIn:"root"});let PageComponentTemplateEffects2=_PageComponentTemplateEffects;return PageComponentTemplateEffects2})();var environment={appName:"Simulator",name:"production",version:"cdk-1.16.0-next.2",build:"166277-1566218",production:!0};var PageComponentTemplatePrependBaseUrlInterceptor=(()=>{let _PageComponentTemplatePrependBaseUrlInterceptor=class _PageComponentTemplatePrependBaseUrlInterceptor{constructor(document2,options){this.document=document2,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)}};_PageComponentTemplatePrependBaseUrlInterceptor.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_PageComponentTemplatePrependBaseUrlInterceptor)(\u0275\u0275inject(DOCUMENT2),\u0275\u0275inject(IXAPI_OPTIONS))},_PageComponentTemplatePrependBaseUrlInterceptor.\u0275prov=\u0275\u0275defineInjectable({token:_PageComponentTemplatePrependBaseUrlInterceptor,factory:_PageComponentTemplatePrependBaseUrlInterceptor.\u0275fac});let PageComponentTemplatePrependBaseUrlInterceptor2=_PageComponentTemplatePrependBaseUrlInterceptor;return PageComponentTemplatePrependBaseUrlInterceptor2})();var PageComponentTemplateModule=(()=>{let _PageComponentTemplateModule=class _PageComponentTemplateModule{};_PageComponentTemplateModule.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_PageComponentTemplateModule)},_PageComponentTemplateModule.\u0275mod=\u0275\u0275defineNgModule({type:_PageComponentTemplateModule}),_PageComponentTemplateModule.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:HTTP_INTERCEPTORS,useClass:PageComponentTemplatePrependBaseUrlInterceptor,multi:!0}],imports:[IxApiModule,StoreModule.forFeature(feature2),EffectsModule.forFeature([PageComponentTemplateEffects])]});let PageComponentTemplateModule2=_PageComponentTemplateModule;return PageComponentTemplateModule2})();var ComponentSettingsFacade=(()=>{let _ComponentSettingsFacade=class _ComponentSettingsFacade{constructor(document2,store2,http){this.document=document2,this.store=store2,this.http=http}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())}};_ComponentSettingsFacade.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_ComponentSettingsFacade)(\u0275\u0275inject(DOCUMENT2),\u0275\u0275inject(Store),\u0275\u0275inject(HttpClient))},_ComponentSettingsFacade.\u0275prov=\u0275\u0275defineInjectable({token:_ComponentSettingsFacade,factory:_ComponentSettingsFacade.\u0275fac,providedIn:"root"});let ComponentSettingsFacade2=_ComponentSettingsFacade;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=(()=>{let _PageComponentSettingsComponent=class _PageComponentSettingsComponent{constructor(){this.componentForm=new FormGroup({url:new FormControl(sessionStorage.getItem("pct-url"),Validators.required,UrlValidator(inject(ComponentTemplateValidatorService)))}),this.destroy=inject(DestroyRef),this.facade=inject(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()})}};_PageComponentSettingsComponent.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_PageComponentSettingsComponent)},_PageComponentSettingsComponent.\u0275cmp=\u0275\u0275defineComponent({type:_PageComponentSettingsComponent,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\u0275template(10,PageComponentSettingsComponent_Conditional_10_Template,2,0,"mat-error")(11,PageComponentSettingsComponent_Conditional_11_Template,2,0,"mat-error")(12,PageComponentSettingsComponent_Conditional_12_Template,2,0,"mat-error")(13,PageComponentSettingsComponent_Conditional_13_Template,2,0,"mat-error")(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%}"]});let PageComponentSettingsComponent2=_PageComponentSettingsComponent;return PageComponentSettingsComponent2})();var ComponentSettingsComponent=(()=>{let _ComponentSettingsComponent=class _ComponentSettingsComponent{};_ComponentSettingsComponent.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_ComponentSettingsComponent)},_ComponentSettingsComponent.\u0275cmp=\u0275\u0275defineComponent({type:_ComponentSettingsComponent,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});let ComponentSettingsComponent2=_ComponentSettingsComponent;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{}}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 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)`}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;_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$1={passive:!1,capture:!0},MOUSE_EVENT_IGNORE_TIME=800,dragImportantProperties=new Set(["position"]),DragRef=class{_config;_document;_ngZone;_viewportRuler;_dragDropRegistry;_renderer;_rootElementCleanups;_cleanupShadowRootSelectStart;_preview;_previewContainer;_placeholderRef;_placeholder;_pickupPositionInElement;_pickupPositionOnPage;_anchor;_passiveTransform={x:0,y:0};_activeTransform={x:0,y:0};_initialTransform;_hasStartedDragging=signal(!1);_hasMoved;_initialContainer;_initialIndex;_parentPositions;_moveEvents=new Subject;_pointerDirectionDelta;_pointerPositionAtLastDirectionChange;_lastKnownPointerPosition;_rootElement;_ownerSVGElement;_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;_cachedShadowRoot;lockAxis;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);return element!==this._rootElement&&(this._removeRootElementListeners(),this._rootElementCleanups=this._ngZone.runOutsideAngular(()=>[_bindEventWithOptions(this._renderer,element,"mousedown",this._pointerDown,activeEventListenerOptions),_bindEventWithOptions(this._renderer,element,"touchstart",this._pointerDown,passiveEventListenerOptions),_bindEventWithOptions(this._renderer,element,"dragstart",this._nativeDragStart,activeEventListenerOptions)]),this._initialTransform=void 0,this._rootElement=element),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._anchor?.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._anchor=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}}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._placeholder?.remove(),this._placeholderRef?.destroy(),this._placeholder=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=_bindEventWithOptions(this._renderer,shadowRoot,"selectstart",shadowDomSelectStart,activeCapturingEventOptions$1)}),dropContainer){let element=this._rootElement,parent=element.parentNode,placeholder=this._placeholder=this._createPlaceholderElement(),anchor=this._anchor=this._anchor||this._document.createComment("");parent.insertBefore(anchor,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._anchor.parentNode.replaceChild(this._rootElement,this._anchor),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(()=>{this.exited.next({item:this,container:this._dropContainer}),this._dropContainer.exit(this),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("cdk-drag-placeholder"),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)))}};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 from2=clamp(fromIndex,array.length-1),to=clamp(toIndex,array.length-1);if(from2===to)return;let target=array[from2],delta=to<from2?-1:1;for(let i=from2;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;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 newIndex=index==null||index<0?this._getItemIndexFromPointerPosition(item,pointerX,pointerY):index,activeDraggables=this._activeDraggables,currentIndex=activeDraggables.indexOf(item),placeholder=item.getPlaceholderElement(),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]),currentIndex>-1&&activeDraggables.splice(currentIndex,1),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.orientation==="horizontal"&&this.direction==="rtl"?this._itemPositions.slice().reverse():this._itemPositions).findIndex(currentItem=>currentItem.drag===item)}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)}_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 enterIndex=index==null||index<0?this._getItemIndexFromPointerPosition(item,pointerX,pointerY):index;enterIndex===-1&&(enterIndex=this._getClosestItemIndexToPointer(item,pointerX,pointerY));let targetItem=this._activeItems[enterIndex],currentIndex=this._activeItems.indexOf(item);currentIndex>-1&&this._activeItems.splice(currentIndex,1),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)}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||{}),DropListRef=class{_dragDropRegistry;_ngZone;_viewportRuler;element;disabled=!1;sortingDisabled=!1;lockAxis;autoScrollDisabled=!1;autoScrollStep=2;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)}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 capturingEventOptions={capture:!0},activeCapturingEventOptions={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}"],encapsulation:2,changeDetection:0})}return _ResetsLoader2})(),DragDropRegistry=(()=>{class DragDropRegistry2{_ngZone=inject(NgZone);_document=inject(DOCUMENT2);_styleLoader=inject(_CdkPrivateStyleLoader);_renderer=inject(RendererFactory2).createRenderer(null,null);_cleanupDocumentTouchmove;_dropInstances=new Set;_dragInstances=new Set;_activeDragInstances=signal([]);_globalListeners;_draggingPredicate=item=>item.isDragging();_domNodesToDirectives=null;pointerMove=new Subject;pointerUp=new Subject;scroll=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=_bindEventWithOptions(this._renderer,this._document,"touchmove",this._persistentTouchmoveListener,activeCapturingEventOptions)})}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]];isTouchEvent2?toBind.push(["touchend",endEventHandler,capturingEventOptions],["touchcancel",endEventHandler,capturingEventOptions]):toBind.push(["mouseup",endEventHandler,capturingEventOptions]),isTouchEvent2||toBind.push(["mousemove",e=>this.pointerMove.next(e),activeCapturingEventOptions]),this._ngZone.runOutsideAngular(()=>{this._globalListeners=toBind.map(([name,handler,options])=>_bindEventWithOptions(this._renderer,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=_bindEventWithOptions(this._renderer,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})(),DEFAULT_CONFIG2={dragStartThreshold:5,pointerDirectionChangeThreshold:5},DragDrop=(()=>{class DragDrop2{_document=inject(DOCUMENT2);_ngZone=inject(NgZone);_viewportRuler=inject(ViewportRuler);_dragDropRegistry=inject(DragDropRegistry);_renderer=inject(RendererFactory2).createRenderer(null,null);constructor(){}createDrag(element,config2=DEFAULT_CONFIG2){return new DragRef(element,config2,this._document,this._ngZone,this._viewportRuler,this._dragDropRegistry,this._renderer)}createDropList(element){return new DropListRef(element,this._dragDropRegistry,this._document,this._ngZone,this._viewportRuler)}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=inject(ElementRef);dropContainer=inject(CDK_DROP_LIST,{optional:!0,skipSelf:!0});_ngZone=inject(NgZone);_viewContainerRef=inject(ViewContainerRef);_dir=inject(Directionality,{optional:!0});_changeDetectorRef=inject(ChangeDetectorRef);_selfHandle=inject(CDK_DRAG_HANDLE,{optional:!0,self:!0});_parentDrag=inject(CDK_DRAG_PARENT,{optional:!0,skipSelf:!0});_dragDropRegistry=inject(DragDropRegistry);_destroyed=new Subject;_handles=new BehaviorSubject([]);_previewTemplate;_placeholderTemplate;_dragRef;data;lockAxis;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;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=inject(Injector);constructor(){let dropContainer=this.dropContainer,config2=inject(CDK_DRAG_CONFIG,{optional:!0}),dragDrop=inject(DragDrop);this._dragRef=dragDrop.createDrag(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&&(this._dragRef._withDropContainer(dropContainer._dropListRef),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()}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,lockAxis&&(this.lockAxis=lockAxis),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=inject(ElementRef);_changeDetectorRef=inject(ChangeDetectorRef);_scrollDispatcher=inject(ScrollDispatcher);_dir=inject(Directionality,{optional:!0});_group=inject(CDK_DROP_LIST_GROUP,{optional:!0,skipSelf:!0});_latestSortedRefs;_destroyed=new Subject;_scrollableParentsResolved;static _dropLists=[];_dropListRef;connectedTo=[];data;orientation;id=inject(_IdGenerator).getId("cdk-drop-list-");lockAxis;get disabled(){return this._disabled||!!this._group&&this._group.disabled}set disabled(value){this._dropListRef.disabled=this._disabled=value}_disabled;sortingDisabled;enterPredicate=()=>!0;sortPredicate=()=>!0;autoScrollDisabled;autoScrollStep;elementContainerSelector;dropped=new EventEmitter;entered=new EventEmitter;exited=new EventEmitter;sorted=new EventEmitter;_unsortedItems=new Set;constructor(){let dragDrop=inject(DragDrop),config2=inject(CDK_DRAG_CONFIG,{optional:!0});this._dropListRef=dragDrop.createDropList(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),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.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",lockAxis&&(this.lockAxis=lockAxis)}_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"]},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=inject(TemplateRef);_drag=inject(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=inject(TemplateRef);_drag=inject(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 BADGE_CONTENT_CLASS="mat-badge-content",_MatBadgeStyleLoader=(()=>{class _MatBadgeStyleLoader2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||_MatBadgeStyleLoader2)};static \u0275cmp=\u0275\u0275defineComponent({type:_MatBadgeStyleLoader2,selectors:[["ng-component"]],decls:0,vars:0,template:function(rf,ctx){},styles:[".mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-content{position:absolute;text-align:center;display:inline-block;transition:transform 200ms ease-in-out;transform:scale(0.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;pointer-events:none;background-color:var(--mat-badge-background-color, var(--mat-sys-error));color:var(--mat-badge-text-color, var(--mat-sys-on-error));font-family:var(--mat-badge-text-font, var(--mat-sys-label-small-font));font-weight:var(--mat-badge-text-weight, var(--mat-sys-label-small-weight));border-radius:var(--mat-badge-container-shape, var(--mat-sys-corner-full))}.mat-badge-above .mat-badge-content{bottom:100%}.mat-badge-below .mat-badge-content{top:100%}.mat-badge-before .mat-badge-content{right:100%}[dir=rtl] .mat-badge-before .mat-badge-content{right:auto;left:100%}.mat-badge-after .mat-badge-content{left:100%}[dir=rtl] .mat-badge-after .mat-badge-content{left:auto;right:100%}@media(forced-colors: active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-disabled .mat-badge-content{background-color:var(--mat-badge-disabled-state-background-color, color-mix(in srgb, var(--mat-sys-error) 38%, transparent));color:var(--mat-badge-disabled-state-text-color, var(--mat-sys-on-error))}.mat-badge-hidden .mat-badge-content{display:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:var(--mat-badge-legacy-small-size-container-size, unset);height:var(--mat-badge-legacy-small-size-container-size, unset);min-width:var(--mat-badge-small-size-container-size, 6px);min-height:var(--mat-badge-small-size-container-size, 6px);line-height:var(--mat-badge-small-size-line-height, 6px);padding:var(--mat-badge-small-size-container-padding, 0);font-size:var(--mat-badge-small-size-text-size, 0);margin:var(--mat-badge-small-size-container-offset, -6px 0)}.mat-badge-small.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-small-size-container-overlap-offset, -6px)}.mat-badge-medium .mat-badge-content{width:var(--mat-badge-legacy-container-size, unset);height:var(--mat-badge-legacy-container-size, unset);min-width:var(--mat-badge-container-size, 16px);min-height:var(--mat-badge-container-size, 16px);line-height:var(--mat-badge-line-height, 16px);padding:var(--mat-badge-container-padding, 0 4px);font-size:var(--mat-badge-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-container-offset, -12px 0)}.mat-badge-medium.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-container-overlap-offset, -12px)}.mat-badge-large .mat-badge-content{width:var(--mat-badge-legacy-large-size-container-size, unset);height:var(--mat-badge-legacy-large-size-container-size, unset);min-width:var(--mat-badge-large-size-container-size, 16px);min-height:var(--mat-badge-large-size-container-size, 16px);line-height:var(--mat-badge-large-size-line-height, 16px);padding:var(--mat-badge-large-size-container-padding, 0 4px);font-size:var(--mat-badge-large-size-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-large-size-container-offset, -12px 0)}.mat-badge-large.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-large-size-container-overlap-offset, -12px)}"],encapsulation:2,changeDetection:0})}return _MatBadgeStyleLoader2})(),MatBadge=(()=>{class MatBadge2{_ngZone=inject(NgZone);_elementRef=inject(ElementRef);_ariaDescriber=inject(AriaDescriber);_renderer=inject(Renderer2);_animationMode=inject(ANIMATION_MODULE_TYPE,{optional:!0});_idGenerator=inject(_IdGenerator);get color(){return this._color}set color(value){this._setColor(value),this._color=value}_color="primary";overlap=!0;disabled;position="above after";get content(){return this._content}set content(newContent){this._updateRenderedContent(newContent)}_content;get description(){return this._description}set description(newDescription){this._updateDescription(newDescription)}_description;size="medium";hidden;_badgeElement;_inlineBadgeDescription;_isInitialized=!1;_interactivityChecker=inject(InteractivityChecker);_document=inject(DOCUMENT2);constructor(){let styleLoader=inject(_CdkPrivateStyleLoader);styleLoader.load(_MatBadgeStyleLoader),styleLoader.load(_VisuallyHiddenLoader)}isAbove(){return this.position.indexOf("below")===-1}isAfter(){return this.position.indexOf("before")===-1}getBadgeElement(){return this._badgeElement}ngOnInit(){this._clearExistingBadges(),this.content&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement(),this._updateRenderedContent(this.content)),this._isInitialized=!0}ngOnDestroy(){this._renderer.destroyNode&&(this._renderer.destroyNode(this._badgeElement),this._inlineBadgeDescription?.remove()),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description)}_isHostInteractive(){return this._interactivityChecker.isFocusable(this._elementRef.nativeElement,{ignoreVisibility:!0})}_createBadgeElement(){let badgeElement=this._renderer.createElement("span"),activeClass="mat-badge-active";return badgeElement.setAttribute("id",this._idGenerator.getId("mat-badge-content-")),badgeElement.setAttribute("aria-hidden","true"),badgeElement.classList.add(BADGE_CONTENT_CLASS),this._animationMode==="NoopAnimations"&&badgeElement.classList.add("_mat-animation-noopable"),this._elementRef.nativeElement.appendChild(badgeElement),typeof requestAnimationFrame=="function"&&this._animationMode!=="NoopAnimations"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{badgeElement.classList.add(activeClass)})}):badgeElement.classList.add(activeClass),badgeElement}_updateRenderedContent(newContent){let newContentNormalized=`${newContent??""}`.trim();this._isInitialized&&newContentNormalized&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement()),this._badgeElement&&(this._badgeElement.textContent=newContentNormalized),this._content=newContentNormalized}_updateDescription(newDescription){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description),(!newDescription||this._isHostInteractive())&&this._removeInlineDescription(),this._description=newDescription,this._isHostInteractive()?this._ariaDescriber.describe(this._elementRef.nativeElement,newDescription):this._updateInlineDescription()}_updateInlineDescription(){this._inlineBadgeDescription||(this._inlineBadgeDescription=this._document.createElement("span"),this._inlineBadgeDescription.classList.add("cdk-visually-hidden")),this._inlineBadgeDescription.textContent=this.description,this._badgeElement?.appendChild(this._inlineBadgeDescription)}_removeInlineDescription(){this._inlineBadgeDescription?.remove(),this._inlineBadgeDescription=void 0}_setColor(colorPalette){let classList=this._elementRef.nativeElement.classList;classList.remove(`mat-badge-${this._color}`),colorPalette&&classList.add(`mat-badge-${colorPalette}`)}_clearExistingBadges(){let badges=this._elementRef.nativeElement.querySelectorAll(`:scope > .${BADGE_CONTENT_CLASS}`);for(let badgeElement of Array.from(badges))badgeElement!==this._badgeElement&&badgeElement.remove()}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatBadge2)};static \u0275dir=\u0275\u0275defineDirective({type:MatBadge2,selectors:[["","matBadge",""]],hostAttrs:[1,"mat-badge"],hostVars:20,hostBindings:function(rf,ctx){rf&2&&\u0275\u0275classProp("mat-badge-overlap",ctx.overlap)("mat-badge-above",ctx.isAbove())("mat-badge-below",!ctx.isAbove())("mat-badge-before",!ctx.isAfter())("mat-badge-after",ctx.isAfter())("mat-badge-small",ctx.size==="small")("mat-badge-medium",ctx.size==="medium")("mat-badge-large",ctx.size==="large")("mat-badge-hidden",ctx.hidden||!ctx.content)("mat-badge-disabled",ctx.disabled)},inputs:{color:[0,"matBadgeColor","color"],overlap:[2,"matBadgeOverlap","overlap",booleanAttribute],disabled:[2,"matBadgeDisabled","disabled",booleanAttribute],position:[0,"matBadgePosition","position"],content:[0,"matBadge","content"],description:[0,"matBadgeDescription","description"],size:[0,"matBadgeSize","size"],hidden:[2,"matBadgeHidden","hidden",booleanAttribute]}})}return MatBadge2})(),MatBadgeModule=(()=>{class MatBadgeModule2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatBadgeModule2)};static \u0275mod=\u0275\u0275defineNgModule({type:MatBadgeModule2});static \u0275inj=\u0275\u0275defineInjector({imports:[A11yModule,MatCommonModule,MatCommonModule]})}return MatBadgeModule2})();function CdkDialogContainer_ng_template_0_Template(rf,ctx){}var DialogConfig=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;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;componentFactoryResolver;providers;container;templateContext};var CdkDialogContainer=(()=>{class CdkDialogContainer2 extends BasePortalOutlet{_elementRef=inject(ElementRef);_focusTrapFactory=inject(FocusTrapFactory);_config;_interactivityChecker=inject(InteractivityChecker);_ngZone=inject(NgZone);_overlayRef=inject(OverlayRef);_focusMonitor=inject(FocusMonitor);_renderer=inject(Renderer2);_platform=inject(Platform);_document=inject(DOCUMENT2,{optional:!0});_portalOutlet;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_changeDetectorRef=inject(ChangeDetectorRef);_injector=inject(Injector);_isDestroyed=!1;constructor(){super(),this._config=inject(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._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){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(){this._isDestroyed||afterNextRender(()=>{let element=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||element.focus();break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement()||this._focusDialogContainer();break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus);break}},{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(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_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()))}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}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}"],encapsulation:2})}return CdkDialogContainer2})(),DialogRef=class{overlayRef;config;componentInstance;componentRef;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.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=overlayRef.detachments().subscribe(()=>{config2.closeOnOverlayDetachments!==!1&&this.close()})}close(result,options){if(this.containerInstance){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}},DIALOG_SCROLL_STRATEGY=new InjectionToken("DialogScrollStrategy",{providedIn:"root",factory:()=>{let overlay=inject(Overlay);return()=>overlay.scrollStrategies.block()}}),DIALOG_DATA=new InjectionToken("DialogData"),DEFAULT_DIALOG_CONFIG=new InjectionToken("DefaultDialogConfig");var Dialog=(()=>{class Dialog2{_overlay=inject(Overlay);_injector=inject(Injector);_defaultOptions=inject(DEFAULT_DIALOG_CONFIG,{optional:!0});_parentDialog=inject(Dialog2,{optional:!0,skipSelf:!0});_overlayContainer=inject(OverlayContainer);_idGenerator=inject(_IdGenerator);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new Subject;_afterOpenedAtThisLevel=new Subject;_ariaHiddenElements=new Map;_scrollStrategy=inject(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 defaults2=this._defaultOptions||new DialogConfig;config2=__spreadValues(__spreadValues({},defaults2),config2),config2.id=config2.id||this._idGenerator.getId("cdk-dialog-"),config2.id&&this.getDialogById(config2.id);let overlayConfig=this._getOverlayConfig(config2),overlayRef=this._overlay.create(overlayConfig),dialogRef=new DialogRef(overlayRef,config2),dialogContainer=this._attachContainer(overlayRef,dialogRef,config2);return dialogRef.containerInstance=dialogContainer,this._attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config2),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),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||this._overlay.position().global().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});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:{value:config2.direction,change:of()}}),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(){let overlayContainer=this._overlayContainer.getContainerElement();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")&&(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=inject(ANIMATION_MODULE_TYPE,{optional:!0})==="NoopAnimations";_animationState="void";_animationStateChanged=new EventEmitter;_destroyed;constructor(){super();let breakpointObserver=inject(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))})}_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)}"],encapsulation:2})}return MatBottomSheetContainer2})(),MAT_BOTTOM_SHEET_DATA=new InjectionToken("MatBottomSheetData"),MatBottomSheetConfig=class{viewContainerRef;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{_overlay=inject(Overlay);_parentBottomSheet=inject(MatBottomSheet2,{optional:!0,skipSelf:!0});_defaultOptions=inject(MAT_BOTTOM_SHEET_DEFAULT_OPTIONS,{optional:!0});_bottomSheetRefAtThisLevel=null;_dialog=inject(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||this._overlay.scrollStrategies.block(),positionStrategy:this._overlay.position().global().centerHorizontally().bottom("0"),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,MatCommonModule,PortalModule,MatCommonModule]})}return MatBottomSheetModule2})();var _c015=["button"],_c112=["*"];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_r1=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275property("disabled",ctx_r1.disabled)}}var MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS=new InjectionToken("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:MAT_BUTTON_TOGGLE_GROUP_DEFAULT_OPTIONS_FACTORY});function MAT_BUTTON_TOGGLE_GROUP_DEFAULT_OPTIONS_FACTORY(){return{hideSingleSelectionIndicator:!1,hideMultipleSelectionIndicator:!1,disabledInteractive:!1}}var 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=inject(ChangeDetectorRef);_elementRef=inject(ElementRef);_focusMonitor=inject(FocusMonitor);_idGenerator=inject(_IdGenerator);_animationMode=inject(ANIMATION_MODULE_TYPE,{optional:!0});_checked=!1;ariaLabel;ariaLabelledby=null;_buttonElement;buttonToggleGroup;get buttonId(){return`${this.id}-button`}id;name;value;get tabIndex(){return this._tabIndex}set tabIndex(value){value!==this._tabIndex&&(this._tabIndex=value,this._markForCheck())}_tabIndex;disableRipple;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(){inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);let toggleGroup=inject(MAT_BUTTON_TOGGLE_GROUP,{optional:!0}),defaultTabIndex=inject(new HostAttributeToken("tabindex"),{optional:!0})||"",defaultOptions2=inject(MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,{optional:!0});this._tabIndex=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._animationMode!=="NoopAnimations"&&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(_c015,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:_c112,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){let _r1=\u0275\u0275getCurrentView();\u0275\u0275projectionDef(),\u0275\u0275elementStart(0,"button",1,0),\u0275\u0275listener("click",function(){return \u0275\u0275restoreView(_r1),\u0275\u0275resetView(ctx._onButtonClick())}),\u0275\u0275template(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)}if(rf&2){let button_r3=\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_r3)("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);transform:translateZ(0);border-radius:var(--mat-legacy-button-toggle-shape)}.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-standard-button-toggle-shape, var(--mat-sys-corner-full));border:solid 1px var(--mat-standard-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-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-standard-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-legacy-button-toggle-text-color);font-family:var(--mat-legacy-button-toggle-label-text-font);font-size:var(--mat-legacy-button-toggle-label-text-size);line-height:var(--mat-legacy-button-toggle-label-text-line-height);font-weight:var(--mat-legacy-button-toggle-label-text-weight);letter-spacing:var(--mat-legacy-button-toggle-label-text-tracking);--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-legacy-button-toggle-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-legacy-button-toggle-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-legacy-button-toggle-selected-state-text-color);background-color:var(--mat-legacy-button-toggle-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-legacy-button-toggle-disabled-state-text-color);background-color:var(--mat-legacy-button-toggle-disabled-state-background-color);--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-legacy-button-toggle-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-legacy-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-standard-button-toggle-text-color, var(--mat-sys-on-surface));background-color:var(--mat-standard-button-toggle-background-color, transparent);font-family:var(--mat-standard-button-toggle-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-standard-button-toggle-label-text-size, var(--mat-sys-label-large-size));line-height:var(--mat-standard-button-toggle-label-text-line-height, var(--mat-sys-label-large-line-height));font-weight:var(--mat-standard-button-toggle-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-standard-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-standard-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-standard-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-standard-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-standard-button-toggle-selected-state-background-color, var(--mat-sys-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-standard-button-toggle-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-standard-button-toggle-disabled-state-background-color, transparent)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-standard-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-standard-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-standard-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-standard-button-toggle-state-layer-color, var(--mat-sys-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-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-standard-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-legacy-button-toggle-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-standard-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-legacy-button-toggle-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-standard-button-toggle-shape, var(--mat-sys-corner-full))}.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-standard-button-toggle-shape, var(--mat-sys-corner-full));border-bottom-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-full))}.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-standard-button-toggle-shape, var(--mat-sys-corner-full));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-full))}.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-standard-button-toggle-shape, var(--mat-sys-corner-full));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-full))}.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-standard-button-toggle-shape, var(--mat-sys-corner-full));border-top-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-full))}"],encapsulation:2,changeDetection:0})}return MatButtonToggle2})(),MatButtonToggleModule=(()=>{class MatButtonToggleModule2{static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatButtonToggleModule2)};static \u0275mod=\u0275\u0275defineNgModule({type:MatButtonToggleModule2});static \u0275inj=\u0275\u0275defineInjector({imports:[MatCommonModule,MatRippleModule,MatButtonToggle,MatCommonModule]})}return MatButtonToggleModule2})();var _c016=["mat-calendar-body",""];function _forTrack0($index,$item){return this._trackRow($item)}var _forTrack1=($index,$item)=>$item.id;function MatCalendarBody_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"tr",0)(1,"td",3),\u0275\u0275text(2),\u0275\u0275elementEnd()()),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275styleProp("padding-top",ctx_r0._cellPadding)("padding-bottom",ctx_r0._cellPadding),\u0275\u0275attribute("colspan",ctx_r0.numCols),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",ctx_r0.label," ")}}function MatCalendarBody_For_2_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"td",3),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275styleProp("padding-top",ctx_r0._cellPadding)("padding-bottom",ctx_r0._cellPadding),\u0275\u0275attribute("colspan",ctx_r0._firstRowOffset),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",ctx_r0._firstRowOffset>=ctx_r0.labelMinRequiredCells?ctx_r0.label:""," ")}}function MatCalendarBody_For_2_For_3_Template(rf,ctx){if(rf&1){let _r2=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"td",6)(1,"button",7),\u0275\u0275listener("click",function($event){let item_r3=\u0275\u0275restoreView(_r2).$implicit,ctx_r0=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r0._cellClicked(item_r3,$event))})("focus",function($event){let item_r3=\u0275\u0275restoreView(_r2).$implicit,ctx_r0=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r0._emitActiveDateChange(item_r3,$event))}),\u0275\u0275elementStart(2,"span",8),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275element(4,"span",9),\u0275\u0275elementEnd()()}if(rf&2){let item_r3=ctx.$implicit,\u0275$index_14_r4=ctx.$index,\u0275$index_7_r5=\u0275\u0275nextContext().$index,ctx_r0=\u0275\u0275nextContext();\u0275\u0275styleProp("width",ctx_r0._cellWidth)("padding-top",ctx_r0._cellPadding)("padding-bottom",ctx_r0._cellPadding),\u0275\u0275attribute("data-mat-row",\u0275$index_7_r5)("data-mat-col",\u0275$index_14_r4),\u0275\u0275advance(),\u0275\u0275classProp("mat-calendar-body-disabled",!item_r3.enabled)("mat-calendar-body-active",ctx_r0._isActiveCell(\u0275$index_7_r5,\u0275$index_14_r4))("mat-calendar-body-range-start",ctx_r0._isRangeStart(item_r3.compareValue))("mat-calendar-body-range-end",ctx_r0._isRangeEnd(item_r3.compareValue))("mat-calendar-body-in-range",ctx_r0._isInRange(item_r3.compareValue))("mat-calendar-body-comparison-bridge-start",ctx_r0._isComparisonBridgeStart(item_r3.compareValue,\u0275$index_7_r5,\u0275$index_14_r4))("mat-calendar-body-comparison-bridge-end",ctx_r0._isComparisonBridgeEnd(item_r3.compareValue,\u0275$index_7_r5,\u0275$index_14_r4))("mat-calendar-body-comparison-start",ctx_r0._isComparisonStart(item_r3.compareValue))("mat-calendar-body-comparison-end",ctx_r0._isComparisonEnd(item_r3.compareValue))("mat-calendar-body-in-comparison-range",ctx_r0._isInComparisonRange(item_r3.compareValue))("mat-calendar-body-preview-start",ctx_r0._isPreviewStart(item_r3.compareValue))("mat-calendar-body-preview-end",ctx_r0._isPreviewEnd(item_r3.compareValue))("mat-calendar-body-in-preview",ctx_r0._isInPreview(item_r3.compareValue)),\u0275\u0275property("ngClass",item_r3.cssClasses)("tabindex",ctx_r0._isActiveCell(\u0275$index_7_r5,\u0275$index_14_r4)?0:-1),\u0275\u0275attribute("aria-label",item_r3.ariaLabel)("aria-disabled",!item_r3.enabled||null)("aria-pressed",ctx_r0._isSelected(item_r3.compareValue))("aria-current",ctx_r0.todayValue===item_r3.compareValue?"date":null)("aria-describedby",ctx_r0._getDescribedby(item_r3.compareValue)),\u0275\u0275advance(),\u0275\u0275classProp("mat-calendar-body-selected",ctx_r0._isSelected(item_r3.compareValue))("mat-calendar-body-comparison-identical",ctx_r0._isComparisonIdentical(item_r3.compareValue))("mat-calendar-body-today",ctx_r0.todayValue===item_r3.compareValue),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",item_r3.displayValue," ")}}function MatCalendarBody_For_2_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"tr",1),\u0275\u0275template(1,MatCalendarBody_For_2_Conditional_1_Template,2,6,"td",4),\u0275\u0275repeaterCreate(2,MatCalendarBody_For_2_For_3_Template,5,48,"td",5,_forTrack1),\u0275\u0275elementEnd()),rf&2){let row_r6=ctx.$implicit,\u0275$index_7_r5=ctx.$index,ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275conditional(\u0275$index_7_r5===0&&ctx_r0._firstRowOffset?1:-1),\u0275\u0275advance(),\u0275\u0275repeater(row_r6)}}function MatMonthView_For_4_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"th",2)(1,"span",6),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"span",3),\u0275\u0275text(4),\u0275\u0275elementEnd()()),rf&2){let day_r1=ctx.$implicit;\u0275\u0275advance(2),\u0275\u0275textInterpolate(day_r1.long),\u0275\u0275advance(2),\u0275\u0275textInterpolate(day_r1.narrow)}}var _c113=["*"];function MatCalendar_ng_template_0_Template(rf,ctx){}function MatCalendar_Case_2_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-month-view",4),\u0275\u0275twoWayListener("activeDateChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275twoWayBindingSet(ctx_r1.activeDate,$event)||(ctx_r1.activeDate=$event),\u0275\u0275resetView($event)}),\u0275\u0275listener("_userSelection",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._dateSelected($event))})("dragStarted",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._dragStarted($event))})("dragEnded",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._dragEnded($event))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275twoWayProperty("activeDate",ctx_r1.activeDate),\u0275\u0275property("selected",ctx_r1.selected)("dateFilter",ctx_r1.dateFilter)("maxDate",ctx_r1.maxDate)("minDate",ctx_r1.minDate)("dateClass",ctx_r1.dateClass)("comparisonStart",ctx_r1.comparisonStart)("comparisonEnd",ctx_r1.comparisonEnd)("startDateAccessibleName",ctx_r1.startDateAccessibleName)("endDateAccessibleName",ctx_r1.endDateAccessibleName)("activeDrag",ctx_r1._activeDrag)}}function MatCalendar_Case_3_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-year-view",5),\u0275\u0275twoWayListener("activeDateChange",function($event){\u0275\u0275restoreView(_r3);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275twoWayBindingSet(ctx_r1.activeDate,$event)||(ctx_r1.activeDate=$event),\u0275\u0275resetView($event)}),\u0275\u0275listener("monthSelected",function($event){\u0275\u0275restoreView(_r3);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._monthSelectedInYearView($event))})("selectedChange",function($event){\u0275\u0275restoreView(_r3);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._goToDateInView($event,"month"))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275twoWayProperty("activeDate",ctx_r1.activeDate),\u0275\u0275property("selected",ctx_r1.selected)("dateFilter",ctx_r1.dateFilter)("maxDate",ctx_r1.maxDate)("minDate",ctx_r1.minDate)("dateClass",ctx_r1.dateClass)}}function MatCalendar_Case_4_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-multi-year-view",6),\u0275\u0275twoWayListener("activeDateChange",function($event){\u0275\u0275restoreView(_r4);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275twoWayBindingSet(ctx_r1.activeDate,$event)||(ctx_r1.activeDate=$event),\u0275\u0275resetView($event)}),\u0275\u0275listener("yearSelected",function($event){\u0275\u0275restoreView(_r4);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._yearSelectedInMultiYearView($event))})("selectedChange",function($event){\u0275\u0275restoreView(_r4);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1._goToDateInView($event,"year"))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275twoWayProperty("activeDate",ctx_r1.activeDate),\u0275\u0275property("selected",ctx_r1.selected)("dateFilter",ctx_r1.dateFilter)("maxDate",ctx_r1.maxDate)("minDate",ctx_r1.minDate)("dateClass",ctx_r1.dateClass)}}function MatDatepickerContent_ng_template_2_Template(rf,ctx){}var _c29=["button"],_c36=[[["","matDatepickerToggleIcon",""]]],_c44=["[matDatepickerToggleIcon]"];function MatDatepickerToggle_Conditional_2_Template(rf,ctx){rf&1&&(\u0275\u0275namespaceSVG(),\u0275\u0275elementStart(0,"svg",2),\u0275\u0275element(1,"path",3),\u0275\u0275elementEnd())}var MatDatepickerIntl=(()=>{class MatDatepickerIntl2{changes=new Subject;calendarLabel="Calendar";openCalendarLabel="Open calendar";closeCalendarLabel="Close calendar";prevMonthLabel="Previous month";nextMonthLabel="Next month";prevYearLabel="Previous year";nextYearLabel="Next year";prevMultiYearLabel="Previous 24 years";nextMultiYearLabel="Next 24 years";switchToMonthViewLabel="Choose date";switchToMultiYearViewLabel="Choose month and year";startDateLabel="Start date";endDateLabel="End date";comparisonDateLabel="Comparison range";formatYearRange(start,end){return`${start} \u2013 ${end}`}formatYearRangeLabel(start,end){return`${start} to ${end}`}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatDatepickerIntl2)};static \u0275prov=\u0275\u0275defineInjectable({token:MatDatepickerIntl2,factory:MatDatepickerIntl2.\u0275fac,providedIn:"root"})}return MatDatepickerIntl2})(),uniqueIdCounter$1=0,MatCalendarCell=class{value;displayValue;ariaLabel;enabled;cssClasses;compareValue;rawValue;id=uniqueIdCounter$1++;constructor(value,displayValue,ariaLabel,enabled,cssClasses={},compareValue=value,rawValue2){this.value=value,this.displayValue=displayValue,this.ariaLabel=ariaLabel,this.enabled=enabled,this.cssClasses=cssClasses,this.compareValue=compareValue,this.rawValue=rawValue2}},activeCapturingEventOptions2={passive:!1,capture:!0},passiveCapturingEventOptions2={passive:!0,capture:!0},passiveEventOptions={passive:!0},MatCalendarBody=(()=>{class MatCalendarBody2{_elementRef=inject(ElementRef);_ngZone=inject(NgZone);_platform=inject(Platform);_intl=inject(MatDatepickerIntl);_eventCleanups;_skipNextFocus;_focusActiveCellAfterViewChecked=!1;label;rows;todayValue;startValue;endValue;labelMinRequiredCells;numCols=7;activeCell=0;ngAfterViewChecked(){this._focusActiveCellAfterViewChecked&&(this._focusActiveCell(),this._focusActiveCellAfterViewChecked=!1)}isRange=!1;cellAspectRatio=1;comparisonStart;comparisonEnd;previewStart=null;previewEnd=null;startDateAccessibleName;endDateAccessibleName;selectedValueChange=new EventEmitter;previewChange=new EventEmitter;activeDateChange=new EventEmitter;dragStarted=new EventEmitter;dragEnded=new EventEmitter;_firstRowOffset;_cellPadding;_cellWidth;_startDateLabelId;_endDateLabelId;_comparisonStartDateLabelId;_comparisonEndDateLabelId;_didDragSinceMouseDown=!1;_injector=inject(Injector);comparisonDateAccessibleName=this._intl.comparisonDateLabel;_trackRow=row=>row;constructor(){let renderer=inject(Renderer2),idGenerator=inject(_IdGenerator);this._startDateLabelId=idGenerator.getId("mat-calendar-body-start-"),this._endDateLabelId=idGenerator.getId("mat-calendar-body-end-"),this._comparisonStartDateLabelId=idGenerator.getId("mat-calendar-body-comparison-start-"),this._comparisonEndDateLabelId=idGenerator.getId("mat-calendar-body-comparison-end-"),inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader),this._ngZone.runOutsideAngular(()=>{let element=this._elementRef.nativeElement,cleanups=[_bindEventWithOptions(renderer,element,"touchmove",this._touchmoveHandler,activeCapturingEventOptions2),_bindEventWithOptions(renderer,element,"mouseenter",this._enterHandler,passiveCapturingEventOptions2),_bindEventWithOptions(renderer,element,"focus",this._enterHandler,passiveCapturingEventOptions2),_bindEventWithOptions(renderer,element,"mouseleave",this._leaveHandler,passiveCapturingEventOptions2),_bindEventWithOptions(renderer,element,"blur",this._leaveHandler,passiveCapturingEventOptions2),_bindEventWithOptions(renderer,element,"mousedown",this._mousedownHandler,passiveEventOptions),_bindEventWithOptions(renderer,element,"touchstart",this._mousedownHandler,passiveEventOptions)];this._platform.isBrowser&&cleanups.push(renderer.listen("window","mouseup",this._mouseupHandler),renderer.listen("window","touchend",this._touchendHandler)),this._eventCleanups=cleanups})}_cellClicked(cell,event){this._didDragSinceMouseDown||cell.enabled&&this.selectedValueChange.emit({value:cell.value,event})}_emitActiveDateChange(cell,event){cell.enabled&&this.activeDateChange.emit({value:cell.value,event})}_isSelected(value){return this.startValue===value||this.endValue===value}ngOnChanges(changes){let columnChanges=changes.numCols,{rows,numCols}=this;(changes.rows||columnChanges)&&(this._firstRowOffset=rows&&rows.length&&rows[0].length?numCols-rows[0].length:0),(changes.cellAspectRatio||columnChanges||!this._cellPadding)&&(this._cellPadding=`${50*this.cellAspectRatio/numCols}%`),(columnChanges||!this._cellWidth)&&(this._cellWidth=`${100/numCols}%`)}ngOnDestroy(){this._eventCleanups.forEach(cleanup=>cleanup())}_isActiveCell(rowIndex,colIndex){let cellNumber=rowIndex*this.numCols+colIndex;return rowIndex&&(cellNumber-=this._firstRowOffset),cellNumber==this.activeCell}_focusActiveCell(movePreview=!0){afterNextRender(()=>{setTimeout(()=>{let activeCell=this._elementRef.nativeElement.querySelector(".mat-calendar-body-active");activeCell&&(movePreview||(this._skipNextFocus=!0),activeCell.focus())})},{injector:this._injector})}_scheduleFocusActiveCellAfterViewChecked(){this._focusActiveCellAfterViewChecked=!0}_isRangeStart(value){return isStart(value,this.startValue,this.endValue)}_isRangeEnd(value){return isEnd(value,this.startValue,this.endValue)}_isInRange(value){return isInRange(value,this.startValue,this.endValue,this.isRange)}_isComparisonStart(value){return isStart(value,this.comparisonStart,this.comparisonEnd)}_isComparisonBridgeStart(value,rowIndex,colIndex){if(!this._isComparisonStart(value)||this._isRangeStart(value)||!this._isInRange(value))return!1;let previousCell=this.rows[rowIndex][colIndex-1];if(!previousCell){let previousRow=this.rows[rowIndex-1];previousCell=previousRow&&previousRow[previousRow.length-1]}return previousCell&&!this._isRangeEnd(previousCell.compareValue)}_isComparisonBridgeEnd(value,rowIndex,colIndex){if(!this._isComparisonEnd(value)||this._isRangeEnd(value)||!this._isInRange(value))return!1;let nextCell=this.rows[rowIndex][colIndex+1];if(!nextCell){let nextRow=this.rows[rowIndex+1];nextCell=nextRow&&nextRow[0]}return nextCell&&!this._isRangeStart(nextCell.compareValue)}_isComparisonEnd(value){return isEnd(value,this.comparisonStart,this.comparisonEnd)}_isInComparisonRange(value){return isInRange(value,this.comparisonStart,this.comparisonEnd,this.isRange)}_isComparisonIdentical(value){return this.comparisonStart===this.comparisonEnd&&value===this.comparisonStart}_isPreviewStart(value){return isStart(value,this.previewStart,this.previewEnd)}_isPreviewEnd(value){return isEnd(value,this.previewStart,this.previewEnd)}_isInPreview(value){return isInRange(value,this.previewStart,this.previewEnd,this.isRange)}_getDescribedby(value){if(!this.isRange)return null;if(this.startValue===value&&this.endValue===value)return`${this._startDateLabelId} ${this._endDateLabelId}`;if(this.startValue===value)return this._startDateLabelId;if(this.endValue===value)return this._endDateLabelId;if(this.comparisonStart!==null&&this.comparisonEnd!==null){if(value===this.comparisonStart&&value===this.comparisonEnd)return`${this._comparisonStartDateLabelId} ${this._comparisonEndDateLabelId}`;if(value===this.comparisonStart)return this._comparisonStartDateLabelId;if(value===this.comparisonEnd)return this._comparisonEndDateLabelId}return null}_enterHandler=event=>{if(this._skipNextFocus&&event.type==="focus"){this._skipNextFocus=!1;return}if(event.target&&this.isRange){let cell=this._getCellFromElement(event.target);cell&&this._ngZone.run(()=>this.previewChange.emit({value:cell.enabled?cell:null,event}))}};_touchmoveHandler=event=>{if(!this.isRange)return;let target=getActualTouchTarget(event),cell=target?this._getCellFromElement(target):null;target!==event.target&&(this._didDragSinceMouseDown=!0),getCellElement(event.target)&&event.preventDefault(),this._ngZone.run(()=>this.previewChange.emit({value:cell?.enabled?cell:null,event}))};_leaveHandler=event=>{this.previewEnd!==null&&this.isRange&&(event.type!=="blur"&&(this._didDragSinceMouseDown=!0),event.target&&this._getCellFromElement(event.target)&&!(event.relatedTarget&&this._getCellFromElement(event.relatedTarget))&&this._ngZone.run(()=>this.previewChange.emit({value:null,event})))};_mousedownHandler=event=>{if(!this.isRange)return;this._didDragSinceMouseDown=!1;let cell=event.target&&this._getCellFromElement(event.target);!cell||!this._isInRange(cell.compareValue)||this._ngZone.run(()=>{this.dragStarted.emit({value:cell.rawValue,event})})};_mouseupHandler=event=>{if(!this.isRange)return;let cellElement=getCellElement(event.target);if(!cellElement){this._ngZone.run(()=>{this.dragEnded.emit({value:null,event})});return}cellElement.closest(".mat-calendar-body")===this._elementRef.nativeElement&&this._ngZone.run(()=>{let cell=this._getCellFromElement(cellElement);this.dragEnded.emit({value:cell?.rawValue??null,event})})};_touchendHandler=event=>{let target=getActualTouchTarget(event);target&&this._mouseupHandler({target})};_getCellFromElement(element){let cell=getCellElement(element);if(cell){let row=cell.getAttribute("data-mat-row"),col=cell.getAttribute("data-mat-col");if(row&&col)return this.rows[parseInt(row)][parseInt(col)]}return null}static \u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MatCalendarBody2)};static \u0275cmp=\u0275\u0275defineComponent({type:MatCalendarBody2,selectors:[["","mat-calendar-body",""]],hostAttrs:[1,"mat-calendar-body"],inputs:{label:"label",rows:"rows",todayValue:"todayValue",startValue:"startValue",endValue:"endValue",labelMinRequiredCells:"labelMinRequiredCells",numCols:"numCols",activeCell:"activeCell",isRange:"isRange",cellAspectRatio:"cellAspectRatio",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd",previewStart:"previewStart",previewEnd:"previewEnd",startDateAccessibleName:"startDateAccessibleName",endDateAccessibleName:"endDateAccessibleName"},outputs:{selectedValueChange:"selectedValueChange",previewChange:"previewChange",activeDateChange:"activeDateChange",dragStarted:"dragStarted",dragEnded:"dragEnded"},exportAs:["matCalendarBody"],features:[\u0275\u0275NgOnChangesFeature],attrs:_c016,decls:11,vars:11,consts:[["aria-hidden","true"],["role","row"],[1,"mat-calendar-body-hidden-label",3,"id"],[1,"mat-calendar-body-label"],[1,"mat-calendar-body-label",3,"paddingTop","paddingBottom"],["role","gridcell",1,"mat-calendar-body-cell-container",3,"width","paddingTop","paddingBottom"],["role","gridcell",1,"mat-calendar-body-cell-container"],["type","button",1,"mat-calendar-body-cell",3,"click","focus","ngClass","tabindex"],[1,"mat-calendar-body-cell-content","mat-focus-indicator"],["aria-hidden","true",1,"mat-calendar-body-cell-preview"]],template:function(rf,ctx){rf&1&&(\u0275\u0275template(0,MatCalendarBody_Conditional_0_Template,3,6,"tr",0),\u0275\u0275repeaterCreate(1,MatCalendarBody_For_2_Template,4,1,"tr",1,_forTrack0,!0),\u0275\u0275elementStart(3,"span",2),\u0275\u0275text(4),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"span",2),\u0275\u0275text(6),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"span",2),\u0275\u0275text(8),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"span",2),\u0275\u0275text(10),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275conditional(ctx._firstRowOffset<ctx.labelMinRequiredCells?0:-1),\u0275\u0275advance(),\u0275\u0275repeater(ctx.rows),\u0275\u0275advance(2),\u0275\u0275property("id",ctx._startDateLabelId),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",ctx.startDateAccessibleName,`
54
54
  `),\u0275\u0275advance(),\u0275\u0275property("id",ctx._endDateLabelId),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",ctx.endDateAccessibleName,`
55
55
  `),\u0275\u0275advance(),\u0275\u0275property("id",ctx._comparisonStartDateLabelId),\u0275\u0275advance(),\u0275\u0275textInterpolate2(" ",ctx.comparisonDateAccessibleName," ",ctx.startDateAccessibleName,`
56
56
  `),\u0275\u0275advance(),\u0275\u0275property("id",ctx._comparisonEndDateLabelId),\u0275\u0275advance(),\u0275\u0275textInterpolate2(" ",ctx.comparisonDateAccessibleName," ",ctx.endDateAccessibleName,`