@mxtommy/kip 3.4.0-beta.4 → 3.4.0

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/package.json +1 -1
  3. package/public/assets/help-docs/menu.json +2 -2
  4. package/public/{chunk-7NWUY2IT.js → chunk-2GTOB75T.js} +1 -1
  5. package/public/{chunk-FUDKW2FM.js → chunk-2IGGX6BI.js} +7 -7
  6. package/public/{chunk-NUMQK36F.js → chunk-7ICUQ4VK.js} +6 -6
  7. package/public/{chunk-ZB2SENV6.js → chunk-AERKQXJA.js} +15 -15
  8. package/public/{chunk-IS5FXM74.js → chunk-BJZD62ZD.js} +1 -1
  9. package/public/{chunk-NNBCRGF2.js → chunk-BK65F7S6.js} +1 -1
  10. package/public/{chunk-ZXWZCYPU.js → chunk-EGXTT4GK.js} +1 -1
  11. package/public/{chunk-KC3DYEZK.js → chunk-F5AFZMSJ.js} +1 -1
  12. package/public/{chunk-646JL6NE.js → chunk-FQWKFMCL.js} +1 -1
  13. package/public/{chunk-6E3N2KJB.js → chunk-GSG5IFZ7.js} +1 -1
  14. package/public/{chunk-6NAA5NCK.js → chunk-HTFWAMIE.js} +1 -1
  15. package/public/chunk-IJ7MVHXO.js +4 -0
  16. package/public/{chunk-ZAFJN4CD.js → chunk-IMRKPLTP.js} +1 -1
  17. package/public/{chunk-7JLLYN2R.js → chunk-JITOBNFA.js} +1 -1
  18. package/public/{chunk-VUCE34VP.js → chunk-KE3BK62I.js} +1 -1
  19. package/public/{chunk-BY7CHFFV.js → chunk-KP4DUCFG.js} +1 -1
  20. package/public/{chunk-7U4R7KOL.js → chunk-KUPVE24U.js} +1 -1
  21. package/public/{chunk-Y3BDLHDK.js → chunk-MRXTLXGU.js} +1 -1
  22. package/public/{chunk-7UO2PGXP.js → chunk-OGPSK2OV.js} +1 -1
  23. package/public/{chunk-3S26JNVT.js → chunk-PYQ6T3Y3.js} +1 -1
  24. package/public/{chunk-AL6XMKY7.js → chunk-QBA5REXT.js} +1 -1
  25. package/public/{chunk-V5MMJMGE.js → chunk-ROXSW22U.js} +1 -1
  26. package/public/chunk-RPHEZR7W.js +1 -0
  27. package/public/{chunk-SZDXY4IJ.js → chunk-UMSIBYU7.js} +1 -1
  28. package/public/chunk-VYP5YLKW.js +4 -0
  29. package/public/{chunk-XYG3VN7Q.js → chunk-X2CUXUMC.js} +1 -1
  30. package/public/index.html +1 -1
  31. package/public/{main-SHKHSLBM.js → main-2QGKGFMT.js} +17 -15
  32. package/public/chunk-4AMLV2V4.js +0 -1
  33. package/public/chunk-DMV45OSP.js +0 -6
  34. package/public/chunk-S4JY2BC4.js +0 -4
