@mxtommy/kip 4.8.4 → 4.8.5
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.
- package/CHANGELOG.md +5 -0
- package/package.json +1 -1
- package/plugin/history-series.service.js +637 -0
- package/plugin/index.js +1322 -0
- package/plugin/kip-series-contract.js +31 -0
- package/plugin/openApi.json +855 -0
- package/plugin/sqlite-history-storage.service.js +1124 -0
- package/public/assets/help-docs/ais-radar.md +261 -0
- package/public/assets/help-docs/dashboards.md +1 -1
- package/public/assets/help-docs/menu.json +17 -2
- package/public/{chunk-Co2wVrD6.js → chunk-0ijGpqkR.js} +1 -1
- package/public/{chunk-JhFkJS7i.js → chunk-6MiGh2Ts.js} +1 -1
- package/public/{chunk-DIl1k00y.js → chunk-7QXXQf2h.js} +1 -1
- package/public/{chunk-CYYBxjrc.js → chunk-B4Wxwb2y.js} +1 -1
- package/public/{chunk-q9NoPvcx.js → chunk-BAVmyVwG.js} +1 -1
- package/public/{chunk-BfiyH3nV.js → chunk-BOlUTHo6.js} +1 -1
- package/public/{chunk-x7L6DXVK.js → chunk-BTv5PhTr.js} +1 -1
- package/public/{chunk-BeM64etA.js → chunk-BZG04c3j.js} +1 -1
- package/public/{chunk-0z3nIRXw.js → chunk-BaGEtCmz.js} +1 -1
- package/public/{chunk-otzyItXL.js → chunk-Bbyk4dOu.js} +1 -1
- package/public/{chunk-CCfhzpE8.js → chunk-Be5KcT7R.js} +1 -1
- package/public/{chunk-BFpzxIIT.js → chunk-Bp1YVCJL.js} +1 -1
- package/public/{chunk-CLs_NL1y.js → chunk-BwYOFdBA.js} +1 -1
- package/public/{chunk-D-_-GUVr.js → chunk-Bx77STup.js} +1 -1
- package/public/{chunk-COI6IBXH.js → chunk-ByC_hFSP.js} +1 -1
- package/public/{chunk-CIGP2YJm.js → chunk-ByFzHU1s.js} +1 -1
- package/public/{chunk-CXvWM_vF.js → chunk-BzH86te1.js} +1 -1
- package/public/{chunk-CxPx4NZv.js → chunk-C7ax8Sqz.js} +1 -1
- package/public/{chunk-CoCQ3DW2.js → chunk-C89yhdsn.js} +1 -1
- package/public/{chunk-BTOTKeBo.js → chunk-CJhkckXA.js} +1 -1
- package/public/{chunk-BUguZ7cK.js → chunk-CLIWxVhS.js} +1 -1
- package/public/{chunk-eQ1pa34Q.js → chunk-CQtqkz1Y.js} +1 -1
- package/public/{chunk-BIb-xYiS.js → chunk-CRy9Da7a.js} +1 -1
- package/public/{chunk-Do8wqING.js → chunk-CcaPRVAZ.js} +1 -1
- package/public/{chunk-BjINKQ03.js → chunk-CdNfAZ0G.js} +1 -1
- package/public/{chunk-CLTHuhlN.js → chunk-Cj0AJQ8U.js} +1 -1
- package/public/{chunk-B9nVBlGj.js → chunk-CkFpNfxN.js} +1 -1
- package/public/{chunk-B09jfNia.js → chunk-Cn9j0-tJ.js} +1 -1
- package/public/{chunk-_zRMMvCu.js → chunk-Co8V0LUu.js} +1 -1
- package/public/{chunk-ibauGmSP.js → chunk-CteyWXZ_.js} +1 -1
- package/public/{chunk-C6b8CVno.js → chunk-CuPmfpgh.js} +1 -1
- package/public/{chunk-DmkAKXR1.js → chunk-CwGTKplC.js} +1 -1
- package/public/{chunk-DPnbM-aB.js → chunk-CzEDfe2A.js} +1 -1
- package/public/{chunk-DUEKoZhd.js → chunk-D1Yncgg5.js} +1 -1
- package/public/{chunk-DTN-sa1K.js → chunk-D63LEt5t.js} +1 -1
- package/public/{chunk-BpcNrtxJ.js → chunk-DN39qO63.js} +1 -1
- package/public/{chunk-szQs8fiq.js → chunk-DNbLx4NZ.js} +1 -1
- package/public/{chunk-D1HYfaL_.js → chunk-DRPjASjZ.js} +1 -1
- package/public/{chunk-CyVRpGoJ.js → chunk-Dddd8rAh.js} +1 -1
- package/public/{chunk-C_OZJltF.js → chunk-DiDkZnhZ.js} +1 -1
- package/public/{chunk-CHAFm_nM.js → chunk-DonRL_4T.js} +1 -1
- package/public/{chunk-BJ-wyixK.js → chunk-DufX2AHa.js} +1 -1
- package/public/{chunk-07zHjmg-.js → chunk-DxS7HN4G.js} +1 -1
- package/public/{chunk-BLEZOsfR.js → chunk-Fy40z1B2.js} +1 -1
- package/public/{chunk-OeQDZKFO.js → chunk-MO2v041V.js} +1 -1
- package/public/{chunk-BuvyF0y5.js → chunk-MakCt36b.js} +1 -1
- package/public/{chunk-BZx964-p.js → chunk-TdI_E-cf.js} +1 -1
- package/public/{chunk-B0D54iJs.js → chunk-TneLdWrI.js} +1 -1
- package/public/{chunk-BN7A4g6c.js → chunk-YZWhRxa9.js} +1 -1
- package/public/{chunk-CQMVIDcp.js → chunk-_toW-rHA.js} +1 -1
- package/public/{chunk-B0eE4udE.js → chunk-tbyiK3Ur.js} +1 -1
- package/public/{chunk-D2953Rfp.js → chunk-urAQA4U_.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-YKDNK5VZ.js → main-F7NMHHV4.js} +4 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {d1 as Hj,w,du as p,dY as O,a as G,W as Wp,v as vt,D as Dt,F as Fa,dn as ge,cw as z,cv as G$1,J as JD,dC as x,dT as wg,_ as _w,P as Pi,k as Qh,X as xw,cs as Sw,u as ul,dU as NT,e as EE,M as Mw,t as pT,Y as Aw,dV as Vj,cn as wd,ci as dl,cp as Uh,cV as Td,T as TT,cj as fl,an as Hh,d as ig,bp as gl,s as sg,c as $h,g as qw,dX as xT,B as Bh,cS as pl,cT as hl,dx as n$1}from'./main-
|
|
1
|
+
import {d1 as Hj,w,du as p,dY as O,a as G,W as Wp,v as vt,D as Dt,F as Fa,dn as ge,cw as z,cv as G$1,J as JD,dC as x,dT as wg,_ as _w,P as Pi,k as Qh,X as xw,cs as Sw,u as ul,dU as NT,e as EE,M as Mw,t as pT,Y as Aw,dV as Vj,cn as wd,ci as dl,cp as Uh,cV as Td,T as TT,cj as fl,an as Hh,d as ig,bp as gl,s as sg,c as $h,g as qw,dX as xT,B as Bh,cS as pl,cT as hl,dx as n$1}from'./main-F7NMHHV4.js';import {u}from'./chunk-Be5KcT7R.js';import {c}from'./chunk-CRy9Da7a.js';var ne=(()=>{class o{data=Hj(null,{alias:"controlData"});theme=Hj(null);dimensions=Hj.required();toggleClick=Vj();ctrlLabelColor=vt("");ctrlStateColor=vt("");messageTxtColor=vt("");shouldEmergencyBlink=Dt(()=>(this.data()?.notificationState??"").toLowerCase()==="emergency");shouldAlarmBlink=Dt(()=>(this.data()?.notificationState??"").toLowerCase()==="alarm");constructor(){Fa(()=>{let t=this.data(),e=this.theme();!t||!e||ge(()=>{switch(t.notificationState){case n$1.Emergency:this.ctrlStateColor.set(e.zoneEmergency),this.messageTxtColor.set(e.background);break;case n$1.Alarm:this.ctrlStateColor.set(e.zoneAlarm),this.messageTxtColor.set(e.background);break;case n$1.Warn:this.ctrlStateColor.set(e.zoneWarn),this.messageTxtColor.set(e.background);break;case n$1.Alert:this.ctrlStateColor.set(e.zoneAlert),this.messageTxtColor.set(e.background);break;default:this.ctrlStateColor.set(e.background),this.messageTxtColor.set(c(t.color,e).dim);break}this.ctrlLabelColor.set(c(t.color,e).color);});});}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=JD({type:o,selectors:[["app-svg-zone-states"]],inputs:{data:[1,"controlData","data"],theme:[1,"theme"],dimensions:[1,"dimensions"]},outputs:{toggleClick:"toggleClick"},decls:12,vars:14,consts:[["viewBox","0 0 180 75","version","1.1","id","svg9","xmlns","http://www.w3.org/2000/svg",0,"xmlns","svg","http://www.w3.org/2000/svg"],["id","defs9"],["id","zoneStateCtrl"],["id","touchRect","width","180","height","75","x","0","y","0","pointer-events","all",2,"display","inline","opacity","1","fill","transparent","fill-opacity","1","stroke","none","stroke-width","0","stroke-dasharray","none","stroke-opacity","0"],["x","0","y","0","width","180","height","20"],["xmlns","http://www.w3.org/1999/xhtml",2,"width","180px","height","20px","display","flex","align-items","center","justify-content","center","font-weight","bold","font-size","14px","line-height","1.1","text-align","center","overflow","hidden","word-break","break-word","white-space","normal"],["id","outlineRect","x","6","y","22","width","168","height","43","rx","3.5","fill","none",2,"display","inline","opacity","1","mix-blend-mode","normals","stroke-width","1","stroke-dasharray","none","stroke-opacity","0.65"],["id","innerRect","x","7","y","23","width","166","height","41","rx","3.5",2,"display","inline","opacity","1","mix-blend-mode","normal","stroke","none","stroke-width","0"],["x","7","y","23","width","166","height","41"],["xmlns","http://www.w3.org/1999/xhtml",2,"width","166px","height","41px","display","flex","align-items","center","justify-content","center","font-weight","regular","font-size","12px","line-height","1.1","text-align","center","overflow","hidden","word-break","break-word","white-space","normal","padding","2px"]],template:function(e,i){e&1&&(wd(),dl(0,"svg",0),Uh(1,"defs",1),dl(2,"g",2),Uh(3,"rect",3),dl(4,"foreignObject",4),Td(),dl(5,"div",5),TT(6),fl()(),wd(),Uh(7,"rect",6)(8,"rect",7),dl(9,"foreignObject",8),Td(),dl(10,"div",9),TT(11),fl()()()()),e&2&&(Hh("height",i.dimensions().height)("width",i.dimensions().width),EE(5),ig("color",i.ctrlLabelColor()),EE(),gl(" ",i.data()?.ctrlLabel," "),EE(),Hh("stroke",i.ctrlLabelColor()),EE(),sg("emergency-blink-fill",i.shouldEmergencyBlink())("alarm-blink-fill",i.shouldAlarmBlink()),Hh("fill",i.ctrlStateColor()),EE(2),ig("color",i.messageTxtColor()),EE(),gl(" ",i.data()?.notificationMessage," "));},styles:["@keyframes _ngcontent-%COMP%_AlarmBlinkFill{0%,49%{opacity:1}50%,to{opacity:.6}}.alarm-blink-fill[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_AlarmBlinkFill 1s step-end infinite}@keyframes _ngcontent-%COMP%_EmergencyBlinkFill{0%,49%{opacity:1}50%,to{opacity:.1}}.emergency-blink-fill[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_EmergencyBlinkFill .3s step-end infinite}"]})}return o})();function se(o,f){if(o&1&&$h(0,"widget-title",1),o&2){let t=qw(),e=xT(0);Bh("text",(e==null?null:e.displayName)??"")("color",t.labelColor());}}function re(o,f){if(o&1&&$h(0,"app-svg-zone-states",4),o&2){let t=qw().$implicit,e=qw();Bh("controlData",t)("theme",e.theme())("dimensions",e.ctrlDimensions());}}function le(o,f){if(o&1&&(pl(0),_w(1,re,1,3,"app-svg-zone-states",4),hl()),o&2){let e=f.$implicit;EE(),Mw((e.type)==="4"?1:-1);}}function ce(o,f){o&1&&$h(0,"div",3);}var _e=(()=>{class o{id=Hj.required();type=Hj.required();theme=Hj.required();static DEFAULT_CONFIG={displayName:"Zones State Panel Label",showLabel:true,filterSelfPaths:true,paths:[],enableTimeout:false,dataTimeout:5,color:"contrast",putEnable:false,zonesOnlyPaths:true,putMomentary:false,multiChildCtrls:[]};runtime=w(p,{optional:true});notificationsService=w(O);dashboard=w(G);notifications=Wp(this.notificationsService.observeNotifications());zonesControls=vt([]);labelColor=vt("");noTitleClass=Dt(()=>this.runtime?.options()?.showLabel===false?"widgets-container-no-title":"widgets-container");pathIdToNotificationPath=new Map;hostSize=vt(null);ctrlDimensions=Dt(()=>{let t=this.hostSize();if(!t)return {width:0,height:0};let e=Math.max(1,this.zonesControls().length),i=t.height/e,n=75*t.width/180,s=Math.min(n,i);return {width:t.width,height:s}});constructor(){Fa(()=>{let t=this.theme(),e=this.runtime?.options();!t||!e||ge(()=>{this.labelColor.set(c(e.color??"contrast",t).dim);});}),Fa(()=>{let t=this.runtime?.options();t&&ge(()=>{let e=(t.multiChildCtrls||[]).map(n=>z(G$1({},n),{isNumeric:n.isNumeric??false}));this.zonesControls.set(e);let i=t.paths;if(i?.length){this.pathIdToNotificationPath.clear();for(let n of i){if(!n?.pathID||!n?.path)continue;let s=n.path.replace(/^self(\.|$)/,"notifications$1");this.pathIdToNotificationPath.set(n.pathID,s);}this.applyNotificationsSnapshot(this.notifications());}});}),Fa(()=>{let t=this.notifications();ge(()=>this.applyNotificationsSnapshot(t));});}applyNotificationsSnapshot(t){if(!this.pathIdToNotificationPath.size||!t?.length)return;let e=new Map;for(let i of t)i?.path&&e.set(i.path,i);this.zonesControls.update(i=>{let n=null;for(let s=0;s<i.length;s++){let u=i[s],B=this.pathIdToNotificationPath.get(u.pathID),_=B?e.get(B):void 0;if(!_)continue;let I=_.value?.state,A=_.value?.message;u.notificationState===I&&u.notificationMessage===A||(n||(n=[...i]),n[s]=z(G$1({},u),{notificationState:I,notificationMessage:A}));}return n??i});}onResized(t){this.hostSize.set({width:t.contentRect.width,height:t.contentRect.height});}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=JD({type:o,selectors:[["widget-zones-state-panel"]],inputs:{id:[1,"id"],type:[1,"type"],theme:[1,"theme"]},decls:7,vars:5,consts:[["widgetContainer",""],[3,"text","color"],["kipResizeObserver","",3,"resizeChange"],[1,"widgetOverlay"],[1,"svg-widget",3,"controlData","theme","dimensions"]],template:function(e,i){if(e&1&&(wg(0),_w(1,se,1,2,"widget-title",1),Pi(2,"div",2,0),Qh("resizeChange",function(s){return i.onResized(s)}),xw(4,le,2,1,"ng-container",null,Sw),ul(),_w(6,ce,1,0,"div",3)),e&2){let n=NT(i.runtime==null?null:i.runtime.options());EE(),Mw(n?.showLabel?1:-1),EE(),pT(i.noTitleClass()),EE(2),Aw(i.zonesControls()),EE(2),Mw(i.dashboard.isDashboardStatic()?-1:6);}},dependencies:[u,ne,x],styles:[".widgets-container[_ngcontent-%COMP%]{display:block;position:absolute;left:0;right:0;top:15%;height:85%;width:100%;overflow:hidden;z-index:20}.widgets-container-no-title[_ngcontent-%COMP%]{display:block;position:absolute;left:0;right:0;padding:6px 0 0;height:100%;width:100%;overflow:hidden;z-index:20}.svg-widget[_ngcontent-%COMP%]{display:flex}.widgetOverlay[_ngcontent-%COMP%]{position:absolute;width:100%;height:100%;right:0;bottom:0;color:transparent;z-index:21}"]})}return o})();
|
|
2
2
|
export{_e as WidgetZonesStatePanelComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {O}from'./chunk-
|
|
1
|
+
import {O}from'./chunk-BTv5PhTr.js';import {w,G as Gi,aS as De$1,cu as T,aY as xe,v as vt,D as Dt,a_ as Gp,F as Fa,cv as G,cw as z,J as JD,cx as ut,cy as He,cz as ht,cA as Te,a2 as Jt,a3 as Xt,a4 as Zt,O as Op,cB as Mt,cC as Dt$1,p as R,y as yt,b as wt,c as $h,P as Pi,X as xw,cs as Sw,u as ul,_ as _w,B as Bh,e as EE,Y as Aw,M as Mw,T as TT,h as Fw,k as Qh,l as ud,g as qw,m as dd,s as sg,aA as gg}from'./main-F7NMHHV4.js';var te=(n,a)=>a.id;function ie(n,a){if(n&1){let e=Fw();Pi(0,"button",9),Qh("click",function(){let t=ud(e).$implicit,o=qw();return dd(o.displayDashboards(t.displayId))}),TT(1),ul();}if(n&2){let e=a.$implicit,i=qw();sg("selected",i.selectedDisplayButtonId()===e.displayId),EE(),gg(e.displayName);}}function ne(n,a){n&1&&(Pi(0,"button",5)(1,"i"),TT(2,'"No Remote"'),ul()());}function se(n,a){n&1&&(Pi(0,"div",7),$h(1,"mat-progress-spinner",10),ul());}function oe(n,a){if(n&1){let e=Fw();Pi(0,"tile-large-icon",12,0),Qh("click",function(){let t=ud(e).$index,o=qw(2);return dd(o.setActiveScreen(t))}),ul();}if(n&2){let e=a.$implicit,i=a.$index,t=qw(2);Bh("active",t.activeScreenIdx()===i)("svgIcon",e.icon)("iconSize",72)("label",e.name);}}function ae(n,a){if(n&1&&xw(0,oe,2,4,"tile-large-icon",11,te),n&2){let e=qw();Aw(e.screens());}}function re(n,a){n&1&&(Pi(0,"div",8)(1,"mat-icon",13),TT(2,"cast"),ul(),Pi(3,"div",14)(4,"p"),TT(5,"Select an available remote KIP in the menu."),ul(),Pi(6,"p"),TT(7,"To allow remote control of a dashboard, on that KIP device open Options \u2192 Display \u2192 Remote Control and enable it."),ul()()());}var De=(()=>{class n{COMMAND_REQUEST_ACTIVE_SCREEN_PATH="self.kip.remote.requestActiveScreen";_settings=w(Gi);_data=w(De$1);_requests=w(T);_destroyRef=w(xe);pageTitle="Remote Control";appID=this._settings.KipUUID;displayId=vt(null);selectedDisplayButtonId=vt(null);screensLoading=vt(false);displaysMap=vt({});selectedDisplaySub=null;selectedScreenIndexSub=null;displays=Dt(()=>Object.values(this.displaysMap()).filter(i=>i.displayId!==this.appID).sort((i,t)=>{let o=(i.displayName??"").toLowerCase(),s=(t.displayName??"").toLowerCase();return o&&s?o.localeCompare(s):o?-1:s?1:i.displayId.localeCompare(t.displayId)}));screens=vt([]);activeScreenIdx=vt(null);constructor(){this._data.subscribePathTree("self.displays.*").pipe(Gp(this._destroyRef)).subscribe(({path:e,update:i})=>{this.updateDisplayCatalog(e,i.data.value);}),Fa(()=>{let e=this.displays(),i=this.selectedDisplayButtonId();if(!e.length){this.displayDashboards(null);return}(!i||!e.some(t=>t.displayId===i))&&this.displayDashboards(e[0].displayId);}),Fa(()=>{this.rebindSelectedDisplaySubscriptions(this.displayId());});}updateDisplayCatalog(e,i){let t=this.extractDisplayId(e);if(!t||t===this.appID)return;let o=`self.displays.${t}`;this.displaysMap.update(s=>{let r=G({},s);if(e===o&&(i===null||typeof i>"u"))return delete r[t],r;let _=(r[t]??{displayName:null}).displayName;if(e===o&&i&&typeof i=="object"){let x=i;typeof x.displayName=="string"?_=x.displayName:x.displayName===null&&(_=null);}return r[t]={displayId:t,displayName:_},r});}rebindSelectedDisplaySubscriptions(e){if(this.selectedDisplaySub?.unsubscribe(),this.selectedDisplaySub=null,this.selectedScreenIndexSub?.unsubscribe(),this.selectedScreenIndexSub=null,!e){this.screensLoading.set(false),this.screens.set([]),this.activeScreenIdx.set(null);return}this.screensLoading.set(true),this.selectedDisplaySub=this._data.subscribePath(`self.displays.${e}`,"default").pipe(Gp(this._destroyRef)).subscribe(i=>{this.screensLoading.set(false);let t=i.data.value,o=Array.isArray(t?.screens)?t.screens.filter(s=>!!s&&typeof s=="object"&&typeof s.id=="string"&&typeof s.name=="string"&&typeof s.icon=="string"):[];this.screens.set(o),t&&Object.prototype.hasOwnProperty.call(t,"displayName")&&this.displaysMap.update(s=>{let r=s[e];if(!r)return s;let h=typeof t.displayName=="string"?t.displayName:t.displayName===null?null:r.displayName;return h===r.displayName?s:z(G({},s),{[e]:z(G({},r),{displayName:h})})});}),this.selectedScreenIndexSub=this._data.subscribePath(`self.displays.${e}.screenIndex`,"default").pipe(Gp(this._destroyRef)).subscribe(i=>{let t=i.data.value;this.activeScreenIdx.set(typeof t=="number"?t:null);});}extractDisplayId(e){return e.match(/^self\.displays\.([^.]+)(?:\.|$)/)?.[1]??null}displayDashboards(e){this.displayId.set(e),this.selectedDisplayButtonId.set(e);}setActiveScreen(e){let i=this.activeScreenIdx(),t=this.displayId();if(!t)return;this.activeScreenIdx.set(e),this._requests.putRequest(this.COMMAND_REQUEST_ACTIVE_SCREEN_PATH,{displayId:t,screenIdx:e},this.appID)||(console.error("Failed to set active screen: request was not accepted"),this.activeScreenIdx.set(i));}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=JD({type:n,selectors:[["remote-control"]],decls:11,vars:3,consts:[["tile",""],["svgIconId","remote-control",3,"pageTitle"],[1,"sidenav-remote-control-container"],["mode","side","opened",""],["mat-list-item","","tabindex","0",3,"selected"],["mat-list-item","","tabindex","0","disabled","true",2,"text-align","center"],[1,"sidenav-remote-control-content"],["aria-label","Loading screens",1,"loading-container"],["role","status","aria-live","polite",1,"empty-state-msg"],["mat-list-item","","tabindex","0",3,"click"],["mode","indeterminate","diameter","64","strokeWidth","5"],[3,"active","svgIcon","iconSize","label"],[3,"click","active","svgIcon","iconSize","label"],["aria-hidden","true","color","primary",1,"empty-state-icon"],[1,"copy"]],template:function(i,t){i&1&&($h(0,"page-header",1),Pi(1,"mat-sidenav-container",2)(2,"mat-sidenav",3)(3,"mat-action-list"),xw(4,ie,2,3,"button",4,Sw,false,ne,3,0,"button",5),ul()(),Pi(7,"mat-sidenav-content",6),_w(8,se,2,0,"div",7)(9,ae,2,0)(10,re,8,0,"div",8),ul()()),i&2&&(Bh("pageTitle",t.pageTitle),EE(4),Aw(t.displays()),EE(4),Mw(t.screensLoading()?8:t.screens().length?9:10));},dependencies:[O,ut,He,ht,Te,Jt,Xt,Zt,Op,Mt,Dt$1,R,yt,wt],styles:[".sidenav-remote-control-container[_ngcontent-%COMP%]{height:calc(100% - 87px);width:calc(100% - 48px);margin:0 24px 24px;border:1px solid var(--mat-sys-outline-variant)}mat-sidenav[_ngcontent-%COMP%]{width:150px;--mat-sidenav-container-shape: square}.selected[_ngcontent-%COMP%]{background-color:var(--mat-sys-inverse-on-surface)}.loading-container[_ngcontent-%COMP%]{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.sidenav-remote-control-content[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start;height:100%;width:100%;padding:5px;gap:5px;overflow-y:auto;scrollbar-width:none;overflow-x:hidden;scroll-behavior:smooth;flex:1 1 auto;min-height:0}tile-large-icon[_ngcontent-%COMP%]{width:190px}.empty-state-msg[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;height:100%;width:calc(100% - 150px);min-height:70vh;padding:2rem;text-align:center;color:var(--mat-sys-outline-variant);font-style:italic}.empty-state-icon[_ngcontent-%COMP%]{font-size:4rem;width:4rem;height:4rem;color:var(--mat-sys-outline-variant);margin-bottom:1rem}"]})}return n})();export{De as RemoteControlComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {v,R,S}from'./chunk-CQNVyz8q.js';import {d1 as Hj,w,du as p,dv as rt$1,v as vt,D as Dt,F as Fa,dn as ge,J as JD,c as $h,B as Bh,$ as $j,ao as ue,dz as es,cn as wd,ci as dl,cp as Uh,cj as fl,T as TT,bD as HT,e as EE,d as ig,an as Hh,bp as gl,dA as UT,aA as gg,f as eg,K as Kw,aI as ms}from'./main-YKDNK5VZ.js';var it=["rotatingDial"],at=["twaIndicator"],ot=["wptIndicator"],rt=["setIndicator"],st=["tackIndicator"],Q=([y,K],[t,n],[e,a])=>(Math.atan2(a-n,e-t)-Math.atan2(K-n,y-t)+3*Math.PI)%(2*Math.PI)-Math.PI,J=(()=>{class y{rotatingDial=$j.required("rotatingDial");twaIndicator=$j.required("twaIndicator");wptIndicator=$j.required("wptIndicator");setIndicator=$j.required("setIndicator");tackIndicator=$j.required("tackIndicator");compassHeading=Hj.required();tackTrue=Hj.required();polarSpeedRatio=Hj.required();trueWindAngle=Hj.required();trueWindSpeed=Hj.required();targetAngle=Hj.required();optimalWindAngle=Hj.required();targetVMG=Hj.required();VMG=Hj.required();sailSetupEnabled=Hj.required();driftEnabled=Hj.required();driftSet=Hj();driftFlow=Hj();waypointEnabled=Hj.required();waypointAngle=Hj();vmgToWaypoint=Hj();trueWindMinHistoric=Hj();trueWindMidHistoric=Hj();trueWindMaxHistoric=Hj();gradianColor=Hj.required();compass={oldValue:0,newValue:0};twa={oldValue:0,newValue:0};wpt={oldValue:0,newValue:0};tack={oldValue:0,newValue:0};set={oldValue:0,newValue:0};compassInitialized=false;twaInitialized=false;wptInitialized=false;tackInitialized=false;setInitialized=false;laylinesInitialized=false;headingValue=vt("--");windSectorsInitialized=false;trueWindHeading=0;nextTargetDirection=Dt(()=>{let t=this.compassHeading(),n=this.tackTrue();return t==null||n==null?0:this.unsignedAngleDelta(t,n)});trueWindSpeedDisplay=Dt(()=>{let t=this.trueWindSpeed();return t==null?"--":t.toFixed(1)});windAnglePerformanceRatioColor=Dt(()=>{let t=this.optimalWindAngle(),n=this.targetAngle(),e=this.gradianColor().start,a=this.gradianColor().stop;if(t==null||n==null)return e;let i=1-Math.abs(t-n)/180;return this.interpolateColor(e,a,i)});targetVMGOffset=Dt(()=>{let t=this.VMG(),n=this.targetVMG();return t==null||n==null?"--":(t-n).toFixed(1)});targetVMGOffsetRatioColor=Dt(()=>{let t=this.VMG(),n=this.targetVMG(),e=this.gradianColor().start,a=this.gradianColor().stop;if(t==null||n==null)return e;let i=t/n;return this.interpolateColor(e,a,i)});waypointActive=vt(false);flow=Dt(()=>{let t=this.driftFlow();return t==null?"--":t.toFixed(1)});portLaylinePrev=0;stbdLaylinePrev=0;portLaylineAnimId=null;stbdLaylineAnimId=null;CENTER_X=600;CENTER_Y=620;RADIUS=540;ANIMATION_DURATION=1e3;laylinePortPath=vt(`M ${this.CENTER_X},${this.CENTER_Y} ${this.CENTER_X},${this.CENTER_Y}`);laylineStbdPath=vt(`M ${this.CENTER_X},${this.CENTER_Y} ${this.CENTER_X},${this.CENTER_Y}`);portSectorPrev={min:0,mid:0,max:0};stbdSectorPrev={min:0,mid:0,max:0};portSectorAnimId=null;stbdSectorAnimId=null;portWindSectorPath=vt("");stbdWindSectorPath=vt("");speedLineTipY=vt(620);speedTipPoints=vt("600,570 580,600 620,600");speedRatioColor=vt("");speedLinePrevRatio=0;speedLinePrevTipY=600;speedLineAnimId=null;speedLineInitialized=false;animationFrameIds=new WeakMap;ngZone=w(ue);setRotationImmediate(t,n){t.setAttribute("transform",`rotate(${n} 600 620)`);}constructor(){Fa(()=>{let t=this.waypointEnabled();ge(()=>{this.waypointActive.set(t);});}),Fa(()=>{let t=this.compassHeading(),n=Number.isFinite(t)?Math.round(t):null;n!=null&&ge(()=>{this.compassInitialized?(this.compass.oldValue=this.compass.newValue,this.compass.newValue=n):(this.compass.oldValue=n,this.compass.newValue=n,this.compassInitialized=true),this.headingValue.set(n.toString()),this.rotatingDial()?.nativeElement&&(this.compass.oldValue===this.compass.newValue?this.setRotationImmediate(this.rotatingDial().nativeElement,-this.compass.newValue):S(this.rotatingDial().nativeElement,-this.compass.oldValue,-this.compass.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,[600,620],this.ngZone),this.updateWindSectors());});}),Fa(()=>{let t=this.targetAngle(),n=Number.isFinite(t)?Math.round(t):null;n!=null&&ge(()=>{this.tackInitialized?(this.tack.oldValue=this.tack.newValue,this.tack.newValue=n):(this.tack.oldValue=n,this.tack.newValue=n,this.tackInitialized=true),this.tackIndicator()?.nativeElement&&(this.tack.oldValue===this.tack.newValue?this.setRotationImmediate(this.tackIndicator().nativeElement,this.tack.newValue):S(this.tackIndicator().nativeElement,this.tack.oldValue,this.tack.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,[600,620])),this.updateLaylines();});}),Fa(()=>{let t=this.waypointAngle();ge(()=>{if(!t){this.waypointActive.set(false);return}this.waypointEnabled()?this.waypointActive.set(true):this.waypointActive.set(false),this.wptInitialized?(this.wpt.oldValue=this.wpt.newValue,this.wpt.newValue=t):(this.wpt.oldValue=t,this.wpt.newValue=t,this.wptInitialized=true),this.wptIndicator()?.nativeElement&&(this.wpt.oldValue===this.wpt.newValue?this.setRotationImmediate(this.wptIndicator().nativeElement,this.wpt.newValue):S(this.wptIndicator().nativeElement,this.wpt.oldValue,this.wpt.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,[600,620]));});}),Fa(()=>{let t=this.trueWindAngle(),n=Number.isFinite(t)?Math.round(t):null,e=this.compassHeading(),a=Number.isFinite(e)?Math.round(e):null;n==null||a==null||ge(()=>{this.trueWindHeading=n;let i=this.addHeading(this.trueWindHeading,a*-1);this.twaInitialized?(this.twa.oldValue=this.twa.newValue,this.twa.newValue=i):(this.twa.oldValue=i,this.twa.newValue=i,this.twaInitialized=true),this.twaIndicator()?.nativeElement&&(this.twa.oldValue===this.twa.newValue?this.setRotationImmediate(this.twaIndicator().nativeElement,this.twa.newValue):S(this.twaIndicator().nativeElement,this.twa.oldValue,this.twa.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,[600,620],this.ngZone),this.updateLaylines());});}),Fa(()=>{let t=this.polarSpeedRatio(),n=Math.max(0,Math.min(1,t)),e=620,i=e-166,r=e-i*n;if(!this.speedLineInitialized){this.speedLineInitialized=true,this.speedLineTipY.set(r);let f=30,w=20,g=r-f;this.speedTipPoints.set(`600,${g} ${600-w},${r} ${600+w},${r}`),this.speedRatioColor.set(this.interpolateColor(this.gradianColor().start,this.gradianColor().stop,n)),this.speedLinePrevTipY=r,this.speedLinePrevRatio=n;return}this.animateSpeedLine(this.speedLinePrevTipY,r),this.speedLinePrevTipY=r,this.speedLinePrevRatio=n;}),Fa(()=>{let t=this.driftSet(),n=Number.isFinite(t)?Math.round(t):null;n!=null&&ge(()=>{this.setInitialized?(this.set.oldValue=this.set.newValue,this.set.newValue=n):(this.set.oldValue=n,this.set.newValue=n,this.setInitialized=true),this.setIndicator()?.nativeElement&&(this.set.oldValue===this.set.newValue?this.setRotationImmediate(this.setIndicator().nativeElement,this.set.newValue):S(this.setIndicator().nativeElement,this.set.oldValue,this.set.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,[600,620],this.ngZone));});});}updateLaylines(){if(!this.twaInitialized)return;let t=this.targetAngle(),n=Number.isFinite(t)?Math.round(t):null;if(n==null)return;n=n/2;let e=Number(this.twa.newValue),a=e-n,i=e+n;if(!this.laylinesInitialized){this.laylinesInitialized=true,this.setLaylinePath(a,true),this.setLaylinePath(i,false),this.portLaylinePrev=a,this.stbdLaylinePrev=i;return}this.animateLayline(this.portLaylinePrev,a,true),this.portLaylinePrev=a,this.animateLayline(this.stbdLaylinePrev,i,false),this.stbdLaylinePrev=i;}animateLayline(t,n,e){e&&this.portLaylineAnimId&&cancelAnimationFrame(this.portLaylineAnimId),!e&&this.stbdLaylineAnimId&&cancelAnimationFrame(this.stbdLaylineAnimId);let a=()=>{e?this.portLaylineAnimId=null:this.stbdLaylineAnimId=null;},i=v(t,n,this.ANIMATION_DURATION,r=>this.setLaylinePath(r,e),a,this.ngZone);e?this.portLaylineAnimId=i:this.stbdLaylineAnimId=i;}updateWindSectors(){if(this.trueWindMinHistoric()==null||this.trueWindMidHistoric()==null||this.trueWindMaxHistoric()==null)return;let t={min:this.trueWindMinHistoric(),mid:this.trueWindMidHistoric(),max:this.trueWindMaxHistoric()},n={min:this.trueWindMinHistoric(),mid:this.trueWindMidHistoric(),max:this.trueWindMaxHistoric()};if(!this.windSectorsInitialized){this.portSectorPrev=t,this.stbdSectorPrev=n,this.windSectorsInitialized=true,this.animateWindSector(t,t,true),this.animateWindSector(n,n,false);return}this.animateWindSector(this.portSectorPrev,t,true),this.animateWindSector(this.stbdSectorPrev,n,false),this.portSectorPrev=t,this.stbdSectorPrev=n;}animateWindSector(t,n,e){e&&this.portSectorAnimId&&cancelAnimationFrame(this.portSectorAnimId),!e&&this.stbdSectorAnimId&&cancelAnimationFrame(this.stbdSectorAnimId);let a=()=>{e?this.portSectorAnimId=null:this.stbdSectorAnimId=null;},i=R(t,n,this.ANIMATION_DURATION,r=>this.setWindSectorPath(r,e),a,this.ngZone);e?this.portSectorAnimId=i:this.stbdSectorAnimId=i;}animateSpeedLine(t,n){this.speedLineAnimId&&(cancelAnimationFrame(this.speedLineAnimId),this.speedLineAnimId=null);let e=1e3,a=performance.now(),i=this.speedLinePrevRatio,r=(600-n)/454,f=g=>g<.5?4*g*g*g:1-Math.pow(-2*g+2,3)/2,w=g=>{let E=g-a,x=Math.min(E/e,1),I=f(x),S=(H,et)=>H+(et-H)*I,v=S(t,n),R=S(i,r);this.speedLineTipY.set(v);let D=30,P=20,tt=v-D;this.speedTipPoints.set(`600,${tt} ${600-P},${v} ${600+P},${v}`),this.speedRatioColor.set(this.interpolateColor(this.gradianColor().start,this.gradianColor().stop,R)),x<1?this.speedLineAnimId=requestAnimationFrame(w):this.speedLineAnimId=null;};requestAnimationFrame(w);}interpolateColor(t,n,e){e=Math.max(0,Math.min(1,e));function a(v){v=v.replace("#",""),v.length===3&&(v=v.split("").map(D=>D+D).join(""));let R=parseInt(v,16);return [R>>16&255,R>>8&255,R&255]}let[i,r,f]=a(t),[w,g,E]=a(n),x=Math.round(i+(w-i)*e),I=Math.round(r+(g-r)*e),S=Math.round(f+(E-f)*e);return `rgb(${x},${I},${S})`}addHeading(t=0,n=0){return ((t+n)%360+360)%360}unsignedAngleDelta(t,n){let e=(t-n+540)%360-180;return Math.abs(e)}normalizeAngle(t){return (t%360+360)%360}setLaylinePath(t,n){let e=this.normalizeAngle(t)*Math.PI/180,a=Math.floor(this.RADIUS*Math.sin(e)+this.CENTER_X),i=Math.floor(this.RADIUS*Math.cos(e)*-1+this.CENTER_Y);n?this.laylinePortPath.set(`M ${this.CENTER_X},${this.CENTER_Y} L ${a},${i}`):this.laylineStbdPath.set(`M ${this.CENTER_X},${this.CENTER_Y} L ${a},${i}`);}setWindSectorPath(t,n){let e=this.addHeading(this.addHeading(t.min,Number(this.compass.newValue)*-1),this.targetAngle()/2*(n?-1:1)),a=this.addHeading(this.addHeading(t.mid,Number(this.compass.newValue)*-1),this.targetAngle()/2*(n?-1:1)),i=this.addHeading(this.addHeading(t.max,Number(this.compass.newValue)*-1),this.targetAngle()/2*(n?-1:1)),r=this.RADIUS*Math.sin(e*Math.PI/180)+this.CENTER_X,f=this.RADIUS*Math.cos(e*Math.PI/180)*-1+this.CENTER_Y,w=this.RADIUS*Math.sin(a*Math.PI/180)+this.CENTER_X,g=this.RADIUS*Math.cos(a*Math.PI/180)*-1+this.CENTER_Y,E=this.RADIUS*Math.sin(i*Math.PI/180)+this.CENTER_X,x=this.RADIUS*Math.cos(i*Math.PI/180)*-1+this.CENTER_Y,I=Math.abs(Q([r,f],[w,g],[E,x]))>Math.PI/2?0:1,S=Q([E,x],[r,f],[w,g])>0?0:1,v=`M ${this.CENTER_X},${this.CENTER_Y} L ${r},${f} A ${this.RADIUS},${this.RADIUS} 0 ${I} ${S} ${E},${x} z`;n?this.portWindSectorPath.set(v):this.stbdWindSectorPath.set(v);}ngOnDestroy(){this.portLaylineAnimId&&cancelAnimationFrame(this.portLaylineAnimId),this.stbdLaylineAnimId&&cancelAnimationFrame(this.stbdLaylineAnimId),this.portLaylineAnimId=null,this.stbdLaylineAnimId=null,this.portSectorAnimId&&cancelAnimationFrame(this.portSectorAnimId),this.stbdSectorAnimId&&cancelAnimationFrame(this.stbdSectorAnimId),this.portSectorAnimId=null,this.stbdSectorAnimId=null;let t=[this.rotatingDial(),this.twaIndicator(),this.wptIndicator(),this.setIndicator()];for(let n of t){let e=n?.nativeElement;if(!e)continue;let a=this.animationFrameIds.get(e);a&&cancelAnimationFrame(a),this.animationFrameIds.delete(e);}}static \u0275fac=function(n){return new(n||y)};static \u0275cmp=JD({type:y,selectors:[["svg-racesteer"]],viewQuery:function(n,e){n&1&&eg(e.rotatingDial,it,5)(e.twaIndicator,at,5)(e.wptIndicator,ot,5)(e.setIndicator,rt,5)(e.tackIndicator,st,5),n&2&&Kw(5);},inputs:{compassHeading:[1,"compassHeading"],tackTrue:[1,"tackTrue"],polarSpeedRatio:[1,"polarSpeedRatio"],trueWindAngle:[1,"trueWindAngle"],trueWindSpeed:[1,"trueWindSpeed"],targetAngle:[1,"targetAngle"],optimalWindAngle:[1,"optimalWindAngle"],targetVMG:[1,"targetVMG"],VMG:[1,"VMG"],sailSetupEnabled:[1,"sailSetupEnabled"],driftEnabled:[1,"driftEnabled"],driftSet:[1,"driftSet"],driftFlow:[1,"driftFlow"],waypointEnabled:[1,"waypointEnabled"],waypointAngle:[1,"waypointAngle"],vmgToWaypoint:[1,"vmgToWaypoint"],trueWindMinHistoric:[1,"trueWindMinHistoric"],trueWindMidHistoric:[1,"trueWindMidHistoric"],trueWindMaxHistoric:[1,"trueWindMaxHistoric"],gradianColor:[1,"gradianColor"]},decls:174,vars:39,consts:[["rotatingDial",""],["tackIndicator",""],["twaIndicator",""],["wptIndicator",""],["setIndicator",""],["viewBox","0 0 1200 1200"],["id","defs1"],["id","linearGradient18"],["offset","0",1,"boat",2,"stop-opacity","0.71372495"],["offset","1",1,"boat",2,"stop-opacity","0"],["id","linearGradient16"],["id","linearGradient13"],["offset","0.41176471",1,"drift-arrow",2,"stop-opacity","1"],["offset","1",1,"drift-arrow",2,"stop-opacity","0"],["id","swatch4"],["offset","0","id","stop4",2,"stop-color","#000000","stop-opacity","1"],["clipPathUnits","userSpaceOnUse","id","clipPath16"],["id","ellipse16","cx","311.24539","cy","-1516.3778","rx","194.27342","ry","181.83022",2,"display","inline","fill","#9a9300","fill-opacity","1","stroke","none","stroke-width","55","stroke-miterlimit","0","stroke-dasharray","none","stroke-opacity","1"],["id","linearGradient14",0,"xlink","href","#linearGradient13","x1","453.48047","y1","583.62891","x2","638.11328","y2","583.62891","gradientUnits","userSpaceOnUse","gradientTransform","matrix(0.00723393,1.2388183,-1.0538241,0.00615367,1211.2051,-79.73465)"],["id","linearGradient17",0,"xlink","href","#linearGradient16","x1","-502.04896","y1","439.35551","x2","-316","y2","439.35551","gradientUnits","userSpaceOnUse","gradientTransform","translate(0,49.000266)"],["id","linearGradient19",0,"xlink","href","#linearGradient18","x1","495.83999","y1","439.35551","x2","681.88895","y2","439.35551","gradientUnits","userSpaceOnUse","gradientTransform","translate(0,49.000266)"],["id","layerBackground","transform","translate(100,100)",2,"display","inline"],["id","boat",2,"display","inline"],["id","portSide","d","M 498.75049,208.89453 A 267.09439,554.67401 0 0 1 678.45974,767.81661",2,"fill","none","fill-opacity","1","stroke","url(#linearGradient19)","stroke-width","5.821","stroke-linecap","round","stroke-miterlimit","0","stroke-dasharray","none"],["id","starboardSide","d","m -499.13846,208.89453 a 267.09439,554.67401 0 0 1 179.70925,558.92208","transform","scale(-1,1)",2,"fill","none","fill-opacity","1","stroke","url(#linearGradient17)","stroke-width","5.821","stroke-linecap","round","stroke-miterlimit","0","stroke-dasharray","none"],["id","layerCompass"],["id","fixedDial"],["id","dialBackground","cx","600","cy","620","r","516",1,"fixed-dial-background",2,"display","inline","stroke-width","46"],["id","barsAndText","transform","scale(1.1) translate(45,64)",1,"contrast-stroke",2,"display","inline"],["d","m 416.35095,19.837399 2.78142,15.77426","id","path199",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 334.23173,41.658798 5.47834,15.051615","id","path200",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 260.27336,81.806174 12.55151,21.739856","id","path37",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 187.44581,126.00035 10.29591,12.2702","id","path197",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 127.23918,185.95785 12.27019,10.29591","id","path198",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 83.252815,257.66724 21.739865,12.55151","id","path166",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 42.289518,332.39273 15.05162,5.47835","id","path195",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 20.127799,414.42077 15.774251,2.78142","id","path196",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 17.879075,498.47765 H 42.982096","id","path167",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 19.776759,583.71187 15.77426,-2.78142","id","path193",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 41.598167,665.8311 15.051615,-5.47834","id","path194",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 81.668963,739.71246 103.40883,727.16095","id","path168",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 125.93981,812.61701 12.2702,-10.29591","id","path191",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 185.89732,872.82365 10.29591,-12.27019","id","path192",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 257.53004,916.73298 12.55151,-21.73985","id","path169",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 332.33219,957.7732 5.47835,-15.05162","id","path189",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 414.36024,979.93493 2.78142,-15.77425","id","path190",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 498.34046,982.10672 V 957.0037","id","path170",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 583.65133,980.28596 580.86991,964.5117","id","path187",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 665.77057,958.46456 -5.47834,-15.05161","id","path188",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 739.57526,918.31683 727.02375,896.57698","id","path171",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 812.55647,874.12301 802.26056,861.85282","id","path185",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 872.76312,814.16551 860.49293,803.8696","id","path186",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 916.59579,742.45577 894.85593,729.90426","id","path172",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 957.71266,667.73063 -15.05161,-5.47834","id","path183",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 979.8744,585.70259 -15.77425,-2.78142","id","path184",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 981.96954,501.64535 -25.10304,10e-6","id","path173",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 980.22542,416.41149 -15.77425,2.78143","id","path181",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 958.40403,334.29226 -15.05161,5.47834","id","path182",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 918.17964,260.41055 -21.73986,12.55151","id","path174",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 874.06247,187.50636 -12.27018,10.29591","id","path180",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 817.34594,130.05494 -10.40259,12.17987","id","path179",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 742.31857,83.390025 729.76706,105.12988","id","path175",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 667.6701,42.350172 -5.47834,15.051615","id","path178",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 585.64206,20.188432 -2.78142,15.77425","id","path176",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 501.50816,18.016286 V 43.119307","id","path177",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],[0,"xml","space","preserve","x","181.91386","y","284.25186","id","text3","transform","rotate(-30)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan3","x","181.91386","y","284.25186",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-183.53558","y","283.74811","id","text14","transform","rotate(-60)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan14","x","-183.53558","y","283.74811",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-499.70761","y","100.95312","id","text15","transform","rotate(-90)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan15","x","-499.70761","y","100.95312",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-681.66119","y","-216.36243","id","text16","transform","rotate(-120)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["x","-681.66119","y","-216.36243","id","tspan25",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-681.06616","y","-581.71271","id","text17","transform","rotate(-150)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan17","x","-681.06616","y","-581.71271",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-498.3313","y","-897.40875","id","text18","transform","scale(-1)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan18","x","-498.3313","y","-897.40875",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-184.41313","y","-1080.8452","id","text19","transform","rotate(150)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan19","x","-184.41313","y","-1080.8452",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","181.57225","y","-1080.8853","id","text20","transform","rotate(120)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan20","x","181.57225","y","-1080.8853",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","501.42661","y","-896.93701","id","text21","transform","rotate(90)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan21","x","501.42661","y","-896.93701",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","682.35815","y","-579.63336","id","text22","transform","rotate(60)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan22","x","682.35815","y","-579.63336",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","681.81525","y","-214.27321","id","text23","transform","rotate(30)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan23","x","681.81525","y","-214.27321",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","500.15503","y","101.96342","id","text24",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan24","x","500.15503","y","101.96342",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],["id","LayerWindShift"],["id","portSectorShift",1,"wind-sector-port",2,"fill-opacity","0.4","stroke","none"],["id","StbdSectorShift",1,"wind-sector-stbd",2,"fill-opacity","0.4","stroke","none"],["id","LayerLayline"],["id","PortLayline",1,"portLayline"],["id","StbdLayline",1,"stbdLayline"],["id","layerCounter"],["id","tackCounter"],[0,"xml","space","preserve","x","1062","y","80",1,"tack-label"],["x","936","y","95","width","252","height","100","rx","20",1,"tack-box"],[0,"xml","space","preserve","x","1072","y","175","id","text42",1,"tack-value"],[2,"font-weight","normal"],["id","windVmgCounter"],[0,"xml","space","preserve","x","600","y","780",1,"tack-label"],[0,"xml","space","preserve","x","610","y","850",1,"wind-vmg-value"],[2,"font-weight","normal","font-size","30px"],[0,"xml","space","preserve","x","610","y","890",1,"wind-vmg-offset"],["id","waypointCounter"],[0,"xml","space","preserve","x","1062","y","1030",1,"tack-label"],["x","936","y","1045","width","252","height","140","rx","20",1,"waypoint-box"],[0,"xml","space","preserve","x","1060","y","1100",1,"waypoint-value"],[1,"tack-label"],[0,"xml","space","preserve","x","1060","y","1165",1,"waypoint-value"],["id","layerIndicators",2,"display","inline"],["d","m 606.20767,217.99458 a 6.3888631,8.8250643 0 0 1 -6.38888,8.82508 6.3888631,8.8250643 0 0 1 -6.38888,-8.82508 6.3888631,8.8250643 0 0 1 6.38888,-8.82509 6.3888631,8.8250643 0 0 1 6.38888,8.82509 z M 576.25472,75.811298 593.47058,58.265068 c 3.6173,-3.6867571 9.44162,-3.6867571 13.05892,0 l 17.21586,17.546106 c 3.6173,3.686743 3.6173,9.622786 0,13.309544 l -17.21595,17.54623 c -3.61721,3.686757 -9.44153,3.686757 -13.05893,0 L 576.25472,89.120841 c -3.6174,-3.686743 -3.6174,-9.622924 0,-13.309543 z m 17.20533,-16.510116 h 12.77766 V 218.26408 h -12.77766 z",1,"tack-angle"],["d","m 451.77021,5.469207 42.08541,-33.202814 a 12.555638,12.555638 0.26446337 0 1 15.64423,0.07221 l 42.20046,33.930296 a 15.557694,15.557694 71.53185 0 1 5.32954,15.957795 L 504.17034,230.15629 a 2.5373267,2.5373267 0.02614114 0 1 -4.91879,-0.002 L 446.37431,21.357036 a 15.416336,15.416336 108.75875 0 1 5.3959,-15.887829 z","transform","matrix(0.60410307,0,0,0.70555435,296.91787,121.152867)",1,"true-wind",2,"display","inline","stroke","none","stroke-width","5.8876","stroke-miterlimit","0"],[0,"xml","space","preserve","x","600","y","210","id","text10",1,"card-color",2,"font-weight","bold","font-size","60px","font-family","Roboto","text-align","center","text-anchor","middle","display","inline","stroke","none"],["cx","600","cy","225","rx","23","ry","23",1,"next-waypoint"],["id","layerDirectionSpeed"],["id","directionLine","x1","600","y1","620","x2","600","y2","110",1,"direction-line"],["id","speedLine","x1","600","y1","620","x2","600",1,"speed-line"],["id","speedTip",1,"speed-line"],["id","layerDrift","transform","translate(0, 20)"],["id","setArrow","d","m 663.93337,580.60403 -64.4901,-94.9673 -63.37665,95.71396 58.48691,-30.71299 0.77713,133.08346 c 0.0992,16.99331 2.52916,30.65913 5.44822,30.64209 2.91911,-0.0171 5.18926,-13.71032 5.09001,-30.70362 l -0.77782,-133.20444 z",1,"drift-arrow",2,"fill","url(#linearGradient14)"],["id","text11",0,"xml","space","preserve","x","599.78842","y","623.55145",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-stretch","normal","font-size","66.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none"],["id","layerHeading"],["id","rect1","width","310","height","117","x","445","y","10","rx","20",1,"heading-box",2,"stroke-width","5","stroke-opacity","0.5"],["x","600","y","110",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","120px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","5","stroke-linejoin","bevel","stroke-miterlimit","0","stroke-dasharray","none","stroke-opacity","1"],[2,"font-weight","normal","font-size","60px"]],template:function(n,e){n&1&&(wd(),dl(0,"svg",5)(1,"defs",6)(2,"linearGradient",7),Uh(3,"stop",8)(4,"stop",9),fl(),dl(5,"linearGradient",10),Uh(6,"stop",8)(7,"stop",9),fl(),dl(8,"linearGradient",11),Uh(9,"stop",12)(10,"stop",13),fl(),dl(11,"linearGradient",14),Uh(12,"stop",15),fl(),dl(13,"clipPath",16),Uh(14,"ellipse",17),fl(),Uh(15,"linearGradient",18)(16,"linearGradient",19)(17,"linearGradient",20),fl(),dl(18,"g",21)(19,"g",22),Uh(20,"path",23)(21,"path",24),fl()(),dl(22,"g",25)(23,"g",26),Uh(24,"circle",27),fl(),dl(25,"g",null,0)(27,"g",28),Uh(28,"path",29)(29,"path",30)(30,"path",31)(31,"path",32)(32,"path",33)(33,"path",34)(34,"path",35)(35,"path",36)(36,"path",37)(37,"path",38)(38,"path",39)(39,"path",40)(40,"path",41)(41,"path",42)(42,"path",43)(43,"path",44)(44,"path",45)(45,"path",46)(46,"path",47)(47,"path",48)(48,"path",49)(49,"path",50)(50,"path",51)(51,"path",52)(52,"path",53)(53,"path",54)(54,"path",55)(55,"path",56)(56,"path",57)(57,"path",58)(58,"path",59)(59,"path",60)(60,"path",61)(61,"path",62)(62,"path",63)(63,"path",64),dl(64,"text",65)(65,"tspan",66),TT(66,"330"),fl()(),dl(67,"text",67)(68,"tspan",68),TT(69,"300"),fl()(),dl(70,"text",69)(71,"tspan",70),TT(72,"W"),fl()(),dl(73,"text",71)(74,"tspan",72),TT(75,"240"),fl()(),dl(76,"text",73)(77,"tspan",74),TT(78,"210"),fl()(),dl(79,"text",75)(80,"tspan",76),TT(81,"S"),fl()(),dl(82,"text",77)(83,"tspan",78),TT(84,"150"),fl()(),dl(85,"text",79)(86,"tspan",80),TT(87,"120"),fl()(),dl(88,"text",81)(89,"tspan",82),TT(90,"E"),fl()(),dl(91,"text",83)(92,"tspan",84),TT(93,"60"),fl()(),dl(94,"text",85)(95,"tspan",86),TT(96,"30"),fl()(),dl(97,"text",87)(98,"tspan",88),TT(99,"N"),fl()()()()(),dl(100,"g",89),Uh(101,"path",90)(102,"path",91),fl(),dl(103,"g",92),Uh(104,"path",93)(105,"path",94),fl(),dl(106,"g",95)(107,"g",96)(108,"text",97),TT(109,"Tack/Gybe"),fl(),Uh(110,"rect",98),dl(111,"text",99),TT(112),HT(113,"number"),dl(114,"tspan",100),TT(115,"\xB0"),fl()()(),dl(116,"g",101)(117,"text",102),TT(118,"Wind VMG"),fl(),dl(119,"text",103),TT(120),dl(121,"tspan",104),TT(122," kts"),fl()(),dl(123,"text",105),TT(124),dl(125,"tspan",104),TT(126," kts"),fl()()(),dl(127,"g",106)(128,"text",107),TT(129,"Waypoint"),fl(),Uh(130,"rect",108),dl(131,"text",109)(132,"tspan",110),TT(133,"VMG: "),fl(),TT(134),dl(135,"tspan",104),TT(136," kts"),fl()(),dl(137,"text",111)(138,"tspan",110),TT(139,"HDG: "),fl(),TT(140),dl(141,"tspan",100),TT(142,"\xB0"),dl(143,"tspan",104),TT(144,"T"),fl()()()()(),dl(145,"g",112)(146,"g",null,1),Uh(148,"path",113),fl(),dl(149,"g",null,2),Uh(151,"path",114),dl(152,"text",115),TT(153,"T"),fl()(),dl(154,"g",null,3),Uh(156,"ellipse",116),fl()(),dl(157,"g",117),Uh(158,"line",118)(159,"line",119)(160,"polygon",120),fl(),dl(161,"g",121),Uh(162,"path",122,4),dl(164,"text",123),TT(165),fl()(),dl(166,"g",124),Uh(167,"rect",125),dl(168,"text",126),TT(169),dl(170,"tspan",100),TT(171,"\xB0"),dl(172,"tspan",127),TT(173,"T"),fl()()()()()),n&2&&(EE(101),ig("display",e.portWindSectorPath()!="none"?"inline":"none"),Hh("d",e.portWindSectorPath()),EE(),ig("display",e.stbdWindSectorPath()!="none"?"inline":"none"),Hh("d",e.stbdWindSectorPath()),EE(2),ig("display",e.trueWindAngle()!=null?"inline":"none"),Hh("d",e.laylinePortPath()),EE(),ig("display",e.trueWindAngle()!=null?"inline":"none"),Hh("d",e.laylineStbdPath()),EE(7),gl("",UT(113,36,e.nextTargetDirection(),"1.0-0")," "),EE(7),ig("fill",e.targetVMGOffsetRatioColor()),EE(),gg(e.targetVMG()),EE(3),ig("fill",e.targetVMGOffsetRatioColor()),EE(),gg(e.targetVMGOffset()),EE(10),gg(e.vmgToWaypoint()),EE(6),gg(e.waypointAngle()),EE(11),ig("fill",e.windAnglePerformanceRatioColor()),EE(3),Hh("display",e.waypointActive()?"inline":"none"),EE(5),ig("stroke",e.speedRatioColor()),Hh("y2",e.speedLineTipY()),EE(),ig("fill",e.speedRatioColor())("stroke",e.speedRatioColor()),Hh("points",e.speedTipPoints()),EE(),ig("display",e.driftEnabled()?"inline":"none"),EE(4),gg(e.flow()),EE(4),gl(" ",e.headingValue()));},dependencies:[es],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}svg[_ngcontent-%COMP%]{position:absolute;height:100%;width:100%;left:0;top:0}.fixed-dial-background[_ngcontent-%COMP%]{fill:none;stroke:var(--kip-grey-color)}.rotating-dial-Backplate[_ngcontent-%COMP%]{fill:var(--mat-sys-background)}.starboard[_ngcontent-%COMP%]{stroke:var(--kip-starboard-color)}.port[_ngcontent-%COMP%]{stroke:var(--kip-port-color)}.heading-box[_ngcontent-%COMP%]{stroke:var(--kip-grey-color);fill:var(--kip-widget-card-background-color)}.boat[_ngcontent-%COMP%]{stop-color:var(--kip-grey-color)!important}.contrast-text[_ngcontent-%COMP%]{fill:var(--kip-contrast-color)}.contrast-stroke[_ngcontent-%COMP%]{stroke:var(--kip-contrast-color)}.card-color[_ngcontent-%COMP%]{fill:var(--kip-widget-card-background-color)}.tack-box[_ngcontent-%COMP%]{stroke:var(--kip-yellow-dim-color);fill:var(--kip-widget-card-background-color);stroke-width:5}.tack-value[_ngcontent-%COMP%]{fill:var(--kip-contrast-color);font-family:Roboto;font-size:80px;font-style:normal;font-weight:700;text-align:center;text-anchor:middle;stroke:none}.tack-label[_ngcontent-%COMP%]{fill:var(--kip-contrast-dim-color);font-family:Roboto;font-size:35px;font-style:normal;font-weight:700;text-align:center;text-anchor:middle;stroke:none}.waypoint-box[_ngcontent-%COMP%]{stroke:var(--kip-orange-dim-color);fill:var(--kip-widget-card-background-color);stroke-width:5}.waypoint-value[_ngcontent-%COMP%]{fill:var(--kip-contrast-color);font-family:Roboto;font-size:50px;font-style:normal;font-weight:700;text-align:center;text-anchor:middle;stroke:none}.wind-vmg-value[_ngcontent-%COMP%]{fill:var(--kip-contrast-color);font-family:Roboto;font-size:80px;font-style:normal;font-weight:700;text-align:center;text-anchor:middle;stroke:none}.wind-vmg-offset[_ngcontent-%COMP%]{fill:var(--kip-contrast-color);font-family:Roboto;font-size:35px;font-style:normal;font-weight:700;text-align:center;text-anchor:middle;stroke:none}.true-wind[_ngcontent-%COMP%]{fill:var(--kip-blue-color)}.app-wind-label[_ngcontent-%COMP%]{fill:var(--kip-orange-dim-color)}.tack-angle[_ngcontent-%COMP%]{fill:var(--kip-yellow-color);stroke-width:15;stroke-linecap:square}.next-waypoint[_ngcontent-%COMP%]{stroke:var(--kip-orange-color);stroke-width:20;fill:none}.next-waypoint-bar[_ngcontent-%COMP%]{stroke:var(--kip-grey-color)}.portLayline[_ngcontent-%COMP%]{stroke:var(--kip-port-color);stroke-width:5}.stbdLayline[_ngcontent-%COMP%]{stroke:var(--kip-starboard-color);stroke-width:5}.direction-line[_ngcontent-%COMP%]{stroke:var(--kip-contrast-color);stroke-width:5}.speed-line[_ngcontent-%COMP%]{stroke:var(--kip-blue-color);stroke-width:10;fill:var(--kip-blue-color)}.wind-sector-port[_ngcontent-%COMP%]{fill:var(--kip-port-color)}.wind-sector-stbd[_ngcontent-%COMP%]{fill:var(--kip-starboard-color)}.drift-arrow[_ngcontent-%COMP%]{stop-color:var(--kip-blue-color);stroke:var(--kip-widget-card-background-color);stroke-width:3}"]})}return y})();var yt=(()=>{class y{id=Hj.required();type=Hj.required();theme=Hj.required();static DEFAULT_CONFIG={supportAutomaticHistoricalSeries:false,filterSelfPaths:true,paths:{headingPath:{description:"True Heading",path:"self.navigation.headingTrue",source:"default",pathType:"number",isPathConfigurable:true,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},tackTrue:{description:"True Tack",path:"self.performance.tackTrue",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:true,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},polarSpeedRatio:{description:"Polar Speed Ratio",path:"self.performance.polarSpeedRatio",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"ratio",sampleTime:500},targetAngle:{description:"Target Angle",path:"self.performance.targetAngle",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"deg",sampleTime:500},optimalWindAngle:{description:"Optimal Wind Angle",path:"self.performance.optimumWindAngle",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"deg",sampleTime:500},targetVMG:{description:"Target Velocity Made Good",path:"self.performance.targetVelocityMadeGood",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"knots",sampleTime:500},VMG:{description:"Velocity Made Good",path:"self.performance.velocityMadeGood",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"knots",sampleTime:500},appWindAngle:{description:"Apparent Wind Angle",path:"self.environment.wind.angleApparent",source:"default",pathType:"number",isPathConfigurable:true,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},appWindSpeed:{description:"Apparent Wind Speed",path:"self.environment.wind.speedApparent",source:"default",pathType:"number",isPathConfigurable:true,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:500},trueWindAngle:{description:"True Wind Angle",path:"self.environment.wind.angleTrueWater",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},trueWindSpeed:{description:"True Wind Speed",path:"self.environment.wind.speedTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:500},courseOverGround:{description:"True Course Over Ground",path:"self.navigation.courseOverGroundTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},nextWaypointBearing:{description:"Next Waypoint True Bearing",path:"self.navigation.course.calcValues.bearingTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},vmgToWaypoint:{description:"Velocity Made Good to Waypoint",path:"self.performance.velocityMadeGoodToWaypoint",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"knots",sampleTime:500},set:{description:"True Drift Set",path:"self.environment.current.setTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},drift:{description:"Drift Speed Impact",path:"self.environment.current.drift",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:500}},windSectorEnable:true,windSectorWindowSeconds:5,laylineEnable:true,laylineAngle:40,waypointEnable:true,courseOverGroundEnable:true,driftEnable:true,awsEnable:true,twsEnable:true,sailSetupEnable:false,enableTimeout:false,dataTimeout:5};runtime=w(p);streams=w(rt$1);currentHeading=vt(0);courseOverGroundAngle=vt(0);appWindAngle=vt(0);appWindSpeed=vt(0);appWindSpeedUnit=vt("knots");trueWindAngle=vt(0);trueWindSpeed=vt(0);trueWindSpeedUnit=vt("knots");driftFlow=vt(0);driftSet=vt(0);waypointAngle=vt(0);vmgToWaypoint=vt(null);tackTrue=vt(0);polarSpeedRatio=vt(0);targetAngle=vt(0);optimalWindAngle=vt(0);targetVMG=vt(0);VMG=vt(0);gradianColor=vt({start:"#3298ff",stop:"#15af00"});trueWindMinHistoric=vt(0);trueWindMidHistoric=vt(0);trueWindMaxHistoric=vt(0);normalizedConfig=Dt(()=>this.runtime.options()??y.DEFAULT_CONFIG);sailSetupEnabledValue=Dt(()=>this.normalizedConfig().sailSetupEnable??false);driftEnabledValue=Dt(()=>this.normalizedConfig().driftEnable??false);waypointEnabledValue=Dt(()=>this.normalizedConfig().waypointEnable??false);windSectorSub=null;historicalWindDirection=[];constructor(){Fa(()=>{let t=this.normalizedConfig();!t||!t.paths?.headingPath?.path||ge(()=>this.streams.observe("headingPath",a=>{let i=a?.data?.value;this.currentHeading.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.courseOverGroundEnable||!t.paths?.courseOverGround?.path||ge(()=>this.streams.observe("courseOverGround",a=>{let i=a?.data?.value;this.courseOverGroundAngle.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.driftEnable||!t.paths?.drift?.path||ge(()=>this.streams.observe("drift",a=>{let i=a?.data?.value;this.driftFlow.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.driftEnable||!t.paths?.set?.path||ge(()=>this.streams.observe("set",a=>{let i=a?.data?.value,r=i??0;this.driftSet.set(this.addHeading(-this.currentHeading(),r));}));}),Fa(()=>{let t=this.runtime.options();!t||!t.waypointEnable||!t.paths?.nextWaypointBearing?.path||ge(()=>this.streams.observe("nextWaypointBearing",a=>{let i=a?.data?.value;if(i==null){this.waypointAngle.set(0);return}let r=i<0?360+i:i,f=this.addHeading(-this.currentHeading(),r);this.waypointAngle.set(Math.round(f));}));}),Fa(()=>{let t=this.runtime.options();!t||!t.awsEnable||!t.paths?.appWindAngle?.path||ge(()=>this.streams.observe("appWindAngle",a=>{let i=a?.data?.value,r=i??0;if(r=r<0?360+r:r,this.appWindAngle.set(r),t.windSectorEnable){let f=this.currentHeading(),w=this.addHeading(f,i??0);this.addHistoricalWindDirection(w,t.windSectorWindowSeconds??5);}}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.tackTrue?.path||ge(()=>this.streams.observe("tackTrue",a=>{let i=a?.data?.value;this.tackTrue.set(i==null?0:Math.round(i));}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.polarSpeedRatio?.path||ge(()=>this.streams.observe("polarSpeedRatio",a=>{let i=a?.data?.value;this.polarSpeedRatio.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.targetAngle?.path||ge(()=>this.streams.observe("targetAngle",a=>{let i=a?.data?.value;this.targetAngle.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.optimalWindAngle?.path||ge(()=>this.streams.observe("optimalWindAngle",a=>{let i=a?.data?.value;this.optimalWindAngle.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.targetVMG?.path||ge(()=>this.streams.observe("targetVMG",a=>{let i=a?.data?.value,r=i==null?0:Math.round(i*10)/10;this.targetVMG.set(r);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.VMG?.path||ge(()=>this.streams.observe("VMG",a=>{let i=a?.data?.value,r=i==null?0:Math.round(i*10)/10;this.VMG.set(r);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.vmgToWaypoint?.path||ge(()=>this.streams.observe("vmgToWaypoint",a=>{let i=a?.data?.value,r=i==null?null:Math.round(i*10)/10;this.vmgToWaypoint.set(r);}));}),Fa(()=>{let t=this.theme();if(!t)return;let n=t?.blue??"#3298ff",e=t?.green??"#15af00";ge(()=>this.gradianColor.set({start:n,stop:e}));}),Fa(()=>{let t=this.runtime.options();!t||!t.awsEnable||!t.paths?.appWindSpeed?.path||ge(()=>this.streams.observe("appWindSpeed",a=>{let i=a?.data?.value;this.appWindSpeed.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.twsEnable||!t.paths?.trueWindSpeed?.path||ge(()=>this.streams.observe("trueWindSpeed",a=>{let i=a?.data?.value;this.trueWindSpeed.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();if(!t||!t.twsEnable)return;let e=t.paths?.trueWindAngle?.path;e&&ge(()=>this.streams.observe("trueWindAngle",a=>{let i=a?.data?.value,r=i??0;if(e.includes("angleTrueWater")||e.includes("angleTrueGround")){let f=this.currentHeading();r=this.addHeading(f,r);}else r=r<0?360+r:r;this.trueWindAngle.set(r);}));}),Fa(()=>{let t=this.normalizedConfig();t&&(t.windSectorEnable?this.windSectorSub||ge(()=>this.windSectorSub=ms(500).subscribe(()=>this.historicalCleanup(t.windSectorWindowSeconds??5))):(this.windSectorSub?.unsubscribe(),this.windSectorSub=null));});}sectorArc=Dt(()=>{let t=this.trueWindMinHistoric(),n=this.trueWindMidHistoric(),e=this.trueWindMaxHistoric();return {min:t,mid:n,max:e}});addHistoricalWindDirection(t,n){this.historicalWindDirection.push({timestamp:Date.now(),windDirection:t});let e=this.arcForAngles(this.historicalWindDirection.map(a=>a.windDirection));this.trueWindMinHistoric.set(e.min),this.trueWindMaxHistoric.set(e.max),this.trueWindMidHistoric.set(e.mid),this.historicalCleanup(n);}arcForAngles(t){return !t||t.length===0?{min:0,max:0,mid:0}:t.slice(1).reduce((e,a)=>{let i=a;for(;i<e.min-180;)i+=360;for(;i>e.max+180;)i-=360;return e.min=Math.min(e.min,i),e.max=Math.max(e.max,i),e.mid=(e.max-e.min)/2+e.min,e},{min:t[0],max:t[0],mid:t[0]})}historicalCleanup(t){let n=Date.now()-t*1e3;this.historicalWindDirection=this.historicalWindDirection.filter(e=>e.timestamp>=n);}addHeading(t,n){let e=(t+n)%360;return e<0&&(e+=360),e}ngOnDestroy(){this.windSectorSub?.unsubscribe(),this.windSectorSub=null;}static \u0275fac=function(n){return new(n||y)};static \u0275cmp=JD({type:y,selectors:[["widget-racesteer"]],inputs:{id:[1,"id"],type:[1,"type"],theme:[1,"theme"]},decls:1,vars:20,consts:[[3,"compassHeading","tackTrue","polarSpeedRatio","trueWindAngle","trueWindSpeed","targetAngle","optimalWindAngle","targetVMG","VMG","sailSetupEnabled","driftEnabled","driftFlow","driftSet","waypointEnabled","waypointAngle","vmgToWaypoint","trueWindMinHistoric","trueWindMidHistoric","trueWindMaxHistoric","gradianColor"]],template:function(n,e){n&1&&$h(0,"svg-racesteer",0),n&2&&Bh("compassHeading",e.currentHeading())("tackTrue",e.tackTrue())("polarSpeedRatio",e.polarSpeedRatio())("trueWindAngle",e.trueWindAngle())("trueWindSpeed",e.trueWindSpeed())("targetAngle",e.targetAngle())("optimalWindAngle",e.optimalWindAngle())("targetVMG",e.targetVMG())("VMG",e.VMG())("sailSetupEnabled",e.sailSetupEnabledValue())("driftEnabled",e.driftEnabledValue())("driftFlow",e.driftFlow())("driftSet",e.driftSet())("waypointEnabled",e.waypointEnabledValue())("waypointAngle",e.waypointAngle())("vmgToWaypoint",e.vmgToWaypoint()??0)("trueWindMinHistoric",e.trueWindMinHistoric())("trueWindMidHistoric",e.trueWindMidHistoric())("trueWindMaxHistoric",e.trueWindMaxHistoric())("gradianColor",e.gradianColor());},dependencies:[J],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}svg-racesteer[_ngcontent-%COMP%]{width:100%;height:100%}"]})}return y})();export{yt as WidgetRacesteerComponent};
|
|
1
|
+
import {v,R,S}from'./chunk-CQNVyz8q.js';import {d1 as Hj,w,du as p,dv as rt$1,v as vt,D as Dt,F as Fa,dn as ge,J as JD,c as $h,B as Bh,$ as $j,ao as ue,dz as es,cn as wd,ci as dl,cp as Uh,cj as fl,T as TT,bD as HT,e as EE,d as ig,an as Hh,bp as gl,dA as UT,aA as gg,f as eg,K as Kw,aI as ms}from'./main-F7NMHHV4.js';var it=["rotatingDial"],at=["twaIndicator"],ot=["wptIndicator"],rt=["setIndicator"],st=["tackIndicator"],Q=([y,K],[t,n],[e,a])=>(Math.atan2(a-n,e-t)-Math.atan2(K-n,y-t)+3*Math.PI)%(2*Math.PI)-Math.PI,J=(()=>{class y{rotatingDial=$j.required("rotatingDial");twaIndicator=$j.required("twaIndicator");wptIndicator=$j.required("wptIndicator");setIndicator=$j.required("setIndicator");tackIndicator=$j.required("tackIndicator");compassHeading=Hj.required();tackTrue=Hj.required();polarSpeedRatio=Hj.required();trueWindAngle=Hj.required();trueWindSpeed=Hj.required();targetAngle=Hj.required();optimalWindAngle=Hj.required();targetVMG=Hj.required();VMG=Hj.required();sailSetupEnabled=Hj.required();driftEnabled=Hj.required();driftSet=Hj();driftFlow=Hj();waypointEnabled=Hj.required();waypointAngle=Hj();vmgToWaypoint=Hj();trueWindMinHistoric=Hj();trueWindMidHistoric=Hj();trueWindMaxHistoric=Hj();gradianColor=Hj.required();compass={oldValue:0,newValue:0};twa={oldValue:0,newValue:0};wpt={oldValue:0,newValue:0};tack={oldValue:0,newValue:0};set={oldValue:0,newValue:0};compassInitialized=false;twaInitialized=false;wptInitialized=false;tackInitialized=false;setInitialized=false;laylinesInitialized=false;headingValue=vt("--");windSectorsInitialized=false;trueWindHeading=0;nextTargetDirection=Dt(()=>{let t=this.compassHeading(),n=this.tackTrue();return t==null||n==null?0:this.unsignedAngleDelta(t,n)});trueWindSpeedDisplay=Dt(()=>{let t=this.trueWindSpeed();return t==null?"--":t.toFixed(1)});windAnglePerformanceRatioColor=Dt(()=>{let t=this.optimalWindAngle(),n=this.targetAngle(),e=this.gradianColor().start,a=this.gradianColor().stop;if(t==null||n==null)return e;let i=1-Math.abs(t-n)/180;return this.interpolateColor(e,a,i)});targetVMGOffset=Dt(()=>{let t=this.VMG(),n=this.targetVMG();return t==null||n==null?"--":(t-n).toFixed(1)});targetVMGOffsetRatioColor=Dt(()=>{let t=this.VMG(),n=this.targetVMG(),e=this.gradianColor().start,a=this.gradianColor().stop;if(t==null||n==null)return e;let i=t/n;return this.interpolateColor(e,a,i)});waypointActive=vt(false);flow=Dt(()=>{let t=this.driftFlow();return t==null?"--":t.toFixed(1)});portLaylinePrev=0;stbdLaylinePrev=0;portLaylineAnimId=null;stbdLaylineAnimId=null;CENTER_X=600;CENTER_Y=620;RADIUS=540;ANIMATION_DURATION=1e3;laylinePortPath=vt(`M ${this.CENTER_X},${this.CENTER_Y} ${this.CENTER_X},${this.CENTER_Y}`);laylineStbdPath=vt(`M ${this.CENTER_X},${this.CENTER_Y} ${this.CENTER_X},${this.CENTER_Y}`);portSectorPrev={min:0,mid:0,max:0};stbdSectorPrev={min:0,mid:0,max:0};portSectorAnimId=null;stbdSectorAnimId=null;portWindSectorPath=vt("");stbdWindSectorPath=vt("");speedLineTipY=vt(620);speedTipPoints=vt("600,570 580,600 620,600");speedRatioColor=vt("");speedLinePrevRatio=0;speedLinePrevTipY=600;speedLineAnimId=null;speedLineInitialized=false;animationFrameIds=new WeakMap;ngZone=w(ue);setRotationImmediate(t,n){t.setAttribute("transform",`rotate(${n} 600 620)`);}constructor(){Fa(()=>{let t=this.waypointEnabled();ge(()=>{this.waypointActive.set(t);});}),Fa(()=>{let t=this.compassHeading(),n=Number.isFinite(t)?Math.round(t):null;n!=null&&ge(()=>{this.compassInitialized?(this.compass.oldValue=this.compass.newValue,this.compass.newValue=n):(this.compass.oldValue=n,this.compass.newValue=n,this.compassInitialized=true),this.headingValue.set(n.toString()),this.rotatingDial()?.nativeElement&&(this.compass.oldValue===this.compass.newValue?this.setRotationImmediate(this.rotatingDial().nativeElement,-this.compass.newValue):S(this.rotatingDial().nativeElement,-this.compass.oldValue,-this.compass.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,[600,620],this.ngZone),this.updateWindSectors());});}),Fa(()=>{let t=this.targetAngle(),n=Number.isFinite(t)?Math.round(t):null;n!=null&&ge(()=>{this.tackInitialized?(this.tack.oldValue=this.tack.newValue,this.tack.newValue=n):(this.tack.oldValue=n,this.tack.newValue=n,this.tackInitialized=true),this.tackIndicator()?.nativeElement&&(this.tack.oldValue===this.tack.newValue?this.setRotationImmediate(this.tackIndicator().nativeElement,this.tack.newValue):S(this.tackIndicator().nativeElement,this.tack.oldValue,this.tack.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,[600,620])),this.updateLaylines();});}),Fa(()=>{let t=this.waypointAngle();ge(()=>{if(!t){this.waypointActive.set(false);return}this.waypointEnabled()?this.waypointActive.set(true):this.waypointActive.set(false),this.wptInitialized?(this.wpt.oldValue=this.wpt.newValue,this.wpt.newValue=t):(this.wpt.oldValue=t,this.wpt.newValue=t,this.wptInitialized=true),this.wptIndicator()?.nativeElement&&(this.wpt.oldValue===this.wpt.newValue?this.setRotationImmediate(this.wptIndicator().nativeElement,this.wpt.newValue):S(this.wptIndicator().nativeElement,this.wpt.oldValue,this.wpt.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,[600,620]));});}),Fa(()=>{let t=this.trueWindAngle(),n=Number.isFinite(t)?Math.round(t):null,e=this.compassHeading(),a=Number.isFinite(e)?Math.round(e):null;n==null||a==null||ge(()=>{this.trueWindHeading=n;let i=this.addHeading(this.trueWindHeading,a*-1);this.twaInitialized?(this.twa.oldValue=this.twa.newValue,this.twa.newValue=i):(this.twa.oldValue=i,this.twa.newValue=i,this.twaInitialized=true),this.twaIndicator()?.nativeElement&&(this.twa.oldValue===this.twa.newValue?this.setRotationImmediate(this.twaIndicator().nativeElement,this.twa.newValue):S(this.twaIndicator().nativeElement,this.twa.oldValue,this.twa.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,[600,620],this.ngZone),this.updateLaylines());});}),Fa(()=>{let t=this.polarSpeedRatio(),n=Math.max(0,Math.min(1,t)),e=620,i=e-166,r=e-i*n;if(!this.speedLineInitialized){this.speedLineInitialized=true,this.speedLineTipY.set(r);let f=30,w=20,g=r-f;this.speedTipPoints.set(`600,${g} ${600-w},${r} ${600+w},${r}`),this.speedRatioColor.set(this.interpolateColor(this.gradianColor().start,this.gradianColor().stop,n)),this.speedLinePrevTipY=r,this.speedLinePrevRatio=n;return}this.animateSpeedLine(this.speedLinePrevTipY,r),this.speedLinePrevTipY=r,this.speedLinePrevRatio=n;}),Fa(()=>{let t=this.driftSet(),n=Number.isFinite(t)?Math.round(t):null;n!=null&&ge(()=>{this.setInitialized?(this.set.oldValue=this.set.newValue,this.set.newValue=n):(this.set.oldValue=n,this.set.newValue=n,this.setInitialized=true),this.setIndicator()?.nativeElement&&(this.set.oldValue===this.set.newValue?this.setRotationImmediate(this.setIndicator().nativeElement,this.set.newValue):S(this.setIndicator().nativeElement,this.set.oldValue,this.set.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,[600,620],this.ngZone));});});}updateLaylines(){if(!this.twaInitialized)return;let t=this.targetAngle(),n=Number.isFinite(t)?Math.round(t):null;if(n==null)return;n=n/2;let e=Number(this.twa.newValue),a=e-n,i=e+n;if(!this.laylinesInitialized){this.laylinesInitialized=true,this.setLaylinePath(a,true),this.setLaylinePath(i,false),this.portLaylinePrev=a,this.stbdLaylinePrev=i;return}this.animateLayline(this.portLaylinePrev,a,true),this.portLaylinePrev=a,this.animateLayline(this.stbdLaylinePrev,i,false),this.stbdLaylinePrev=i;}animateLayline(t,n,e){e&&this.portLaylineAnimId&&cancelAnimationFrame(this.portLaylineAnimId),!e&&this.stbdLaylineAnimId&&cancelAnimationFrame(this.stbdLaylineAnimId);let a=()=>{e?this.portLaylineAnimId=null:this.stbdLaylineAnimId=null;},i=v(t,n,this.ANIMATION_DURATION,r=>this.setLaylinePath(r,e),a,this.ngZone);e?this.portLaylineAnimId=i:this.stbdLaylineAnimId=i;}updateWindSectors(){if(this.trueWindMinHistoric()==null||this.trueWindMidHistoric()==null||this.trueWindMaxHistoric()==null)return;let t={min:this.trueWindMinHistoric(),mid:this.trueWindMidHistoric(),max:this.trueWindMaxHistoric()},n={min:this.trueWindMinHistoric(),mid:this.trueWindMidHistoric(),max:this.trueWindMaxHistoric()};if(!this.windSectorsInitialized){this.portSectorPrev=t,this.stbdSectorPrev=n,this.windSectorsInitialized=true,this.animateWindSector(t,t,true),this.animateWindSector(n,n,false);return}this.animateWindSector(this.portSectorPrev,t,true),this.animateWindSector(this.stbdSectorPrev,n,false),this.portSectorPrev=t,this.stbdSectorPrev=n;}animateWindSector(t,n,e){e&&this.portSectorAnimId&&cancelAnimationFrame(this.portSectorAnimId),!e&&this.stbdSectorAnimId&&cancelAnimationFrame(this.stbdSectorAnimId);let a=()=>{e?this.portSectorAnimId=null:this.stbdSectorAnimId=null;},i=R(t,n,this.ANIMATION_DURATION,r=>this.setWindSectorPath(r,e),a,this.ngZone);e?this.portSectorAnimId=i:this.stbdSectorAnimId=i;}animateSpeedLine(t,n){this.speedLineAnimId&&(cancelAnimationFrame(this.speedLineAnimId),this.speedLineAnimId=null);let e=1e3,a=performance.now(),i=this.speedLinePrevRatio,r=(600-n)/454,f=g=>g<.5?4*g*g*g:1-Math.pow(-2*g+2,3)/2,w=g=>{let E=g-a,x=Math.min(E/e,1),I=f(x),S=(H,et)=>H+(et-H)*I,v=S(t,n),R=S(i,r);this.speedLineTipY.set(v);let D=30,P=20,tt=v-D;this.speedTipPoints.set(`600,${tt} ${600-P},${v} ${600+P},${v}`),this.speedRatioColor.set(this.interpolateColor(this.gradianColor().start,this.gradianColor().stop,R)),x<1?this.speedLineAnimId=requestAnimationFrame(w):this.speedLineAnimId=null;};requestAnimationFrame(w);}interpolateColor(t,n,e){e=Math.max(0,Math.min(1,e));function a(v){v=v.replace("#",""),v.length===3&&(v=v.split("").map(D=>D+D).join(""));let R=parseInt(v,16);return [R>>16&255,R>>8&255,R&255]}let[i,r,f]=a(t),[w,g,E]=a(n),x=Math.round(i+(w-i)*e),I=Math.round(r+(g-r)*e),S=Math.round(f+(E-f)*e);return `rgb(${x},${I},${S})`}addHeading(t=0,n=0){return ((t+n)%360+360)%360}unsignedAngleDelta(t,n){let e=(t-n+540)%360-180;return Math.abs(e)}normalizeAngle(t){return (t%360+360)%360}setLaylinePath(t,n){let e=this.normalizeAngle(t)*Math.PI/180,a=Math.floor(this.RADIUS*Math.sin(e)+this.CENTER_X),i=Math.floor(this.RADIUS*Math.cos(e)*-1+this.CENTER_Y);n?this.laylinePortPath.set(`M ${this.CENTER_X},${this.CENTER_Y} L ${a},${i}`):this.laylineStbdPath.set(`M ${this.CENTER_X},${this.CENTER_Y} L ${a},${i}`);}setWindSectorPath(t,n){let e=this.addHeading(this.addHeading(t.min,Number(this.compass.newValue)*-1),this.targetAngle()/2*(n?-1:1)),a=this.addHeading(this.addHeading(t.mid,Number(this.compass.newValue)*-1),this.targetAngle()/2*(n?-1:1)),i=this.addHeading(this.addHeading(t.max,Number(this.compass.newValue)*-1),this.targetAngle()/2*(n?-1:1)),r=this.RADIUS*Math.sin(e*Math.PI/180)+this.CENTER_X,f=this.RADIUS*Math.cos(e*Math.PI/180)*-1+this.CENTER_Y,w=this.RADIUS*Math.sin(a*Math.PI/180)+this.CENTER_X,g=this.RADIUS*Math.cos(a*Math.PI/180)*-1+this.CENTER_Y,E=this.RADIUS*Math.sin(i*Math.PI/180)+this.CENTER_X,x=this.RADIUS*Math.cos(i*Math.PI/180)*-1+this.CENTER_Y,I=Math.abs(Q([r,f],[w,g],[E,x]))>Math.PI/2?0:1,S=Q([E,x],[r,f],[w,g])>0?0:1,v=`M ${this.CENTER_X},${this.CENTER_Y} L ${r},${f} A ${this.RADIUS},${this.RADIUS} 0 ${I} ${S} ${E},${x} z`;n?this.portWindSectorPath.set(v):this.stbdWindSectorPath.set(v);}ngOnDestroy(){this.portLaylineAnimId&&cancelAnimationFrame(this.portLaylineAnimId),this.stbdLaylineAnimId&&cancelAnimationFrame(this.stbdLaylineAnimId),this.portLaylineAnimId=null,this.stbdLaylineAnimId=null,this.portSectorAnimId&&cancelAnimationFrame(this.portSectorAnimId),this.stbdSectorAnimId&&cancelAnimationFrame(this.stbdSectorAnimId),this.portSectorAnimId=null,this.stbdSectorAnimId=null;let t=[this.rotatingDial(),this.twaIndicator(),this.wptIndicator(),this.setIndicator()];for(let n of t){let e=n?.nativeElement;if(!e)continue;let a=this.animationFrameIds.get(e);a&&cancelAnimationFrame(a),this.animationFrameIds.delete(e);}}static \u0275fac=function(n){return new(n||y)};static \u0275cmp=JD({type:y,selectors:[["svg-racesteer"]],viewQuery:function(n,e){n&1&&eg(e.rotatingDial,it,5)(e.twaIndicator,at,5)(e.wptIndicator,ot,5)(e.setIndicator,rt,5)(e.tackIndicator,st,5),n&2&&Kw(5);},inputs:{compassHeading:[1,"compassHeading"],tackTrue:[1,"tackTrue"],polarSpeedRatio:[1,"polarSpeedRatio"],trueWindAngle:[1,"trueWindAngle"],trueWindSpeed:[1,"trueWindSpeed"],targetAngle:[1,"targetAngle"],optimalWindAngle:[1,"optimalWindAngle"],targetVMG:[1,"targetVMG"],VMG:[1,"VMG"],sailSetupEnabled:[1,"sailSetupEnabled"],driftEnabled:[1,"driftEnabled"],driftSet:[1,"driftSet"],driftFlow:[1,"driftFlow"],waypointEnabled:[1,"waypointEnabled"],waypointAngle:[1,"waypointAngle"],vmgToWaypoint:[1,"vmgToWaypoint"],trueWindMinHistoric:[1,"trueWindMinHistoric"],trueWindMidHistoric:[1,"trueWindMidHistoric"],trueWindMaxHistoric:[1,"trueWindMaxHistoric"],gradianColor:[1,"gradianColor"]},decls:174,vars:39,consts:[["rotatingDial",""],["tackIndicator",""],["twaIndicator",""],["wptIndicator",""],["setIndicator",""],["viewBox","0 0 1200 1200"],["id","defs1"],["id","linearGradient18"],["offset","0",1,"boat",2,"stop-opacity","0.71372495"],["offset","1",1,"boat",2,"stop-opacity","0"],["id","linearGradient16"],["id","linearGradient13"],["offset","0.41176471",1,"drift-arrow",2,"stop-opacity","1"],["offset","1",1,"drift-arrow",2,"stop-opacity","0"],["id","swatch4"],["offset","0","id","stop4",2,"stop-color","#000000","stop-opacity","1"],["clipPathUnits","userSpaceOnUse","id","clipPath16"],["id","ellipse16","cx","311.24539","cy","-1516.3778","rx","194.27342","ry","181.83022",2,"display","inline","fill","#9a9300","fill-opacity","1","stroke","none","stroke-width","55","stroke-miterlimit","0","stroke-dasharray","none","stroke-opacity","1"],["id","linearGradient14",0,"xlink","href","#linearGradient13","x1","453.48047","y1","583.62891","x2","638.11328","y2","583.62891","gradientUnits","userSpaceOnUse","gradientTransform","matrix(0.00723393,1.2388183,-1.0538241,0.00615367,1211.2051,-79.73465)"],["id","linearGradient17",0,"xlink","href","#linearGradient16","x1","-502.04896","y1","439.35551","x2","-316","y2","439.35551","gradientUnits","userSpaceOnUse","gradientTransform","translate(0,49.000266)"],["id","linearGradient19",0,"xlink","href","#linearGradient18","x1","495.83999","y1","439.35551","x2","681.88895","y2","439.35551","gradientUnits","userSpaceOnUse","gradientTransform","translate(0,49.000266)"],["id","layerBackground","transform","translate(100,100)",2,"display","inline"],["id","boat",2,"display","inline"],["id","portSide","d","M 498.75049,208.89453 A 267.09439,554.67401 0 0 1 678.45974,767.81661",2,"fill","none","fill-opacity","1","stroke","url(#linearGradient19)","stroke-width","5.821","stroke-linecap","round","stroke-miterlimit","0","stroke-dasharray","none"],["id","starboardSide","d","m -499.13846,208.89453 a 267.09439,554.67401 0 0 1 179.70925,558.92208","transform","scale(-1,1)",2,"fill","none","fill-opacity","1","stroke","url(#linearGradient17)","stroke-width","5.821","stroke-linecap","round","stroke-miterlimit","0","stroke-dasharray","none"],["id","layerCompass"],["id","fixedDial"],["id","dialBackground","cx","600","cy","620","r","516",1,"fixed-dial-background",2,"display","inline","stroke-width","46"],["id","barsAndText","transform","scale(1.1) translate(45,64)",1,"contrast-stroke",2,"display","inline"],["d","m 416.35095,19.837399 2.78142,15.77426","id","path199",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 334.23173,41.658798 5.47834,15.051615","id","path200",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 260.27336,81.806174 12.55151,21.739856","id","path37",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 187.44581,126.00035 10.29591,12.2702","id","path197",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 127.23918,185.95785 12.27019,10.29591","id","path198",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 83.252815,257.66724 21.739865,12.55151","id","path166",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 42.289518,332.39273 15.05162,5.47835","id","path195",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 20.127799,414.42077 15.774251,2.78142","id","path196",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 17.879075,498.47765 H 42.982096","id","path167",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 19.776759,583.71187 15.77426,-2.78142","id","path193",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 41.598167,665.8311 15.051615,-5.47834","id","path194",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 81.668963,739.71246 103.40883,727.16095","id","path168",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 125.93981,812.61701 12.2702,-10.29591","id","path191",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 185.89732,872.82365 10.29591,-12.27019","id","path192",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 257.53004,916.73298 12.55151,-21.73985","id","path169",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 332.33219,957.7732 5.47835,-15.05162","id","path189",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 414.36024,979.93493 2.78142,-15.77425","id","path190",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 498.34046,982.10672 V 957.0037","id","path170",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 583.65133,980.28596 580.86991,964.5117","id","path187",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 665.77057,958.46456 -5.47834,-15.05161","id","path188",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 739.57526,918.31683 727.02375,896.57698","id","path171",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 812.55647,874.12301 802.26056,861.85282","id","path185",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 872.76312,814.16551 860.49293,803.8696","id","path186",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 916.59579,742.45577 894.85593,729.90426","id","path172",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 957.71266,667.73063 -15.05161,-5.47834","id","path183",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 979.8744,585.70259 -15.77425,-2.78142","id","path184",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 981.96954,501.64535 -25.10304,10e-6","id","path173",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 980.22542,416.41149 -15.77425,2.78143","id","path181",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 958.40403,334.29226 -15.05161,5.47834","id","path182",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 918.17964,260.41055 -21.73986,12.55151","id","path174",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 874.06247,187.50636 -12.27018,10.29591","id","path180",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 817.34594,130.05494 -10.40259,12.17987","id","path179",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 742.31857,83.390025 729.76706,105.12988","id","path175",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 667.6701,42.350172 -5.47834,15.051615","id","path178",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 585.64206,20.188432 -2.78142,15.77425","id","path176",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 501.50816,18.016286 V 43.119307","id","path177",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],[0,"xml","space","preserve","x","181.91386","y","284.25186","id","text3","transform","rotate(-30)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan3","x","181.91386","y","284.25186",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-183.53558","y","283.74811","id","text14","transform","rotate(-60)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan14","x","-183.53558","y","283.74811",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-499.70761","y","100.95312","id","text15","transform","rotate(-90)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan15","x","-499.70761","y","100.95312",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-681.66119","y","-216.36243","id","text16","transform","rotate(-120)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["x","-681.66119","y","-216.36243","id","tspan25",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-681.06616","y","-581.71271","id","text17","transform","rotate(-150)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan17","x","-681.06616","y","-581.71271",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-498.3313","y","-897.40875","id","text18","transform","scale(-1)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan18","x","-498.3313","y","-897.40875",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-184.41313","y","-1080.8452","id","text19","transform","rotate(150)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan19","x","-184.41313","y","-1080.8452",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","181.57225","y","-1080.8853","id","text20","transform","rotate(120)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan20","x","181.57225","y","-1080.8853",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","501.42661","y","-896.93701","id","text21","transform","rotate(90)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan21","x","501.42661","y","-896.93701",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","682.35815","y","-579.63336","id","text22","transform","rotate(60)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan22","x","682.35815","y","-579.63336",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","681.81525","y","-214.27321","id","text23","transform","rotate(30)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan23","x","681.81525","y","-214.27321",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","500.15503","y","101.96342","id","text24",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan24","x","500.15503","y","101.96342",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],["id","LayerWindShift"],["id","portSectorShift",1,"wind-sector-port",2,"fill-opacity","0.4","stroke","none"],["id","StbdSectorShift",1,"wind-sector-stbd",2,"fill-opacity","0.4","stroke","none"],["id","LayerLayline"],["id","PortLayline",1,"portLayline"],["id","StbdLayline",1,"stbdLayline"],["id","layerCounter"],["id","tackCounter"],[0,"xml","space","preserve","x","1062","y","80",1,"tack-label"],["x","936","y","95","width","252","height","100","rx","20",1,"tack-box"],[0,"xml","space","preserve","x","1072","y","175","id","text42",1,"tack-value"],[2,"font-weight","normal"],["id","windVmgCounter"],[0,"xml","space","preserve","x","600","y","780",1,"tack-label"],[0,"xml","space","preserve","x","610","y","850",1,"wind-vmg-value"],[2,"font-weight","normal","font-size","30px"],[0,"xml","space","preserve","x","610","y","890",1,"wind-vmg-offset"],["id","waypointCounter"],[0,"xml","space","preserve","x","1062","y","1030",1,"tack-label"],["x","936","y","1045","width","252","height","140","rx","20",1,"waypoint-box"],[0,"xml","space","preserve","x","1060","y","1100",1,"waypoint-value"],[1,"tack-label"],[0,"xml","space","preserve","x","1060","y","1165",1,"waypoint-value"],["id","layerIndicators",2,"display","inline"],["d","m 606.20767,217.99458 a 6.3888631,8.8250643 0 0 1 -6.38888,8.82508 6.3888631,8.8250643 0 0 1 -6.38888,-8.82508 6.3888631,8.8250643 0 0 1 6.38888,-8.82509 6.3888631,8.8250643 0 0 1 6.38888,8.82509 z M 576.25472,75.811298 593.47058,58.265068 c 3.6173,-3.6867571 9.44162,-3.6867571 13.05892,0 l 17.21586,17.546106 c 3.6173,3.686743 3.6173,9.622786 0,13.309544 l -17.21595,17.54623 c -3.61721,3.686757 -9.44153,3.686757 -13.05893,0 L 576.25472,89.120841 c -3.6174,-3.686743 -3.6174,-9.622924 0,-13.309543 z m 17.20533,-16.510116 h 12.77766 V 218.26408 h -12.77766 z",1,"tack-angle"],["d","m 451.77021,5.469207 42.08541,-33.202814 a 12.555638,12.555638 0.26446337 0 1 15.64423,0.07221 l 42.20046,33.930296 a 15.557694,15.557694 71.53185 0 1 5.32954,15.957795 L 504.17034,230.15629 a 2.5373267,2.5373267 0.02614114 0 1 -4.91879,-0.002 L 446.37431,21.357036 a 15.416336,15.416336 108.75875 0 1 5.3959,-15.887829 z","transform","matrix(0.60410307,0,0,0.70555435,296.91787,121.152867)",1,"true-wind",2,"display","inline","stroke","none","stroke-width","5.8876","stroke-miterlimit","0"],[0,"xml","space","preserve","x","600","y","210","id","text10",1,"card-color",2,"font-weight","bold","font-size","60px","font-family","Roboto","text-align","center","text-anchor","middle","display","inline","stroke","none"],["cx","600","cy","225","rx","23","ry","23",1,"next-waypoint"],["id","layerDirectionSpeed"],["id","directionLine","x1","600","y1","620","x2","600","y2","110",1,"direction-line"],["id","speedLine","x1","600","y1","620","x2","600",1,"speed-line"],["id","speedTip",1,"speed-line"],["id","layerDrift","transform","translate(0, 20)"],["id","setArrow","d","m 663.93337,580.60403 -64.4901,-94.9673 -63.37665,95.71396 58.48691,-30.71299 0.77713,133.08346 c 0.0992,16.99331 2.52916,30.65913 5.44822,30.64209 2.91911,-0.0171 5.18926,-13.71032 5.09001,-30.70362 l -0.77782,-133.20444 z",1,"drift-arrow",2,"fill","url(#linearGradient14)"],["id","text11",0,"xml","space","preserve","x","599.78842","y","623.55145",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-stretch","normal","font-size","66.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none"],["id","layerHeading"],["id","rect1","width","310","height","117","x","445","y","10","rx","20",1,"heading-box",2,"stroke-width","5","stroke-opacity","0.5"],["x","600","y","110",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","120px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","5","stroke-linejoin","bevel","stroke-miterlimit","0","stroke-dasharray","none","stroke-opacity","1"],[2,"font-weight","normal","font-size","60px"]],template:function(n,e){n&1&&(wd(),dl(0,"svg",5)(1,"defs",6)(2,"linearGradient",7),Uh(3,"stop",8)(4,"stop",9),fl(),dl(5,"linearGradient",10),Uh(6,"stop",8)(7,"stop",9),fl(),dl(8,"linearGradient",11),Uh(9,"stop",12)(10,"stop",13),fl(),dl(11,"linearGradient",14),Uh(12,"stop",15),fl(),dl(13,"clipPath",16),Uh(14,"ellipse",17),fl(),Uh(15,"linearGradient",18)(16,"linearGradient",19)(17,"linearGradient",20),fl(),dl(18,"g",21)(19,"g",22),Uh(20,"path",23)(21,"path",24),fl()(),dl(22,"g",25)(23,"g",26),Uh(24,"circle",27),fl(),dl(25,"g",null,0)(27,"g",28),Uh(28,"path",29)(29,"path",30)(30,"path",31)(31,"path",32)(32,"path",33)(33,"path",34)(34,"path",35)(35,"path",36)(36,"path",37)(37,"path",38)(38,"path",39)(39,"path",40)(40,"path",41)(41,"path",42)(42,"path",43)(43,"path",44)(44,"path",45)(45,"path",46)(46,"path",47)(47,"path",48)(48,"path",49)(49,"path",50)(50,"path",51)(51,"path",52)(52,"path",53)(53,"path",54)(54,"path",55)(55,"path",56)(56,"path",57)(57,"path",58)(58,"path",59)(59,"path",60)(60,"path",61)(61,"path",62)(62,"path",63)(63,"path",64),dl(64,"text",65)(65,"tspan",66),TT(66,"330"),fl()(),dl(67,"text",67)(68,"tspan",68),TT(69,"300"),fl()(),dl(70,"text",69)(71,"tspan",70),TT(72,"W"),fl()(),dl(73,"text",71)(74,"tspan",72),TT(75,"240"),fl()(),dl(76,"text",73)(77,"tspan",74),TT(78,"210"),fl()(),dl(79,"text",75)(80,"tspan",76),TT(81,"S"),fl()(),dl(82,"text",77)(83,"tspan",78),TT(84,"150"),fl()(),dl(85,"text",79)(86,"tspan",80),TT(87,"120"),fl()(),dl(88,"text",81)(89,"tspan",82),TT(90,"E"),fl()(),dl(91,"text",83)(92,"tspan",84),TT(93,"60"),fl()(),dl(94,"text",85)(95,"tspan",86),TT(96,"30"),fl()(),dl(97,"text",87)(98,"tspan",88),TT(99,"N"),fl()()()()(),dl(100,"g",89),Uh(101,"path",90)(102,"path",91),fl(),dl(103,"g",92),Uh(104,"path",93)(105,"path",94),fl(),dl(106,"g",95)(107,"g",96)(108,"text",97),TT(109,"Tack/Gybe"),fl(),Uh(110,"rect",98),dl(111,"text",99),TT(112),HT(113,"number"),dl(114,"tspan",100),TT(115,"\xB0"),fl()()(),dl(116,"g",101)(117,"text",102),TT(118,"Wind VMG"),fl(),dl(119,"text",103),TT(120),dl(121,"tspan",104),TT(122," kts"),fl()(),dl(123,"text",105),TT(124),dl(125,"tspan",104),TT(126," kts"),fl()()(),dl(127,"g",106)(128,"text",107),TT(129,"Waypoint"),fl(),Uh(130,"rect",108),dl(131,"text",109)(132,"tspan",110),TT(133,"VMG: "),fl(),TT(134),dl(135,"tspan",104),TT(136," kts"),fl()(),dl(137,"text",111)(138,"tspan",110),TT(139,"HDG: "),fl(),TT(140),dl(141,"tspan",100),TT(142,"\xB0"),dl(143,"tspan",104),TT(144,"T"),fl()()()()(),dl(145,"g",112)(146,"g",null,1),Uh(148,"path",113),fl(),dl(149,"g",null,2),Uh(151,"path",114),dl(152,"text",115),TT(153,"T"),fl()(),dl(154,"g",null,3),Uh(156,"ellipse",116),fl()(),dl(157,"g",117),Uh(158,"line",118)(159,"line",119)(160,"polygon",120),fl(),dl(161,"g",121),Uh(162,"path",122,4),dl(164,"text",123),TT(165),fl()(),dl(166,"g",124),Uh(167,"rect",125),dl(168,"text",126),TT(169),dl(170,"tspan",100),TT(171,"\xB0"),dl(172,"tspan",127),TT(173,"T"),fl()()()()()),n&2&&(EE(101),ig("display",e.portWindSectorPath()!="none"?"inline":"none"),Hh("d",e.portWindSectorPath()),EE(),ig("display",e.stbdWindSectorPath()!="none"?"inline":"none"),Hh("d",e.stbdWindSectorPath()),EE(2),ig("display",e.trueWindAngle()!=null?"inline":"none"),Hh("d",e.laylinePortPath()),EE(),ig("display",e.trueWindAngle()!=null?"inline":"none"),Hh("d",e.laylineStbdPath()),EE(7),gl("",UT(113,36,e.nextTargetDirection(),"1.0-0")," "),EE(7),ig("fill",e.targetVMGOffsetRatioColor()),EE(),gg(e.targetVMG()),EE(3),ig("fill",e.targetVMGOffsetRatioColor()),EE(),gg(e.targetVMGOffset()),EE(10),gg(e.vmgToWaypoint()),EE(6),gg(e.waypointAngle()),EE(11),ig("fill",e.windAnglePerformanceRatioColor()),EE(3),Hh("display",e.waypointActive()?"inline":"none"),EE(5),ig("stroke",e.speedRatioColor()),Hh("y2",e.speedLineTipY()),EE(),ig("fill",e.speedRatioColor())("stroke",e.speedRatioColor()),Hh("points",e.speedTipPoints()),EE(),ig("display",e.driftEnabled()?"inline":"none"),EE(4),gg(e.flow()),EE(4),gl(" ",e.headingValue()));},dependencies:[es],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}svg[_ngcontent-%COMP%]{position:absolute;height:100%;width:100%;left:0;top:0}.fixed-dial-background[_ngcontent-%COMP%]{fill:none;stroke:var(--kip-grey-color)}.rotating-dial-Backplate[_ngcontent-%COMP%]{fill:var(--mat-sys-background)}.starboard[_ngcontent-%COMP%]{stroke:var(--kip-starboard-color)}.port[_ngcontent-%COMP%]{stroke:var(--kip-port-color)}.heading-box[_ngcontent-%COMP%]{stroke:var(--kip-grey-color);fill:var(--kip-widget-card-background-color)}.boat[_ngcontent-%COMP%]{stop-color:var(--kip-grey-color)!important}.contrast-text[_ngcontent-%COMP%]{fill:var(--kip-contrast-color)}.contrast-stroke[_ngcontent-%COMP%]{stroke:var(--kip-contrast-color)}.card-color[_ngcontent-%COMP%]{fill:var(--kip-widget-card-background-color)}.tack-box[_ngcontent-%COMP%]{stroke:var(--kip-yellow-dim-color);fill:var(--kip-widget-card-background-color);stroke-width:5}.tack-value[_ngcontent-%COMP%]{fill:var(--kip-contrast-color);font-family:Roboto;font-size:80px;font-style:normal;font-weight:700;text-align:center;text-anchor:middle;stroke:none}.tack-label[_ngcontent-%COMP%]{fill:var(--kip-contrast-dim-color);font-family:Roboto;font-size:35px;font-style:normal;font-weight:700;text-align:center;text-anchor:middle;stroke:none}.waypoint-box[_ngcontent-%COMP%]{stroke:var(--kip-orange-dim-color);fill:var(--kip-widget-card-background-color);stroke-width:5}.waypoint-value[_ngcontent-%COMP%]{fill:var(--kip-contrast-color);font-family:Roboto;font-size:50px;font-style:normal;font-weight:700;text-align:center;text-anchor:middle;stroke:none}.wind-vmg-value[_ngcontent-%COMP%]{fill:var(--kip-contrast-color);font-family:Roboto;font-size:80px;font-style:normal;font-weight:700;text-align:center;text-anchor:middle;stroke:none}.wind-vmg-offset[_ngcontent-%COMP%]{fill:var(--kip-contrast-color);font-family:Roboto;font-size:35px;font-style:normal;font-weight:700;text-align:center;text-anchor:middle;stroke:none}.true-wind[_ngcontent-%COMP%]{fill:var(--kip-blue-color)}.app-wind-label[_ngcontent-%COMP%]{fill:var(--kip-orange-dim-color)}.tack-angle[_ngcontent-%COMP%]{fill:var(--kip-yellow-color);stroke-width:15;stroke-linecap:square}.next-waypoint[_ngcontent-%COMP%]{stroke:var(--kip-orange-color);stroke-width:20;fill:none}.next-waypoint-bar[_ngcontent-%COMP%]{stroke:var(--kip-grey-color)}.portLayline[_ngcontent-%COMP%]{stroke:var(--kip-port-color);stroke-width:5}.stbdLayline[_ngcontent-%COMP%]{stroke:var(--kip-starboard-color);stroke-width:5}.direction-line[_ngcontent-%COMP%]{stroke:var(--kip-contrast-color);stroke-width:5}.speed-line[_ngcontent-%COMP%]{stroke:var(--kip-blue-color);stroke-width:10;fill:var(--kip-blue-color)}.wind-sector-port[_ngcontent-%COMP%]{fill:var(--kip-port-color)}.wind-sector-stbd[_ngcontent-%COMP%]{fill:var(--kip-starboard-color)}.drift-arrow[_ngcontent-%COMP%]{stop-color:var(--kip-blue-color);stroke:var(--kip-widget-card-background-color);stroke-width:3}"]})}return y})();var yt=(()=>{class y{id=Hj.required();type=Hj.required();theme=Hj.required();static DEFAULT_CONFIG={supportAutomaticHistoricalSeries:false,filterSelfPaths:true,paths:{headingPath:{description:"True Heading",path:"self.navigation.headingTrue",source:"default",pathType:"number",isPathConfigurable:true,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},tackTrue:{description:"True Tack",path:"self.performance.tackTrue",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:true,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},polarSpeedRatio:{description:"Polar Speed Ratio",path:"self.performance.polarSpeedRatio",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"ratio",sampleTime:500},targetAngle:{description:"Target Angle",path:"self.performance.targetAngle",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"deg",sampleTime:500},optimalWindAngle:{description:"Optimal Wind Angle",path:"self.performance.optimumWindAngle",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"deg",sampleTime:500},targetVMG:{description:"Target Velocity Made Good",path:"self.performance.targetVelocityMadeGood",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"knots",sampleTime:500},VMG:{description:"Velocity Made Good",path:"self.performance.velocityMadeGood",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"knots",sampleTime:500},appWindAngle:{description:"Apparent Wind Angle",path:"self.environment.wind.angleApparent",source:"default",pathType:"number",isPathConfigurable:true,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},appWindSpeed:{description:"Apparent Wind Speed",path:"self.environment.wind.speedApparent",source:"default",pathType:"number",isPathConfigurable:true,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:500},trueWindAngle:{description:"True Wind Angle",path:"self.environment.wind.angleTrueWater",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},trueWindSpeed:{description:"True Wind Speed",path:"self.environment.wind.speedTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:500},courseOverGround:{description:"True Course Over Ground",path:"self.navigation.courseOverGroundTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},nextWaypointBearing:{description:"Next Waypoint True Bearing",path:"self.navigation.course.calcValues.bearingTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},vmgToWaypoint:{description:"Velocity Made Good to Waypoint",path:"self.performance.velocityMadeGoodToWaypoint",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,convertUnitTo:"knots",sampleTime:500},set:{description:"True Drift Set",path:"self.environment.current.setTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:500},drift:{description:"Drift Speed Impact",path:"self.environment.current.drift",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:500}},windSectorEnable:true,windSectorWindowSeconds:5,laylineEnable:true,laylineAngle:40,waypointEnable:true,courseOverGroundEnable:true,driftEnable:true,awsEnable:true,twsEnable:true,sailSetupEnable:false,enableTimeout:false,dataTimeout:5};runtime=w(p);streams=w(rt$1);currentHeading=vt(0);courseOverGroundAngle=vt(0);appWindAngle=vt(0);appWindSpeed=vt(0);appWindSpeedUnit=vt("knots");trueWindAngle=vt(0);trueWindSpeed=vt(0);trueWindSpeedUnit=vt("knots");driftFlow=vt(0);driftSet=vt(0);waypointAngle=vt(0);vmgToWaypoint=vt(null);tackTrue=vt(0);polarSpeedRatio=vt(0);targetAngle=vt(0);optimalWindAngle=vt(0);targetVMG=vt(0);VMG=vt(0);gradianColor=vt({start:"#3298ff",stop:"#15af00"});trueWindMinHistoric=vt(0);trueWindMidHistoric=vt(0);trueWindMaxHistoric=vt(0);normalizedConfig=Dt(()=>this.runtime.options()??y.DEFAULT_CONFIG);sailSetupEnabledValue=Dt(()=>this.normalizedConfig().sailSetupEnable??false);driftEnabledValue=Dt(()=>this.normalizedConfig().driftEnable??false);waypointEnabledValue=Dt(()=>this.normalizedConfig().waypointEnable??false);windSectorSub=null;historicalWindDirection=[];constructor(){Fa(()=>{let t=this.normalizedConfig();!t||!t.paths?.headingPath?.path||ge(()=>this.streams.observe("headingPath",a=>{let i=a?.data?.value;this.currentHeading.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.courseOverGroundEnable||!t.paths?.courseOverGround?.path||ge(()=>this.streams.observe("courseOverGround",a=>{let i=a?.data?.value;this.courseOverGroundAngle.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.driftEnable||!t.paths?.drift?.path||ge(()=>this.streams.observe("drift",a=>{let i=a?.data?.value;this.driftFlow.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.driftEnable||!t.paths?.set?.path||ge(()=>this.streams.observe("set",a=>{let i=a?.data?.value,r=i??0;this.driftSet.set(this.addHeading(-this.currentHeading(),r));}));}),Fa(()=>{let t=this.runtime.options();!t||!t.waypointEnable||!t.paths?.nextWaypointBearing?.path||ge(()=>this.streams.observe("nextWaypointBearing",a=>{let i=a?.data?.value;if(i==null){this.waypointAngle.set(0);return}let r=i<0?360+i:i,f=this.addHeading(-this.currentHeading(),r);this.waypointAngle.set(Math.round(f));}));}),Fa(()=>{let t=this.runtime.options();!t||!t.awsEnable||!t.paths?.appWindAngle?.path||ge(()=>this.streams.observe("appWindAngle",a=>{let i=a?.data?.value,r=i??0;if(r=r<0?360+r:r,this.appWindAngle.set(r),t.windSectorEnable){let f=this.currentHeading(),w=this.addHeading(f,i??0);this.addHistoricalWindDirection(w,t.windSectorWindowSeconds??5);}}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.tackTrue?.path||ge(()=>this.streams.observe("tackTrue",a=>{let i=a?.data?.value;this.tackTrue.set(i==null?0:Math.round(i));}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.polarSpeedRatio?.path||ge(()=>this.streams.observe("polarSpeedRatio",a=>{let i=a?.data?.value;this.polarSpeedRatio.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.targetAngle?.path||ge(()=>this.streams.observe("targetAngle",a=>{let i=a?.data?.value;this.targetAngle.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.optimalWindAngle?.path||ge(()=>this.streams.observe("optimalWindAngle",a=>{let i=a?.data?.value;this.optimalWindAngle.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.targetVMG?.path||ge(()=>this.streams.observe("targetVMG",a=>{let i=a?.data?.value,r=i==null?0:Math.round(i*10)/10;this.targetVMG.set(r);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.VMG?.path||ge(()=>this.streams.observe("VMG",a=>{let i=a?.data?.value,r=i==null?0:Math.round(i*10)/10;this.VMG.set(r);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.paths?.vmgToWaypoint?.path||ge(()=>this.streams.observe("vmgToWaypoint",a=>{let i=a?.data?.value,r=i==null?null:Math.round(i*10)/10;this.vmgToWaypoint.set(r);}));}),Fa(()=>{let t=this.theme();if(!t)return;let n=t?.blue??"#3298ff",e=t?.green??"#15af00";ge(()=>this.gradianColor.set({start:n,stop:e}));}),Fa(()=>{let t=this.runtime.options();!t||!t.awsEnable||!t.paths?.appWindSpeed?.path||ge(()=>this.streams.observe("appWindSpeed",a=>{let i=a?.data?.value;this.appWindSpeed.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();!t||!t.twsEnable||!t.paths?.trueWindSpeed?.path||ge(()=>this.streams.observe("trueWindSpeed",a=>{let i=a?.data?.value;this.trueWindSpeed.set(i??0);}));}),Fa(()=>{let t=this.runtime.options();if(!t||!t.twsEnable)return;let e=t.paths?.trueWindAngle?.path;e&&ge(()=>this.streams.observe("trueWindAngle",a=>{let i=a?.data?.value,r=i??0;if(e.includes("angleTrueWater")||e.includes("angleTrueGround")){let f=this.currentHeading();r=this.addHeading(f,r);}else r=r<0?360+r:r;this.trueWindAngle.set(r);}));}),Fa(()=>{let t=this.normalizedConfig();t&&(t.windSectorEnable?this.windSectorSub||ge(()=>this.windSectorSub=ms(500).subscribe(()=>this.historicalCleanup(t.windSectorWindowSeconds??5))):(this.windSectorSub?.unsubscribe(),this.windSectorSub=null));});}sectorArc=Dt(()=>{let t=this.trueWindMinHistoric(),n=this.trueWindMidHistoric(),e=this.trueWindMaxHistoric();return {min:t,mid:n,max:e}});addHistoricalWindDirection(t,n){this.historicalWindDirection.push({timestamp:Date.now(),windDirection:t});let e=this.arcForAngles(this.historicalWindDirection.map(a=>a.windDirection));this.trueWindMinHistoric.set(e.min),this.trueWindMaxHistoric.set(e.max),this.trueWindMidHistoric.set(e.mid),this.historicalCleanup(n);}arcForAngles(t){return !t||t.length===0?{min:0,max:0,mid:0}:t.slice(1).reduce((e,a)=>{let i=a;for(;i<e.min-180;)i+=360;for(;i>e.max+180;)i-=360;return e.min=Math.min(e.min,i),e.max=Math.max(e.max,i),e.mid=(e.max-e.min)/2+e.min,e},{min:t[0],max:t[0],mid:t[0]})}historicalCleanup(t){let n=Date.now()-t*1e3;this.historicalWindDirection=this.historicalWindDirection.filter(e=>e.timestamp>=n);}addHeading(t,n){let e=(t+n)%360;return e<0&&(e+=360),e}ngOnDestroy(){this.windSectorSub?.unsubscribe(),this.windSectorSub=null;}static \u0275fac=function(n){return new(n||y)};static \u0275cmp=JD({type:y,selectors:[["widget-racesteer"]],inputs:{id:[1,"id"],type:[1,"type"],theme:[1,"theme"]},decls:1,vars:20,consts:[[3,"compassHeading","tackTrue","polarSpeedRatio","trueWindAngle","trueWindSpeed","targetAngle","optimalWindAngle","targetVMG","VMG","sailSetupEnabled","driftEnabled","driftFlow","driftSet","waypointEnabled","waypointAngle","vmgToWaypoint","trueWindMinHistoric","trueWindMidHistoric","trueWindMaxHistoric","gradianColor"]],template:function(n,e){n&1&&$h(0,"svg-racesteer",0),n&2&&Bh("compassHeading",e.currentHeading())("tackTrue",e.tackTrue())("polarSpeedRatio",e.polarSpeedRatio())("trueWindAngle",e.trueWindAngle())("trueWindSpeed",e.trueWindSpeed())("targetAngle",e.targetAngle())("optimalWindAngle",e.optimalWindAngle())("targetVMG",e.targetVMG())("VMG",e.VMG())("sailSetupEnabled",e.sailSetupEnabledValue())("driftEnabled",e.driftEnabledValue())("driftFlow",e.driftFlow())("driftSet",e.driftSet())("waypointEnabled",e.waypointEnabledValue())("waypointAngle",e.waypointAngle())("vmgToWaypoint",e.vmgToWaypoint()??0)("trueWindMinHistoric",e.trueWindMinHistoric())("trueWindMidHistoric",e.trueWindMidHistoric())("trueWindMaxHistoric",e.trueWindMaxHistoric())("gradianColor",e.gradianColor());},dependencies:[J],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}svg-racesteer[_ngcontent-%COMP%]{width:100%;height:100%}"]})}return y})();export{yt as WidgetRacesteerComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {d1 as Hj,w,du as p,dF as l,aZ as R,aY as xe,$ as $j,v as vt,F as Fa,dn as ge,a_ as Gp,dx as n$1,J as JD,O as Op,bh as xp,y as yt,b as wt,P as Pi,c as $h,k as Qh,cn as wd,T as TT,u as ul,cV as Td,_ as _w,e as EE,M as Mw,f as eg,K as Kw,h as Fw,l as ud,g as qw,m as dd}from'./main-
|
|
1
|
+
import {d1 as Hj,w,du as p,dF as l,aZ as R,aY as xe,$ as $j,v as vt,F as Fa,dn as ge,a_ as Gp,dx as n$1,J as JD,O as Op,bh as xp,y as yt,b as wt,P as Pi,c as $h,k as Qh,cn as wd,T as TT,u as ul,cV as Td,_ as _w,e as EE,M as Mw,f as eg,K as Kw,h as Fw,l as ud,g as qw,m as dd}from'./main-F7NMHHV4.js';var D=["canvasMainRef"];function B(c,L){if(c&1){let e=Fw();Pi(0,"button",14),Qh("click",function(){ud(e);let i=qw();return dd(i.startTimer())}),TT(1," Start "),ul();}}function G(c,L){if(c&1){let e=Fw();Pi(0,"button",15),Qh("click",function(){ud(e);let i=qw();return dd(i.pauseTimer())}),TT(1," Pause "),ul();}}var et=(()=>{class c{id=Hj.required();type=Hj.required();theme=Hj.required();runtime=w(p);timers=w(l);canvas=w(R);destroyRef=w(xe);timerSub;static DEFAULT_CONFIG={timerLength:-300,color:"contrast",playBeeps:true};canvasRef=$j.required("canvasMainRef");canvasElement=null;ctx=null;cssWidth=0;cssHeight=0;maxTextWidth=0;maxTextHeight=0;dataValue=null;zoneState=null;currentValueLength=0;valueFontSize=1;flashOn=false;flashInterval=null;timerRunning=vt(false);timeName="race";warnColor="";textColor="";constructor(){Fa(()=>{let e=this.runtime.options(),t=this.theme();!e||!t||ge(()=>{this.applyColors(e.color??"contrast",t),this.draw();});}),Fa(()=>{let e=this.runtime.options();e&&this.ensureTimer(e.timerLength??-300);});}ngAfterViewInit(){this.canvasElement=this.canvasRef().nativeElement,this.ctx=this.canvasElement.getContext("2d"),this.canvas.registerCanvas(this.canvasElement,{autoRelease:true,onResize:(e,t)=>{this.cssWidth=e,this.cssHeight=t,this.maxTextWidth=Math.floor(this.cssWidth*.95),this.maxTextHeight=Math.floor(this.cssHeight),this.draw();}}),this.cssHeight=Math.round(this.canvasElement.getBoundingClientRect().height),this.cssWidth=Math.round(this.canvasElement.getBoundingClientRect().width),this.maxTextWidth=Math.floor(this.cssWidth*.95),this.maxTextHeight=Math.floor(this.cssHeight),this.draw();}ensureTimer(e){this.timerSub?.unsubscribe();let t=this.timers.createTimer(this.timeName,e,1e3);this.timerSub=t.pipe(Gp(this.destroyRef)).subscribe(i=>{this.dataValue=i,this.timerRunning.set(this.timers.isRunning(this.timeName)),i>0?this.zoneState=n$1.Normal:i===0?(this.zoneState=n$1.Normal,this.beep(500,2e3)):i>-10?(this.zoneState=n$1.Alarm,this.beep(450,100)):i>=-29?this.zoneState=n$1.Warn:i===-30?(this.zoneState=n$1.Warn,this.beep(400,200)):this.zoneState=n$1.Normal,this.zoneState===n$1.Alarm&&!this.flashInterval?this.flashInterval=setInterval(()=>{this.flashOn=!this.flashOn,this.draw();},500):this.zoneState!==n$1.Alarm&&this.flashInterval&&(clearInterval(this.flashInterval),this.flashInterval=null,this.flashOn=false),this.draw();});}startTimer(){this.timers.startTimer(this.timeName),this.timerRunning.set(true);}resetTimer(){this.timers.deleteTimer(this.timeName),this.timerRunning.set(false);let e=this.runtime.options();this.ensureTimer(e?.timerLength??-300),this.draw();}pauseTimer(){this.timers.stopTimer(this.timeName),this.timerRunning.set(false);}roundToMin(){if(this.dataValue==null)return;let t=(this.dataValue<0?-this.dataValue:this.dataValue)%60;this.dataValue>0?this.timers.setTimer(this.timeName,this.dataValue+(t>30?60-t:-t)):this.timers.setTimer(this.timeName,this.dataValue+(t>30?-(60-t):t));}addTime(e){this.dataValue!=null&&this.timers.setTimer(this.timeName,this.dataValue+e);}removeTime(e){this.dataValue!=null&&this.timers.setTimer(this.timeName,this.dataValue-e);}applyColors(e,t){switch(e){case "contrast":this.textColor=t.contrast,this.warnColor=t.zoneAlarm;break;case "blue":this.textColor=t.blue,this.warnColor=t.zoneAlarm;break;case "green":this.textColor=t.green,this.warnColor=t.zoneAlarm;break;case "pink":this.textColor=t.pink,this.warnColor=t.zoneAlarm;break;case "orange":this.textColor=t.orange,this.warnColor=t.zoneAlarm;break;case "purple":this.textColor=t.purple,this.warnColor=t.zoneAlarm;break;case "grey":this.textColor=t.grey,this.warnColor=t.zoneAlarm;break;case "yellow":this.textColor=t.yellow,this.warnColor=t.zoneAlarm;break;default:this.textColor=t.contrast,this.warnColor=t.zoneAlarm;break}}beep(e=440,t=100){if(this.runtime.options()?.playBeeps){let i=new(window.AudioContext||window.webkitAudioContext),a=i.createOscillator(),p=i.createGain();a.connect(p),p.connect(i.destination),a.type="sine",a.frequency.value=e,p.gain.value=.1,a.start(),a.stop(i.currentTime+t/1e3);}}ngOnDestroy(){try{this.canvasElement&&this.canvas.unregisterCanvas(this.canvasElement);}catch(e){}this.flashInterval&&(clearInterval(this.flashInterval),this.flashInterval=null);}draw(){if(!this.ctx)return;this.canvas.clearCanvas(this.ctx,this.cssWidth,this.cssHeight);let e;if(this.dataValue!=null){let t=Math.abs(this.dataValue),i=Math.floor(t/60),a=Math.floor(t%60);e=`${i}:${("0"+a).slice(-2)}`,this.dataValue<0&&(e=`-${e}`);}else e="--";switch(this.currentValueLength!==e.length&&(this.currentValueLength=e.length,this.valueFontSize=this.canvas.calculateOptimalFontSize(this.ctx,e,this.maxTextWidth,this.maxTextHeight,"bold")),this.zoneState){case n$1.Alarm:this.flashOn?this.ctx.fillStyle=this.textColor:(this.canvas.drawRectangle(this.ctx,0,0,this.cssWidth,this.cssHeight,this.warnColor),this.ctx.fillStyle=this.textColor);break;case n$1.Warn:this.ctx.fillStyle=this.warnColor;break;default:this.ctx.fillStyle=this.textColor;}this.canvas.drawText(this.ctx,e,this.cssWidth/2,this.cssHeight/2,this.maxTextWidth,this.maxTextHeight,"bold",this.ctx.fillStyle,"center","middle");}static \u0275fac=function(t){return new(t||c)};static \u0275cmp=JD({type:c,selectors:[["widget-racetimer"]],viewQuery:function(t,i){t&1&&eg(i.canvasRef,D,5),t&2&&Kw();},inputs:{id:[1,"id"],type:[1,"type"],theme:[1,"theme"]},decls:35,vars:2,consts:[["canvasMainRef",""],[1,"racetimer-wrapper"],[1,"racetimer-canvas"],[1,"timerBarContainer"],[1,"timer-button-groups","timer-adjusters-group"],["mat-flat-button","",1,"button","other-small-button",3,"click"],[1,"buttons-svg-icon"],["width","100%","height","100%","viewBox","0 0 100 14","preserveAspectRatio","xMidYMid meet",1,"svg-content"],[0,"xml","space","preserve","x","50","y","11"],["mat-flat-button","",1,"button","main-button",3,"click"],[1,"timer-button-groups","timer-countdown-group"],["mat-flat-button","",1,"timer-start-button","button-color-red"],["mat-flat-button","",1,"timer-start-button"],["mat-flat-button","",1,"timer-synch-button","button-color-red",3,"click"],["mat-flat-button","",1,"timer-start-button","button-color-red",3,"click"],["mat-flat-button","",1,"timer-start-button",3,"click"]],template:function(t,i){t&1&&(Pi(0,"div",1),$h(1,"canvas",2,0),Pi(3,"div",3)(4,"div",4)(5,"button",5),Qh("click",function(){return i.removeTime(5)}),Pi(6,"mat-icon",6),wd(),Pi(7,"svg",7)(8,"text",8),TT(9,"-5s"),ul()()()(),Td(),Pi(10,"button",5),Qh("click",function(){return i.removeTime(60)}),Pi(11,"mat-icon",6),wd(),Pi(12,"svg",7)(13,"text",8),TT(14,"-60s"),ul()()()(),Td(),Pi(15,"button",9),Qh("click",function(){return i.resetTimer()}),Pi(16,"mat-icon",6),wd(),Pi(17,"svg",7)(18,"text",8),TT(19,"Reset"),ul()()()(),Td(),Pi(20,"button",5),Qh("click",function(){return i.addTime(60)}),Pi(21,"mat-icon",6),wd(),Pi(22,"svg",7)(23,"text",8),TT(24,"+60s"),ul()()()(),Td(),Pi(25,"button",5),Qh("click",function(){return i.addTime(5)}),Pi(26,"mat-icon",6),wd(),Pi(27,"svg",7)(28,"text",8),TT(29,"+5s"),ul()()()()(),Td(),Pi(30,"div",10),_w(31,B,2,0,"button",11),_w(32,G,2,0,"button",12),Pi(33,"button",13),Qh("click",function(){return i.roundToMin()}),TT(34," Synch "),ul()()()()),t&2&&(EE(31),Mw(i.timerRunning()?-1:31),EE(),Mw(i.timerRunning()?32:-1));},dependencies:[Op,xp,yt,wt],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}.racetimer-wrapper[_ngcontent-%COMP%]{width:100%;height:100%;min-height:1px}.racetimer-canvas[_ngcontent-%COMP%]{width:100%!important;height:100%!important;display:block}.button-color-red[_ngcontent-%COMP%]{--mat-button-filled-container-color: var(--kip-port-color);--mat-button-filled-label-text-color: var(--kip-contrast-color)}.timerBarContainer[_ngcontent-%COMP%]{position:absolute;left:0;bottom:0;height:23%;width:100%;padding:0 10px 10px;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-end;align-items:stretch;gap:10px}.timer-button-groups[_ngcontent-%COMP%]{min-width:247px;max-width:100%;--mat-button-filled-container-shape: 5px}.timer-adjusters-group[_ngcontent-%COMP%]{flex:1 1 auto;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:10px;height:100%}.timer-countdown-group[_ngcontent-%COMP%]{flex-grow:1;flex-shrink:1}.timer-synch-button[_ngcontent-%COMP%]{width:calc(50% - 5px);margin-left:5px}.timer-start-button[_ngcontent-%COMP%]{width:calc(50% - 5px);margin-right:5px}.buttons-svg-icon[_ngcontent-%COMP%]{width:100%;height:100%;margin:0;padding:0}.button[_ngcontent-%COMP%]{min-width:0px;height:100%;width:100%;border-radius:12px;align-items:center;justify-content:center;cursor:pointer;--mat-button-filled-container-height: 100%;--mat-button-filled-horizontal-padding: 0px;--mat-button-filled-icon-spacing: 0px}.main-button[_ngcontent-%COMP%]{flex:1 1 auto;--mat-button-filled-container-color: var(--kip-port-color);--mat-button-filled-label-text-color: var(--kip-contrast-color)}.svg-content[_ngcontent-%COMP%]{width:100%;height:100%;padding:0;margin:0}.svg-content[_ngcontent-%COMP%] text[_ngcontent-%COMP%]{font-family:Roboto;font-size:15px;font-weight:700;text-align:center;text-anchor:middle;font-style:normal;font-variant:normal;font-stretch:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke:none}"]})}return c})();export{et as WidgetRaceTimerComponent};
|