UNPKG

@mxtommy/kip

Version:

An advanced and versatile marine instrumentation package to display Signal K data.

4 lines 166 kB
import{a as Co,b as Mo,c as yo}from"./chunk-SHKAX4XV.js";import{a as tt,b as se}from"./chunk-AB7BX4CL.js";import{a as et,b as To,c as So,d as xo}from"./chunk-WE4P4WBD.js";import{a as Ae,b as Lt}from"./chunk-36TH3DJS.js";import{b as fo,c as go,d as Pt,e as ho,f as U,g as bo,h as _o,i as pt,j as ne,k as Ot}from"./chunk-QMIJ5LO6.js";import{g as Da,i as Ia,n as Oa,o as N,p as ae,q as uo,u as vo}from"./chunk-6QHCHGTT.js";import{a as Ja,b as eo,c as to,d as ve,e as Ce,g as ao,h as Me,i as ye,j as Te,k as $e,l as Se}from"./chunk-CD375FDG.js";import{a as je}from"./chunk-EQAHQINY.js";import{a as po}from"./chunk-7TWI6ZJI.js";import{A as Je,D as R,E as Ft,a as ke,d as Ga,e as Ea,f as ka,g as St,h as $t,i as xt,k as Fa,r as Pa,t as O,u as It,v as Qe,x as mo,z as L}from"./chunk-EQ5CPWIU.js";import{$a as Be,$b as X,$c as k,Aa as la,Ae as Ha,Bb as ua,Cc as te,Da as Ve,Dc as r,E as oa,Ea as M,Ec as x,Ee as Ka,Fa as y,Fc as Q,Fe as $a,Gc as Mt,H as Ht,Hb as v,Ib as ge,Ic as Ma,J as Oe,Jb as lt,Jc as ya,K as pe,Kb as fa,Kc as Ta,La as sa,Lb as ga,Ld as La,Md as Na,Me as Ya,N as ia,Nb as _,Ne as Za,O as bt,Oa as Y,Oc as dt,Od as Va,Pa as ca,Pc as yt,Pe as Xa,Q as Le,Ra as fe,Rc as We,Sa as f,Sc as qe,Se as Ke,T as na,Ta as rt,Td as Ba,Va as Z,Vd as Ra,Ve as Qa,We as Et,Xc as ze,Xe as V,Yb as le,Yd as At,Zb as d,Ze as E,_b as Ct,a as me,ac as Kt,af as I,b as Fe,bc as ha,bf as j,cd as Sa,cf as oo,dc as C,de as mt,df as io,eb as da,ec as G,ee as He,ef as no,f as gt,fa as Ne,fc as ba,fe as Ua,ff as ro,g as ht,ga as _t,gc as T,gf as H,hc as S,he as Yt,hf as lo,ia as ra,ic as n,ie as wt,if as kt,j as zt,jc as i,jf as xe,kc as g,ke as Gt,kf as ie,lc as _a,le as q,lf as K,m as it,mc as va,mf as so,na as vt,nc as Ca,nf as co,o as nt,oa as ee,oc as w,of as Ye,pa as ue,pf as Dt,qc as b,qd as xa,qf as Ze,ra as $,rc as u,rd as Aa,re as Wa,rf as F,sc as Re,sd as wa,se as qa,t as jt,tc as Ue,te as z,tf as Xe,ua as p,ub as s,uc as Ee,ud as Tt,ue as za,uf as B,vc as st,ve as _e,vf as P,wb as ma,wc as ct,xc as he,xe as ja,yb as pa,yc as be,ye as oe,z as Pe}from"./chunk-Y7X77HSW.js";var _r=(()=>{class o{_settings=p(St);_router=p(Ia);dashboards=Z([],{equal:$t});activeDashboard=Z(0);_widgetAction=new nt(null);widgetAction$=this._widgetAction.asObservable();_isDashboardStatic=new nt(!0);isDashboardStatic$=this._isDashboardStatic.asObservable();isDashboardStatic=Fa(this.isDashboardStatic$);blankDashboard=[{id:null,name:"Dashboard 1",configuration:[{w:12,h:12,id:"d1d58e6f-f8b4-4a72-9597-7f92aa6776fc",selector:"widget-tutorial",input:{widgetProperties:{type:"widget-tutorial",uuid:"d1d58e6f-f8b4-4a72-9597-7f92aa6776fc"}},x:0,y:0}]}];constructor(){let e=this._settings.getDashboardConfig();if(!e||e.length===0){console.warn("[Dashboard Service] No dashboards found in settings, creating blank dashboard");let t=this.blankDashboard.map(a=>Fe(me({},a),{id:ke.create()}));this.dashboards.set([...t])}else this.dashboards.set(this._settings.getDashboardConfig());Sa(()=>{this._settings.saveDashboards(this.dashboards())})}toggleStaticDashboard(){this._isDashboardStatic.next(!this._isDashboardStatic.value)}add(e,t){this.dashboards.update(a=>[...a,{id:ke.create(),name:e,configuration:t}])}update(e,t){this.dashboards.update(a=>a.map((l,m)=>m===e?Fe(me({},l),{name:t}):l))}delete(e){this.dashboards.update(t=>t.filter((a,l)=>l!==e)),this.dashboards().length===0?(this.add("Dashboard "+(this.dashboards().length+1),[]),this.activeDashboard.set(0)):this.activeDashboard()>this.dashboards().length-1&&this.activeDashboard.set(this.dashboards().length-1)}duplicate(e,t){if(e<0||e>=this.dashboards().length){console.error(`[Dashboard Service] Invalid itemIndex: ${e}`);return}let a=this.dashboards()[e],l=xt(a);l.id=ke.create(),l.name=t,Array.isArray(l.configuration)?l.configuration.forEach(m=>{m&&m.input?.widgetProperties?(m.id=ke.create(),m.input.widgetProperties.uuid=m.id):console.error("Dashboard Service] Widget configuration is missing required properties:",m)}):(console.error("Dashboard Service] Dashboard configuration is not an array:",l.configuration),l.configuration=[]),this.dashboards.update(m=>[...m,l])}updateConfiguration(e,t){this.dashboards.update(a=>a.map((l,m)=>m===e?$t(l.configuration,t)?l:Fe(me({},l),{configuration:t}):l))}previousDashboard(){this.activeDashboard()+1>this.dashboards().length-1?this.activeDashboard.set(0):this.activeDashboard.set(this.activeDashboard()+1)}nextDashboard(){this.activeDashboard()-1<0?this.activeDashboard.set(this.dashboards().length-1):this.activeDashboard.set(this.activeDashboard()-1)}navigateToActive(){this._router.navigate(["/dashboard",this.activeDashboard()])}navigateTo(e){e<0||e>this.dashboards().length-1||this._router.navigate(["/dashboard",e])}deleteWidget(e){this._widgetAction.next({id:e,operation:"delete"})}duplicateWidget(e){this._widgetAction.next({id:e,operation:"duplicate"})}setStaticDashboard(e){this._isDashboardStatic.next(e)}static \u0275fac=function(t){return new(t||o)};static \u0275prov=ee({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();function ri(o,c){o&1&&Ca(0)}var wo=(()=>{class o{data=p(Ce);static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["dialog-frame"]],decls:8,vars:3,consts:[[1,"dialogue-header"],["mat-dialog-title",""],["mat-icon-button","",1,"dialog-close-icon",3,"mat-dialog-close"],[1,"dialog-content-padding"],[4,"ngComponentOutlet"]],template:function(t,a){t&1&&(n(0,"div",0)(1,"h6",1),r(2),i(),n(3,"button",2)(4,"mat-icon"),r(5,"close"),i()()(),n(6,"mat-dialog-content",3),_(7,ri,1,0,"ng-container",4),i()),t&2&&(s(2),x(a.data.title),s(),d("mat-dialog-close",!1),s(4),d("ngComponentOutlet",a.data.componentType))},dependencies:[N,Se,Me,ye,Te,oe,z,xa],styles:[".dialogue-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:baseline}.dialog-close-icon[_ngcontent-%COMP%]{margin-right:15px}.mat-mdc-dialog-content[_ngcontent-%COMP%]{max-height:max-content}.dialog-content-padding[_ngcontent-%COMP%]{--mat-dialog-content-padding: 0px 24px 20px 24px}"]})}return o})();function li(o,c){if(o&1&&(n(0,"button",4),r(1),i()),o&2){let e=u();d("mat-dialog-close",!0),s(),x(e.data.confirmBtnText)}}var Go=(()=>{class o{data=p(Ce);static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["dialog-confirmation"]],decls:12,vars:6,consts:[[1,"dialogue-header"],["mat-dialog-title",""],["mat-icon-button","",1,"dialog-close-icon",3,"mat-dialog-close"],["align","end"],["mat-flat-button","",3,"mat-dialog-close"]],template:function(t,a){t&1&&(n(0,"div",0)(1,"h5",1),r(2),i(),n(3,"button",2)(4,"mat-icon"),r(5,"close"),i()()(),n(6,"mat-dialog-content"),r(7),i(),n(8,"mat-dialog-actions",3)(9,"button",4),r(10),i(),_(11,li,2,2,"button",4),i()),t&2&&(s(2),x(a.data.title),s(),d("mat-dialog-close",!1),s(4),Q(" ",a.data.message,` `),s(2),d("mat-dialog-close",!1),s(),x(a.data.cancelBtnText),s(),C(a.data.confirmBtnText?11:-1))},dependencies:[N,Se,Me,ye,$e,Te,oe,_e,z],styles:[".dialogue-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:baseline}.dialog-close-icon[_ngcontent-%COMP%]{margin-right:15px}.mat-mdc-dialog-content[_ngcontent-%COMP%]{max-height:max-content}"]})}return o})();function ci(o,c){if(o&1&&(n(0,"button",9),r(1),i()),o&2){let e=u(),t=te(1);d("disabled",!t.valid),s(),x(e.data.confirmBtnText)}}var ko=(()=>{class o{dialogRef=p(ve);data=p(Ce);saveName(){this.dialogRef.close(this.data)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["dialog-name"]],decls:19,vars:6,consts:[["name","ngForm"],["name","name",3,"ngSubmit"],[1,"dialogue-header"],["mat-dialog-title",""],["mat-icon-button","",1,"dialog-close-icon",3,"mat-dialog-close"],[1,"field-margin"],["matInput","","type","text","id","name","placeholder","Name","name","name","required","","cdkFocusInitial","",3,"ngModelChange","ngModel"],["align","end"],["mat-flat-button","",3,"mat-dialog-close"],["mat-flat-button","","type","submit",3,"disabled"]],template:function(t,a){if(t&1){let l=w();n(0,"form",1,0),b("ngSubmit",function(){return M(l),y(a.saveName())}),n(2,"div",2)(3,"h5",3),r(4),i(),n(5,"button",4)(6,"mat-icon"),r(7,"close"),i()()(),n(8,"mat-dialog-content")(9,"mat-form-field",5)(10,"mat-label"),r(11,"Name"),i(),n(12,"input",6),Ta("ngModelChange",function(h){return M(l),ya(a.data.name,h)||(a.data.name=h),y(h)}),i(),n(13,"mat-error"),r(14," A name is required "),i()()(),n(15,"mat-dialog-actions",7)(16,"button",8),r(17),i(),_(18,ci,2,2,"button",9),i()()}t&2&&(s(4),x(a.data.title),s(),d("mat-dialog-close",!1),s(7),Ma("ngModel",a.data.name),s(4),d("mat-dialog-close",!1),s(),x(a.data.cancelBtnText),s(),C(a.data.confirmBtnText?18:-1))},dependencies:[Se,Me,ye,$e,Te,ae,N,Je,L,O,It,Ft,R,oe,_e,z,B,kt,V,I,j,F,lo,no],styles:[".dialogue-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:baseline}.dialog-close-icon[_ngcontent-%COMP%]{margin-right:15px}.mat-mdc-dialog-content[_ngcontent-%COMP%]{max-height:max-content}.field-margin[_ngcontent-%COMP%]{margin-left:15px;margin-bottom:15px}"]})}return o})();function mi(o,c){if(o&1&&(n(0,"mat-option",12),r(1),i()),o&2){let e=c.$implicit;Ee("value",e.value),s(),x(e.label)}}function pi(o,c){if(o&1){let e=w();n(0,"button",21),b("click",function(){M(e);let a=u();return y(a.moveCtrlUp())}),n(1,"mat-icon"),r(2,"arrow_drop_up"),i()()}}function ui(o,c){if(o&1){let e=w();n(0,"button",22),b("click",function(){M(e);let a=u();return y(a.moveCtrlDown())}),n(1,"mat-icon"),r(2,"arrow_drop_down"),i()()}}var Do=(()=>{class o{app=p(je);ctrlFormGroup=f.required();controlIndex=f(void 0);arrayLength=f(void 0);deleteCtrl=fe();moveUp=fe();moveDown=fe();colors=[];ngOnInit(){this.colors=this.app.configurableThemeColors}deleteControl(){let e={ctrlIndex:this.controlIndex(),pathID:this.ctrlFormGroup().get("pathID").value};this.deleteCtrl.emit(e)}moveCtrlUp(){this.moveUp.emit(this.controlIndex())}moveCtrlDown(){this.moveDown.emit(this.controlIndex())}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["boolean-control-config"]],inputs:{ctrlFormGroup:[1,"ctrlFormGroup"],controlIndex:[1,"controlIndex"],arrayLength:[1,"arrayLength"]},outputs:{deleteCtrl:"deleteCtrl",moveUp:"moveUp",moveDown:"moveDown"},decls:36,vars:3,consts:[[1,"ctrl-grid","rounded-card","rounded-card-color",3,"formGroup"],[1,"controls","flex-container"],[1,"flex-label"],[1,"full-width"],["matInput","","type","string","placeholder","Enter a display label...","formControlName","ctrlLabel"],[1,"flex-settings"],[1,"settings"],["placeholder","Select Type...","formControlName","type","name","type","required",""],["value","1"],["value","2"],["value","3"],["placeholder","Select Color...","formControlName","color","name","color","required",""],[3,"value"],[1,"flex-full-width"],["formControlName","isNumeric"],[1,"actions"],[1,"flex-actions"],[1,"btn-grid"],["mat-icon-button","","type","button","aria-label","Move control up in the list",1,"up"],["mat-icon-button","","type","button","aria-label","Move control down in the list",1,"down"],["mat-icon-button","","type","button","aria-label","Delete control",1,"delete",3,"click"],["mat-icon-button","","type","button","aria-label","Move control up in the list",1,"up",3,"click"],["mat-icon-button","","type","button","aria-label","Move control down in the list",1,"down",3,"click"]],template:function(t,a){t&1&&(n(0,"div",0)(1,"div",1)(2,"div",2)(3,"mat-form-field",3)(4,"mat-label"),r(5,"Label"),i(),g(6,"input",4),i()(),n(7,"div",5)(8,"mat-form-field",6)(9,"mat-label"),r(10,"Type"),i(),n(11,"mat-select",7)(12,"mat-option",8),r(13,"Toggle"),i(),n(14,"mat-option",9),r(15,"Push"),i(),n(16,"mat-option",10),r(17,"Indicator"),i()()()(),n(18,"div",5)(19,"mat-form-field",6)(20,"mat-label"),r(21,"Color"),i(),n(22,"mat-select",11),T(23,mi,2,2,"mat-option",12,G),i()()(),n(25,"div",13)(26,"mat-checkbox",14),r(27," Use numeric path "),i()()(),n(28,"div",15)(29,"div",16)(30,"div",17),_(31,pi,3,0,"button",18)(32,ui,3,0,"button",19),n(33,"button",20),b("click",function(){return a.deleteControl()}),n(34,"mat-icon"),r(35,"delete"),i()()()()()()),t&2&&(d("formGroup",a.ctrlFormGroup()),s(23),S(a.colors),s(8),C(a.controlIndex()!==0?31:-1),s(),C(a.controlIndex()!==a.arrayLength()-1?32:-1))},dependencies:[B,V,I,j,F,P,K,Ye,L,O,R,ne,U,z,Lt,Ae,ae,N],styles:['.ctrl-grid[_ngcontent-%COMP%]{display:grid;width:auto;height:auto;margin:0 0 10px;grid-template-columns:[col-start] calc(100% - 90px) [col1-end] 80px [col2-end];grid-template-areas:"controls actions";row-gap:0px;column-gap:10px;justify-items:center;align-items:center;justify-content:center;align-content:center;padding-top:20px}.controls[_ngcontent-%COMP%]{grid-area:controls;width:100%}.actions[_ngcontent-%COMP%]{grid-area:actions}.btn-grid[_ngcontent-%COMP%]{display:grid;width:80px;height:80px;margin:0;grid-template-columns:[col-start] 50% [col1-end] 50% [col2-end];grid-template-rows:[row-start] 50% [row1-end] 50% [row2-end];grid-template-areas:"up delete" "down delete";row-gap:0px;column-gap:0px;justify-items:center;align-items:center;justify-content:center;align-content:center}.up[_ngcontent-%COMP%]{grid-area:up}.down[_ngcontent-%COMP%]{grid-area:down}.delete[_ngcontent-%COMP%]{grid-area:delete}.flex-label[_ngcontent-%COMP%]{flex-grow:2;flex-shrink:2}.flex-settings[_ngcontent-%COMP%]{flex-grow:1;flex-shrink:1}.settings[_ngcontent-%COMP%]{min-width:100px}.flex-actions[_ngcontent-%COMP%]{flex-grow:0;flex-shrink:0}.flex-full-width[_ngcontent-%COMP%]{width:100%}']})}return o})();function fi(o,c){if(o&1){let e=w();n(0,"boolean-control-config",4),b("moveUp",function(a){M(e);let l=u();return y(l.moveUp(a))})("moveDown",function(a){M(e);let l=u();return y(l.moveDown(a))})("deleteCtrl",function(a){M(e);let l=u();return y(l.deletePath(a))}),i()}if(o&2){let e=c.$implicit,t=c.$index,a=u();d("ctrlFormGroup",a.getFormGroup(e))("controlIndex",t)("arrayLength",a.arrayLength)}}var Io=(()=>{class o{fb=p(Xe);multiCtrlArray=f.required();addPath=fe();updatePath=fe();delPath=fe();multiFormGroup=null;arrayLength=0;multiCtrlArraySubscription=null;ngOnInit(){this.arrayLength=this.multiCtrlArray().length,this.multiFormGroup=new oo({multiCtrlArray:this.multiCtrlArray()}),this.multiCtrlArraySubscription=this.multiCtrlArray().valueChanges.pipe(bt(350)).subscribe(e=>{this.updatePath.emit(e)})}addCtrlGroup(){let e=ke.create();this.multiCtrlArray().push(this.fb.group({ctrlLabel:[null,E.required],type:["1",E.required],pathID:[e],color:["contrast"],isNumeric:[!1],value:[null]})),this.arrayLength=this.multiCtrlArray().length;let t={path:{description:null,path:null,pathID:e,source:"default",pathType:"boolean",supportsPut:!0,isPathConfigurable:!0,showPathSkUnitsFilter:!1,pathSkUnitsFilter:"unitless",convertUnitTo:"unitless",sampleTime:500},ctrlType:1};this.addPath.emit(t)}moveUp(e){let t=this.multiCtrlArray().at(e);this.multiCtrlArray().removeAt(e,{emitEvent:!1}),this.multiCtrlArray().insert(e-1,t,{emitEvent:!1})}moveDown(e){let t=this.multiCtrlArray().at(e);this.multiCtrlArray().removeAt(e,{emitEvent:!1}),this.multiCtrlArray().insert(e+1,t,{emitEvent:!1})}deletePath(e){this.delPath.emit(e),this.arrayLength=this.multiCtrlArray().length}getFormGroup(e){return e}ngOnDestroy(){this.multiCtrlArraySubscription?.unsubscribe()}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["boolean-multicontrol-options"]],inputs:{multiCtrlArray:[1,"multiCtrlArray"]},outputs:{addPath:"addPath",updatePath:"updatePath",delPath:"delPath"},decls:7,vars:1,consts:[[3,"formGroup"],["formArrayName","multiCtrlArray"],[1,"full-width",3,"ctrlFormGroup","controlIndex","arrayLength"],["type","button","mat-mini-fab","","color","primary","aria-label","Add control down in the list",1,"add-btn",3,"click"],[1,"full-width",3,"moveUp","moveDown","deleteCtrl","ctrlFormGroup","controlIndex","arrayLength"]],template:function(t,a){t&1&&(n(0,"div",0)(1,"div",1),T(2,fi,1,3,"boolean-control-config",2,ba),n(4,"button",3),b("click",function(){return a.addCtrlGroup()}),n(5,"mat-icon"),r(6,"add"),i()()()()),t&2&&(d("formGroup",a.multiFormGroup),s(2),S(a.multiCtrlArray().controls))},dependencies:[B,j,P,K,co,Do,oe,ja,ae,N],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%;padding-top:15px;padding-bottom:15px}.add-btn[_ngcontent-%COMP%]{margin-left:calc(50% - 20px)}"]})}return o})();var gi=["*"];var hi=new $("MAT_CARD_CONFIG"),_l=(()=>{class o{appearance;constructor(){let e=p(hi,{optional:!0});this.appearance=e?.appearance||"raised"}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:4,hostBindings:function(t,a){t&2&&X("mat-mdc-card-outlined",a.appearance==="outlined")("mdc-card--outlined",a.appearance==="outlined")},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:gi,decls:1,vars:0,template:function(t,a){t&1&&(Re(),Ue(0))},styles:[`.mat-mdc-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:0;background-color:var(--mdc-elevated-card-container-color, var(--mat-sys-surface-container-low));border-color:var(--mdc-elevated-card-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mdc-elevated-card-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mdc-elevated-card-container-elevation, var(--mat-sys-level1))}.mat-mdc-card::after{position:absolute;top:0;left:0;width:100%;height:100%;border:solid 1px rgba(0,0,0,0);content:"";display:block;pointer-events:none;box-sizing:border-box;border-radius:var(--mdc-elevated-card-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mdc-outlined-card-container-color, var(--mat-sys-surface));border-radius:var(--mdc-outlined-card-container-shape, var(--mat-sys-corner-medium));border-width:var(--mdc-outlined-card-outline-width, 1px);border-color:var(--mdc-outlined-card-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mdc-outlined-card-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-mdc-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font, var(--mat-sys-title-large-font));line-height:var(--mat-card-title-text-line-height, var(--mat-sys-title-large-line-height));font-size:var(--mat-card-title-text-size, var(--mat-sys-title-large-size));letter-spacing:var(--mat-card-title-text-tracking, var(--mat-sys-title-large-tracking));font-weight:var(--mat-card-title-text-weight, var(--mat-sys-title-large-weight))}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color, var(--mat-sys-on-surface));font-family:var(--mat-card-subtitle-text-font, var(--mat-sys-title-medium-font));line-height:var(--mat-card-subtitle-text-line-height, var(--mat-sys-title-medium-line-height));font-size:var(--mat-card-subtitle-text-size, var(--mat-sys-title-medium-size));letter-spacing:var(--mat-card-subtitle-text-tracking, var(--mat-sys-title-medium-tracking));font-weight:var(--mat-card-subtitle-text-weight, var(--mat-sys-title-medium-weight))}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.mat-mdc-card-actions-align-end{justify-content:flex-end} `],encapsulation:2,changeDetection:0})}return o})();var Fo=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=ge({type:o});static \u0275inj=ue({imports:[q,q]})}return o})();function bi(o,c){if(o&1&&(n(0,"mat-option",8),r(1),i()),o&2){let e=c.$implicit;Ee("value",e.value),s(),x(e.label)}}var Oo=(()=>{class o{dsService=p(et);app=p(je);displayName=f.required();showLabel=f.required();convertUnitTo=f.required();datasetUUID=f.required();datasetAverageArray=f.required();showAverageData=f.required();trackAgainstAverage=f.required();showDatasetMinimumValueLine=f.required();showDatasetMaximumValueLine=f.required();showDatasetAverageValueLine=f.required();showDatasetAngleAverageValueLine=f.required();verticalGraph=f.required();showTimeScale=f.required();showYScale=f.required();startScaleAtZero=f.required();yScaleSuggestedMin=f.required();yScaleSuggestedMax=f.required();enableMinMaxScaleLimit=f.required();yScaleMin=f.required();yScaleMax=f.required();numDecimal=f.required();color=f.required();colors=[];ngOnInit(){this.colors=this.app.configurableThemeColors,this.showAverageData().value||this.trackAgainstAverage().disable(),this.setValueScaleOptionsControls(this.enableMinMaxScaleLimit().value)}setValueScaleOptionsControls(e){e?(this.yScaleMin()?.enable(),this.yScaleMax()?.enable(),this.yScaleSuggestedMin()?.disable(),this.yScaleSuggestedMax()?.disable()):(this.yScaleMin()?.disable(),this.yScaleMax()?.disable(),this.yScaleSuggestedMin()?.enable(),this.yScaleSuggestedMax()?.enable())}setScaleControls(e){this.setValueScaleOptionsControls(e.value)}enableTrackAgainstMovingAverage(e){e.checked?this.trackAgainstAverage().enable():(this.trackAgainstAverage().setValue(e.checked),this.trackAgainstAverage().disable())}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["config-display-chart-options"]],inputs:{displayName:[1,"displayName"],showLabel:[1,"showLabel"],convertUnitTo:[1,"convertUnitTo"],datasetUUID:[1,"datasetUUID"],datasetAverageArray:[1,"datasetAverageArray"],showAverageData:[1,"showAverageData"],trackAgainstAverage:[1,"trackAgainstAverage"],showDatasetMinimumValueLine:[1,"showDatasetMinimumValueLine"],showDatasetMaximumValueLine:[1,"showDatasetMaximumValueLine"],showDatasetAverageValueLine:[1,"showDatasetAverageValueLine"],showDatasetAngleAverageValueLine:[1,"showDatasetAngleAverageValueLine"],verticalGraph:[1,"verticalGraph"],showTimeScale:[1,"showTimeScale"],showYScale:[1,"showYScale"],startScaleAtZero:[1,"startScaleAtZero"],yScaleSuggestedMin:[1,"yScaleSuggestedMin"],yScaleSuggestedMax:[1,"yScaleSuggestedMax"],enableMinMaxScaleLimit:[1,"enableMinMaxScaleLimit"],yScaleMin:[1,"yScaleMin"],yScaleMax:[1,"yScaleMax"],numDecimal:[1,"numDecimal"],color:[1,"color"]},decls:80,vars:18,consts:[["minLine",""],[1,"tab-content"],[1,"chart-flex-container"],[1,"chart-panel-group"],[1,"full-width"],["matInput","","placeholder","Enter a label to display","name","displayName",3,"formControl"],["name","showLabel",1,"full-width",3,"formControl"],["placeholder","Select Color...","name","color","required","",3,"formControl"],[3,"value"],[1,"flex-item-rounded-card","rounded-card-color"],[2,"margin-left","10px"],["matInput","","type","number","min","0","max","5","placeholder","Enter or select number...","name","numDecimal","required","",3,"formControl"],["name","showAverageData",1,"full-width",2,"margin-top","10px",3,"change","formControl"],["name","trackAgainstAverage",1,"full-width",2,"margin-left","25px",3,"formControl"],[1,"no-margin"],[1,"mat-caption"],["aria-label","Select an option","name","enableMinMaxScaleLimit",1,"chart-option-radio-group",3,"formControl"],[1,"chart-option-radio-button",3,"change","value"],[1,"chart-option-radio-button-config"],[1,"chart-option-radio-button-config-form-field"],["matInput","","type","number","name","yScaleSuggestedMin",3,"formControl"],["matInput","","type","number","name","yScaleSuggestedMax",3,"formControl"],[1,"chart-option-radio-button-config-item"],["matInput","","type","number","name","yScaleMin","required","",3,"formControl"],["matInput","","type","number","name","yScaleMax","required","",3,"formControl"],["name","showYScale",1,"full-width",3,"formControl"],["name","showTimeScale",1,"full-width",3,"formControl"],["name","showDatasetMaximumValueLine",1,"full-width",3,"formControl"],["name","showDatasetAverageValueLine",1,"full-width",3,"formControl"],["name","showDatasetMinimumValueLine",1,"full-width",3,"formControl"]],template:function(t,a){if(t&1){let l=w();n(0,"div",1)(1,"div",2)(2,"div",3)(3,"mat-form-field",4)(4,"mat-label"),r(5,"Widget Label"),i(),g(6,"input",5),i()(),n(7,"div",3)(8,"mat-checkbox",6),r(9," Show Label "),i()()(),n(10,"div",2)(11,"mat-form-field",4)(12,"mat-label"),r(13,"Color"),i(),n(14,"mat-select",7),T(15,bi,2,2,"mat-option",8,G),i()()(),n(17,"div",2)(18,"div",9)(19,"div")(20,"p"),r(21,"Series"),i(),n(22,"mat-form-field",10)(23,"mat-label"),r(24,"Value Decimal Places"),i(),g(25,"input",11),i(),n(26,"mat-checkbox",12),b("change",function(h){return M(l),y(a.enableTrackAgainstMovingAverage(h))}),r(27," Display Moving Average "),i(),n(28,"mat-checkbox",13),r(29," Track Against Moving Average "),i()()(),n(30,"div",9)(31,"div")(32,"p",14),r(33,"Data Scale"),i(),n(34,"span",15),r(35,"(Default node is automatic scale)"),i(),n(36,"mat-radio-group",16)(37,"mat-radio-button",17),b("change",function(h){return M(l),y(a.setScaleControls(h))}),r(38,"Auto Scale"),i(),n(39,"div",18)(40,"mat-form-field",19)(41,"mat-label"),r(42,"Suggested Min"),i(),g(43,"input",20),i(),n(44,"mat-form-field",19)(45,"mat-label"),r(46,"Suggested Max"),i(),g(47,"input",21),i()(),n(48,"mat-radio-button",17),b("change",function(h){return M(l),y(a.setScaleControls(h))}),r(49,"Fixed Scale"),i(),n(50,"div",18)(51,"div",22)(52,"mat-form-field",19)(53,"mat-label"),r(54,"Min"),i(),g(55,"input",23),i()(),n(56,"div",22)(57,"mat-form-field",19)(58,"mat-label"),r(59,"Max"),i(),g(60,"input",24),i()()()(),n(61,"mat-checkbox",25),r(62," Show Scale Ticks "),i()()(),n(63,"div",9)(64,"div")(65,"p",14),r(66,"Time Scale"),i(),n(67,"mat-checkbox",26),r(68," Show Scale Ticks "),i()()(),n(69,"div",9)(70,"div")(71,"p",14),r(72,"Dataset"),i(),n(73,"mat-checkbox",27),r(74," Show Maximum Line "),i(),n(75,"mat-checkbox",28),r(76," Show Average Line "),i(),n(77,"mat-checkbox",29,0),r(79," Show Minimum Line "),i()()()()()}t&2&&(s(6),d("formControl",a.displayName()),s(2),d("formControl",a.showLabel()),s(6),d("formControl",a.color()),s(),S(a.colors),s(10),d("formControl",a.numDecimal()),s(),d("formControl",a.showAverageData()),s(2),d("formControl",a.trackAgainstAverage()),s(8),d("formControl",a.enableMinMaxScaleLimit()),s(),d("value",!1),s(6),d("formControl",a.yScaleSuggestedMin()),s(4),d("formControl",a.yScaleSuggestedMax()),s(),d("value",!0),s(7),d("formControl",a.yScaleMin()),s(5),d("formControl",a.yScaleMax()),s(),d("formControl",a.showYScale()),s(6),d("formControl",a.showTimeScale()),s(6),d("formControl",a.showDatasetMaximumValueLine()),s(2),d("formControl",a.showDatasetAverageValueLine()),s(2),d("formControl",a.showDatasetMinimumValueLine()))},dependencies:[Fo,Je,L,O,Lt,Ae,Ot,ne,U,pt,Ft,R,xo,To,So,P,V,xe,I,F,Ze,Dt,ie],styles:[".chart-flex-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;margin:15px 0;gap:15px;align-items:stretch}.chart-panel-group[_ngcontent-%COMP%]{min-width:250px;flex-grow:1}.no-margin[_ngcontent-%COMP%]{margin:0}.chart-option-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:0;align-items:flex-start}.chart-option-radio-button[_ngcontent-%COMP%]{margin:0}.chart-option-radio-button-config[_ngcontent-%COMP%]{margin-left:35px;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;align-items:flex-start}.chart-option-radio-button-config-item[_ngcontent-%COMP%]{flex-grow:0;flex-shrink:1;min-width:50px}.chart-option-radio-button-config-form-field[_ngcontent-%COMP%]{display:block;max-width:118px}"]})}return o})();var _i=(o,c)=>c.uuid;function vi(o,c){if(o&1&&(n(0,"mat-option",4),r(1),i()),o&2){let e=c.$implicit;d("value",e.uuid),s(),Q(" ",e.label," ")}}function Ci(o,c){if(o&1&&(n(0,"mat-option",4),r(1),i()),o&2){let e=c.$implicit;d("value",e.measure),s(),Q(" ",e.description," ")}}function Mi(o,c){if(o&1&&(n(0,"mat-optgroup",6),T(1,Ci,2,2,"mat-option",4,G),i()),o&2){let e=c.$implicit;d("label",e.group),s(),S(e.units)}}var Lo=(()=>{class o{datasetService=p(et);units=p(tt);datasetUUID=f.required();convertUnitTo=f.required();availableDataSets=[];unitList={};ngOnInit(){this.availableDataSets=this.datasetService.list().sort();let e=this.datasetUUID();e.value&&this.setPathUnits(e.value)}setPathUnits(e){let t=this.datasetService.getDatasetConfig(e);return e&&t?(this.unitList=this.units.getConversionsForPath(t.path),this.convertUnitTo()?.enable(),!0):(this.unitList=this.units.getConversionsForPath(""),this.convertUnitTo()?.disable(),!1)}datasetChanged(e){this.setPathUnits(e.value)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["config-dataset-chart-options"]],inputs:{datasetUUID:[1,"datasetUUID"],convertUnitTo:[1,"convertUnitTo"]},decls:14,vars:2,consts:[[1,"display-content","tab-content"],[1,"widget-options-grid"],[1,"options-grid-span2"],["placeholder","Select dataset...","name","datasetUUID","required","",3,"selectionChange","formControl"],[3,"value"],["placeholder","Select unit...","name","convertUnitTo","required","",3,"formControl"],[3,"label"]],template:function(t,a){t&1&&(n(0,"div",0)(1,"div",1)(2,"mat-form-field",2)(3,"mat-label"),r(4,"Dataset"),i(),n(5,"mat-select",3),b("selectionChange",function(m){return a.datasetChanged(m)}),T(6,vi,2,2,"mat-option",4,_i),i()(),n(8,"mat-form-field",2)(9,"mat-label"),r(10,"Display Format"),i(),n(11,"mat-select",5),T(12,Mi,3,1,"mat-optgroup",6,G),i()()()()),t&2&&(s(5),d("formControl",a.datasetUUID()),s(),S(a.availableDataSets),s(5),d("formControl",a.convertUnitTo()),s(),S(a.unitList.conversions))},dependencies:[Je,L,O,Ot,ne,U,Pt,P,I,F,ie],styles:[".display-content[_ngcontent-%COMP%]{display:block;height:100%;width:100%;padding-top:15px;padding-bottom:10px}"]})}return o})();var No=(()=>{class o{transform(e,t){return Object.keys(e)}static \u0275fac=function(t){return new(t||o)};static \u0275pipe=fa({name:"objectKeys",type:o,pure:!0})}return o})();var Ti=["panel"],Si=["*"];function xi(o,c){if(o&1&&(n(0,"div",1,0),Ue(2),i()),o&2){let e=c.id,t=u();ha(t._classList),X("mat-mdc-autocomplete-visible",t.showPanel)("mat-mdc-autocomplete-hidden",!t.showPanel)("mat-autocomplete-panel-animations-enabled",!t._animationsDisabled)("mat-primary",t._color==="primary")("mat-accent",t._color==="accent")("mat-warn",t._color==="warn"),d("id",t.id),le("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby(e))}}var Xt=class{source;option;constructor(c,e){this.source=c,this.option=e}},Ro=new $("mat-autocomplete-default-options",{providedIn:"root",factory:Ai});function Ai(){return{autoActiveFirstOption:!1,autoSelectActiveOption:!1,hideSingleSelectionIndicator:!1,requireSelection:!1,hasBackdrop:!1}}var Rt=(()=>{class o{_changeDetectorRef=p(ze);_elementRef=p(rt);_defaults=p(Ro);_animationsDisabled=p(Be,{optional:!0})==="NoopAnimations";_activeOptionChanges=ht.EMPTY;_keyManager;showPanel=!1;get isOpen(){return this._isOpen&&this.showPanel}_isOpen=!1;_latestOpeningTrigger;_setColor(e){this._color=e,this._changeDetectorRef.markForCheck()}_color;template;panel;options;optionGroups;ariaLabel;ariaLabelledby;displayWith=null;autoActiveFirstOption;autoSelectActiveOption;requireSelection;panelWidth;disableRipple;optionSelected=new Y;opened=new Y;closed=new Y;optionActivated=new Y;set classList(e){this._classList=e,this._elementRef.nativeElement.className=""}_classList;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties()}_hideSingleSelectionIndicator;_syncParentProperties(){if(this.options)for(let e of this.options)e._changeDetectorRef.markForCheck()}id=p(mt).getId("mat-autocomplete-");inertGroups;constructor(){let e=p(Va);this.inertGroups=e?.SAFARI||!1,this.autoActiveFirstOption=!!this._defaults.autoActiveFirstOption,this.autoSelectActiveOption=!!this._defaults.autoSelectActiveOption,this.requireSelection=!!this._defaults.requireSelection,this._hideSingleSelectionIndicator=this._defaults.hideSingleSelectionIndicator??!1}ngAfterContentInit(){this._keyManager=new Ua(this.options).withWrap().skipPredicate(this._skipPredicate),this._activeOptionChanges=this._keyManager.change.subscribe(e=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[e]||null})}),this._setVisibility()}ngOnDestroy(){this._keyManager?.destroy(),this._activeOptionChanges.unsubscribe()}_setScrollTop(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options?.length,this._changeDetectorRef.markForCheck()}_emitSelectEvent(e){let t=new Xt(this,e);this.optionSelected.emit(t)}_getPanelAriaLabelledby(e){if(this.ariaLabel)return null;let t=e?e+" ":"";return this.ariaLabelledby?t+this.ariaLabelledby:e}_skipPredicate(){return!1}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["mat-autocomplete"]],contentQueries:function(t,a,l){if(t&1&&(st(l,U,5),st(l,go,5)),t&2){let m;he(m=be())&&(a.options=m),he(m=be())&&(a.optionGroups=m)}},viewQuery:function(t,a){if(t&1&&(ct(ma,7),ct(Ti,5)),t&2){let l;he(l=be())&&(a.template=l.first),he(l=be())&&(a.panel=l.first)}},hostAttrs:[1,"mat-mdc-autocomplete"],inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:[2,"autoActiveFirstOption","autoActiveFirstOption",k],autoSelectActiveOption:[2,"autoSelectActiveOption","autoSelectActiveOption",k],requireSelection:[2,"requireSelection","requireSelection",k],panelWidth:"panelWidth",disableRipple:[2,"disableRipple","disableRipple",k],classList:[0,"class","classList"],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",k]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},exportAs:["matAutocomplete"],features:[dt([{provide:fo,useExisting:o}])],ngContentSelectors:Si,decls:1,vars:0,consts:[["panel",""],["role","listbox",1,"mat-mdc-autocomplete-panel","mdc-menu-surface","mdc-menu-surface--open",3,"id"]],template:function(t,a){t&1&&(Re(),_(0,xi,3,17,"ng-template"))},styles:[`div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:static;border-radius:var(--mat-autocomplete-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-autocomplete-container-elevation-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));background-color:var(--mat-autocomplete-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}@keyframes _mat-autocomplete-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}.mat-autocomplete-panel-animations-enabled{animation:_mat-autocomplete-enter 120ms cubic-bezier(0, 0, 0.2, 1)}mat-autocomplete{display:none} `],encapsulation:2,changeDetection:0})}return o})();var wi={provide:Et,useExisting:vt(()=>ut),multi:!0};var Uo=new $("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let o=p(Ke);return()=>o.scrollStrategies.reposition()}});function Gi(o){return()=>o.scrollStrategies.reposition()}var Ei={provide:Uo,deps:[Ke],useFactory:Gi},ut=(()=>{class o{_environmentInjector=p(la);_element=p(rt);_overlay=p(Ke);_viewContainerRef=p(ua);_zone=p(ca);_changeDetectorRef=p(ze);_dir=p(Gt,{optional:!0});_formField=p(mo,{optional:!0,host:!0});_viewportRuler=p(Ya);_scrollStrategy=p(Uo);_renderer=p(pa);_defaults=p(Ro,{optional:!0});_overlayRef;_portal;_componentDestroyed=!1;_initialized=new it;_keydownSubscription;_outsideClickSubscription;_cleanupWindowBlur;_previousValue;_valueOnAttach;_valueOnLastKeydown;_positionStrategy;_manuallyFloatingLabel=!1;_closingActionsSubscription;_viewportSubscription=ht.EMPTY;_breakpointObserver=p(At);_handsetLandscapeSubscription=ht.EMPTY;_canOpenOnNextFocus=!0;_valueBeforeAutoSelection;_pendingAutoselectedOption;_closeKeyEventStream=new it;_windowBlurHandler=()=>{this._canOpenOnNextFocus=this.panelOpen||!this._hasFocus()};_onChange=()=>{};_onTouched=()=>{};autocomplete;position="auto";connectedTo;autocompleteAttribute="off";autocompleteDisabled;constructor(){}_aboveClass="mat-mdc-autocomplete-panel-above";ngAfterViewInit(){this._initialized.next(),this._initialized.complete(),this._cleanupWindowBlur=this._renderer.listen("window","blur",this._windowBlurHandler)}ngOnChanges(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){this._cleanupWindowBlur?.(),this._handsetLandscapeSubscription.unsubscribe(),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete(),this._clearFromModal()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}_overlayAttached=!1;openPanel(){this._openPanelInternal()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._latestOpeningTrigger===this&&(this.autocomplete._isOpen=!1,this.autocomplete._latestOpeningTrigger=null),this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._updatePanelState(),this._componentDestroyed||this._changeDetectorRef.detectChanges(),this._trackedModal&&wt(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Oe(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(pe(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(pe(()=>this._overlayAttached)):jt()).pipe(Pe(e=>e instanceof ho?e:null))}optionSelections=oa(()=>{let e=this.autocomplete?this.autocomplete.options:null;return e?e.changes.pipe(Ne(e),_t(()=>Oe(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(_t(()=>this.optionSelections))});get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return new zt(e=>{let t=l=>{let m=Na(l),h=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,D=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;this._overlayAttached&&m!==this._element.nativeElement&&!this._hasFocus()&&(!h||!h.contains(m))&&(!D||!D.contains(m))&&this._overlayRef&&!this._overlayRef.overlayElement.contains(m)&&e.next(l)},a=[this._renderer.listen("document","click",t),this._renderer.listen("document","auxclick",t),this._renderer.listen("document","touchend",t)];return()=>{a.forEach(l=>l())}})}writeValue(e){Promise.resolve(null).then(()=>this._assignOptionValue(e))}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._element.nativeElement.disabled=e}_handleKeydown(e){let t=e.keyCode,a=He(e);if(t===27&&!a&&e.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&t===13&&this.panelOpen&&!a)this.activeOption._selectViaInteraction(),this._resetActiveItem(),e.preventDefault();else if(this.autocomplete){let l=this.autocomplete._keyManager.activeItem,m=t===38||t===40;t===9||m&&!a&&this.panelOpen?this.autocomplete._keyManager.onKeydown(e):m&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(m||this.autocomplete._keyManager.activeItem!==l)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._valueOnLastKeydown),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this.activeOption.value)))}}_handleInput(e){let t=e.target,a=t.value;if(t.type==="number"&&(a=a==""?null:parseFloat(a)),this._previousValue!==a){if(this._previousValue=a,this._pendingAutoselectedOption=null,(!this.autocomplete||!this.autocomplete.requireSelection)&&this._onChange(a),!a)this._clearPreviousSelectedOption(null,!1);else if(this.panelOpen&&!this.autocomplete.requireSelection){let l=this.autocomplete.options?.find(m=>m.selected);if(l){let m=this._getDisplayValue(l.value);a!==m&&l.deselect(!1)}}if(this._canOpen()&&this._hasFocus()){let l=this._valueOnLastKeydown??this._element.nativeElement.value;this._valueOnLastKeydown=null,this._openPanelInternal(l)}}}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(this._previousValue),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_handleClick(){this._canOpen()&&!this.panelOpen&&this._openPanelInternal()}_hasFocus(){return La()===this._element.nativeElement}_floatLabel(e=!1){this._formField&&this._formField.floatLabel==="auto"&&(e?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField&&(this._formField.floatLabel="auto"),this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){let e=new zt(a=>{da(()=>{a.next()},{injector:this._environmentInjector})}),t=this.autocomplete.options?.changes.pipe(ra(()=>this._positionStrategy.reapplyLastPosition()),na(0))??jt();return Oe(e,t).pipe(_t(()=>this._zone.run(()=>{let a=this.panelOpen;return this._resetActiveItem(),this._updatePanelState(),this._changeDetectorRef.detectChanges(),this.panelOpen&&this._overlayRef.updatePosition(),a!==this.panelOpen&&(this.panelOpen?this._emitOpened():this.autocomplete.closed.emit()),this.panelClosingActions})),Le(1)).subscribe(a=>this._setValueAndClose(a))}_emitOpened(){this.autocomplete.opened.emit()}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_getDisplayValue(e){let t=this.autocomplete;return t&&t.displayWith?t.displayWith(e):e}_assignOptionValue(e){let t=this._getDisplayValue(e);e==null&&this._clearPreviousSelectedOption(null,!1),this._updateNativeInputValue(t??"")}_updateNativeInputValue(e){this._formField?this._formField._control.value=e:this._element.nativeElement.value=e,this._previousValue=e}_setValueAndClose(e){let t=this.autocomplete,a=e?e.source:this._pendingAutoselectedOption;a?(this._clearPreviousSelectedOption(a),this._assignOptionValue(a.value),this._onChange(a.value),t._emitSelectEvent(a),this._element.nativeElement.focus()):t.requireSelection&&this._element.nativeElement.value!==this._valueOnAttach&&(this._clearPreviousSelectedOption(null),this._assignOptionValue(null),this._onChange(null)),this.closePanel()}_clearPreviousSelectedOption(e,t){this.autocomplete?.options?.forEach(a=>{a!==e&&a.selected&&a.deselect(t)})}_openPanelInternal(e=this._element.nativeElement.value){if(this._attachOverlay(e),this._floatLabel(),this._trackedModal){let t=this.autocomplete.id;Yt(this._trackedModal,"aria-owns",t)}}_attachOverlay(e){this.autocomplete;let t=this._overlayRef;t?(this._positionStrategy.setOrigin(this._getConnectedElement()),t.updateSize({width:this._getPanelWidth()})):(this._portal=new Ha(this.autocomplete.template,this._viewContainerRef,{id:this._formField?.getLabelId()}),t=this._overlay.create(this._getOverlayConfig()),this._overlayRef=t,this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&t&&t.updateSize({width:this._getPanelWidth()})}),this._handsetLandscapeSubscription=this._breakpointObserver.observe(se.HandsetLandscape).subscribe(l=>{l.matches?this._positionStrategy.withFlexibleDimensions(!0).withGrowAfterOpen(!0).withViewportMargin(8):this._positionStrategy.withFlexibleDimensions(!1).withGrowAfterOpen(!1).withViewportMargin(0)})),t&&!t.hasAttached()&&(t.attach(this._portal),this._valueOnAttach=e,this._valueOnLastKeydown=null,this._closingActionsSubscription=this._subscribeToClosingActions());let a=this.panelOpen;this.autocomplete._isOpen=this._overlayAttached=!0,this.autocomplete._latestOpeningTrigger=this,this.autocomplete._setColor(this._formField?.color),this._updatePanelState(),this._applyModalPanelOwnership(),this.panelOpen&&a!==this.panelOpen&&this._emitOpened()}_handlePanelKeydown=e=>{(e.keyCode===27&&!He(e)||e.keyCode===38&&He(e,"altKey"))&&(this._pendingAutoselectedOption&&(this._updateNativeInputValue(this._valueBeforeAutoSelection??""),this._pendingAutoselectedOption=null),this._closeKeyEventStream.next(),this._resetActiveItem(),e.stopPropagation(),e.preventDefault())};_updatePanelState(){if(this.autocomplete._setVisibility(),this.panelOpen){let e=this._overlayRef;this._keydownSubscription||(this._keydownSubscription=e.keydownEvents().subscribe(this._handlePanelKeydown)),this._outsideClickSubscription||(this._outsideClickSubscription=e.outsidePointerEvents().subscribe())}else this._keydownSubscription?.unsubscribe(),this._outsideClickSubscription?.unsubscribe(),this._keydownSubscription=this._outsideClickSubscription=null}_getOverlayConfig(){return new Xa({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir??void 0,hasBackdrop:this._defaults?.hasBackdrop,backdropClass:this._defaults?.backdropClass,panelClass:this._defaults?.overlayPanelClass})}_getOverlayPosition(){let e=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(e),this._positionStrategy=e,e}_setStrategyPositions(e){let t=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],a=this._aboveClass,l=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:a},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:a}],m;this.position==="above"?m=l:this.position==="below"?m=t:m=[...t,...l],e.withPositions(m)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){let e=this.autocomplete;if(e.autoActiveFirstOption){let t=-1;for(let a=0;a<e.options.length;a++)if(!e.options.get(a).disabled){t=a;break}e._keyManager.setActiveItem(t)}else e._keyManager.setActiveItem(-1)}_canOpen(){let e=this._element.nativeElement;return!e.readOnly&&!e.disabled&&!this.autocompleteDisabled}_scrollToOption(e){let t=this.autocomplete,a=bo(e,t.options,t.optionGroups);if(e===0&&a===1)t._setScrollTop(0);else if(t.panel){let l=t.options.toArray()[e];if(l){let m=l._getHostElement(),h=_o(m.offsetTop,m.offsetHeight,t._getScrollTop(),t.panel.nativeElement.offsetHeight);t._setScrollTop(h)}}}_trackedModal=null;_applyModalPanelOwnership(){let e=this._element.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');if(!e)return;let t=this.autocomplete.id;this._trackedModal&&wt(this._trackedModal,"aria-owns",t),Yt(e,"aria-owns",t),this._trackedModal=e}_clearFromModal(){if(this._trackedModal){let e=this.autocomplete.id;wt(this._trackedModal,"aria-owns",e),this._trackedModal=null}}static \u0275fac=function(t){return new(t||o)};static \u0275dir=lt({type:o,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-mdc-autocomplete-trigger"],hostVars:7,hostBindings:function(t,a){t&1&&b("focusin",function(){return a._handleFocus()})("blur",function(){return a._onTouched()})("input",function(m){return a._handleInput(m)})("keydown",function(m){return a._handleKeydown(m)})("click",function(){return a._handleClick()}),t&2&&le("autocomplete",a.autocompleteAttribute)("role",a.autocompleteDisabled?null:"combobox")("aria-autocomplete",a.autocompleteDisabled?null:"list"