@@ -1,8 +1,8 @@
1
- import{a as xi,b as wi,c as Ai,d as Di}from"./chunk-NNBCRGF2.js";import{a as nt}from"./chunk-6E3N2KJB.js";import{a as ot,b as Gi,c as Ei,d as ki}from"./chunk-7UO2PGXP.js";import{a as ke,b as Rt}from"./chunk-7NWUY2IT.js";import{b as Ci,c as vi,d as Nt,e as Mi,f as U,g as yi,h as Ti,i as bt,j as le,k as Bt}from"./chunk-SZDXY4IJ.js";import{g as Da,i as Fa,n as Oa,o as N,p as oe,q as _i,u as Si}from"./chunk-3S26JNVT.js";import{a as oi,b as ni,c as ri,d as Te,e as Se,g as li,h as xe,i as we,j as Ae,k as Qe,l as Ge}from"./chunk-ZAFJN4CD.js";import{a as Ze}from"./chunk-4AMLV2V4.js";import{a as bi}from"./chunk-Y3BDLHDK.js";import{B as W,C as Vt,a as Oe,d as Ga,e as Ea,f as ka,g as Gt,h as Xt,i as Et,o as Ia,q as O,r as Lt,s as gi,t as at,v as hi,x as L,y as it}from"./chunk-S4JY2BC4.js";import{$b as o,$e as ei,A as Ve,Aa as M,Ab as ga,Ae as H,Af as Ot,Ba as y,Bb as ha,Bc as ya,Be as za,Bf as et,Cc as Ta,Ce as ye,Cf as P,Db as ae,Dc as Sa,Ea as We,Ee as Ha,Ef as tt,F as la,Fb as J,Fe as ne,Ff as R,Gb as ba,Gf as I,Hb as _a,Hc as Ie,He as Ka,I as Zt,Jc as gt,K as Ne,Ka as V,Kc as wt,L as ge,Le as $a,Me as Ya,Nc as Ke,Nd as Pa,O as sa,Oa as Ue,Oc as $e,P as Mt,R as Be,Ra as dt,Rd as La,Sb as me,Sd as Va,Tb as u,Td as Na,Te as Za,U as ca,Ub as f,Ue as Xa,Vb as G,Vc as xa,Wb as St,We as Qa,Xb as T,Xc as wa,Xe as Jt,Yb as S,Yc as ve,Yd as Ba,Ye as Ja,Zb as p,Zc as b,_b as n,_d as Ra,a as X,ac as _,ae as Wa,af as ti,b as ce,bc as Ca,bd as Ye,be as kt,bf as ai,cc as va,dc as Ma,ec as w,ef as ii,f as de,fd as k,ff as Pt,g as vt,ga as Re,gc as C,gf as B,ha as yt,hc as g,ic as qe,ie as ht,if as D,j as $t,ja as da,jc as je,je as Xe,kc as pt,ke as Ua,lc as ut,lf as F,m as st,mb as s,mc as _e,me as Qt,mf as K,nc as Ce,ne as Dt,nf as si,o as ct,oa as Tt,ob as pa,of as ci,pa as te,pe as Ft,pf as di,qa as he,qb as ua,qe as z,qf as mi,rc as ie,rf as $,sa as Q,sc as xt,se as pe,sf as pi,t as Yt,tb as fa,tc as q,td as Aa,te as Me,tf as It,ua as m,uc as ze,uf as Ee,vc as ft,vf as re,wc as r,wf as Y,xb as v,xc as A,xd as At,xf as ui,ya as ma,yb as be,yc as ee,ye as qa,yf as fi,zb as mt,zc as He,ze as ja,zf as Je}from"./chunk-ZB2SENV6.js";var Or=(()=>{class i{_settings=m(Gt);_router=m(Fa);dashboards=V([],{equal:Xt});activeDashboard=V(0);_widgetAction=new ct(null);widgetAction$=this._widgetAction.asObservable();_isDashboardStatic=new ct(!0);isDashboardStatic$=this._isDashboardStatic.asObservable();isDashboardStatic=Pa(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=>ce(X({},a),{id:Oe.create()}));this.dashboards.set([...t])}else this.dashboards.set(this._settings.getDashboardConfig());xa(()=>{this._settings.saveDashboards(this.dashboards())})}toggleStaticDashboard(){this._isDashboardStatic.next(!this._isDashboardStatic.value)}add(e,t){this.dashboards.update(a=>[...a,{id:Oe.create(),name:e,configuration:t}])}update(e,t){this.dashboards.update(a=>a.map((l,d)=>d===e?ce(X({},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=Et(a);l.id=Oe.create(),l.name=t,Array.isArray(l.configuration)?l.configuration.forEach(d=>{d&&d.input?.widgetProperties?(d.id=Oe.create(),d.input.widgetProperties.uuid=d.id):console.error("Dashboard Service] Widget configuration is missing required properties:",d)}):(console.error("Dashboard Service] Dashboard configuration is not an array:",l.configuration),l.configuration=[]),this.dashboards.update(d=>[...d,l])}updateConfiguration(e,t){this.dashboards.update(a=>a.map((l,d)=>d===e?Xt(l.configuration,t)?l:ce(X({},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||i)};static \u0275prov=te({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();function uo(i,c){i&1&&Ma(0)}var Pi=(()=>{class i{data=m(Se);static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,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),o(),n(3,"button",2)(4,"mat-icon"),r(5,"close"),o()()(),n(6,"mat-dialog-content",3),ae(7,uo,1,0,"ng-container",4),o()),t&2&&(s(2),A(a.data.title),s(),p("mat-dialog-close",!1),s(4),p("ngComponentOutlet",a.data.componentType))},dependencies:[N,Ge,xe,we,Ae,ne,H,Aa],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 i})();function fo(i,c){if(i&1&&(n(0,"button",4),r(1),o()),i&2){let e=g();p("mat-dialog-close",!0),s(),A(e.data.confirmBtnText)}}var Ii=(()=>{class i{data=m(Se);static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,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),o(),n(3,"button",2)(4,"mat-icon"),r(5,"close"),o()()(),n(6,"mat-dialog-content"),r(7),o(),n(8,"mat-dialog-actions",3)(9,"button",4),r(10),o(),u(11,fo,2,2,"button",4),o()),t&2&&(s(2),A(a.data.title),s(),p("mat-dialog-close",!1),s(4),ee(" ",a.data.message,`
2
- `),s(2),p("mat-dialog-close",!1),s(),A(a.data.cancelBtnText),s(),f(a.data.confirmBtnText?11:-1))},dependencies:[N,Ge,xe,we,Qe,Ae,ne,ye,H],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 i})();function ho(i,c){if(i&1&&(n(0,"button",9),r(1),o()),i&2){let e=g(),t=ie(1);p("disabled",!t.valid),s(),A(e.data.confirmBtnText)}}var Li=(()=>{class i{dialogRef=m(Te);data=m(Se);saveName(){this.dialogRef.close(this.data)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,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),C("ngSubmit",function(){return M(l),y(a.saveName())}),n(2,"div",2)(3,"h5",3),r(4),o(),n(5,"button",4)(6,"mat-icon"),r(7,"close"),o()()(),n(8,"mat-dialog-content")(9,"mat-form-field",5)(10,"mat-label"),r(11,"Name"),o(),n(12,"input",6),Sa("ngModelChange",function(h){return M(l),Ta(a.data.name,h)||(a.data.name=h),y(h)}),o(),n(13,"mat-error"),r(14," A name is required "),o()()(),n(15,"mat-dialog-actions",7)(16,"button",8),r(17),o(),u(18,ho,2,2,"button",9),o()()}t&2&&(s(4),A(a.data.title),s(),p("mat-dialog-close",!1),s(7),ya("ngModel",a.data.name),s(4),p("mat-dialog-close",!1),s(),A(a.data.cancelBtnText),s(),f(a.data.confirmBtnText?18:-1))},dependencies:[Ge,xe,we,Qe,Ae,oe,N,it,L,O,Lt,Vt,W,ne,ye,H,R,It,B,F,K,P,pi,di],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 i})();function _o(i,c){if(i&1&&(n(0,"mat-option",12),r(1),o()),i&2){let e=c.$implicit;p("value",Ie(e.value)),s(),A(e.label)}}function Co(i,c){if(i&1){let e=w();n(0,"button",21),C("click",function(){M(e);let a=g();return y(a.moveCtrlUp())}),n(1,"mat-icon"),r(2,"arrow_drop_up"),o()()}}function vo(i,c){if(i&1){let e=w();n(0,"button",22),C("click",function(){M(e);let a=g();return y(a.moveCtrlDown())}),n(1,"mat-icon"),r(2,"arrow_drop_down"),o()()}}var Vi=(()=>{class i{app=m(Ze);ctrlFormGroup=b.required();controlIndex=b(void 0);arrayLength=b(void 0);deleteCtrl=ve();moveUp=ve();moveDown=ve();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||i)};static \u0275cmp=v({type:i,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"),o(),_(6,"input",4),o()(),n(7,"div",5)(8,"mat-form-field",6)(9,"mat-label"),r(10,"Type"),o(),n(11,"mat-select",7)(12,"mat-option",8),r(13,"Toggle"),o(),n(14,"mat-option",9),r(15,"Push"),o(),n(16,"mat-option",10),r(17,"Indicator"),o()()()(),n(18,"div",5)(19,"mat-form-field",6)(20,"mat-label"),r(21,"Color"),o(),n(22,"mat-select",11),T(23,_o,2,3,"mat-option",12,G),o()()(),n(25,"div",13)(26,"mat-checkbox",14),r(27," Use numeric path "),o()()(),n(28,"div",15)(29,"div",16)(30,"div",17),u(31,Co,3,0,"button",18),u(32,vo,3,0,"button",19),n(33,"button",20),C("click",function(){return a.deleteControl()}),n(34,"mat-icon"),r(35,"delete"),o()()()()()()),t&2&&(p("formGroup",a.ctrlFormGroup()),s(23),S(a.colors),s(8),f(a.controlIndex()!==0?31:-1),s(),f(a.controlIndex()!==a.arrayLength()-1?32:-1))},dependencies:[R,B,F,K,P,I,Y,Je,L,O,W,le,U,H,Rt,ke,oe,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 i})();function Mo(i,c){if(i&1){let e=w();n(0,"boolean-control-config",4),C("moveUp",function(a){M(e);let l=g();return y(l.moveUp(a))})("moveDown",function(a){M(e);let l=g();return y(l.moveDown(a))})("deleteCtrl",function(a){M(e);let l=g();return y(l.deletePath(a))}),o()}if(i&2){let e=c.$implicit,t=c.$index,a=g();p("ctrlFormGroup",a.getFormGroup(e))("controlIndex",t)("arrayLength",a.arrayLength)}}var Ni=(()=>{class i{fb=m(tt);multiCtrlArray=b.required();addPath=ve();updatePath=ve();delPath=ve();multiFormGroup=null;arrayLength=0;multiCtrlArraySubscription=null;ngOnInit(){this.arrayLength=this.multiCtrlArray().length,this.multiFormGroup=new si({multiCtrlArray:this.multiCtrlArray()}),this.multiCtrlArraySubscription=this.multiCtrlArray().valueChanges.pipe(Mt(350)).subscribe(e=>{this.updatePath.emit(e)})}addCtrlGroup(){let e=Oe.create();this.multiCtrlArray().push(this.fb.group({ctrlLabel:[null,D.required],type:["1",D.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:null,convertUnitTo:null,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||i)};static \u0275cmp=v({type:i,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,Mo,1,3,"boolean-control-config",2,St),n(4,"button",3),C("click",function(){return a.addCtrlGroup()}),n(5,"mat-icon"),r(6,"add"),o()()()()),t&2&&(p("formGroup",a.multiFormGroup),s(2),S(a.multiCtrlArray().controls))},dependencies:[R,K,I,Y,fi,Vi,ne,Ha,oe,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 i})();var yo=["*"];var To=new Q("MAT_CARD_CONFIG"),Ol=(()=>{class i{appearance;constructor(){let e=m(To,{optional:!0});this.appearance=e?.appearance||"raised"}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:8,hostBindings:function(t,a){t&2&&q("mat-mdc-card-outlined",a.appearance==="outlined")("mdc-card--outlined",a.appearance==="outlined")("mat-mdc-card-filled",a.appearance==="filled")("mdc-card--filled",a.appearance==="filled")},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:yo,decls:1,vars:0,template:function(t,a){t&1&&(qe(),je(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(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-elevated-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(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mat-card-outlined-container-color, var(--mat-sys-surface));border-radius:var(--mat-card-outlined-container-shape, var(--mat-sys-corner-medium));border-width:var(--mat-card-outlined-outline-width, 1px);border-color:var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mat-card-outlined-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mat-mdc-card-filled{background-color:var(--mat-card-filled-container-color, var(--mat-sys-surface-container-highest));border-radius:var(--mat-card-filled-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-filled-container-elevation, var(--mat-sys-level0))}.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}
3
- `],encapsulation:2,changeDetection:0})}return i})();var Bi=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=be({type:i});static \u0275inj=he({imports:[z,z]})}return i})();function So(i,c){if(i&1&&(n(0,"mat-option",8),r(1),o()),i&2){let e=c.$implicit;p("value",Ie(e.value)),s(),A(e.label)}}var Wi=(()=>{class i{dsService=m(ot);app=m(Ze);displayName=b.required();showLabel=b.required();convertUnitTo=b.required();datasetUUID=b.required();datasetAverageArray=b.required();showAverageData=b.required();trackAgainstAverage=b.required();showDatasetMinimumValueLine=b.required();showDatasetMaximumValueLine=b.required();showDatasetAverageValueLine=b.required();showDatasetAngleAverageValueLine=b.required();verticalGraph=b.required();showTimeScale=b.required();showYScale=b.required();startScaleAtZero=b.required();yScaleSuggestedMin=b.required();yScaleSuggestedMax=b.required();enableMinMaxScaleLimit=b.required();yScaleMin=b.required();yScaleMax=b.required();numDecimal=b.required();color=b.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||i)};static \u0275cmp=v({type:i,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"),o(),_(6,"input",5),o()(),n(7,"div",3)(8,"mat-checkbox",6),r(9," Show Label "),o()()(),n(10,"div",2)(11,"mat-form-field",4)(12,"mat-label"),r(13,"Color"),o(),n(14,"mat-select",7),T(15,So,2,3,"mat-option",8,G),o()()(),n(17,"div",2)(18,"div",9)(19,"div")(20,"p"),r(21,"Series"),o(),n(22,"mat-form-field",10)(23,"mat-label"),r(24,"Value Decimal Places"),o(),_(25,"input",11),o(),n(26,"mat-checkbox",12),C("change",function(h){return M(l),y(a.enableTrackAgainstMovingAverage(h))}),r(27," Display Moving Average "),o(),n(28,"mat-checkbox",13),r(29," Track Against Moving Average "),o()()(),n(30,"div",9)(31,"div")(32,"p",14),r(33,"Data Scale"),o(),n(34,"span",15),r(35,"(Default node is automatic scale)"),o(),n(36,"mat-radio-group",16)(37,"mat-radio-button",17),C("change",function(h){return M(l),y(a.setScaleControls(h))}),r(38,"Auto Scale"),o(),n(39,"div",18)(40,"mat-form-field",19)(41,"mat-label"),r(42,"Suggested Min"),o(),_(43,"input",20),o(),n(44,"mat-form-field",19)(45,"mat-label"),r(46,"Suggested Max"),o(),_(47,"input",21),o()(),n(48,"mat-radio-button",17),C("change",function(h){return M(l),y(a.setScaleControls(h))}),r(49,"Fixed Scale"),o(),n(50,"div",18)(51,"div",22)(52,"mat-form-field",19)(53,"mat-label"),r(54,"Min"),o(),_(55,"input",23),o()(),n(56,"div",22)(57,"mat-form-field",19)(58,"mat-label"),r(59,"Max"),o(),_(60,"input",24),o()()()(),n(61,"mat-checkbox",25),r(62," Show Scale Ticks "),o()()(),n(63,"div",9)(64,"div")(65,"p",14),r(66,"Time Scale"),o(),n(67,"mat-checkbox",26),r(68," Show Scale Ticks "),o()()(),n(69,"div",9)(70,"div")(71,"p",14),r(72,"Dataset"),o(),n(73,"mat-checkbox",27),r(74," Show Maximum Line "),o(),n(75,"mat-checkbox",28),r(76," Show Average Line "),o(),n(77,"mat-checkbox",29,0),r(79," Show Minimum Line "),o()()()()()}t&2&&(s(6),p("formControl",a.displayName()),s(2),p("formControl",a.showLabel()),s(6),p("formControl",a.color()),s(),S(a.colors),s(10),p("formControl",a.numDecimal()),s(),p("formControl",a.showAverageData()),s(2),p("formControl",a.trackAgainstAverage()),s(8),p("formControl",a.enableMinMaxScaleLimit()),s(),p("value",!1),s(6),p("formControl",a.yScaleSuggestedMin()),s(4),p("formControl",a.yScaleSuggestedMax()),s(),p("value",!0),s(7),p("formControl",a.yScaleMin()),s(5),p("formControl",a.yScaleMax()),s(),p("formControl",a.showYScale()),s(6),p("formControl",a.showTimeScale()),s(6),p("formControl",a.showDatasetMaximumValueLine()),s(2),p("formControl",a.showDatasetAverageValueLine()),s(2),p("formControl",a.showDatasetMinimumValueLine()))},dependencies:[Bi,it,L,O,Rt,ke,Bt,le,U,bt,Vt,W,ki,Gi,Ei,I,B,Ee,F,P,et,Ot,re],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 i})();var xo=(i,c)=>c.uuid;function wo(i,c){if(i&1&&(n(0,"mat-option",4),r(1),o()),i&2){let e=c.$implicit;p("value",e.uuid),s(),ee(" ",e.label," ")}}function Ao(i,c){if(i&1&&(n(0,"mat-option",4),r(1),o()),i&2){let e=c.$implicit;p("value",e.measure),s(),ee(" ",e.description," ")}}function Go(i,c){if(i&1&&(n(0,"mat-optgroup",6),T(1,Ao,2,2,"mat-option",4,G),o()),i&2){let e=c.$implicit;p("label",e.group),s(),S(e.units)}}var Ui=(()=>{class i{datasetService=m(ot);units=m(nt);datasetUUID=b.required();convertUnitTo=b.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||i)};static \u0275cmp=v({type:i,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"),o(),n(5,"mat-select",3),C("selectionChange",function(d){return a.datasetChanged(d)}),T(6,wo,2,2,"mat-option",4,xo),o()(),n(8,"mat-form-field",2)(9,"mat-label"),r(10,"Display Format"),o(),n(11,"mat-select",5),T(12,Go,3,1,"mat-optgroup",6,G),o()()()()),t&2&&(s(5),p("formControl",a.datasetUUID()),s(),S(a.availableDataSets),s(5),p("formControl",a.convertUnitTo()),s(),S(a.unitList.conversions))},dependencies:[it,L,O,Bt,le,U,Nt,I,F,P,re],styles:[".display-content[_ngcontent-%COMP%]{display:block;height:100%;width:100%;padding-top:15px;padding-bottom:10px}"]})}return i})();var qi=(()=>{class i{transform(e){return Object.keys(e)}static \u0275fac=function(t){return new(t||i)};static \u0275pipe=ga({name:"objectKeys",type:i,pure:!0})}return i})();var ko=["panel"],Do=["*"];function Fo(i,c){if(i&1&&(n(0,"div",1,0),je(2),o()),i&2){let e=c.id,t=g();ft(t._classList),q("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"),p("id",t.id),me("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby(e))}}var ta=class{source;option;constructor(c,e){this.source=c,this.option=e}},Hi=new Q("mat-autocomplete-default-options",{providedIn:"root",factory:Po});function Po(){return{autoActiveFirstOption:!1,autoSelectActiveOption:!1,hideSingleSelectionIndicator:!1,requireSelection:!1,hasBackdrop:!1}}var jt=(()=>{class i{_changeDetectorRef=m(Ye);_elementRef=m(dt);_defaults=m(Hi);_animationsDisabled=Me();_activeOptionChanges=vt.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 J;opened=new J;closed=new J;optionActivated=new J;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=m(ht).getId("mat-autocomplete-");inertGroups;constructor(){let e=m(Na);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 ta(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||i)};static \u0275cmp=v({type:i,selectors:[["mat-autocomplete"]],contentQueries:function(t,a,l){if(t&1&&(pt(l,U,5),pt(l,vi,5)),t&2){let d;_e(d=Ce())&&(a.options=d),_e(d=Ce())&&(a.optionGroups=d)}},viewQuery:function(t,a){if(t&1&&(ut(pa,7),ut(ko,5)),t&2){let l;_e(l=Ce())&&(a.template=l.first),_e(l=Ce())&&(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:[gt([{provide:Ci,useExisting:i}])],ngContentSelectors:Do,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&&(qe(),ae(0,Fo,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:relative;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}
4
- `],encapsulation:2,changeDetection:0})}return i})();var Io={provide:Pt,useExisting:Tt(()=>_t),multi:!0};var Ki=new Q("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let i=m(We);return()=>Jt(i)}});function Oo(i){let c=m(We);return()=>Jt(c)}var Lo={provide:Ki,deps:[],useFactory:Oo},_t=(()=>{class i{_environmentInjector=m(ma);_element=m(dt);_injector=m(We);_viewContainerRef=m(fa);_zone=m(ba);_changeDetectorRef=m(Ye);_dir=m(Ft,{optional:!0});_formField=m(hi,{optional:!0,host:!0});_viewportRuler=m(Za);_scrollStrategy=m(Ki);_renderer=m(ua);_animationsDisabled=Me();_defaults=m(Hi,{optional:!0});_overlayRef;_portal;_componentDestroyed=!1;_initialized=new st;_keydownSubscription;_outsideClickSubscription;_cleanupWindowBlur;_previousValue;_valueOnAttach;_valueOnLastKeydown;_positionStrategy;_manuallyFloatingLabel=!1;_closingActionsSubscription;_viewportSubscription=vt.EMPTY;_breakpointObserver=m(kt);_handsetLandscapeSubscription=vt.EMPTY;_canOpenOnNextFocus=!0;_valueBeforeAutoSelection;_pendingAutoselectedOption;_closeKeyEventStream=new st;_overlayPanelClass=Wa(this._defaults?.overlayPanelClass||[]);_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&&Dt(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Ne(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ge(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ge(()=>this._overlayAttached)):Yt()).pipe(Ve(e=>e instanceof Mi?e:null))}optionSelections=la(()=>{let e=this.autocomplete?this.autocomplete.options:null;return e?e.changes.pipe(Re(e),yt(()=>Ne(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(yt(()=>this.optionSelections))});get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return new $t(e=>{let t=l=>{let d=Va(l),h=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,x=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;this._overlayAttached&&d!==this._element.nativeElement&&!this._hasFocus()&&(!h||!h.contains(d))&&(!x||!x.contains(d))&&this._overlayRef&&!this._overlayRef.overlayElement.contains(d)&&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,a=t.keyCode,l=Xe(t);if(a===27&&!l&&t.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&a===13&&this.panelOpen&&!l)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){let d=this.autocomplete._keyManager.activeItem,h=a===38||a===40;a===9||h&&!l&&this.panelOpen?this.autocomplete._keyManager.onKeydown(t):h&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(h||this.autocomplete._keyManager.activeItem!==d)&&(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(d=>d.selected);if(l){let d=this._getDisplayValue(l.value);a!==d&&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 $t(a=>{_a(()=>{a.next()},{injector:this._environmentInjector})}),t=this.autocomplete.options?.changes.pipe(da(()=>this._positionStrategy.reapplyLastPosition()),ca(0))??Yt();return Ne(e,t).pipe(yt(()=>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})),Be(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;Qt(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 Ka(this.autocomplete.template,this._viewContainerRef,{id:this._formField?.getLabelId()}),t=ai(this._injector,this._getOverlayConfig()),this._overlayRef=t,this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&t&&t.updateSize({width:this._getPanelWidth()})}),this._handsetLandscapeSubscription=this._breakpointObserver.observe(pe.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&&!Xe(e)||e.keyCode===38&&Xe(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 Ja({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir??void 0,hasBackdrop:this._defaults?.hasBackdrop,backdropClass:this._defaults?.backdropClass,panelClass:this._overlayPanelClass,disableAnimations:this._animationsDisabled})}_getOverlayPosition(){let e=ei(this._injector,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}],d;this.position==="above"?d=l:this.position==="below"?d=t:d=[...t,...l],e.withPositions(d)}_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=yi(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 d=l._getHostElement(),h=Ti(d.offsetTop,d.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&&Dt(this._trackedModal,"aria-owns",t),Qt(e,"aria-owns",t),this._trackedModal=e}_clearFromModal(){if(this._trackedModal){let e=this.autocomplete.id;Dt(this._trackedModal,"aria-owns",e),this._trackedModal=null}}static \u0275fac=function(t){return new(t||i)};static \u0275dir=mt({type:i,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-mdc-autocomplete-trigger"],hostVars:7,hostBindings:function(t,a){t&1&&C("focusin",function(){return a._handleFocus()})("blur",function(){return a._onTouched()})("input",function(d){return a._handleInput(d)})("keydown",function(d){return a._handleKeydown(d)})("click",function(){return a._handleClick()}),t&2&&me("autocomplete",a.autocompleteAttribute)("role",a.autocompleteDisabled?null:"combobox")("aria-autocomplete",a.autocompleteDisabled?null:"list")("aria-activedescendant",a.panelOpen&&a.activeOption?a.activeOption.id:null)("aria-expanded",a.autocompleteDisabled?null:a.panelOpen.toString())("aria-controls",a.autocompleteDisabled||!a.panelOpen||a.autocomplete==null?null:a.autocomplete.id)("aria-haspopup",a.autocompleteDisabled?null:"listbox")},inputs:{autocomplete:[0,"matAutocomplete","autocomplete"],position:[0,"matAutocompletePosition","position"],connectedTo:[0,"matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:[0,"autocomplete","autocompleteAttribute"],autocompleteDisabled:[2,"matAutocompleteDisabled","autocompleteDisabled",k]},exportAs:["matAutocompleteTrigger"],features:[gt([Io]),Ue]})}return i})(),$i=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=be({type:i});static \u0275inj=he({providers:[Lo],imports:[ii,bt,z,Xa,bt,z]})}return i})();var No=(i,c)=>c.path;function Bo(i,c){i&1&&_(0,"i",22)}function Ro(i,c){i&1&&_(0,"i",23)}function Wo(i,c){if(i&1&&(n(0,"mat-option",16),r(1),o()),i&2){let e=c.$implicit;p("value",e),s(),He("",e.properties.quantity,": ",e.properties.display)}}function Uo(i,c){if(i&1){let e=w();n(0,"div",5)(1,"mat-form-field",21)(2,"mat-label"),u(3,Bo,1,0,"i",22)(4,Ro,1,0,"i",23),r(5," Filter"),o(),n(6,"mat-select",24,2),C("selectionChange",function(){M(e),g();let a=ie(11),l=g();return y(l.pathFormGroup.controls.path.setValue(a.value))}),n(8,"mat-option"),r(9,"All"),o(),T(10,Wo,2,3,"mat-option",16,G),o()()()}if(i&2){let e=ie(7),t=g(2);s(3),f(e.value?4:3),s(3),p("formControl",t.pathSkUnitsFilterControl),s(4),S(t.pathSkUnitsFiltersList)}}function qo(i,c){i&1&&(n(0,"span",8),r(1,"(optional)"),o())}function jo(i,c){i&1&&(n(0,"mat-hint"),r(1,"Leave blank to disable this path."),o())}function zo(i,c){if(i&1){let e=w();n(0,"button",25),C("click",function(){M(e);let a=g(2);return y(a.pathFormGroup.controls.path.setValue(""))}),n(1,"mat-icon"),r(2,"close"),o()()}}function Ho(i,c){i&1&&(n(0,"mat-error"),r(1," Path is required. Please enter a valid Signal K path. "),o())}function Ko(i,c){i&1&&(n(0,"mat-error"),r(1," Path not recognized. Please enter a path from the server's published list. "),o())}function $o(i,c){if(i&1&&(n(0,"span"),r(1),o(),_(2,"br"),n(3,"small",26),r(4),o()),i&2){let e=g().$implicit;s(),A(e.path),s(3),A(e.meta.description)}}function Yo(i,c){if(i&1&&r(0),i&2){let e=g().$implicit;ee(" ",e.path," ")}}function Zo(i,c){if(i&1&&(n(0,"mat-option",11),u(1,$o,5,2)(2,Yo,1,1),o()),i&2){let e=c.$implicit;p("value",e.path),s(),f(e.meta!==void 0?1:2)}}function Xo(i,c){if(i&1&&(n(0,"mat-option",16),r(1),o()),i&2){let e=c.$implicit;p("value",e),s(),ee(" ",e," ")}}function Qo(i,c){if(i&1&&(n(0,"mat-option",16),r(1),o()),i&2){let e=c.$implicit;p("value",e.measure),s(),ee(" ",e.description," ")}}function Jo(i,c){if(i&1&&(n(0,"mat-optgroup",28),T(1,Qo,2,2,"mat-option",16,G),o()),i&2){let e=c.$implicit;p("label",e.group),s(),S(e.units)}}function en(i,c){if(i&1&&(n(0,"mat-form-field",20)(1,"mat-label"),r(2,"Display Format"),o(),n(3,"mat-select",27),T(4,Jo,3,1,"mat-optgroup",28,G),o()()),i&2){let e=g(2);s(4),S(e.unitList.conversions)}}function tn(i,c){if(i&1&&(n(0,"div",3)(1,"div",4)(2,"span"),r(3),o()(),u(4,Uo,12,2,"div",5),n(5,"div",6)(6,"mat-form-field",7)(7,"mat-label"),r(8," Signal K Path "),u(9,qo,2,0,"span",8),o(),_(10,"input",9,0),u(12,jo,2,0,"mat-hint"),u(13,zo,3,0,"button",10),u(14,Ho,2,0,"mat-error")(15,Ko,2,0,"mat-error"),n(16,"mat-autocomplete",null,1),T(18,Zo,3,2,"mat-option",11,No),Ke(20,"async"),o()()(),n(21,"div",12)(22,"div",13)(23,"mat-form-field",14)(24,"mat-label"),r(25,"Data Source"),o(),n(26,"mat-select",15),T(27,Xo,2,2,"mat-option",16,G),o()()(),n(29,"div",17)(30,"mat-form-field",14)(31,"mat-label"),r(32,"Sample Time"),o(),_(33,"input",18),o()(),n(34,"div",19),u(35,en,6,0,"mat-form-field",20),o()()()),i&2){let e=ie(17),t=g();p("formGroup",t.pathFormGroup),s(2),xt("color",t.pathFormGroup.enabled?"":"rgba(255,255,255,0.5)"),s(),A(t.pathFormGroup.value.description),s(),f(t.pathFormGroup.value.pathType==="number"&&t.showPathSkUnitsFilter?4:-1),s(5),f(t.pathFormGroup.value.pathRequired===!1?9:-1),s(),p("matAutocomplete",e),s(2),f(t.pathFormGroup.value.pathRequired===!1?12:-1),s(),f(t.pathFormGroup.value.path?13:-1),s(),f(t.pathFormGroup.controls.path.errors!=null&&t.pathFormGroup.controls.path.errors.required?14:t.pathFormGroup.controls.path.errors!=null&&t.pathFormGroup.controls.path.errors.requireMatch?15:-1),s(4),S($e(20,11,t.filteredPaths)),s(9),S(t.availableSources),s(8),f(t.pathFormGroup.value.pathType==="number"&&t.pathFormGroup.value.showConvertUnitTo===void 0||t.pathFormGroup.value.pathType==="number"&&t.pathFormGroup.value.showConvertUnitTo===!0?35:-1)}}function an(i){return c=>{let e=c.parent?.value?.pathRequired!==!1,t=c.value;return e?t===null||t===""?{requireMatch:!0}:i().some(d=>d.path===t)?null:{requireMatch:!0}:t===null||t===""||i().some(d=>d.path===t)?null:{requireMatch:!0}}}var Yi=(()=>{class i{_data=m(Ia);_units=m(nt);_connection=m(Ga);pathFormGroup;multiCTRLArray=b.required();filterSelfPaths=b.required();availablePaths;filteredPaths=new ct(null);_pathValueChange$=null;_pathFormGroup$=null;availableSources;unitList={base:"",conversions:[]};showPathSkUnitsFilter=!1;pathSkUnitsFilterControl=new mi(null);pathSkUnitsFiltersList;unitlessUnit={unit:"unitless",properties:{display:"(null)",quantity:"Unitless",quantityDisplay:"(null)",description:""}};ngOnInit(){this.pathSkUnitsFiltersList=this._units.skBaseUnits.sort((e,t)=>e.properties.quantity>t.properties.quantity?1:-1),this.pathSkUnitsFiltersList.unshift(this.unitlessUnit),this.pathFormGroup.value.pathSkUnitsFilter&&this.pathSkUnitsFilterControl.setValue(this.pathSkUnitsFiltersList.find(e=>e.unit===this.pathFormGroup.value.pathSkUnitsFilter),{onlySelf:!0}),this.pathFormGroup.value.showPathSkUnitsFilter&&(this.showPathSkUnitsFilter=this.pathFormGroup.value.showPathSkUnitsFilter),this.pathFormGroup.controls.path.setValidators([an(()=>this.getPaths())]),this.pathFormGroup.controls.path.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this.pathFormGroup.controls.pathRequired&&this.pathFormGroup.controls.pathRequired.valueChanges.subscribe(()=>{this.pathFormGroup.controls.path.updateValueAndValidity()}),this.pathFormGroup.controls.path.valid?this.enableFormFields(!1):this.disablePathFields(),this.pathFormGroup.controls.sampleTime||(this.pathFormGroup.addControl("sampleTime",new $("500",D.required)),this.pathFormGroup.controls.sampleTime.updateValueAndValidity({onlySelf:!0,emitEvent:!1})),this._pathValueChange$=this.pathFormGroup.controls.path.valueChanges.pipe(sa(e=>e===""?Zt(0):Zt(350)),Re(""),Ve(e=>this.filterPaths(e||""))).subscribe(()=>{this.pathFormGroup.controls.path.pristine||(this.pathFormGroup.controls.path.valid?(this.enableFormFields(!0),this.updatePathMetaBoundDisplayName(this.pathFormGroup.controls.path.value),this.updatePathMetaBoundDisplayScale(this.pathFormGroup.controls.path.value)):this.disablePathFields())}),this._pathFormGroup$=this.pathFormGroup.controls.pathType.valueChanges.subscribe(()=>{this.pathFormGroup.value.showPathSkUnitsFilter?this.pathSkUnitsFilterControl.setValue(this.unitlessUnit):this.pathSkUnitsFilterControl.setValue(null),this.pathFormGroup.controls.path.updateValueAndValidity()})}ngOnChanges(e){e.filterSelfPaths&&!e.filterSelfPaths.firstChange&&this.pathFormGroup.controls.path.updateValueAndValidity()}getPaths(){let e=this.pathFormGroup.controls.pathType.value,t=this.filterSelfPaths(),a=!1;if(this.pathFormGroup.value.supportsPut){let l=!1;this.multiCTRLArray().length>0&&(l=this.multiCTRLArray().some(d=>d.pathID===this.pathFormGroup.value.pathID&&d.type==="3")),l?a=!1:a=Ea(this._connection.skServerVersion,"2.12.0",">=")?this.pathFormGroup.value.supportsPut:!1}return this._data.getPathsAndMetaByType(e,a,t).sort()}filterPaths(e){let t=e.toLowerCase(),a=this.getPaths();if(this.pathSkUnitsFilterControl.value){let l=this.pathSkUnitsFilterControl.value.unit;a=a.filter(d=>{let h=!!d.meta&&!!d.meta.units,x=l==="unitless";return h&&d.meta.units===l||!h&&x})}a=a.filter(l=>l.path.toLowerCase().includes(t)),this.filteredPaths.next(a)}enableFormFields(e){let t=this._data.getPathObject(this.pathFormGroup.controls.path.value);t!=null?(this.pathFormGroup.controls.sampleTime.enable({onlySelf:!1}),this.pathFormGroup.controls.pathType.value=="number"&&(this.unitList=this._units.getConversionsForPath(this.pathFormGroup.controls.path.value),e&&this.pathFormGroup.controls.convertUnitTo.setValue(this.unitList.base,{onlySelf:!0}),this.pathFormGroup.controls.convertUnitTo.enable({onlySelf:!1})),Object.keys(t.sources).length==1?(this.availableSources=["default"],e?this.pathFormGroup.controls.source.value!="default"&&this.pathFormGroup.controls.source.setValue("default",{onlySelf:!0}):this.pathFormGroup.controls.source.value!="default"&&this.pathFormGroup.controls.source.setValue("",{onlySelf:!0})):Object.keys(t.sources).length>1&&(this.availableSources=Object.keys(t.sources),this.pathFormGroup.controls.source.value=="default"&&this.pathFormGroup.controls.source.reset()),this.pathFormGroup.controls.source.enable({onlySelf:!1})):this.disablePathFields()}disablePathFields(){this.pathFormGroup.controls.source.reset("",{onlySelf:!0}),this.pathFormGroup.controls.source.disable({onlySelf:!1}),this.pathFormGroup.controls.sampleTime.disable({onlySelf:!1}),this.pathFormGroup.controls.pathType.value=="number"&&(this.pathFormGroup.controls.convertUnitTo.reset("",{onlySelf:!0}),this.pathFormGroup.controls.convertUnitTo.disable({onlySelf:!1}))}updatePathMetaBoundDisplayName(e){if(!Object.prototype.hasOwnProperty.call(this.pathFormGroup.parent.parent.value,"displayName"))return;let t=this._data.getPathMeta(e);t?.displayName&&this.pathFormGroup.parent.parent.controls.displayName.setValue(t.displayName)}updatePathMetaBoundDisplayScale(e){if(!Object.prototype.hasOwnProperty.call(this.pathFormGroup.parent.parent.value,"displayScale"))return;let t=this._data.getPathMeta(e);if(t?.displayScale){let a=this.pathFormGroup.parent.parent.get("displayScale"),l=this.pathFormGroup.controls.convertUnitTo.value;t.displayScale.lower!==null&&t.displayScale.lower!==void 0&&a.controls.lower.setValue(this._units.convertToUnit(l,t.displayScale.lower)),t.displayScale.upper!==null&&t.displayScale.upper!==void 0&&a.controls.upper.setValue(this._units.convertToUnit(l,t.displayScale.upper)),t.displayScale.type!==null&&t.displayScale.type!==void 0&&a.controls.type.setValue(t.displayScale.type),t.displayScale.power!==null&&t.displayScale.power!==void 0&&a.controls.power.setValue(t.displayScale.power)}}ngOnDestroy(){this._pathValueChange$?.unsubscribe(),this._pathFormGroup$?.unsubscribe()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["path-control-config"]],inputs:{pathFormGroup:"pathFormGroup",multiCTRLArray:[1,"multiCTRLArray"],filterSelfPaths:[1,"filterSelfPaths"]},features:[Ue],decls:1,vars:1,consts:[["pathInput",""],["pathAutoComplete","matAutocomplete"],["pathUnitsFilter",""],[1,"flex-container","rounded-card","rounded-card-color",3,"formGroup"],[1,"flex-field-100"],[1,"flex-field-fixed"],[1,"flex-field-to-100"],["floatLabel","auto","appearance","fill",1,"pathField"],[1,"optional-label"],["type","text","matInput","","placeholder","Type to use autocomplete or select from list","formControlName","path",3,"matAutocomplete"],["mat-icon-button","","matIconSuffix","","aria-label","Clear"],[2,"min-height","48px","line-height","1.15","height","auto","padding","8px 16px","white-space","normal",3,"value"],[1,"pathProperties"],[1,"sourceField"],["appearance","outline","floatLabel","always",1,"fields"],["placeholder","Select source","formControlName","source","required",""],[3,"value"],[1,"sampleTimeField"],["matInput","","type","number","placeholder","Sample time in milliseconds","formControlName","sampleTime","required",""],[1,"unitField"],[1,"fields"],["floatLabel","auto","appearance","fill",1,"filter-path"],[1,"fa-solid","fa-filter"],[1,"fa-solid","fa-filter-circle-xmark"],["panelWidth","",3,"selectionChange","formControl"],["mat-icon-button","","matIconSuffix","","aria-label","Clear",3,"click"],[1,"pathMetaDescription"],["placeholder","Select unit","formControlName","convertUnitTo","required",""],[3,"label"]],template:function(t,a){t&1&&u(0,tn,36,13,"div",3),t&2&&f(a.pathFormGroup.value.isPathConfigurable?0:-1)},dependencies:[R,B,Ee,F,K,P,I,re,Y,Je,L,O,W,$i,jt,U,Nt,_t,H,at,Lt,le,At,oe,N,gi],styles:[".pathGroup[_ngcontent-%COMP%]{width:100%}.pathGroupFields[_ngcontent-%COMP%]{display:block;width:calc(100% - 5px)}.pathField[_ngcontent-%COMP%]{width:100%}.pathProperties[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:center;align-content:flex-start;gap:10px}.fields[_ngcontent-%COMP%]{width:100%}.sourceField[_ngcontent-%COMP%]{flex:3 1}.sampleTimeField[_ngcontent-%COMP%]{flex:1 3}.unitField[_ngcontent-%COMP%]{flex:3 1}"]})}return i})();function on(i,c){if(i&1&&_(0,"path-control-config",6),i&2){let e=c.$implicit,t=g(2);p("pathFormGroup",e)("filterSelfPaths",t.filterSelfPaths().value)("multiCTRLArray",t.multiCTRLArray)}}function nn(i,c){if(i&1&&T(0,on,1,3,"path-control-config",6,G),i&2){let e=g();S(e.pathsFormGroup.controls)}}function rn(i,c){if(i&1&&_(0,"path-control-config",6),i&2){let e=c.$implicit,t=g(2);p("pathFormGroup",t.pathsFormGroup.get(e))("filterSelfPaths",t.filterSelfPaths().value)("multiCTRLArray",t.multiCTRLArray)}}function ln(i,c){if(i&1&&(T(0,rn,1,3,"path-control-config",6,G),Ke(2,"objectKeys")),i&2){let e=g();S($e(2,0,e.pathsFormGroup.controls))}}var Zi=(()=>{class i{rootFormGroup=m(Y);fb=m(tt);formGroupName=b.required();isArray=b.required();enableTimeout=b.required();dataTimeout=b.required();filterSelfPaths=b.required();addPathEvent=b(void 0);delPathEvent=b(void 0);updatePathEvent=b(void 0);pathsFormGroup;multiCTRLArray=[];ngOnInit(){this.isArray()?(this.pathsFormGroup=this.rootFormGroup.control.get(this.formGroupName()),this.multiCTRLArray=this.rootFormGroup.control.get("multiChildCtrls").value):this.pathsFormGroup=this.rootFormGroup.control.get(this.formGroupName())}addPath(e){this.pathsFormGroup.push(this.fb.group({description:[e.path.description],path:[e.path.path,D.required],pathID:[e.path.pathID],source:[e.path.source,D.required],pathType:[e.path.pathType],isPathConfigurable:[e.path.isPathConfigurable],showPathSkUnitsFilter:[e.path.showPathSkUnitsFilter],pathSkUnitsFilter:[e.path.pathSkUnitsFilter],convertUnitTo:[e.path.convertUnitTo],sampleTime:[e.path.sampleTime],supportsPut:[e.path.supportsPut]})),this.pathsFormGroup.updateValueAndValidity(),this.multiCTRLArray=this.rootFormGroup.control.get("multiChildCtrls").value}delPath(){this.multiCTRLArray=this.rootFormGroup.control.get("multiChildCtrls").value}updatePath(e){this.multiCTRLArray=e}ngOnChanges(e){e.addPathEvent&&!e.addPathEvent.firstChange&&this.addPath(e.addPathEvent.currentValue),e.delPathEvent&&!e.delPathEvent.firstChange&&this.delPath(),e.updatePathEvent&&!e.updatePathEvent.firstChange&&this.updatePath(e.updatePathEvent.currentValue)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["paths-options"]],inputs:{formGroupName:[1,"formGroupName"],isArray:[1,"isArray"],enableTimeout:[1,"enableTimeout"],dataTimeout:[1,"dataTimeout"],filterSelfPaths:[1,"filterSelfPaths"],addPathEvent:[1,"addPathEvent"],delPathEvent:[1,"delPathEvent"],updatePathEvent:[1,"updatePathEvent"]},features:[Ue],decls:14,vars:5,consts:[[1,"widget-options-grid"],["name","enableTimeout",3,"formControl"],["type","number","matNativeControl","","placeholder","Time in seconds...","name","dataTimeout","min","2","required","",3,"formControl"],["matTextSuffix",""],[3,"formGroup"],["name","filterSelfPaths",3,"formControl"],[2,"display","block",3,"pathFormGroup","filterSelfPaths","multiCTRLArray"]],template:function(t,a){t&1&&(n(0,"div",0)(1,"mat-checkbox",1),r(2," Enable Widget Data TTL "),o(),n(3,"mat-form-field")(4,"mat-label"),r(5,"TTL Timeout For Paths"),o(),_(6,"input",2),n(7,"span",3),r(8,"Seconds"),o()()(),Ca(9,4),u(10,nn,2,0)(11,ln,3,2),va(),n(12,"mat-checkbox",5),r(13,` Restrict to own vessel
5
- `),o()),t&2&&(s(),p("formControl",a.enableTimeout()),s(5),p("formControl",a.dataTimeout()),s(3),p("formGroup",a.pathsFormGroup),s(),f(a.isArray()?10:11),s(2),p("formControl",a.filterSelfPaths()))},dependencies:[ke,R,B,Ee,F,K,P,et,I,re,Y,L,O,W,at,Yi,qi],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%;padding-top:15px;padding-bottom:5px}"]})}return i})();function sn(i,c){if(i&1){let e=w();n(0,"button",7),C("click",function(){M(e);let a=g();return y(a.dateTimezone.setValue(""))}),_(1,"span",8),o()}}function cn(i,c){if(i&1&&(n(0,"mat-option",6),r(1),o()),i&2){let e=c.$implicit;p("value",e.label),s(),He(" ",e.offset," - ",e.label," ")}}function dn(i){return c=>i.some(t=>t.label===c.value)?null:{requireMatch:!0}}var mn=()=>{let i=Intl.supportedValuesOf("timeZone"),c=new Date;return i.map(e=>({offset:new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"shortOffset"}).formatToParts(c).find(d=>d.type==="timeZoneName")?.value||"",label:e}))},Xi=(()=>{class i{dateFormat=b(void 0);dateTimezone;tz=[];filteredTZ;filteredTZSubscription=null;constructor(){}ngOnInit(){typeof Intl.supportedValuesOf<"u"?this.tz=mn().sort((e,t)=>this.compareOffsets(e.offset,t.offset)):(console.log("[Widget Options] Feature not supported. Using static Time Zone list"),this.tz=[{offset:"GMT",label:"Africa/Abidjan"},{offset:"GMT",label:"Africa/Accra"},{offset:"GMT+3",label:"Africa/Addis_Ababa"},{offset:"GMT+1",label:"Africa/Algiers"},{offset:"GMT+3",label:"Africa/Asmera"},{offset:"GMT",label:"Africa/Bamako"},{offset:"GMT+1",label:"Africa/Bangui"},{offset:"GMT",label:"Africa/Banjul"},{offset:"GMT",label:"Africa/Bissau"},{offset:"GMT+2",label:"Africa/Blantyre"},{offset:"GMT+1",label:"Africa/Brazzaville"},{offset:"GMT+2",label:"Africa/Bujumbura"},{offset:"GMT+2",label:"Africa/Cairo"},{offset:"GMT",label:"Africa/Casablanca"},{offset:"GMT+2",label:"Africa/Ceuta"},{offset:"GMT",label:"Africa/Conakry"},{offset:"GMT",label:"Africa/Dakar"},{offset:"GMT+3",label:"Africa/Dar_es_Salaam"},{offset:"GMT+3",label:"Africa/Djibouti"},{offset:"GMT+1",label:"Africa/Douala"},{offset:"GMT",label:"Africa/El_Aaiun"},{offset:"GMT",label:"Africa/Freetown"},{offset:"GMT+2",label:"Africa/Gaborone"},{offset:"GMT+2",label:"Africa/Harare"},{offset:"GMT+2",label:"Africa/Johannesburg"},{offset:"GMT+2",label:"Africa/Juba"},{offset:"GMT+3",label:"Africa/Kampala"},{offset:"GMT+2",label:"Africa/Khartoum"},{offset:"GMT+2",label:"Africa/Kigali"},{offset:"GMT+1",label:"Africa/Kinshasa"},{offset:"GMT+1",label:"Africa/Lagos"},{offset:"GMT+1",label:"Africa/Libreville"},{offset:"GMT",label:"Africa/Lome"},{offset:"GMT+1",label:"Africa/Luanda"},{offset:"GMT+2",label:"Africa/Lubumbashi"},{offset:"GMT+2",label:"Africa/Lusaka"},{offset:"GMT+1",label:"Africa/Malabo"},{offset:"GMT+2",label:"Africa/Maputo"},{offset:"GMT+2",label:"Africa/Maseru"},{offset:"GMT+2",label:"Africa/Mbabane"},{offset:"GMT+3",label:"Africa/Mogadishu"},{offset:"GMT",label:"Africa/Monrovia"},{offset:"GMT+3",label:"Africa/Nairobi"},{offset:"GMT+1",label:"Africa/Ndjamena"},{offset:"GMT+1",label:"Africa/Niamey"},{offset:"GMT",label:"Africa/Nouakchott"},{offset:"GMT",label:"Africa/Ouagadougou"},{offset:"GMT+1",label:"Africa/Porto-Novo"},{offset:"GMT",label:"Africa/Sao_Tome"},{offset:"GMT+2",label:"Africa/Tripoli"},{offset:"GMT+1",label:"Africa/Tunis"},{offset:"GMT+2",label:"Africa/Windhoek"},{offset:"GMT-9",label:"America/Adak"},{offset:"GMT-8",label:"America/Anchorage"},{offset:"GMT-4",label:"America/Anguilla"},{offset:"GMT-4",label:"America/Antigua"},{offset:"GMT-3",label:"America/Araguaina"},{offset:"GMT-3",label:"America/Argentina/La_Rioja"},{offset:"GMT-3",label:"America/Argentina/Rio_Gallegos"},{offset:"GMT-3",label:"America/Argentina/Salta"},{offset:"GMT-3",label:"America/Argentina/San_Juan"},{offset:"GMT-3",label:"America/Argentina/San_Luis"},{offset:"GMT-3",label:"America/Argentina/Tucuman"},{offset:"GMT-3",label:"America/Argentina/Ushuaia"},{offset:"GMT-4",label:"America/Aruba"},{offset:"GMT-3",label:"America/Asuncion"},{offset:"GMT-3",label:"America/Bahia"},{offset:"GMT-6",label:"America/Bahia_Banderas"},{offset:"GMT-4",label:"America/Barbados"},{offset:"GMT-3",label:"America/Belem"},{offset:"GMT-6",label:"America/Belize"},{offset:"GMT-4",label:"America/Blanc-Sablon"},{offset:"GMT-4",label:"America/Boa_Vista"},{offset:"GMT-5",label:"America/Bogota"},{offset:"GMT-6",label:"America/Boise"},{offset:"GMT-3",label:"America/Buenos_Aires"},{offset:"GMT-6",label:"America/Cambridge_Bay"},{offset:"GMT-4",label:"America/Campo_Grande"},{offset:"GMT-5",label:"America/Cancun"},{offset:"GMT-4",label:"America/Caracas"},{offset:"GMT-3",label:"America/Catamarca"},{offset:"GMT-3",label:"America/Cayenne"},{offset:"GMT-5",label:"America/Cayman"},{offset:"GMT-5",label:"America/Chicago"},{offset:"GMT-6",label:"America/Chihuahua"},{offset:"GMT-6",label:"America/Ciudad_Juarez"},{offset:"GMT-5",label:"America/Coral_Harbour"},{offset:"GMT-3",label:"America/Cordoba"},{offset:"GMT-6",label:"America/Costa_Rica"},{offset:"GMT-7",label:"America/Creston"},{offset:"GMT-4",label:"America/Cuiaba"},{offset:"GMT-4",label:"America/Curacao"},{offset:"GMT",label:"America/Danmarkshavn"},{offset:"GMT-7",label:"America/Dawson"},{offset:"GMT-7",label:"America/Dawson_Creek"},{offset:"GMT-6",label:"America/Denver"},{offset:"GMT-4",label:"America/Detroit"},{offset:"GMT-4",label:"America/Dominica"},{offset:"GMT-6",label:"America/Edmonton"},{offset:"GMT-5",label:"America/Eirunepe"},{offset:"GMT-6",label:"America/El_Salvador"},{offset:"GMT-7",label:"America/Fort_Nelson"},{offset:"GMT-3",label:"America/Fortaleza"},{offset:"GMT-3",label:"America/Glace_Bay"},{offset:"GMT-1",label:"America/Godthab"},{offset:"GMT-3",label:"America/Goose_Bay"},{offset:"GMT-4",label:"America/Grand_Turk"},{offset:"GMT-4",label:"America/Grenada"},{offset:"GMT-4",label:"America/Guadeloupe"},{offset:"GMT-6",label:"America/Guatemala"},{offset:"GMT-5",label:"America/Guayaquil"},{offset:"GMT-4",label:"America/Guyana"},{offset:"GMT-3",label:"America/Halifax"},{offset:"GMT-4",label:"America/Havana"},{offset:"GMT-7",label:"America/Hermosillo"},{offset:"GMT-5",label:"America/Indiana/Knox"},{offset:"GMT-4",label:"America/Indiana/Marengo"},{offset:"GMT-4",label:"America/Indiana/Petersburg"},{offset:"GMT-5",label:"America/Indiana/Tell_City"},{offset:"GMT-4",label:"America/Indiana/Vevay"},{offset:"GMT-4",label:"America/Indiana/Vincennes"},{offset:"GMT-4",label:"America/Indiana/Winamac"},{offset:"GMT-4",label:"America/Indianapolis"},{offset:"GMT-6",label:"America/Inuvik"},{offset:"GMT-4",label:"America/Iqaluit"},{offset:"GMT-5",label:"America/Jamaica"},{offset:"GMT-3",label:"America/Jujuy"},{offset:"GMT-8",label:"America/Juneau"},{offset:"GMT-4",label:"America/Kentucky/Monticello"},{offset:"GMT-4",label:"America/Kralendijk"},{offset:"GMT-4",label:"America/La_Paz"},{offset:"GMT-5",label:"America/Lima"},{offset:"GMT-7",label:"America/Los_Angeles"},{offset:"GMT-4",label:"America/Louisville"},{offset:"GMT-4",label:"America/Lower_Princes"},{offset:"GMT-3",label:"America/Maceio"},{offset:"GMT-6",label:"America/Managua"},{offset:"GMT-4",label:"America/Manaus"},{offset:"GMT-4",label:"America/Marigot"},{offset:"GMT-4",label:"America/Martinique"},{offset:"GMT-5",label:"America/Matamoros"},{offset:"GMT-7",label:"America/Mazatlan"},{offset:"GMT-3",label:"America/Mendoza"},{offset:"GMT-5",label:"America/Menominee"},{offset:"GMT-6",label:"America/Merida"},{offset:"GMT-8",label:"America/Metlakatla"},{offset:"GMT-6",label:"America/Mexico_City"},{offset:"GMT-2",label:"America/Miquelon"},{offset:"GMT-3",label:"America/Moncton"},{offset:"GMT-6",label:"America/Monterrey"},{offset:"GMT-3",label:"America/Montevideo"},{offset:"GMT-4",label:"America/Montserrat"},{offset:"GMT-4",label:"America/Nassau"},{offset:"GMT-4",label:"America/New_York"},{offset:"GMT-8",label:"America/Nome"},{offset:"GMT-2",label:"America/Noronha"},{offset:"GMT-5",label:"America/North_Dakota/Beulah"},{offset:"GMT-5",label:"America/North_Dakota/Center"},{offset:"GMT-5",label:"America/North_Dakota/New_Salem"},{offset:"GMT-5",label:"America/Ojinaga"},{offset:"GMT-5",label:"America/Panama"},{offset:"GMT-3",label:"America/Paramaribo"},{offset:"GMT-7",label:"America/Phoenix"},{offset:"GMT-4",label:"America/Port-au-Prince"},{offset:"GMT-4",label:"America/Port_of_Spain"},{offset:"GMT-4",label:"America/Porto_Velho"},{offset:"GMT-4",label:"America/Puerto_Rico"},{offset:"GMT-3",label:"America/Punta_Arenas"},{offset:"GMT-5",label:"America/Rankin_Inlet"},{offset:"GMT-3",label:"America/Recife"},{offset:"GMT-6",label:"America/Regina"},{offset:"GMT-5",label:"America/Resolute"},{offset:"GMT-5",label:"America/Rio_Branco"},{offset:"GMT-3",label:"America/Santarem"},{offset:"GMT-3",label:"America/Santiago"},{offset:"GMT-4",label:"America/Santo_Domingo"},{offset:"GMT-3",label:"America/Sao_Paulo"},{offset:"GMT-1",label:"America/Scoresbysund"},{offset:"GMT-8",label:"America/Sitka"},{offset:"GMT-4",label:"America/St_Barthelemy"},{offset:"GMT-2:30",label:"America/St_Johns"},{offset:"GMT-4",label:"America/St_Kitts"},{offset:"GMT-4",label:"America/St_Lucia"},{offset:"GMT-4",label:"America/St_Thomas"},{offset:"GMT-4",label:"America/St_Vincent"},{offset:"GMT-6",label:"America/Swift_Current"},{offset:"GMT-6",label:"America/Tegucigalpa"},{offset:"GMT-3",label:"America/Thule"},{offset:"GMT-7",label:"America/Tijuana"},{offset:"GMT-4",label:"America/Toronto"},{offset:"GMT-4",label:"America/Tortola"},{offset:"GMT-7",label:"America/Vancouver"},{offset:"GMT-7",label:"America/Whitehorse"},{offset:"GMT-5",label:"America/Winnipeg"},{offset:"GMT-8",label:"America/Yakutat"},{offset:"GMT+8",label:"Antarctica/Casey"},{offset:"GMT+7",label:"Antarctica/Davis"},{offset:"GMT+10",label:"Antarctica/DumontDUrville"},{offset:"GMT+11",label:"Antarctica/Macquarie"},{offset:"GMT+5",label:"Antarctica/Mawson"},{offset:"GMT+13",label:"Antarctica/McMurdo"},{offset:"GMT-3",label:"Antarctica/Palmer"},{offset:"GMT-3",label:"Antarctica/Rothera"},{offset:"GMT+3",label:"Antarctica/Syowa"},{offset:"GMT+2",label:"Antarctica/Troll"},{offset:"GMT+5",label:"Antarctica/Vostok"},{offset:"GMT+2",label:"Arctic/Longyearbyen"},{offset:"GMT+3",label:"Asia/Aden"},{offset:"GMT+5",label:"Asia/Almaty"},{offset:"GMT+3",label:"Asia/Amman"},{offset:"GMT+12",label:"Asia/Anadyr"},{offset:"GMT+5",label:"Asia/Aqtau"},{offset:"GMT+5",label:"Asia/Aqtobe"},{offset:"GMT+5",label:"Asia/Ashgabat"},{offset:"GMT+5",label:"Asia/Atyrau"},{offset:"GMT+3",label:"Asia/Baghdad"},{offset:"GMT+3",label:"Asia/Bahrain"},{offset:"GMT+4",label:"Asia/Baku"},{offset:"GMT+7",label:"Asia/Bangkok"},{offset:"GMT+7",label:"Asia/Barnaul"},{offset:"GMT+3",label:"Asia/Beirut"},{offset:"GMT+6",label:"Asia/Bishkek"},{offset:"GMT+8",label:"Asia/Brunei"},{offset:"GMT+5:30",label:"Asia/Calcutta"},{offset:"GMT+9",label:"Asia/Chita"},{offset:"GMT+5:30",label:"Asia/Colombo"},{offset:"GMT+3",label:"Asia/Damascus"},{offset:"GMT+6",label:"Asia/Dhaka"},{offset:"GMT+9",label:"Asia/Dili"},{offset:"GMT+4",label:"Asia/Dubai"},{offset:"GMT+5",label:"Asia/Dushanbe"},{offset:"GMT+3",label:"Asia/Famagusta"},{offset:"GMT+2",label:"Asia/Gaza"},{offset:"GMT+2",label:"Asia/Hebron"},{offset:"GMT+8",label:"Asia/Hong_Kong"},{offset:"GMT+7",label:"Asia/Hovd"},{offset:"GMT+8",label:"Asia/Irkutsk"},{offset:"GMT+7",label:"Asia/Jakarta"},{offset:"GMT+9",label:"Asia/Jayapura"},{offset:"GMT+3",label:"Asia/Jerusalem"},{offset:"GMT+4:30",label:"Asia/Kabul"},{offset:"GMT+12",label:"Asia/Kamchatka"},{offset:"GMT+5",label:"Asia/Karachi"},{offset:"GMT+5:45",label:"Asia/Katmandu"},{offset:"GMT+9",label:"Asia/Khandyga"},{offset:"GMT+7",label:"Asia/Krasnoyarsk"},{offset:"GMT+8",label:"Asia/Kuala_Lumpur"},{offset:"GMT+8",label:"Asia/Kuching"},{offset:"GMT+3",label:"Asia/Kuwait"},{offset:"GMT+8",label:"Asia/Macau"},{offset:"GMT+11",label:"Asia/Magadan"},{offset:"GMT+8",label:"Asia/Makassar"},{offset:"GMT+8",label:"Asia/Manila"},{offset:"GMT+4",label:"Asia/Muscat"},{offset:"GMT+3",label:"Asia/Nicosia"},{offset:"GMT+7",label:"Asia/Novokuznetsk"},{offset:"GMT+7",label:"Asia/Novosibirsk"},{offset:"GMT+6",label:"Asia/Omsk"},{offset:"GMT+5",label:"Asia/Oral"},{offset:"GMT+7",label:"Asia/Phnom_Penh"},{offset:"GMT+7",label:"Asia/Pontianak"},{offset:"GMT+9",label:"Asia/Pyongyang"},{offset:"GMT+3",label:"Asia/Qatar"},{offset:"GMT+5",label:"Asia/Qostanay"},{offset:"GMT+5",label:"Asia/Qyzylorda"},{offset:"GMT+6:30",label:"Asia/Rangoon"},{offset:"GMT+3",label:"Asia/Riyadh"},{offset:"GMT+7",label:"Asia/Saigon"},{offset:"GMT+11",label:"Asia/Sakhalin"},{offset:"GMT+5",label:"Asia/Samarkand"},{offset:"GMT+9",label:"Asia/Seoul"},{offset:"GMT+8",label:"Asia/Shanghai"},{offset:"GMT+8",label:"Asia/Singapore"},{offset:"GMT+11",label:"Asia/Srednekolymsk"},{offset:"GMT+8",label:"Asia/Taipei"},{offset:"GMT+5",label:"Asia/Tashkent"},{offset:"GMT+4",label:"Asia/Tbilisi"},{offset:"GMT+3:30",label:"Asia/Tehran"},{offset:"GMT+6",label:"Asia/Thimphu"},{offset:"GMT+9",label:"Asia/Tokyo"},{offset:"GMT+7",label:"Asia/Tomsk"},{offset:"GMT+8",label:"Asia/Ulaanbaatar"},{offset:"GMT+6",label:"Asia/Urumqi"},{offset:"GMT+10",label:"Asia/Ust-Nera"},{offset:"GMT+7",label:"Asia/Vientiane"},{offset:"GMT+10",label:"Asia/Vladivostok"},{offset:"GMT+9",label:"Asia/Yakutsk"},{offset:"GMT+5",label:"Asia/Yekaterinburg"},{offset:"GMT+4",label:"Asia/Yerevan"},{offset:"GMT",label:"Atlantic/Azores"},{offset:"GMT-3",label:"Atlantic/Bermuda"},{offset:"GMT+1",label:"Atlantic/Canary"},{offset:"GMT-1",label:"Atlantic/Cape_Verde"},{offset:"GMT+1",label:"Atlantic/Faeroe"},{offset:"GMT+1",label:"Atlantic/Madeira"},{offset:"GMT",label:"Atlantic/Reykjavik"},{offset:"GMT-2",label:"Atlantic/South_Georgia"},{offset:"GMT",label:"Atlantic/St_Helena"},{offset:"GMT-3",label:"Atlantic/Stanley"},{offset:"GMT+10:30",label:"Australia/Adelaide"},{offset:"GMT+10",label:"Australia/Brisbane"},{offset:"GMT+10:30",label:"Australia/Broken_Hill"},{offset:"GMT+9:30",label:"Australia/Darwin"},{offset:"GMT+8:45",label:"Australia/Eucla"},{offset:"GMT+11",label:"Australia/Hobart"},{offset:"GMT+10",label:"Australia/Lindeman"},{offset:"GMT+11",label:"Australia/Lord_Howe"},{offset:"GMT+11",label:"Australia/Melbourne"},{offset:"GMT+8",label:"Australia/Perth"},{offset:"GMT+11",label:"Australia/Sydney"},{offset:"GMT+2",label:"Europe/Amsterdam"},{offset:"GMT+2",label:"Europe/Andorra"},{offset:"GMT+4",label:"Europe/Astrakhan"},{offset:"GMT+3",label:"Europe/Athens"},{offset:"GMT+2",label:"Europe/Belgrade"},{offset:"GMT+2",label:"Europe/Berlin"},{offset:"GMT+2",label:"Europe/Bratislava"},{offset:"GMT+2",label:"Europe/Brussels"},{offset:"GMT+3",label:"Europe/Bucharest"},{offset:"GMT+2",label:"Europe/Budapest"},{offset:"GMT+2",label:"Europe/Busingen"},{offset:"GMT+3",label:"Europe/Chisinau"},{offset:"GMT+2",label:"Europe/Copenhagen"},{offset:"GMT+1",label:"Europe/Dublin"},{offset:"GMT+2",label:"Europe/Gibraltar"},{offset:"GMT+1",label:"Europe/Guernsey"},{offset:"GMT+3",label:"Europe/Helsinki"},{offset:"GMT+1",label:"Europe/Isle_of_Man"},{offset:"GMT+3",label:"Europe/Istanbul"},{offset:"GMT+1",label:"Europe/Jersey"},{offset:"GMT+2",label:"Europe/Kaliningrad"},{offset:"GMT+3",label:"Europe/Kiev"},{offset:"GMT+3",label:"Europe/Kirov"},{offset:"GMT+1",label:"Europe/Lisbon"},{offset:"GMT+2",label:"Europe/Ljubljana"},{offset:"GMT+1",label:"Europe/London"},{offset:"GMT+2",label:"Europe/Luxembourg"},{offset:"GMT+2",label:"Europe/Madrid"},{offset:"GMT+2",label:"Europe/Malta"},{offset:"GMT+3",label:"Europe/Mariehamn"},{offset:"GMT+3",label:"Europe/Minsk"},{offset:"GMT+2",label:"Europe/Monaco"},{offset:"GMT+3",label:"Europe/Moscow"},{offset:"GMT+2",label:"Europe/Oslo"},{offset:"GMT+2",label:"Europe/Paris"},{offset:"GMT+2",label:"Europe/Podgorica"},{offset:"GMT+2",label:"Europe/Prague"},{offset:"GMT+3",label:"Europe/Riga"},{offset:"GMT+2",label:"Europe/Rome"},{offset:"GMT+4",label:"Europe/Samara"},{offset:"GMT+2",label:"Europe/San_Marino"},{offset:"GMT+2",label:"Europe/Sarajevo"},{offset:"GMT+4",label:"Europe/Saratov"},{offset:"GMT+3",label:"Europe/Simferopol"},{offset:"GMT+2",label:"Europe/Skopje"},{offset:"GMT+3",label:"Europe/Sofia"},{offset:"GMT+2",label:"Europe/Stockholm"},{offset:"GMT+3",label:"Europe/Tallinn"},{offset:"GMT+2",label:"Europe/Tirane"},{offset:"GMT+4",label:"Europe/Ulyanovsk"},{offset:"GMT+2",label:"Europe/Vaduz"},{offset:"GMT+2",label:"Europe/Vatican"},{offset:"GMT+2",label:"Europe/Vienna"},{offset:"GMT+3",label:"Europe/Vilnius"},{offset:"GMT+3",label:"Europe/Volgograd"},{offset:"GMT+2",label:"Europe/Warsaw"},{offset:"GMT+2",label:"Europe/Zagreb"},{offset:"GMT+2",label:"Europe/Zurich"},{offset:"GMT+3",label:"Indian/Antananarivo"},{offset:"GMT+6",label:"Indian/Chagos"},{offset:"GMT+7",label:"Indian/Christmas"},{offset:"GMT+6:30",label:"Indian/Cocos"},{offset:"GMT+3",label:"Indian/Comoro"},{offset:"GMT+5",label:"Indian/Kerguelen"},{offset:"GMT+4",label:"Indian/Mahe"},{offset:"GMT+5",label:"Indian/Maldives"},{offset:"GMT+4",label:"Indian/Mauritius"},{offset:"GMT+3",label:"Indian/Mayotte"},{offset:"GMT+4",label:"Indian/Reunion"},{offset:"GMT+13",label:"Pacific/Apia"},{offset:"GMT+13",label:"Pacific/Auckland"},{offset:"GMT+11",label:"Pacific/Bougainville"},{offset:"GMT+13:45",label:"Pacific/Chatham"},{offset:"GMT-5",label:"Pacific/Easter"},{offset:"GMT+11",label:"Pacific/Efate"},{offset:"GMT+13",label:"Pacific/Enderbury"},{offset:"GMT+13",label:"Pacific/Fakaofo"},{offset:"GMT+12",label:"Pacific/Fiji"},{offset:"GMT+12",label:"Pacific/Funafuti"},{offset:"GMT-6",label:"Pacific/Galapagos"},{offset:"GMT-9",label:"Pacific/Gambier"},{offset:"GMT+11",label:"Pacific/Guadalcanal"},{offset:"GMT+10",label:"Pacific/Guam"},{offset:"GMT-10",label:"Pacific/Honolulu"},{offset:"GMT+14",label:"Pacific/Kiritimati"},{offset:"GMT+11",label:"Pacific/Kosrae"},{offset:"GMT+12",label:"Pacific/Kwajalein"},{offset:"GMT+12",label:"Pacific/Majuro"},{offset:"GMT-9:30",label:"Pacific/Marquesas"},{offset:"GMT-11",label:"Pacific/Midway"},{offset:"GMT+12",label:"Pacific/Nauru"},{offset:"GMT-11",label:"Pacific/Niue"},{offset:"GMT+12",label:"Pacific/Norfolk"},{offset:"GMT+11",label:"Pacific/Noumea"},{offset:"GMT-11",label:"Pacific/Pago_Pago"},{offset:"GMT+9",label:"Pacific/Palau"},{offset:"GMT-8",label:"Pacific/Pitcairn"},{offset:"GMT+11",label:"Pacific/Ponape"},{offset:"GMT+10",label:"Pacific/Port_Moresby"},{offset:"GMT-10",label:"Pacific/Rarotonga"},{offset:"GMT+10",label:"Pacific/Saipan"},{offset:"GMT-10",label:"Pacific/Tahiti"},{offset:"GMT+12",label:"Pacific/Tarawa"},{offset:"GMT+13",label:"Pacific/Tongatapu"},{offset:"GMT+10",label:"Pacific/Truk"},{offset:"GMT+12",label:"Pacific/Wake"},{offset:"GMT+12",label:"Pacific/Wallis"}].sort((e,t)=>this.compareOffsets(e.offset,t.offset))),this.tz.unshift({offset:"",label:"System Timezone -"}),this.dateTimezone.setValidators([D.required,dn(this.tz)]),this.filteredTZ=this.dateTimezone.valueChanges.pipe(Mt(500),Re(""),Ve(e=>this.filterTZ(e||""))),this.filteredTZSubscription=this.filteredTZ.subscribe()}filterTZ(e){let t=e.toLowerCase();return this.tz.filter(a=>a.label.toLowerCase().includes(t))}compareOffsets(e,t){let a=l=>{let d=l.match(/([+-]?)(\d+)(?::(\d+))?/);if(!d)return 0;let h=d[1]==="-"?-1:1,x=parseInt(d[2],10),Z=d[3]?parseInt(d[3],10):0;return h*(x*60+Z)};return a(e)-a(t)}ngOnDestroy(){this.filteredTZSubscription?.unsubscribe()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["display-datetime-options"]],inputs:{dateFormat:[1,"dateFormat"],dateTimezone:"dateTimezone"},decls:15,vars:6,consts:[["timeZoneAutoComplete","matAutocomplete"],[1,"widget-options-grid"],[1,"options-grid-span2"],["matInput","","placeholder","dd/MM/yyyy HH:mm:ss","name","dateFormat","required","",3,"formControl"],["type","text","matInput","","placeholder","Type to use autocomplete","name","dateTimezone","required","",3,"formControl","matAutocomplete"],["mat-icon-button","","matSuffix","","aria-label","Clear"],[3,"value"],["mat-icon-button","","matSuffix","","aria-label","Clear",3,"click"],[1,"fa-solid","fa-close"]],template:function(t,a){if(t&1&&(n(0,"div",1)(1,"mat-form-field",2)(2,"mat-label"),r(3,"Date & Time Format"),o(),_(4,"input",3),o(),n(5,"mat-form-field",2)(6,"mat-label"),r(7,"Adjust Value to Time Zone"),o(),_(8,"input",4),u(9,sn,2,0,"button",5),n(10,"mat-autocomplete",null,0),T(12,cn,2,3,"mat-option",6,St),Ke(14,"async"),o()()()),t&2){let l=ie(11);s(4),p("formControl",a.dateFormat()),s(4),p("formControl",a.dateTimezone)("matAutocomplete",l),s(),f(a.dateTimezone.value?9:-1),s(3),S($e(14,4,a.filteredTZ))}},dependencies:[L,O,W,R,B,F,P,I,re,_t,H,at,jt,U,At],encapsulation:2})}return i})();var Qi=()=>["measuring","capacity"],pn=()=>["marineCompass","baseplateCompass"];function un(i,c){if(i&1&&_(0,"config-display-chart-options",5),i&2){let e=g();p("displayName",e.displayNameToControl)("datasetUUID",e.datasetUUIDToControl)("convertUnitTo",e.convertUnitToControl)("showAverageData",e.showAverageDataToControl)("trackAgainstAverage",e.trackAgainstAverageToControl)("datasetAverageArray",e.datasetAverageArrayToControl)("showDatasetMinimumValueLine",e.showDatasetMinimumValueLineToControl)("showDatasetMaximumValueLine",e.showDatasetMaximumValueLineToControl)("showDatasetAverageValueLine",e.showDatasetAverageValueLineToControl)("showDatasetAngleAverageValueLine",e.showDatasetAngleAverageValueLineToControl)("startScaleAtZero",e.startScaleAtZeroToControl)("showLabel",e.showLabelToControl)("showTimeScale",e.showTimeScaleToControl)("showYScale",e.showYScaleToControl)("yScaleSuggestedMin",e.yScaleSuggestedMinToControl)("yScaleSuggestedMax",e.yScaleSuggestedMaxToControl)("enableMinMaxScaleLimit",e.enableMinMaxScaleLimitToControl)("yScaleMin",e.yScaleMinToControl)("yScaleMax",e.yScaleMaxToControl)("numDecimal",e.numDecimalToControl)("verticalGraph",e.verticalGraphToControl)("color",e.colorToControl)}}function fn(i,c){i&1&&(n(0,"mat-form-field",15)(1,"mat-label"),r(2,"URL"),o(),_(3,"input",34),o())}function gn(i,c){i&1&&(n(0,"mat-checkbox",16),r(1," Allow pointer events on embedded content. WARNING: this may prevent swipe gestures over the Embed widget or keyboard events, while the focus is in the embed, from triggering normal KIP interactions. "),o())}function hn(i,c){i&1&&(n(0,"mat-form-field",15)(1,"mat-label"),r(2,"Widget Label"),o(),_(3,"input",35),o())}function bn(i,c){i&1&&(n(0,"mat-form-field",36)(1,"mat-label"),r(2,"Scale Start"),o(),_(3,"input",37),o(),n(4,"mat-form-field",36)(5,"mat-label"),r(6,"Scale End"),o(),_(7,"input",38),o())}function _n(i,c){i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Integer Places"),o(),_(3,"input",39),o())}function Cn(i,c){if(i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Decimal Places"),o(),_(3,"input",40),o()),i&2){let e=g(2);q("options-grid-span2",!e.widgetConfig.numInt)}}function vn(i,c){i&1&&(n(0,"mat-checkbox",18),r(1," Show Min recorded value "),o())}function Mn(i,c){i&1&&(n(0,"mat-checkbox",19),r(1," Show Max recorded value "),o())}function yn(i,c){if(i&1&&_(0,"display-datetime-options",20),i&2){let e=g(2);p("dateFormat",e.dateFormatToControl)("dateTimezone",e.dateTimezoneToControl)}}function Tn(i,c){i&1&&(n(0,"mat-checkbox",21),r(1," Display True Heading "),o())}function Sn(i,c){i&1&&(n(0,"mat-checkbox",22),r(1," Invert Rudder Angle "),o())}function xn(i,c){i&1&&(n(0,"mat-checkbox",23),r(1," Show Close-hauled Lines "),o())}function wn(i,c){i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Vessel Close-hauled Angle"),o(),_(3,"input",41),o())}function An(i,c){i&1&&(n(0,"mat-checkbox",24),r(1," Show Wind Sectors "),o())}function Gn(i,c){i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Wind Sector Duration"),o(),_(3,"input",42),o())}function En(i,c){if(i&1){let e=w();n(0,"mat-checkbox",43),C("change",function(){M(e);let a=g(2);return y(a.setPaths())}),r(1," Show Apparent Wind Speed Value "),o()}}function kn(i,c){if(i&1){let e=w();n(0,"mat-checkbox",44),C("change",function(){M(e);let a=g(2);return y(a.setPaths())}),r(1," Show True Wind Speed Value "),o()}}function Dn(i,c){if(i&1){let e=w();n(0,"mat-checkbox",45),C("change",function(){M(e);let a=g(2);return y(a.setPaths())}),r(1," Show Course Over Ground "),o()}}function Fn(i,c){if(i&1){let e=w();n(0,"mat-checkbox",46),C("change",function(){M(e);let a=g(2);return y(a.setPaths())}),r(1," Show Next Waypoint "),o()}}function Pn(i,c){if(i&1){let e=w();n(0,"mat-checkbox",47),C("change",function(){M(e);let a=g(2);return y(a.setPaths())}),r(1," Show Drift "),o()}}function In(i,c){i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Minimum Value"),o(),_(3,"input",48),o())}function On(i,c){i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Maximum Value"),o(),_(3,"input",49),o())}function Ln(i,c){i&1&&(n(0,"mat-checkbox",30),r(1," Ignore Zones configuration "),o())}function Vn(i,c){i&1&&(n(0,"mat-form-field",31)(1,"mat-label"),r(2,"Highlights Width"),o(),_(3,"input",50),o())}function Nn(i,c){i&1&&(n(0,"mat-form-field",32)(1,"mat-label"),r(2,"Rotation Element"),o(),n(3,"mat-select",51)(4,"mat-option",52),r(5,"Dial (Marine Compass)"),o(),n(6,"mat-option",53),r(7,"Needle (Base plate compass)"),o()()(),n(8,"div",31)(9,"mat-checkbox",54),r(10," Show value box "),o()(),n(11,"div",31)(12,"mat-checkbox",55),r(13," Show cardinal degrees "),o()())}function Bn(i,c){i&1&&(n(0,"mat-form-field",31)(1,"mat-label"),r(2,"Progress Bar Start Angle"),o(),_(3,"input",58),o())}function Rn(i,c){if(i&1&&(n(0,"mat-form-field",31)(1,"mat-label"),r(2,"Gauge Type"),o(),n(3,"mat-select",51)(4,"mat-option",56),r(5,"Measuring"),o(),n(6,"mat-option",57),r(7,"Capacity"),o()()(),u(8,Bn,4,0,"mat-form-field",31)),i&2){let e=g(3);s(8),f(e.formMaster.value.gauge.subType==="capacity"?8:-1)}}function Wn(i,c){if(i&1&&u(0,Nn,14,0)(1,Rn,9,1),i&2){let e=g(2);f(wt(1,pn).indexOf(e.formMaster.value.gauge.subType)>-1?0:wt(2,Qi).indexOf(e.formMaster.value.gauge.subType)>-1?1:-1)}}function Un(i,c){i&1&&(n(0,"div",31)(1,"mat-checkbox",59),r(2," Use needle indicator "),o()(),n(3,"div",31)(4,"mat-checkbox",60),r(5," Enable Ticks "),o()(),n(6,"mat-form-field",32)(7,"mat-label"),r(8,"Orientation"),o(),n(9,"mat-select",61)(10,"mat-option",62),r(11,"Vertical"),o(),n(12,"mat-option",63),r(13,"Horizontal"),o()()())}function qn(i,c){i&1&&(n(0,"mat-form-field",32)(1,"mat-label"),r(2,"Unit Label"),o(),n(3,"mat-select",64)(4,"mat-option",65),r(5,"Full Label"),o(),n(6,"mat-option",66),r(7,"First Letter Only"),o()()())}function jn(i,c){if(i&1&&(n(0,"mat-option",68),r(1),o()),i&2){let e=c.$implicit;p("value",Ie(e.value)),s(),A(e.label)}}function zn(i,c){if(i&1&&(n(0,"mat-form-field",15)(1,"mat-label"),r(2,"Color"),o(),n(3,"mat-select",67),T(4,jn,2,3,"mat-option",68,G),o()()),i&2){let e=g(2);s(4),S(e.colors)}}function Hn(i,c){i&1&&(n(0,"mat-checkbox",33),r(1," Disable background color "),o())}function Kn(i,c){if(i&1&&(n(0,"mat-option",68),r(1),o()),i&2){let e=c.$implicit;p("value",Ie(e.value)),s(),A(e.label)}}function $n(i,c){if(i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Background Color"),o(),n(3,"mat-select",69),T(4,Kn,2,3,"mat-option",68,G),o()()),i&2){let e=g(2);s(4),S(e.colors)}}function Yn(i,c){i&1&&(n(0,"mat-form-field",31)(1,"mat-label"),r(2,"Background Style"),o(),n(3,"mat-select",70)(4,"mat-option",71),r(5,"Dark Gray"),o(),n(6,"mat-option",72),r(7,"Satin Gray"),o(),n(8,"mat-option",73),r(9,"Light Gray"),o(),n(10,"mat-option",74),r(11,"White"),o(),n(12,"mat-option",75),r(13,"Black"),o(),n(14,"mat-option",76),r(15,"Beige"),o(),n(16,"mat-option",77),r(17,"Brown"),o(),n(18,"mat-option",78),r(19,"Red"),o(),n(20,"mat-option",79),r(21,"Green"),o(),n(22,"mat-option",80),r(23,"Blue"),o(),n(24,"mat-option",81),r(25,"Anthracite"),o(),n(26,"mat-option",82),r(27,"Mud"),o(),n(28,"mat-option",83),r(29,"Punched Sheet"),o(),n(30,"mat-option",84),r(31,"Carbon"),o(),n(32,"mat-option",85),r(33,"Stainless"),o(),n(34,"mat-option",86),r(35,"Brushed Metal"),o(),n(36,"mat-option",87),r(37,"Brushed Stainless"),o(),n(38,"mat-option",88),r(39,"Turned"),o()()(),n(40,"mat-form-field",31)(41,"mat-label"),r(42,"Frame Style"),o(),n(43,"mat-select",89)(44,"mat-option",90),r(45,"Black Metal"),o(),n(46,"mat-option",91),r(47,"Metal"),o(),n(48,"mat-option",92),r(49,"Shiny Metal"),o(),n(50,"mat-option",93),r(51,"Brass"),o(),n(52,"mat-option",94),r(53,"Steel"),o(),n(54,"mat-option",95),r(55,"Chrome"),o(),n(56,"mat-option",96),r(57,"Gold"),o(),n(58,"mat-option",81),r(59,"Anthracite"),o(),n(60,"mat-option",97),r(61,"Tilted Gray"),o(),n(62,"mat-option",98),r(63,"Tilted Black"),o(),n(64,"mat-option",99),r(65,"Glossy Metal"),o()()())}function Zn(i,c){if(i&1&&(n(0,"div",6)(1,"div",14),u(2,fn,4,0,"mat-form-field",15),u(3,gn,2,0,"mat-checkbox",16),u(4,hn,4,0,"mat-form-field",15),u(5,bn,8,0),u(6,_n,4,0,"mat-form-field"),u(7,Cn,4,2,"mat-form-field",17),u(8,vn,2,0,"mat-checkbox",18),u(9,Mn,2,0,"mat-checkbox",19),u(10,yn,1,2,"display-datetime-options",20),u(11,Tn,2,0,"mat-checkbox",21),u(12,Sn,2,0,"mat-checkbox",22),u(13,xn,2,0,"mat-checkbox",23),u(14,wn,4,0,"mat-form-field"),u(15,An,2,0,"mat-checkbox",24),u(16,Gn,4,0,"mat-form-field"),u(17,En,2,0,"mat-checkbox",25),u(18,kn,2,0,"mat-checkbox",26),u(19,Dn,2,0,"mat-checkbox",27),u(20,Fn,2,0,"mat-checkbox",28),u(21,Pn,2,0,"mat-checkbox",29),u(22,In,4,0,"mat-form-field"),u(23,On,4,0,"mat-form-field"),u(24,Ln,2,0,"mat-checkbox",30),u(25,Vn,4,0,"mat-form-field",31),u(26,Wn,2,3),u(27,Un,14,0),u(28,qn,8,0,"mat-form-field",32),u(29,zn,6,0,"mat-form-field",15),u(30,Hn,2,0,"mat-checkbox",33),u(31,$n,6,0,"mat-form-field"),u(32,Yn,66,0),o()()),i&2){let e=g();s(2),f(e.widgetConfig.widgetUrl!==void 0?2:-1),s(),f(e.widgetConfig.allowInput!==void 0?3:-1),s(),f(e.widgetConfig.displayName!==void 0?4:-1),s(),f(e.formMaster.get("displayScale")?5:-1),s(),f(e.widgetConfig.numInt!==void 0?6:-1),s(),f(e.widgetConfig.numDecimal!==void 0?7:-1),s(),f(e.widgetConfig.showMin!==void 0?8:-1),s(),f(e.widgetConfig.showMax!==void 0?9:-1),s(),f(e.widgetConfig.dateFormat!==void 0?10:-1),s(),f(e.widgetConfig.headingDirectionTrue!==void 0?11:-1),s(),f(e.widgetConfig.invertRudder!==void 0?12:-1),s(),f(e.widgetConfig.laylineEnable!==void 0?13:-1),s(),f(e.widgetConfig.laylineEnable!==void 0?14:-1),s(),f(e.widgetConfig.windSectorEnable!==void 0?15:-1),s(),f(e.widgetConfig.windSectorEnable!==void 0?16:-1),s(),f(e.widgetConfig.awsEnable!==void 0?17:-1),s(),f(e.widgetConfig.twsEnable!==void 0?18:-1),s(),f(e.widgetConfig.courseOverGroundEnable!==void 0?19:-1),s(),f(e.widgetConfig.waypointEnable!==void 0?20:-1),s(),f(e.widgetConfig.driftEnable!==void 0?21:-1),s(),f(e.widgetConfig.minValue!==void 0&&!e.formMaster.get("displayScale")?22:-1),s(),f(e.widgetConfig.maxValue!==void 0&&!e.formMaster.get("displayScale")?23:-1),s(),f(e.widgetConfig.ignoreZones!==void 0?24:-1),s(),f((e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="ngRadial"&&wt(31,Qi).includes(e.formMaster.value.gauge.subType)||(e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="ngLinear"?25:-1),s(),f((e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="ngRadial"?26:-1),s(),f((e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="ngLinear"?27:-1),s(),f((e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="simpleLinear"?28:-1),s(),f(e.widgetConfig.color!==void 0?29:-1),s(),f(e.widgetConfig.noBgColor!==void 0?30:-1),s(),f(e.widgetConfig.bgColor!==void 0?31:-1),s(),f((e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="steel"?32:-1)}}function Xn(i,c){if(i&1&&(_(0,"span",103),r(1,"\xA0Controls ")),i&2){let e=g(2);ze(e.formMaster.controls.multiChildCtrls.valid?"display: none":"display: block")}}function Qn(i,c){if(i&1){let e=w();n(0,"mat-tab",7)(1,"div",100)(2,"div"),ae(3,Xn,2,2,"ng-template",101),o(),n(4,"boolean-multicontrol-options",102),C("addPath",function(a){M(e);let l=g();return y(l.addPathGroup(a))})("updatePath",function(a){M(e);let l=g();return y(l.updatePath(a))})("delPath",function(a){M(e);let l=g();return y(l.deletePath(a))}),o()()()}if(i&2){let e=g();s(4),p("multiCtrlArray",e.multiChildCtrlsToControl)}}function Jn(i,c){if(i&1&&(n(0,"span",105),r(1," error "),o(),r(2," \xA0Paths ")),i&2){let e=g(2);ze(e.formMaster.controls.paths.valid?"display: none":"display: block")}}function er(i,c){if(i&1&&(n(0,"mat-tab",8)(1,"div",100)(2,"div"),ae(3,Jn,3,2,"ng-template",101),o(),_(4,"paths-options",104),o()()),i&2){let e=g();s(4),p("isArray",e.isPathArray)("enableTimeout",e.enableTimeoutToControl)("dataTimeout",e.dataTimeoutToControl)("filterSelfPaths",e.filterSelfPathsToControl)("addPathEvent",e.addPathEvent)("delPathEvent",e.delPathEvent)("updatePathEvent",e.updatePathEvent)}}function tr(i,c){i&1&&(n(0,"p")(1,"mat-checkbox",108),r(2," Digital display "),o()())}function ar(i,c){i&1&&(n(0,"mat-form-field",15)(1,"mat-label"),r(2,"Dial Size"),o(),n(3,"mat-select",109)(4,"mat-option",110),r(5,"1/4"),o(),n(6,"mat-option",111),r(7,"1/2"),o(),n(8,"mat-option",112),r(9,"3/4"),o(),n(10,"mat-option",65),r(11,"Full"),o()()())}function ir(i,c){if(i&1&&(n(0,"mat-tab",9)(1,"div",6)(2,"mat-form-field",15)(3,"mat-label"),r(4,"Gauge Type"),o(),n(5,"mat-select",61)(6,"mat-option",106),r(7,"Linear"),o(),n(8,"mat-option",107),r(9,"Radial"),o()()(),u(10,tr,3,0,"p"),u(11,ar,12,0,"mat-form-field",15),o()()),i&2){let e=g();s(10),f(e.formMaster.value.gauge.subType==="linear"?10:-1),s(),f(e.formMaster.value.gauge.subType==="radial"?11:-1)}}function or(i,c){i&1&&(n(0,"p")(1,"mat-checkbox",115),r(2," Value to send on button push (checked = on, unchecked = off) "),o()())}function nr(i,c){if(i&1&&(n(0,"mat-tab",10)(1,"div",100)(2,"p")(3,"mat-checkbox",113),r(4," Enable Put Requests "),o()(),n(5,"p")(6,"mat-checkbox",114),r(7," Momentary mode (instead of switching between on/off) "),o()(),u(8,or,3,0,"p"),o()()),i&2){let e=g();s(8),f(e.formMaster.controls.putMomentary.value?8:-1)}}function rr(i,c){i&1&&_(0,"span",103)}function lr(i,c){if(i&1&&(u(0,rr,1,0,"span",103),r(1," Dataset ")),i&2){let e=g(2);f(e.formMaster.controls.datasetUUID.valid?-1:0)}}function sr(i,c){if(i&1&&(n(0,"mat-tab",11),ae(1,lr,2,1,"ng-template",101),_(2,"config-dataset-chart-options",116),o()),i&2){let e=g();s(2),p("datasetUUID",e.datasetUUIDToControl)("convertUnitTo",e.convertUnitToControl)}}var Ji=(()=>{class i{dialogRef=m(Te);fb=m(tt);DatasetService=m(ot);units=m(nt);app=m(Ze);widgetConfig=m(Se);titleDialog="Widget Options";formMaster;availableDataSets;unitList={};isPathArray=!1;addPathEvent;delPathEvent;updatePathEvent;colors=[];ngOnInit(){this.availableDataSets=this.DatasetService.list().sort(),this.unitList=this.units.getConversionsForPath(""),this.formMaster=this.generateFormGroups(this.widgetConfig),this.setFormOptions(),this.colors=this.app.configurableThemeColors}generateFormGroups(e,t){let a=this.fb.group({});return Object.keys(e).forEach(l=>{if(typeof e[l]=="object"&&e[l]!==null){if(l=="multiChildCtrls"){a.addControl(l,this.fb.array([]));let d=a.get(l);e[l].forEach(h=>{d.push(this.generateCtrlArray(h))})}else if(l=="displayScale")a.addControl(l,this.generateFormGroups(e[l],l));else if(l=="gauge")a.addControl(l,this.generateFormGroups(e[l],l));else if(l=="paths")if(this.widgetConfig.multiChildCtrls!==void 0){this.isPathArray=!0,a.addControl(l,this.fb.array([]));let d=a.get(l);Object.keys(e[l]).forEach(h=>{let x=this.widgetConfig.paths[h];x&&x.isPathConfigurable&&d.push(this.generatePathArray(h,x))})}else{let d=this.fb.group({});Object.keys(e[l]).forEach(h=>{let x=this.widgetConfig.paths[h];x&&x.isPathConfigurable&&d.addControl(h,this.generateFormGroups(x,h))}),a.addControl(l,d)}t=="paths"&&a.addControl(l,this.generateFormGroups(e[l],l))}else if(t=="convertUnitTo")(this.widgetConfig.paths[l].pathType=="number"||"datasetUUID"in this.widgetConfig)&&a.addControl(l,new $(e[l]));else switch(l){case"path":a.addControl(l,new $(e[l]));break;case"datasetUUID":a.addControl(l,new $(e[l],D.required));break;case"dataTimeout":a.addControl(l,new $(e[l],D.required));break;default:a.addControl(l,new $(e[l]));break}}),a}generatePathArray(e,t){let a=new ci({});return Object.keys(t).forEach(l=>{a.addControl(l,this.generatePathFields(l,t[l]))}),a}generatePathFields(e,t){let a=null;switch(e){case"path":a=new $(t);break;case"source":a=new $(t,D.required);break;case"sampleTime":a=new $(t,D.required);break;default:a=new $(t);break}return a}generateCtrlArray(e){let t=this.fb.group(e);return t.get("ctrlLabel").addValidators(D.required),t}addPathGroup(e){this.addPathEvent=e}updatePath(e){e.forEach(t=>{this.formMaster.get("paths").controls.forEach(l=>{l.get("pathID").value==t.pathID&&(l.controls.description.setValue(t.ctrlLabel),l.controls.pathType.setValue(t.isNumeric?"number":"boolean"),this.updatePathEvent=e)})})}deletePath(e){let t=this.formMaster.get("paths"),a=0;t.controls.forEach(d=>{d.get("pathID").value==e.pathID?t.removeAt(a):a++}),this.formMaster.get("multiChildCtrls").removeAt(e.ctrlIndex),this.delPathEvent=e.pathID,this.formMaster.updateValueAndValidity()}setPaths(){this.setFormOptions()}setFormOptions(){if(this.formMaster.contains("courseOverGroundEnable")){let e=this.formMaster.get("paths.courseOverGround");this.formMaster.controls.courseOverGroundEnable.value?e.enable():e.disable()}if(this.formMaster.contains("driftEnable")){let e=this.formMaster.get("paths.set"),t=this.formMaster.get("paths.drift");this.formMaster.controls.driftEnable.value?(e.enable(),t.enable()):(e.disable(),t.disable())}if(this.formMaster.contains("waypointEnable")){let e=this.formMaster.get("paths.nextWaypointBearing");this.formMaster.controls.waypointEnable.value?e.enable():e.disable()}}get convertUnitToControl(){return this.formMaster.get("convertUnitTo")}get datasetUUIDToControl(){return this.formMaster.get("datasetUUID")}get filterSelfPathsToControl(){return this.formMaster.get("filterSelfPaths")}get dataTimeoutToControl(){return this.formMaster.get("dataTimeout")}get enableTimeoutToControl(){return this.formMaster.get("enableTimeout")}get dateTimezoneToControl(){return this.formMaster.get("dateTimezone")}get yScaleSuggestedMaxToControl(){return this.formMaster.get("yScaleSuggestedMax")}get enableMinMaxScaleLimitToControl(){return this.formMaster.get("enableMinMaxScaleLimit")}get showDatasetMinimumValueLineToControl(){return this.formMaster.get("showDatasetMinimumValueLine")}get showDatasetMaximumValueLineToControl(){return this.formMaster.get("showDatasetMaximumValueLine")}get showDatasetAverageValueLineToControl(){return this.formMaster.get("showDatasetAverageValueLine")}get showDatasetAngleAverageValueLineToControl(){return this.formMaster.get("showDatasetAngleAverageValueLine")}get startScaleAtZeroToControl(){return this.formMaster.get("startScaleAtZero")}get showLabelToControl(){return this.formMaster.get("showLabel")}get showTimeScaleToControl(){return this.formMaster.get("showTimeScale")}get showYScaleToControl(){return this.formMaster.get("showYScale")}get yScaleSuggestedMinToControl(){return this.formMaster.get("yScaleSuggestedMin")}get yScaleMinToControl(){return this.formMaster.get("yScaleMin")}get yScaleMaxToControl(){return this.formMaster.get("yScaleMax")}get datasetAverageArrayToControl(){return this.formMaster.get("datasetAverageArray")}get trackAgainstAverageToControl(){return this.formMaster.get("trackAgainstAverage")}get showAverageDataToControl(){return this.formMaster.get("showAverageData")}get convertUnitToToControl(){return this.formMaster.get("convertUnitTo")}get datasetUUIDControl(){return this.formMaster.get("datasetUUID")}get displayNameToControl(){return this.formMaster.get("displayName")}get numDecimalToControl(){return this.formMaster.get("numDecimal")}get verticalGraphToControl(){return this.formMaster.get("verticalGraph")}get colorToControl(){return this.formMaster.get("color")}get dateFormatToControl(){return this.formMaster.get("dateFormat")}get multiChildCtrlsToControl(){return this.formMaster.get("multiChildCtrls")}submitConfig(){this.dialogRef.close(this.formMaster.getRawValue())}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["modal-widget-config"]],decls:19,vars:10,consts:[[3,"ngSubmit","formGroup"],["mat-dialog-title",""],[1,"widget-config-dialog-content"],[1,"tab-group-content"],["label","Display"],[1,"tab-content",3,"displayName","datasetUUID","convertUnitTo","showAverageData","trackAgainstAverage","datasetAverageArray","showDatasetMinimumValueLine","showDatasetMaximumValueLine","showDatasetAverageValueLine","showDatasetAngleAverageValueLine","startScaleAtZero","showLabel","showTimeScale","showYScale","yScaleSuggestedMin","yScaleSuggestedMax","enableMinMaxScaleLimit","yScaleMin","yScaleMax","numDecimal","verticalGraph","color"],[1,"display-content","tab-content"],["label","Controls"],["label","Paths"],["label","Settings","formGroupName","gauge"],["label","Put Request"],["label","Dataset"],["type","button","mat-dialog-close","","mat-flat-button",""],["mat-flat-button","","type","submit",3,"disabled"],[1,"widget-options-grid"],[1,"options-grid-span2"],["name","allowInput","formControlName","allowInput",1,"options-grid-span2"],[3,"options-grid-span2"],["name","showMin","formControlName","showMin"],["name","showMax","formControlName","showMax"],[1,"options-grid-span2",3,"dateFormat","dateTimezone"],["name","headingDirectionTrue","formControlName","headingDirectionTrue"],["name","invertRudder","formControlName","invertRudder",1,"options-grid-span2"],["name","laylineEnable","formControlName","laylineEnable",1,"fields"],["name","windSectorEnable","formControlName","windSectorEnable"],["name","awsEnable","formControlName","awsEnable",1,"options-grid-span2"],["name","twsEnable","formControlName","twsEnable",1,"options-grid-span2"],["name","courseOverGroundEnable","formControlName","courseOverGroundEnable",1,"options-grid-span2"],["name","waypointEnable","formControlName","waypointEnable",1,"options-grid-span2"],["name","driftEnable","formControlName","driftEnable",1,"options-grid-span2"],["name","ignoreZones","formControlName","ignoreZones"],["formGroupName","gauge"],["formGroupName","gauge",1,"options-grid-span2"],["name","noBgColor","formControlName","noBgColor"],["type","url","matInput","","placeholder","Enter URL to page/resource","name","widgetUrl","formControlName","widgetUrl"],["matInput","","placeholder","Enter a label to display","name","displayName","formControlName","displayName"],["formGroupName","displayScale","appearance","outline"],["matNativeControl","","type","number","name","lower","formControlName","lower","placeholder","Enter number..."],["matInput","","type","number","name","upper","formControlName","upper","placeholder","Enter number..."],["type","number","min","1","max","5","matInput","","placeholder","Enter or select number...","name","numInt","formControlName","numInt","required",""],["type","number","min","0","max","5","matInput","","placeholder","Enter or select number...","name","numDecimal","formControlName","numDecimal","required",""],["type","number","min","10","max","90","matInput","","placeholder","Select angle...","name","laylineAngle","formControlName","laylineAngle"],["type","number","min","1","max","90","matInput","","placeholder","Select or enter duration...","name","windSectorWindowSeconds","formControlName","windSectorWindowSeconds"],["name","awsEnable","formControlName","awsEnable",1,"options-grid-span2",3,"change"],["name","twsEnable","formControlName","twsEnable",1,"options-grid-span2",3,"change"],["name","courseOverGroundEnable","formControlName","courseOverGroundEnable",1,"options-grid-span2",3,"change"],["name","waypointEnable","formControlName","waypointEnable",1,"options-grid-span2",3,"change"],["name","driftEnable","formControlName","driftEnable",1,"options-grid-span2",3,"change"],["matInput","","type","number","name","minValue","formControlName","minValue","placeholder","Enter or select number..."],["matInput","","type","number","name","maxValue","formControlName","maxValue","placeholder","Enter or select number..."],["type","number","min","0","max","25","matInput","","placeholder","Enter or select number...","name","highlightsWidth","formControlName","highlightsWidth","required",""],["placeholder","Select Gauge Type...","formControlName","subType","name","subType"],["value","marineCompass"],["value","baseplateCompass"],["name","showValueBox","formControlName","showValueBox"],["name","compassUseNumbers","formControlName","compassUseNumbers"],["value","measuring"],["value","capacity"],["type","number","min","1","max","360","matInput","","placeholder","Enter or select number...","name","scaleStart","formControlName","scaleStart","required",""],["name","useNeedle","formControlName","useNeedle"],["name","enableTicks","formControlName","enableTicks"],["placeholder","Select type...","formControlName","subType","name","subType"],["value","vertical"],["value","horizontal"],["placeholder","Select label format","formControlName","unitLabelFormat","name","unitLabelFormat"],["value","full"],["value","abr"],["placeholder","Select Color...","formControlName","color","name","color","required",""],[3,"value"],["placeholder","Select Color...","formControlName","bgColor","name","bgColor","required",""],["placeholder","Select style...","formControlName","backgroundColor","name","backgroundColor"],["value","darkGray"],["value","satinGray"],["value","lightGray"],["value","white"],["value","black"],["value","beige"],["value","brown"],["value","red"],["value","green"],["value","blue"],["value","anthracite"],["value","mud"],["value","punchedSheet"],["value","carbon"],["value","stainless"],["value","brushedMetal"],["value","brushedStainless"],["value","turned"],["placeholder","Select style...","formControlName","faceColor","name","faceColor"],["value","blackMetal"],["value","metal"],["value","shinyMetal"],["value","brass"],["value","steel"],["value","chrome"],["value","gold"],["value","tiltedGray"],["value","tiltedBlack"],["value","glossyMetal"],[1,"tab-content"],["mat-tab-label",""],[3,"addPath","updatePath","delPath","multiCtrlArray"],[1,"warning","fa","fa-exclamation-circle"],["formGroupName","paths",3,"isArray","enableTimeout","dataTimeout","filterSelfPaths","addPathEvent","delPathEvent","updatePathEvent"],[1,"warning","material-icons"],["value","linear"],["value","radial"],["formControlName","digitalMeter","name","digitalMeter"],["placeholder","Select size...","formControlName","radialSize","name","radialSize"],["value","quarter"],["value","half"],["value","three-quarter"],["formControlName","putEnable","name","putEnable"],["formControlName","putMomentary","name","putMomentary"],["formControlName","putMomentaryValue","name","putMomentaryValue"],[3,"datasetUUID","convertUnitTo"]],template:function(t,a){t&1&&(n(0,"form",0),C("ngSubmit",function(){return a.submitConfig()}),n(1,"h6",1),r(2),o(),n(3,"mat-dialog-content",2)(4,"mat-tab-group",3)(5,"mat-tab",4),u(6,un,1,22,"config-display-chart-options",5),u(7,Zn,33,32,"div",6),o(),u(8,Qn,5,1,"mat-tab",7),u(9,er,5,7,"mat-tab",8),u(10,ir,12,2,"mat-tab",9),u(11,nr,9,1,"mat-tab",10),u(12,sr,3,2,"mat-tab",11),o()(),_(13,"mat-divider"),n(14,"mat-dialog-actions")(15,"button",12),r(16,"Cancel"),o(),n(17,"button",13),r(18,"Save"),o()()()),t&2&&(p("formGroup",a.formMaster),s(2),A(a.titleDialog),s(4),f(a.widgetConfig.datasetUUID!==void 0?6:-1),s(),f(a.widgetConfig.datasetUUID===void 0?7:-1),s(),f(a.widgetConfig.multiChildCtrls!==void 0?8:-1),s(),f(a.widgetConfig.paths!==void 0?9:-1),s(),f((a.widgetConfig.gauge==null?null:a.widgetConfig.gauge.type)==="steel"?10:-1),s(),f(a.widgetConfig.putEnable!==void 0&&a.widgetConfig.multiChildCtrls===void 0?11:-1),s(),f(a.widgetConfig.datasetUUID!==void 0?12:-1),s(5),p("disabled",!a.formMaster.valid))},dependencies:[R,It,B,Ee,F,K,P,et,Ot,I,Y,Je,ui,we,Ae,Ai,wi,L,O,W,ke,le,U,xi,bi,Qe,ye,xe,Xi,Wi,Ui,Ni,Zi],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%}.widget-config-dialog-content[_ngcontent-%COMP%]{height:100%}.display-content[_ngcontent-%COMP%]{display:block;height:100%;width:100%;padding-top:15px;padding-bottom:10px}.warning[_ngcontent-%COMP%]{color:var(--mat-sys-error-container)}.tab-group-content[_ngcontent-%COMP%]{overflow:hidden;width:100%}"]})}return i})();var cr=["button"],dr=["*"];function mr(i,c){if(i&1&&(n(0,"div",2),_(1,"mat-pseudo-checkbox",6),o()),i&2){let e=g();s(),p("disabled",e.disabled)}}var eo=new Q("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:pr});function pr(){return{hideSingleSelectionIndicator:!1,hideMultipleSelectionIndicator:!1,disabledInteractive:!1}}var to=new Q("MatButtonToggleGroup"),ur={provide:Pt,useExisting:Tt(()=>aa),multi:!0},zt=class{source;value;constructor(c,e){this.source=c,this.value=e}},aa=(()=>{class i{_changeDetector=m(Ye);_dir=m(Ft,{optional:!0});_multiple=!1;_disabled=!1;_disabledInteractive=!1;_selectionModel;_rawValue;_controlValueAccessorChangeFn=()=>{};_onTouched=()=>{};_buttonToggles;appearance;get name(){return this._name}set name(e){this._name=e,this._markButtonsForCheck()}_name=m(ht).getId("mat-button-toggle-group-");vertical;get value(){let e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e.map(t=>t.value):e[0]?e[0].value:void 0}set value(e){this._setSelectionByValue(e),this.valueChange.emit(this.value)}valueChange=new J;get selected(){let e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e:e[0]||null}get multiple(){return this._multiple}set multiple(e){this._multiple=e,this._markButtonsForCheck()}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._markButtonsForCheck()}get disabledInteractive(){return this._disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e,this._markButtonsForCheck()}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}change=new J;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._markButtonsForCheck()}_hideSingleSelectionIndicator;get hideMultipleSelectionIndicator(){return this._hideMultipleSelectionIndicator}set hideMultipleSelectionIndicator(e){this._hideMultipleSelectionIndicator=e,this._markButtonsForCheck()}_hideMultipleSelectionIndicator;constructor(){let e=m(eo,{optional:!0});this.appearance=e&&e.appearance?e.appearance:"standard",this.hideSingleSelectionIndicator=e?.hideSingleSelectionIndicator??!1,this.hideMultipleSelectionIndicator=e?.hideMultipleSelectionIndicator??!1}ngOnInit(){this._selectionModel=new Si(this.multiple,void 0,!1)}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter(e=>e.checked)),this.multiple||this._initializeTabIndex()}writeValue(e){this.value=e,this._changeDetector.markForCheck()}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}_keydown(e){if(this.multiple||this.disabled)return;let a=e.target.id,l=this._buttonToggles.toArray().findIndex(h=>h.buttonId===a),d=null;switch(e.keyCode){case 32:case 13:d=this._buttonToggles.get(l)||null;break;case 38:d=this._getNextButton(l,-1);break;case 37:d=this._getNextButton(l,this.dir==="ltr"?-1:1);break;case 40:d=this._getNextButton(l,1);break;case 39:d=this._getNextButton(l,this.dir==="ltr"?1:-1);break;default:return}d&&(e.preventDefault(),d._onButtonClick(),d.focus())}_emitChangeEvent(e){let t=new zt(e,this.value);this._rawValue=t.value,this._controlValueAccessorChangeFn(t.value),this.change.emit(t)}_syncButtonToggle(e,t,a=!1,l=!1){!this.multiple&&this.selected&&!e.checked&&(this.selected.checked=!1),this._selectionModel?t?this._selectionModel.select(e):this._selectionModel.deselect(e):l=!0,l?Promise.resolve().then(()=>this._updateModelValue(e,a)):this._updateModelValue(e,a)}_isSelected(e){return this._selectionModel&&this._selectionModel.isSelected(e)}_isPrechecked(e){return typeof this._rawValue>"u"?!1:this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(t=>e.value!=null&&t===e.value):e.value===this._rawValue}_initializeTabIndex(){if(this._buttonToggles.forEach(e=>{e.tabIndex=-1}),this.selected)this.selected.tabIndex=0;else for(let e=0;e<this._buttonToggles.length;e++){let t=this._buttonToggles.get(e);if(!t.disabled){t.tabIndex=0;break}}}_getNextButton(e,t){let a=this._buttonToggles;for(let l=1;l<=a.length;l++){let d=(e+t*l+a.length)%a.length,h=a.get(d);if(h&&!h.disabled)return h}return null}_setSelectionByValue(e){if(this._rawValue=e,!this._buttonToggles)return;let t=this._buttonToggles.toArray();if(this.multiple&&e?(Array.isArray(e),this._clearSelection(),e.forEach(a=>this._selectValue(a,t))):(this._clearSelection(),this._selectValue(e,t)),!this.multiple&&t.every(a=>a.tabIndex===-1)){for(let a of t)if(!a.disabled){a.tabIndex=0;break}}}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach(e=>{e.checked=!1,this.multiple||(e.tabIndex=-1)})}_selectValue(e,t){for(let a of t)if(a.value===e){a.checked=!0,this._selectionModel.select(a),this.multiple||(a.tabIndex=0);break}}_updateModelValue(e,t){t&&this._emitChangeEvent(e),this.valueChange.emit(this.value)}_markButtonsForCheck(){this._buttonToggles?.forEach(e=>e._markForCheck())}static \u0275fac=function(t){return new(t||i)};static \u0275dir=mt({type:i,selectors:[["mat-button-toggle-group"]],contentQueries:function(t,a,l){if(t&1&&pt(l,Ht,5),t&2){let d;_e(d=Ce())&&(a._buttonToggles=d)}},hostAttrs:[1,"mat-button-toggle-group"],hostVars:6,hostBindings:function(t,a){t&1&&C("keydown",function(d){return a._keydown(d)}),t&2&&(me("role",a.multiple?"group":"radiogroup")("aria-disabled",a.disabled),q("mat-button-toggle-vertical",a.vertical)("mat-button-toggle-group-appearance-standard",a.appearance==="standard"))},inputs:{appearance:"appearance",name:"name",vertical:[2,"vertical","vertical",k],value:"value",multiple:[2,"multiple","multiple",k],disabled:[2,"disabled","disabled",k],disabledInteractive:[2,"disabledInteractive","disabledInteractive",k],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",k],hideMultipleSelectionIndicator:[2,"hideMultipleSelectionIndicator","hideMultipleSelectionIndicator",k]},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],features:[gt([ur,{provide:to,useExisting:i}])]})}return i})(),Ht=(()=>{class i{_changeDetectorRef=m(Ye);_elementRef=m(dt);_focusMonitor=m(Ba);_idGenerator=m(ht);_animationDisabled=Me();_checked=!1;ariaLabel;ariaLabelledby=null;_buttonElement;buttonToggleGroup;get buttonId(){return`${this.id}-button`}id;name;value;get tabIndex(){return this._tabIndex()}set tabIndex(e){this._tabIndex.set(e)}_tabIndex;disableRipple;get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(e){this._appearance=e}_appearance;get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(e){e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(e){this._disabled=e}_disabled=!1;get disabledInteractive(){return this._disabledInteractive||this.buttonToggleGroup!==null&&this.buttonToggleGroup.disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e}_disabledInteractive;change=new J;constructor(){m(Ra).load(ja);let e=m(to,{optional:!0}),t=m(new wa("tabindex"),{optional:!0})||"",a=m(eo,{optional:!0});this._tabIndex=V(parseInt(t)||0),this.buttonToggleGroup=e,this.appearance=a&&a.appearance?a.appearance:"standard",this.disabledInteractive=a?.disabledInteractive??!1}ngOnInit(){let e=this.buttonToggleGroup;this.id=this.id||this._idGenerator.getId("mat-button-toggle-"),e&&(e._isPrechecked(this)?this.checked=!0:e._isSelected(this)!==this._checked&&e._syncButtonToggle(this,this._checked))}ngAfterViewInit(){this._animationDisabled||this._elementRef.nativeElement.classList.add("mat-button-toggle-animations-enabled"),this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){let e=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),e&&e._isSelected(this)&&e._syncButtonToggle(this,!1,!1,!0)}focus(e){this._buttonElement.nativeElement.focus(e)}_onButtonClick(){if(this.disabled)return;let e=this.isSingleSelector()?!0:!this._checked;if(e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.isSingleSelector()){let t=this.buttonToggleGroup._buttonToggles.find(a=>a.tabIndex===0);t&&(t.tabIndex=-1),this.tabIndex=0}this.change.emit(new zt(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(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["mat-button-toggle"]],viewQuery:function(t,a){if(t&1&&ut(cr,5),t&2){let l;_e(l=Ce())&&(a._buttonElement=l.first)}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:14,hostBindings:function(t,a){t&1&&C("focus",function(){return a.focus()}),t&2&&(me("aria-label",null)("aria-labelledby",null)("id",a.id)("name",null),q("mat-button-toggle-standalone",!a.buttonToggleGroup)("mat-button-toggle-checked",a.checked)("mat-button-toggle-disabled",a.disabled)("mat-button-toggle-disabled-interactive",a.disabledInteractive)("mat-button-toggle-appearance-standard",a.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",k],appearance:"appearance",checked:[2,"checked","checked",k],disabled:[2,"disabled","disabled",k],disabledInteractive:[2,"disabledInteractive","disabledInteractive",k]},outputs:{change:"change"},exportAs:["matButtonToggle"],ngContentSelectors:dr,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(t,a){if(t&1){let l=w();qe(),n(0,"button",1,0),C("click",function(){return M(l),y(a._onButtonClick())}),u(2,mr,2,1,"div",2),n(3,"span",3),je(4),o()(),_(5,"span",4)(6,"span",5)}if(t&2){let l=ie(1);p("id",a.buttonId)("disabled",a.disabled&&!a.disabledInteractive||null),me("role",a.isSingleSelector()?"radio":"button")("tabindex",a.disabled&&!a.disabledInteractive?-1:a.tabIndex)("aria-pressed",a.isSingleSelector()?null:a.checked)("aria-checked",a.isSingleSelector()?a.checked:null)("name",a._getButtonName())("aria-label",a.ariaLabel)("aria-labelledby",a.ariaLabelledby)("aria-disabled",a.disabled&&a.disabledInteractive?"true":null),s(2),f(a.buttonToggleGroup&&(!a.buttonToggleGroup.multiple&&!a.buttonToggleGroup.hideSingleSelectionIndicator||a.buttonToggleGroup.multiple&&!a.buttonToggleGroup.hideMultipleSelectionIndicator)?2:-1),s(4),p("matRippleTrigger",l)("matRippleDisabled",a.disableRipple||a.disabled)}},dependencies:[qa,_i],styles:[`.mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);border-radius:var(--mat-button-toggle-legacy-shape);transform:translateZ(0)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}@media(forced-colors: active){.mat-button-toggle-standalone,.mat-button-toggle-group{outline:solid 1px}}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}@media(forced-colors: active){.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{outline:0}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-button-toggle-legacy-text-color);font-family:var(--mat-button-toggle-legacy-label-text-font);font-size:var(--mat-button-toggle-legacy-label-text-size);line-height:var(--mat-button-toggle-legacy-label-text-line-height);font-weight:var(--mat-button-toggle-legacy-label-text-weight);letter-spacing:var(--mat-button-toggle-legacy-label-text-tracking);--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-legacy-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-legacy-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle-checkbox-wrapper{display:inline-block;justify-content:flex-start;align-items:center;width:0;height:18px;line-height:18px;overflow:hidden;box-sizing:border-box;position:absolute;top:50%;left:16px;transform:translate3d(0, -50%, 0)}[dir=rtl] .mat-button-toggle-checkbox-wrapper{left:auto;right:16px}.mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:12px}[dir=rtl] .mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:auto;right:12px}.mat-button-toggle-checked .mat-button-toggle-checkbox-wrapper{width:18px}.mat-button-toggle-animations-enabled .mat-button-toggle-checkbox-wrapper{transition:width 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-checkbox-wrapper{transition:none}.mat-button-toggle-checked{color:var(--mat-button-toggle-legacy-selected-state-text-color);background-color:var(--mat-button-toggle-legacy-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-button-toggle-legacy-disabled-state-text-color);background-color:var(--mat-button-toggle-legacy-disabled-state-background-color);--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-legacy-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-button-toggle-legacy-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-button-toggle-text-color, var(--mat-sys-on-surface));background-color:var(--mat-button-toggle-background-color, transparent);font-family:var(--mat-button-toggle-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-toggle-label-text-size, var(--mat-sys-label-large-size));line-height:var(--mat-button-toggle-label-text-line-height, var(--mat-sys-label-large-line-height));font-weight:var(--mat-button-toggle-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-button-toggle-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-button-toggle-selected-state-background-color, var(--mat-sys-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-button-toggle-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-toggle-disabled-state-background-color, transparent)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-toggle-disabled-selected-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-button-toggle-state-layer-color, var(--mat-sys-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}@media(hover: none){.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-button-toggle-legacy-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-button-toggle-height, 40px)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-button-toggle-legacy-state-layer-color)}@media(forced-colors: active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-animations-enabled .mat-button-toggle-button{transition:padding 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-button{transition:none}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:30px}[dir=rtl] .mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:0;padding-right:30px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-bottom-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-top-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}
6
- `],encapsulation:2,changeDetection:0})}return i})(),ao=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=be({type:i});static \u0275inj=he({imports:[z,za,Ht,z]})}return i})();var io=(()=>{class i{_plugins=m(Di);_widgetCategories=["Basic","Gauges","Components"];_widgetDefinition=[{name:"Numeric",description:"Displays numeric data in a clear and concise format with option to display minimum and maximum recorded values.",icon:"numericWidget",pluginDependency:[],category:"Basic",selector:"widget-numeric",componentClassName:"WidgetNumericComponent"},{name:"Text",description:"Displays text data with customizable color formatting option.",icon:"textWidget",pluginDependency:[],category:"Basic",selector:"widget-text",componentClassName:"WidgetTextComponent"},{name:"Date & Time",description:"Displays date and time data with fully custom formatting options and timezone correction.",icon:"datetimeWidget",pluginDependency:[],category:"Basic",selector:"widget-datetime",componentClassName:"WidgetDatetimeComponent"},{name:"Position",description:"Displays latitude and longitude for location tracking and navigation.",icon:"positionWidget",pluginDependency:[],category:"Basic",selector:"widget-position",componentClassName:"WidgetPositionComponent"},{name:"Switch Panel",description:"A switch panel group with multiple controls including toggle switches, indicator lights, and press buttons for digital switching and other operations.",icon:"switchpanelWidget",pluginDependency:[],category:"Basic",selector:"widget-boolean-switch",componentClassName:"WidgetBooleanSwitchComponent"},{name:"Slider",description:"A range slider that allows users to adjust values, such as controlling lighting intensity from 0% to 100%.",icon:"sliderWidget",pluginDependency:[],category:"Basic",selector:"widget-slider",componentClassName:"WidgetSliderComponent"},{name:"Static Label",description:"A static text widget that allows you to add customizable labels to your dashboard, helping to organize and clarify your layout effectively.",icon:"labelWidget",pluginDependency:[],category:"Basic",selector:"widget-label",componentClassName:"WidgetLabelComponent"},{name:"Simple Linear",description:"A simple horizontal linear gauge with a large value label offering a clean, compact modern look.",icon:"simpleLinearGauge",pluginDependency:[],category:"Gauges",selector:"widget-simple-linear",componentClassName:"WidgetSimpleLinearComponent"},{name:"Linear",description:"A horizontal or vertical linear gauge that supports zones highlights. ",icon:"linearGauge",pluginDependency:[],category:"Gauges",selector:"widget-gauge-ng-linear",componentClassName:"WidgetGaugeNgLinearComponent"},{name:"Radial",description:"A radial gauge that supports various configurations, including capacity and measurement dials and zones highlight.",icon:"radialGauge",pluginDependency:[],category:"Gauges",selector:"widget-gauge-ng-radial",componentClassName:"WidgetGaugeNgRadialComponent"},{name:"Compass",description:"A faceplate or card rotating compass gauge with various cardinal point indicator options.",icon:"compassGauge",pluginDependency:[],category:"Gauges",selector:"widget-gauge-ng-compass",componentClassName:"WidgetGaugeNgCompassComponent"},{name:"Steel Style",description:"A traditional steel looking linear & radial gauges replica that supports range sizes and zones highlights.",icon:"steelGauge",pluginDependency:[],category:"Gauges",selector:"widget-gauge-steel",componentClassName:"WidgetSteelGaugeComponent"},{name:"Wind Steering",description:"A comprehensive wind steering display that combines real-time wind direction and speed, wind sectors for optimal sailing angles, vessel heading, course over ground, and next waypoint information in a single intuitive view. Essential for tactical sailing decisions.",icon:"windsteeringWidget",pluginDependency:[],category:"Components",selector:"widget-wind-steer",componentClassName:"WidgetWindComponent"},{name:"Freeboard-SK",description:"Embed the powerful Freeboard-SK Chart Plotter directly into your dashboard with seamless auto sign-in. This comprehensive marine navigation tool provides real-time chart plotting, waypoint management, route planning, and vessel tracking with automatic position updates from your Signal K server. Perfect for monitoring navigation, viewing charts, and managing marine resources without leaving your KIP dashboard.",icon:"freeboardWidget",pluginDependency:["freeboard-sk","tracks","resources-provider","course-provider"],category:"Components",selector:"widget-freeboardsk",componentClassName:"WidgetFreeboardskComponent"},{name:"Data Chart",description:"Visualize data on real-time charts with multiple pre-configured series including moving averages (SMA), exponential moving averages (EMA), and double exponential moving averages (DEMA). Integrates seamlessly with KIP's Datasets for comprehensive data collection and trend analysis.",icon:"datachartWidget",pluginDependency:[],category:"Components",selector:"widget-data-chart",componentClassName:"WidgetDataChartComponent"},{name:"Autopilot Head",description:"Remotely control your autopilot with full mode switching (Auto, Wind, Route, Standby), precise heading adjustments (\xB11\xB0, \xB110\xB0), and advanced maneuvers like Tack, Gybe, Next Waypoint and Dodge. Features confirmation dialogs for critical operations and automatic API detection. Supports Signal K V2 API (Raymarine, Pypilot hardware) and V1 API (Raymarine hardware and nmea hardware).",icon:"autopilotWidget",pluginDependency:["course-provider"],category:"Components",selector:"widget-autopilot",componentClassName:"WidgetAutopilotComponent"},{name:"Race Timer",description:"A simple race start countdown timer. The timer can be started, paused, reset and the countdown duration specified.",icon:"racetimerWidget",pluginDependency:[],category:"Components",selector:"widget-racetimer",componentClassName:"WidgetRaceTimerComponent"},{name:"Embed Webpage Viewer",description:"Use this widget to embed a view of an external web based applications, such as Grafana graphs, other Signal K Apps and related tools, in your dashboard for a seamless integration. Interactions with the embedded page is not enabled by default but can be. See widget options.",icon:"embedWidget",pluginDependency:[],category:"Components",selector:"widget-iframe",componentClassName:"WidgetIframeComponent"},{name:"Tutorial",description:"KIP's getting started tutorial widget.",icon:"tutorialWidget",pluginDependency:[],category:"Components",selector:"widget-tutorial",componentClassName:"WidgetTutorialComponent"}];get kipWidgets(){return this._widgetDefinition}get categories(){return this._widgetCategories}getKipWidgetsWithStatus(){return de(this,null,function*(){let e={},t=Array.from(new Set(this._widgetDefinition.flatMap(a=>a.pluginDependency)));return yield Promise.all(t.map(a=>de(this,null,function*(){e[a]=yield this._plugins.isEnabled(a)}))),this._widgetDefinition.map(a=>{if(!a.pluginDependency||a.pluginDependency.length===0)return ce(X({},a),{isDependencyValid:!0,pluginsStatus:[]});let l=a.pluginDependency.map(h=>({name:h,enabled:e[h]})),d=l.every(h=>h.enabled);return ce(X({},a),{isDependencyValid:d,pluginsStatus:l})})})}static \u0275fac=function(t){return new(t||i)};static \u0275prov=te({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();function gr(i,c){i&1&&(n(0,"span"),r(1,", "),o())}function hr(i,c){if(i&1&&(n(0,"span"),r(1),o(),u(2,gr,2,0,"span")),i&2){let e=c.$implicit,t=c.$index,a=c.$count,l=g(2);ft(l.pluginDependencyValid()?"":e.enabled?"dependency-ok":"dependency-error"),s(),He(" ",e.enabled?"\u2714":"\u2716"," ",e.name," "),s(),f(t!==a-1?2:-1)}}function br(i,c){if(i&1&&(n(0,"div",7)(1,"span"),r(2,"Plugin:"),o(),T(3,hr,3,5,null,null,G),o()),i&2){let e=g();ze(e.pluginsStatus().length>0?"margin-bottom: 8px":""),s(),ft(e.pluginDependencyValid()?"":"dependency-error"),s(2),S(e.pluginsStatus())}}var oo=(()=>{class i{svgIcon=b.required();iconSize=b.required();name=b.required();description=b.required();pluginsStatus=b.required();pluginDependencyValid=b.required();constructor(){let e=m(Oa),t=m(Da);e.addSvgIconSet(t.bypassSecurityTrustResourceUrl("assets/svg/icons.svg"))}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["widget-list-card"]],inputs:{svgIcon:[1,"svgIcon"],iconSize:[1,"iconSize"],name:[1,"name"],description:[1,"description"],pluginsStatus:[1,"pluginsStatus"],pluginDependencyValid:[1,"pluginDependencyValid"]},decls:9,vars:10,consts:[[1,"item-container"],[1,"item-icon"],["aria-hidden","false",3,"svgIcon"],[1,"item-label"],[1,"title","no-text-select"],[1,"dependency","no-text-select",3,"style"],[1,"description","no-text-select"],[1,"dependency","no-text-select"]],template:function(t,a){t&1&&(n(0,"div",0)(1,"div",1),_(2,"mat-icon",2),o(),n(3,"div",3)(4,"p",4),r(5),o(),u(6,br,5,4,"div",5),n(7,"span",6),r(8),o()()()),t&2&&(s(2),xt("width",a.iconSize(),"px")("height",a.iconSize(),"px"),p("svgIcon",a.svgIcon()),s(2),ze(a.pluginsStatus().length>0?"margin-bottom:0px; margin-top: 8px":""),s(),A(a.name()),s(),f(a.pluginsStatus().length>0?6:-1),s(2),A(a.description()))},dependencies:[oe,N],styles:["[_nghost-%COMP%]{display:block;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;padding:0}.item-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;width:100%;height:100%;margin:0;padding:15px;border:solid 1px var(--mat-sys-outline);cursor:pointer}.item-container[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-inverse-on-surface)}.item-container[_ngcontent-%COMP%]:focus-visible{background-color:var(--mat-sys-surface-bright);outline:-webkit-focus-ring-color auto 0px}.item-icon[_ngcontent-%COMP%]{width:48px}.item-label[_ngcontent-%COMP%]{width:calc(100% - 48px);text-align:left;padding-left:15px}.title[_ngcontent-%COMP%]{font-size:var(--mat-sys-label-medium-line-height)}.description[_ngcontent-%COMP%]{color:var(--mat-sys-outline)}.dependency[_ngcontent-%COMP%]{color:var(--mat-sys-outline);text-align:start;font-style:italic;font-size:var(--mat-sys-label-small-size)}.dependency-error[_ngcontent-%COMP%]{color:var(--kip-port-color)}.dependency-ok[_ngcontent-%COMP%]{color:var(--kip-starboard-color)}.no-text-select[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}"]})}return i})();var _r=(i,c)=>c.selector;function Cr(i,c){if(i&1&&(n(0,"mat-button-toggle",1),r(1),o()),i&2){let e=c.$implicit;p("value",e),s(),ee(" ",e," ")}}function vr(i,c){if(i&1){let e=w();n(0,"widget-list-card",3),C("click",function(){let a=M(e).$implicit,l=g();return y(l.onSelectWidget(a.selector))}),o()}if(i&2){let e=c.$implicit;q("dependency-missing",!e.isDependencyValid),p("svgIcon",e.icon)("iconSize",48)("name",e.name)("description",e.description)("pluginDependencyValid",e.isDependencyValid)("pluginsStatus",e.pluginsStatus)}}var no=(()=>{class i{_dialogRef=m(Te);_widgets=m(io);_widgetsList=[];filteredWidgetsList=V([]);_widgetCategory=V("Basic");isDependencyValid=V(!0);ngOnInit(){this.loadWidgets()}loadWidgets(){return de(this,null,function*(){this._widgetsList=yield this._widgets.getKipWidgetsWithStatus(),this.filteredWidgetsList.set(this._widgetsList.filter(e=>e.category===this._widgetCategory()))})}onCategoryChange(e){this.filteredWidgetsList.set(this._widgetsList.filter(t=>t.category===e.value)),this._widgetCategory.set(e.value)}onSelectWidget(e){this._dialogRef.close(e)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["widgets-list"]],decls:7,vars:1,consts:[["name","widgetCategories","aria-label","Widget categories",1,"list-filter",3,"change","value"],[3,"value"],[3,"dependency-missing","svgIcon","iconSize","name","description","pluginDependencyValid","pluginsStatus"],[3,"click","svgIcon","iconSize","name","description","pluginDependencyValid","pluginsStatus"]],template:function(t,a){t&1&&(n(0,"div")(1,"mat-button-toggle-group",0),C("change",function(d){return a.onCategoryChange(d)}),T(2,Cr,2,2,"mat-button-toggle",1,G),o(),n(4,"div"),T(5,vr,1,8,"widget-list-card",2,_r),o()()),t&2&&(s(),p("value",a._widgetCategory()),s(),S(a._widgets.categories),s(3),S(a.filteredWidgetsList()))},dependencies:[ao,aa,Ht,oo],styles:[".list-filter[_ngcontent-%COMP%]{margin-bottom:20px}.dependency-missing[_ngcontent-%COMP%]{pointer-events:none;opacity:.5}"]})}return i})();var ro=(()=>{class i{dialogRef=m(Te);fileVersionToUpgrade=9;configVersionToUpgrade=10;currentConfigVersion=11;_storage=m(ka);_settings=m(Gt);static widgetTypeToSelectorMap={WidgetNumeric:"widget-numeric",WidgetTextGeneric:"widget-text",WidgetDateGeneric:"widget-datetime",WidgetBooleanSwitch:"widget-boolean-switch",WidgetBlank:"widget-blank",WidgetStateComponent:"widget-button",WidgetSimpleLinearComponent:"widget-simple-linear",WidgetGaugeNgLinearComponent:"widget-gauge-ng-linear",WidgetGaugeNgRadialComponent:"widget-gauge-ng-radial",WidgetGaugeNgCompassComponent:"widget-gauge-ng-compass",WidgetGaugeComponent:"widget-gauge-steel",WidgetWindComponent:"widget-wind-steer",WidgetFreeboardskComponent:"widget-freeboardsk",WidgetAutopilotComponent:"widget-autopilot",WidgetDataChart:"widget-data-chart",WidgetRaceTimerComponent:"widget-racetimer",WidgetIframeComponent:"widget-iframe",WidgetTutorial:"widget-tutorial"};upgrade(){if(this._storage.initConfig)this._storage.listConfigs(this.fileVersionToUpgrade).then(e=>de(this,null,function*(){for(let t of e){let a=yield this.transformConfig(t);if(a)if(a.scope==="global")try{this._storage.patchGlobal(a.name,a.scope,a.newConfiguration,"add"),this._storage.patchGlobal(a.name,a.scope,a.oldConfiguration,"replace",9),console.log(`[Upgrade] Configuration ${a.scope}/${a.name} has been upgraded to version ${this.currentConfigVersion} and saved. Old configuration has been patched to version 0.`)}catch{console.error(`[Upgrade] Error saving configuration for ${t.name}`)}else this._storage.setConfig(a.scope,a.name,a.newConfiguration).then(()=>{this._storage.setConfig(a.scope,a.name,a.oldConfiguration,9),console.log(`[Upgrade] Configuration ${a.scope}/${a.name} has been upgraded to version ${this.currentConfigVersion} and saved. Old configuration has been patched to version 0.`)}).catch(l=>{console.error(`[Upgrade] Error saving configuration for ${t.name}:`,l)})}})).catch(e=>{console.error("Error fetching configuration data:",e)});else{let e={app:null,widget:null,layout:null,theme:null};e.app=this._settings.loadConfigFromLocalStorage("appConfig"),e.widget=this._settings.loadConfigFromLocalStorage("widgetConfig"),e.layout=this._settings.loadConfigFromLocalStorage("layoutConfig"),e.theme=this._settings.loadConfigFromLocalStorage("themeConfig");let t=this.transformApp(e.app),a=this.transformTheme(e.theme),l=e.layout?.rootSplits||[],d=e.layout?.splitSets||[],h=e.widget?.widgets||[],x=l.map((Z,Fe)=>{let Le=this.extractWidgetsFromSplitSets(d,h,Z);return{id:Z,name:`Dashboard ${Fe+1}`,configuration:Le}});localStorage.setItem("appConfig",JSON.stringify(t)),localStorage.setItem("dashboardsConfig",JSON.stringify(x)),localStorage.setItem("themeConfig",JSON.stringify(a))}setTimeout(()=>{this._settings.reloadApp()},1500)}transformConfig(e){return de(this,null,function*(){let t=yield this._storage.getConfig(e.scope,e.name,this.fileVersionToUpgrade);if(t.app.configVersion!==this.configVersionToUpgrade)return console.error(`[Upgrade Component] Configuration ${e.scope}/${e.name} is not an upgradable version ${this.configVersionToUpgrade} config. Skipping upgrade. Please delete old configuration files.`),null;let a=this.transformApp(t.app),l=this.transformTheme(t.theme),d=t.layout?.rootSplits||[],h=t.layout?.splitSets||[],x=t.widget?.widgets||[],Z=d.map((Le,Ct)=>{let rt=this.extractWidgetsFromSplitSets(h,x,Le);return{id:Le,name:`Dashboard ${Ct+1}`,configuration:rt}}),Fe=Et(t);return Fe.app.configVersion=0,{scope:e.scope,name:e.name,newConfiguration:{app:a,theme:l,dashboards:Z},oldConfiguration:Fe}})}transformWidget(e,t){if(e.color==="white"&&(e.color="contrast"),e.textColor){switch(e.textColor){case"text":e.color="contrast";break;case"primary":e.color="blue";break;case"accent":e.color="yellow";break;case"warn":e.color="purple";break;case"nobar":t==="WidgetGaugeNgLinearComponent"&&(e.color="blue",e.gauge=e.gauge||{},e.gauge.useNeedle=!1);break;default:e.color=e.textColor}delete e.textColor}return e}transformApp(e){return e?(e.configVersion=11,e.nightModeBrightness=.27,e):null}transformTheme(e){return e?{themeName:""}:null}extractWidgetsFromSplitSets(e,t,a){let l=new Map(t.map(lt=>[lt.uuid,lt])),d=[],h=[],x=0,Z=0,Fe=12,Le=12,Ct=2,rt=2,oa=lt=>{let na=e.find(Pe=>Pe.uuid===lt);if(!na){h.push(`Missing splitSet with UUID: ${lt}`);return}na.splitAreas.forEach(Pe=>{if(Pe.type==="widget"){let se=l.get(Pe.uuid);if(se){if(se.type==="WidgetBlank"){console.warn(`Skipping widget of type WidgetBlank with UUID: ${se.uuid}`);return}if(Z+rt>Le){h.push(`No space left in the grid for widget with UUID: ${se.uuid}`);return}let ra=i.widgetTypeToSelectorMap[se.type]||"widget-unknown",po=this.transformWidget(se.config,se.type);d.push({id:se.uuid,selector:ra,input:{widgetProperties:{type:ra,uuid:se.uuid,config:po}},x,y:Z,w:Ct,h:rt}),x+=Ct,x>=Fe&&(x=0,Z+=rt)}else h.push(`Missing widget with UUID: ${Pe.uuid}`)}else Pe.type==="splitSet"&&oa(Pe.uuid)})};return oa(a),h.length>0&&console.warn("Transformation Issues:",h),d}startFresh(){if(this._storage.initConfig)this._storage.listConfigs(this.fileVersionToUpgrade).then(e=>de(this,null,function*(){for(let t of e){let a=yield this._storage.getConfig(t.scope,t.name,this.fileVersionToUpgrade);if(a.app.configVersion=0,t.scope==="global")try{setTimeout(()=>{this._storage.patchGlobal(t.name,t.scope,a,"replace",9),console.log(`[Retired] Configuration ${t.scope}/${t.name} has been patched to version 0.`)},750)}catch{console.error(`[Upgrade] Error saving configuration for ${t.name}:`)}else try{yield this._storage.setConfig(t.scope,t.name,a,9),console.log(`[Retired] Configuration ${t.scope}/${t.name} has been patched to version 0.`)}catch{console.error(`[Upgrade] Error saving configuration for ${t.name}.`)}}})).catch(e=>{console.error("Error fetching configuration data:",e)});else{let e={app:null,dashboards:null,theme:null};e.app=this._settings.loadConfigFromLocalStorage("appConfig"),e.theme=this._settings.loadConfigFromLocalStorage("themeConfig"),e.app.configVersion=11,e.app.nightModeBrightness=.27,e.theme.themeName="",localStorage.setItem("appConfig",JSON.stringify(e.app)),localStorage.setItem("themeConfig",JSON.stringify(e.theme)),localStorage.removeItem("widgetConfig"),localStorage.removeItem("layoutConfig")}this.dialogRef.close()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["upgrade-config"]],decls:75,vars:0,consts:[["href","https://discord.gg/AMDYT2DQga","target","_blank"],[1,"button-group"],["mat-flat-button","",3,"click"],["mat-flat-button","",2,"margin-left","20px",3,"click"]],template:function(t,a){t&1&&(n(0,"h2"),r(1,"Instructions and Upgrade Limitations"),o(),n(2,"p"),r(3,"The new and old widget layout engines are fundamentally different. As a result, migrating the configuration will produce the following:"),o(),n(4,"ul")(5,"li"),r(6,"All KIP configuration settings will be migrated."),o(),n(7,"li"),r(8,"Each v2 Page layout will be migrated to a v3 Dashboard."),o(),n(9,"li"),r(10,"All widgets and their configurations will be migrated and visible in their corresponding v3 Dashboard."),o(),n(11,"li")(12,"strong"),r(13,"Note:"),o(),r(14," Widget positions, order, and sizes "),n(15,"strong"),r(16,"WILL BE LOST"),o(),r(17,". Dashboards will contain small widgets that can be repositioned and resized manually. "),o()(),n(18,"p"),r(19,"To upgrade your configuration, please follow these steps:"),o(),n(20,"ol")(21,"li"),r(22," As a safety measure, if you are using Signal K authentication, manually back up your configuration. Make a copy of the "),n(23,"code"),r(24,"9.0.0.json"),o(),r(25," files found on the Signal K server in the following folders: "),n(26,"ul")(27,"li")(28,"code"),r(29,"~/.signalk/applicationData/users/(username)/kip/"),o()(),n(30,"li")(31,"code"),r(32,"~/.signalk/applicationData/global/kip/"),o()()()(),n(33,"li"),r(34,"Click the "),n(35,"strong"),r(36,"Upgrade"),o(),r(37," button below."),o(),n(38,"li"),r(39,"Once the upgrade is complete, KIP will restart and display the migrated dashboards."),o(),n(40,"li"),r(41," Swipe left, or press "),n(42,"code"),r(43,"Shift + Ctrl + Left Arrow"),o(),r(44," to open the Actions menu. Tap/Click on "),n(45,"strong"),r(46,"Help"),o(),r(47,` and read "The Basics" and "Dashboards and Layout." We promise, it's a quick read. `),o(),n(48,"li"),r(49,"Reposition and resize your widgets as needed."),o(),n(50,"li"),r(51,"Once satisfied, proceed to deleting the "),n(52,"code"),r(53,"9.0.0.json"),o(),r(54," configuration files located in the previously mentioned folders. They are not needed any more."),o(),n(55,"li"),r(56," If you need support, join the "),n(57,"a",0),r(58,"Signal K #kip Discord channel"),o(),r(59,". "),o(),n(60,"li"),r(61,"Enjoy the new features and improvements!"),o()(),n(62,"p"),r(63," If you prefer not to upgrade your configuration, you "),n(64,"strong"),r(65,"MUST MANUALLY DELETE"),o(),r(66," the "),n(67,"code"),r(68,"9.0.0.json"),o(),r(69,` files from the previously mentioned server folders.
1
+ import{a as xi,b as wi,c as Ai,d as Di}from"./chunk-BK65F7S6.js";import{a as nt}from"./chunk-GSG5IFZ7.js";import{a as ot,b as Gi,c as Ei,d as ki}from"./chunk-OGPSK2OV.js";import{a as ke,b as Rt}from"./chunk-2GTOB75T.js";import{b as Ci,c as vi,d as Nt,e as Mi,f as W,g as yi,h as Ti,i as bt,j as le,k as Bt}from"./chunk-UMSIBYU7.js";import{g as Da,i as Fa,n as Oa,o as N,p as oe,q as _i,u as Si}from"./chunk-PYQ6T3Y3.js";import{a as oi,b as ni,c as ri,d as Te,e as Se,g as li,h as xe,i as we,j as Ae,k as Qe,l as Ge}from"./chunk-IMRKPLTP.js";import{a as Ze}from"./chunk-RPHEZR7W.js";import{a as bi}from"./chunk-MRXTLXGU.js";import{C as U,D as Vt,a as Oe,e as Ga,f as Ea,g as ka,h as Gt,i as Xt,j as Et,p as Ia,r as O,s as Lt,t as gi,u as at,w as hi,y as L,z as it}from"./chunk-VYP5YLKW.js";import{$b as Ca,$c as Ye,$d as kt,$e as ai,Ac as Ta,Ae as ye,Af as P,Bb as ae,Bc as Sa,Ca as Ue,Ce as Ha,Cf as tt,Db as J,De as ne,Df as R,E as la,Eb as ba,Ef as I,Fb as _a,Fc as Ie,Fe as Ka,H as Zt,Hc as gt,Ia as V,Ic as wt,J as Ne,Je as $a,K as ge,Ke as Ya,Lc as Ke,Ld as Pa,Ma as We,Mc as $e,N as sa,O as Mt,Pa as dt,Pd as La,Q as Be,Qb as me,Qd as Va,Rb as u,Rd as Na,Re as Za,Sb as f,Se as Xa,T as ca,Tb as G,Tc as xa,Ub as St,Ue as Qa,Vb as T,Vc as wa,Ve as Jt,Wb as S,Wc as ve,Wd as Ba,We as Ja,Xb as p,Xc as b,Yb as n,Yd as Ra,Zb as o,Ze as ei,_b as _,_d as Ua,_e as ti,a as X,ac as va,b as ce,bc as Ma,cc as w,cf as ii,dd as k,df as Pt,ea as Re,ec as C,ef as B,f as de,fa as yt,fc as g,g as vt,gc as qe,ge as ht,gf as D,ha as da,hc as je,he as Xe,ic as pt,ie as Wa,j as $t,jc as ut,jf as F,kb as s,kc as _e,ke as Qt,kf as K,lc as Ce,le as Dt,lf as si,m as st,ma as Tt,mb as pa,mf as ci,na as te,ne as Ft,nf as di,o as ct,oa as he,ob as ua,oe as z,of as mi,pc as ie,pf as $,qa as Q,qc as xt,qe as pe,qf as pi,rb as fa,rc as q,rd as Aa,re as Me,rf as It,sa as m,sc as ze,sf as Ee,t as Yt,tc as ft,tf as re,uc as r,uf as Y,vb as v,vc as A,vd as At,vf as ui,wa as ma,wb as be,wc as ee,we as qa,wf as fi,xb as mt,xc as He,xe as ja,xf as Je,ya as M,yb as ga,ye as H,yf as Ot,z as Ve,za as y,zb as ha,zc as ya,ze as za,zf as et}from"./chunk-AERKQXJA.js";var Or=(()=>{class i{_settings=m(Gt);_router=m(Fa);dashboards=V([],{equal:Xt});activeDashboard=V(0);_widgetAction=new ct(null);widgetAction$=this._widgetAction.asObservable();_isDashboardStatic=new ct(!0);isDashboardStatic$=this._isDashboardStatic.asObservable();isDashboardStatic=Pa(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=>ce(X({},a),{id:Oe.create()}));this.dashboards.set([...t])}else this.dashboards.set(this._settings.getDashboardConfig());xa(()=>{this._settings.saveDashboards(this.dashboards())})}toggleStaticDashboard(){this._isDashboardStatic.next(!this._isDashboardStatic.value)}add(e,t){this.dashboards.update(a=>[...a,{id:Oe.create(),name:e,configuration:t}])}update(e,t){this.dashboards.update(a=>a.map((l,d)=>d===e?ce(X({},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=Et(a);l.id=Oe.create(),l.name=t,Array.isArray(l.configuration)?l.configuration.forEach(d=>{d&&d.input?.widgetProperties?(d.id=Oe.create(),d.input.widgetProperties.uuid=d.id):console.error("Dashboard Service] Widget configuration is missing required properties:",d)}):(console.error("Dashboard Service] Dashboard configuration is not an array:",l.configuration),l.configuration=[]),this.dashboards.update(d=>[...d,l])}updateConfiguration(e,t){this.dashboards.update(a=>a.map((l,d)=>d===e?Xt(l.configuration,t)?l:ce(X({},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||i)};static \u0275prov=te({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();function uo(i,c){i&1&&Ma(0)}var Pi=(()=>{class i{data=m(Se);static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,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),o(),n(3,"button",2)(4,"mat-icon"),r(5,"close"),o()()(),n(6,"mat-dialog-content",3),ae(7,uo,1,0,"ng-container",4),o()),t&2&&(s(2),A(a.data.title),s(),p("mat-dialog-close",!1),s(4),p("ngComponentOutlet",a.data.componentType))},dependencies:[N,Ge,xe,we,Ae,ne,H,Aa],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 i})();function fo(i,c){if(i&1&&(n(0,"button",4),r(1),o()),i&2){let e=g();p("mat-dialog-close",!0),s(),A(e.data.confirmBtnText)}}var Ii=(()=>{class i{data=m(Se);static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,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),o(),n(3,"button",2)(4,"mat-icon"),r(5,"close"),o()()(),n(6,"mat-dialog-content"),r(7),o(),n(8,"mat-dialog-actions",3)(9,"button",4),r(10),o(),u(11,fo,2,2,"button",4),o()),t&2&&(s(2),A(a.data.title),s(),p("mat-dialog-close",!1),s(4),ee(" ",a.data.message,`
2
+ `),s(2),p("mat-dialog-close",!1),s(),A(a.data.cancelBtnText),s(),f(a.data.confirmBtnText?11:-1))},dependencies:[N,Ge,xe,we,Qe,Ae,ne,ye,H],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 i})();function ho(i,c){if(i&1&&(n(0,"button",9),r(1),o()),i&2){let e=g(),t=ie(1);p("disabled",!t.valid),s(),A(e.data.confirmBtnText)}}var Li=(()=>{class i{dialogRef=m(Te);data=m(Se);saveName(){this.dialogRef.close(this.data)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,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),C("ngSubmit",function(){return M(l),y(a.saveName())}),n(2,"div",2)(3,"h5",3),r(4),o(),n(5,"button",4)(6,"mat-icon"),r(7,"close"),o()()(),n(8,"mat-dialog-content")(9,"mat-form-field",5)(10,"mat-label"),r(11,"Name"),o(),n(12,"input",6),Sa("ngModelChange",function(h){return M(l),Ta(a.data.name,h)||(a.data.name=h),y(h)}),o(),n(13,"mat-error"),r(14," A name is required "),o()()(),n(15,"mat-dialog-actions",7)(16,"button",8),r(17),o(),u(18,ho,2,2,"button",9),o()()}t&2&&(s(4),A(a.data.title),s(),p("mat-dialog-close",!1),s(7),ya("ngModel",a.data.name),s(4),p("mat-dialog-close",!1),s(),A(a.data.cancelBtnText),s(),f(a.data.confirmBtnText?18:-1))},dependencies:[Ge,xe,we,Qe,Ae,oe,N,it,L,O,Lt,Vt,U,ne,ye,H,R,It,B,F,K,P,pi,di],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 i})();function _o(i,c){if(i&1&&(n(0,"mat-option",12),r(1),o()),i&2){let e=c.$implicit;p("value",Ie(e.value)),s(),A(e.label)}}function Co(i,c){if(i&1){let e=w();n(0,"button",21),C("click",function(){M(e);let a=g();return y(a.moveCtrlUp())}),n(1,"mat-icon"),r(2,"arrow_drop_up"),o()()}}function vo(i,c){if(i&1){let e=w();n(0,"button",22),C("click",function(){M(e);let a=g();return y(a.moveCtrlDown())}),n(1,"mat-icon"),r(2,"arrow_drop_down"),o()()}}var Vi=(()=>{class i{app=m(Ze);ctrlFormGroup=b.required();controlIndex=b(void 0);arrayLength=b(void 0);deleteCtrl=ve();moveUp=ve();moveDown=ve();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||i)};static \u0275cmp=v({type:i,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"),o(),_(6,"input",4),o()(),n(7,"div",5)(8,"mat-form-field",6)(9,"mat-label"),r(10,"Type"),o(),n(11,"mat-select",7)(12,"mat-option",8),r(13,"Toggle"),o(),n(14,"mat-option",9),r(15,"Push"),o(),n(16,"mat-option",10),r(17,"Indicator"),o()()()(),n(18,"div",5)(19,"mat-form-field",6)(20,"mat-label"),r(21,"Color"),o(),n(22,"mat-select",11),T(23,_o,2,3,"mat-option",12,G),o()()(),n(25,"div",13)(26,"mat-checkbox",14),r(27," Use numeric path "),o()()(),n(28,"div",15)(29,"div",16)(30,"div",17),u(31,Co,3,0,"button",18),u(32,vo,3,0,"button",19),n(33,"button",20),C("click",function(){return a.deleteControl()}),n(34,"mat-icon"),r(35,"delete"),o()()()()()()),t&2&&(p("formGroup",a.ctrlFormGroup()),s(23),S(a.colors),s(8),f(a.controlIndex()!==0?31:-1),s(),f(a.controlIndex()!==a.arrayLength()-1?32:-1))},dependencies:[R,B,F,K,P,I,Y,Je,L,O,U,le,W,H,Rt,ke,oe,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 i})();function Mo(i,c){if(i&1){let e=w();n(0,"boolean-control-config",4),C("moveUp",function(a){M(e);let l=g();return y(l.moveUp(a))})("moveDown",function(a){M(e);let l=g();return y(l.moveDown(a))})("deleteCtrl",function(a){M(e);let l=g();return y(l.deletePath(a))}),o()}if(i&2){let e=c.$implicit,t=c.$index,a=g();p("ctrlFormGroup",a.getFormGroup(e))("controlIndex",t)("arrayLength",a.arrayLength)}}var Ni=(()=>{class i{fb=m(tt);multiCtrlArray=b.required();addPath=ve();updatePath=ve();delPath=ve();multiFormGroup=null;arrayLength=0;multiCtrlArraySubscription=null;ngOnInit(){this.arrayLength=this.multiCtrlArray().length,this.multiFormGroup=new si({multiCtrlArray:this.multiCtrlArray()}),this.multiCtrlArraySubscription=this.multiCtrlArray().valueChanges.pipe(Mt(350)).subscribe(e=>{this.updatePath.emit(e)})}addCtrlGroup(){let e=Oe.create();this.multiCtrlArray().push(this.fb.group({ctrlLabel:[null,D.required],type:["1",D.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:null,convertUnitTo:null,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||i)};static \u0275cmp=v({type:i,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,Mo,1,3,"boolean-control-config",2,St),n(4,"button",3),C("click",function(){return a.addCtrlGroup()}),n(5,"mat-icon"),r(6,"add"),o()()()()),t&2&&(p("formGroup",a.multiFormGroup),s(2),S(a.multiCtrlArray().controls))},dependencies:[R,K,I,Y,fi,Vi,ne,Ha,oe,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 i})();var yo=["*"];var To=new Q("MAT_CARD_CONFIG"),Ol=(()=>{class i{appearance;constructor(){let e=m(To,{optional:!0});this.appearance=e?.appearance||"raised"}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:8,hostBindings:function(t,a){t&2&&q("mat-mdc-card-outlined",a.appearance==="outlined")("mdc-card--outlined",a.appearance==="outlined")("mat-mdc-card-filled",a.appearance==="filled")("mdc-card--filled",a.appearance==="filled")},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:yo,decls:1,vars:0,template:function(t,a){t&1&&(qe(),je(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(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-elevated-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(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mat-card-outlined-container-color, var(--mat-sys-surface));border-radius:var(--mat-card-outlined-container-shape, var(--mat-sys-corner-medium));border-width:var(--mat-card-outlined-outline-width, 1px);border-color:var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mat-card-outlined-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mat-mdc-card-filled{background-color:var(--mat-card-filled-container-color, var(--mat-sys-surface-container-highest));border-radius:var(--mat-card-filled-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-filled-container-elevation, var(--mat-sys-level0))}.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}
3
+ `],encapsulation:2,changeDetection:0})}return i})();var Bi=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=be({type:i});static \u0275inj=he({imports:[z,z]})}return i})();function So(i,c){if(i&1&&(n(0,"mat-option",8),r(1),o()),i&2){let e=c.$implicit;p("value",Ie(e.value)),s(),A(e.label)}}var Ui=(()=>{class i{dsService=m(ot);app=m(Ze);displayName=b.required();showLabel=b.required();convertUnitTo=b.required();datasetUUID=b.required();datasetAverageArray=b.required();showAverageData=b.required();trackAgainstAverage=b.required();showDatasetMinimumValueLine=b.required();showDatasetMaximumValueLine=b.required();showDatasetAverageValueLine=b.required();showDatasetAngleAverageValueLine=b.required();verticalGraph=b.required();showTimeScale=b.required();showYScale=b.required();startScaleAtZero=b.required();yScaleSuggestedMin=b.required();yScaleSuggestedMax=b.required();enableMinMaxScaleLimit=b.required();yScaleMin=b.required();yScaleMax=b.required();numDecimal=b.required();color=b.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||i)};static \u0275cmp=v({type:i,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"),o(),_(6,"input",5),o()(),n(7,"div",3)(8,"mat-checkbox",6),r(9," Show Label "),o()()(),n(10,"div",2)(11,"mat-form-field",4)(12,"mat-label"),r(13,"Color"),o(),n(14,"mat-select",7),T(15,So,2,3,"mat-option",8,G),o()()(),n(17,"div",2)(18,"div",9)(19,"div")(20,"p"),r(21,"Series"),o(),n(22,"mat-form-field",10)(23,"mat-label"),r(24,"Value Decimal Places"),o(),_(25,"input",11),o(),n(26,"mat-checkbox",12),C("change",function(h){return M(l),y(a.enableTrackAgainstMovingAverage(h))}),r(27," Display Moving Average "),o(),n(28,"mat-checkbox",13),r(29," Track Against Moving Average "),o()()(),n(30,"div",9)(31,"div")(32,"p",14),r(33,"Data Scale"),o(),n(34,"span",15),r(35,"(Default node is automatic scale)"),o(),n(36,"mat-radio-group",16)(37,"mat-radio-button",17),C("change",function(h){return M(l),y(a.setScaleControls(h))}),r(38,"Auto Scale"),o(),n(39,"div",18)(40,"mat-form-field",19)(41,"mat-label"),r(42,"Suggested Min"),o(),_(43,"input",20),o(),n(44,"mat-form-field",19)(45,"mat-label"),r(46,"Suggested Max"),o(),_(47,"input",21),o()(),n(48,"mat-radio-button",17),C("change",function(h){return M(l),y(a.setScaleControls(h))}),r(49,"Fixed Scale"),o(),n(50,"div",18)(51,"div",22)(52,"mat-form-field",19)(53,"mat-label"),r(54,"Min"),o(),_(55,"input",23),o()(),n(56,"div",22)(57,"mat-form-field",19)(58,"mat-label"),r(59,"Max"),o(),_(60,"input",24),o()()()(),n(61,"mat-checkbox",25),r(62," Show Scale Ticks "),o()()(),n(63,"div",9)(64,"div")(65,"p",14),r(66,"Time Scale"),o(),n(67,"mat-checkbox",26),r(68," Show Scale Ticks "),o()()(),n(69,"div",9)(70,"div")(71,"p",14),r(72,"Dataset"),o(),n(73,"mat-checkbox",27),r(74," Show Maximum Line "),o(),n(75,"mat-checkbox",28),r(76," Show Average Line "),o(),n(77,"mat-checkbox",29,0),r(79," Show Minimum Line "),o()()()()()}t&2&&(s(6),p("formControl",a.displayName()),s(2),p("formControl",a.showLabel()),s(6),p("formControl",a.color()),s(),S(a.colors),s(10),p("formControl",a.numDecimal()),s(),p("formControl",a.showAverageData()),s(2),p("formControl",a.trackAgainstAverage()),s(8),p("formControl",a.enableMinMaxScaleLimit()),s(),p("value",!1),s(6),p("formControl",a.yScaleSuggestedMin()),s(4),p("formControl",a.yScaleSuggestedMax()),s(),p("value",!0),s(7),p("formControl",a.yScaleMin()),s(5),p("formControl",a.yScaleMax()),s(),p("formControl",a.showYScale()),s(6),p("formControl",a.showTimeScale()),s(6),p("formControl",a.showDatasetMaximumValueLine()),s(2),p("formControl",a.showDatasetAverageValueLine()),s(2),p("formControl",a.showDatasetMinimumValueLine()))},dependencies:[Bi,it,L,O,Rt,ke,Bt,le,W,bt,Vt,U,ki,Gi,Ei,I,B,Ee,F,P,et,Ot,re],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 i})();var xo=(i,c)=>c.uuid;function wo(i,c){if(i&1&&(n(0,"mat-option",4),r(1),o()),i&2){let e=c.$implicit;p("value",e.uuid),s(),ee(" ",e.label," ")}}function Ao(i,c){if(i&1&&(n(0,"mat-option",4),r(1),o()),i&2){let e=c.$implicit;p("value",e.measure),s(),ee(" ",e.description," ")}}function Go(i,c){if(i&1&&(n(0,"mat-optgroup",6),T(1,Ao,2,2,"mat-option",4,G),o()),i&2){let e=c.$implicit;p("label",e.group),s(),S(e.units)}}var Wi=(()=>{class i{datasetService=m(ot);units=m(nt);datasetUUID=b.required();convertUnitTo=b.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||i)};static \u0275cmp=v({type:i,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"),o(),n(5,"mat-select",3),C("selectionChange",function(d){return a.datasetChanged(d)}),T(6,wo,2,2,"mat-option",4,xo),o()(),n(8,"mat-form-field",2)(9,"mat-label"),r(10,"Display Format"),o(),n(11,"mat-select",5),T(12,Go,3,1,"mat-optgroup",6,G),o()()()()),t&2&&(s(5),p("formControl",a.datasetUUID()),s(),S(a.availableDataSets),s(5),p("formControl",a.convertUnitTo()),s(),S(a.unitList.conversions))},dependencies:[it,L,O,Bt,le,W,Nt,I,F,P,re],styles:[".display-content[_ngcontent-%COMP%]{display:block;height:100%;width:100%;padding-top:15px;padding-bottom:10px}"]})}return i})();var qi=(()=>{class i{transform(e){return Object.keys(e)}static \u0275fac=function(t){return new(t||i)};static \u0275pipe=ga({name:"objectKeys",type:i,pure:!0})}return i})();var ko=["panel"],Do=["*"];function Fo(i,c){if(i&1&&(n(0,"div",1,0),je(2),o()),i&2){let e=c.id,t=g();ft(t._classList),q("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"),p("id",t.id),me("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby(e))}}var ta=class{source;option;constructor(c,e){this.source=c,this.option=e}},Hi=new Q("mat-autocomplete-default-options",{providedIn:"root",factory:Po});function Po(){return{autoActiveFirstOption:!1,autoSelectActiveOption:!1,hideSingleSelectionIndicator:!1,requireSelection:!1,hasBackdrop:!1}}var jt=(()=>{class i{_changeDetectorRef=m(Ye);_elementRef=m(dt);_defaults=m(Hi);_animationsDisabled=Me();_activeOptionChanges=vt.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 J;opened=new J;closed=new J;optionActivated=new J;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=m(ht).getId("mat-autocomplete-");inertGroups;constructor(){let e=m(Na);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 Wa(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 ta(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||i)};static \u0275cmp=v({type:i,selectors:[["mat-autocomplete"]],contentQueries:function(t,a,l){if(t&1&&(pt(l,W,5),pt(l,vi,5)),t&2){let d;_e(d=Ce())&&(a.options=d),_e(d=Ce())&&(a.optionGroups=d)}},viewQuery:function(t,a){if(t&1&&(ut(pa,7),ut(ko,5)),t&2){let l;_e(l=Ce())&&(a.template=l.first),_e(l=Ce())&&(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:[gt([{provide:Ci,useExisting:i}])],ngContentSelectors:Do,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&&(qe(),ae(0,Fo,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:relative;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}
4
+ `],encapsulation:2,changeDetection:0})}return i})();var Io={provide:Pt,useExisting:Tt(()=>_t),multi:!0};var Ki=new Q("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let i=m(Ue);return()=>Jt(i)}});function Oo(i){let c=m(Ue);return()=>Jt(c)}var Lo={provide:Ki,deps:[],useFactory:Oo},_t=(()=>{class i{_environmentInjector=m(ma);_element=m(dt);_injector=m(Ue);_viewContainerRef=m(fa);_zone=m(ba);_changeDetectorRef=m(Ye);_dir=m(Ft,{optional:!0});_formField=m(hi,{optional:!0,host:!0});_viewportRuler=m(Za);_scrollStrategy=m(Ki);_renderer=m(ua);_animationsDisabled=Me();_defaults=m(Hi,{optional:!0});_overlayRef;_portal;_componentDestroyed=!1;_initialized=new st;_keydownSubscription;_outsideClickSubscription;_cleanupWindowBlur;_previousValue;_valueOnAttach;_valueOnLastKeydown;_positionStrategy;_manuallyFloatingLabel=!1;_closingActionsSubscription;_viewportSubscription=vt.EMPTY;_breakpointObserver=m(kt);_handsetLandscapeSubscription=vt.EMPTY;_canOpenOnNextFocus=!0;_valueBeforeAutoSelection;_pendingAutoselectedOption;_closeKeyEventStream=new st;_overlayPanelClass=Ua(this._defaults?.overlayPanelClass||[]);_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&&Dt(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Ne(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ge(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ge(()=>this._overlayAttached)):Yt()).pipe(Ve(e=>e instanceof Mi?e:null))}optionSelections=la(()=>{let e=this.autocomplete?this.autocomplete.options:null;return e?e.changes.pipe(Re(e),yt(()=>Ne(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(yt(()=>this.optionSelections))});get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return new $t(e=>{let t=l=>{let d=Va(l),h=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,x=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;this._overlayAttached&&d!==this._element.nativeElement&&!this._hasFocus()&&(!h||!h.contains(d))&&(!x||!x.contains(d))&&this._overlayRef&&!this._overlayRef.overlayElement.contains(d)&&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,a=t.keyCode,l=Xe(t);if(a===27&&!l&&t.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&a===13&&this.panelOpen&&!l)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){let d=this.autocomplete._keyManager.activeItem,h=a===38||a===40;a===9||h&&!l&&this.panelOpen?this.autocomplete._keyManager.onKeydown(t):h&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(h||this.autocomplete._keyManager.activeItem!==d)&&(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(d=>d.selected);if(l){let d=this._getDisplayValue(l.value);a!==d&&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 $t(a=>{_a(()=>{a.next()},{injector:this._environmentInjector})}),t=this.autocomplete.options?.changes.pipe(da(()=>this._positionStrategy.reapplyLastPosition()),ca(0))??Yt();return Ne(e,t).pipe(yt(()=>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})),Be(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;Qt(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 Ka(this.autocomplete.template,this._viewContainerRef,{id:this._formField?.getLabelId()}),t=ai(this._injector,this._getOverlayConfig()),this._overlayRef=t,this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&t&&t.updateSize({width:this._getPanelWidth()})}),this._handsetLandscapeSubscription=this._breakpointObserver.observe(pe.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&&!Xe(e)||e.keyCode===38&&Xe(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 Ja({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir??void 0,hasBackdrop:this._defaults?.hasBackdrop,backdropClass:this._defaults?.backdropClass,panelClass:this._overlayPanelClass,disableAnimations:this._animationsDisabled})}_getOverlayPosition(){let e=ei(this._injector,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}],d;this.position==="above"?d=l:this.position==="below"?d=t:d=[...t,...l],e.withPositions(d)}_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=yi(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 d=l._getHostElement(),h=Ti(d.offsetTop,d.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&&Dt(this._trackedModal,"aria-owns",t),Qt(e,"aria-owns",t),this._trackedModal=e}_clearFromModal(){if(this._trackedModal){let e=this.autocomplete.id;Dt(this._trackedModal,"aria-owns",e),this._trackedModal=null}}static \u0275fac=function(t){return new(t||i)};static \u0275dir=mt({type:i,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-mdc-autocomplete-trigger"],hostVars:7,hostBindings:function(t,a){t&1&&C("focusin",function(){return a._handleFocus()})("blur",function(){return a._onTouched()})("input",function(d){return a._handleInput(d)})("keydown",function(d){return a._handleKeydown(d)})("click",function(){return a._handleClick()}),t&2&&me("autocomplete",a.autocompleteAttribute)("role",a.autocompleteDisabled?null:"combobox")("aria-autocomplete",a.autocompleteDisabled?null:"list")("aria-activedescendant",a.panelOpen&&a.activeOption?a.activeOption.id:null)("aria-expanded",a.autocompleteDisabled?null:a.panelOpen.toString())("aria-controls",a.autocompleteDisabled||!a.panelOpen||a.autocomplete==null?null:a.autocomplete.id)("aria-haspopup",a.autocompleteDisabled?null:"listbox")},inputs:{autocomplete:[0,"matAutocomplete","autocomplete"],position:[0,"matAutocompletePosition","position"],connectedTo:[0,"matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:[0,"autocomplete","autocompleteAttribute"],autocompleteDisabled:[2,"matAutocompleteDisabled","autocompleteDisabled",k]},exportAs:["matAutocompleteTrigger"],features:[gt([Io]),We]})}return i})(),$i=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=be({type:i});static \u0275inj=he({providers:[Lo],imports:[ii,bt,z,Xa,bt,z]})}return i})();var No=(i,c)=>c.path;function Bo(i,c){i&1&&_(0,"i",22)}function Ro(i,c){i&1&&_(0,"i",23)}function Uo(i,c){if(i&1&&(n(0,"mat-option",16),r(1),o()),i&2){let e=c.$implicit;p("value",e),s(),He("",e.properties.quantity,": ",e.properties.display)}}function Wo(i,c){if(i&1){let e=w();n(0,"div",5)(1,"mat-form-field",21)(2,"mat-label"),u(3,Bo,1,0,"i",22)(4,Ro,1,0,"i",23),r(5," Filter"),o(),n(6,"mat-select",24,2),C("selectionChange",function(){M(e),g();let a=ie(11),l=g();return y(l.pathFormGroup.controls.path.setValue(a.value))}),n(8,"mat-option"),r(9,"All"),o(),T(10,Uo,2,3,"mat-option",16,G),o()()()}if(i&2){let e=ie(7),t=g(2);s(3),f(e.value?4:3),s(3),p("formControl",t.pathSkUnitsFilterControl),s(4),S(t.pathSkUnitsFiltersList)}}function qo(i,c){i&1&&(n(0,"span",8),r(1,"(optional)"),o())}function jo(i,c){i&1&&(n(0,"mat-hint"),r(1,"Leave blank to disable this path."),o())}function zo(i,c){if(i&1){let e=w();n(0,"button",25),C("click",function(){M(e);let a=g(2);return y(a.pathFormGroup.controls.path.setValue(""))}),n(1,"mat-icon"),r(2,"close"),o()()}}function Ho(i,c){i&1&&(n(0,"mat-error"),r(1," Path is required. Please enter a valid Signal K path. "),o())}function Ko(i,c){i&1&&(n(0,"mat-error"),r(1," Path not recognized. Please enter a path from the server's published list. "),o())}function $o(i,c){if(i&1&&(n(0,"span"),r(1),o(),_(2,"br"),n(3,"small",26),r(4),o()),i&2){let e=g().$implicit;s(),A(e.path),s(3),A(e.meta.description)}}function Yo(i,c){if(i&1&&r(0),i&2){let e=g().$implicit;ee(" ",e.path," ")}}function Zo(i,c){if(i&1&&(n(0,"mat-option",11),u(1,$o,5,2)(2,Yo,1,1),o()),i&2){let e=c.$implicit;p("value",e.path),s(),f(e.meta!==void 0?1:2)}}function Xo(i,c){if(i&1&&(n(0,"mat-option",16),r(1),o()),i&2){let e=c.$implicit;p("value",e),s(),ee(" ",e," ")}}function Qo(i,c){if(i&1&&(n(0,"mat-option",16),r(1),o()),i&2){let e=c.$implicit;p("value",e.measure),s(),ee(" ",e.description," ")}}function Jo(i,c){if(i&1&&(n(0,"mat-optgroup",28),T(1,Qo,2,2,"mat-option",16,G),o()),i&2){let e=c.$implicit;p("label",e.group),s(),S(e.units)}}function en(i,c){if(i&1&&(n(0,"mat-form-field",20)(1,"mat-label"),r(2,"Display Format"),o(),n(3,"mat-select",27),T(4,Jo,3,1,"mat-optgroup",28,G),o()()),i&2){let e=g(2);s(4),S(e.unitList.conversions)}}function tn(i,c){if(i&1&&(n(0,"div",3)(1,"div",4)(2,"span"),r(3),o()(),u(4,Wo,12,2,"div",5),n(5,"div",6)(6,"mat-form-field",7)(7,"mat-label"),r(8," Signal K Path "),u(9,qo,2,0,"span",8),o(),_(10,"input",9,0),u(12,jo,2,0,"mat-hint"),u(13,zo,3,0,"button",10),u(14,Ho,2,0,"mat-error")(15,Ko,2,0,"mat-error"),n(16,"mat-autocomplete",null,1),T(18,Zo,3,2,"mat-option",11,No),Ke(20,"async"),o()()(),n(21,"div",12)(22,"div",13)(23,"mat-form-field",14)(24,"mat-label"),r(25,"Data Source"),o(),n(26,"mat-select",15),T(27,Xo,2,2,"mat-option",16,G),o()()(),n(29,"div",17)(30,"mat-form-field",14)(31,"mat-label"),r(32,"Sample Time"),o(),_(33,"input",18),o()(),n(34,"div",19),u(35,en,6,0,"mat-form-field",20),o()()()),i&2){let e=ie(17),t=g();p("formGroup",t.pathFormGroup),s(2),xt("color",t.pathFormGroup.enabled?"":"rgba(255,255,255,0.5)"),s(),A(t.pathFormGroup.value.description),s(),f(t.pathFormGroup.value.pathType==="number"&&t.showPathSkUnitsFilter?4:-1),s(5),f(t.pathFormGroup.value.pathRequired===!1?9:-1),s(),p("matAutocomplete",e),s(2),f(t.pathFormGroup.value.pathRequired===!1?12:-1),s(),f(t.pathFormGroup.value.path?13:-1),s(),f(t.pathFormGroup.controls.path.errors!=null&&t.pathFormGroup.controls.path.errors.required?14:t.pathFormGroup.controls.path.errors!=null&&t.pathFormGroup.controls.path.errors.requireMatch?15:-1),s(4),S($e(20,11,t.filteredPaths)),s(9),S(t.availableSources),s(8),f(t.pathFormGroup.value.pathType==="number"&&t.pathFormGroup.value.showConvertUnitTo===void 0||t.pathFormGroup.value.pathType==="number"&&t.pathFormGroup.value.showConvertUnitTo===!0?35:-1)}}function an(i){return c=>{let e=c.parent?.value?.pathRequired!==!1,t=c.value;return e?t===null||t===""?{requireMatch:!0}:i().some(d=>d.path===t)?null:{requireMatch:!0}:t===null||t===""||i().some(d=>d.path===t)?null:{requireMatch:!0}}}var Yi=(()=>{class i{_data=m(Ia);_units=m(nt);_connection=m(Ga);pathFormGroup;multiCTRLArray=b.required();filterSelfPaths=b.required();availablePaths;filteredPaths=new ct(null);_pathValueChange$=null;_pathFormGroup$=null;availableSources;unitList={base:"",conversions:[]};showPathSkUnitsFilter=!1;pathSkUnitsFilterControl=new mi(null);pathSkUnitsFiltersList;unitlessUnit={unit:"unitless",properties:{display:"(null)",quantity:"Unitless",quantityDisplay:"(null)",description:""}};ngOnInit(){this.pathSkUnitsFiltersList=this._units.skBaseUnits.sort((e,t)=>e.properties.quantity>t.properties.quantity?1:-1),this.pathSkUnitsFiltersList.unshift(this.unitlessUnit),this.pathFormGroup.value.pathSkUnitsFilter&&this.pathSkUnitsFilterControl.setValue(this.pathSkUnitsFiltersList.find(e=>e.unit===this.pathFormGroup.value.pathSkUnitsFilter),{onlySelf:!0}),this.pathFormGroup.value.showPathSkUnitsFilter&&(this.showPathSkUnitsFilter=this.pathFormGroup.value.showPathSkUnitsFilter),this.pathFormGroup.controls.path.setValidators([an(()=>this.getPaths())]),this.pathFormGroup.controls.path.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this.pathFormGroup.controls.pathRequired&&this.pathFormGroup.controls.pathRequired.valueChanges.subscribe(()=>{this.pathFormGroup.controls.path.updateValueAndValidity()}),this.pathFormGroup.controls.path.valid?this.enableFormFields(!1):this.disablePathFields(),this.pathFormGroup.controls.sampleTime||(this.pathFormGroup.addControl("sampleTime",new $("500",D.required)),this.pathFormGroup.controls.sampleTime.updateValueAndValidity({onlySelf:!0,emitEvent:!1})),this._pathValueChange$=this.pathFormGroup.controls.path.valueChanges.pipe(sa(e=>e===""?Zt(0):Zt(350)),Re(""),Ve(e=>this.filterPaths(e||""))).subscribe(()=>{this.pathFormGroup.controls.path.pristine||(this.pathFormGroup.controls.path.valid?(this.enableFormFields(!0),this.updatePathMetaBoundDisplayName(this.pathFormGroup.controls.path.value),this.updatePathMetaBoundDisplayScale(this.pathFormGroup.controls.path.value)):this.disablePathFields())}),this._pathFormGroup$=this.pathFormGroup.controls.pathType.valueChanges.subscribe(()=>{this.pathFormGroup.value.showPathSkUnitsFilter?this.pathSkUnitsFilterControl.setValue(this.unitlessUnit):this.pathSkUnitsFilterControl.setValue(null),this.pathFormGroup.controls.path.updateValueAndValidity()})}ngOnChanges(e){e.filterSelfPaths&&!e.filterSelfPaths.firstChange&&this.pathFormGroup.controls.path.updateValueAndValidity()}getPaths(){let e=this.pathFormGroup.controls.pathType.value,t=this.filterSelfPaths(),a=!1;if(this.pathFormGroup.value.supportsPut){let l=!1;this.multiCTRLArray().length>0&&(l=this.multiCTRLArray().some(d=>d.pathID===this.pathFormGroup.value.pathID&&d.type==="3")),l?a=!1:a=Ea(this._connection.skServerVersion,"2.12.0",">=")?this.pathFormGroup.value.supportsPut:!1}return this._data.getPathsAndMetaByType(e,a,t).sort()}filterPaths(e){let t=e.toLowerCase(),a=this.getPaths();if(this.pathSkUnitsFilterControl.value){let l=this.pathSkUnitsFilterControl.value.unit;a=a.filter(d=>{let h=!!d.meta&&!!d.meta.units,x=l==="unitless";return h&&d.meta.units===l||!h&&x})}a=a.filter(l=>l.path.toLowerCase().includes(t)),this.filteredPaths.next(a)}enableFormFields(e){let t=this._data.getPathObject(this.pathFormGroup.controls.path.value);t!=null?(this.pathFormGroup.controls.sampleTime.enable({onlySelf:!1}),this.pathFormGroup.controls.pathType.value=="number"&&(this.unitList=this._units.getConversionsForPath(this.pathFormGroup.controls.path.value),e&&this.pathFormGroup.controls.convertUnitTo.setValue(this.unitList.base,{onlySelf:!0}),this.pathFormGroup.controls.convertUnitTo.enable({onlySelf:!1})),Object.keys(t.sources).length==1?(this.availableSources=["default"],e?this.pathFormGroup.controls.source.value!="default"&&this.pathFormGroup.controls.source.setValue("default",{onlySelf:!0}):this.pathFormGroup.controls.source.value!="default"&&this.pathFormGroup.controls.source.setValue("",{onlySelf:!0})):Object.keys(t.sources).length>1&&(this.availableSources=Object.keys(t.sources),this.pathFormGroup.controls.source.value=="default"&&this.pathFormGroup.controls.source.reset()),this.pathFormGroup.controls.source.enable({onlySelf:!1})):this.disablePathFields()}disablePathFields(){this.pathFormGroup.controls.source.reset("",{onlySelf:!0}),this.pathFormGroup.controls.source.disable({onlySelf:!1}),this.pathFormGroup.controls.sampleTime.disable({onlySelf:!1}),this.pathFormGroup.controls.pathType.value=="number"&&(this.pathFormGroup.controls.convertUnitTo.reset("",{onlySelf:!0}),this.pathFormGroup.controls.convertUnitTo.disable({onlySelf:!1}))}updatePathMetaBoundDisplayName(e){if(!Object.prototype.hasOwnProperty.call(this.pathFormGroup.parent.parent.value,"displayName"))return;let t=this._data.getPathMeta(e);t?.displayName&&this.pathFormGroup.parent.parent.controls.displayName.setValue(t.displayName)}updatePathMetaBoundDisplayScale(e){if(!Object.prototype.hasOwnProperty.call(this.pathFormGroup.parent.parent.value,"displayScale"))return;let t=this._data.getPathMeta(e);if(t?.displayScale){let a=this.pathFormGroup.parent.parent.get("displayScale"),l=this.pathFormGroup.controls.convertUnitTo.value;t.displayScale.lower!==null&&t.displayScale.lower!==void 0&&a.controls.lower.setValue(this._units.convertToUnit(l,t.displayScale.lower)),t.displayScale.upper!==null&&t.displayScale.upper!==void 0&&a.controls.upper.setValue(this._units.convertToUnit(l,t.displayScale.upper)),t.displayScale.type!==null&&t.displayScale.type!==void 0&&a.controls.type.setValue(t.displayScale.type),t.displayScale.power!==null&&t.displayScale.power!==void 0&&a.controls.power.setValue(t.displayScale.power)}}ngOnDestroy(){this._pathValueChange$?.unsubscribe(),this._pathFormGroup$?.unsubscribe()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["path-control-config"]],inputs:{pathFormGroup:"pathFormGroup",multiCTRLArray:[1,"multiCTRLArray"],filterSelfPaths:[1,"filterSelfPaths"]},features:[We],decls:1,vars:1,consts:[["pathInput",""],["pathAutoComplete","matAutocomplete"],["pathUnitsFilter",""],[1,"flex-container","rounded-card","rounded-card-color",3,"formGroup"],[1,"flex-field-100"],[1,"flex-field-fixed"],[1,"flex-field-to-100"],["floatLabel","auto","appearance","fill",1,"pathField"],[1,"optional-label"],["type","text","matInput","","placeholder","Type to use autocomplete or select from list","formControlName","path",3,"matAutocomplete"],["mat-icon-button","","matIconSuffix","","aria-label","Clear"],[2,"min-height","48px","line-height","1.15","height","auto","padding","8px 16px","white-space","normal",3,"value"],[1,"pathProperties"],[1,"sourceField"],["appearance","outline","floatLabel","always",1,"fields"],["placeholder","Select source","formControlName","source","required",""],[3,"value"],[1,"sampleTimeField"],["matInput","","type","number","placeholder","Sample time in milliseconds","formControlName","sampleTime","required",""],[1,"unitField"],[1,"fields"],["floatLabel","auto","appearance","fill",1,"filter-path"],[1,"fa-solid","fa-filter"],[1,"fa-solid","fa-filter-circle-xmark"],["panelWidth","",3,"selectionChange","formControl"],["mat-icon-button","","matIconSuffix","","aria-label","Clear",3,"click"],[1,"pathMetaDescription"],["placeholder","Select unit","formControlName","convertUnitTo","required",""],[3,"label"]],template:function(t,a){t&1&&u(0,tn,36,13,"div",3),t&2&&f(a.pathFormGroup.value.isPathConfigurable?0:-1)},dependencies:[R,B,Ee,F,K,P,I,re,Y,Je,L,O,U,$i,jt,W,Nt,_t,H,at,Lt,le,At,oe,N,gi],styles:[".pathGroup[_ngcontent-%COMP%]{width:100%}.pathGroupFields[_ngcontent-%COMP%]{display:block;width:calc(100% - 5px)}.pathField[_ngcontent-%COMP%]{width:100%}.pathProperties[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:center;align-content:flex-start;gap:10px}.fields[_ngcontent-%COMP%]{width:100%}.sourceField[_ngcontent-%COMP%]{flex:3 1}.sampleTimeField[_ngcontent-%COMP%]{flex:1 3}.unitField[_ngcontent-%COMP%]{flex:3 1}"]})}return i})();function on(i,c){if(i&1&&_(0,"path-control-config",6),i&2){let e=c.$implicit,t=g(2);p("pathFormGroup",e)("filterSelfPaths",t.filterSelfPaths().value)("multiCTRLArray",t.multiCTRLArray)}}function nn(i,c){if(i&1&&T(0,on,1,3,"path-control-config",6,G),i&2){let e=g();S(e.pathsFormGroup.controls)}}function rn(i,c){if(i&1&&_(0,"path-control-config",6),i&2){let e=c.$implicit,t=g(2);p("pathFormGroup",t.pathsFormGroup.get(e))("filterSelfPaths",t.filterSelfPaths().value)("multiCTRLArray",t.multiCTRLArray)}}function ln(i,c){if(i&1&&(T(0,rn,1,3,"path-control-config",6,G),Ke(2,"objectKeys")),i&2){let e=g();S($e(2,0,e.pathsFormGroup.controls))}}var Zi=(()=>{class i{rootFormGroup=m(Y);fb=m(tt);formGroupName=b.required();isArray=b.required();enableTimeout=b.required();dataTimeout=b.required();filterSelfPaths=b.required();addPathEvent=b(void 0);delPathEvent=b(void 0);updatePathEvent=b(void 0);pathsFormGroup;multiCTRLArray=[];ngOnInit(){this.isArray()?(this.pathsFormGroup=this.rootFormGroup.control.get(this.formGroupName()),this.multiCTRLArray=this.rootFormGroup.control.get("multiChildCtrls").value):this.pathsFormGroup=this.rootFormGroup.control.get(this.formGroupName())}addPath(e){this.pathsFormGroup.push(this.fb.group({description:[e.path.description],path:[e.path.path,D.required],pathID:[e.path.pathID],source:[e.path.source,D.required],pathType:[e.path.pathType],isPathConfigurable:[e.path.isPathConfigurable],showPathSkUnitsFilter:[e.path.showPathSkUnitsFilter],pathSkUnitsFilter:[e.path.pathSkUnitsFilter],convertUnitTo:[e.path.convertUnitTo],sampleTime:[e.path.sampleTime],supportsPut:[e.path.supportsPut]})),this.pathsFormGroup.updateValueAndValidity(),this.multiCTRLArray=this.rootFormGroup.control.get("multiChildCtrls").value}delPath(){this.multiCTRLArray=this.rootFormGroup.control.get("multiChildCtrls").value}updatePath(e){this.multiCTRLArray=e}ngOnChanges(e){e.addPathEvent&&!e.addPathEvent.firstChange&&this.addPath(e.addPathEvent.currentValue),e.delPathEvent&&!e.delPathEvent.firstChange&&this.delPath(),e.updatePathEvent&&!e.updatePathEvent.firstChange&&this.updatePath(e.updatePathEvent.currentValue)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["paths-options"]],inputs:{formGroupName:[1,"formGroupName"],isArray:[1,"isArray"],enableTimeout:[1,"enableTimeout"],dataTimeout:[1,"dataTimeout"],filterSelfPaths:[1,"filterSelfPaths"],addPathEvent:[1,"addPathEvent"],delPathEvent:[1,"delPathEvent"],updatePathEvent:[1,"updatePathEvent"]},features:[We],decls:14,vars:5,consts:[[1,"widget-options-grid"],["name","enableTimeout",3,"formControl"],["type","number","matNativeControl","","placeholder","Time in seconds...","name","dataTimeout","min","2","required","",3,"formControl"],["matTextSuffix",""],[3,"formGroup"],["name","filterSelfPaths",3,"formControl"],[2,"display","block",3,"pathFormGroup","filterSelfPaths","multiCTRLArray"]],template:function(t,a){t&1&&(n(0,"div",0)(1,"mat-checkbox",1),r(2," Enable Widget Data TTL "),o(),n(3,"mat-form-field")(4,"mat-label"),r(5,"TTL Timeout For Paths"),o(),_(6,"input",2),n(7,"span",3),r(8,"Seconds"),o()()(),Ca(9,4),u(10,nn,2,0)(11,ln,3,2),va(),n(12,"mat-checkbox",5),r(13,` Restrict to own vessel
5
+ `),o()),t&2&&(s(),p("formControl",a.enableTimeout()),s(5),p("formControl",a.dataTimeout()),s(3),p("formGroup",a.pathsFormGroup),s(),f(a.isArray()?10:11),s(2),p("formControl",a.filterSelfPaths()))},dependencies:[ke,R,B,Ee,F,K,P,et,I,re,Y,L,O,U,at,Yi,qi],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%;padding-top:15px;padding-bottom:5px}"]})}return i})();function sn(i,c){if(i&1){let e=w();n(0,"button",7),C("click",function(){M(e);let a=g();return y(a.dateTimezone.setValue(""))}),_(1,"span",8),o()}}function cn(i,c){if(i&1&&(n(0,"mat-option",6),r(1),o()),i&2){let e=c.$implicit;p("value",e.label),s(),He(" ",e.offset," - ",e.label," ")}}function dn(i){return c=>i.some(t=>t.label===c.value)?null:{requireMatch:!0}}var mn=()=>{let i=Intl.supportedValuesOf("timeZone"),c=new Date;return i.map(e=>({offset:new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"shortOffset"}).formatToParts(c).find(d=>d.type==="timeZoneName")?.value||"",label:e}))},Xi=(()=>{class i{dateFormat=b(void 0);dateTimezone;tz=[];filteredTZ;filteredTZSubscription=null;constructor(){}ngOnInit(){typeof Intl.supportedValuesOf<"u"?this.tz=mn().sort((e,t)=>this.compareOffsets(e.offset,t.offset)):(console.log("[Widget Options] Feature not supported. Using static Time Zone list"),this.tz=[{offset:"GMT",label:"Africa/Abidjan"},{offset:"GMT",label:"Africa/Accra"},{offset:"GMT+3",label:"Africa/Addis_Ababa"},{offset:"GMT+1",label:"Africa/Algiers"},{offset:"GMT+3",label:"Africa/Asmera"},{offset:"GMT",label:"Africa/Bamako"},{offset:"GMT+1",label:"Africa/Bangui"},{offset:"GMT",label:"Africa/Banjul"},{offset:"GMT",label:"Africa/Bissau"},{offset:"GMT+2",label:"Africa/Blantyre"},{offset:"GMT+1",label:"Africa/Brazzaville"},{offset:"GMT+2",label:"Africa/Bujumbura"},{offset:"GMT+2",label:"Africa/Cairo"},{offset:"GMT",label:"Africa/Casablanca"},{offset:"GMT+2",label:"Africa/Ceuta"},{offset:"GMT",label:"Africa/Conakry"},{offset:"GMT",label:"Africa/Dakar"},{offset:"GMT+3",label:"Africa/Dar_es_Salaam"},{offset:"GMT+3",label:"Africa/Djibouti"},{offset:"GMT+1",label:"Africa/Douala"},{offset:"GMT",label:"Africa/El_Aaiun"},{offset:"GMT",label:"Africa/Freetown"},{offset:"GMT+2",label:"Africa/Gaborone"},{offset:"GMT+2",label:"Africa/Harare"},{offset:"GMT+2",label:"Africa/Johannesburg"},{offset:"GMT+2",label:"Africa/Juba"},{offset:"GMT+3",label:"Africa/Kampala"},{offset:"GMT+2",label:"Africa/Khartoum"},{offset:"GMT+2",label:"Africa/Kigali"},{offset:"GMT+1",label:"Africa/Kinshasa"},{offset:"GMT+1",label:"Africa/Lagos"},{offset:"GMT+1",label:"Africa/Libreville"},{offset:"GMT",label:"Africa/Lome"},{offset:"GMT+1",label:"Africa/Luanda"},{offset:"GMT+2",label:"Africa/Lubumbashi"},{offset:"GMT+2",label:"Africa/Lusaka"},{offset:"GMT+1",label:"Africa/Malabo"},{offset:"GMT+2",label:"Africa/Maputo"},{offset:"GMT+2",label:"Africa/Maseru"},{offset:"GMT+2",label:"Africa/Mbabane"},{offset:"GMT+3",label:"Africa/Mogadishu"},{offset:"GMT",label:"Africa/Monrovia"},{offset:"GMT+3",label:"Africa/Nairobi"},{offset:"GMT+1",label:"Africa/Ndjamena"},{offset:"GMT+1",label:"Africa/Niamey"},{offset:"GMT",label:"Africa/Nouakchott"},{offset:"GMT",label:"Africa/Ouagadougou"},{offset:"GMT+1",label:"Africa/Porto-Novo"},{offset:"GMT",label:"Africa/Sao_Tome"},{offset:"GMT+2",label:"Africa/Tripoli"},{offset:"GMT+1",label:"Africa/Tunis"},{offset:"GMT+2",label:"Africa/Windhoek"},{offset:"GMT-9",label:"America/Adak"},{offset:"GMT-8",label:"America/Anchorage"},{offset:"GMT-4",label:"America/Anguilla"},{offset:"GMT-4",label:"America/Antigua"},{offset:"GMT-3",label:"America/Araguaina"},{offset:"GMT-3",label:"America/Argentina/La_Rioja"},{offset:"GMT-3",label:"America/Argentina/Rio_Gallegos"},{offset:"GMT-3",label:"America/Argentina/Salta"},{offset:"GMT-3",label:"America/Argentina/San_Juan"},{offset:"GMT-3",label:"America/Argentina/San_Luis"},{offset:"GMT-3",label:"America/Argentina/Tucuman"},{offset:"GMT-3",label:"America/Argentina/Ushuaia"},{offset:"GMT-4",label:"America/Aruba"},{offset:"GMT-3",label:"America/Asuncion"},{offset:"GMT-3",label:"America/Bahia"},{offset:"GMT-6",label:"America/Bahia_Banderas"},{offset:"GMT-4",label:"America/Barbados"},{offset:"GMT-3",label:"America/Belem"},{offset:"GMT-6",label:"America/Belize"},{offset:"GMT-4",label:"America/Blanc-Sablon"},{offset:"GMT-4",label:"America/Boa_Vista"},{offset:"GMT-5",label:"America/Bogota"},{offset:"GMT-6",label:"America/Boise"},{offset:"GMT-3",label:"America/Buenos_Aires"},{offset:"GMT-6",label:"America/Cambridge_Bay"},{offset:"GMT-4",label:"America/Campo_Grande"},{offset:"GMT-5",label:"America/Cancun"},{offset:"GMT-4",label:"America/Caracas"},{offset:"GMT-3",label:"America/Catamarca"},{offset:"GMT-3",label:"America/Cayenne"},{offset:"GMT-5",label:"America/Cayman"},{offset:"GMT-5",label:"America/Chicago"},{offset:"GMT-6",label:"America/Chihuahua"},{offset:"GMT-6",label:"America/Ciudad_Juarez"},{offset:"GMT-5",label:"America/Coral_Harbour"},{offset:"GMT-3",label:"America/Cordoba"},{offset:"GMT-6",label:"America/Costa_Rica"},{offset:"GMT-7",label:"America/Creston"},{offset:"GMT-4",label:"America/Cuiaba"},{offset:"GMT-4",label:"America/Curacao"},{offset:"GMT",label:"America/Danmarkshavn"},{offset:"GMT-7",label:"America/Dawson"},{offset:"GMT-7",label:"America/Dawson_Creek"},{offset:"GMT-6",label:"America/Denver"},{offset:"GMT-4",label:"America/Detroit"},{offset:"GMT-4",label:"America/Dominica"},{offset:"GMT-6",label:"America/Edmonton"},{offset:"GMT-5",label:"America/Eirunepe"},{offset:"GMT-6",label:"America/El_Salvador"},{offset:"GMT-7",label:"America/Fort_Nelson"},{offset:"GMT-3",label:"America/Fortaleza"},{offset:"GMT-3",label:"America/Glace_Bay"},{offset:"GMT-1",label:"America/Godthab"},{offset:"GMT-3",label:"America/Goose_Bay"},{offset:"GMT-4",label:"America/Grand_Turk"},{offset:"GMT-4",label:"America/Grenada"},{offset:"GMT-4",label:"America/Guadeloupe"},{offset:"GMT-6",label:"America/Guatemala"},{offset:"GMT-5",label:"America/Guayaquil"},{offset:"GMT-4",label:"America/Guyana"},{offset:"GMT-3",label:"America/Halifax"},{offset:"GMT-4",label:"America/Havana"},{offset:"GMT-7",label:"America/Hermosillo"},{offset:"GMT-5",label:"America/Indiana/Knox"},{offset:"GMT-4",label:"America/Indiana/Marengo"},{offset:"GMT-4",label:"America/Indiana/Petersburg"},{offset:"GMT-5",label:"America/Indiana/Tell_City"},{offset:"GMT-4",label:"America/Indiana/Vevay"},{offset:"GMT-4",label:"America/Indiana/Vincennes"},{offset:"GMT-4",label:"America/Indiana/Winamac"},{offset:"GMT-4",label:"America/Indianapolis"},{offset:"GMT-6",label:"America/Inuvik"},{offset:"GMT-4",label:"America/Iqaluit"},{offset:"GMT-5",label:"America/Jamaica"},{offset:"GMT-3",label:"America/Jujuy"},{offset:"GMT-8",label:"America/Juneau"},{offset:"GMT-4",label:"America/Kentucky/Monticello"},{offset:"GMT-4",label:"America/Kralendijk"},{offset:"GMT-4",label:"America/La_Paz"},{offset:"GMT-5",label:"America/Lima"},{offset:"GMT-7",label:"America/Los_Angeles"},{offset:"GMT-4",label:"America/Louisville"},{offset:"GMT-4",label:"America/Lower_Princes"},{offset:"GMT-3",label:"America/Maceio"},{offset:"GMT-6",label:"America/Managua"},{offset:"GMT-4",label:"America/Manaus"},{offset:"GMT-4",label:"America/Marigot"},{offset:"GMT-4",label:"America/Martinique"},{offset:"GMT-5",label:"America/Matamoros"},{offset:"GMT-7",label:"America/Mazatlan"},{offset:"GMT-3",label:"America/Mendoza"},{offset:"GMT-5",label:"America/Menominee"},{offset:"GMT-6",label:"America/Merida"},{offset:"GMT-8",label:"America/Metlakatla"},{offset:"GMT-6",label:"America/Mexico_City"},{offset:"GMT-2",label:"America/Miquelon"},{offset:"GMT-3",label:"America/Moncton"},{offset:"GMT-6",label:"America/Monterrey"},{offset:"GMT-3",label:"America/Montevideo"},{offset:"GMT-4",label:"America/Montserrat"},{offset:"GMT-4",label:"America/Nassau"},{offset:"GMT-4",label:"America/New_York"},{offset:"GMT-8",label:"America/Nome"},{offset:"GMT-2",label:"America/Noronha"},{offset:"GMT-5",label:"America/North_Dakota/Beulah"},{offset:"GMT-5",label:"America/North_Dakota/Center"},{offset:"GMT-5",label:"America/North_Dakota/New_Salem"},{offset:"GMT-5",label:"America/Ojinaga"},{offset:"GMT-5",label:"America/Panama"},{offset:"GMT-3",label:"America/Paramaribo"},{offset:"GMT-7",label:"America/Phoenix"},{offset:"GMT-4",label:"America/Port-au-Prince"},{offset:"GMT-4",label:"America/Port_of_Spain"},{offset:"GMT-4",label:"America/Porto_Velho"},{offset:"GMT-4",label:"America/Puerto_Rico"},{offset:"GMT-3",label:"America/Punta_Arenas"},{offset:"GMT-5",label:"America/Rankin_Inlet"},{offset:"GMT-3",label:"America/Recife"},{offset:"GMT-6",label:"America/Regina"},{offset:"GMT-5",label:"America/Resolute"},{offset:"GMT-5",label:"America/Rio_Branco"},{offset:"GMT-3",label:"America/Santarem"},{offset:"GMT-3",label:"America/Santiago"},{offset:"GMT-4",label:"America/Santo_Domingo"},{offset:"GMT-3",label:"America/Sao_Paulo"},{offset:"GMT-1",label:"America/Scoresbysund"},{offset:"GMT-8",label:"America/Sitka"},{offset:"GMT-4",label:"America/St_Barthelemy"},{offset:"GMT-2:30",label:"America/St_Johns"},{offset:"GMT-4",label:"America/St_Kitts"},{offset:"GMT-4",label:"America/St_Lucia"},{offset:"GMT-4",label:"America/St_Thomas"},{offset:"GMT-4",label:"America/St_Vincent"},{offset:"GMT-6",label:"America/Swift_Current"},{offset:"GMT-6",label:"America/Tegucigalpa"},{offset:"GMT-3",label:"America/Thule"},{offset:"GMT-7",label:"America/Tijuana"},{offset:"GMT-4",label:"America/Toronto"},{offset:"GMT-4",label:"America/Tortola"},{offset:"GMT-7",label:"America/Vancouver"},{offset:"GMT-7",label:"America/Whitehorse"},{offset:"GMT-5",label:"America/Winnipeg"},{offset:"GMT-8",label:"America/Yakutat"},{offset:"GMT+8",label:"Antarctica/Casey"},{offset:"GMT+7",label:"Antarctica/Davis"},{offset:"GMT+10",label:"Antarctica/DumontDUrville"},{offset:"GMT+11",label:"Antarctica/Macquarie"},{offset:"GMT+5",label:"Antarctica/Mawson"},{offset:"GMT+13",label:"Antarctica/McMurdo"},{offset:"GMT-3",label:"Antarctica/Palmer"},{offset:"GMT-3",label:"Antarctica/Rothera"},{offset:"GMT+3",label:"Antarctica/Syowa"},{offset:"GMT+2",label:"Antarctica/Troll"},{offset:"GMT+5",label:"Antarctica/Vostok"},{offset:"GMT+2",label:"Arctic/Longyearbyen"},{offset:"GMT+3",label:"Asia/Aden"},{offset:"GMT+5",label:"Asia/Almaty"},{offset:"GMT+3",label:"Asia/Amman"},{offset:"GMT+12",label:"Asia/Anadyr"},{offset:"GMT+5",label:"Asia/Aqtau"},{offset:"GMT+5",label:"Asia/Aqtobe"},{offset:"GMT+5",label:"Asia/Ashgabat"},{offset:"GMT+5",label:"Asia/Atyrau"},{offset:"GMT+3",label:"Asia/Baghdad"},{offset:"GMT+3",label:"Asia/Bahrain"},{offset:"GMT+4",label:"Asia/Baku"},{offset:"GMT+7",label:"Asia/Bangkok"},{offset:"GMT+7",label:"Asia/Barnaul"},{offset:"GMT+3",label:"Asia/Beirut"},{offset:"GMT+6",label:"Asia/Bishkek"},{offset:"GMT+8",label:"Asia/Brunei"},{offset:"GMT+5:30",label:"Asia/Calcutta"},{offset:"GMT+9",label:"Asia/Chita"},{offset:"GMT+5:30",label:"Asia/Colombo"},{offset:"GMT+3",label:"Asia/Damascus"},{offset:"GMT+6",label:"Asia/Dhaka"},{offset:"GMT+9",label:"Asia/Dili"},{offset:"GMT+4",label:"Asia/Dubai"},{offset:"GMT+5",label:"Asia/Dushanbe"},{offset:"GMT+3",label:"Asia/Famagusta"},{offset:"GMT+2",label:"Asia/Gaza"},{offset:"GMT+2",label:"Asia/Hebron"},{offset:"GMT+8",label:"Asia/Hong_Kong"},{offset:"GMT+7",label:"Asia/Hovd"},{offset:"GMT+8",label:"Asia/Irkutsk"},{offset:"GMT+7",label:"Asia/Jakarta"},{offset:"GMT+9",label:"Asia/Jayapura"},{offset:"GMT+3",label:"Asia/Jerusalem"},{offset:"GMT+4:30",label:"Asia/Kabul"},{offset:"GMT+12",label:"Asia/Kamchatka"},{offset:"GMT+5",label:"Asia/Karachi"},{offset:"GMT+5:45",label:"Asia/Katmandu"},{offset:"GMT+9",label:"Asia/Khandyga"},{offset:"GMT+7",label:"Asia/Krasnoyarsk"},{offset:"GMT+8",label:"Asia/Kuala_Lumpur"},{offset:"GMT+8",label:"Asia/Kuching"},{offset:"GMT+3",label:"Asia/Kuwait"},{offset:"GMT+8",label:"Asia/Macau"},{offset:"GMT+11",label:"Asia/Magadan"},{offset:"GMT+8",label:"Asia/Makassar"},{offset:"GMT+8",label:"Asia/Manila"},{offset:"GMT+4",label:"Asia/Muscat"},{offset:"GMT+3",label:"Asia/Nicosia"},{offset:"GMT+7",label:"Asia/Novokuznetsk"},{offset:"GMT+7",label:"Asia/Novosibirsk"},{offset:"GMT+6",label:"Asia/Omsk"},{offset:"GMT+5",label:"Asia/Oral"},{offset:"GMT+7",label:"Asia/Phnom_Penh"},{offset:"GMT+7",label:"Asia/Pontianak"},{offset:"GMT+9",label:"Asia/Pyongyang"},{offset:"GMT+3",label:"Asia/Qatar"},{offset:"GMT+5",label:"Asia/Qostanay"},{offset:"GMT+5",label:"Asia/Qyzylorda"},{offset:"GMT+6:30",label:"Asia/Rangoon"},{offset:"GMT+3",label:"Asia/Riyadh"},{offset:"GMT+7",label:"Asia/Saigon"},{offset:"GMT+11",label:"Asia/Sakhalin"},{offset:"GMT+5",label:"Asia/Samarkand"},{offset:"GMT+9",label:"Asia/Seoul"},{offset:"GMT+8",label:"Asia/Shanghai"},{offset:"GMT+8",label:"Asia/Singapore"},{offset:"GMT+11",label:"Asia/Srednekolymsk"},{offset:"GMT+8",label:"Asia/Taipei"},{offset:"GMT+5",label:"Asia/Tashkent"},{offset:"GMT+4",label:"Asia/Tbilisi"},{offset:"GMT+3:30",label:"Asia/Tehran"},{offset:"GMT+6",label:"Asia/Thimphu"},{offset:"GMT+9",label:"Asia/Tokyo"},{offset:"GMT+7",label:"Asia/Tomsk"},{offset:"GMT+8",label:"Asia/Ulaanbaatar"},{offset:"GMT+6",label:"Asia/Urumqi"},{offset:"GMT+10",label:"Asia/Ust-Nera"},{offset:"GMT+7",label:"Asia/Vientiane"},{offset:"GMT+10",label:"Asia/Vladivostok"},{offset:"GMT+9",label:"Asia/Yakutsk"},{offset:"GMT+5",label:"Asia/Yekaterinburg"},{offset:"GMT+4",label:"Asia/Yerevan"},{offset:"GMT",label:"Atlantic/Azores"},{offset:"GMT-3",label:"Atlantic/Bermuda"},{offset:"GMT+1",label:"Atlantic/Canary"},{offset:"GMT-1",label:"Atlantic/Cape_Verde"},{offset:"GMT+1",label:"Atlantic/Faeroe"},{offset:"GMT+1",label:"Atlantic/Madeira"},{offset:"GMT",label:"Atlantic/Reykjavik"},{offset:"GMT-2",label:"Atlantic/South_Georgia"},{offset:"GMT",label:"Atlantic/St_Helena"},{offset:"GMT-3",label:"Atlantic/Stanley"},{offset:"GMT+10:30",label:"Australia/Adelaide"},{offset:"GMT+10",label:"Australia/Brisbane"},{offset:"GMT+10:30",label:"Australia/Broken_Hill"},{offset:"GMT+9:30",label:"Australia/Darwin"},{offset:"GMT+8:45",label:"Australia/Eucla"},{offset:"GMT+11",label:"Australia/Hobart"},{offset:"GMT+10",label:"Australia/Lindeman"},{offset:"GMT+11",label:"Australia/Lord_Howe"},{offset:"GMT+11",label:"Australia/Melbourne"},{offset:"GMT+8",label:"Australia/Perth"},{offset:"GMT+11",label:"Australia/Sydney"},{offset:"GMT+2",label:"Europe/Amsterdam"},{offset:"GMT+2",label:"Europe/Andorra"},{offset:"GMT+4",label:"Europe/Astrakhan"},{offset:"GMT+3",label:"Europe/Athens"},{offset:"GMT+2",label:"Europe/Belgrade"},{offset:"GMT+2",label:"Europe/Berlin"},{offset:"GMT+2",label:"Europe/Bratislava"},{offset:"GMT+2",label:"Europe/Brussels"},{offset:"GMT+3",label:"Europe/Bucharest"},{offset:"GMT+2",label:"Europe/Budapest"},{offset:"GMT+2",label:"Europe/Busingen"},{offset:"GMT+3",label:"Europe/Chisinau"},{offset:"GMT+2",label:"Europe/Copenhagen"},{offset:"GMT+1",label:"Europe/Dublin"},{offset:"GMT+2",label:"Europe/Gibraltar"},{offset:"GMT+1",label:"Europe/Guernsey"},{offset:"GMT+3",label:"Europe/Helsinki"},{offset:"GMT+1",label:"Europe/Isle_of_Man"},{offset:"GMT+3",label:"Europe/Istanbul"},{offset:"GMT+1",label:"Europe/Jersey"},{offset:"GMT+2",label:"Europe/Kaliningrad"},{offset:"GMT+3",label:"Europe/Kiev"},{offset:"GMT+3",label:"Europe/Kirov"},{offset:"GMT+1",label:"Europe/Lisbon"},{offset:"GMT+2",label:"Europe/Ljubljana"},{offset:"GMT+1",label:"Europe/London"},{offset:"GMT+2",label:"Europe/Luxembourg"},{offset:"GMT+2",label:"Europe/Madrid"},{offset:"GMT+2",label:"Europe/Malta"},{offset:"GMT+3",label:"Europe/Mariehamn"},{offset:"GMT+3",label:"Europe/Minsk"},{offset:"GMT+2",label:"Europe/Monaco"},{offset:"GMT+3",label:"Europe/Moscow"},{offset:"GMT+2",label:"Europe/Oslo"},{offset:"GMT+2",label:"Europe/Paris"},{offset:"GMT+2",label:"Europe/Podgorica"},{offset:"GMT+2",label:"Europe/Prague"},{offset:"GMT+3",label:"Europe/Riga"},{offset:"GMT+2",label:"Europe/Rome"},{offset:"GMT+4",label:"Europe/Samara"},{offset:"GMT+2",label:"Europe/San_Marino"},{offset:"GMT+2",label:"Europe/Sarajevo"},{offset:"GMT+4",label:"Europe/Saratov"},{offset:"GMT+3",label:"Europe/Simferopol"},{offset:"GMT+2",label:"Europe/Skopje"},{offset:"GMT+3",label:"Europe/Sofia"},{offset:"GMT+2",label:"Europe/Stockholm"},{offset:"GMT+3",label:"Europe/Tallinn"},{offset:"GMT+2",label:"Europe/Tirane"},{offset:"GMT+4",label:"Europe/Ulyanovsk"},{offset:"GMT+2",label:"Europe/Vaduz"},{offset:"GMT+2",label:"Europe/Vatican"},{offset:"GMT+2",label:"Europe/Vienna"},{offset:"GMT+3",label:"Europe/Vilnius"},{offset:"GMT+3",label:"Europe/Volgograd"},{offset:"GMT+2",label:"Europe/Warsaw"},{offset:"GMT+2",label:"Europe/Zagreb"},{offset:"GMT+2",label:"Europe/Zurich"},{offset:"GMT+3",label:"Indian/Antananarivo"},{offset:"GMT+6",label:"Indian/Chagos"},{offset:"GMT+7",label:"Indian/Christmas"},{offset:"GMT+6:30",label:"Indian/Cocos"},{offset:"GMT+3",label:"Indian/Comoro"},{offset:"GMT+5",label:"Indian/Kerguelen"},{offset:"GMT+4",label:"Indian/Mahe"},{offset:"GMT+5",label:"Indian/Maldives"},{offset:"GMT+4",label:"Indian/Mauritius"},{offset:"GMT+3",label:"Indian/Mayotte"},{offset:"GMT+4",label:"Indian/Reunion"},{offset:"GMT+13",label:"Pacific/Apia"},{offset:"GMT+13",label:"Pacific/Auckland"},{offset:"GMT+11",label:"Pacific/Bougainville"},{offset:"GMT+13:45",label:"Pacific/Chatham"},{offset:"GMT-5",label:"Pacific/Easter"},{offset:"GMT+11",label:"Pacific/Efate"},{offset:"GMT+13",label:"Pacific/Enderbury"},{offset:"GMT+13",label:"Pacific/Fakaofo"},{offset:"GMT+12",label:"Pacific/Fiji"},{offset:"GMT+12",label:"Pacific/Funafuti"},{offset:"GMT-6",label:"Pacific/Galapagos"},{offset:"GMT-9",label:"Pacific/Gambier"},{offset:"GMT+11",label:"Pacific/Guadalcanal"},{offset:"GMT+10",label:"Pacific/Guam"},{offset:"GMT-10",label:"Pacific/Honolulu"},{offset:"GMT+14",label:"Pacific/Kiritimati"},{offset:"GMT+11",label:"Pacific/Kosrae"},{offset:"GMT+12",label:"Pacific/Kwajalein"},{offset:"GMT+12",label:"Pacific/Majuro"},{offset:"GMT-9:30",label:"Pacific/Marquesas"},{offset:"GMT-11",label:"Pacific/Midway"},{offset:"GMT+12",label:"Pacific/Nauru"},{offset:"GMT-11",label:"Pacific/Niue"},{offset:"GMT+12",label:"Pacific/Norfolk"},{offset:"GMT+11",label:"Pacific/Noumea"},{offset:"GMT-11",label:"Pacific/Pago_Pago"},{offset:"GMT+9",label:"Pacific/Palau"},{offset:"GMT-8",label:"Pacific/Pitcairn"},{offset:"GMT+11",label:"Pacific/Ponape"},{offset:"GMT+10",label:"Pacific/Port_Moresby"},{offset:"GMT-10",label:"Pacific/Rarotonga"},{offset:"GMT+10",label:"Pacific/Saipan"},{offset:"GMT-10",label:"Pacific/Tahiti"},{offset:"GMT+12",label:"Pacific/Tarawa"},{offset:"GMT+13",label:"Pacific/Tongatapu"},{offset:"GMT+10",label:"Pacific/Truk"},{offset:"GMT+12",label:"Pacific/Wake"},{offset:"GMT+12",label:"Pacific/Wallis"}].sort((e,t)=>this.compareOffsets(e.offset,t.offset))),this.tz.unshift({offset:"",label:"System Timezone -"}),this.dateTimezone.setValidators([D.required,dn(this.tz)]),this.filteredTZ=this.dateTimezone.valueChanges.pipe(Mt(500),Re(""),Ve(e=>this.filterTZ(e||""))),this.filteredTZSubscription=this.filteredTZ.subscribe()}filterTZ(e){let t=e.toLowerCase();return this.tz.filter(a=>a.label.toLowerCase().includes(t))}compareOffsets(e,t){let a=l=>{let d=l.match(/([+-]?)(\d+)(?::(\d+))?/);if(!d)return 0;let h=d[1]==="-"?-1:1,x=parseInt(d[2],10),Z=d[3]?parseInt(d[3],10):0;return h*(x*60+Z)};return a(e)-a(t)}ngOnDestroy(){this.filteredTZSubscription?.unsubscribe()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["display-datetime-options"]],inputs:{dateFormat:[1,"dateFormat"],dateTimezone:"dateTimezone"},decls:15,vars:6,consts:[["timeZoneAutoComplete","matAutocomplete"],[1,"widget-options-grid"],[1,"options-grid-span2"],["matInput","","placeholder","dd/MM/yyyy HH:mm:ss","name","dateFormat","required","",3,"formControl"],["type","text","matInput","","placeholder","Type to use autocomplete","name","dateTimezone","required","",3,"formControl","matAutocomplete"],["mat-icon-button","","matSuffix","","aria-label","Clear"],[3,"value"],["mat-icon-button","","matSuffix","","aria-label","Clear",3,"click"],[1,"fa-solid","fa-close"]],template:function(t,a){if(t&1&&(n(0,"div",1)(1,"mat-form-field",2)(2,"mat-label"),r(3,"Date & Time Format"),o(),_(4,"input",3),o(),n(5,"mat-form-field",2)(6,"mat-label"),r(7,"Adjust Value to Time Zone"),o(),_(8,"input",4),u(9,sn,2,0,"button",5),n(10,"mat-autocomplete",null,0),T(12,cn,2,3,"mat-option",6,St),Ke(14,"async"),o()()()),t&2){let l=ie(11);s(4),p("formControl",a.dateFormat()),s(4),p("formControl",a.dateTimezone)("matAutocomplete",l),s(),f(a.dateTimezone.value?9:-1),s(3),S($e(14,4,a.filteredTZ))}},dependencies:[L,O,U,R,B,F,P,I,re,_t,H,at,jt,W,At],encapsulation:2})}return i})();var Qi=()=>["measuring","capacity"],pn=()=>["marineCompass","baseplateCompass"];function un(i,c){if(i&1&&_(0,"config-display-chart-options",5),i&2){let e=g();p("displayName",e.displayNameToControl)("datasetUUID",e.datasetUUIDToControl)("convertUnitTo",e.convertUnitToControl)("showAverageData",e.showAverageDataToControl)("trackAgainstAverage",e.trackAgainstAverageToControl)("datasetAverageArray",e.datasetAverageArrayToControl)("showDatasetMinimumValueLine",e.showDatasetMinimumValueLineToControl)("showDatasetMaximumValueLine",e.showDatasetMaximumValueLineToControl)("showDatasetAverageValueLine",e.showDatasetAverageValueLineToControl)("showDatasetAngleAverageValueLine",e.showDatasetAngleAverageValueLineToControl)("startScaleAtZero",e.startScaleAtZeroToControl)("showLabel",e.showLabelToControl)("showTimeScale",e.showTimeScaleToControl)("showYScale",e.showYScaleToControl)("yScaleSuggestedMin",e.yScaleSuggestedMinToControl)("yScaleSuggestedMax",e.yScaleSuggestedMaxToControl)("enableMinMaxScaleLimit",e.enableMinMaxScaleLimitToControl)("yScaleMin",e.yScaleMinToControl)("yScaleMax",e.yScaleMaxToControl)("numDecimal",e.numDecimalToControl)("verticalGraph",e.verticalGraphToControl)("color",e.colorToControl)}}function fn(i,c){i&1&&(n(0,"mat-form-field",15)(1,"mat-label"),r(2,"URL"),o(),_(3,"input",34),o())}function gn(i,c){i&1&&(n(0,"mat-checkbox",16),r(1," Allow pointer events on embedded content. WARNING: this may prevent swipe gestures over the Embed widget or keyboard events, while the focus is in the embed, from triggering normal KIP interactions. "),o())}function hn(i,c){i&1&&(n(0,"mat-form-field",15)(1,"mat-label"),r(2,"Widget Label"),o(),_(3,"input",35),o())}function bn(i,c){i&1&&(n(0,"mat-form-field",36)(1,"mat-label"),r(2,"Scale Start"),o(),_(3,"input",37),o(),n(4,"mat-form-field",36)(5,"mat-label"),r(6,"Scale End"),o(),_(7,"input",38),o())}function _n(i,c){i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Integer Places"),o(),_(3,"input",39),o())}function Cn(i,c){if(i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Decimal Places"),o(),_(3,"input",40),o()),i&2){let e=g(2);q("options-grid-span2",!e.widgetConfig.numInt)}}function vn(i,c){i&1&&(n(0,"mat-checkbox",18),r(1," Show Min recorded value "),o())}function Mn(i,c){i&1&&(n(0,"mat-checkbox",19),r(1," Show Max recorded value "),o())}function yn(i,c){if(i&1&&_(0,"display-datetime-options",20),i&2){let e=g(2);p("dateFormat",e.dateFormatToControl)("dateTimezone",e.dateTimezoneToControl)}}function Tn(i,c){i&1&&(n(0,"mat-checkbox",21),r(1," Display True Heading "),o())}function Sn(i,c){i&1&&(n(0,"mat-checkbox",22),r(1," Invert Rudder Angle "),o())}function xn(i,c){i&1&&(n(0,"mat-checkbox",23),r(1," Show Close-hauled Lines "),o())}function wn(i,c){i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Vessel Close-hauled Angle"),o(),_(3,"input",41),o())}function An(i,c){i&1&&(n(0,"mat-checkbox",24),r(1," Show Wind Sectors "),o())}function Gn(i,c){i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Wind Sector Duration"),o(),_(3,"input",42),o())}function En(i,c){if(i&1){let e=w();n(0,"mat-checkbox",43),C("change",function(){M(e);let a=g(2);return y(a.setPaths())}),r(1," Show Apparent Wind Speed Value "),o()}}function kn(i,c){if(i&1){let e=w();n(0,"mat-checkbox",44),C("change",function(){M(e);let a=g(2);return y(a.setPaths())}),r(1," Show True Wind Speed Value "),o()}}function Dn(i,c){if(i&1){let e=w();n(0,"mat-checkbox",45),C("change",function(){M(e);let a=g(2);return y(a.setPaths())}),r(1," Show Course Over Ground "),o()}}function Fn(i,c){if(i&1){let e=w();n(0,"mat-checkbox",46),C("change",function(){M(e);let a=g(2);return y(a.setPaths())}),r(1," Show Next Waypoint "),o()}}function Pn(i,c){if(i&1){let e=w();n(0,"mat-checkbox",47),C("change",function(){M(e);let a=g(2);return y(a.setPaths())}),r(1," Show Drift "),o()}}function In(i,c){i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Minimum Value"),o(),_(3,"input",48),o())}function On(i,c){i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Maximum Value"),o(),_(3,"input",49),o())}function Ln(i,c){i&1&&(n(0,"mat-checkbox",30),r(1," Ignore Zones configuration "),o())}function Vn(i,c){i&1&&(n(0,"mat-form-field",31)(1,"mat-label"),r(2,"Highlights Width"),o(),_(3,"input",50),o())}function Nn(i,c){i&1&&(n(0,"mat-form-field",32)(1,"mat-label"),r(2,"Rotation Element"),o(),n(3,"mat-select",51)(4,"mat-option",52),r(5,"Dial (Marine Compass)"),o(),n(6,"mat-option",53),r(7,"Needle (Base plate compass)"),o()()(),n(8,"div",31)(9,"mat-checkbox",54),r(10," Show value box "),o()(),n(11,"div",31)(12,"mat-checkbox",55),r(13," Show cardinal degrees "),o()())}function Bn(i,c){i&1&&(n(0,"mat-form-field",31)(1,"mat-label"),r(2,"Progress Bar Start Angle"),o(),_(3,"input",58),o())}function Rn(i,c){if(i&1&&(n(0,"mat-form-field",31)(1,"mat-label"),r(2,"Gauge Type"),o(),n(3,"mat-select",51)(4,"mat-option",56),r(5,"Measuring"),o(),n(6,"mat-option",57),r(7,"Capacity"),o()()(),u(8,Bn,4,0,"mat-form-field",31)),i&2){let e=g(3);s(8),f(e.formMaster.value.gauge.subType==="capacity"?8:-1)}}function Un(i,c){if(i&1&&u(0,Nn,14,0)(1,Rn,9,1),i&2){let e=g(2);f(wt(1,pn).indexOf(e.formMaster.value.gauge.subType)>-1?0:wt(2,Qi).indexOf(e.formMaster.value.gauge.subType)>-1?1:-1)}}function Wn(i,c){i&1&&(n(0,"div",31)(1,"mat-checkbox",59),r(2," Use needle indicator "),o()(),n(3,"div",31)(4,"mat-checkbox",60),r(5," Enable Ticks "),o()(),n(6,"mat-form-field",32)(7,"mat-label"),r(8,"Orientation"),o(),n(9,"mat-select",61)(10,"mat-option",62),r(11,"Vertical"),o(),n(12,"mat-option",63),r(13,"Horizontal"),o()()())}function qn(i,c){i&1&&(n(0,"mat-form-field",32)(1,"mat-label"),r(2,"Unit Label"),o(),n(3,"mat-select",64)(4,"mat-option",65),r(5,"Full Label"),o(),n(6,"mat-option",66),r(7,"First Letter Only"),o()()())}function jn(i,c){if(i&1&&(n(0,"mat-option",68),r(1),o()),i&2){let e=c.$implicit;p("value",Ie(e.value)),s(),A(e.label)}}function zn(i,c){if(i&1&&(n(0,"mat-form-field",15)(1,"mat-label"),r(2,"Color"),o(),n(3,"mat-select",67),T(4,jn,2,3,"mat-option",68,G),o()()),i&2){let e=g(2);s(4),S(e.colors)}}function Hn(i,c){i&1&&(n(0,"mat-checkbox",33),r(1," Disable background color "),o())}function Kn(i,c){if(i&1&&(n(0,"mat-option",68),r(1),o()),i&2){let e=c.$implicit;p("value",Ie(e.value)),s(),A(e.label)}}function $n(i,c){if(i&1&&(n(0,"mat-form-field")(1,"mat-label"),r(2,"Background Color"),o(),n(3,"mat-select",69),T(4,Kn,2,3,"mat-option",68,G),o()()),i&2){let e=g(2);s(4),S(e.colors)}}function Yn(i,c){i&1&&(n(0,"mat-form-field",31)(1,"mat-label"),r(2,"Background Style"),o(),n(3,"mat-select",70)(4,"mat-option",71),r(5,"Dark Gray"),o(),n(6,"mat-option",72),r(7,"Satin Gray"),o(),n(8,"mat-option",73),r(9,"Light Gray"),o(),n(10,"mat-option",74),r(11,"White"),o(),n(12,"mat-option",75),r(13,"Black"),o(),n(14,"mat-option",76),r(15,"Beige"),o(),n(16,"mat-option",77),r(17,"Brown"),o(),n(18,"mat-option",78),r(19,"Red"),o(),n(20,"mat-option",79),r(21,"Green"),o(),n(22,"mat-option",80),r(23,"Blue"),o(),n(24,"mat-option",81),r(25,"Anthracite"),o(),n(26,"mat-option",82),r(27,"Mud"),o(),n(28,"mat-option",83),r(29,"Punched Sheet"),o(),n(30,"mat-option",84),r(31,"Carbon"),o(),n(32,"mat-option",85),r(33,"Stainless"),o(),n(34,"mat-option",86),r(35,"Brushed Metal"),o(),n(36,"mat-option",87),r(37,"Brushed Stainless"),o(),n(38,"mat-option",88),r(39,"Turned"),o()()(),n(40,"mat-form-field",31)(41,"mat-label"),r(42,"Frame Style"),o(),n(43,"mat-select",89)(44,"mat-option",90),r(45,"Black Metal"),o(),n(46,"mat-option",91),r(47,"Metal"),o(),n(48,"mat-option",92),r(49,"Shiny Metal"),o(),n(50,"mat-option",93),r(51,"Brass"),o(),n(52,"mat-option",94),r(53,"Steel"),o(),n(54,"mat-option",95),r(55,"Chrome"),o(),n(56,"mat-option",96),r(57,"Gold"),o(),n(58,"mat-option",81),r(59,"Anthracite"),o(),n(60,"mat-option",97),r(61,"Tilted Gray"),o(),n(62,"mat-option",98),r(63,"Tilted Black"),o(),n(64,"mat-option",99),r(65,"Glossy Metal"),o()()())}function Zn(i,c){if(i&1&&(n(0,"div",6)(1,"div",14),u(2,fn,4,0,"mat-form-field",15),u(3,gn,2,0,"mat-checkbox",16),u(4,hn,4,0,"mat-form-field",15),u(5,bn,8,0),u(6,_n,4,0,"mat-form-field"),u(7,Cn,4,2,"mat-form-field",17),u(8,vn,2,0,"mat-checkbox",18),u(9,Mn,2,0,"mat-checkbox",19),u(10,yn,1,2,"display-datetime-options",20),u(11,Tn,2,0,"mat-checkbox",21),u(12,Sn,2,0,"mat-checkbox",22),u(13,xn,2,0,"mat-checkbox",23),u(14,wn,4,0,"mat-form-field"),u(15,An,2,0,"mat-checkbox",24),u(16,Gn,4,0,"mat-form-field"),u(17,En,2,0,"mat-checkbox",25),u(18,kn,2,0,"mat-checkbox",26),u(19,Dn,2,0,"mat-checkbox",27),u(20,Fn,2,0,"mat-checkbox",28),u(21,Pn,2,0,"mat-checkbox",29),u(22,In,4,0,"mat-form-field"),u(23,On,4,0,"mat-form-field"),u(24,Ln,2,0,"mat-checkbox",30),u(25,Vn,4,0,"mat-form-field",31),u(26,Un,2,3),u(27,Wn,14,0),u(28,qn,8,0,"mat-form-field",32),u(29,zn,6,0,"mat-form-field",15),u(30,Hn,2,0,"mat-checkbox",33),u(31,$n,6,0,"mat-form-field"),u(32,Yn,66,0),o()()),i&2){let e=g();s(2),f(e.widgetConfig.widgetUrl!==void 0?2:-1),s(),f(e.widgetConfig.allowInput!==void 0?3:-1),s(),f(e.widgetConfig.displayName!==void 0?4:-1),s(),f(e.formMaster.get("displayScale")?5:-1),s(),f(e.widgetConfig.numInt!==void 0?6:-1),s(),f(e.widgetConfig.numDecimal!==void 0?7:-1),s(),f(e.widgetConfig.showMin!==void 0?8:-1),s(),f(e.widgetConfig.showMax!==void 0?9:-1),s(),f(e.widgetConfig.dateFormat!==void 0?10:-1),s(),f(e.widgetConfig.headingDirectionTrue!==void 0?11:-1),s(),f(e.widgetConfig.invertRudder!==void 0?12:-1),s(),f(e.widgetConfig.laylineEnable!==void 0?13:-1),s(),f(e.widgetConfig.laylineEnable!==void 0?14:-1),s(),f(e.widgetConfig.windSectorEnable!==void 0?15:-1),s(),f(e.widgetConfig.windSectorEnable!==void 0?16:-1),s(),f(e.widgetConfig.awsEnable!==void 0?17:-1),s(),f(e.widgetConfig.twsEnable!==void 0?18:-1),s(),f(e.widgetConfig.courseOverGroundEnable!==void 0?19:-1),s(),f(e.widgetConfig.waypointEnable!==void 0?20:-1),s(),f(e.widgetConfig.driftEnable!==void 0?21:-1),s(),f(e.widgetConfig.minValue!==void 0&&!e.formMaster.get("displayScale")?22:-1),s(),f(e.widgetConfig.maxValue!==void 0&&!e.formMaster.get("displayScale")?23:-1),s(),f(e.widgetConfig.ignoreZones!==void 0?24:-1),s(),f((e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="ngRadial"&&wt(31,Qi).includes(e.formMaster.value.gauge.subType)||(e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="ngLinear"?25:-1),s(),f((e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="ngRadial"?26:-1),s(),f((e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="ngLinear"?27:-1),s(),f((e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="simpleLinear"?28:-1),s(),f(e.widgetConfig.color!==void 0?29:-1),s(),f(e.widgetConfig.noBgColor!==void 0?30:-1),s(),f(e.widgetConfig.bgColor!==void 0?31:-1),s(),f((e.widgetConfig.gauge==null?null:e.widgetConfig.gauge.type)==="steel"?32:-1)}}function Xn(i,c){if(i&1&&(_(0,"span",103),r(1,"\xA0Controls ")),i&2){let e=g(2);ze(e.formMaster.controls.multiChildCtrls.valid?"display: none":"display: block")}}function Qn(i,c){if(i&1){let e=w();n(0,"mat-tab",7)(1,"div",100)(2,"div"),ae(3,Xn,2,2,"ng-template",101),o(),n(4,"boolean-multicontrol-options",102),C("addPath",function(a){M(e);let l=g();return y(l.addPathGroup(a))})("updatePath",function(a){M(e);let l=g();return y(l.updatePath(a))})("delPath",function(a){M(e);let l=g();return y(l.deletePath(a))}),o()()()}if(i&2){let e=g();s(4),p("multiCtrlArray",e.multiChildCtrlsToControl)}}function Jn(i,c){if(i&1&&(n(0,"span",105),r(1," error "),o(),r(2," \xA0Paths ")),i&2){let e=g(2);ze(e.formMaster.controls.paths.valid?"display: none":"display: block")}}function er(i,c){if(i&1&&(n(0,"mat-tab",8)(1,"div",100)(2,"div"),ae(3,Jn,3,2,"ng-template",101),o(),_(4,"paths-options",104),o()()),i&2){let e=g();s(4),p("isArray",e.isPathArray)("enableTimeout",e.enableTimeoutToControl)("dataTimeout",e.dataTimeoutToControl)("filterSelfPaths",e.filterSelfPathsToControl)("addPathEvent",e.addPathEvent)("delPathEvent",e.delPathEvent)("updatePathEvent",e.updatePathEvent)}}function tr(i,c){i&1&&(n(0,"p")(1,"mat-checkbox",108),r(2," Digital display "),o()())}function ar(i,c){i&1&&(n(0,"mat-form-field",15)(1,"mat-label"),r(2,"Dial Size"),o(),n(3,"mat-select",109)(4,"mat-option",110),r(5,"1/4"),o(),n(6,"mat-option",111),r(7,"1/2"),o(),n(8,"mat-option",112),r(9,"3/4"),o(),n(10,"mat-option",65),r(11,"Full"),o()()())}function ir(i,c){if(i&1&&(n(0,"mat-tab",9)(1,"div",6)(2,"mat-form-field",15)(3,"mat-label"),r(4,"Gauge Type"),o(),n(5,"mat-select",61)(6,"mat-option",106),r(7,"Linear"),o(),n(8,"mat-option",107),r(9,"Radial"),o()()(),u(10,tr,3,0,"p"),u(11,ar,12,0,"mat-form-field",15),o()()),i&2){let e=g();s(10),f(e.formMaster.value.gauge.subType==="linear"?10:-1),s(),f(e.formMaster.value.gauge.subType==="radial"?11:-1)}}function or(i,c){i&1&&(n(0,"p")(1,"mat-checkbox",115),r(2," Value to send on button push (checked = on, unchecked = off) "),o()())}function nr(i,c){if(i&1&&(n(0,"mat-tab",10)(1,"div",100)(2,"p")(3,"mat-checkbox",113),r(4," Enable Put Requests "),o()(),n(5,"p")(6,"mat-checkbox",114),r(7," Momentary mode (instead of switching between on/off) "),o()(),u(8,or,3,0,"p"),o()()),i&2){let e=g();s(8),f(e.formMaster.controls.putMomentary.value?8:-1)}}function rr(i,c){i&1&&_(0,"span",103)}function lr(i,c){if(i&1&&(u(0,rr,1,0,"span",103),r(1," Dataset ")),i&2){let e=g(2);f(e.formMaster.controls.datasetUUID.valid?-1:0)}}function sr(i,c){if(i&1&&(n(0,"mat-tab",11),ae(1,lr,2,1,"ng-template",101),_(2,"config-dataset-chart-options",116),o()),i&2){let e=g();s(2),p("datasetUUID",e.datasetUUIDToControl)("convertUnitTo",e.convertUnitToControl)}}var Ji=(()=>{class i{dialogRef=m(Te);fb=m(tt);DatasetService=m(ot);units=m(nt);app=m(Ze);widgetConfig=m(Se);titleDialog="Widget Options";formMaster;availableDataSets;unitList={};isPathArray=!1;addPathEvent;delPathEvent;updatePathEvent;colors=[];ngOnInit(){this.availableDataSets=this.DatasetService.list().sort(),this.unitList=this.units.getConversionsForPath(""),this.formMaster=this.generateFormGroups(this.widgetConfig),this.setFormOptions(),this.colors=this.app.configurableThemeColors}generateFormGroups(e,t){let a=this.fb.group({});return Object.keys(e).forEach(l=>{if(typeof e[l]=="object"&&e[l]!==null){if(l=="multiChildCtrls"){a.addControl(l,this.fb.array([]));let d=a.get(l);e[l].forEach(h=>{d.push(this.generateCtrlArray(h))})}else if(l=="displayScale")a.addControl(l,this.generateFormGroups(e[l],l));else if(l=="gauge")a.addControl(l,this.generateFormGroups(e[l],l));else if(l=="paths")if(this.widgetConfig.multiChildCtrls!==void 0){this.isPathArray=!0,a.addControl(l,this.fb.array([]));let d=a.get(l);Object.keys(e[l]).forEach(h=>{let x=this.widgetConfig.paths[h];x&&x.isPathConfigurable&&d.push(this.generatePathArray(h,x))})}else{let d=this.fb.group({});Object.keys(e[l]).forEach(h=>{let x=this.widgetConfig.paths[h];x&&x.isPathConfigurable&&d.addControl(h,this.generateFormGroups(x,h))}),a.addControl(l,d)}t=="paths"&&a.addControl(l,this.generateFormGroups(e[l],l))}else if(t=="convertUnitTo")(this.widgetConfig.paths[l].pathType=="number"||"datasetUUID"in this.widgetConfig)&&a.addControl(l,new $(e[l]));else switch(l){case"path":a.addControl(l,new $(e[l]));break;case"datasetUUID":a.addControl(l,new $(e[l],D.required));break;case"dataTimeout":a.addControl(l,new $(e[l],D.required));break;default:a.addControl(l,new $(e[l]));break}}),a}generatePathArray(e,t){let a=new ci({});return Object.keys(t).forEach(l=>{a.addControl(l,this.generatePathFields(l,t[l]))}),a}generatePathFields(e,t){let a=null;switch(e){case"path":a=new $(t);break;case"source":a=new $(t,D.required);break;case"sampleTime":a=new $(t,D.required);break;default:a=new $(t);break}return a}generateCtrlArray(e){let t=this.fb.group(e);return t.get("ctrlLabel").addValidators(D.required),t}addPathGroup(e){this.addPathEvent=e}updatePath(e){e.forEach(t=>{this.formMaster.get("paths").controls.forEach(l=>{l.get("pathID").value==t.pathID&&(l.controls.description.setValue(t.ctrlLabel),l.controls.pathType.setValue(t.isNumeric?"number":"boolean"),this.updatePathEvent=e)})})}deletePath(e){let t=this.formMaster.get("paths"),a=0;t.controls.forEach(d=>{d.get("pathID").value==e.pathID?t.removeAt(a):a++}),this.formMaster.get("multiChildCtrls").removeAt(e.ctrlIndex),this.delPathEvent=e.pathID,this.formMaster.updateValueAndValidity()}setPaths(){this.setFormOptions()}setFormOptions(){if(this.formMaster.contains("courseOverGroundEnable")){let e=this.formMaster.get("paths.courseOverGround");this.formMaster.controls.courseOverGroundEnable.value?e.enable():e.disable()}if(this.formMaster.contains("driftEnable")){let e=this.formMaster.get("paths.set"),t=this.formMaster.get("paths.drift");this.formMaster.controls.driftEnable.value?(e.enable(),t.enable()):(e.disable(),t.disable())}if(this.formMaster.contains("waypointEnable")){let e=this.formMaster.get("paths.nextWaypointBearing");this.formMaster.controls.waypointEnable.value?e.enable():e.disable()}}get convertUnitToControl(){return this.formMaster.get("convertUnitTo")}get datasetUUIDToControl(){return this.formMaster.get("datasetUUID")}get filterSelfPathsToControl(){return this.formMaster.get("filterSelfPaths")}get dataTimeoutToControl(){return this.formMaster.get("dataTimeout")}get enableTimeoutToControl(){return this.formMaster.get("enableTimeout")}get dateTimezoneToControl(){return this.formMaster.get("dateTimezone")}get yScaleSuggestedMaxToControl(){return this.formMaster.get("yScaleSuggestedMax")}get enableMinMaxScaleLimitToControl(){return this.formMaster.get("enableMinMaxScaleLimit")}get showDatasetMinimumValueLineToControl(){return this.formMaster.get("showDatasetMinimumValueLine")}get showDatasetMaximumValueLineToControl(){return this.formMaster.get("showDatasetMaximumValueLine")}get showDatasetAverageValueLineToControl(){return this.formMaster.get("showDatasetAverageValueLine")}get showDatasetAngleAverageValueLineToControl(){return this.formMaster.get("showDatasetAngleAverageValueLine")}get startScaleAtZeroToControl(){return this.formMaster.get("startScaleAtZero")}get showLabelToControl(){return this.formMaster.get("showLabel")}get showTimeScaleToControl(){return this.formMaster.get("showTimeScale")}get showYScaleToControl(){return this.formMaster.get("showYScale")}get yScaleSuggestedMinToControl(){return this.formMaster.get("yScaleSuggestedMin")}get yScaleMinToControl(){return this.formMaster.get("yScaleMin")}get yScaleMaxToControl(){return this.formMaster.get("yScaleMax")}get datasetAverageArrayToControl(){return this.formMaster.get("datasetAverageArray")}get trackAgainstAverageToControl(){return this.formMaster.get("trackAgainstAverage")}get showAverageDataToControl(){return this.formMaster.get("showAverageData")}get convertUnitToToControl(){return this.formMaster.get("convertUnitTo")}get datasetUUIDControl(){return this.formMaster.get("datasetUUID")}get displayNameToControl(){return this.formMaster.get("displayName")}get numDecimalToControl(){return this.formMaster.get("numDecimal")}get verticalGraphToControl(){return this.formMaster.get("verticalGraph")}get colorToControl(){return this.formMaster.get("color")}get dateFormatToControl(){return this.formMaster.get("dateFormat")}get multiChildCtrlsToControl(){return this.formMaster.get("multiChildCtrls")}submitConfig(){this.dialogRef.close(this.formMaster.getRawValue())}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["modal-widget-config"]],decls:19,vars:10,consts:[[3,"ngSubmit","formGroup"],["mat-dialog-title",""],[1,"widget-config-dialog-content"],[1,"tab-group-content"],["label","Display"],[1,"tab-content",3,"displayName","datasetUUID","convertUnitTo","showAverageData","trackAgainstAverage","datasetAverageArray","showDatasetMinimumValueLine","showDatasetMaximumValueLine","showDatasetAverageValueLine","showDatasetAngleAverageValueLine","startScaleAtZero","showLabel","showTimeScale","showYScale","yScaleSuggestedMin","yScaleSuggestedMax","enableMinMaxScaleLimit","yScaleMin","yScaleMax","numDecimal","verticalGraph","color"],[1,"display-content","tab-content"],["label","Controls"],["label","Paths"],["label","Settings","formGroupName","gauge"],["label","Put Request"],["label","Dataset"],["type","button","mat-dialog-close","","mat-flat-button",""],["mat-flat-button","","type","submit",3,"disabled"],[1,"widget-options-grid"],[1,"options-grid-span2"],["name","allowInput","formControlName","allowInput",1,"options-grid-span2"],[3,"options-grid-span2"],["name","showMin","formControlName","showMin"],["name","showMax","formControlName","showMax"],[1,"options-grid-span2",3,"dateFormat","dateTimezone"],["name","headingDirectionTrue","formControlName","headingDirectionTrue"],["name","invertRudder","formControlName","invertRudder",1,"options-grid-span2"],["name","laylineEnable","formControlName","laylineEnable",1,"fields"],["name","windSectorEnable","formControlName","windSectorEnable"],["name","awsEnable","formControlName","awsEnable",1,"options-grid-span2"],["name","twsEnable","formControlName","twsEnable",1,"options-grid-span2"],["name","courseOverGroundEnable","formControlName","courseOverGroundEnable",1,"options-grid-span2"],["name","waypointEnable","formControlName","waypointEnable",1,"options-grid-span2"],["name","driftEnable","formControlName","driftEnable",1,"options-grid-span2"],["name","ignoreZones","formControlName","ignoreZones"],["formGroupName","gauge"],["formGroupName","gauge",1,"options-grid-span2"],["name","noBgColor","formControlName","noBgColor"],["type","url","matInput","","placeholder","Enter URL to page/resource","name","widgetUrl","formControlName","widgetUrl"],["matInput","","placeholder","Enter a label to display","name","displayName","formControlName","displayName"],["formGroupName","displayScale","appearance","outline"],["matNativeControl","","type","number","name","lower","formControlName","lower","placeholder","Enter number..."],["matInput","","type","number","name","upper","formControlName","upper","placeholder","Enter number..."],["type","number","min","1","max","5","matInput","","placeholder","Enter or select number...","name","numInt","formControlName","numInt","required",""],["type","number","min","0","max","5","matInput","","placeholder","Enter or select number...","name","numDecimal","formControlName","numDecimal","required",""],["type","number","min","10","max","90","matInput","","placeholder","Select angle...","name","laylineAngle","formControlName","laylineAngle"],["type","number","min","1","max","90","matInput","","placeholder","Select or enter duration...","name","windSectorWindowSeconds","formControlName","windSectorWindowSeconds"],["name","awsEnable","formControlName","awsEnable",1,"options-grid-span2",3,"change"],["name","twsEnable","formControlName","twsEnable",1,"options-grid-span2",3,"change"],["name","courseOverGroundEnable","formControlName","courseOverGroundEnable",1,"options-grid-span2",3,"change"],["name","waypointEnable","formControlName","waypointEnable",1,"options-grid-span2",3,"change"],["name","driftEnable","formControlName","driftEnable",1,"options-grid-span2",3,"change"],["matInput","","type","number","name","minValue","formControlName","minValue","placeholder","Enter or select number..."],["matInput","","type","number","name","maxValue","formControlName","maxValue","placeholder","Enter or select number..."],["type","number","min","0","max","25","matInput","","placeholder","Enter or select number...","name","highlightsWidth","formControlName","highlightsWidth","required",""],["placeholder","Select Gauge Type...","formControlName","subType","name","subType"],["value","marineCompass"],["value","baseplateCompass"],["name","showValueBox","formControlName","showValueBox"],["name","compassUseNumbers","formControlName","compassUseNumbers"],["value","measuring"],["value","capacity"],["type","number","min","1","max","360","matInput","","placeholder","Enter or select number...","name","scaleStart","formControlName","scaleStart","required",""],["name","useNeedle","formControlName","useNeedle"],["name","enableTicks","formControlName","enableTicks"],["placeholder","Select type...","formControlName","subType","name","subType"],["value","vertical"],["value","horizontal"],["placeholder","Select label format","formControlName","unitLabelFormat","name","unitLabelFormat"],["value","full"],["value","abr"],["placeholder","Select Color...","formControlName","color","name","color","required",""],[3,"value"],["placeholder","Select Color...","formControlName","bgColor","name","bgColor","required",""],["placeholder","Select style...","formControlName","backgroundColor","name","backgroundColor"],["value","darkGray"],["value","satinGray"],["value","lightGray"],["value","white"],["value","black"],["value","beige"],["value","brown"],["value","red"],["value","green"],["value","blue"],["value","anthracite"],["value","mud"],["value","punchedSheet"],["value","carbon"],["value","stainless"],["value","brushedMetal"],["value","brushedStainless"],["value","turned"],["placeholder","Select style...","formControlName","faceColor","name","faceColor"],["value","blackMetal"],["value","metal"],["value","shinyMetal"],["value","brass"],["value","steel"],["value","chrome"],["value","gold"],["value","tiltedGray"],["value","tiltedBlack"],["value","glossyMetal"],[1,"tab-content"],["mat-tab-label",""],[3,"addPath","updatePath","delPath","multiCtrlArray"],[1,"warning","fa","fa-exclamation-circle"],["formGroupName","paths",3,"isArray","enableTimeout","dataTimeout","filterSelfPaths","addPathEvent","delPathEvent","updatePathEvent"],[1,"warning","material-icons"],["value","linear"],["value","radial"],["formControlName","digitalMeter","name","digitalMeter"],["placeholder","Select size...","formControlName","radialSize","name","radialSize"],["value","quarter"],["value","half"],["value","three-quarter"],["formControlName","putEnable","name","putEnable"],["formControlName","putMomentary","name","putMomentary"],["formControlName","putMomentaryValue","name","putMomentaryValue"],[3,"datasetUUID","convertUnitTo"]],template:function(t,a){t&1&&(n(0,"form",0),C("ngSubmit",function(){return a.submitConfig()}),n(1,"h6",1),r(2),o(),n(3,"mat-dialog-content",2)(4,"mat-tab-group",3)(5,"mat-tab",4),u(6,un,1,22,"config-display-chart-options",5),u(7,Zn,33,32,"div",6),o(),u(8,Qn,5,1,"mat-tab",7),u(9,er,5,7,"mat-tab",8),u(10,ir,12,2,"mat-tab",9),u(11,nr,9,1,"mat-tab",10),u(12,sr,3,2,"mat-tab",11),o()(),_(13,"mat-divider"),n(14,"mat-dialog-actions")(15,"button",12),r(16,"Cancel"),o(),n(17,"button",13),r(18,"Save"),o()()()),t&2&&(p("formGroup",a.formMaster),s(2),A(a.titleDialog),s(4),f(a.widgetConfig.datasetUUID!==void 0?6:-1),s(),f(a.widgetConfig.datasetUUID===void 0?7:-1),s(),f(a.widgetConfig.multiChildCtrls!==void 0?8:-1),s(),f(a.widgetConfig.paths!==void 0?9:-1),s(),f((a.widgetConfig.gauge==null?null:a.widgetConfig.gauge.type)==="steel"?10:-1),s(),f(a.widgetConfig.putEnable!==void 0&&a.widgetConfig.multiChildCtrls===void 0?11:-1),s(),f(a.widgetConfig.datasetUUID!==void 0?12:-1),s(5),p("disabled",!a.formMaster.valid))},dependencies:[R,It,B,Ee,F,K,P,et,Ot,I,Y,Je,ui,we,Ae,Ai,wi,L,O,U,ke,le,W,xi,bi,Qe,ye,xe,Xi,Ui,Wi,Ni,Zi],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%}.widget-config-dialog-content[_ngcontent-%COMP%]{height:100%}.display-content[_ngcontent-%COMP%]{display:block;height:100%;width:100%;padding-top:15px;padding-bottom:10px}.warning[_ngcontent-%COMP%]{color:var(--mat-sys-error-container)}.tab-group-content[_ngcontent-%COMP%]{overflow:hidden;width:100%}"]})}return i})();var cr=["button"],dr=["*"];function mr(i,c){if(i&1&&(n(0,"div",2),_(1,"mat-pseudo-checkbox",6),o()),i&2){let e=g();s(),p("disabled",e.disabled)}}var eo=new Q("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:pr});function pr(){return{hideSingleSelectionIndicator:!1,hideMultipleSelectionIndicator:!1,disabledInteractive:!1}}var to=new Q("MatButtonToggleGroup"),ur={provide:Pt,useExisting:Tt(()=>aa),multi:!0},zt=class{source;value;constructor(c,e){this.source=c,this.value=e}},aa=(()=>{class i{_changeDetector=m(Ye);_dir=m(Ft,{optional:!0});_multiple=!1;_disabled=!1;_disabledInteractive=!1;_selectionModel;_rawValue;_controlValueAccessorChangeFn=()=>{};_onTouched=()=>{};_buttonToggles;appearance;get name(){return this._name}set name(e){this._name=e,this._markButtonsForCheck()}_name=m(ht).getId("mat-button-toggle-group-");vertical;get value(){let e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e.map(t=>t.value):e[0]?e[0].value:void 0}set value(e){this._setSelectionByValue(e),this.valueChange.emit(this.value)}valueChange=new J;get selected(){let e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e:e[0]||null}get multiple(){return this._multiple}set multiple(e){this._multiple=e,this._markButtonsForCheck()}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._markButtonsForCheck()}get disabledInteractive(){return this._disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e,this._markButtonsForCheck()}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}change=new J;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._markButtonsForCheck()}_hideSingleSelectionIndicator;get hideMultipleSelectionIndicator(){return this._hideMultipleSelectionIndicator}set hideMultipleSelectionIndicator(e){this._hideMultipleSelectionIndicator=e,this._markButtonsForCheck()}_hideMultipleSelectionIndicator;constructor(){let e=m(eo,{optional:!0});this.appearance=e&&e.appearance?e.appearance:"standard",this.hideSingleSelectionIndicator=e?.hideSingleSelectionIndicator??!1,this.hideMultipleSelectionIndicator=e?.hideMultipleSelectionIndicator??!1}ngOnInit(){this._selectionModel=new Si(this.multiple,void 0,!1)}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter(e=>e.checked)),this.multiple||this._initializeTabIndex()}writeValue(e){this.value=e,this._changeDetector.markForCheck()}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}_keydown(e){if(this.multiple||this.disabled)return;let a=e.target.id,l=this._buttonToggles.toArray().findIndex(h=>h.buttonId===a),d=null;switch(e.keyCode){case 32:case 13:d=this._buttonToggles.get(l)||null;break;case 38:d=this._getNextButton(l,-1);break;case 37:d=this._getNextButton(l,this.dir==="ltr"?-1:1);break;case 40:d=this._getNextButton(l,1);break;case 39:d=this._getNextButton(l,this.dir==="ltr"?1:-1);break;default:return}d&&(e.preventDefault(),d._onButtonClick(),d.focus())}_emitChangeEvent(e){let t=new zt(e,this.value);this._rawValue=t.value,this._controlValueAccessorChangeFn(t.value),this.change.emit(t)}_syncButtonToggle(e,t,a=!1,l=!1){!this.multiple&&this.selected&&!e.checked&&(this.selected.checked=!1),this._selectionModel?t?this._selectionModel.select(e):this._selectionModel.deselect(e):l=!0,l?Promise.resolve().then(()=>this._updateModelValue(e,a)):this._updateModelValue(e,a)}_isSelected(e){return this._selectionModel&&this._selectionModel.isSelected(e)}_isPrechecked(e){return typeof this._rawValue>"u"?!1:this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(t=>e.value!=null&&t===e.value):e.value===this._rawValue}_initializeTabIndex(){if(this._buttonToggles.forEach(e=>{e.tabIndex=-1}),this.selected)this.selected.tabIndex=0;else for(let e=0;e<this._buttonToggles.length;e++){let t=this._buttonToggles.get(e);if(!t.disabled){t.tabIndex=0;break}}}_getNextButton(e,t){let a=this._buttonToggles;for(let l=1;l<=a.length;l++){let d=(e+t*l+a.length)%a.length,h=a.get(d);if(h&&!h.disabled)return h}return null}_setSelectionByValue(e){if(this._rawValue=e,!this._buttonToggles)return;let t=this._buttonToggles.toArray();if(this.multiple&&e?(Array.isArray(e),this._clearSelection(),e.forEach(a=>this._selectValue(a,t))):(this._clearSelection(),this._selectValue(e,t)),!this.multiple&&t.every(a=>a.tabIndex===-1)){for(let a of t)if(!a.disabled){a.tabIndex=0;break}}}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach(e=>{e.checked=!1,this.multiple||(e.tabIndex=-1)})}_selectValue(e,t){for(let a of t)if(a.value===e){a.checked=!0,this._selectionModel.select(a),this.multiple||(a.tabIndex=0);break}}_updateModelValue(e,t){t&&this._emitChangeEvent(e),this.valueChange.emit(this.value)}_markButtonsForCheck(){this._buttonToggles?.forEach(e=>e._markForCheck())}static \u0275fac=function(t){return new(t||i)};static \u0275dir=mt({type:i,selectors:[["mat-button-toggle-group"]],contentQueries:function(t,a,l){if(t&1&&pt(l,Ht,5),t&2){let d;_e(d=Ce())&&(a._buttonToggles=d)}},hostAttrs:[1,"mat-button-toggle-group"],hostVars:6,hostBindings:function(t,a){t&1&&C("keydown",function(d){return a._keydown(d)}),t&2&&(me("role",a.multiple?"group":"radiogroup")("aria-disabled",a.disabled),q("mat-button-toggle-vertical",a.vertical)("mat-button-toggle-group-appearance-standard",a.appearance==="standard"))},inputs:{appearance:"appearance",name:"name",vertical:[2,"vertical","vertical",k],value:"value",multiple:[2,"multiple","multiple",k],disabled:[2,"disabled","disabled",k],disabledInteractive:[2,"disabledInteractive","disabledInteractive",k],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",k],hideMultipleSelectionIndicator:[2,"hideMultipleSelectionIndicator","hideMultipleSelectionIndicator",k]},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],features:[gt([ur,{provide:to,useExisting:i}])]})}return i})(),Ht=(()=>{class i{_changeDetectorRef=m(Ye);_elementRef=m(dt);_focusMonitor=m(Ba);_idGenerator=m(ht);_animationDisabled=Me();_checked=!1;ariaLabel;ariaLabelledby=null;_buttonElement;buttonToggleGroup;get buttonId(){return`${this.id}-button`}id;name;value;get tabIndex(){return this._tabIndex()}set tabIndex(e){this._tabIndex.set(e)}_tabIndex;disableRipple;get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(e){this._appearance=e}_appearance;get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(e){e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(e){this._disabled=e}_disabled=!1;get disabledInteractive(){return this._disabledInteractive||this.buttonToggleGroup!==null&&this.buttonToggleGroup.disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e}_disabledInteractive;change=new J;constructor(){m(Ra).load(ja);let e=m(to,{optional:!0}),t=m(new wa("tabindex"),{optional:!0})||"",a=m(eo,{optional:!0});this._tabIndex=V(parseInt(t)||0),this.buttonToggleGroup=e,this.appearance=a&&a.appearance?a.appearance:"standard",this.disabledInteractive=a?.disabledInteractive??!1}ngOnInit(){let e=this.buttonToggleGroup;this.id=this.id||this._idGenerator.getId("mat-button-toggle-"),e&&(e._isPrechecked(this)?this.checked=!0:e._isSelected(this)!==this._checked&&e._syncButtonToggle(this,this._checked))}ngAfterViewInit(){this._animationDisabled||this._elementRef.nativeElement.classList.add("mat-button-toggle-animations-enabled"),this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){let e=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),e&&e._isSelected(this)&&e._syncButtonToggle(this,!1,!1,!0)}focus(e){this._buttonElement.nativeElement.focus(e)}_onButtonClick(){if(this.disabled)return;let e=this.isSingleSelector()?!0:!this._checked;if(e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.isSingleSelector()){let t=this.buttonToggleGroup._buttonToggles.find(a=>a.tabIndex===0);t&&(t.tabIndex=-1),this.tabIndex=0}this.change.emit(new zt(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(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["mat-button-toggle"]],viewQuery:function(t,a){if(t&1&&ut(cr,5),t&2){let l;_e(l=Ce())&&(a._buttonElement=l.first)}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:14,hostBindings:function(t,a){t&1&&C("focus",function(){return a.focus()}),t&2&&(me("aria-label",null)("aria-labelledby",null)("id",a.id)("name",null),q("mat-button-toggle-standalone",!a.buttonToggleGroup)("mat-button-toggle-checked",a.checked)("mat-button-toggle-disabled",a.disabled)("mat-button-toggle-disabled-interactive",a.disabledInteractive)("mat-button-toggle-appearance-standard",a.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",k],appearance:"appearance",checked:[2,"checked","checked",k],disabled:[2,"disabled","disabled",k],disabledInteractive:[2,"disabledInteractive","disabledInteractive",k]},outputs:{change:"change"},exportAs:["matButtonToggle"],ngContentSelectors:dr,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(t,a){if(t&1){let l=w();qe(),n(0,"button",1,0),C("click",function(){return M(l),y(a._onButtonClick())}),u(2,mr,2,1,"div",2),n(3,"span",3),je(4),o()(),_(5,"span",4)(6,"span",5)}if(t&2){let l=ie(1);p("id",a.buttonId)("disabled",a.disabled&&!a.disabledInteractive||null),me("role",a.isSingleSelector()?"radio":"button")("tabindex",a.disabled&&!a.disabledInteractive?-1:a.tabIndex)("aria-pressed",a.isSingleSelector()?null:a.checked)("aria-checked",a.isSingleSelector()?a.checked:null)("name",a._getButtonName())("aria-label",a.ariaLabel)("aria-labelledby",a.ariaLabelledby)("aria-disabled",a.disabled&&a.disabledInteractive?"true":null),s(2),f(a.buttonToggleGroup&&(!a.buttonToggleGroup.multiple&&!a.buttonToggleGroup.hideSingleSelectionIndicator||a.buttonToggleGroup.multiple&&!a.buttonToggleGroup.hideMultipleSelectionIndicator)?2:-1),s(4),p("matRippleTrigger",l)("matRippleDisabled",a.disableRipple||a.disabled)}},dependencies:[qa,_i],styles:[`.mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);border-radius:var(--mat-button-toggle-legacy-shape);transform:translateZ(0)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}@media(forced-colors: active){.mat-button-toggle-standalone,.mat-button-toggle-group{outline:solid 1px}}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}@media(forced-colors: active){.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{outline:0}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-button-toggle-legacy-text-color);font-family:var(--mat-button-toggle-legacy-label-text-font);font-size:var(--mat-button-toggle-legacy-label-text-size);line-height:var(--mat-button-toggle-legacy-label-text-line-height);font-weight:var(--mat-button-toggle-legacy-label-text-weight);letter-spacing:var(--mat-button-toggle-legacy-label-text-tracking);--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-legacy-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-legacy-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle-checkbox-wrapper{display:inline-block;justify-content:flex-start;align-items:center;width:0;height:18px;line-height:18px;overflow:hidden;box-sizing:border-box;position:absolute;top:50%;left:16px;transform:translate3d(0, -50%, 0)}[dir=rtl] .mat-button-toggle-checkbox-wrapper{left:auto;right:16px}.mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:12px}[dir=rtl] .mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:auto;right:12px}.mat-button-toggle-checked .mat-button-toggle-checkbox-wrapper{width:18px}.mat-button-toggle-animations-enabled .mat-button-toggle-checkbox-wrapper{transition:width 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-checkbox-wrapper{transition:none}.mat-button-toggle-checked{color:var(--mat-button-toggle-legacy-selected-state-text-color);background-color:var(--mat-button-toggle-legacy-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-button-toggle-legacy-disabled-state-text-color);background-color:var(--mat-button-toggle-legacy-disabled-state-background-color);--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-legacy-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-button-toggle-legacy-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-button-toggle-text-color, var(--mat-sys-on-surface));background-color:var(--mat-button-toggle-background-color, transparent);font-family:var(--mat-button-toggle-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-toggle-label-text-size, var(--mat-sys-label-large-size));line-height:var(--mat-button-toggle-label-text-line-height, var(--mat-sys-label-large-line-height));font-weight:var(--mat-button-toggle-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-button-toggle-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-button-toggle-selected-state-background-color, var(--mat-sys-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-button-toggle-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-toggle-disabled-state-background-color, transparent)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-toggle-disabled-selected-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-button-toggle-state-layer-color, var(--mat-sys-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}@media(hover: none){.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-button-toggle-legacy-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-button-toggle-height, 40px)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-button-toggle-legacy-state-layer-color)}@media(forced-colors: active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-animations-enabled .mat-button-toggle-button{transition:padding 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-button{transition:none}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:30px}[dir=rtl] .mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:0;padding-right:30px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-bottom-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-top-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}
6
+ `],encapsulation:2,changeDetection:0})}return i})(),ao=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=be({type:i});static \u0275inj=he({imports:[z,za,Ht,z]})}return i})();var io=(()=>{class i{_plugins=m(Di);_widgetCategories=["Basic","Gauges","Components"];_widgetDefinition=[{name:"Numeric",description:"Displays numeric data in a clear and concise format with option to display minimum and maximum recorded values.",icon:"numericWidget",pluginDependency:[],category:"Basic",selector:"widget-numeric",componentClassName:"WidgetNumericComponent"},{name:"Text",description:"Displays text data with customizable color formatting option.",icon:"textWidget",pluginDependency:[],category:"Basic",selector:"widget-text",componentClassName:"WidgetTextComponent"},{name:"Date & Time",description:"Displays date and time data with fully custom formatting options and timezone correction.",icon:"datetimeWidget",pluginDependency:[],category:"Basic",selector:"widget-datetime",componentClassName:"WidgetDatetimeComponent"},{name:"Position",description:"Displays latitude and longitude for location tracking and navigation.",icon:"positionWidget",pluginDependency:[],category:"Basic",selector:"widget-position",componentClassName:"WidgetPositionComponent"},{name:"Switch Panel",description:"A switch panel group with multiple controls including toggle switches, indicator lights, and press buttons for digital switching and other operations.",icon:"switchpanelWidget",pluginDependency:[],category:"Basic",selector:"widget-boolean-switch",componentClassName:"WidgetBooleanSwitchComponent"},{name:"Slider",description:"A range slider that allows users to adjust values, such as controlling lighting intensity from 0% to 100%.",icon:"sliderWidget",pluginDependency:[],category:"Basic",selector:"widget-slider",componentClassName:"WidgetSliderComponent"},{name:"Static Label",description:"A static text widget that allows you to add customizable labels to your dashboard, helping to organize and clarify your layout effectively.",icon:"labelWidget",pluginDependency:[],category:"Basic",selector:"widget-label",componentClassName:"WidgetLabelComponent"},{name:"Simple Linear",description:"A simple horizontal linear gauge with a large value label offering a clean, compact modern look.",icon:"simpleLinearGauge",pluginDependency:[],category:"Gauges",selector:"widget-simple-linear",componentClassName:"WidgetSimpleLinearComponent"},{name:"Linear",description:"A horizontal or vertical linear gauge that supports zones highlights. ",icon:"linearGauge",pluginDependency:[],category:"Gauges",selector:"widget-gauge-ng-linear",componentClassName:"WidgetGaugeNgLinearComponent"},{name:"Radial",description:"A radial gauge that supports various configurations, including capacity and measurement dials and zones highlight.",icon:"radialGauge",pluginDependency:[],category:"Gauges",selector:"widget-gauge-ng-radial",componentClassName:"WidgetGaugeNgRadialComponent"},{name:"Compass",description:"A faceplate or card rotating compass gauge with various cardinal point indicator options.",icon:"compassGauge",pluginDependency:[],category:"Gauges",selector:"widget-gauge-ng-compass",componentClassName:"WidgetGaugeNgCompassComponent"},{name:"Steel Style",description:"A traditional steel looking linear & radial gauges replica that supports range sizes and zones highlights.",icon:"steelGauge",pluginDependency:[],category:"Gauges",selector:"widget-gauge-steel",componentClassName:"WidgetSteelGaugeComponent"},{name:"Wind Steering",description:"A wind steering display that combines wind, wind sectors, heading, course over ground and next waypoint information",icon:"windsteeringWidget",pluginDependency:[],category:"Components",selector:"widget-wind-steer",componentClassName:"WidgetWindComponent"},{name:"Freeboard-SK",description:"Add Freeboard-SK Chart Plotter as a widget with auto sign-in to your dashboard.",icon:"freeboardWidget",pluginDependency:["freeboard-sk","tracks","resources-provider","course-provider"],category:"Components",selector:"widget-freeboardsk",componentClassName:"WidgetFreeboardskComponent"},{name:"Data Chart",description:"Visualize data on a realtime chart with multiple series pre configured such as averages, SMA, EMA and DEMA. The use the Data Chart widget KIP Dataset must be configured.",icon:"datachartWidget",pluginDependency:[],category:"Components",selector:"widget-data-chart",componentClassName:"WidgetDataChartComponent"},{name:"Autopilot Head",description:"A basic Autopilot Head for supported Signal K v1 API autopilot devices.",icon:"autopilotWidget",pluginDependency:["autopilot"],category:"Components",selector:"widget-autopilot",componentClassName:"WidgetAutopilotComponent"},{name:"Race Timer",description:"A simple race start countdown timer. The timer can be started, paused, reset and the countdown duration specified.",icon:"racetimerWidget",pluginDependency:[],category:"Components",selector:"widget-racetimer",componentClassName:"WidgetRaceTimerComponent"},{name:"Embed Webpage Viewer",description:"Use this widget to embed a view of an external web based applications, such as Grafana graphs, other Signal K Apps and related tools, in your dashboard for a seamless integration. Interactions with the embedded page are not supported.",icon:"embedWidget",pluginDependency:[],category:"Components",selector:"widget-iframe",componentClassName:"WidgetIframeComponent"},{name:"Tutorial",description:"KIP's getting started tutorial widget.",icon:"tutorialWidget",pluginDependency:[],category:"Components",selector:"widget-tutorial",componentClassName:"WidgetTutorialComponent"}];get kipWidgets(){return this._widgetDefinition}get categories(){return this._widgetCategories}getKipWidgetsWithStatus(){return de(this,null,function*(){let e={},t=Array.from(new Set(this._widgetDefinition.flatMap(a=>a.pluginDependency)));return yield Promise.all(t.map(a=>de(this,null,function*(){e[a]=yield this._plugins.isEnabled(a)}))),this._widgetDefinition.map(a=>{if(!a.pluginDependency||a.pluginDependency.length===0)return ce(X({},a),{isDependencyValid:!0,pluginsStatus:[]});let l=a.pluginDependency.map(h=>({name:h,enabled:e[h]})),d=l.every(h=>h.enabled);return ce(X({},a),{isDependencyValid:d,pluginsStatus:l})})})}static \u0275fac=function(t){return new(t||i)};static \u0275prov=te({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();function gr(i,c){i&1&&(n(0,"span"),r(1,", "),o())}function hr(i,c){if(i&1&&(n(0,"span"),r(1),o(),u(2,gr,2,0,"span")),i&2){let e=c.$implicit,t=c.$index,a=c.$count,l=g(2);ft(l.pluginDependencyValid()?"":e.enabled?"dependency-ok":"dependency-error"),s(),He(" ",e.enabled?"\u2714":"\u2716"," ",e.name," "),s(),f(t!==a-1?2:-1)}}function br(i,c){if(i&1&&(n(0,"div",7)(1,"span"),r(2,"Plugin:"),o(),T(3,hr,3,5,null,null,G),o()),i&2){let e=g();ze(e.pluginsStatus().length>0?"margin-bottom: 8px":""),s(),ft(e.pluginDependencyValid()?"":"dependency-error"),s(2),S(e.pluginsStatus())}}var oo=(()=>{class i{svgIcon=b.required();iconSize=b.required();name=b.required();description=b.required();pluginsStatus=b.required();pluginDependencyValid=b.required();constructor(){let e=m(Oa),t=m(Da);e.addSvgIconSet(t.bypassSecurityTrustResourceUrl("assets/svg/icons.svg"))}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["widget-list-card"]],inputs:{svgIcon:[1,"svgIcon"],iconSize:[1,"iconSize"],name:[1,"name"],description:[1,"description"],pluginsStatus:[1,"pluginsStatus"],pluginDependencyValid:[1,"pluginDependencyValid"]},decls:9,vars:10,consts:[[1,"item-container"],[1,"item-icon"],["aria-hidden","false",3,"svgIcon"],[1,"item-label"],[1,"title","no-text-select"],[1,"dependency","no-text-select",3,"style"],[1,"description","no-text-select"],[1,"dependency","no-text-select"]],template:function(t,a){t&1&&(n(0,"div",0)(1,"div",1),_(2,"mat-icon",2),o(),n(3,"div",3)(4,"p",4),r(5),o(),u(6,br,5,4,"div",5),n(7,"span",6),r(8),o()()()),t&2&&(s(2),xt("width",a.iconSize(),"px")("height",a.iconSize(),"px"),p("svgIcon",a.svgIcon()),s(2),ze(a.pluginsStatus().length>0?"margin-bottom:0px; margin-top: 8px":""),s(),A(a.name()),s(),f(a.pluginsStatus().length>0?6:-1),s(2),A(a.description()))},dependencies:[oe,N],styles:["[_nghost-%COMP%]{display:block;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;padding:0}.item-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;width:100%;height:100%;margin:0;padding:15px;border:solid 1px var(--mat-sys-outline);cursor:pointer}.item-container[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-inverse-on-surface)}.item-container[_ngcontent-%COMP%]:focus-visible{background-color:var(--mat-sys-surface-bright);outline:-webkit-focus-ring-color auto 0px}.item-icon[_ngcontent-%COMP%]{width:48px}.item-label[_ngcontent-%COMP%]{width:calc(100% - 48px);text-align:left;padding-left:15px}.title[_ngcontent-%COMP%]{font-size:var(--mat-sys-label-medium-line-height)}.description[_ngcontent-%COMP%]{color:var(--mat-sys-outline)}.dependency[_ngcontent-%COMP%]{color:var(--mat-sys-outline);text-align:start;font-style:italic;font-size:var(--mat-sys-label-small-size)}.dependency-error[_ngcontent-%COMP%]{color:var(--kip-port-color)}.dependency-ok[_ngcontent-%COMP%]{color:var(--kip-starboard-color)}.no-text-select[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}"]})}return i})();var _r=(i,c)=>c.selector;function Cr(i,c){if(i&1&&(n(0,"mat-button-toggle",1),r(1),o()),i&2){let e=c.$implicit;p("value",e),s(),ee(" ",e," ")}}function vr(i,c){if(i&1){let e=w();n(0,"widget-list-card",3),C("click",function(){let a=M(e).$implicit,l=g();return y(l.onSelectWidget(a.selector))}),o()}if(i&2){let e=c.$implicit;q("dependency-missing",!e.isDependencyValid),p("svgIcon",e.icon)("iconSize",48)("name",e.name)("description",e.description)("pluginDependencyValid",e.isDependencyValid)("pluginsStatus",e.pluginsStatus)}}var no=(()=>{class i{_dialogRef=m(Te);_widgets=m(io);_widgetsList=[];filteredWidgetsList=V([]);_widgetCategory=V("Basic");isDependencyValid=V(!0);ngOnInit(){this.loadWidgets()}loadWidgets(){return de(this,null,function*(){this._widgetsList=yield this._widgets.getKipWidgetsWithStatus(),this.filteredWidgetsList.set(this._widgetsList.filter(e=>e.category===this._widgetCategory()))})}onCategoryChange(e){this.filteredWidgetsList.set(this._widgetsList.filter(t=>t.category===e.value)),this._widgetCategory.set(e.value)}onSelectWidget(e){this._dialogRef.close(e)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["widgets-list"]],decls:7,vars:1,consts:[["name","widgetCategories","aria-label","Widget categories",1,"list-filter",3,"change","value"],[3,"value"],[3,"dependency-missing","svgIcon","iconSize","name","description","pluginDependencyValid","pluginsStatus"],[3,"click","svgIcon","iconSize","name","description","pluginDependencyValid","pluginsStatus"]],template:function(t,a){t&1&&(n(0,"div")(1,"mat-button-toggle-group",0),C("change",function(d){return a.onCategoryChange(d)}),T(2,Cr,2,2,"mat-button-toggle",1,G),o(),n(4,"div"),T(5,vr,1,8,"widget-list-card",2,_r),o()()),t&2&&(s(),p("value",a._widgetCategory()),s(),S(a._widgets.categories),s(3),S(a.filteredWidgetsList()))},dependencies:[ao,aa,Ht,oo],styles:[".list-filter[_ngcontent-%COMP%]{margin-bottom:20px}.dependency-missing[_ngcontent-%COMP%]{pointer-events:none;opacity:.5}"]})}return i})();var ro=(()=>{class i{dialogRef=m(Te);fileVersionToUpgrade=9;configVersionToUpgrade=10;currentConfigVersion=11;_storage=m(ka);_settings=m(Gt);static widgetTypeToSelectorMap={WidgetNumeric:"widget-numeric",WidgetTextGeneric:"widget-text",WidgetDateGeneric:"widget-datetime",WidgetBooleanSwitch:"widget-boolean-switch",WidgetBlank:"widget-blank",WidgetStateComponent:"widget-button",WidgetSimpleLinearComponent:"widget-simple-linear",WidgetGaugeNgLinearComponent:"widget-gauge-ng-linear",WidgetGaugeNgRadialComponent:"widget-gauge-ng-radial",WidgetGaugeNgCompassComponent:"widget-gauge-ng-compass",WidgetGaugeComponent:"widget-gauge-steel",WidgetWindComponent:"widget-wind-steer",WidgetFreeboardskComponent:"widget-freeboardsk",WidgetAutopilotComponent:"widget-autopilot",WidgetDataChart:"widget-data-chart",WidgetRaceTimerComponent:"widget-racetimer",WidgetIframeComponent:"widget-iframe",WidgetTutorial:"widget-tutorial"};upgrade(){if(this._storage.initConfig)this._storage.listConfigs(this.fileVersionToUpgrade).then(e=>de(this,null,function*(){for(let t of e){let a=yield this.transformConfig(t);if(a)if(a.scope==="global")try{this._storage.patchGlobal(a.name,a.scope,a.newConfiguration,"add"),this._storage.patchGlobal(a.name,a.scope,a.oldConfiguration,"replace",9),console.log(`[Upgrade] Configuration ${a.scope}/${a.name} has been upgraded to version ${this.currentConfigVersion} and saved. Old configuration has been patched to version 0.`)}catch{console.error(`[Upgrade] Error saving configuration for ${t.name}`)}else this._storage.setConfig(a.scope,a.name,a.newConfiguration).then(()=>{this._storage.setConfig(a.scope,a.name,a.oldConfiguration,9),console.log(`[Upgrade] Configuration ${a.scope}/${a.name} has been upgraded to version ${this.currentConfigVersion} and saved. Old configuration has been patched to version 0.`)}).catch(l=>{console.error(`[Upgrade] Error saving configuration for ${t.name}:`,l)})}})).catch(e=>{console.error("Error fetching configuration data:",e)});else{let e={app:null,widget:null,layout:null,theme:null};e.app=this._settings.loadConfigFromLocalStorage("appConfig"),e.widget=this._settings.loadConfigFromLocalStorage("widgetConfig"),e.layout=this._settings.loadConfigFromLocalStorage("layoutConfig"),e.theme=this._settings.loadConfigFromLocalStorage("themeConfig");let t=this.transformApp(e.app),a=this.transformTheme(e.theme),l=e.layout?.rootSplits||[],d=e.layout?.splitSets||[],h=e.widget?.widgets||[],x=l.map((Z,Fe)=>{let Le=this.extractWidgetsFromSplitSets(d,h,Z);return{id:Z,name:`Dashboard ${Fe+1}`,configuration:Le}});localStorage.setItem("appConfig",JSON.stringify(t)),localStorage.setItem("dashboardsConfig",JSON.stringify(x)),localStorage.setItem("themeConfig",JSON.stringify(a))}setTimeout(()=>{this._settings.reloadApp()},1500)}transformConfig(e){return de(this,null,function*(){let t=yield this._storage.getConfig(e.scope,e.name,this.fileVersionToUpgrade);if(t.app.configVersion!==this.configVersionToUpgrade)return console.error(`[Upgrade Component] Configuration ${e.scope}/${e.name} is not an upgradable version ${this.configVersionToUpgrade} config. Skipping upgrade. Please delete old configuration files.`),null;let a=this.transformApp(t.app),l=this.transformTheme(t.theme),d=t.layout?.rootSplits||[],h=t.layout?.splitSets||[],x=t.widget?.widgets||[],Z=d.map((Le,Ct)=>{let rt=this.extractWidgetsFromSplitSets(h,x,Le);return{id:Le,name:`Dashboard ${Ct+1}`,configuration:rt}}),Fe=Et(t);return Fe.app.configVersion=0,{scope:e.scope,name:e.name,newConfiguration:{app:a,theme:l,dashboards:Z},oldConfiguration:Fe}})}transformWidget(e,t){if(e.color==="white"&&(e.color="contrast"),e.textColor){switch(e.textColor){case"text":e.color="contrast";break;case"primary":e.color="blue";break;case"accent":e.color="yellow";break;case"warn":e.color="purple";break;case"nobar":t==="WidgetGaugeNgLinearComponent"&&(e.color="blue",e.gauge=e.gauge||{},e.gauge.useNeedle=!1);break;default:e.color=e.textColor}delete e.textColor}return e}transformApp(e){return e?(e.configVersion=11,e.nightModeBrightness=.27,e):null}transformTheme(e){return e?{themeName:""}:null}extractWidgetsFromSplitSets(e,t,a){let l=new Map(t.map(lt=>[lt.uuid,lt])),d=[],h=[],x=0,Z=0,Fe=12,Le=12,Ct=2,rt=2,oa=lt=>{let na=e.find(Pe=>Pe.uuid===lt);if(!na){h.push(`Missing splitSet with UUID: ${lt}`);return}na.splitAreas.forEach(Pe=>{if(Pe.type==="widget"){let se=l.get(Pe.uuid);if(se){if(se.type==="WidgetBlank"){console.warn(`Skipping widget of type WidgetBlank with UUID: ${se.uuid}`);return}if(Z+rt>Le){h.push(`No space left in the grid for widget with UUID: ${se.uuid}`);return}let ra=i.widgetTypeToSelectorMap[se.type]||"widget-unknown",po=this.transformWidget(se.config,se.type);d.push({id:se.uuid,selector:ra,input:{widgetProperties:{type:ra,uuid:se.uuid,config:po}},x,y:Z,w:Ct,h:rt}),x+=Ct,x>=Fe&&(x=0,Z+=rt)}else h.push(`Missing widget with UUID: ${Pe.uuid}`)}else Pe.type==="splitSet"&&oa(Pe.uuid)})};return oa(a),h.length>0&&console.warn("Transformation Issues:",h),d}startFresh(){if(this._storage.initConfig)this._storage.listConfigs(this.fileVersionToUpgrade).then(e=>de(this,null,function*(){for(let t of e){let a=yield this._storage.getConfig(t.scope,t.name,this.fileVersionToUpgrade);if(a.app.configVersion=0,t.scope==="global")try{setTimeout(()=>{this._storage.patchGlobal(t.name,t.scope,a,"replace",9),console.log(`[Retired] Configuration ${t.scope}/${t.name} has been patched to version 0.`)},750)}catch{console.error(`[Upgrade] Error saving configuration for ${t.name}:`)}else try{yield this._storage.setConfig(t.scope,t.name,a,9),console.log(`[Retired] Configuration ${t.scope}/${t.name} has been patched to version 0.`)}catch{console.error(`[Upgrade] Error saving configuration for ${t.name}.`)}}})).catch(e=>{console.error("Error fetching configuration data:",e)});else{let e={app:null,dashboards:null,theme:null};e.app=this._settings.loadConfigFromLocalStorage("appConfig"),e.theme=this._settings.loadConfigFromLocalStorage("themeConfig"),e.app.configVersion=11,e.app.nightModeBrightness=.27,e.theme.themeName="",localStorage.setItem("appConfig",JSON.stringify(e.app)),localStorage.setItem("themeConfig",JSON.stringify(e.theme)),localStorage.removeItem("widgetConfig"),localStorage.removeItem("layoutConfig")}this.dialogRef.close()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["upgrade-config"]],decls:75,vars:0,consts:[["href","https://discord.gg/AMDYT2DQga","target","_blank"],[1,"button-group"],["mat-flat-button","",3,"click"],["mat-flat-button","",2,"margin-left","20px",3,"click"]],template:function(t,a){t&1&&(n(0,"h2"),r(1,"Instructions and Upgrade Limitations"),o(),n(2,"p"),r(3,"The new and old widget layout engines are fundamentally different. As a result, migrating the configuration will produce the following:"),o(),n(4,"ul")(5,"li"),r(6,"All KIP configuration settings will be migrated."),o(),n(7,"li"),r(8,"Each v2 Page layout will be migrated to a v3 Dashboard."),o(),n(9,"li"),r(10,"All widgets and their configurations will be migrated and visible in their corresponding v3 Dashboard."),o(),n(11,"li")(12,"strong"),r(13,"Note:"),o(),r(14," Widget positions, order, and sizes "),n(15,"strong"),r(16,"WILL BE LOST"),o(),r(17,". Dashboards will contain small widgets that can be repositioned and resized manually. "),o()(),n(18,"p"),r(19,"To upgrade your configuration, please follow these steps:"),o(),n(20,"ol")(21,"li"),r(22," As a safety measure, if you are using Signal K authentication, manually back up your configuration. Make a copy of the "),n(23,"code"),r(24,"9.0.0.json"),o(),r(25," files found on the Signal K server in the following folders: "),n(26,"ul")(27,"li")(28,"code"),r(29,"~/.signalk/applicationData/users/(username)/kip/"),o()(),n(30,"li")(31,"code"),r(32,"~/.signalk/applicationData/global/kip/"),o()()()(),n(33,"li"),r(34,"Click the "),n(35,"strong"),r(36,"Upgrade"),o(),r(37," button below."),o(),n(38,"li"),r(39,"Once the upgrade is complete, KIP will restart and display the migrated dashboards."),o(),n(40,"li"),r(41," Swipe left, or press "),n(42,"code"),r(43,"Shift + Ctrl + Left Arrow"),o(),r(44," to open the Actions menu. Tap/Click on "),n(45,"strong"),r(46,"Help"),o(),r(47,` and read "The Basics" and "Dashboards and Layout." We promise, it's a quick read. `),o(),n(48,"li"),r(49,"Reposition and resize your widgets as needed."),o(),n(50,"li"),r(51,"Once satisfied, proceed to deleting the "),n(52,"code"),r(53,"9.0.0.json"),o(),r(54," configuration files located in the previously mentioned folders. They are not needed any more."),o(),n(55,"li"),r(56," If you need support, join the "),n(57,"a",0),r(58,"Signal K #kip Discord channel"),o(),r(59,". "),o(),n(60,"li"),r(61,"Enjoy the new features and improvements!"),o()(),n(62,"p"),r(63," If you prefer not to upgrade your configuration, you "),n(64,"strong"),r(65,"MUST MANUALLY DELETE"),o(),r(66," the "),n(67,"code"),r(68,"9.0.0.json"),o(),r(69,` files from the previously mentioned server folders.
7
7
  `),o(),n(70,"div",1)(71,"button",2),C("click",function(){return a.upgrade()}),r(72,"Upgrade"),o(),n(73,"button",3),C("click",function(){return a.startFresh()}),r(74,"Start Fresh"),o()())},dependencies:[Ge,ne,ye],styles:[".button-group[_ngcontent-%COMP%]{display:flex;justify-content:center}"]})}return i})();var $d=(()=>{class i{dialog=m(li);openFrameDialog(e,t){switch(e.component){case"select-widget":e.componentType=no;break;case"upgrade-config":e.componentType=ro;break}return this.dialog.open(Pi,{data:e,height:t?"calc(100% - 30px)":"",width:t?"calc(100% - 30px)":"",maxWidth:t?"100%":"",maxHeight:t?"100%":""}).afterClosed()}openConfirmationDialog(e){return this.dialog.open(Ii,{data:e,minWidth:"35vw",minHeight:"25vh"}).afterClosed()}openNameDialog(e){return this.dialog.open(Li,{data:e,minWidth:"20vw",minHeight:"20vh",disableClose:!0})}openWidgetOptions(e){return this.dialog.open(Ji,{data:e.config,minWidth:"50vw",maxWidth:"90vw"})}static \u0275fac=function(t){return new(t||i)};static \u0275prov=te({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var lo=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],ue=(()=>{if(typeof document>"u")return!1;let i=lo[0],c={};for(let e of lo)if(e?.[1]in document){for(let[a,l]of e.entries())c[i[a]]=l;return c}return!1})(),so={change:ue.fullscreenchange,error:ue.fullscreenerror},j={request(i=document.documentElement,c){return new Promise((e,t)=>{let a=()=>{j.off("change",a),e()};j.on("change",a);let l=i[ue.requestFullscreen](c);l instanceof Promise&&l.then(a).catch(t)})},exit(){return new Promise((i,c)=>{if(!j.isFullscreen){i();return}let e=()=>{j.off("change",e),i()};j.on("change",e);let t=document[ue.exitFullscreen]();t instanceof Promise&&t.then(e).catch(c)})},toggle(i,c){return j.isFullscreen?j.exit():j.request(i,c)},onchange(i){j.on("change",i)},onerror(i){j.on("error",i)},on(i,c){let e=so[i];e&&document.addEventListener(e,c,!1)},off(i,c){let e=so[i];e&&document.removeEventListener(e,c,!1)},raw:ue};Object.defineProperties(j,{isFullscreen:{get:()=>!!document[ue.fullscreenElement]},element:{enumerable:!0,get:()=>document[ue.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>!!document[ue.fullscreenEnabled]}});ue||(j={isEnabled:!1});var fe=j;var em=(()=>{class i{isDragging=V(!1);fullscreenStatus=V(!1);fullscreenSupported=V(!0);noSleepStatus=V(!1);noSleepSupported=V(!0);noSleep=new NoSleep;initialTouchX=null;initialTouchY=null;hotkeyListeners=new Map;constructor(){fe.isEnabled?fe.on("change",()=>{this.fullscreenStatus.set(fe.isFullscreen),fe.isFullscreen||this.noSleep.disable()}):(this.fullscreenSupported.set(!1),console.log("[Actions Menu] Fullscreen mode is not supported by device/browser.")),this.checkNoSleepSupport(),this.checkPwaMode()&&this.noSleepSupported()&&!this.noSleepStatus()&&this.toggleNoSleep()}checkNoSleepSupport(){try{if(this.noSleep=new NoSleep,typeof this.noSleep.enable!="function"||typeof this.noSleep.disable!="function")throw new Error("[Actions Menu] NoSleep methods not available")}catch(e){this.noSleepSupported.set(!1),console.warn(`[Actions Menu] NoSleep is not supported by this device/browser. Error: ${e}`)}}checkPwaMode(){let e=window.matchMedia("(display-mode: standalone)").matches||window.navigator.standalone!==void 0;return console.log("[Actions Menu] PWA mode:",e),e}toggleNoSleep(){this.noSleepSupported()&&(this.noSleepStatus()?this.noSleep.disable():this.noSleep.enable(),this.noSleepStatus.set(!this.noSleepStatus()),console.log("[Actions Menu] NoSleep active:",this.noSleepStatus()))}toggleFullScreen(){fe.isEnabled?(this.fullscreenStatus()?(fe.isFullscreen&&fe.exit(),this.noSleep.disable()):(fe.request(),this.noSleep.enable()),this.fullscreenStatus.set(!this.fullscreenStatus())):(this.fullscreenSupported.set(!1),console.log("[Actions Menu] Fullscreen mode is not supported by this browser."))}addGestureListeners(e,t){let a=this.preventBrowserHistorySwipeGestures.bind(this);document.addEventListener("openLeftSidenav",e),document.addEventListener("openRightSidenav",t),document.addEventListener("touchstart",a,{passive:!1}),document.addEventListener("touchmove",a,{passive:!1}),document.addEventListener("touchend",a),document.addEventListener("touchcancel",a)}removeGestureListeners(e,t){let a=this.preventBrowserHistorySwipeGestures.bind(this);document.removeEventListener("openLeftSidenav",e),document.removeEventListener("openRightSidenav",t),document.removeEventListener("touchstart",a),document.removeEventListener("touchmove",a),document.removeEventListener("touchend",a),document.removeEventListener("touchcancel",a)}preventBrowserHistorySwipeGestures(e){if(e.touches.length===1){let t=e.touches[0],a=30;if(e.type==="touchstart")this.initialTouchX=t.clientX,this.initialTouchY=t.clientY;else if(e.type==="touchmove"&&this.initialTouchX!==null&&this.initialTouchY!==null){let l=Math.abs(t.clientX-this.initialTouchX),d=Math.abs(t.clientY-this.initialTouchY);l>10&&l>d&&(this.initialTouchX<a||this.initialTouchX>window.innerWidth-a)&&e.preventDefault(),d>10&&this.initialTouchY<50&&e.preventDefault()}else(e.type==="touchend"||e.type==="touchcancel")&&(this.initialTouchX=null,this.initialTouchY=null)}}addHotkeyListener(e,t){let a=l=>{if(l instanceof KeyboardEvent){let d=l.key.toLowerCase();if(t&&(t.keys&&!t.keys.includes(d)||t.ctrlKey!==void 0&&l.ctrlKey!==t.ctrlKey||t.shiftKey!==void 0&&l.shiftKey!==t.shiftKey))return;e(d,l)}else console.warn("[uiEvent Service] Non-keyboard event detected in addHotkeyListener:",l)};this.hotkeyListeners.set(e,a),document.addEventListener("keydown",a)}removeHotkeyListener(e){let t=this.hotkeyListeners.get(e);t&&(document.removeEventListener("keydown",t),this.hotkeyListeners.delete(e))}static \u0275fac=function(t){return new(t||i)};static \u0275prov=te({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();function Mr(i,c){}var co="_mat-bottom-sheet-enter",mo="_mat-bottom-sheet-exit",yr=(()=>{class i extends oi{_breakpointSubscription;_animationsDisabled=Me();_animationState="void";_animationStateChanged=new J;_destroyed;constructor(){super();let e=m(kt);this._breakpointSubscription=e.observe([pe.Medium,pe.Large,pe.XLarge]).subscribe(()=>{let t=this._elementRef.nativeElement.classList;t.toggle("mat-bottom-sheet-container-medium",e.isMatched(pe.Medium)),t.toggle("mat-bottom-sheet-container-large",e.isMatched(pe.Large)),t.toggle("mat-bottom-sheet-container-xlarge",e.isMatched(pe.XLarge))})}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.markForCheck(),this._changeDetectorRef.detectChanges(),this._animationsDisabled&&this._simulateAnimation(co))}exit(){this._destroyed||(this._elementRef.nativeElement.setAttribute("mat-exit",""),this._animationState="hidden",this._changeDetectorRef.markForCheck(),this._animationsDisabled&&this._simulateAnimation(mo))}ngOnDestroy(){super.ngOnDestroy(),this._breakpointSubscription.unsubscribe(),this._destroyed=!0}_simulateAnimation(e){this._ngZone.run(()=>{this._handleAnimationEvent(!0,e),setTimeout(()=>this._handleAnimationEvent(!1,e))})}_trapFocus(){super._trapFocus({preventScroll:!0})}_handleAnimationEvent(e,t){let a=t===co;(a||t===mo)&&this._animationStateChanged.emit({toState:a?"visible":"hidden",phase:e?"start":"done"})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["mat-bottom-sheet-container"]],hostAttrs:["tabindex","-1",1,"mat-bottom-sheet-container"],hostVars:9,hostBindings:function(t,a){t&1&&C("animationstart",function(d){return a._handleAnimationEvent(!0,d.animationName)})("animationend",function(d){return a._handleAnimationEvent(!1,d.animationName)})("animationcancel",function(d){return a._handleAnimationEvent(!1,d.animationName)}),t&2&&(me("role",a._config.role)("aria-modal",a._config.ariaModal)("aria-label",a._config.ariaLabel),q("mat-bottom-sheet-container-animations-enabled",!a._animationsDisabled)("mat-bottom-sheet-container-enter",a._animationState==="visible")("mat-bottom-sheet-container-exit",a._animationState==="hidden"))},features:[ha],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,a){t&1&&ae(0,Mr,0,0,"ng-template",0)},dependencies:[$a],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)}
8
- `],encapsulation:2})}return i})(),Tr=new Q("MatBottomSheetData"),ia=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},Kt=class{_ref;get instance(){return this._ref.componentInstance}get componentRef(){return this._ref.componentRef}containerInstance;disableClose;_afterOpened=new st;_result;_closeFallbackTimeout;constructor(c,e,t){this._ref=c,this.containerInstance=t,this.disableClose=e.disableClose,t._animationStateChanged.pipe(ge(a=>a.phase==="done"&&a.toState==="visible"),Be(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(ge(a=>a.phase==="done"&&a.toState==="hidden"),Be(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._ref.close(this._result)}),c.overlayRef.detachments().subscribe(()=>{this._ref.close(this._result)}),Ne(this.backdropClick(),this.keydownEvents().pipe(ge(a=>a.keyCode===27))).subscribe(a=>{!this.disableClose&&(a.type!=="keydown"||!Xe(a))&&(a.preventDefault(),this.dismiss())})}dismiss(c){this.containerInstance&&(this.containerInstance._animationStateChanged.pipe(ge(e=>e.phase==="start"),Be(1)).subscribe(()=>{this._closeFallbackTimeout=setTimeout(()=>this._ref.close(this._result),500),this._ref.overlayRef.detachBackdrop()}),this._result=c,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}},Sr=new Q("mat-bottom-sheet-default-options"),xr=(()=>{class i{_injector=m(We);_parentBottomSheet=m(i,{optional:!0,skipSelf:!0});_animationsDisabled=Me();_defaultOptions=m(Sr,{optional:!0});_bottomSheetRefAtThisLevel=null;_dialog=m(ni);get _openedBottomSheetRef(){let e=this._parentBottomSheet;return e?e._openedBottomSheetRef:this._bottomSheetRefAtThisLevel}set _openedBottomSheetRef(e){this._parentBottomSheet?this._parentBottomSheet._openedBottomSheetRef=e:this._bottomSheetRefAtThisLevel=e}constructor(){}open(e,t){let a=X(X({},this._defaultOptions||new ia),t),l;return this._dialog.open(e,ce(X({},a),{disableClose:!0,closeOnOverlayDetachments:!1,maxWidth:"100%",container:yr,scrollStrategy:a.scrollStrategy||Qa(this._injector),positionStrategy:ti(this._injector).centerHorizontally().bottom("0"),disableAnimations:this._animationsDisabled,templateContext:()=>({bottomSheetRef:l}),providers:(d,h,x)=>(l=new Kt(d,a,x),[{provide:Kt,useValue:l},{provide:Tr,useValue:a.data}])})),l.afterDismissed().subscribe(()=>{this._openedBottomSheetRef===l&&(this._openedBottomSheetRef=null)}),this._openedBottomSheetRef?(this._openedBottomSheetRef.afterDismissed().subscribe(()=>l.containerInstance?.enter()),this._openedBottomSheetRef.dismiss()):l.containerInstance.enter(),this._openedBottomSheetRef=l,l}dismiss(e){this._openedBottomSheetRef&&this._openedBottomSheetRef.dismiss(e)}ngOnDestroy(){this._bottomSheetRefAtThisLevel&&this._bottomSheetRefAtThisLevel.dismiss()}static \u0275fac=function(t){return new(t||i)};static \u0275prov=te({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),bm=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=be({type:i});static \u0275inj=he({providers:[xr],imports:[ri,z,Ya,z]})}return i})();export{Or as a,Ol as b,Bi as c,$d as d,em as e,Kt as f,xr as g,bm as h};
8
+ `],encapsulation:2})}return i})(),Tr=new Q("MatBottomSheetData"),ia=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},Kt=class{_ref;get instance(){return this._ref.componentInstance}get componentRef(){return this._ref.componentRef}containerInstance;disableClose;_afterOpened=new st;_result;_closeFallbackTimeout;constructor(c,e,t){this._ref=c,this.containerInstance=t,this.disableClose=e.disableClose,t._animationStateChanged.pipe(ge(a=>a.phase==="done"&&a.toState==="visible"),Be(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(ge(a=>a.phase==="done"&&a.toState==="hidden"),Be(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._ref.close(this._result)}),c.overlayRef.detachments().subscribe(()=>{this._ref.close(this._result)}),Ne(this.backdropClick(),this.keydownEvents().pipe(ge(a=>a.keyCode===27))).subscribe(a=>{!this.disableClose&&(a.type!=="keydown"||!Xe(a))&&(a.preventDefault(),this.dismiss())})}dismiss(c){this.containerInstance&&(this.containerInstance._animationStateChanged.pipe(ge(e=>e.phase==="start"),Be(1)).subscribe(()=>{this._closeFallbackTimeout=setTimeout(()=>this._ref.close(this._result),500),this._ref.overlayRef.detachBackdrop()}),this._result=c,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}},Sr=new Q("mat-bottom-sheet-default-options"),xr=(()=>{class i{_injector=m(Ue);_parentBottomSheet=m(i,{optional:!0,skipSelf:!0});_animationsDisabled=Me();_defaultOptions=m(Sr,{optional:!0});_bottomSheetRefAtThisLevel=null;_dialog=m(ni);get _openedBottomSheetRef(){let e=this._parentBottomSheet;return e?e._openedBottomSheetRef:this._bottomSheetRefAtThisLevel}set _openedBottomSheetRef(e){this._parentBottomSheet?this._parentBottomSheet._openedBottomSheetRef=e:this._bottomSheetRefAtThisLevel=e}constructor(){}open(e,t){let a=X(X({},this._defaultOptions||new ia),t),l;return this._dialog.open(e,ce(X({},a),{disableClose:!0,closeOnOverlayDetachments:!1,maxWidth:"100%",container:yr,scrollStrategy:a.scrollStrategy||Qa(this._injector),positionStrategy:ti(this._injector).centerHorizontally().bottom("0"),disableAnimations:this._animationsDisabled,templateContext:()=>({bottomSheetRef:l}),providers:(d,h,x)=>(l=new Kt(d,a,x),[{provide:Kt,useValue:l},{provide:Tr,useValue:a.data}])})),l.afterDismissed().subscribe(()=>{this._openedBottomSheetRef===l&&(this._openedBottomSheetRef=null)}),this._openedBottomSheetRef?(this._openedBottomSheetRef.afterDismissed().subscribe(()=>l.containerInstance?.enter()),this._openedBottomSheetRef.dismiss()):l.containerInstance.enter(),this._openedBottomSheetRef=l,l}dismiss(e){this._openedBottomSheetRef&&this._openedBottomSheetRef.dismiss(e)}ngOnDestroy(){this._bottomSheetRefAtThisLevel&&this._bottomSheetRefAtThisLevel.dismiss()}static \u0275fac=function(t){return new(t||i)};static \u0275prov=te({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),bm=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=be({type:i});static \u0275inj=he({providers:[xr],imports:[ri,z,Ya,z]})}return i})();export{Or as a,Ol as b,Bi as c,$d as d,em as e,Kt as f,xr as g,bm as h};