@idmwx/idmui-gl3 4.5.7 → 4.5.8

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/dist/index.js CHANGED
@@ -5108,6 +5108,7 @@ const Va = {
5108
5108
  handleClick(a) {
5109
5109
  a.originalEvent.stopPropagation();
5110
5110
  const e = a.originalEvent.target.className;
5111
+ debugger;
5111
5112
  if (e.indexOf("close") > -1)
5112
5113
  this.showMeteo = !1;
5113
5114
  else if (e === "more")
@@ -5446,7 +5447,7 @@ function zi(a, e, t, r, i, o) {
5446
5447
  class: "more",
5447
5448
  onClick: e[3] || (e[3] = _e((...C) => a.handleMore && a.handleMore(...C), ["prevent"]))
5448
5449
  }, e[22] || (e[22] = [
5449
- s("span", null, "More >>", -1)
5450
+ s("span", { class: "more" }, "More >>", -1)
5450
5451
  ]))) : O("", !0)
5451
5452
  ])
5452
5453
  ], 512), [
@@ -5454,7 +5455,7 @@ function zi(a, e, t, r, i, o) {
5454
5455
  ])
5455
5456
  ]);
5456
5457
  }
5457
- const Ti = /* @__PURE__ */ I(Va, [["render", zi], ["__scopeId", "data-v-3f751a72"]]), Ii = {
5458
+ const Ti = /* @__PURE__ */ I(Va, [["render", zi], ["__scopeId", "data-v-9eac667c"]]), Ii = {
5458
5459
  name: "IdmWarZone",
5459
5460
  props: {
5460
5461
  map: {
@@ -201,4 +201,4 @@
201
201
  <path
202
202
  d="M420.66666667 959.17a16.08 16.08 0 0 1-15.91-13.49A15.89 15.89 0 0 1 415.50666667 928c1.49-0.55 38.88-14.76 72.79-65.52A354.55 354.55 0 0 1 162.66666667 509.17a450.14 450.14 0 0 1 450.5-450.5 16.07 16.07 0 0 1 15.91 13.48 15.88 15.88 0 0 1-10.75 17.66c-1.58 0.58-39.13 14.9-73.07 65.95A354.22 354.22 0 0 1 871.66666667 509.17a16 16 0 0 1-0.52 4.05A450.14 450.14 0 0 1 420.66666667 959.17zM554.80666667 94.72C351.57666667 123.2 194.66666667 298.21 194.66666667 509.17c0 177.08 144.06 321.74 321.13 322.48a16 16 0 0 1 14.07 23.49c-16.11 30.42-34.27 52.37-50.85 68C682.25666667 894.63 839.16666667 719.63 839.16666667 508.67a15.94 15.94 0 0 1 0.47-3.86C837.30666667 329.33 693.82666667 187 517.80666667 186.67A16 16 0 0 1 503.66666667 163.21c16.21-30.69 34.47-52.79 51.14-68.49z"
203
203
  fill="#ffffff" p-id="18386"></path>
204
- </svg>`,te=document.createElement("div");te.className="hurricane-hourly-marker",te.innerHTML=`<div class="${P.geometry.coordinates[1]>=0?"center north":"center south"}">${ne}</div>`;const le=new j.Marker(te).setLngLat(P.geometry.coordinates).addTo(this.map);if(this.interpolateMarkers.push(le),(G=P.properties)!=null&&G.showCircle){const ae={radius:100,coordinates:P.geometry.coordinates},re={radius:200,coordinates:P.geometry.coordinates},ie={radius:500,coordinates:P.geometry.coordinates};(J=this.circleSourceData)==null||J.features.push(v.circle(ae.coordinates,ae.radius,{steps:100,units:"kilometers",properties:{type:"tropicalCircle"}})),(X=this.circleSourceData)==null||X.features.push(v.circle(re.coordinates,re.radius,{steps:100,units:"kilometers",properties:{type:"tropicalCircle"}})),(q=this.circleSourceData)==null||q.features.push(v.circle(ie.coordinates,ie.radius,{steps:100,units:"kilometers",properties:{type:"tropicalCircle"}}))}(U=(Y=this.map)==null?void 0:Y.getSource(this.circleSource))==null||U.setData(this.circleSourceData)}}else(Q=this.map)!=null&&Q.getSource(this.interpolateSource)&&((z=this.map)==null||z.getSource(this.interpolateSource).setData(this.empty))},handleClick(r){var s,n,l,h,p,c,d,u;const e=r.features[0],a=(n=(s=this.tropicals)==null?void 0:s.data)==null?void 0:n.features.filter(m=>{var b;return m.geometry.type==="LineString"&&m.properties.type==="forecast"&&m.properties.name===((b=e==null?void 0:e.properties)==null?void 0:b.name)});a.sort((m,b)=>{var f,y,L,g;return((f=m.properties)==null?void 0:f.model)==="cma"?-1:((y=m.properties)==null?void 0:y.model)==="jma"?((L=b.properties)==null?void 0:L.model)==="cma"?1:-1:m.properties.model==="ecmwf"?["jma","cma"].includes((g=b.properties)==null?void 0:g.model)?1:-1:0});const o=(h=(l=this.tropicals)==null?void 0:l.data)==null?void 0:h.features.filter(m=>{var b;return m.geometry.type==="LineString"&&m.properties.type==="history"&&m.properties.name===((b=e==null?void 0:e.properties)==null?void 0:b.name)});this.activeTropicals={name:(p=e==null?void 0:e.properties)==null?void 0:p.name,forecasts:a.map(m=>m.properties),history:(c=o[0])==null?void 0:c.properties,showCircle:(u=(d=a[0])==null?void 0:d.properties)==null?void 0:u.showCircle},this.showTropicals=!0;const i=document.getElementById("active-tropical");this.activeTropicalsMarker?this.activeTropicalsMarker.setLngLat([r.lngLat.lng,r.lngLat.lat]):this.activeTropicalsMarker=new j.Marker(i).setLngLat([r.lngLat.lng,r.lngLat.lat]).setOffset([220,0]).addTo(this.map)},handleForecastToggle(r){var o,i,s,n,l,h;r.disabled=!r.disabled;const e=`${r.name}-${r.model}`,a=(i=(o=this.map)==null?void 0:o.getSource(this.source)._data)==null?void 0:i.features;a.forEach(p=>{p.properties.category===e&&(p.properties.disabled=r.disabled)}),this.interpolateData.forEach(p=>{p.properties.category===e&&(p.properties.disabled=r.disabled)}),(n=(s=this.map)==null?void 0:s.getSource(this.source))==null||n.setData(v.featureCollection(a)),(h=(l=this.map)==null?void 0:l.getSource(this.clusterSource))==null||h.setData(v.featureCollection(a)),this.handleDateChange()},handleStrikeProbability(r){this.$emit("tropicalProbability",r)},handleToggleCircles(r){var e,a;r.showCircle=!r.showCircle,(a=(e=this.tropicals.data)==null?void 0:e.features)==null||a.forEach(o=>{o.properties.name===r.name&&(o.properties.showCircle=r.showCircle)}),this.handleRender()},handleDrawCircle(){var r,e;(r=this.map)!=null&&r.getSource(this.circleSource)?(e=this.map)==null||e.getSource(this.circleSource).setData(this.circleSourceData):(this.map.addSource(this.circleSource,{type:"geojson",data:this.circleSourceData}),this.map.addLayer({id:this.circleLayer,type:"line",source:this.circleSource,filter:["all",["==","$type","Polygon"],["==","type","tropicalCircle"]],paint:{"line-color":"#fff","line-width":2,"line-opacity":1,"line-dasharray":[1,1]}}))},handleComputePolygons(r){const e=[];for(const a of r){const o=a.properties.wind,i={ne:o.r7ne>=0?o.r7ne:void 0,se:o.r7se>=0?o.r7se:void 0,sw:o.r7sw>=0?o.r7sw:void 0,nw:o.r7nw>=0?o.r7nw:void 0},s=this.handleComputeArc(a.geometry.coordinates,i,{...a.properties,level:7});e.push(s);const n={ne:o.r10ne>=0?o.r10ne:void 0,se:o.r10se>=0?o.r10se:void 0,sw:o.r10sw>=0?o.r10sw:void 0,nw:o.r10nw>=0?o.r10nw:void 0},l=this.handleComputeArc(a.geometry.coordinates,n,{...a.properties,level:10});e.push(l)}return e},handleComputeArc(r,e,a){var s;const o=[];for(const n in e){const l=e[n]??0;let h;switch(n){case"ne":h=v.lineArc(r,l*1.852,0,90,{steps:l>0?64:1});break;case"se":h=v.lineArc(r,l*1.852,90,180,{steps:l>0?64:1});break;case"sw":h=v.lineArc(r,l*1.852,180,270,{steps:l>0?64:1});break;case"nw":h=v.lineArc(r,l*1.852,270,360,{steps:l>0?64:1});break}o.push(...(s=h==null?void 0:h.geometry)==null?void 0:s.coordinates)}const i=v.lineString(o);return v.lineToPolygon(i,{properties:a})}}},Ft={id:"active-tropical",class:"active-tropical"},jt={class:"header-box"},$t={class:"main"},Ht={key:0},Ut={class:"sub"},Zt={id:"meteoBox",class:"main-box"},Gt={class:"content"},Jt={class:"row"},Xt={class:"col col-left",style:{"justify-content":"flex-start"}},qt={class:"col col-right",style:{"justify-content":"flex-start"}},Yt={class:"row"},Qt={class:"col col-24",style:{"justify-content":"flex-start"}},Kt={class:"forecast-models"},ea=["onClick"],ta={class:"more"};function aa(r,e,a,o,i,s){var n,l,h,p,c,d,u,m,b,f,y,L,g,x,C;return t.withDirectives((t.openBlock(),t.createElementBlock("div",Ft,[t.createElementVNode("div",jt,[t.createElementVNode("div",{class:"iconfont close-btn",onClick:e[0]||(e[0]=w=>i.showTropicals=!1)},""),t.createElementVNode("div",$t,[(l=(n=i.activeTropicals)==null?void 0:n.history)!=null&&l.level?(t.openBlock(),t.createElementBlock("span",Ht,t.toDisplayString((p=(h=i.activeTropicals)==null?void 0:h.history)==null?void 0:p.level)+" , ",1)):t.createCommentVNode("",!0),t.createTextVNode(t.toDisplayString((c=i.activeTropicals)==null?void 0:c.name),1)]),t.createElementVNode("div",Ut," Last update: "+t.toDisplayString(s.computeTime(((u=(d=i.activeTropicals)==null?void 0:d.history)==null?void 0:u.updated)||((f=(b=(m=i.activeTropicals)==null?void 0:m.forecasts)==null?void 0:b.filter(w=>!w.disabled)[0])==null?void 0:f.date))),1)]),t.createElementVNode("div",Zt,[t.createElementVNode("div",Gt,[t.createElementVNode("div",Jt,[t.createElementVNode("div",Xt,[e[2]||(e[2]=t.createElementVNode("label",null,"Wind speed : ",-1)),t.createElementVNode("span",null,t.toDisplayString(((L=(y=i.activeTropicals)==null?void 0:y.history)==null?void 0:L.kts)||"-")+"[kts]",1)]),t.createElementVNode("div",qt,[e[3]||(e[3]=t.createElementVNode("label",null,"Pressure : ",-1)),t.createElementVNode("span",null,t.toDisplayString(((x=(g=i.activeTropicals)==null?void 0:g.history)==null?void 0:x.pressure)||"-")+"[hPa]",1)])]),t.createElementVNode("div",Yt,[t.createElementVNode("div",Qt,[e[4]||(e[4]=t.createElementVNode("label",{style:{width:"max-content"}},"Forecast Models : ",-1)),t.createElementVNode("div",Kt,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList((C=i.activeTropicals)==null?void 0:C.forecasts,(w,_)=>{var N,I,W,A;return t.openBlock(),t.createElementBlock("div",{key:_,class:t.normalizeClass(["model",w.disabled?"":"active",_>0&&_<((I=(N=i.activeTropicals)==null?void 0:N.forecasts)==null?void 0:I.length)-1&&((A=(W=i.activeTropicals)==null?void 0:W.forecasts)==null?void 0:A.length)>2?"center-child":""]),onClick:F=>s.handleForecastToggle(w)},[t.createElementVNode("span",{class:t.normalizeClass(w.model)},t.toDisplayString(w.model),3)],10,ea)}),128))])])]),e[5]||(e[5]=t.createStaticVNode('<div class="row" style="padding:0;height:1px;margin:10px 0;background:var(--idm-black-1);" data-v-726fd7f6></div><div class="row" style="padding:2px 10px;" data-v-726fd7f6><div class="legend" data-v-726fd7f6><div class="icon td" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>TD</div></div><div class="legend" data-v-726fd7f6><div class="icon ts" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>TS</div></div><div class="legend" data-v-726fd7f6><div class="icon sts" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>STS</div></div><div class="legend" data-v-726fd7f6><div class="icon ty" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>TY</div></div><div class="legend" data-v-726fd7f6><div class="icon sty" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>STY</div></div><div class="legend" data-v-726fd7f6><div class="icon supper-ty" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>Super TY</div></div></div><div class="row" style="padding:2px 10px;" data-v-726fd7f6><div class="legend" data-v-726fd7f6><div class="icon history" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>History</div></div><div class="legend" data-v-726fd7f6><div class="icon r7" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>35kts Radii</div></div><div class="legend" data-v-726fd7f6><div class="icon r10" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>50kts Radii</div></div></div>',3))]),t.createElementVNode("div",ta,[t.createElementVNode("div",{class:"button",onClick:e[1]||(e[1]=w=>s.handleStrikeProbability(i.activeTropicals))},"Strike Probability >>")])])],512)),[[t.vShow,i.showTropicals&&!r.$attrs.hideTropicalsLegend]])}const ce=E(Ot,[["render",aa],["__scopeId","data-v-726fd7f6"]]),bi="",ra={name:"IdmPrecip3h",props:{factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new H,etime:void 0,right:10}},watch:{"factor.version":{handler(){var r;(r=this.factor)!=null&&r.active?this.handleRender():this.handleClear()},deep:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{handleRender(){if(!this.viewport)setTimeout(()=>{this.handleRender()},500);else if(this.factor){const r=new Date().valueOf();let e=0,a=0;this.handleDraw(),a=new Date().valueOf()-(r+e),console.log("[precip3h] add elapsed: ",a,", total: ",e+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const r=[[0,"rgba(59, 126, 162, 0)"],[14/255,"rgba(84,170,230, 0)"],[15/255,"rgba(172, 210, 255, 0.8)"],[20/255,"rgba(51,202,248,0.8)"],[30/255,"rgba(3,248,103,0.8)"],[49/255,"rgba(14,201,3,0.8)"],[57/255,"rgba(190,226,2,0.8)"],[73/255,"rgba(248,1,1,0.8)"],[82/255,"rgba(197,5,58,0.8)"],[1,"rgba(197,5,58,0.8)"]];this.rampColor=this.webgl.setup(this.context,r);const{program:e,aPositionBuffer:a}=this.webgl.bind(this.context,B.vertexSchema,B.fragmentSchema);this.program=e,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const r=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,r)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},ia={key:0};function oa(r,e,a,o,i,s){var n;return(n=a.factor)!=null&&n.active?(t.openBlock(),t.createElementBlock("div",ia,[t.createElementVNode("div",{class:"legend-bars flex-center",style:t.normalizeStyle([{position:"absolute"},{right:i.right+"px",bottom:a.bottom}])},e[0]||(e[0]=[t.createElementVNode("span",null,"mm",-1),t.createElementVNode("span",null,"1.5",-1),t.createElementVNode("span",null,"2",-1),t.createElementVNode("span",null,"3",-1),t.createElementVNode("span",null,"7",-1),t.createElementVNode("span",null,"10",-1),t.createElementVNode("span",null,"20",-1),t.createElementVNode("span",null,"30",-1)]),4)])):t.createCommentVNode("",!0)}const sa=E(ra,[["render",oa],["__scopeId","data-v-9708a7a3"]]),Li="",na={name:"IdmVisibility",props:{factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new H,etime:void 0}},watch:{"factor.version":{handler(){var r;(r=this.factor)!=null&&r.active?this.handleRender():this.handleClear()},deep:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{handleRender(){if(!this.viewport)setTimeout(()=>{this.handleRender()},500);else if(this.factor){const r=new Date().valueOf();let e=0,a=0;this.handleDraw(),a=new Date().valueOf()-(r+e),console.log("[visibility] add elapsed: ",a,", total: ",e+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const r=[[0,"rgba(189,50,160,0.8)"],[8/255,"rgba(208,56,56,0.8)"],[27/255,"rgba(190,226,2,0.8)"],[60/255,"rgba(3,236,118,0.8)"],[160/255,"rgba(172, 210,255,0.8)"],[161/255,"rgba(172, 210,255,0)"],[1,"rgba(144,144,144,0)"]];this.rampColor=this.webgl.setup(this.context,r);const{program:e,aPositionBuffer:a}=this.webgl.bind(this.context,B.vertexSchema,B.fragmentSchema);this.program=e,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const r=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,r)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},la={key:0};function ca(r,e,a,o,i,s){var n;return(n=a.factor)!=null&&n.active?(t.openBlock(),t.createElementBlock("div",la,[t.createElementVNode("div",{class:"legend-bars flex-center",style:t.normalizeStyle([{position:"absolute"},{right:r.right+"px",bottom:a.bottom}])},e[0]||(e[0]=[t.createElementVNode("span",null,"nm",-1),t.createElementVNode("span",null,"0",-1),t.createElementVNode("span",null,"0.5",-1),t.createElementVNode("span",null,"1.5",-1),t.createElementVNode("span",null,"3",-1),t.createElementVNode("span",null,"9",-1)]),4)])):t.createCommentVNode("",!0)}const ha=E(na,[["render",ca],["__scopeId","data-v-f7b2fb08"]]),wi="",da={name:"IdmWaterTemp",props:{factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new H,etime:void 0,right:10}},watch:{"factor.version":{handler(){var r;(r=this.factor)!=null&&r.active?this.handleRender():this.handleClear()},deep:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{handleRender(){if(!this.viewport)setTimeout(()=>{this.handleRender()},500);else if(this.factor){const r=new Date().valueOf();let e=0,a=0;this.handleDraw(),a=new Date().valueOf()-(r+e),console.log("[water-temp] add elapsed: ",a,", total: ",e+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const r=[[0,"rgba(95, 143, 197)"],[46/255,"rgba(95, 143, 197)"],[69/255,"rgb(80, 140, 62)"],[92/255,"rgb(121, 146, 28)"],[115/255,"rgb(171, 161, 14)"],[138/255,"rgb(223, 177, 69)"],[161/255,"rgb(243, 150, 6)"],[184/255,"rgb(236, 95, 21)"],[207/255,"rgb(190, 65, 18)"],[230/255,"rgb(138, 43, 10)"],[1,"rgb(138, 43, 10)"]];this.rampColor=this.webgl.setup(this.context,r);const{program:e,aPositionBuffer:a}=this.webgl.bind(this.context,B.vertexSchema,B.fragmentSchema);this.program=e,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const r=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,r)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},pa={key:0};function ma(r,e,a,o,i,s){var n;return(n=a.factor)!=null&&n.active?(t.openBlock(),t.createElementBlock("div",pa,[t.createElementVNode("div",{class:"legend-bars flex-center",style:t.normalizeStyle([{position:"absolute"},{right:i.right+"px",bottom:a.bottom}])},e[0]||(e[0]=[t.createElementVNode("span",null,"°C",-1),t.createElementVNode("span",null,"0",-1),t.createElementVNode("span",null,"10",-1),t.createElementVNode("span",null,"20",-1),t.createElementVNode("span",null,"30",-1),t.createElementVNode("span",null,"40",-1)]),4)])):t.createCommentVNode("",!0)}const ya=E(da,[["render",ma],["__scopeId","data-v-7521f582"]]),xi="",fa={name:"IdmTemp",props:{factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new H,etime:void 0,right:10}},watch:{"factor.version":{handler(){var r;(r=this.factor)!=null&&r.active?this.handleRender():this.handleClear()},deep:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{handleRender(){if(!this.viewport)setTimeout(()=>{this.handleRender()},500);else if(this.factor){const r=new Date().valueOf();let e=0,a=0;this.handleDraw(),a=new Date().valueOf()-(r+e),console.log("[water-temp] add elapsed: ",a,", total: ",e+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const r=[[0,"rgb(149, 137, 211)"],[100/255,"rgb(149, 137, 211)"],[110/255,"rgb(150, 209, 216)"],[120/255,"rgb(129, 204, 197)"],[130/255,"rgb(103, 180, 186)"],[140/255,"rgb(95, 143, 197)"],[150/255,"rgb(80, 140, 62)"],[160/255,"rgb(121, 146, 28)"],[170/255,"rgb(171, 161, 14)"],[180/255,"rgb(223, 177, 6)"],[190/255,"rgb(243, 150, 6)"],[200/255,"rgb(236, 95, 21)"],[210/255,"rgb(190, 65, 18)"],[220/255,"rgb(138, 43, 10)"],[1,"rgb(138, 43, 10)"]];this.rampColor=this.webgl.setup(this.context,r);const{program:e,aPositionBuffer:a}=this.webgl.bind(this.context,B.vertexSchema,B.fragmentSchema);this.program=e,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const r=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,r)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},ua={key:0};function ga(r,e,a,o,i,s){var n;return(n=a.factor)!=null&&n.active?(t.openBlock(),t.createElementBlock("div",ua,[t.createElementVNode("div",{class:"legend-bars flex-center",style:t.normalizeStyle([{position:"absolute"},{right:i.right+"px",bottom:a.bottom}])},e[0]||(e[0]=[t.createElementVNode("span",null,"°C",-1),t.createElementVNode("span",null,"-20",-1),t.createElementVNode("span",null,"-10",-1),t.createElementVNode("span",null,"0",-1),t.createElementVNode("span",null,"10",-1),t.createElementVNode("span",null,"20",-1),t.createElementVNode("span",null,"30",-1),t.createElementVNode("span",null,"40",-1)]),4)])):t.createCommentVNode("",!0)}const ba=E(fa,[["render",ga],["__scopeId","data-v-25daaa82"]]),_i="",La={name:"IdmArctic",props:{factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new H,etime:void 0,right:10}},watch:{"factor.version":{handler(){var r;(r=this.factor)!=null&&r.active?this.handleRender():this.handleClear()},deep:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{handleRender(){if(!this.viewport)setTimeout(()=>{this.handleRender()},500);else if(this.factor){const r=new Date().valueOf();let e=0,a=0;this.handleDraw(),a=new Date().valueOf()-(r+e),console.log("[water-temp] add elapsed: ",a,", total: ",e+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const r=[[0,"rgba(76, 165, 228, 0)"],[50/255,"rgba(76, 165, 228, 0)"],[51/255,"rgb(76, 165, 228)"],[102/255,"rgb(129, 204, 197)"],[153/255,"rgb(150, 209, 216)"],[204/255,"rgb(180, 209, 216)"],[1,"rgb(180, 209, 216)"]];this.rampColor=this.webgl.setup(this.context,r);const{program:e,aPositionBuffer:a}=this.webgl.bind(this.context,B.vertexSchema,B.fragmentSchema);this.program=e,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const r=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,r)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},wa={key:0};function xa(r,e,a,o,i,s){var n;return(n=a.factor)!=null&&n.active?(t.openBlock(),t.createElementBlock("div",wa,[t.createElementVNode("div",{class:"legend-bars flex-center",style:t.normalizeStyle([{position:"absolute"},{right:i.right+"px",bottom:a.bottom}])},e[0]||(e[0]=[t.createElementVNode("span",null,"m",-1),t.createElementVNode("span",null,"0",-1),t.createElementVNode("span",null,"0.5",-1),t.createElementVNode("span",null,"1",-1),t.createElementVNode("span",null,"1.5",-1),t.createElementVNode("span",null,"2",-1)]),4)])):t.createCommentVNode("",!0)}const _a=E(La,[["render",xa],["__scopeId","data-v-5bb73794"]]);/*! Element Plus Icons Vue v2.3.1 */var va=t.defineComponent({name:"LocationFilled",__name:"location-filled",setup(r){return(e,a)=>(t.openBlock(),t.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[t.createElementVNode("path",{fill:"currentColor",d:"M512 928c23.936 0 117.504-68.352 192.064-153.152C803.456 661.888 864 535.808 864 416c0-189.632-155.84-320-352-320S160 226.368 160 416c0 120.32 60.544 246.4 159.936 359.232C394.432 859.84 488 928 512 928m0-435.2a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 140.8a204.8 204.8 0 1 1 0-409.6 204.8 204.8 0 0 1 0 409.6"})]))}}),Ca=va;const vi="",ka={name:"IdmPoint",components:{LocationFilled:Ca},props:{token:{type:String},map:{type:Object},show:{type:Boolean},ts:{type:String},timeZone:{type:Number,default:8},meteo:{type:Object}},emits:["point","meteoMore"],data(){return{showMeteo:!1,meteoData:void 0,tableData:{},currentHourData:void 0,meteoMarker:void 0,helper:V.CompanyHelper,activeIndex:1}},watch:{show:{handler(){this.handleBind()},immediate:!0},map:{handler(){this.map&&this.show&&this.handleBind()}},ts:{handler(){this.showMeteo&&this.initTableData()}},meteo:{handler(){this.meteo?(this.showMeteo=!0,this.meteoData=this.meteo,this.initTableData(),this.handleRender()):this.showMeteo=!1}}},computed:{computeTime(){return function(r,e){const a=e??0;return r?`${D(r).utcOffset(a*60).format("MMM-DD,HHmm")}`:"-"}},computeHourL(){return function(r,e){const a=e??0;return r?`${D(r).utcOffset(a).format("HH")}`:"-"}},computeHourZ(){return function(r){return r?`${D(r).utc().format("HH")}Z`:"-"}},computeWeek(){return function(r){return r?`${D(r).format("dddd")}`:"-"}},computeMMMDD(){return function(r){return r?`${D(r).format("MMM-DD")}`:"-"}},computeTimeZone(){return`(UTC ${this.timeZone<0?this.timeZone:"+"+this.timeZone})`},computeLat(){return function(r,e=4){return k.LngLatHelper.lat2pretty(r,e).pretty}},computeLng(){return function(r,e=4){return k.LngLatHelper.lng2pretty(r,e).pretty}},roundPrecision(){return function(r,e=4){return isNaN(r)?"-":k.LngLatHelper.roundPrecision(r,e)}}},mounted(){},methods:{initTableData(){var r,e,a,o,i,s,n,l,h,p,c,d,u,m,b,f,y,L,g,x,C,w,_,N,I,W,A,F,G,J,X,q,Y;this.currentHourData=(r=de.Meteo2Assist.pickHourly(this.meteoData,this.ts?D(this.ts):D()))==null?void 0:r[0],this.tableData={hours:[],utcHours:[],weatherUrls:[],temp:[],precipProbability:[],precip1h:[],visibility:[],humidity:[],windSpeed:[],windDir:[],windGust:[],sigwaveHeight:[],sigwaveDir:[],windwaveHeight:[],windwaveDir:[],windwavePeriod:[],swellHeight:[],swellDir:[],swellPeriod:[],currentSpeed:[],currentDir:[]};for(let U=0;U<8;U++){const Q=D(this.ts).clone().utc().add(3*U,"h").format();this.tableData.hours.push(Q);const z=((e=de.Meteo2Assist.pickHourly(this.meteoData,Q))==null?void 0:e[0])||{};this.tableData.weatherUrls.push((a=z.weather)==null?void 0:a.url),this.tableData.temp.push(this.roundPrecision((o=z.weather)==null?void 0:o.temp,0)),this.tableData.precipProbability.push(this.roundPrecision((s=(i=z.weather)==null?void 0:i.precip)==null?void 0:s.probability,0)),this.tableData.precip1h.push(this.roundPrecision((l=(n=z.weather)==null?void 0:n.precip)==null?void 0:l.sum,0)),this.tableData.visibility.push(this.roundPrecision((h=z.weather)==null?void 0:h.visibility,0)),this.tableData.windSpeed.push(this.roundPrecision((c=(p=z.weather)==null?void 0:p.wind)==null?void 0:c.kts,1)),this.tableData.windDir.push((u=(d=z.weather)==null?void 0:d.wind)==null?void 0:u.angle),this.tableData.windGust.push(this.roundPrecision((b=(m=z.weather)==null?void 0:m.wind)==null?void 0:b.gusts,1)),this.tableData.sigwaveHeight.push(this.roundPrecision((y=(f=z.wave)==null?void 0:f.sig)==null?void 0:y.height,1)),this.tableData.sigwaveDir.push((g=(L=z.wave)==null?void 0:L.sig)==null?void 0:g.degree),this.tableData.windwaveHeight.push(this.roundPrecision((C=(x=z.wave)==null?void 0:x.wd)==null?void 0:C.height,1)),this.tableData.windwaveDir.push((_=(w=z.wave)==null?void 0:w.wd)==null?void 0:_.degree),this.tableData.windwavePeriod.push(this.roundPrecision((I=(N=z.wave)==null?void 0:N.wd)==null?void 0:I.period,1)),this.tableData.swellHeight.push(this.roundPrecision((A=(W=z.wave)==null?void 0:W.swell)==null?void 0:A.height,1)),this.tableData.swellDir.push((G=(F=z.wave)==null?void 0:F.swell)==null?void 0:G.degree),this.tableData.swellPeriod.push(this.roundPrecision((X=(J=z.wave)==null?void 0:J.swell)==null?void 0:X.period,1)),this.tableData.currentSpeed.push(this.roundPrecision((q=z.current)==null?void 0:q.speed,1)),this.tableData.currentDir.push((Y=z.current)==null?void 0:Y.degree)}},handleSelectTab(r){this.activeIndex=r},handleBind(){var r,e;this.show?((r=this.map)==null||r.on("click",this.handleClick),this.map.getCanvas().style.cursor="pointer"):((e=this.map)==null||e.off("click",this.handleClick),this.map.getCanvas().style.cursor="grab",this.showMeteo=!1)},handleClick(r){r.originalEvent.stopPropagation();const e=r.originalEvent.target.className;if(e.indexOf("close")>-1)this.showMeteo=!1;else if(e==="more")this.$emit("meteoMore",this.meteoData);else if(e==="mapboxgl-canvas")this.$emit("point",r.lngLat);else return!1},handleRender(){var e;const r=document.getElementById("point-meteo");this.meteoData&&(this.meteoMarker?(e=this.meteoMarker)==null||e.setLngLat([this.meteoData.lng,this.meteoData.lat]):this.meteoMarker=new j.Marker(r).setLngLat([this.meteoData.lng,this.meteoData.lat]).addTo(this.map))}}},Ea={id:"point-meteo",class:"point-meteo"},Sa={class:"meteo-box"},Na={class:"header-box flex-between"},Pa={class:"flex-center"},za={class:"lnglat"},Ta={class:"main-box"},Va={class:"summary-row flex-between"},Da={class:"summary flex-center"},Ba=["src"],Ia={class:"temp"},Ra={class:"des info"},Wa={class:"flex-start"},Aa={class:"flex-start"},Ma={class:"flex-start"},Oa={class:"date flex-col-center-end"},Fa={class:""},ja={class:""},$a={class:"detail-box"},Ha={class:"menu-header flex-start"},Ua={key:0,class:"basic-table"},Za={class:"day"},Ga={class:"hour"},Ja={class:"icon"},Xa=["src"],qa={class:"text"},Ya={class:"text"},Qa={class:"text"},Ka={class:"text"},er={key:1,class:"wave-current-table"},tr={class:"day"},ar={class:"hour"},rr={class:"icon"},ir=["src"],or={class:"text"},sr={class:"text"},nr={class:"text"},lr={class:"text"};function cr(r,e,a,o,i,s){var h,p,c,d,u,m,b,f,y,L,g,x,C,w;const n=t.resolveComponent("LocationFilled"),l=t.resolveComponent("ElIcon");return t.openBlock(),t.createElementBlock("div",null,[t.withDirectives(t.createElementVNode("div",Ea,[t.createElementVNode("div",Sa,[t.createElementVNode("div",Na,[t.createElementVNode("div",Pa,[t.createVNode(l,{size:"22"},{default:t.withCtx(()=>[t.createVNode(n)]),_:1}),t.createElementVNode("div",za,t.toDisplayString(s.computeLat((h=i.meteoData)==null?void 0:h.lat))+","+t.toDisplayString(s.computeLng((p=i.meteoData)==null?void 0:p.lng)),1)]),t.createElementVNode("div",{class:"iconfont close",onClick:e[0]||(e[0]=_=>i.showMeteo=!1)},"")]),t.createElementVNode("div",Ta,[t.createElementVNode("div",Va,[t.createElementVNode("div",Da,[t.createElementVNode("img",{class:"iconfont icon",style:{"margin-right":"5px"},src:(d=(c=i.currentHourData)==null?void 0:c.weather)==null?void 0:d.url},null,8,Ba),t.createElementVNode("div",Ia,[t.createElementVNode("span",null,[t.createTextVNode(t.toDisplayString(s.roundPrecision((m=(u=i.currentHourData)==null?void 0:u.weather)==null?void 0:m.temp,0)),1),e[4]||(e[4]=t.createElementVNode("span",{style:{"font-size":"14px"}},"°C",-1))])]),t.createElementVNode("div",Ra,[t.createElementVNode("div",Wa,[e[5]||(e[5]=t.createElementVNode("label",null,"Precip : ",-1)),t.createElementVNode("span",null,t.toDisplayString(s.roundPrecision((y=(f=(b=i.currentHourData)==null?void 0:b.weather)==null?void 0:f.precip)==null?void 0:y.sum,0))+" mm",1)]),t.createElementVNode("div",Aa,[e[6]||(e[6]=t.createElementVNode("label",null,"Visibility : ",-1)),t.createElementVNode("span",null,t.toDisplayString(s.roundPrecision((g=(L=i.currentHourData)==null?void 0:L.weather)==null?void 0:g.visibility,0))+" nm",1)]),t.createElementVNode("div",Ma,[e[7]||(e[7]=t.createElementVNode("label",null,"Wind : ",-1)),t.createElementVNode("span",null,t.toDisplayString(s.roundPrecision((w=(C=(x=i.currentHourData)==null?void 0:x.weather)==null?void 0:C.wind)==null?void 0:w.kts,1))+" kts",1)])])]),t.createElementVNode("div",Oa,[t.createElementVNode("div",Fa,t.toDisplayString(s.computeTime(a.ts,a.timeZone)),1),t.createElementVNode("div",ja,t.toDisplayString(s.computeTimeZone),1)])]),t.createElementVNode("div",$a,[t.createElementVNode("div",Ha,[t.createElementVNode("div",{class:t.normalizeClass(["menu-item",i.activeIndex===1?"active":""]),onClick:e[1]||(e[1]=t.withModifiers(_=>s.handleSelectTab(1),["prevent"]))},"Basis",2),t.createElementVNode("div",{class:t.normalizeClass(["menu-item",i.activeIndex===2?"active":""]),onClick:e[2]||(e[2]=t.withModifiers(_=>s.handleSelectTab(2),["prevent"]))},"Wave & Current",2)]),i.activeIndex===1?(t.openBlock(),t.createElementBlock("table",Ua,[t.createElementVNode("tr",Za,[e[8]||(e[8]=t.createElementVNode("th",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Hours"),t.createElementVNode("span",{class:"unit"})],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.hours,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(s.computeHourL(_,a.timeZone)),1))),128))]),t.createElementVNode("tr",Ga,[e[9]||(e[9]=t.createElementVNode("th",{rowspan:"1",colspan:"1",class:"tr-title"},null,-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.hours,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(s.computeHourZ(_)),1))),128))]),t.createElementVNode("tr",Ja,[e[10]||(e[10]=t.createElementVNode("th",{rowspan:"1",colspan:"1",class:"tr-title"},null,-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.weatherUrls,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("img",{class:"iconfont weather-icon",src:_},null,8,Xa)]))),128))]),t.createElementVNode("tr",qa,[e[11]||(e[11]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Temp"),t.createElementVNode("span",{class:"unit"},"°C")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.temp,_=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(_),1))),128))]),t.createElementVNode("tr",Ya,[e[12]||(e[12]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Precip"),t.createElementVNode("span",{class:"unit"},"mm")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.precip1h,_=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(_),1))),128))]),t.createElementVNode("tr",Qa,[e[13]||(e[13]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Visibility"),t.createElementVNode("span",{class:"unit"},"nm")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.visibility,_=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(_),1))),128))]),t.createElementVNode("tr",Ka,[e[14]||(e[14]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Wind"),t.createElementVNode("span",{class:"unit"},"kts")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.windSpeed,(_,N)=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("span",{class:"iconfont icon blue",style:t.normalizeStyle({display:"inline-block",transform:`rotate(${i.tableData.windDir[N]}deg)`})},"",4),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))])])):t.createCommentVNode("",!0),i.activeIndex===2?(t.openBlock(),t.createElementBlock("table",er,[t.createElementVNode("tr",tr,[e[15]||(e[15]=t.createElementVNode("th",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Hours"),t.createElementVNode("span",{class:"unit"})],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.hours,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(s.computeHourL(_,a.timeZone)),1))),128))]),t.createElementVNode("tr",ar,[e[16]||(e[16]=t.createElementVNode("th",{rowspan:"1",colspan:"1"},null,-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.hours,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(s.computeHourZ(_)),1))),128))]),t.createElementVNode("tr",rr,[e[17]||(e[17]=t.createElementVNode("th",{rowspan:"1",colspan:"1"},null,-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.weatherUrls,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("img",{class:"iconfont weather-icon",src:_},null,8,ir)]))),128))]),t.createElementVNode("tr",or,[e[18]||(e[18]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Sig Wave"),t.createElementVNode("span",{class:"unit"},"m")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.sigwaveHeight,(_,N)=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("span",{class:"iconfont icon blue",style:t.normalizeStyle({display:"inline-block",transform:`rotate(${i.tableData.sigwaveDir[N]}deg)`})},"",4),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))]),t.createElementVNode("tr",sr,[e[19]||(e[19]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Wind Wave"),t.createElementVNode("span",{class:"unit"},"m")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.windwaveHeight,(_,N)=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("span",{class:"iconfont icon orange",style:t.normalizeStyle({display:"inline-block",transform:`rotate(${i.tableData.sigwaveDir[N]}deg)`})},"",4),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))]),t.createElementVNode("tr",nr,[e[20]||(e[20]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Swell"),t.createElementVNode("span",{class:"unit"},"m")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.swellHeight,(_,N)=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("span",{class:"iconfont icon orange",style:t.normalizeStyle({display:"inline-block",transform:`rotate(${i.tableData.swellDir[N]}deg)`})},"",4),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))]),t.createElementVNode("tr",lr,[e[21]||(e[21]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Current"),t.createElementVNode("span",{class:"unit"},"kts")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.currentSpeed,(_,N)=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("span",{class:"iconfont icon gray",style:t.normalizeStyle({display:"inline-block",transform:`rotate(${i.tableData.currentDir[N]}deg)`})},"",4),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))])])):t.createCommentVNode("",!0)])]),r.$attrs.permission&i.helper.LEVEL.Prime?(t.openBlock(),t.createElementBlock("div",{key:0,class:"more",onClick:e[3]||(e[3]=t.withModifiers((..._)=>r.handleMore&&r.handleMore(..._),["prevent"]))},e[22]||(e[22]=[t.createElementVNode("span",null,"More >>",-1)]))):t.createCommentVNode("",!0)])],512),[[t.vShow,i.showMeteo]])])}const hr=E(ka,[["render",cr],["__scopeId","data-v-3f751a72"]]),dr={name:"IdmWarZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},data(){return{source:"war-zone-source",zoneLayer:"war-zone-layer",zoneLabelLayer:"war-zone-label-layer"}},watch:{zone:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.zone&&(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-color":"#f44336","fill-opacity":.4}},this.beforeLayer),this.map.addLayer({id:this.zoneLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":1,"line-color":"#f44336"}},this.beforeLayer),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,-1]},paint:{"icon-opacity":.8,"text-color":"#000","text-halo-color":"#fff","text-halo-width":1}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLayer+"-border")&&this.map.removeLayer(this.zoneLayer+"-border"),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function pr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const mr=E(dr,[["render",pr]]),yr={name:"IdmGmdssArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},data(){return{source:"gmdss-area-source",areaLayer:"gmdss-area-layer",areaLabelLayer:"gmdss-area-label-layer"}},watch:{area:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.5,"fill-color":["match",["get","val"],"AreaI","#EB8996","AreaII","#6F448B","AreaIII","#3E8BD3","AreaIV","#5EBCC4","AreaV","#00AAE7","AreaVI","#9CCE6D","AreaVII","#F4AE00","AreaVIII","#EF9A85","AreaIX","#00AAA7","AreaX","#7AC49F","AreaXI","#DFDFDF","AreaXII","#FFF974","AreaXIII","#EF9A85","AreaXIV","#86A2D1","AreaXV","#EC8972","AreaXVI","#EAC2DA","AreaXVII","#B9C8E7","AreaXVIII","#BBA1C8","AreaXIX","#FAE0BD","AreaXX","#DBECC8","AreaXXI","#D496AF","#ffffff"]}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":12,"text-offset":[0,-3.5]},paint:{"icon-opacity":.8,"text-opacity":.8,"text-color":"#000"}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function fr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const ur=E(yr,[["render",fr]]),gr={name:"IdmEcaZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},data(){return{source:"eca-zone-source",zoneLayer:"eca-zone-layer",zoneLabelLayer:"eca-zone-label-layer"}},watch:{zone:{handler(){this.zone?this.handleRender():this.handleClear()}}},methods:{handleRender(){var r;this.map?(this.handleClear(),this.zone&&(this.map.getSource(this.source)?(r=this.map)==null||r.getSource(this.source).setData(this.zone):(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"fill-outline-color":"silver","fill-opacity":.4,"fill-color":"#05f324"}}),this.map.addLayer({id:this.zoneLayer+"-border",type:"line",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"line-color":"#04c021","line-width":1,"line-opacity":1}},this.beforeLayer),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-max-width":16,"text-justify":"left","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,-3.5]},paint:{"icon-opacity":.8,"text-color":"#000","text-halo-color":"#fff","text-halo-width":1}})))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLayer+"-border")&&this.map.removeLayer(this.zoneLayer+"-border"),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function br(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Lr=E(gr,[["render",br]]),Ci="",wr={name:"IdmAlertZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},data(){return{source:"alert-zone-source",polygonLayer:"alert-zone-polygon-layer",polygonLabelLayer:"alert-zone-polygon-label-layer",lineLayer:"alert-zone-line-layer",lineLabelLayer:"alert-zone-line-label-layer",pointLayer:"alert-zone-point-layer",showZone:!1,form:{}}},watch:{zone:{handler(){var r,e;this.zone?(this.handleRender(),(r=this.map)==null||r.on("click",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleClick)):(this.handleClear(),(e=this.map)==null||e.off("click",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleClick))}}},methods:{handleClick(r){var o;const e=r.features[0],a=(o=this.zone)==null?void 0:o.features.filter(i=>{var s;return i.properties.id===((s=e==null?void 0:e.properties)==null?void 0:s.id)})[0];if(a){this.showZone=!0,this.form={...a.properties};const i=document.getElementById("idm-gl3-zone-info");this.marker?this.marker.setLngLat([r.lngLat.lng,r.lngLat.lat]):this.marker=new j.Marker(i).setLngLat([r.lngLat.lng,r.lngLat.lat]).setOffset([0,0]).addTo(this.map)}},handleRender(){var r;this.map?(this.handleClear(),this.zone&&(this.map.getSource(this.source)?(r=this.map)==null||r.getSource(this.source).setData(this.zone):(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.polygonLayer,type:"fill",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"fill-outline-color":"#d57d02","fill-opacity":.4,"fill-color":"#d57d02"}}),this.map.addLayer({id:this.polygonLayer+"-border",type:"line",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"line-width":1,"line-color":"#d57d02"}}),this.map.addLayer({id:this.lineLayer,type:"line",source:this.source,filter:["all",["==","$type","LineString"],["!=","disabled",!0]],paint:{"line-color":"#d57d02","line-width":2}}),this.map.addLayer({id:this.polygonLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-image":"alert","icon-size":.08,"icon-allow-overlap":!0,"icon-rotation-alignment":"viewport"},paint:{"icon-opacity":.8}}),this.map.addLayer({id:this.lineLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","LineString"],["!=","disabled",!0]],layout:{"symbol-placement":"line-center","icon-image":"alert","icon-size":.08,"icon-allow-overlap":!0,"icon-rotation-alignment":"viewport"},paint:{"icon-opacity":.8}}),this.map.addLayer({id:this.pointLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-image":"alert","icon-size":.08},paint:{"icon-opacity":.8}})))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.polygonLayer)&&this.map.removeLayer(this.polygonLayer),this.map.getLayer(this.polygonLayer+"-border")&&this.map.removeLayer(this.polygonLayer+"-border"),this.map.getLayer(this.polygonLabelLayer)&&this.map.removeLayer(this.polygonLabelLayer),this.map.getLayer(this.lineLayer)&&this.map.removeLayer(this.lineLayer),this.map.getLayer(this.lineLabelLayer)&&this.map.removeLayer(this.lineLabelLayer),this.map.getLayer(this.pointLayer)&&this.map.removeLayer(this.pointLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}},xr={id:"idm-gl3-zone-info"},_r=["innerHTML"];function vr(r,e,a,o,i,s){var n;return t.withDirectives((t.openBlock(),t.createElementBlock("div",xr,[t.createElementVNode("div",{class:"iconfont close",onClick:e[0]||(e[0]=l=>i.showZone=!1)},""),t.createElementVNode("div",{class:"rich-context",innerHTML:(n=i.form)==null?void 0:n.name},null,8,_r)],512)),[[t.vShow,i.showZone]])}const Cr=E(wr,[["render",vr]]),ki="",kr={name:"IdmPort",props:{map:{type:Object},port:{type:Object},beforeLayer:{type:String}},emits:["port"],data(){return{source:"port-source",layer:"port-layer",showPort:!1,form:{},marker:void 0}},computed:{computeLat(){return function(r){return k.LngLatHelper.lat2pretty(r,4).pretty}},computeLng(){return function(r){return k.LngLatHelper.lng2pretty(r,4).pretty}}},watch:{port:{handler(){var r,e;this.port?(this.handleRender(),(r=this.map)==null||r.on("click",[this.layer],this.handleClick)):(this.handleClear(),(e=this.map)==null||e.off("click",[this.layer],this.handleClick))}}},methods:{handleClick(r){var o;const e=r.features[0],a=(o=this.port)==null?void 0:o.features.filter(i=>{var s;return i.properties.id===((s=e==null?void 0:e.properties)==null?void 0:s.id)})[0];if(a){this.showPort=!0,this.form={...a.properties},this.form.lng=a.geometry.coordinates[0],this.form.lat=a.geometry.coordinates[1];const i=document.getElementById("port-info");this.marker?this.marker.setLngLat([r.lngLat.lng,r.lngLat.lat]):this.marker=new j.Marker(i).setLngLat([r.lngLat.lng,r.lngLat.lat]).setOffset([0,-85]).addTo(this.map)}},handleEmit(){this.$emit("port",this.form)},handleRender(){var r;this.map?this.port&&(this.map.getSource(this.source)?(r=this.map)==null||r.getSource(this.source).setData(this.port):(this.map.addSource(this.source,{type:"geojson",data:this.port}),this.map.addLayer({id:this.layer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"port","text-anchor":"left","text-field":"{name}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[1,0]},paint:{"text-color":"rgba(0, 0, 0, 0.8)","text-halo-color":"#fff","text-halo-width":1}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.showPort=!1,this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}},Er={id:"port-info"},Sr={class:"port-box"},Nr={class:"flex-start"},Pr={class:"flex-start"},zr={class:"flex-start"},Tr={class:"flex-start",style:{"align-items":"flex-start"}};function Vr(r,e,a,o,i,s){return t.withDirectives((t.openBlock(),t.createElementBlock("div",Er,[t.createElementVNode("div",{class:"close iconfont",onClick:e[0]||(e[0]=n=>i.showPort=!1)},""),t.createElementVNode("div",Sr,[t.createElementVNode("div",Nr,[e[2]||(e[2]=t.createElementVNode("label",null,"Name : ",-1)),t.createElementVNode("span",{onClick:e[1]||(e[1]=(...n)=>s.handleEmit&&s.handleEmit(...n))},t.toDisplayString(i.form.name),1)]),t.createElementVNode("div",Pr,[e[3]||(e[3]=t.createElementVNode("label",null,"Position : ",-1)),t.createElementVNode("span",null,t.toDisplayString(s.computeLat(i.form.lat))+", "+t.toDisplayString(s.computeLng(i.form.lng)),1)]),t.createElementVNode("div",zr,[e[4]||(e[4]=t.createElementVNode("label",null,"LoCode : ",-1)),t.createElementVNode("span",null,t.toDisplayString(i.form.loCode||"-"),1)]),t.createElementVNode("div",Tr,[e[5]||(e[5]=t.createElementVNode("label",null,"Region : ",-1)),t.createElementVNode("span",null,t.toDisplayString(i.form.zoneName||"-"),1)])])],512)),[[t.vShow,i.showPort]])}const Dr=E(kr,[["render",Vr],["__scopeId","data-v-c07e4c45"]]),Br={name:"IdmLoadLine",props:{map:{type:Object},line:{type:Object},beforeLayer:{type:String}},data(){return{source:"load-line-source",lineLayer:"load-line-layer",lineLabelLayer:"load-line-label-layer"}},watch:{line:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.line&&(this.map.addSource(this.source,{type:"geojson",data:this.line}),this.map.addLayer({id:this.lineLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.75,"fill-color":["match",["get","val"],"LLGreen","#A0C0C0","LLRed","#F5A39D","LLBlue","#6B94E4","#ffffff"]}},this.beforeLayer),this.map.addLayer({id:this.lineLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-field":"{lbl} (Length < {shipLength}, {start} - {end})","text-rotation-alignment":"viewport","text-offset":[0,1],"text-size":10,"text-allow-overlap":!0},paint:{"text-opacity":.8}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.lineLayer)&&this.map.removeLayer(this.lineLayer),this.map.getLayer(this.lineLabelLayer)&&this.map.removeLayer(this.lineLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Ir(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Rr=E(Br,[["render",Ir]]),Wr={name:"IdmTimezone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},data(){return{source:"time-zone-source",zoneLayer:"time-zone-layer",zoneLabelLayer:"time-zone-label-layer"}},watch:{zone:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.zone&&(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.5,"fill-color":["match",["get","offSet"],"-11.5","rgba(255,0,0,0.4)","-11","rgba(0,255,0,0.3)","-10.5","rgba(0,255,0,0.3)","-10","rgba(0,0,255,0.3)","-9.5","rgba(0,0,255,0.3)","-9","rgba(255,0,0,0.4)","-8.5","rgba(255,0,0,0.4)","-8","rgba(0,255,0,0.3)","-7.5","rgba(0,255,0,0.3)","-7","rgba(0,0,255,0.3)","-6.5","rgba(0,0,255,0.3)","-6","rgba(255,0,0,0.4)","-5.5","rgba(255,0,0,0.4)","-5","rgba(0,255,0,0.3)","-4.5","rgba(0,255,0,0.3)","-4","rgba(0,0,255,0.3)","-3.5","rgba(0,0,255,0.3)","-3","rgba(255,0,0,0.4)","-2.5","rgba(255,0,0,0.4)","-2","rgba(0,255,0,0.3)","-1.5","rgba(0,255,0,0.3)","-1","rgba(0,0,255,0.3)","-0.5","rgba(0,0,255,0.3)","+0","rgba(255,0,0,0.4)","+0.5","rgba(255,0,0,0.4)","+1","rgba(0,255,0,0.3)","+1.5","rgba(0,255,0,0.3)","+2","rgba(0,0,255,0.3)","+2.5","rgba(0,0,255,0.3)","+3","rgba(255,0,0,0.4)","+3.5","rgba(255,0,0,0.4)","+4","rgba(0,255,0,0.3)","+4.5","rgba(0,255,0,0.3)","+5","rgba(0,0,255,0.3)","+5.5","rgba(0,0,255,0.3)","+6","rgba(255,0,0,0.4)","+6.5","rgba(255,0,0,0.4)","+7","rgba(0,255,0,0.3)","+7.5","rgba(0,255,0,0.3)","+8","rgba(0,0,255,0.3)","+8.5","rgba(0,0,255,0.3)","+9","rgba(255,0,0,0.4)","+9.5","rgba(255,0,0,0.4)","+10","rgba(0,255,0,0.3)","+10.5","rgba(0,255,0,0.3)","+11","rgba(0,0,255,0.3)","+11.5","rgba(0,0,255,0.3)","rgba(255,0,0,0.4)"]}}),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-field":"{offSet}","text-rotation-alignment":"viewport","text-size":12,"text-offset":[0,1]},paint:{"text-opacity":.8,"text-color":"#fff"}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Ar(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Mr=E(Wr,[["render",Ar]]),Or={name:"IdmVoluntaryReportingArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},data(){return{source:"vra-source",areaLayer:"vra-layer",areaLabelLayer:"vra-label-layer"}},watch:{area:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.4,"fill-color":"#9f30f9"}},this.beforeLayer),this.map.addLayer({id:this.areaLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":1,"line-color":"#9f30f9"}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,-3.5]},paint:{"icon-opacity":.8,"text-color":"#000","text-halo-color":"#fff","text-halo-width":1}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLayer+"-border")&&this.map.removeLayer(this.areaLayer+"-border"),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Fr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const jr=E(Or,[["render",Fr]]),$r={name:"IdmSpecialArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},data(){return{source:"special-area-source",areaLayer:"special-area-layer",areaLabelLayer:"special-area-label-layer"}},watch:{area:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.area.features.forEach(r=>{r.geometry.type==="Polygon"&&r.geometry.coordinates.forEach(e=>k.LngLatHelper.convertToMonotonicLng2(e))}),this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.4,"fill-color":["match",["get","val"],"DefaultStyle","rgb(0,0,0)","JWCriskArea","rgb(0,0,0)","rgb(0,0,0)"]}},this.beforeLayer),this.map.addLayer({id:this.areaLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":.4,"line-color":"rgb(0,0,0)"}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,-3.5]},paint:{"icon-opacity":.8,"text-color":"#000","text-halo-color":"#fff","text-halo-width":1}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLayer+"-border")&&this.map.removeLayer(this.areaLayer+"-border"),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Hr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Ur=E($r,[["render",Hr]]),Zr={name:"IdmTerminator",props:{map:{type:Object},area:{type:Object}},data(){return{source:"terminator-source",layer:"terminator-layer"}},watch:{area:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.layer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.5,"fill-color":"rgba(0, 0, 0, 0.4)"}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Gr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Jr=E(Zr,[["render",Gr]]),Ei="",Xr={name:"IdmLatLng",props:{map:{type:Object},show:{type:Boolean},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{lngLat:void 0,source:"idm-lat-lng-source",layer:"idm-lat-lng-layer",labelLayer:"idm-lat-lng-label-layer",right:10}},watch:{show:{handler(){this.handleBind()},immediate:!0},map:{handler(){var r;this.map&&((r=this.map)==null||r.on("mousemove",this.handleMouseMove))},immediate:!0},toggleVersion:{handler(){var r,e;this.right=(((r=document.getElementsByClassName("legend-bars")[0])==null?void 0:r.clientWidth)||-10)+(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.clientWidth)||0)+20},immediate:!0}},methods:{handleBind(){var r,e;this.show?((r=this.map)==null||r.on("zoomend",this.handleZoomEnd),this.handleRender()):(this.handleClear(),(e=this.map)==null||e.off("zoomend",this.handleZoomEnd))},handleMouseMove(r){const e=r.lngLat,a=k.LngLatHelper.lng2pretty(e.lng,2),o=k.LngLatHelper.lat2pretty(e.lat,2);this.lngLat={lng:a,lat:o}},handleComputeLatLngs(){var o;const r=(o=this.map)==null?void 0:o.getZoom();console.log(r);let e=30;r>4?e=10:r>3&&(e=15);const a=[];for(let i=-60;i<90;i+=e)a.push({type:"Feature",geometry:{type:"LineString",coordinates:[[-180,i],[180,i]]}});for(let i=-180;i<180;i+=e)a.push({type:"Feature",geometry:{type:"LineString",coordinates:[[i,-90],[i,90]]}});for(let i=180;i>-180;i-=e)for(let s=-60;s<90;s+=e)a.push({type:"Feature",geometry:{type:"Point",coordinates:[i,s]},properties:{val:`${s>0?s+" N":s===0?s:s*-1+" S"}, ${i>0?i+" E":i*-1+" W"}`}});return a},handleZoomEnd(){var e;const r=this.handleComputeLatLngs();(e=this.map)==null||e.getSource(this.source).setData(v.featureCollection(r))},handleRender(){if(this.map){const r=this.handleComputeLatLngs();this.map.addSource(this.source,{type:"geojson",data:{type:"FeatureCollection",features:r}}),this.map.addLayer({id:this.layer,type:"line",source:this.source,filter:["==","$type","LineString"],layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":"rgba(0, 0, 0, 0.3)","line-width":1}}),this.map.addLayer({id:this.labelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-field":"{val}","text-rotation-alignment":"viewport","text-offset":[0,1],"text-size":10,"text-allow-overlap":!0},paint:{"text-opacity":.8}})}},handleClear(){var r,e,a,o,i,s;(r=this.map)!=null&&r.getLayer(this.layer)&&((e=this.map)==null||e.removeLayer(this.layer)),(a=this.map)!=null&&a.getLayer(this.labelLayer)&&((o=this.map)==null||o.removeLayer(this.labelLayer)),(i=this.map)!=null&&i.getSource(this.source)&&((s=this.map)==null||s.removeSource(this.source))}}};function qr(r,e,a,o,i,s){return i.lngLat?(t.openBlock(),t.createElementBlock("div",{key:0,class:"lat-lng-tip",style:t.normalizeStyle({right:i.right+"px",bottom:a.bottom})},[t.createElementVNode("span",null,t.toDisplayString(i.lngLat.lat.pretty),1),e[0]||(e[0]=t.createElementVNode("span",null,", ",-1)),t.createElementVNode("span",null,t.toDisplayString(i.lngLat.lng.pretty),1)],4)):t.createCommentVNode("",!0)}const he=E(Xr,[["render",qr],["__scopeId","data-v-73241fe7"]]),Yr={name:"IdmMeasure",props:{map:{type:Object},show:{type:Boolean}},data(){return{geojson:[],source:"measure-source",layer:"measure-layer",labelLayer:"measure-label-layer",tmpSource:"measure-tmp-source",tmpLayer:"measure-tmp-layer",tmpLabelLayer:"measure-tmp-label-layer",closeMarkers:{},pointMarkers:{},tipMarker:void 0,contextmenu:void 0,navigation:"RL"}},watch:{show:{handler(){this.handleBind()},immediate:!0},map:{handler(){this.map&&this.handleBind()}}},methods:{handleBind(){var r,e,a,o,i,s,n,l,h,p;if(this.show)(r=this.map)==null||r.getCanvas().addEventListener("keydown",this.handleKeydown),(e=this.map)==null||e.on("mousemove",this.handleMove),(a=this.map)==null||a.on("dblclick",this.handleDblClick),(o=this.map)==null||o.on("click",this.handleClick),(i=this.map)==null||i.on("contextmenu",this.handleContextmenu),this.map&&(this.map.getCanvas().style.cursor="crosshair");else{(s=this.map)==null||s.getCanvas().removeEventListener("keydown",this.handleKeydown),(n=this.map)==null||n.off("mousemove",this.handleMove),(l=this.map)==null||l.off("dblclick",this.handleDblClick),(h=this.map)==null||h.off("click",this.handleClick),(p=this.map)==null||p.off("contextmenu",this.handleContextmenu);for(const c of this.geojson)this.handleClear(c,!0);this.geojson=[],this.map&&(this.map.getCanvas().style.cursor="grab")}},handleKeydown(r){if(r.key==="Shift"){this.navigation=this.navigation==="RL"?"GC":"RL";const a=this.geojson.at(-1).features.filter(o=>o.geometry.type==="Point");a.length&&(a.at(-1).properties.mode=this.navigation)}},handleDrag(r){var a,o,i,s,n,l,h,p,c,d;const e=(o=(a=r.target)==null?void 0:a._element)==null?void 0:o.id;if((e==null?void 0:e.split("-").length)===2){const u=this.geojson.filter(y=>y.id===e.split("-")[0])[0];this.pointMarkers[u.id].filter(y=>{var L;return((L=y._element)==null?void 0:L.id)===e})[0].setLngLat([(s=(i=r.target)==null?void 0:i._lngLat)==null?void 0:s.lng,(l=(n=r.target)==null?void 0:n._lngLat)==null?void 0:l.lat]);let b;u.features.forEach((y,L)=>{if(y.geometry.type==="Point"&&y.properties.id==e.split("-")[1]){b=L;return}});const f=u.features.filter(y=>y.geometry.type==="Point");this.handleTmpPointUpdate(u,f[b-1],{lng:(p=(h=r.target)==null?void 0:h._lngLat)==null?void 0:p.lng,lat:(d=(c=r.target)==null?void 0:c._lngLat)==null?void 0:d.lat,properties:f[b].properties},b===f.length-1?void 0:f[b+1])}},handleDragEnd(r){var a,o,i,s,n,l,h,p,c,d;const e=(o=(a=r.target)==null?void 0:a._element)==null?void 0:o.id;if((e==null?void 0:e.split("-").length)===2){const u=this.geojson.filter(f=>f.id===e.split("-")[0])[0];this.pointMarkers[u.id].filter(f=>{var y;return((y=f._element)==null?void 0:y.id)===e})[0].setLngLat([(s=(i=r.target)==null?void 0:i._lngLat)==null?void 0:s.lng,(l=(n=r.target)==null?void 0:n._lngLat)==null?void 0:l.lat]);const b=u.features.filter(f=>f.geometry.type==="Point"&&f.properties.id==e.split("-")[1])[0];b.geometry.coordinates=[(p=(h=r.target)==null?void 0:h._lngLat)==null?void 0:p.lng,(d=(c=r.target)==null?void 0:c._lngLat)==null?void 0:d.lat],u.features=u.features.filter(f=>f.geometry.type==="Point"),this.handlePointUpdate(u)}},handleContextmenu(r){var a,o,i,s;r.preventDefault(),(a=this.contextmenu)==null||a.remove();const e=(s=(i=(o=r.originalEvent)==null?void 0:o.target)==null?void 0:i.parentElement)==null?void 0:s.id;if((e==null?void 0:e.split("-").length)===2){const l=this.geojson.filter(h=>h.id===e.split("-")[0])[0].features.filter(h=>h.geometry.type==="Point");if(l.length>2&&l.filter(p=>p.properties.id===(e==null?void 0:e.split("-")[1]))[0]){const p=document.createElement("div");p.className="point-contextmenu-marker",p.innerHTML=`<span id="del-${e}" class="del-point">Del</span>`,this.contextmenu=new j.Marker(p).setOffset([24,0]).setLngLat([r.lngLat.lng,r.lngLat.lat]).addTo(this.map)}}},handleClick(r){var a,o,i,s,n;(a=this.contextmenu)==null||a.remove();const e=r.originalEvent.target.className;if(e==="marker-close"){const l=(i=(o=r.originalEvent)==null?void 0:o.srcElement)==null?void 0:i.id,h=this.geojson.filter(p=>p.id===l)[0];h&&this.handleClear(h,!0),this.geojson=this.geojson.filter(p=>p.id!==l)}else if(e==="del-point"){const l=(n=(s=r.originalEvent.target.id)==null?void 0:s.replace("del-",""))==null?void 0:n.split("-"),h=this.geojson.filter(p=>p.id===l[0])[0];h.features=h.features.filter(p=>p.geometry.type==="Point"&&p.properties.id!==l[1]),this.handlePointUpdate(h)}else if(e!=="marker-label"){let l=this.geojson.at(-1);l||(l=v.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(l)),l.features=l.features.filter(p=>p.geometry.type==="Point");const h=v.feature({type:"Point",coordinates:[r.lngLat.lng,r.lngLat.lat]},{id:new Date().getTime().toString(),mode:this.navigation});l.features.push(h),this.handlePointUpdate(l)}},handlePointUpdate(r){const e=r.features;if(e.length>1){let a=0;const o=[];for(let i=1;i<e.length;i++){const s=e[i-1],n=e[i],l=s.properties,h={lng:s.geometry.coordinates[0],lat:s.geometry.coordinates[1]},p={lng:n.geometry.coordinates[0],lat:n.geometry.coordinates[1]},c=k.LaneHelper.calculateDistance(h,p,l.mode==="RL",2),d=k.LaneHelper.calculateBearing(h,p,l.mode==="RL",2);a=k.LngLatHelper.roundPrecision(a+c,2);let u;l.mode==="RL"?u=k.LngLatHelper.convertToMonotonicLng([h,p]):u=k.LngLatHelper.convertToMonotonicLng(k.LaneHelper.interpolateCoordinates(h,p,200));const m=v.lineString(u.map(b=>[b.lng,b.lat]));m.properties.dist=c,m.properties.bearing=d,m.properties.total=a,o.push(m)}e.push(...o),r.total=a}return this.handleRender(r),r},handleTmpPointUpdate(r,e,a,o){const i=v.featureCollection([]);let s,n;if(e){const h=e.properties,p={lng:e.geometry.coordinates[0],lat:e.geometry.coordinates[1]},c={lng:a.lng,lat:a.lat};s=k.LaneHelper.calculateDistance(p,c,h.mode==="RL",2),n=k.LaneHelper.calculateBearing(p,c,h.mode==="RL",2);let d;h.mode==="RL"?d=k.LngLatHelper.convertToMonotonicLng([p,c]):d=k.LngLatHelper.convertToMonotonicLng(k.LaneHelper.interpolateCoordinates(p,c,200));const u=v.lineString(d.map(m=>[m.lng,m.lat]));u.properties.dist=s,u.properties.bearing=n,i.features.push(u)}if(o){const h=a.properties,p=a,c={lng:o.geometry.coordinates[0],lat:o.geometry.coordinates[1]};s=k.LaneHelper.calculateDistance(p,c,h.mode==="RL",2),n=k.LaneHelper.calculateBearing(p,c,h.mode==="RL",2);let d;h.mode==="RL"?d=k.LngLatHelper.convertToMonotonicLng([p,c]):d=k.LngLatHelper.convertToMonotonicLng(k.LaneHelper.interpolateCoordinates(p,c,200));const u=v.lineString(d.map(m=>[m.lng,m.lat]));u.properties.dist=s,u.properties.bearing=n,i.features.push(u)}this.map.getSource(this.tmpSource)?this.map.getSource(this.tmpSource).setData(i):this.map.addSource(this.tmpSource,{type:"geojson",data:i}),this.map.getLayer(this.tmpLayer)||this.map.addLayer({id:this.tmpLayer,type:"line",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#F44336","line-width":2,"line-opacity":1,"line-dasharray":[3,2]}}),this.map.getLayer(this.tmpLabelLayer)||this.map.addLayer({id:this.tmpLabelLayer,type:"symbol",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist} nm","text-rotation-alignment":"map","text-size":12},paint:{"text-opacity":1,"text-color":"#fff","text-halo-color":"#F44336","text-halo-width":4,"text-halo-blur":0}});let l;if(o?l='<div class="marker-label">Drag and drop</div>':l=`<div class="marker-label">Tol distance: <b>${k.LngLatHelper.roundPrecision((r.total??0)+s,2)}</b>nm, bearing: <b>${n}</b>°</div><div class="marker-label">${this.navigation==="RL"?"RL":"GC"} mode, using 'Shift' to switch</div><div class="marker-label">Double click to end</div>`,this.tipMarker)this.tipMarker._element.innerHTML=l,this.tipMarker.setLngLat([a.lng,a.lat]);else{const h=document.createElement("div");h.className="tip-marker",h.innerHTML=l,this.tipMarker=new j.Marker(h).setOffset([140,0]).setLngLat([a.lng,a.lat]).addTo(this.map)}},handleMove(r){this.map.getCanvas().style.cursor="crosshair";let e=this.geojson.at(-1);e||(e=v.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(e));const a=e.features.filter(o=>o.geometry.type==="Point");a!=null&&a.length&&this.handleTmpPointUpdate(e,a.at(-1),{lng:r.lngLat.lng,lat:r.lngLat.lat})},handleDblClick(r){r.preventDefault();let e=this.geojson.at(-1);e.closed=!0,this.handleRender(e),e=v.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(e)},handleRender(r){var e;if((e=r==null?void 0:r.features)!=null&&e.length){const a=`${r.id}-${this.source}`,o=`${r.id}-${this.layer}`,i=`${r.id}-${this.labelLayer}`;this.map.getSource(a)?this.map.getSource(a).setData(r):this.map.addSource(a,{type:"geojson",data:r}),this.handleClear(r,!1),this.map.addLayer({id:o,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#F44336","line-width":2}}),this.map.addLayer({id:i,type:"symbol",source:a,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist}nm,{bearing}°","text-rotation-alignment":"map","text-size":12},paint:{"text-opacity":1,"text-color":"#fff","text-halo-color":"#F44336","text-halo-width":4,"text-halo-blur":0}});const s=r.features.filter(n=>n.geometry.type==="Point");for(const n of s){const l=document.createElement("div");l.id=`${r.id}-${n.properties.id}`,l.className=`${r.closed?"point-marker closed":"point-marker"}`,l.innerHTML='<div class="marker-circle"></div>';const h=new j.Marker({element:l,draggable:!0,contextmenu:!0}).setLngLat(n.geometry.coordinates).addTo(this.map);h.on("drag",this.handleDrag),h.on("dragend",this.handleDragEnd),this.pointMarkers[r.id]?this.pointMarkers[r.id].push(h):this.pointMarkers[r.id]=[h]}if(r.closed){const n=s.at(-1),h=r.features.filter(c=>c.geometry.type==="LineString").at(-1),p=document.createElement("div");p.className="point-summary-marker",p.innerHTML=`<div id="${r.id}" class="marker-close">×</div><div class="marker-label">Tol: ${h.properties.total}nm</div>`,this.closeMarkers[r.id]=new j.Marker(p).setOffset([60,0]).setLngLat(n.geometry.coordinates).addTo(this.map)}}},handleClear(r,e=!0){var s,n,l,h,p,c,d,u,m;const a=`${r.id}-${this.source}`,o=`${r.id}-${this.layer}`,i=`${r.id}-${this.labelLayer}`;(s=this.map)!=null&&s.getLayer(o)&&this.map.removeLayer(o),(n=this.map)!=null&&n.getLayer(i)&&this.map.removeLayer(i),(l=this.map)!=null&&l.getLayer(this.tmpLayer)&&this.map.removeLayer(this.tmpLayer),(h=this.map)!=null&&h.getLayer(this.tmpLabelLayer)&&this.map.removeLayer(this.tmpLabelLayer),(p=this.closeMarkers[r.id])==null||p.remove(),this.closeMarkers[r.id]=void 0,(c=this.pointMarkers[r.id])==null||c.forEach(b=>{b==null||b.remove()}),this.pointMarkers[r.id]=[],(d=this.tipMarker)==null||d.remove(),this.tipMarker=void 0,e&&((u=this.map)!=null&&u.getSource(a))&&this.map.removeSource(a),e&&((m=this.map)!=null&&m.getSource(this.tmpSource))&&this.map.removeSource(this.tmpSource)}}};function Qr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Kr=E(Yr,[["render",Qr]]),Si="",ei={name:"IdmENC",props:{map:{type:Object},enabled:{type:Boolean},beforeLayer:{type:String,default:"grayland"},bottom:{type:String,default:"280px"},token:{type:String,default:""},toggleVersion:{type:Number},permission:{type:Number}},emits:["enc"],data(){return{helper:V.CompanyHelper,vendor:this.$attrs.permission&V.CompanyHelper.LEVEL.Supper?"hi":"i4",right:10}},watch:{vendor:{handler(){this.$emit("enc",this.vendor)},immediate:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{}},ti={key:0},ai={class:"bar-item"};function ri(r,e,a,o,i,s){const n=t.resolveComponent("ElTooltip");return a.enabled&&a.permission&i.helper.LEVEL.Supper?(t.openBlock(),t.createElementBlock("div",ti,[t.createElementVNode("div",{class:"menu-bar-box",style:t.normalizeStyle({position:"absolute",right:i.right+"px",bottom:a.bottom})},[t.createElementVNode("div",ai,[t.createVNode(n,{placement:"left",effect:"light",content:"Hifleet","show-after":1e3},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(i.vendor==="hi"?"menu-icon active":"menu-icon"),onClick:e[0]||(e[0]=l=>i.vendor="hi")},e[2]||(e[2]=[t.createElementVNode("span",{class:"iconfont"},"HI",-1)]),2)]),_:1}),t.createVNode(n,{placement:"left",effect:"light",content:"I4insight","show-after":1e3},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(i.vendor==="i4"?"menu-icon active":"menu-icon"),onClick:e[1]||(e[1]=l=>i.vendor="i4")},e[3]||(e[3]=[t.createElementVNode("span",{class:"iconfont"},"I4",-1)]),2)]),_:1})])],4)])):t.createCommentVNode("",!0)}const ii=E(ei,[["render",ri],["__scopeId","data-v-150235f7"]]),Ni="",oi={name:"IdmGLV2",components:{IdmGlLayer:dt,IdmWindBarb:ft,IdmWindParticle:Lt,IdmCurrents:vt,IdmCurrentParticle:St,IdmSigWave:zt,IdmSwell:Dt,IdmPrmsl:Rt,IdmIceberg:Mt,IdmTropicals:ce,IdmPrecip3h:sa,IdmVisibility:ha,IdmWaterTemp:ya,IdmTemp:ba,IdmArctic:_a,IdmWarZone:mr,IdmGmdssArea:ur,IdmEcaZone:Lr,IdmAlertZone:Cr,IdmPort:Dr,IdmLoadLine:Rr,IdmTimezone:Mr,IdmVRA:jr,IdmSpecialArea:Ur,IdmTerminator:Jr,IdmLatLng:he,IdmMeasure:Kr,IdmPoint:hr,IdmENC:ii},props:{map:{type:Object,default:void 0},token:{type:String},ts:{type:String},beforeLayer:{type:String,default:""},toggleVersion:{type:Number}},emits:["toggleVersion","activeWeatherLayers"],data(){return{weatherLayers:{},activeWeatherLayers:[],weatherWeight:0,otherLayers:{},otherWeight:0,showCoord:!1,showMeasure:!1,showPoint:!1,show3d:!1,meteo:void 0,source:"",gateway:"https://cbe.idmwx.com",mapProjection:"mercator",zoom:6,viewport:void 0,particleFactor:void 0,showRampColor:!1,activeWindLayer:!1,showWindFeather:!1,showWindParticle:!1,showCurrentIsoband:!1,showCurrentParticle:!1,enc:"",defaultMeteoToken:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNseTVudHJzYzAwNWUwbHBsZHkyaDRqczMiLCJyb2xlIjoxLCJuYW1lIjoiZmFrZUBvcm13eC5jb20iLCJwbGF0SWQiOiJnZDBtdDFkIiwiY29tcGFueSI6eyJpZCI6bnVsbCwiY2hpbGRyZW4iOltdfSwiaWF0IjoxNzIzMDI0MDI0LCJleHAiOjM5MzA1NDQwMjR9.RrKcdcMnq-FxBLJQ-i6lx2FscDE46y8EvHIemPW4HTg",helper:new pe}},watch:{ts:{handler(r,e){r&&e&&D(r).utc().format("yyyy-MM-DD HH")!==D(e).utc().format("yyyy-MM-DD HH")&&this.$nextTick(()=>{this.handleDateChange({tropicals:!1})})},immediate:!0},map:{handler(){this.map&&(this.map.on("zoomend",this.handleDragEndWithZoom4Json),this.map.on("dragend",this.handleDragEndWithZoom4Json),this.map.on("move",this.handleDragEndWithZoom4Image),this.viewport=new oe(this.map),this.handleRampColorInitial())},immediate:!0},enc:{handler(r,e){var a,o,i,s,n,l,h,p;r?((o=(a=this.map)==null?void 0:a.getLayer(r))==null||o.setLayoutProperty("visibility","visible"),(s=(i=this.map)==null?void 0:i.getLayer(e))==null||s.setLayoutProperty("visibility","none")):((l=(n=this.map)==null?void 0:n.getLayer("i4"))==null||l.setLayoutProperty("visibility","none"),(p=(h=this.map)==null?void 0:h.getLayer("hi"))==null||p.setLayoutProperty("visibility","none"))}},activeWeatherLayers:{handler(){var r,e,a,o,i,s,n,l,h,p,c,d,u,m,b,f,y,L;if(!this.map)return!1;this.activeWeatherLayers.length>0?((e=(r=this.map)==null?void 0:r.getLayer(this.enc))==null||e.setLayoutProperty("visibility","none"),(o=(a=this.map)==null?void 0:a.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))==null||o.setLayoutProperty("visibility","visible"),(s=this.map)!=null&&s.getLayer((i=this.viewport)==null?void 0:i.rampColorLayer)&&((n=this.map)!=null&&n.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))&&this.mapProjection==="mercator"&&((h=this.map)==null||h.moveLayer((l=this.viewport)==null?void 0:l.rampColorLayer,this.helper.mapboxCustomer.layers.countryBoundary.id)),(c=this.map)!=null&&c.getLayer((p=this.viewport)==null?void 0:p.particleLayer)&&((d=this.map)!=null&&d.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))&&this.mapProjection==="mercator"&&((m=this.map)==null||m.moveLayer((u=this.viewport)==null?void 0:u.particleLayer,this.helper.mapboxCustomer.layers.countryBoundary.id))):((f=(b=this.map)==null?void 0:b.getLayer(this.enc))==null||f.setLayoutProperty("visibility","visible"),(L=(y=this.map)==null?void 0:y.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))==null||L.setLayoutProperty("visibility","none")),this.$emit("activeWeatherLayers",this.activeWeatherLayers)},immediate:!0}},methods:{async fetchWeatherLayers(r={tropicals:!1}){var i,s,n,l,h,p,c,d;const e=new Date().valueOf();let a=0,o=0;if(this.map){const u=((i=this.map)==null?void 0:i.getZoom())+1,m=(s=this.map)==null?void 0:s.getBounds(),b=`${m._sw.lng},${m._sw.lat},${m._ne.lng},${m._ne.lat}`;if(this.particleFactor){const f=V.LayerHelper.WEATHER_LAYERS.find(y=>{var L;return((L=y.peer)==null?void 0:L.weight)===this.particleFactor.weight});this.particleFactor.particle?this.weatherWeight=this.weatherWeight&f.weight?this.weatherWeight:this.weatherWeight+f.weight:this.weatherWeight=this.weatherWeight&f.weight?this.weatherWeight-f.weight:this.weatherWeight}if(this.weatherWeight>0){let f=this.weatherWeight,y;if(r.tropicals||this.weatherWeight&256&&(y=this.weatherLayers.tropicals,y&&(f-=256,y.version=Math.random()+1)),f>0){const L=await $.get(`${this.gateway}/api/arc/weather/layers/links?l=${f}&v=${this.source}&z=${u}&bbox=${b}&t=${this.ts}`,{headers:{Authorization:this.token||this.defaultMeteoToken}});if(o=new Date().valueOf()-(e+a),console.log("weather links elapsed: ",o,", total: ",a+=o),((n=L==null?void 0:L.data)==null?void 0:n.code)===0){const g=(l=L==null?void 0:L.data)==null?void 0:l.data,x=[];for(const w in g)w==="ice-edge"&&(g[w]="https://idm-hz.oss-cn-hangzhou.aliyuncs.com/test/sea_ice_contours.geojson"),w!=="tropicals"&&x.push($.get(g[w],{headers:{Authorization:this.token||this.defaultMeteoToken,key:w},responseType:/\.(jpg|png)$/.test(g[w])?"blob":"json"}).catch(_=>{console.log(`[${w}] fetch layer error: ${_}`)}));const C=await Promise.all(x);this.weatherLayers={},C.map(w=>{var I,W,A,F;const _=((I=w==null?void 0:w.data)==null?void 0:I.data)||(w==null?void 0:w.data),N=(A=(W=w==null?void 0:w.config)==null?void 0:W.headers)==null?void 0:A.key;N&&_&&(this.weatherLayers[N]={raw:_,type:((F=w==null?void 0:w.config)==null?void 0:F.responseType)==="blob"?"image":"json",etime:this.ts})}),g.tropicals&&$.get(g.tropicals,{headers:{Authorization:this.token||this.defaultMeteoToken,key:"tropicals"}}).then(w=>{var I,W,A;const _=k.TropicalHelper.convert2Geojson(((I=w==null?void 0:w.data)==null?void 0:I.data)||(w==null?void 0:w.data)),N=(A=(W=w==null?void 0:w.config)==null?void 0:W.headers)==null?void 0:A.key;this.weatherLayers[N]={data:_,active:!0,cached:!1,type:"json",etime:this.ts,version:Math.random()+1}})}if(o=new Date().valueOf()-(e+a),console.log("weather layers elapsed: ",o,", total: ",a+=o),this.weatherLayers["swell-direction"]||this.weatherLayers["swell-height"]){const g=(h=this.weatherLayers["swell-direction"])==null?void 0:h.raw,x=(p=this.weatherLayers["swell-height"])==null?void 0:p.raw;delete this.weatherLayers["swell-direction"],delete this.weatherLayers["swell-height"],this.weatherLayers.swell={type:"json",direction:g,height:{raw:x},etime:this.ts}}if(this.weatherLayers["current-direction"]||this.weatherLayers["current-speed"]){const g=(c=this.weatherLayers["current-direction"])==null?void 0:c.raw,x=(d=this.weatherLayers["current-speed"])==null?void 0:d.raw;delete this.weatherLayers["current-direction"],delete this.weatherLayers["current-speed"],this.weatherLayers.current={type:"json",direction:g,speed:{raw:x},etime:this.ts}}}y&&(y.etime=this.ts,y.cached=!0,this.weatherLayers.tropicals=y)}this.handleWeatherLayerToggle(),this.handleDragEndWithZoom4Json()}this.$emit("toggleVersion",Math.random())},async fetchOtherLayers(r={all:!1,dayNight:!1,enc:!1}){var e,a,o,i;if(this.map){let s=this.otherWeight;if(s){let n=!1;if(this.otherWeight&2048&&(s=this.otherWeight-2048,n=!0),s){if(r.all){const l=await $.get(`${this.gateway}/api/arc/other/layers/links?l=${s}&t=${this.ts}`,{headers:{Authorization:this.token||this.defaultMeteoToken}});if(((e=l==null?void 0:l.data)==null?void 0:e.code)===0){const h=(a=l==null?void 0:l.data)==null?void 0:a.data,p=[];for(const d in h)p.push($.get(h[d],{headers:{Authorization:this.token||this.defaultMeteoToken,key:d}}));const c=await Promise.all(p);this.otherLayers={enc:n},c.map(d=>{var b,f,y;const u=((b=d==null?void 0:d.data)==null?void 0:b.data)||(d==null?void 0:d.data),m=(y=(f=d==null?void 0:d.config)==null?void 0:f.headers)==null?void 0:y.key;this.otherLayers[m]=u})}}else if(r.dayNight&&s&1024){const l=await $.get(`${this.gateway}/api/arc/other/layers/links?l=1024&t=${this.ts}`,{headers:{Authorization:this.token||this.defaultMeteoToken}});if(((o=l==null?void 0:l.data)==null?void 0:o.code)===0){const h=(i=l==null?void 0:l.data)==null?void 0:i.data,p=[];for(const d in h)p.push($.get(h[d],{headers:{Authorization:this.token||this.defaultMeteoToken,key:d}}));(await Promise.all(p)).map(d=>{var b,f,y;const u=((b=d==null?void 0:d.data)==null?void 0:b.data)||(d==null?void 0:d.data),m=(y=(f=d==null?void 0:d.config)==null?void 0:f.headers)==null?void 0:y.key;this.otherLayers[m]=u})}}}else this.otherLayers={enc:n}}else this.otherLayers={};this.handleBeforeLayerToggle()}},handleRampColorState(){var r;if(this.showRampColor=!1,this.showWindParticle=!1,this.showCurrentParticle=!1,(r=this.particleFactor)!=null&&r.particle)this.showRampColor=!0,this.particleFactor.key==="wind"&&(this.showWindParticle=!0),this.particleFactor.key==="current"&&(this.showCurrentParticle=!0);else for(const e of this.activeWeatherLayers)["png","jpg"].includes(e.type)&&(this.showRampColor=!0);this.activeWindLayer=!!this.activeWeatherLayers.find(e=>e.key==="wind"),this.$refs.layer&&(this.$refs.layer.activeWeatherLayers=this.activeWeatherLayers)},handleRampColorInitial(){var r,e,a,o,i,s,n,l,h,p,c,d;this.viewport.map.getSource((r=this.viewport)==null?void 0:r.rampColorSource)||this.viewport.map.addSource((e=this.viewport)==null?void 0:e.rampColorSource,{type:"canvas",canvas:(a=this.viewport)==null?void 0:a.rampColorCanvas,animate:!0,coordinates:this.viewport.getBoundLngLat()}),this.viewport.map.getLayer((o=this.viewport)==null?void 0:o.rampColorLayer)||this.viewport.map.addLayer({type:"raster",id:(i=this.viewport)==null?void 0:i.rampColorLayer,source:(s=this.viewport)==null?void 0:s.rampColorSource,layout:{visibility:"none"}},this.beforeLayer),this.viewport.map.getSource((n=this.viewport)==null?void 0:n.particleSource)||this.viewport.map.addSource((l=this.viewport)==null?void 0:l.particleSource,{type:"canvas",canvas:(h=this.viewport)==null?void 0:h.particleCanvas,animate:!0,coordinates:this.viewport.getBoundLngLat()}),this.viewport.map.getLayer((p=this.viewport)==null?void 0:p.particleLayer)||this.viewport.map.addLayer({type:"raster",id:(c=this.viewport)==null?void 0:c.particleLayer,source:(d=this.viewport)==null?void 0:d.particleSource,layout:{visibility:"none"}},this.beforeLayer)},handleDragEndWithZoom4Json(){var p,c,d,u;const r=new Date().valueOf();let e=0,a=0;const o=(p=this.map)==null?void 0:p.getBounds(),i=this.map.getZoom(),s=k.LngLatHelper.convertToStdLng(o._sw.lng),n=k.LngLatHelper.convertToStdLng(o._ne.lng),l=Math.floor(o._sw.lat),h=Math.ceil(o._ne.lat);for(const m in this.weatherLayers)if(this.weatherLayers[m].active&&this.weatherLayers[m].type==="json"){this.weatherLayers[m].active=!1,this.weatherLayers[m].version=Math.random()+1;let b=[];if(["swell","current"].includes(m)){const f=((c=this.weatherLayers[m])==null?void 0:c.direction)||{};for(const y in f)if(y>l&&y<h&&(!(i<=this.zoom)||y%(i<this.zoom/2?5:3)===0)){const L=f[y].lng;s>n?L.forEach((g,x)=>{var C;if((g>=s&&g<=180||g>=-180&&g<=n)&&(!(i<=this.zoom)||g%(i<this.zoom/2?5:3)===0)){const w=v.point([g,y],{val:f[y].val[x],spd:(C=f[y].spd)==null?void 0:C[x]});b.push(w)}}):L.forEach((g,x)=>{var C;if(g>=s&&g<=n&&(!(i<=this.zoom)||g%(i<this.zoom/2?5:3)===0)){const w=v.point([g,y],{val:f[y].val[x],spd:(C=f[y].spd)==null?void 0:C[x]});b.push(w)}})}if(a=new Date().valueOf()-(r+e),console.log("direction elapsed: ",a,", total: ",e+=a),m==="swell"){const y=this.weatherLayers[m].height;if(y){if(!y.data){const L=[];for(const g in(d=y.raw)==null?void 0:d.LineString){const x=y.raw.LineString[g];for(const C of x)L.push(v.lineString(C,{val:Number(g)}));y.data=v.featureCollection(L)}}if(y.data){const L=this.handleBboxClip(y.data,o);b=b.concat(L)}a=new Date().valueOf()-(r+e),console.log("height elapsed: ",a,", total: ",e+=a)}}if(m==="current"){const y=this.weatherLayers[m].speed;if(y){if(!y.data){const g=[];for(const x in(u=y.raw)==null?void 0:u.Polygon){const C=y.raw.Polygon[x];for(const w of C)g.push(v.polygon(w,{val:Number(x)}))}y.data=v.featureCollection(g)}const L=i<this.zoom?y.data.features.filter(g=>g.properties.val>.5):y.data.features;b=b.concat(L),a=new Date().valueOf()-(r+e),console.log("speed elapsed: ",a,", total: ",e+=a)}}}else if(m==="wind"){const f=this.weatherLayers.wind.raw;for(const y in f)if(y>l&&y<h&&(!(i<=this.zoom)||y%(i<this.zoom/2?5:3)===0)){const L=f[y].lng;s>n?L.forEach((g,x)=>{if((g>=s&&g<=180||g>=-180&&g<=n)&&(!(i<=this.zoom)||g%(i<this.zoom/2?5:3)===0)){const C=v.point([g,y],{val:f[y].val[x],spd:f[y].spd[x]});b.push(C)}}):L.forEach((g,x)=>{if(g>=s&&g<=n&&(!(i<=this.zoom)||g%(i<this.zoom/2?5:3)===0)){const C=v.point([g,y],{val:f[y].val[x],spd:f[y].spd[x]});b.push(C)}})}a=new Date().valueOf()-(r+e),console.log("wind barb elapsed: ",a,", total: ",e+=a)}else if(m==="sig-wave-height"){if(this.weatherLayers[m].data)b=this.weatherLayers[m].data;else{const f=this.weatherLayers[m].raw;if(f){const y=[];for(const L in f.Polygon){const g=f.Polygon[L];for(const x of g)y.push(v.polygon(x,{val:Number(L)}))}for(const L in f.Point){const g=f.Point[L];for(const x of g)y.push(...v.points(x,{val:Number(L)}).features)}b=b.concat(y)}}a=new Date().valueOf()-(r+e),console.log("sigWave elapsed: ",a,", total: ",e+=a)}else if(m==="prmsl"){if(this.weatherLayers[m].data)b=this.weatherLayers[m].data;else{const f=this.weatherLayers[m].raw;if(f){const y=[];for(const L in f.LineString){const g=f.LineString[L];for(const x of g)y.push(v.lineString(x,{val:Number(L)}))}for(const L in f.Point)f.Point[L].lng.forEach((g,x)=>{g=k.LngLatHelper.convertToStdLng(g),y.push(v.point([g,L],{val:f.Point[L].val[x],type:f.Point[L].type[x]}))});b=b.concat(y)}}a=new Date().valueOf()-(r+e),console.log("prmsl elapsed: ",a,", total: ",e+=a)}else if(m==="arctic"||m==="iceberg"){if(this.weatherLayers[m].data)b=this.weatherLayers[m].data;else{const f=this.weatherLayers[m].raw;if(f){const y=[];for(const L in f.LineString){const g=f.LineString[L];for(const x of g)y.push(v.lineString(x,{val:Number(L)}))}b=b.concat(y)}}a=new Date().valueOf()-(r+e)}console.log(m," elapsed: ",a,", total: ",e+=a),b.length&&(this.weatherLayers[m].data=v.featureCollection(b)),this.weatherLayers[m].active=!0,this.weatherLayers[m].version=Math.random()+1}},handleDragEndWithZoom4Image(){for(const r in this.weatherLayers)this.weatherLayers[r].active&&this.weatherLayers[r].type==="image"&&(this.weatherLayers[r].active=!0,this.weatherLayers[r].version=Math.random()+1)},handleBboxClip(r,e){const a=[],o=k.LngLatHelper.convertToStdLng(e._sw.lng),i=k.LngLatHelper.convertToStdLng(e._ne.lng);return r.features.forEach(s=>{if(s.geometry.type!=="Point")if(o>i){let n=[o,e._sw.lat,180,e._ne.lat],l=v.bboxClip(s,n);l.geometry.coordinates.length&&a.push(l),n=[-180,e._sw.lat,i,e._ne.lat],l=v.bboxClip(s,n),l.geometry.coordinates.length&&a.push(l)}else{const n=[o,e._sw.lat,i,e._ne.lat],l=v.bboxClip(s,n);l.geometry.coordinates.length&&a.push(l)}else a.push(s)}),a},handleWeatherLayerToggle(){var r;for(const e in this.weatherLayers)this.weatherLayers[e].active=!1,this.weatherLayers[e].version=Math.random()+1;for(const e of this.activeWeatherLayers){let a=e.key;a.indexOf("swell")>-1?a="swell":a.indexOf("current")>-1&&(a="current"),this.weatherLayers[a]&&(this.weatherLayers[a].active=!0,this.weatherLayers[a].version=Math.random()+1,((r=this.particleFactor)==null?void 0:r.key)===a&&this.weatherLayers[`${a}-particle`]&&(this.weatherLayers[`${a}-particle`].active=this.particleFactor.particle))}this.handleBeforeLayerToggle()},handleBeforeLayerToggle(){var r,e,a,o,i,s,n,l,h,p,c,d,u;(r=this.map)!=null&&r.getLayer(this.beforeLayer)&&((e=this.activeWeatherLayers)!=null&&e.length||(a=this.otherLayers)!=null&&a["war-zones"]||(o=this.otherLayers)!=null&&o["gmdss-areas"]||(i=this.otherLayers)!=null&&i["load-lines"]||(s=this.otherLayers)!=null&&s["high-risk-area"]||(n=this.otherLayers)!=null&&n["time-zones"]||(l=this.otherLayers)!=null&&l.pirates||(h=this.otherLayers)!=null&&h.ports||(p=this.otherLayers)!=null&&p.enc||(c=this.otherLayers)!=null&&c["voluntary-reporting-area"]||(d=this.otherLayers)!=null&&d["eca-zones"]||(u=this.otherLayers)!=null&&u["special-area"])&&this.map.setLayoutProperty(this.beforeLayer,"visibility","visible")},handleDateChange(r={tropicals:!1}){this.fetchWeatherLayers(r),this.fetchOtherLayers({dayNight:!0})},handleWeatherLayerChange(r,e){this.showWindParticle=!1,this.showCurrentParticle=!1,this.map?setTimeout(()=>{this.activeWeatherLayers=JSON.parse(JSON.stringify(r));const a=this.activeWeatherLayers.some(s=>{var n;return["wind","current"].includes(s.key)&&(!((n=Object.keys(s))!=null&&n.some(l=>l==="particle"))||!!s.particle)}),o=this.activeWeatherLayers.some(s=>["png","jpg"].includes(s.type));a&&!o?(this.activeWeatherLayers.forEach(s=>{s.key==="wind"&&s.particle&&(this.particleFactor=s,this.showWindParticle=!0),s.key==="current"&&s.particle&&(this.particleFactor=s,this.showCurrentParticle=!0)}),this.particleFactor.particle=!0):o&&this.particleFactor&&(this.particleFactor.particle=!1);const i=r==null?void 0:r.reduce((s,n)=>s+(s&(n==null?void 0:n.weight)?0:n==null?void 0:n.weight),0);this.weatherWeight!==i||this.source!==e?(this.source=e,this.weatherWeight=i,this.fetchWeatherLayers({tropicals:!1})):this.handleWeatherLayerToggle()}):setTimeout(()=>{this.handleWeatherLayerChange(r,e)},500)},handleOtherLayerChange(r){if(!this.map)setTimeout(()=>{this.handleOtherLayerChange(r)},500);else{const e=r==null?void 0:r.reduce((a,o)=>a+(o==null?void 0:o.weight),0);r.find(a=>a.key==="enc")?this.enc="i4":this.enc="",this.otherWeight!=e&&(this.otherWeight=e,this.fetchOtherLayers({all:!0}))}},async handlePointChange(r){console.log(this.ts);const e=this.ts?D(this.ts).utc().add(-1,"d").format():D().add(-1,"d").utc().format(),a={lat:r.lat,lng:r.lng,datetime:e,forecastDays:8,selfHosted:!1},o=await $.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,a,{headers:{Authorization:this.token||this.defaultMeteoToken}});(o==null?void 0:o.data.code)===0&&(this.meteo={...o==null?void 0:o.data.data,...r})},handle3dToggle(r){var e,a,o,i,s,n,l,h,p,c,d,u,m,b,f,y,L,g,x,C;r?(this.map.setProjection("globe"),this.mapProjection="globe",(a=this.map)!=null&&a.getLayer((e=this.viewport)==null?void 0:e.rampColorLayer)&&((o=this.map)!=null&&o.getLayer(this.helper.mapboxCustomer.layers.water.id))&&((s=this.map)==null||s.moveLayer((i=this.viewport)==null?void 0:i.rampColorLayer,this.helper.mapboxCustomer.layers.water.id)),(l=this.map)!=null&&l.getLayer((n=this.viewport)==null?void 0:n.particleLayer)&&((h=this.map)!=null&&h.getLayer(this.helper.mapboxCustomer.layers.water.id))&&((c=this.map)==null||c.moveLayer((p=this.viewport)==null?void 0:p.particleLayer,this.helper.mapboxCustomer.layers.water.id)),this.map.off("zoomend",this.handleDragEndWithZoom4Json),this.map.off("dragend",this.handleDragEndWithZoom4Json),this.map.off("move",this.handleDragEndWithZoom4Image)):(this.map.setProjection("mercator"),this.mapProjection="mercator",this.map.on("zoomend",this.handleDragEndWithZoom4Json),this.map.on("dragend",this.handleDragEndWithZoom4Json),this.map.on("move",this.handleDragEndWithZoom4Image),this.handleDragEndWithZoom4Image(),this.handleDragEndWithZoom4Json(),(u=this.map)!=null&&u.getLayer((d=this.viewport)==null?void 0:d.rampColorLayer)&&((m=this.map)!=null&&m.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))&&((f=this.map)==null||f.moveLayer((b=this.viewport)==null?void 0:b.rampColorLayer,this.helper.mapboxCustomer.layers.countryBoundary.id)),(L=this.map)!=null&&L.getLayer((y=this.viewport)==null?void 0:y.particleLayer)&&((g=this.map)!=null&&g.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))&&((C=this.map)==null||C.moveLayer((x=this.viewport)==null?void 0:x.particleLayer,this.helper.mapboxCustomer.layers.countryBoundary.id)))},handleParticle(r){this.particleFactor=r,this.weatherLayers[r.key]&&(this.weatherLayers[r.key].particle=r.particle),this.activeWeatherLayers.map(o=>{var i;return o.key===r.key?o.particle=r.particle:(i=Object.keys(o))!=null&&i.some(s=>s==="particle")&&(o.particle=!1),o});let e=localStorage.getItem("activeWeatherLayersCache");const a=JSON.parse(e)||[];a==null||a.forEach(o=>{var i;o.key===r.key?o.particle=r.particle:(i=Object.keys(o))!=null&&i.some(s=>s==="particle")&&(o.particle=!1)}),localStorage.setItem("activeWeatherLayersCache",JSON.stringify(a)),this.fetchWeatherLayers({tropicals:!1})},handleToggleVersion(){this.$emit("toggleVersion",Math.random())}}},si={key:0,className:"map-gl-home"};function ni(r,e,a,o,i,s){var z,Z,K,se,ee,P,O,ne,te,le,ae,re,ie,ye,fe,ue,ge,be,Le,we,xe,_e,ve,Ce,ke,Ee;const n=t.resolveComponent("IdmGlLayer"),l=t.resolveComponent("IdmENC"),h=t.resolveComponent("IdmSigWave"),p=t.resolveComponent("IdmSwell"),c=t.resolveComponent("IdmPrmsl"),d=t.resolveComponent("IdmIceberg"),u=t.resolveComponent("IdmTropicals"),m=t.resolveComponent("IdmCurrents"),b=t.resolveComponent("IdmCurrentParticle"),f=t.resolveComponent("IdmWindBarb"),y=t.resolveComponent("IdmWindParticle"),L=t.resolveComponent("IdmPrecip3h"),g=t.resolveComponent("IdmVisibility"),x=t.resolveComponent("IdmWaterTemp"),C=t.resolveComponent("IdmTemp"),w=t.resolveComponent("IdmArctic"),_=t.resolveComponent("IdmWarZone"),N=t.resolveComponent("IdmGmdssArea"),I=t.resolveComponent("IdmEcaZone"),W=t.resolveComponent("IdmAlertZone"),A=t.resolveComponent("IdmPort"),F=t.resolveComponent("IdmLoadLine"),G=t.resolveComponent("IdmTimezone"),J=t.resolveComponent("IdmVRA"),X=t.resolveComponent("IdmSpecialArea"),q=t.resolveComponent("IdmTerminator"),Y=t.resolveComponent("IdmLatLng"),U=t.resolveComponent("IdmMeasure"),Q=t.resolveComponent("IdmPoint");return a.map?(t.openBlock(),t.createElementBlock("div",si,[t.createVNode(n,t.mergeProps({ref:"layer",map:a.map,"toggle-version":a.toggleVersion,"map-projection":i.mapProjection,showWindFeather:i.showWindFeather,showWindParticle:i.showWindParticle,showCurrentIsoband:i.showCurrentIsoband,showCurrentParticle:i.showCurrentParticle},r.$attrs,{onWeather:s.handleWeatherLayerChange,onOther:s.handleOtherLayerChange,onToggleWindParticle:e[0]||(e[0]=M=>i.showWindParticle=M),onToggleWindFeather:e[1]||(e[1]=M=>i.showWindFeather=M),onToggleCurrentParticle:e[2]||(e[2]=M=>i.showCurrentParticle=M),onToggleCurrentIsoband:e[3]||(e[3]=M=>i.showCurrentIsoband=M),onCoordinate:e[4]||(e[4]=M=>i.showCoord=M),onMeasure:e[5]||(e[5]=M=>i.showMeasure=M),onPoint:e[6]||(e[6]=M=>i.showPoint=M),on3d:s.handle3dToggle,onHandleToggleVersion:s.handleToggleVersion}),null,16,["map","toggle-version","map-projection","showWindFeather","showWindParticle","showCurrentIsoband","showCurrentParticle","onWeather","onOther","on3d","onHandleToggleVersion"]),t.createVNode(l,t.mergeProps({map:a.map,token:a.token,enabled:(z=i.otherLayers)==null?void 0:z.enc,"toggle-version":a.toggleVersion},r.$attrs,{onEnc:e[7]||(e[7]=M=>i.enc=M)}),null,16,["map","token","enabled","toggle-version"]),t.createVNode(h,t.mergeProps({map:a.map,"sig-wave":(Z=i.weatherLayers)==null?void 0:Z["sig-wave-height"],"before-layer":a.beforeLayer,activeWeatherLayers:i.activeWeatherLayers},r.$attrs),null,16,["map","sig-wave","before-layer","activeWeatherLayers"]),t.createVNode(p,t.mergeProps({map:a.map,swell:(K=i.weatherLayers)==null?void 0:K.swell,"before-layer":a.beforeLayer,activeWeatherLayers:i.activeWeatherLayers},r.$attrs),null,16,["map","swell","before-layer","activeWeatherLayers"]),t.createVNode(c,t.mergeProps({map:a.map,prmsl:(se=i.weatherLayers)==null?void 0:se.prmsl,"before-layer":a.beforeLayer,"active-weather-layers":i.activeWeatherLayers},r.$attrs),null,16,["map","prmsl","before-layer","active-weather-layers"]),t.createVNode(d,t.mergeProps({map:a.map,iceberg:(ee=i.weatherLayers)==null?void 0:ee.iceberg,"before-layer":a.beforeLayer},r.$attrs),null,16,["map","iceberg","before-layer"]),t.createVNode(u,t.mergeProps({map:a.map,date:a.ts,tropicals:(P=i.weatherLayers)==null?void 0:P.tropicals,"before-layer":a.beforeLayer},r.$attrs),null,16,["map","date","tropicals","before-layer"]),t.createVNode(m,t.mergeProps({map:a.map,"map-projection":i.mapProjection,current:(O=i.weatherLayers)==null?void 0:O.current,"before-layer":a.beforeLayer,showCurrentIsoband:i.showCurrentIsoband,showCurrentParticle:i.showCurrentParticle,"margin-bottom":i.activeWindLayer?i.showRampColor?"84px":"56px":i.showRampColor?"56px":"30px","toggle-version":a.toggleVersion,"weather-layers":i.weatherLayers},r.$attrs,{onParticle:s.handleParticle,onHandleToggleVersion:s.handleToggleVersion}),null,16,["map","map-projection","current","before-layer","showCurrentIsoband","showCurrentParticle","margin-bottom","toggle-version","weather-layers","onParticle","onHandleToggleVersion"]),t.createVNode(b,t.mergeProps({viewport:i.viewport,factor:(ne=i.weatherLayers)==null?void 0:ne["current-particle"],"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(f,t.mergeProps({ref:"windBarb",map:a.map,"map-projection":i.mapProjection,wind:(te=i.weatherLayers)==null?void 0:te.wind,current:(le=i.weatherLayers)==null?void 0:le.current,"before-layer":a.beforeLayer,"margin-bottom":i.showRampColor?"56px":"30px",showWindFeather:i.showWindFeather,showWindParticle:i.showWindParticle},r.$attrs,{"toggle-version":a.toggleVersion,"weather-layers":i.weatherLayers,onParticle:s.handleParticle}),null,16,["map","map-projection","wind","current","before-layer","margin-bottom","showWindFeather","showWindParticle","toggle-version","weather-layers","onParticle"]),t.createVNode(y,t.mergeProps({viewport:i.viewport,factor:(ae=i.weatherLayers)==null?void 0:ae["wind-particle"],"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(L,t.mergeProps({viewport:i.viewport,factor:(re=i.weatherLayers)==null?void 0:re.precip3h,"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(g,t.mergeProps({viewport:i.viewport,factor:(ie=i.weatherLayers)==null?void 0:ie.visibility,"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(x,t.mergeProps({viewport:i.viewport,factor:(ye=i.weatherLayers)==null?void 0:ye["water-temp"],"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(C,t.mergeProps({viewport:i.viewport,factor:(fe=i.weatherLayers)==null?void 0:fe.temp,"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(w,t.mergeProps({viewport:i.viewport,factor:(ue=i.weatherLayers)==null?void 0:ue.arctic,"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(_,t.mergeProps({map:a.map,zone:(ge=i.otherLayers)==null?void 0:ge["war-zones"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","zone","before-layer"]),t.createVNode(N,t.mergeProps({map:a.map,area:(be=i.otherLayers)==null?void 0:be["gmdss-areas"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","area","before-layer"]),t.createVNode(I,t.mergeProps({map:a.map,zone:(Le=i.otherLayers)==null?void 0:Le["eca-zones"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","zone","before-layer"]),t.createVNode(W,t.mergeProps({map:a.map,zone:(we=i.otherLayers)==null?void 0:we["alert-zones"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","zone","before-layer"]),t.createVNode(A,t.mergeProps({map:a.map,port:(xe=i.otherLayers)==null?void 0:xe.ports,"before-layer":a.beforeLayer},r.$attrs),null,16,["map","port","before-layer"]),t.createVNode(F,t.mergeProps({map:a.map,line:(_e=i.otherLayers)==null?void 0:_e["load-lines"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","line","before-layer"]),t.createVNode(G,t.mergeProps({map:a.map,zone:(ve=i.otherLayers)==null?void 0:ve["time-zones"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","zone","before-layer"]),t.createVNode(J,t.mergeProps({map:a.map,area:(Ce=i.otherLayers)==null?void 0:Ce["voluntary-reporting-area"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","area","before-layer"]),t.createVNode(X,t.mergeProps({map:a.map,area:(ke=i.otherLayers)==null?void 0:ke["special-area"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","area","before-layer"]),t.createVNode(q,t.mergeProps({map:a.map,area:(Ee=i.otherLayers)==null?void 0:Ee["day-night"]},r.$attrs),null,16,["map","area"]),t.createVNode(Y,t.mergeProps({map:a.map,show:i.showCoord,"toggle-version":a.toggleVersion},r.$attrs),null,16,["map","show","toggle-version"]),t.createVNode(U,t.mergeProps({map:a.map,show:i.showMeasure},r.$attrs),null,16,["map","show"]),t.createVNode(Q,t.mergeProps({map:a.map,show:i.showPoint,meteo:i.meteo,ts:a.ts,token:a.token},r.$attrs,{onPoint:s.handlePointChange}),null,16,["map","show","meteo","ts","token","onPoint"])])):t.createCommentVNode("",!0)}const me=E(oi,[["render",ni]]),li={install(r){r.component("MapboxGL",me),r.component("TropicalGL",ce),r.component("LatLngGL",he)}};S.LatLngGL=he,S.MapboxGL=me,S.MapboxGLPlugin=li,S.MapboxHelper=pe,S.ParticleSchema=R,S.TropicalGL=ce,S.Viewport=oe,S.WebGL=H,S.WebGLSchema=B,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
204
+ </svg>`,te=document.createElement("div");te.className="hurricane-hourly-marker",te.innerHTML=`<div class="${P.geometry.coordinates[1]>=0?"center north":"center south"}">${ne}</div>`;const le=new j.Marker(te).setLngLat(P.geometry.coordinates).addTo(this.map);if(this.interpolateMarkers.push(le),(G=P.properties)!=null&&G.showCircle){const ae={radius:100,coordinates:P.geometry.coordinates},re={radius:200,coordinates:P.geometry.coordinates},ie={radius:500,coordinates:P.geometry.coordinates};(J=this.circleSourceData)==null||J.features.push(v.circle(ae.coordinates,ae.radius,{steps:100,units:"kilometers",properties:{type:"tropicalCircle"}})),(X=this.circleSourceData)==null||X.features.push(v.circle(re.coordinates,re.radius,{steps:100,units:"kilometers",properties:{type:"tropicalCircle"}})),(q=this.circleSourceData)==null||q.features.push(v.circle(ie.coordinates,ie.radius,{steps:100,units:"kilometers",properties:{type:"tropicalCircle"}}))}(U=(Y=this.map)==null?void 0:Y.getSource(this.circleSource))==null||U.setData(this.circleSourceData)}}else(Q=this.map)!=null&&Q.getSource(this.interpolateSource)&&((z=this.map)==null||z.getSource(this.interpolateSource).setData(this.empty))},handleClick(r){var s,n,l,h,p,c,d,u;const e=r.features[0],a=(n=(s=this.tropicals)==null?void 0:s.data)==null?void 0:n.features.filter(m=>{var b;return m.geometry.type==="LineString"&&m.properties.type==="forecast"&&m.properties.name===((b=e==null?void 0:e.properties)==null?void 0:b.name)});a.sort((m,b)=>{var f,y,L,g;return((f=m.properties)==null?void 0:f.model)==="cma"?-1:((y=m.properties)==null?void 0:y.model)==="jma"?((L=b.properties)==null?void 0:L.model)==="cma"?1:-1:m.properties.model==="ecmwf"?["jma","cma"].includes((g=b.properties)==null?void 0:g.model)?1:-1:0});const o=(h=(l=this.tropicals)==null?void 0:l.data)==null?void 0:h.features.filter(m=>{var b;return m.geometry.type==="LineString"&&m.properties.type==="history"&&m.properties.name===((b=e==null?void 0:e.properties)==null?void 0:b.name)});this.activeTropicals={name:(p=e==null?void 0:e.properties)==null?void 0:p.name,forecasts:a.map(m=>m.properties),history:(c=o[0])==null?void 0:c.properties,showCircle:(u=(d=a[0])==null?void 0:d.properties)==null?void 0:u.showCircle},this.showTropicals=!0;const i=document.getElementById("active-tropical");this.activeTropicalsMarker?this.activeTropicalsMarker.setLngLat([r.lngLat.lng,r.lngLat.lat]):this.activeTropicalsMarker=new j.Marker(i).setLngLat([r.lngLat.lng,r.lngLat.lat]).setOffset([220,0]).addTo(this.map)},handleForecastToggle(r){var o,i,s,n,l,h;r.disabled=!r.disabled;const e=`${r.name}-${r.model}`,a=(i=(o=this.map)==null?void 0:o.getSource(this.source)._data)==null?void 0:i.features;a.forEach(p=>{p.properties.category===e&&(p.properties.disabled=r.disabled)}),this.interpolateData.forEach(p=>{p.properties.category===e&&(p.properties.disabled=r.disabled)}),(n=(s=this.map)==null?void 0:s.getSource(this.source))==null||n.setData(v.featureCollection(a)),(h=(l=this.map)==null?void 0:l.getSource(this.clusterSource))==null||h.setData(v.featureCollection(a)),this.handleDateChange()},handleStrikeProbability(r){this.$emit("tropicalProbability",r)},handleToggleCircles(r){var e,a;r.showCircle=!r.showCircle,(a=(e=this.tropicals.data)==null?void 0:e.features)==null||a.forEach(o=>{o.properties.name===r.name&&(o.properties.showCircle=r.showCircle)}),this.handleRender()},handleDrawCircle(){var r,e;(r=this.map)!=null&&r.getSource(this.circleSource)?(e=this.map)==null||e.getSource(this.circleSource).setData(this.circleSourceData):(this.map.addSource(this.circleSource,{type:"geojson",data:this.circleSourceData}),this.map.addLayer({id:this.circleLayer,type:"line",source:this.circleSource,filter:["all",["==","$type","Polygon"],["==","type","tropicalCircle"]],paint:{"line-color":"#fff","line-width":2,"line-opacity":1,"line-dasharray":[1,1]}}))},handleComputePolygons(r){const e=[];for(const a of r){const o=a.properties.wind,i={ne:o.r7ne>=0?o.r7ne:void 0,se:o.r7se>=0?o.r7se:void 0,sw:o.r7sw>=0?o.r7sw:void 0,nw:o.r7nw>=0?o.r7nw:void 0},s=this.handleComputeArc(a.geometry.coordinates,i,{...a.properties,level:7});e.push(s);const n={ne:o.r10ne>=0?o.r10ne:void 0,se:o.r10se>=0?o.r10se:void 0,sw:o.r10sw>=0?o.r10sw:void 0,nw:o.r10nw>=0?o.r10nw:void 0},l=this.handleComputeArc(a.geometry.coordinates,n,{...a.properties,level:10});e.push(l)}return e},handleComputeArc(r,e,a){var s;const o=[];for(const n in e){const l=e[n]??0;let h;switch(n){case"ne":h=v.lineArc(r,l*1.852,0,90,{steps:l>0?64:1});break;case"se":h=v.lineArc(r,l*1.852,90,180,{steps:l>0?64:1});break;case"sw":h=v.lineArc(r,l*1.852,180,270,{steps:l>0?64:1});break;case"nw":h=v.lineArc(r,l*1.852,270,360,{steps:l>0?64:1});break}o.push(...(s=h==null?void 0:h.geometry)==null?void 0:s.coordinates)}const i=v.lineString(o);return v.lineToPolygon(i,{properties:a})}}},Ft={id:"active-tropical",class:"active-tropical"},jt={class:"header-box"},$t={class:"main"},Ht={key:0},Ut={class:"sub"},Zt={id:"meteoBox",class:"main-box"},Gt={class:"content"},Jt={class:"row"},Xt={class:"col col-left",style:{"justify-content":"flex-start"}},qt={class:"col col-right",style:{"justify-content":"flex-start"}},Yt={class:"row"},Qt={class:"col col-24",style:{"justify-content":"flex-start"}},Kt={class:"forecast-models"},ea=["onClick"],ta={class:"more"};function aa(r,e,a,o,i,s){var n,l,h,p,c,d,u,m,b,f,y,L,g,x,C;return t.withDirectives((t.openBlock(),t.createElementBlock("div",Ft,[t.createElementVNode("div",jt,[t.createElementVNode("div",{class:"iconfont close-btn",onClick:e[0]||(e[0]=w=>i.showTropicals=!1)},""),t.createElementVNode("div",$t,[(l=(n=i.activeTropicals)==null?void 0:n.history)!=null&&l.level?(t.openBlock(),t.createElementBlock("span",Ht,t.toDisplayString((p=(h=i.activeTropicals)==null?void 0:h.history)==null?void 0:p.level)+" , ",1)):t.createCommentVNode("",!0),t.createTextVNode(t.toDisplayString((c=i.activeTropicals)==null?void 0:c.name),1)]),t.createElementVNode("div",Ut," Last update: "+t.toDisplayString(s.computeTime(((u=(d=i.activeTropicals)==null?void 0:d.history)==null?void 0:u.updated)||((f=(b=(m=i.activeTropicals)==null?void 0:m.forecasts)==null?void 0:b.filter(w=>!w.disabled)[0])==null?void 0:f.date))),1)]),t.createElementVNode("div",Zt,[t.createElementVNode("div",Gt,[t.createElementVNode("div",Jt,[t.createElementVNode("div",Xt,[e[2]||(e[2]=t.createElementVNode("label",null,"Wind speed : ",-1)),t.createElementVNode("span",null,t.toDisplayString(((L=(y=i.activeTropicals)==null?void 0:y.history)==null?void 0:L.kts)||"-")+"[kts]",1)]),t.createElementVNode("div",qt,[e[3]||(e[3]=t.createElementVNode("label",null,"Pressure : ",-1)),t.createElementVNode("span",null,t.toDisplayString(((x=(g=i.activeTropicals)==null?void 0:g.history)==null?void 0:x.pressure)||"-")+"[hPa]",1)])]),t.createElementVNode("div",Yt,[t.createElementVNode("div",Qt,[e[4]||(e[4]=t.createElementVNode("label",{style:{width:"max-content"}},"Forecast Models : ",-1)),t.createElementVNode("div",Kt,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList((C=i.activeTropicals)==null?void 0:C.forecasts,(w,_)=>{var N,I,W,A;return t.openBlock(),t.createElementBlock("div",{key:_,class:t.normalizeClass(["model",w.disabled?"":"active",_>0&&_<((I=(N=i.activeTropicals)==null?void 0:N.forecasts)==null?void 0:I.length)-1&&((A=(W=i.activeTropicals)==null?void 0:W.forecasts)==null?void 0:A.length)>2?"center-child":""]),onClick:F=>s.handleForecastToggle(w)},[t.createElementVNode("span",{class:t.normalizeClass(w.model)},t.toDisplayString(w.model),3)],10,ea)}),128))])])]),e[5]||(e[5]=t.createStaticVNode('<div class="row" style="padding:0;height:1px;margin:10px 0;background:var(--idm-black-1);" data-v-726fd7f6></div><div class="row" style="padding:2px 10px;" data-v-726fd7f6><div class="legend" data-v-726fd7f6><div class="icon td" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>TD</div></div><div class="legend" data-v-726fd7f6><div class="icon ts" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>TS</div></div><div class="legend" data-v-726fd7f6><div class="icon sts" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>STS</div></div><div class="legend" data-v-726fd7f6><div class="icon ty" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>TY</div></div><div class="legend" data-v-726fd7f6><div class="icon sty" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>STY</div></div><div class="legend" data-v-726fd7f6><div class="icon supper-ty" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>Super TY</div></div></div><div class="row" style="padding:2px 10px;" data-v-726fd7f6><div class="legend" data-v-726fd7f6><div class="icon history" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>History</div></div><div class="legend" data-v-726fd7f6><div class="icon r7" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>35kts Radii</div></div><div class="legend" data-v-726fd7f6><div class="icon r10" data-v-726fd7f6></div><div class="label" data-v-726fd7f6>50kts Radii</div></div></div>',3))]),t.createElementVNode("div",ta,[t.createElementVNode("div",{class:"button",onClick:e[1]||(e[1]=w=>s.handleStrikeProbability(i.activeTropicals))},"Strike Probability >>")])])],512)),[[t.vShow,i.showTropicals&&!r.$attrs.hideTropicalsLegend]])}const ce=E(Ot,[["render",aa],["__scopeId","data-v-726fd7f6"]]),bi="",ra={name:"IdmPrecip3h",props:{factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new H,etime:void 0,right:10}},watch:{"factor.version":{handler(){var r;(r=this.factor)!=null&&r.active?this.handleRender():this.handleClear()},deep:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{handleRender(){if(!this.viewport)setTimeout(()=>{this.handleRender()},500);else if(this.factor){const r=new Date().valueOf();let e=0,a=0;this.handleDraw(),a=new Date().valueOf()-(r+e),console.log("[precip3h] add elapsed: ",a,", total: ",e+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const r=[[0,"rgba(59, 126, 162, 0)"],[14/255,"rgba(84,170,230, 0)"],[15/255,"rgba(172, 210, 255, 0.8)"],[20/255,"rgba(51,202,248,0.8)"],[30/255,"rgba(3,248,103,0.8)"],[49/255,"rgba(14,201,3,0.8)"],[57/255,"rgba(190,226,2,0.8)"],[73/255,"rgba(248,1,1,0.8)"],[82/255,"rgba(197,5,58,0.8)"],[1,"rgba(197,5,58,0.8)"]];this.rampColor=this.webgl.setup(this.context,r);const{program:e,aPositionBuffer:a}=this.webgl.bind(this.context,B.vertexSchema,B.fragmentSchema);this.program=e,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const r=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,r)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},ia={key:0};function oa(r,e,a,o,i,s){var n;return(n=a.factor)!=null&&n.active?(t.openBlock(),t.createElementBlock("div",ia,[t.createElementVNode("div",{class:"legend-bars flex-center",style:t.normalizeStyle([{position:"absolute"},{right:i.right+"px",bottom:a.bottom}])},e[0]||(e[0]=[t.createElementVNode("span",null,"mm",-1),t.createElementVNode("span",null,"1.5",-1),t.createElementVNode("span",null,"2",-1),t.createElementVNode("span",null,"3",-1),t.createElementVNode("span",null,"7",-1),t.createElementVNode("span",null,"10",-1),t.createElementVNode("span",null,"20",-1),t.createElementVNode("span",null,"30",-1)]),4)])):t.createCommentVNode("",!0)}const sa=E(ra,[["render",oa],["__scopeId","data-v-9708a7a3"]]),Li="",na={name:"IdmVisibility",props:{factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new H,etime:void 0}},watch:{"factor.version":{handler(){var r;(r=this.factor)!=null&&r.active?this.handleRender():this.handleClear()},deep:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{handleRender(){if(!this.viewport)setTimeout(()=>{this.handleRender()},500);else if(this.factor){const r=new Date().valueOf();let e=0,a=0;this.handleDraw(),a=new Date().valueOf()-(r+e),console.log("[visibility] add elapsed: ",a,", total: ",e+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const r=[[0,"rgba(189,50,160,0.8)"],[8/255,"rgba(208,56,56,0.8)"],[27/255,"rgba(190,226,2,0.8)"],[60/255,"rgba(3,236,118,0.8)"],[160/255,"rgba(172, 210,255,0.8)"],[161/255,"rgba(172, 210,255,0)"],[1,"rgba(144,144,144,0)"]];this.rampColor=this.webgl.setup(this.context,r);const{program:e,aPositionBuffer:a}=this.webgl.bind(this.context,B.vertexSchema,B.fragmentSchema);this.program=e,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const r=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,r)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},la={key:0};function ca(r,e,a,o,i,s){var n;return(n=a.factor)!=null&&n.active?(t.openBlock(),t.createElementBlock("div",la,[t.createElementVNode("div",{class:"legend-bars flex-center",style:t.normalizeStyle([{position:"absolute"},{right:r.right+"px",bottom:a.bottom}])},e[0]||(e[0]=[t.createElementVNode("span",null,"nm",-1),t.createElementVNode("span",null,"0",-1),t.createElementVNode("span",null,"0.5",-1),t.createElementVNode("span",null,"1.5",-1),t.createElementVNode("span",null,"3",-1),t.createElementVNode("span",null,"9",-1)]),4)])):t.createCommentVNode("",!0)}const ha=E(na,[["render",ca],["__scopeId","data-v-f7b2fb08"]]),wi="",da={name:"IdmWaterTemp",props:{factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new H,etime:void 0,right:10}},watch:{"factor.version":{handler(){var r;(r=this.factor)!=null&&r.active?this.handleRender():this.handleClear()},deep:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{handleRender(){if(!this.viewport)setTimeout(()=>{this.handleRender()},500);else if(this.factor){const r=new Date().valueOf();let e=0,a=0;this.handleDraw(),a=new Date().valueOf()-(r+e),console.log("[water-temp] add elapsed: ",a,", total: ",e+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const r=[[0,"rgba(95, 143, 197)"],[46/255,"rgba(95, 143, 197)"],[69/255,"rgb(80, 140, 62)"],[92/255,"rgb(121, 146, 28)"],[115/255,"rgb(171, 161, 14)"],[138/255,"rgb(223, 177, 69)"],[161/255,"rgb(243, 150, 6)"],[184/255,"rgb(236, 95, 21)"],[207/255,"rgb(190, 65, 18)"],[230/255,"rgb(138, 43, 10)"],[1,"rgb(138, 43, 10)"]];this.rampColor=this.webgl.setup(this.context,r);const{program:e,aPositionBuffer:a}=this.webgl.bind(this.context,B.vertexSchema,B.fragmentSchema);this.program=e,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const r=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,r)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},pa={key:0};function ma(r,e,a,o,i,s){var n;return(n=a.factor)!=null&&n.active?(t.openBlock(),t.createElementBlock("div",pa,[t.createElementVNode("div",{class:"legend-bars flex-center",style:t.normalizeStyle([{position:"absolute"},{right:i.right+"px",bottom:a.bottom}])},e[0]||(e[0]=[t.createElementVNode("span",null,"°C",-1),t.createElementVNode("span",null,"0",-1),t.createElementVNode("span",null,"10",-1),t.createElementVNode("span",null,"20",-1),t.createElementVNode("span",null,"30",-1),t.createElementVNode("span",null,"40",-1)]),4)])):t.createCommentVNode("",!0)}const ya=E(da,[["render",ma],["__scopeId","data-v-7521f582"]]),xi="",fa={name:"IdmTemp",props:{factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new H,etime:void 0,right:10}},watch:{"factor.version":{handler(){var r;(r=this.factor)!=null&&r.active?this.handleRender():this.handleClear()},deep:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{handleRender(){if(!this.viewport)setTimeout(()=>{this.handleRender()},500);else if(this.factor){const r=new Date().valueOf();let e=0,a=0;this.handleDraw(),a=new Date().valueOf()-(r+e),console.log("[water-temp] add elapsed: ",a,", total: ",e+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const r=[[0,"rgb(149, 137, 211)"],[100/255,"rgb(149, 137, 211)"],[110/255,"rgb(150, 209, 216)"],[120/255,"rgb(129, 204, 197)"],[130/255,"rgb(103, 180, 186)"],[140/255,"rgb(95, 143, 197)"],[150/255,"rgb(80, 140, 62)"],[160/255,"rgb(121, 146, 28)"],[170/255,"rgb(171, 161, 14)"],[180/255,"rgb(223, 177, 6)"],[190/255,"rgb(243, 150, 6)"],[200/255,"rgb(236, 95, 21)"],[210/255,"rgb(190, 65, 18)"],[220/255,"rgb(138, 43, 10)"],[1,"rgb(138, 43, 10)"]];this.rampColor=this.webgl.setup(this.context,r);const{program:e,aPositionBuffer:a}=this.webgl.bind(this.context,B.vertexSchema,B.fragmentSchema);this.program=e,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const r=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,r)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},ua={key:0};function ga(r,e,a,o,i,s){var n;return(n=a.factor)!=null&&n.active?(t.openBlock(),t.createElementBlock("div",ua,[t.createElementVNode("div",{class:"legend-bars flex-center",style:t.normalizeStyle([{position:"absolute"},{right:i.right+"px",bottom:a.bottom}])},e[0]||(e[0]=[t.createElementVNode("span",null,"°C",-1),t.createElementVNode("span",null,"-20",-1),t.createElementVNode("span",null,"-10",-1),t.createElementVNode("span",null,"0",-1),t.createElementVNode("span",null,"10",-1),t.createElementVNode("span",null,"20",-1),t.createElementVNode("span",null,"30",-1),t.createElementVNode("span",null,"40",-1)]),4)])):t.createCommentVNode("",!0)}const ba=E(fa,[["render",ga],["__scopeId","data-v-25daaa82"]]),_i="",La={name:"IdmArctic",props:{factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new H,etime:void 0,right:10}},watch:{"factor.version":{handler(){var r;(r=this.factor)!=null&&r.active?this.handleRender():this.handleClear()},deep:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{handleRender(){if(!this.viewport)setTimeout(()=>{this.handleRender()},500);else if(this.factor){const r=new Date().valueOf();let e=0,a=0;this.handleDraw(),a=new Date().valueOf()-(r+e),console.log("[water-temp] add elapsed: ",a,", total: ",e+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const r=[[0,"rgba(76, 165, 228, 0)"],[50/255,"rgba(76, 165, 228, 0)"],[51/255,"rgb(76, 165, 228)"],[102/255,"rgb(129, 204, 197)"],[153/255,"rgb(150, 209, 216)"],[204/255,"rgb(180, 209, 216)"],[1,"rgb(180, 209, 216)"]];this.rampColor=this.webgl.setup(this.context,r);const{program:e,aPositionBuffer:a}=this.webgl.bind(this.context,B.vertexSchema,B.fragmentSchema);this.program=e,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const r=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,r)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},wa={key:0};function xa(r,e,a,o,i,s){var n;return(n=a.factor)!=null&&n.active?(t.openBlock(),t.createElementBlock("div",wa,[t.createElementVNode("div",{class:"legend-bars flex-center",style:t.normalizeStyle([{position:"absolute"},{right:i.right+"px",bottom:a.bottom}])},e[0]||(e[0]=[t.createElementVNode("span",null,"m",-1),t.createElementVNode("span",null,"0",-1),t.createElementVNode("span",null,"0.5",-1),t.createElementVNode("span",null,"1",-1),t.createElementVNode("span",null,"1.5",-1),t.createElementVNode("span",null,"2",-1)]),4)])):t.createCommentVNode("",!0)}const _a=E(La,[["render",xa],["__scopeId","data-v-5bb73794"]]);/*! Element Plus Icons Vue v2.3.1 */var va=t.defineComponent({name:"LocationFilled",__name:"location-filled",setup(r){return(e,a)=>(t.openBlock(),t.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[t.createElementVNode("path",{fill:"currentColor",d:"M512 928c23.936 0 117.504-68.352 192.064-153.152C803.456 661.888 864 535.808 864 416c0-189.632-155.84-320-352-320S160 226.368 160 416c0 120.32 60.544 246.4 159.936 359.232C394.432 859.84 488 928 512 928m0-435.2a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 140.8a204.8 204.8 0 1 1 0-409.6 204.8 204.8 0 0 1 0 409.6"})]))}}),Ca=va;const vi="",ka={name:"IdmPoint",components:{LocationFilled:Ca},props:{token:{type:String},map:{type:Object},show:{type:Boolean},ts:{type:String},timeZone:{type:Number,default:8},meteo:{type:Object}},emits:["point","meteoMore"],data(){return{showMeteo:!1,meteoData:void 0,tableData:{},currentHourData:void 0,meteoMarker:void 0,helper:V.CompanyHelper,activeIndex:1}},watch:{show:{handler(){this.handleBind()},immediate:!0},map:{handler(){this.map&&this.show&&this.handleBind()}},ts:{handler(){this.showMeteo&&this.initTableData()}},meteo:{handler(){this.meteo?(this.showMeteo=!0,this.meteoData=this.meteo,this.initTableData(),this.handleRender()):this.showMeteo=!1}}},computed:{computeTime(){return function(r,e){const a=e??0;return r?`${D(r).utcOffset(a*60).format("MMM-DD,HHmm")}`:"-"}},computeHourL(){return function(r,e){const a=e??0;return r?`${D(r).utcOffset(a).format("HH")}`:"-"}},computeHourZ(){return function(r){return r?`${D(r).utc().format("HH")}Z`:"-"}},computeWeek(){return function(r){return r?`${D(r).format("dddd")}`:"-"}},computeMMMDD(){return function(r){return r?`${D(r).format("MMM-DD")}`:"-"}},computeTimeZone(){return`(UTC ${this.timeZone<0?this.timeZone:"+"+this.timeZone})`},computeLat(){return function(r,e=4){return k.LngLatHelper.lat2pretty(r,e).pretty}},computeLng(){return function(r,e=4){return k.LngLatHelper.lng2pretty(r,e).pretty}},roundPrecision(){return function(r,e=4){return isNaN(r)?"-":k.LngLatHelper.roundPrecision(r,e)}}},mounted(){},methods:{initTableData(){var r,e,a,o,i,s,n,l,h,p,c,d,u,m,b,f,y,L,g,x,C,w,_,N,I,W,A,F,G,J,X,q,Y;this.currentHourData=(r=de.Meteo2Assist.pickHourly(this.meteoData,this.ts?D(this.ts):D()))==null?void 0:r[0],this.tableData={hours:[],utcHours:[],weatherUrls:[],temp:[],precipProbability:[],precip1h:[],visibility:[],humidity:[],windSpeed:[],windDir:[],windGust:[],sigwaveHeight:[],sigwaveDir:[],windwaveHeight:[],windwaveDir:[],windwavePeriod:[],swellHeight:[],swellDir:[],swellPeriod:[],currentSpeed:[],currentDir:[]};for(let U=0;U<8;U++){const Q=D(this.ts).clone().utc().add(3*U,"h").format();this.tableData.hours.push(Q);const z=((e=de.Meteo2Assist.pickHourly(this.meteoData,Q))==null?void 0:e[0])||{};this.tableData.weatherUrls.push((a=z.weather)==null?void 0:a.url),this.tableData.temp.push(this.roundPrecision((o=z.weather)==null?void 0:o.temp,0)),this.tableData.precipProbability.push(this.roundPrecision((s=(i=z.weather)==null?void 0:i.precip)==null?void 0:s.probability,0)),this.tableData.precip1h.push(this.roundPrecision((l=(n=z.weather)==null?void 0:n.precip)==null?void 0:l.sum,0)),this.tableData.visibility.push(this.roundPrecision((h=z.weather)==null?void 0:h.visibility,0)),this.tableData.windSpeed.push(this.roundPrecision((c=(p=z.weather)==null?void 0:p.wind)==null?void 0:c.kts,1)),this.tableData.windDir.push((u=(d=z.weather)==null?void 0:d.wind)==null?void 0:u.angle),this.tableData.windGust.push(this.roundPrecision((b=(m=z.weather)==null?void 0:m.wind)==null?void 0:b.gusts,1)),this.tableData.sigwaveHeight.push(this.roundPrecision((y=(f=z.wave)==null?void 0:f.sig)==null?void 0:y.height,1)),this.tableData.sigwaveDir.push((g=(L=z.wave)==null?void 0:L.sig)==null?void 0:g.degree),this.tableData.windwaveHeight.push(this.roundPrecision((C=(x=z.wave)==null?void 0:x.wd)==null?void 0:C.height,1)),this.tableData.windwaveDir.push((_=(w=z.wave)==null?void 0:w.wd)==null?void 0:_.degree),this.tableData.windwavePeriod.push(this.roundPrecision((I=(N=z.wave)==null?void 0:N.wd)==null?void 0:I.period,1)),this.tableData.swellHeight.push(this.roundPrecision((A=(W=z.wave)==null?void 0:W.swell)==null?void 0:A.height,1)),this.tableData.swellDir.push((G=(F=z.wave)==null?void 0:F.swell)==null?void 0:G.degree),this.tableData.swellPeriod.push(this.roundPrecision((X=(J=z.wave)==null?void 0:J.swell)==null?void 0:X.period,1)),this.tableData.currentSpeed.push(this.roundPrecision((q=z.current)==null?void 0:q.speed,1)),this.tableData.currentDir.push((Y=z.current)==null?void 0:Y.degree)}},handleSelectTab(r){this.activeIndex=r},handleBind(){var r,e;this.show?((r=this.map)==null||r.on("click",this.handleClick),this.map.getCanvas().style.cursor="pointer"):((e=this.map)==null||e.off("click",this.handleClick),this.map.getCanvas().style.cursor="grab",this.showMeteo=!1)},handleClick(r){r.originalEvent.stopPropagation();const e=r.originalEvent.target.className;debugger;if(e.indexOf("close")>-1)this.showMeteo=!1;else if(e==="more")this.$emit("meteoMore",this.meteoData);else if(e==="mapboxgl-canvas")this.$emit("point",r.lngLat);else return!1},handleRender(){var e;const r=document.getElementById("point-meteo");this.meteoData&&(this.meteoMarker?(e=this.meteoMarker)==null||e.setLngLat([this.meteoData.lng,this.meteoData.lat]):this.meteoMarker=new j.Marker(r).setLngLat([this.meteoData.lng,this.meteoData.lat]).addTo(this.map))}}},Ea={id:"point-meteo",class:"point-meteo"},Sa={class:"meteo-box"},Na={class:"header-box flex-between"},Pa={class:"flex-center"},za={class:"lnglat"},Ta={class:"main-box"},Va={class:"summary-row flex-between"},Da={class:"summary flex-center"},Ba=["src"],Ia={class:"temp"},Ra={class:"des info"},Wa={class:"flex-start"},Aa={class:"flex-start"},Ma={class:"flex-start"},Oa={class:"date flex-col-center-end"},Fa={class:""},ja={class:""},$a={class:"detail-box"},Ha={class:"menu-header flex-start"},Ua={key:0,class:"basic-table"},Za={class:"day"},Ga={class:"hour"},Ja={class:"icon"},Xa=["src"],qa={class:"text"},Ya={class:"text"},Qa={class:"text"},Ka={class:"text"},er={key:1,class:"wave-current-table"},tr={class:"day"},ar={class:"hour"},rr={class:"icon"},ir=["src"],or={class:"text"},sr={class:"text"},nr={class:"text"},lr={class:"text"};function cr(r,e,a,o,i,s){var h,p,c,d,u,m,b,f,y,L,g,x,C,w;const n=t.resolveComponent("LocationFilled"),l=t.resolveComponent("ElIcon");return t.openBlock(),t.createElementBlock("div",null,[t.withDirectives(t.createElementVNode("div",Ea,[t.createElementVNode("div",Sa,[t.createElementVNode("div",Na,[t.createElementVNode("div",Pa,[t.createVNode(l,{size:"22"},{default:t.withCtx(()=>[t.createVNode(n)]),_:1}),t.createElementVNode("div",za,t.toDisplayString(s.computeLat((h=i.meteoData)==null?void 0:h.lat))+","+t.toDisplayString(s.computeLng((p=i.meteoData)==null?void 0:p.lng)),1)]),t.createElementVNode("div",{class:"iconfont close",onClick:e[0]||(e[0]=_=>i.showMeteo=!1)},"")]),t.createElementVNode("div",Ta,[t.createElementVNode("div",Va,[t.createElementVNode("div",Da,[t.createElementVNode("img",{class:"iconfont icon",style:{"margin-right":"5px"},src:(d=(c=i.currentHourData)==null?void 0:c.weather)==null?void 0:d.url},null,8,Ba),t.createElementVNode("div",Ia,[t.createElementVNode("span",null,[t.createTextVNode(t.toDisplayString(s.roundPrecision((m=(u=i.currentHourData)==null?void 0:u.weather)==null?void 0:m.temp,0)),1),e[4]||(e[4]=t.createElementVNode("span",{style:{"font-size":"14px"}},"°C",-1))])]),t.createElementVNode("div",Ra,[t.createElementVNode("div",Wa,[e[5]||(e[5]=t.createElementVNode("label",null,"Precip : ",-1)),t.createElementVNode("span",null,t.toDisplayString(s.roundPrecision((y=(f=(b=i.currentHourData)==null?void 0:b.weather)==null?void 0:f.precip)==null?void 0:y.sum,0))+" mm",1)]),t.createElementVNode("div",Aa,[e[6]||(e[6]=t.createElementVNode("label",null,"Visibility : ",-1)),t.createElementVNode("span",null,t.toDisplayString(s.roundPrecision((g=(L=i.currentHourData)==null?void 0:L.weather)==null?void 0:g.visibility,0))+" nm",1)]),t.createElementVNode("div",Ma,[e[7]||(e[7]=t.createElementVNode("label",null,"Wind : ",-1)),t.createElementVNode("span",null,t.toDisplayString(s.roundPrecision((w=(C=(x=i.currentHourData)==null?void 0:x.weather)==null?void 0:C.wind)==null?void 0:w.kts,1))+" kts",1)])])]),t.createElementVNode("div",Oa,[t.createElementVNode("div",Fa,t.toDisplayString(s.computeTime(a.ts,a.timeZone)),1),t.createElementVNode("div",ja,t.toDisplayString(s.computeTimeZone),1)])]),t.createElementVNode("div",$a,[t.createElementVNode("div",Ha,[t.createElementVNode("div",{class:t.normalizeClass(["menu-item",i.activeIndex===1?"active":""]),onClick:e[1]||(e[1]=t.withModifiers(_=>s.handleSelectTab(1),["prevent"]))},"Basis",2),t.createElementVNode("div",{class:t.normalizeClass(["menu-item",i.activeIndex===2?"active":""]),onClick:e[2]||(e[2]=t.withModifiers(_=>s.handleSelectTab(2),["prevent"]))},"Wave & Current",2)]),i.activeIndex===1?(t.openBlock(),t.createElementBlock("table",Ua,[t.createElementVNode("tr",Za,[e[8]||(e[8]=t.createElementVNode("th",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Hours"),t.createElementVNode("span",{class:"unit"})],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.hours,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(s.computeHourL(_,a.timeZone)),1))),128))]),t.createElementVNode("tr",Ga,[e[9]||(e[9]=t.createElementVNode("th",{rowspan:"1",colspan:"1",class:"tr-title"},null,-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.hours,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(s.computeHourZ(_)),1))),128))]),t.createElementVNode("tr",Ja,[e[10]||(e[10]=t.createElementVNode("th",{rowspan:"1",colspan:"1",class:"tr-title"},null,-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.weatherUrls,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("img",{class:"iconfont weather-icon",src:_},null,8,Xa)]))),128))]),t.createElementVNode("tr",qa,[e[11]||(e[11]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Temp"),t.createElementVNode("span",{class:"unit"},"°C")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.temp,_=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(_),1))),128))]),t.createElementVNode("tr",Ya,[e[12]||(e[12]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Precip"),t.createElementVNode("span",{class:"unit"},"mm")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.precip1h,_=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(_),1))),128))]),t.createElementVNode("tr",Qa,[e[13]||(e[13]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Visibility"),t.createElementVNode("span",{class:"unit"},"nm")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.visibility,_=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(_),1))),128))]),t.createElementVNode("tr",Ka,[e[14]||(e[14]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Wind"),t.createElementVNode("span",{class:"unit"},"kts")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.windSpeed,(_,N)=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("span",{class:"iconfont icon blue",style:t.normalizeStyle({display:"inline-block",transform:`rotate(${i.tableData.windDir[N]}deg)`})},"",4),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))])])):t.createCommentVNode("",!0),i.activeIndex===2?(t.openBlock(),t.createElementBlock("table",er,[t.createElementVNode("tr",tr,[e[15]||(e[15]=t.createElementVNode("th",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Hours"),t.createElementVNode("span",{class:"unit"})],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.hours,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(s.computeHourL(_,a.timeZone)),1))),128))]),t.createElementVNode("tr",ar,[e[16]||(e[16]=t.createElementVNode("th",{rowspan:"1",colspan:"1"},null,-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.hours,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},t.toDisplayString(s.computeHourZ(_)),1))),128))]),t.createElementVNode("tr",rr,[e[17]||(e[17]=t.createElementVNode("th",{rowspan:"1",colspan:"1"},null,-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.weatherUrls,_=>(t.openBlock(),t.createElementBlock("th",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("img",{class:"iconfont weather-icon",src:_},null,8,ir)]))),128))]),t.createElementVNode("tr",or,[e[18]||(e[18]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Sig Wave"),t.createElementVNode("span",{class:"unit"},"m")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.sigwaveHeight,(_,N)=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("span",{class:"iconfont icon blue",style:t.normalizeStyle({display:"inline-block",transform:`rotate(${i.tableData.sigwaveDir[N]}deg)`})},"",4),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))]),t.createElementVNode("tr",sr,[e[19]||(e[19]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Wind Wave"),t.createElementVNode("span",{class:"unit"},"m")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.windwaveHeight,(_,N)=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("span",{class:"iconfont icon orange",style:t.normalizeStyle({display:"inline-block",transform:`rotate(${i.tableData.sigwaveDir[N]}deg)`})},"",4),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))]),t.createElementVNode("tr",nr,[e[20]||(e[20]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Swell"),t.createElementVNode("span",{class:"unit"},"m")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.swellHeight,(_,N)=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("span",{class:"iconfont icon orange",style:t.normalizeStyle({display:"inline-block",transform:`rotate(${i.tableData.swellDir[N]}deg)`})},"",4),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))]),t.createElementVNode("tr",lr,[e[21]||(e[21]=t.createElementVNode("td",{rowspan:"1",colspan:"1",class:"tr-title"},[t.createTextVNode("Current"),t.createElementVNode("span",{class:"unit"},"kts")],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.tableData.currentSpeed,(_,N)=>(t.openBlock(),t.createElementBlock("td",{rowspan:"1",colspan:"1",key:Math.random()},[t.createElementVNode("span",{class:"iconfont icon gray",style:t.normalizeStyle({display:"inline-block",transform:`rotate(${i.tableData.currentDir[N]}deg)`})},"",4),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))])])):t.createCommentVNode("",!0)])]),r.$attrs.permission&i.helper.LEVEL.Prime?(t.openBlock(),t.createElementBlock("div",{key:0,class:"more",onClick:e[3]||(e[3]=t.withModifiers((..._)=>r.handleMore&&r.handleMore(..._),["prevent"]))},e[22]||(e[22]=[t.createElementVNode("span",{class:"more"},"More >>",-1)]))):t.createCommentVNode("",!0)])],512),[[t.vShow,i.showMeteo]])])}const hr=E(ka,[["render",cr],["__scopeId","data-v-9eac667c"]]),dr={name:"IdmWarZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},data(){return{source:"war-zone-source",zoneLayer:"war-zone-layer",zoneLabelLayer:"war-zone-label-layer"}},watch:{zone:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.zone&&(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-color":"#f44336","fill-opacity":.4}},this.beforeLayer),this.map.addLayer({id:this.zoneLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":1,"line-color":"#f44336"}},this.beforeLayer),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,-1]},paint:{"icon-opacity":.8,"text-color":"#000","text-halo-color":"#fff","text-halo-width":1}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLayer+"-border")&&this.map.removeLayer(this.zoneLayer+"-border"),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function pr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const mr=E(dr,[["render",pr]]),yr={name:"IdmGmdssArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},data(){return{source:"gmdss-area-source",areaLayer:"gmdss-area-layer",areaLabelLayer:"gmdss-area-label-layer"}},watch:{area:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.5,"fill-color":["match",["get","val"],"AreaI","#EB8996","AreaII","#6F448B","AreaIII","#3E8BD3","AreaIV","#5EBCC4","AreaV","#00AAE7","AreaVI","#9CCE6D","AreaVII","#F4AE00","AreaVIII","#EF9A85","AreaIX","#00AAA7","AreaX","#7AC49F","AreaXI","#DFDFDF","AreaXII","#FFF974","AreaXIII","#EF9A85","AreaXIV","#86A2D1","AreaXV","#EC8972","AreaXVI","#EAC2DA","AreaXVII","#B9C8E7","AreaXVIII","#BBA1C8","AreaXIX","#FAE0BD","AreaXX","#DBECC8","AreaXXI","#D496AF","#ffffff"]}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":12,"text-offset":[0,-3.5]},paint:{"icon-opacity":.8,"text-opacity":.8,"text-color":"#000"}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function fr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const ur=E(yr,[["render",fr]]),gr={name:"IdmEcaZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},data(){return{source:"eca-zone-source",zoneLayer:"eca-zone-layer",zoneLabelLayer:"eca-zone-label-layer"}},watch:{zone:{handler(){this.zone?this.handleRender():this.handleClear()}}},methods:{handleRender(){var r;this.map?(this.handleClear(),this.zone&&(this.map.getSource(this.source)?(r=this.map)==null||r.getSource(this.source).setData(this.zone):(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"fill-outline-color":"silver","fill-opacity":.4,"fill-color":"#05f324"}}),this.map.addLayer({id:this.zoneLayer+"-border",type:"line",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"line-color":"#04c021","line-width":1,"line-opacity":1}},this.beforeLayer),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-max-width":16,"text-justify":"left","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,-3.5]},paint:{"icon-opacity":.8,"text-color":"#000","text-halo-color":"#fff","text-halo-width":1}})))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLayer+"-border")&&this.map.removeLayer(this.zoneLayer+"-border"),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function br(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Lr=E(gr,[["render",br]]),Ci="",wr={name:"IdmAlertZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},data(){return{source:"alert-zone-source",polygonLayer:"alert-zone-polygon-layer",polygonLabelLayer:"alert-zone-polygon-label-layer",lineLayer:"alert-zone-line-layer",lineLabelLayer:"alert-zone-line-label-layer",pointLayer:"alert-zone-point-layer",showZone:!1,form:{}}},watch:{zone:{handler(){var r,e;this.zone?(this.handleRender(),(r=this.map)==null||r.on("click",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleClick)):(this.handleClear(),(e=this.map)==null||e.off("click",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleClick))}}},methods:{handleClick(r){var o;const e=r.features[0],a=(o=this.zone)==null?void 0:o.features.filter(i=>{var s;return i.properties.id===((s=e==null?void 0:e.properties)==null?void 0:s.id)})[0];if(a){this.showZone=!0,this.form={...a.properties};const i=document.getElementById("idm-gl3-zone-info");this.marker?this.marker.setLngLat([r.lngLat.lng,r.lngLat.lat]):this.marker=new j.Marker(i).setLngLat([r.lngLat.lng,r.lngLat.lat]).setOffset([0,0]).addTo(this.map)}},handleRender(){var r;this.map?(this.handleClear(),this.zone&&(this.map.getSource(this.source)?(r=this.map)==null||r.getSource(this.source).setData(this.zone):(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.polygonLayer,type:"fill",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"fill-outline-color":"#d57d02","fill-opacity":.4,"fill-color":"#d57d02"}}),this.map.addLayer({id:this.polygonLayer+"-border",type:"line",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"line-width":1,"line-color":"#d57d02"}}),this.map.addLayer({id:this.lineLayer,type:"line",source:this.source,filter:["all",["==","$type","LineString"],["!=","disabled",!0]],paint:{"line-color":"#d57d02","line-width":2}}),this.map.addLayer({id:this.polygonLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-image":"alert","icon-size":.08,"icon-allow-overlap":!0,"icon-rotation-alignment":"viewport"},paint:{"icon-opacity":.8}}),this.map.addLayer({id:this.lineLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","LineString"],["!=","disabled",!0]],layout:{"symbol-placement":"line-center","icon-image":"alert","icon-size":.08,"icon-allow-overlap":!0,"icon-rotation-alignment":"viewport"},paint:{"icon-opacity":.8}}),this.map.addLayer({id:this.pointLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-image":"alert","icon-size":.08},paint:{"icon-opacity":.8}})))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.polygonLayer)&&this.map.removeLayer(this.polygonLayer),this.map.getLayer(this.polygonLayer+"-border")&&this.map.removeLayer(this.polygonLayer+"-border"),this.map.getLayer(this.polygonLabelLayer)&&this.map.removeLayer(this.polygonLabelLayer),this.map.getLayer(this.lineLayer)&&this.map.removeLayer(this.lineLayer),this.map.getLayer(this.lineLabelLayer)&&this.map.removeLayer(this.lineLabelLayer),this.map.getLayer(this.pointLayer)&&this.map.removeLayer(this.pointLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}},xr={id:"idm-gl3-zone-info"},_r=["innerHTML"];function vr(r,e,a,o,i,s){var n;return t.withDirectives((t.openBlock(),t.createElementBlock("div",xr,[t.createElementVNode("div",{class:"iconfont close",onClick:e[0]||(e[0]=l=>i.showZone=!1)},""),t.createElementVNode("div",{class:"rich-context",innerHTML:(n=i.form)==null?void 0:n.name},null,8,_r)],512)),[[t.vShow,i.showZone]])}const Cr=E(wr,[["render",vr]]),ki="",kr={name:"IdmPort",props:{map:{type:Object},port:{type:Object},beforeLayer:{type:String}},emits:["port"],data(){return{source:"port-source",layer:"port-layer",showPort:!1,form:{},marker:void 0}},computed:{computeLat(){return function(r){return k.LngLatHelper.lat2pretty(r,4).pretty}},computeLng(){return function(r){return k.LngLatHelper.lng2pretty(r,4).pretty}}},watch:{port:{handler(){var r,e;this.port?(this.handleRender(),(r=this.map)==null||r.on("click",[this.layer],this.handleClick)):(this.handleClear(),(e=this.map)==null||e.off("click",[this.layer],this.handleClick))}}},methods:{handleClick(r){var o;const e=r.features[0],a=(o=this.port)==null?void 0:o.features.filter(i=>{var s;return i.properties.id===((s=e==null?void 0:e.properties)==null?void 0:s.id)})[0];if(a){this.showPort=!0,this.form={...a.properties},this.form.lng=a.geometry.coordinates[0],this.form.lat=a.geometry.coordinates[1];const i=document.getElementById("port-info");this.marker?this.marker.setLngLat([r.lngLat.lng,r.lngLat.lat]):this.marker=new j.Marker(i).setLngLat([r.lngLat.lng,r.lngLat.lat]).setOffset([0,-85]).addTo(this.map)}},handleEmit(){this.$emit("port",this.form)},handleRender(){var r;this.map?this.port&&(this.map.getSource(this.source)?(r=this.map)==null||r.getSource(this.source).setData(this.port):(this.map.addSource(this.source,{type:"geojson",data:this.port}),this.map.addLayer({id:this.layer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"port","text-anchor":"left","text-field":"{name}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[1,0]},paint:{"text-color":"rgba(0, 0, 0, 0.8)","text-halo-color":"#fff","text-halo-width":1}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.showPort=!1,this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}},Er={id:"port-info"},Sr={class:"port-box"},Nr={class:"flex-start"},Pr={class:"flex-start"},zr={class:"flex-start"},Tr={class:"flex-start",style:{"align-items":"flex-start"}};function Vr(r,e,a,o,i,s){return t.withDirectives((t.openBlock(),t.createElementBlock("div",Er,[t.createElementVNode("div",{class:"close iconfont",onClick:e[0]||(e[0]=n=>i.showPort=!1)},""),t.createElementVNode("div",Sr,[t.createElementVNode("div",Nr,[e[2]||(e[2]=t.createElementVNode("label",null,"Name : ",-1)),t.createElementVNode("span",{onClick:e[1]||(e[1]=(...n)=>s.handleEmit&&s.handleEmit(...n))},t.toDisplayString(i.form.name),1)]),t.createElementVNode("div",Pr,[e[3]||(e[3]=t.createElementVNode("label",null,"Position : ",-1)),t.createElementVNode("span",null,t.toDisplayString(s.computeLat(i.form.lat))+", "+t.toDisplayString(s.computeLng(i.form.lng)),1)]),t.createElementVNode("div",zr,[e[4]||(e[4]=t.createElementVNode("label",null,"LoCode : ",-1)),t.createElementVNode("span",null,t.toDisplayString(i.form.loCode||"-"),1)]),t.createElementVNode("div",Tr,[e[5]||(e[5]=t.createElementVNode("label",null,"Region : ",-1)),t.createElementVNode("span",null,t.toDisplayString(i.form.zoneName||"-"),1)])])],512)),[[t.vShow,i.showPort]])}const Dr=E(kr,[["render",Vr],["__scopeId","data-v-c07e4c45"]]),Br={name:"IdmLoadLine",props:{map:{type:Object},line:{type:Object},beforeLayer:{type:String}},data(){return{source:"load-line-source",lineLayer:"load-line-layer",lineLabelLayer:"load-line-label-layer"}},watch:{line:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.line&&(this.map.addSource(this.source,{type:"geojson",data:this.line}),this.map.addLayer({id:this.lineLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.75,"fill-color":["match",["get","val"],"LLGreen","#A0C0C0","LLRed","#F5A39D","LLBlue","#6B94E4","#ffffff"]}},this.beforeLayer),this.map.addLayer({id:this.lineLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-field":"{lbl} (Length < {shipLength}, {start} - {end})","text-rotation-alignment":"viewport","text-offset":[0,1],"text-size":10,"text-allow-overlap":!0},paint:{"text-opacity":.8}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.lineLayer)&&this.map.removeLayer(this.lineLayer),this.map.getLayer(this.lineLabelLayer)&&this.map.removeLayer(this.lineLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Ir(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Rr=E(Br,[["render",Ir]]),Wr={name:"IdmTimezone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},data(){return{source:"time-zone-source",zoneLayer:"time-zone-layer",zoneLabelLayer:"time-zone-label-layer"}},watch:{zone:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.zone&&(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.5,"fill-color":["match",["get","offSet"],"-11.5","rgba(255,0,0,0.4)","-11","rgba(0,255,0,0.3)","-10.5","rgba(0,255,0,0.3)","-10","rgba(0,0,255,0.3)","-9.5","rgba(0,0,255,0.3)","-9","rgba(255,0,0,0.4)","-8.5","rgba(255,0,0,0.4)","-8","rgba(0,255,0,0.3)","-7.5","rgba(0,255,0,0.3)","-7","rgba(0,0,255,0.3)","-6.5","rgba(0,0,255,0.3)","-6","rgba(255,0,0,0.4)","-5.5","rgba(255,0,0,0.4)","-5","rgba(0,255,0,0.3)","-4.5","rgba(0,255,0,0.3)","-4","rgba(0,0,255,0.3)","-3.5","rgba(0,0,255,0.3)","-3","rgba(255,0,0,0.4)","-2.5","rgba(255,0,0,0.4)","-2","rgba(0,255,0,0.3)","-1.5","rgba(0,255,0,0.3)","-1","rgba(0,0,255,0.3)","-0.5","rgba(0,0,255,0.3)","+0","rgba(255,0,0,0.4)","+0.5","rgba(255,0,0,0.4)","+1","rgba(0,255,0,0.3)","+1.5","rgba(0,255,0,0.3)","+2","rgba(0,0,255,0.3)","+2.5","rgba(0,0,255,0.3)","+3","rgba(255,0,0,0.4)","+3.5","rgba(255,0,0,0.4)","+4","rgba(0,255,0,0.3)","+4.5","rgba(0,255,0,0.3)","+5","rgba(0,0,255,0.3)","+5.5","rgba(0,0,255,0.3)","+6","rgba(255,0,0,0.4)","+6.5","rgba(255,0,0,0.4)","+7","rgba(0,255,0,0.3)","+7.5","rgba(0,255,0,0.3)","+8","rgba(0,0,255,0.3)","+8.5","rgba(0,0,255,0.3)","+9","rgba(255,0,0,0.4)","+9.5","rgba(255,0,0,0.4)","+10","rgba(0,255,0,0.3)","+10.5","rgba(0,255,0,0.3)","+11","rgba(0,0,255,0.3)","+11.5","rgba(0,0,255,0.3)","rgba(255,0,0,0.4)"]}}),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-field":"{offSet}","text-rotation-alignment":"viewport","text-size":12,"text-offset":[0,1]},paint:{"text-opacity":.8,"text-color":"#fff"}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Ar(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Mr=E(Wr,[["render",Ar]]),Or={name:"IdmVoluntaryReportingArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},data(){return{source:"vra-source",areaLayer:"vra-layer",areaLabelLayer:"vra-label-layer"}},watch:{area:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.4,"fill-color":"#9f30f9"}},this.beforeLayer),this.map.addLayer({id:this.areaLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":1,"line-color":"#9f30f9"}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,-3.5]},paint:{"icon-opacity":.8,"text-color":"#000","text-halo-color":"#fff","text-halo-width":1}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLayer+"-border")&&this.map.removeLayer(this.areaLayer+"-border"),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Fr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const jr=E(Or,[["render",Fr]]),$r={name:"IdmSpecialArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},data(){return{source:"special-area-source",areaLayer:"special-area-layer",areaLabelLayer:"special-area-label-layer"}},watch:{area:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.area.features.forEach(r=>{r.geometry.type==="Polygon"&&r.geometry.coordinates.forEach(e=>k.LngLatHelper.convertToMonotonicLng2(e))}),this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.4,"fill-color":["match",["get","val"],"DefaultStyle","rgb(0,0,0)","JWCriskArea","rgb(0,0,0)","rgb(0,0,0)"]}},this.beforeLayer),this.map.addLayer({id:this.areaLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":.4,"line-color":"rgb(0,0,0)"}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,-3.5]},paint:{"icon-opacity":.8,"text-color":"#000","text-halo-color":"#fff","text-halo-width":1}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLayer+"-border")&&this.map.removeLayer(this.areaLayer+"-border"),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Hr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Ur=E($r,[["render",Hr]]),Zr={name:"IdmTerminator",props:{map:{type:Object},area:{type:Object}},data(){return{source:"terminator-source",layer:"terminator-layer"}},watch:{area:{handler(){this.handleRender()}}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.layer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"silver","fill-opacity":.5,"fill-color":"rgba(0, 0, 0, 0.4)"}}))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Gr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Jr=E(Zr,[["render",Gr]]),Ei="",Xr={name:"IdmLatLng",props:{map:{type:Object},show:{type:Boolean},bottom:{type:String,default:"70px"},toggleVersion:{type:Number}},data(){return{lngLat:void 0,source:"idm-lat-lng-source",layer:"idm-lat-lng-layer",labelLayer:"idm-lat-lng-label-layer",right:10}},watch:{show:{handler(){this.handleBind()},immediate:!0},map:{handler(){var r;this.map&&((r=this.map)==null||r.on("mousemove",this.handleMouseMove))},immediate:!0},toggleVersion:{handler(){var r,e;this.right=(((r=document.getElementsByClassName("legend-bars")[0])==null?void 0:r.clientWidth)||-10)+(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.clientWidth)||0)+20},immediate:!0}},methods:{handleBind(){var r,e;this.show?((r=this.map)==null||r.on("zoomend",this.handleZoomEnd),this.handleRender()):(this.handleClear(),(e=this.map)==null||e.off("zoomend",this.handleZoomEnd))},handleMouseMove(r){const e=r.lngLat,a=k.LngLatHelper.lng2pretty(e.lng,2),o=k.LngLatHelper.lat2pretty(e.lat,2);this.lngLat={lng:a,lat:o}},handleComputeLatLngs(){var o;const r=(o=this.map)==null?void 0:o.getZoom();console.log(r);let e=30;r>4?e=10:r>3&&(e=15);const a=[];for(let i=-60;i<90;i+=e)a.push({type:"Feature",geometry:{type:"LineString",coordinates:[[-180,i],[180,i]]}});for(let i=-180;i<180;i+=e)a.push({type:"Feature",geometry:{type:"LineString",coordinates:[[i,-90],[i,90]]}});for(let i=180;i>-180;i-=e)for(let s=-60;s<90;s+=e)a.push({type:"Feature",geometry:{type:"Point",coordinates:[i,s]},properties:{val:`${s>0?s+" N":s===0?s:s*-1+" S"}, ${i>0?i+" E":i*-1+" W"}`}});return a},handleZoomEnd(){var e;const r=this.handleComputeLatLngs();(e=this.map)==null||e.getSource(this.source).setData(v.featureCollection(r))},handleRender(){if(this.map){const r=this.handleComputeLatLngs();this.map.addSource(this.source,{type:"geojson",data:{type:"FeatureCollection",features:r}}),this.map.addLayer({id:this.layer,type:"line",source:this.source,filter:["==","$type","LineString"],layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":"rgba(0, 0, 0, 0.3)","line-width":1}}),this.map.addLayer({id:this.labelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-field":"{val}","text-rotation-alignment":"viewport","text-offset":[0,1],"text-size":10,"text-allow-overlap":!0},paint:{"text-opacity":.8}})}},handleClear(){var r,e,a,o,i,s;(r=this.map)!=null&&r.getLayer(this.layer)&&((e=this.map)==null||e.removeLayer(this.layer)),(a=this.map)!=null&&a.getLayer(this.labelLayer)&&((o=this.map)==null||o.removeLayer(this.labelLayer)),(i=this.map)!=null&&i.getSource(this.source)&&((s=this.map)==null||s.removeSource(this.source))}}};function qr(r,e,a,o,i,s){return i.lngLat?(t.openBlock(),t.createElementBlock("div",{key:0,class:"lat-lng-tip",style:t.normalizeStyle({right:i.right+"px",bottom:a.bottom})},[t.createElementVNode("span",null,t.toDisplayString(i.lngLat.lat.pretty),1),e[0]||(e[0]=t.createElementVNode("span",null,", ",-1)),t.createElementVNode("span",null,t.toDisplayString(i.lngLat.lng.pretty),1)],4)):t.createCommentVNode("",!0)}const he=E(Xr,[["render",qr],["__scopeId","data-v-73241fe7"]]),Yr={name:"IdmMeasure",props:{map:{type:Object},show:{type:Boolean}},data(){return{geojson:[],source:"measure-source",layer:"measure-layer",labelLayer:"measure-label-layer",tmpSource:"measure-tmp-source",tmpLayer:"measure-tmp-layer",tmpLabelLayer:"measure-tmp-label-layer",closeMarkers:{},pointMarkers:{},tipMarker:void 0,contextmenu:void 0,navigation:"RL"}},watch:{show:{handler(){this.handleBind()},immediate:!0},map:{handler(){this.map&&this.handleBind()}}},methods:{handleBind(){var r,e,a,o,i,s,n,l,h,p;if(this.show)(r=this.map)==null||r.getCanvas().addEventListener("keydown",this.handleKeydown),(e=this.map)==null||e.on("mousemove",this.handleMove),(a=this.map)==null||a.on("dblclick",this.handleDblClick),(o=this.map)==null||o.on("click",this.handleClick),(i=this.map)==null||i.on("contextmenu",this.handleContextmenu),this.map&&(this.map.getCanvas().style.cursor="crosshair");else{(s=this.map)==null||s.getCanvas().removeEventListener("keydown",this.handleKeydown),(n=this.map)==null||n.off("mousemove",this.handleMove),(l=this.map)==null||l.off("dblclick",this.handleDblClick),(h=this.map)==null||h.off("click",this.handleClick),(p=this.map)==null||p.off("contextmenu",this.handleContextmenu);for(const c of this.geojson)this.handleClear(c,!0);this.geojson=[],this.map&&(this.map.getCanvas().style.cursor="grab")}},handleKeydown(r){if(r.key==="Shift"){this.navigation=this.navigation==="RL"?"GC":"RL";const a=this.geojson.at(-1).features.filter(o=>o.geometry.type==="Point");a.length&&(a.at(-1).properties.mode=this.navigation)}},handleDrag(r){var a,o,i,s,n,l,h,p,c,d;const e=(o=(a=r.target)==null?void 0:a._element)==null?void 0:o.id;if((e==null?void 0:e.split("-").length)===2){const u=this.geojson.filter(y=>y.id===e.split("-")[0])[0];this.pointMarkers[u.id].filter(y=>{var L;return((L=y._element)==null?void 0:L.id)===e})[0].setLngLat([(s=(i=r.target)==null?void 0:i._lngLat)==null?void 0:s.lng,(l=(n=r.target)==null?void 0:n._lngLat)==null?void 0:l.lat]);let b;u.features.forEach((y,L)=>{if(y.geometry.type==="Point"&&y.properties.id==e.split("-")[1]){b=L;return}});const f=u.features.filter(y=>y.geometry.type==="Point");this.handleTmpPointUpdate(u,f[b-1],{lng:(p=(h=r.target)==null?void 0:h._lngLat)==null?void 0:p.lng,lat:(d=(c=r.target)==null?void 0:c._lngLat)==null?void 0:d.lat,properties:f[b].properties},b===f.length-1?void 0:f[b+1])}},handleDragEnd(r){var a,o,i,s,n,l,h,p,c,d;const e=(o=(a=r.target)==null?void 0:a._element)==null?void 0:o.id;if((e==null?void 0:e.split("-").length)===2){const u=this.geojson.filter(f=>f.id===e.split("-")[0])[0];this.pointMarkers[u.id].filter(f=>{var y;return((y=f._element)==null?void 0:y.id)===e})[0].setLngLat([(s=(i=r.target)==null?void 0:i._lngLat)==null?void 0:s.lng,(l=(n=r.target)==null?void 0:n._lngLat)==null?void 0:l.lat]);const b=u.features.filter(f=>f.geometry.type==="Point"&&f.properties.id==e.split("-")[1])[0];b.geometry.coordinates=[(p=(h=r.target)==null?void 0:h._lngLat)==null?void 0:p.lng,(d=(c=r.target)==null?void 0:c._lngLat)==null?void 0:d.lat],u.features=u.features.filter(f=>f.geometry.type==="Point"),this.handlePointUpdate(u)}},handleContextmenu(r){var a,o,i,s;r.preventDefault(),(a=this.contextmenu)==null||a.remove();const e=(s=(i=(o=r.originalEvent)==null?void 0:o.target)==null?void 0:i.parentElement)==null?void 0:s.id;if((e==null?void 0:e.split("-").length)===2){const l=this.geojson.filter(h=>h.id===e.split("-")[0])[0].features.filter(h=>h.geometry.type==="Point");if(l.length>2&&l.filter(p=>p.properties.id===(e==null?void 0:e.split("-")[1]))[0]){const p=document.createElement("div");p.className="point-contextmenu-marker",p.innerHTML=`<span id="del-${e}" class="del-point">Del</span>`,this.contextmenu=new j.Marker(p).setOffset([24,0]).setLngLat([r.lngLat.lng,r.lngLat.lat]).addTo(this.map)}}},handleClick(r){var a,o,i,s,n;(a=this.contextmenu)==null||a.remove();const e=r.originalEvent.target.className;if(e==="marker-close"){const l=(i=(o=r.originalEvent)==null?void 0:o.srcElement)==null?void 0:i.id,h=this.geojson.filter(p=>p.id===l)[0];h&&this.handleClear(h,!0),this.geojson=this.geojson.filter(p=>p.id!==l)}else if(e==="del-point"){const l=(n=(s=r.originalEvent.target.id)==null?void 0:s.replace("del-",""))==null?void 0:n.split("-"),h=this.geojson.filter(p=>p.id===l[0])[0];h.features=h.features.filter(p=>p.geometry.type==="Point"&&p.properties.id!==l[1]),this.handlePointUpdate(h)}else if(e!=="marker-label"){let l=this.geojson.at(-1);l||(l=v.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(l)),l.features=l.features.filter(p=>p.geometry.type==="Point");const h=v.feature({type:"Point",coordinates:[r.lngLat.lng,r.lngLat.lat]},{id:new Date().getTime().toString(),mode:this.navigation});l.features.push(h),this.handlePointUpdate(l)}},handlePointUpdate(r){const e=r.features;if(e.length>1){let a=0;const o=[];for(let i=1;i<e.length;i++){const s=e[i-1],n=e[i],l=s.properties,h={lng:s.geometry.coordinates[0],lat:s.geometry.coordinates[1]},p={lng:n.geometry.coordinates[0],lat:n.geometry.coordinates[1]},c=k.LaneHelper.calculateDistance(h,p,l.mode==="RL",2),d=k.LaneHelper.calculateBearing(h,p,l.mode==="RL",2);a=k.LngLatHelper.roundPrecision(a+c,2);let u;l.mode==="RL"?u=k.LngLatHelper.convertToMonotonicLng([h,p]):u=k.LngLatHelper.convertToMonotonicLng(k.LaneHelper.interpolateCoordinates(h,p,200));const m=v.lineString(u.map(b=>[b.lng,b.lat]));m.properties.dist=c,m.properties.bearing=d,m.properties.total=a,o.push(m)}e.push(...o),r.total=a}return this.handleRender(r),r},handleTmpPointUpdate(r,e,a,o){const i=v.featureCollection([]);let s,n;if(e){const h=e.properties,p={lng:e.geometry.coordinates[0],lat:e.geometry.coordinates[1]},c={lng:a.lng,lat:a.lat};s=k.LaneHelper.calculateDistance(p,c,h.mode==="RL",2),n=k.LaneHelper.calculateBearing(p,c,h.mode==="RL",2);let d;h.mode==="RL"?d=k.LngLatHelper.convertToMonotonicLng([p,c]):d=k.LngLatHelper.convertToMonotonicLng(k.LaneHelper.interpolateCoordinates(p,c,200));const u=v.lineString(d.map(m=>[m.lng,m.lat]));u.properties.dist=s,u.properties.bearing=n,i.features.push(u)}if(o){const h=a.properties,p=a,c={lng:o.geometry.coordinates[0],lat:o.geometry.coordinates[1]};s=k.LaneHelper.calculateDistance(p,c,h.mode==="RL",2),n=k.LaneHelper.calculateBearing(p,c,h.mode==="RL",2);let d;h.mode==="RL"?d=k.LngLatHelper.convertToMonotonicLng([p,c]):d=k.LngLatHelper.convertToMonotonicLng(k.LaneHelper.interpolateCoordinates(p,c,200));const u=v.lineString(d.map(m=>[m.lng,m.lat]));u.properties.dist=s,u.properties.bearing=n,i.features.push(u)}this.map.getSource(this.tmpSource)?this.map.getSource(this.tmpSource).setData(i):this.map.addSource(this.tmpSource,{type:"geojson",data:i}),this.map.getLayer(this.tmpLayer)||this.map.addLayer({id:this.tmpLayer,type:"line",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#F44336","line-width":2,"line-opacity":1,"line-dasharray":[3,2]}}),this.map.getLayer(this.tmpLabelLayer)||this.map.addLayer({id:this.tmpLabelLayer,type:"symbol",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist} nm","text-rotation-alignment":"map","text-size":12},paint:{"text-opacity":1,"text-color":"#fff","text-halo-color":"#F44336","text-halo-width":4,"text-halo-blur":0}});let l;if(o?l='<div class="marker-label">Drag and drop</div>':l=`<div class="marker-label">Tol distance: <b>${k.LngLatHelper.roundPrecision((r.total??0)+s,2)}</b>nm, bearing: <b>${n}</b>°</div><div class="marker-label">${this.navigation==="RL"?"RL":"GC"} mode, using 'Shift' to switch</div><div class="marker-label">Double click to end</div>`,this.tipMarker)this.tipMarker._element.innerHTML=l,this.tipMarker.setLngLat([a.lng,a.lat]);else{const h=document.createElement("div");h.className="tip-marker",h.innerHTML=l,this.tipMarker=new j.Marker(h).setOffset([140,0]).setLngLat([a.lng,a.lat]).addTo(this.map)}},handleMove(r){this.map.getCanvas().style.cursor="crosshair";let e=this.geojson.at(-1);e||(e=v.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(e));const a=e.features.filter(o=>o.geometry.type==="Point");a!=null&&a.length&&this.handleTmpPointUpdate(e,a.at(-1),{lng:r.lngLat.lng,lat:r.lngLat.lat})},handleDblClick(r){r.preventDefault();let e=this.geojson.at(-1);e.closed=!0,this.handleRender(e),e=v.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(e)},handleRender(r){var e;if((e=r==null?void 0:r.features)!=null&&e.length){const a=`${r.id}-${this.source}`,o=`${r.id}-${this.layer}`,i=`${r.id}-${this.labelLayer}`;this.map.getSource(a)?this.map.getSource(a).setData(r):this.map.addSource(a,{type:"geojson",data:r}),this.handleClear(r,!1),this.map.addLayer({id:o,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#F44336","line-width":2}}),this.map.addLayer({id:i,type:"symbol",source:a,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist}nm,{bearing}°","text-rotation-alignment":"map","text-size":12},paint:{"text-opacity":1,"text-color":"#fff","text-halo-color":"#F44336","text-halo-width":4,"text-halo-blur":0}});const s=r.features.filter(n=>n.geometry.type==="Point");for(const n of s){const l=document.createElement("div");l.id=`${r.id}-${n.properties.id}`,l.className=`${r.closed?"point-marker closed":"point-marker"}`,l.innerHTML='<div class="marker-circle"></div>';const h=new j.Marker({element:l,draggable:!0,contextmenu:!0}).setLngLat(n.geometry.coordinates).addTo(this.map);h.on("drag",this.handleDrag),h.on("dragend",this.handleDragEnd),this.pointMarkers[r.id]?this.pointMarkers[r.id].push(h):this.pointMarkers[r.id]=[h]}if(r.closed){const n=s.at(-1),h=r.features.filter(c=>c.geometry.type==="LineString").at(-1),p=document.createElement("div");p.className="point-summary-marker",p.innerHTML=`<div id="${r.id}" class="marker-close">×</div><div class="marker-label">Tol: ${h.properties.total}nm</div>`,this.closeMarkers[r.id]=new j.Marker(p).setOffset([60,0]).setLngLat(n.geometry.coordinates).addTo(this.map)}}},handleClear(r,e=!0){var s,n,l,h,p,c,d,u,m;const a=`${r.id}-${this.source}`,o=`${r.id}-${this.layer}`,i=`${r.id}-${this.labelLayer}`;(s=this.map)!=null&&s.getLayer(o)&&this.map.removeLayer(o),(n=this.map)!=null&&n.getLayer(i)&&this.map.removeLayer(i),(l=this.map)!=null&&l.getLayer(this.tmpLayer)&&this.map.removeLayer(this.tmpLayer),(h=this.map)!=null&&h.getLayer(this.tmpLabelLayer)&&this.map.removeLayer(this.tmpLabelLayer),(p=this.closeMarkers[r.id])==null||p.remove(),this.closeMarkers[r.id]=void 0,(c=this.pointMarkers[r.id])==null||c.forEach(b=>{b==null||b.remove()}),this.pointMarkers[r.id]=[],(d=this.tipMarker)==null||d.remove(),this.tipMarker=void 0,e&&((u=this.map)!=null&&u.getSource(a))&&this.map.removeSource(a),e&&((m=this.map)!=null&&m.getSource(this.tmpSource))&&this.map.removeSource(this.tmpSource)}}};function Qr(r,e,a,o,i,s){return t.openBlock(),t.createElementBlock("div")}const Kr=E(Yr,[["render",Qr]]),Si="",ei={name:"IdmENC",props:{map:{type:Object},enabled:{type:Boolean},beforeLayer:{type:String,default:"grayland"},bottom:{type:String,default:"280px"},token:{type:String,default:""},toggleVersion:{type:Number},permission:{type:Number}},emits:["enc"],data(){return{helper:V.CompanyHelper,vendor:this.$attrs.permission&V.CompanyHelper.LEVEL.Supper?"hi":"i4",right:10}},watch:{vendor:{handler(){this.$emit("enc",this.vendor)},immediate:!0},toggleVersion:{handler(){var r;this.right=(((r=document.getElementsByClassName("right-bar")[0])==null?void 0:r.clientWidth)||0)+10},immediate:!0}},methods:{}},ti={key:0},ai={class:"bar-item"};function ri(r,e,a,o,i,s){const n=t.resolveComponent("ElTooltip");return a.enabled&&a.permission&i.helper.LEVEL.Supper?(t.openBlock(),t.createElementBlock("div",ti,[t.createElementVNode("div",{class:"menu-bar-box",style:t.normalizeStyle({position:"absolute",right:i.right+"px",bottom:a.bottom})},[t.createElementVNode("div",ai,[t.createVNode(n,{placement:"left",effect:"light",content:"Hifleet","show-after":1e3},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(i.vendor==="hi"?"menu-icon active":"menu-icon"),onClick:e[0]||(e[0]=l=>i.vendor="hi")},e[2]||(e[2]=[t.createElementVNode("span",{class:"iconfont"},"HI",-1)]),2)]),_:1}),t.createVNode(n,{placement:"left",effect:"light",content:"I4insight","show-after":1e3},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(i.vendor==="i4"?"menu-icon active":"menu-icon"),onClick:e[1]||(e[1]=l=>i.vendor="i4")},e[3]||(e[3]=[t.createElementVNode("span",{class:"iconfont"},"I4",-1)]),2)]),_:1})])],4)])):t.createCommentVNode("",!0)}const ii=E(ei,[["render",ri],["__scopeId","data-v-150235f7"]]),Ni="",oi={name:"IdmGLV2",components:{IdmGlLayer:dt,IdmWindBarb:ft,IdmWindParticle:Lt,IdmCurrents:vt,IdmCurrentParticle:St,IdmSigWave:zt,IdmSwell:Dt,IdmPrmsl:Rt,IdmIceberg:Mt,IdmTropicals:ce,IdmPrecip3h:sa,IdmVisibility:ha,IdmWaterTemp:ya,IdmTemp:ba,IdmArctic:_a,IdmWarZone:mr,IdmGmdssArea:ur,IdmEcaZone:Lr,IdmAlertZone:Cr,IdmPort:Dr,IdmLoadLine:Rr,IdmTimezone:Mr,IdmVRA:jr,IdmSpecialArea:Ur,IdmTerminator:Jr,IdmLatLng:he,IdmMeasure:Kr,IdmPoint:hr,IdmENC:ii},props:{map:{type:Object,default:void 0},token:{type:String},ts:{type:String},beforeLayer:{type:String,default:""},toggleVersion:{type:Number}},emits:["toggleVersion","activeWeatherLayers"],data(){return{weatherLayers:{},activeWeatherLayers:[],weatherWeight:0,otherLayers:{},otherWeight:0,showCoord:!1,showMeasure:!1,showPoint:!1,show3d:!1,meteo:void 0,source:"",gateway:"https://cbe.idmwx.com",mapProjection:"mercator",zoom:6,viewport:void 0,particleFactor:void 0,showRampColor:!1,activeWindLayer:!1,showWindFeather:!1,showWindParticle:!1,showCurrentIsoband:!1,showCurrentParticle:!1,enc:"",defaultMeteoToken:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNseTVudHJzYzAwNWUwbHBsZHkyaDRqczMiLCJyb2xlIjoxLCJuYW1lIjoiZmFrZUBvcm13eC5jb20iLCJwbGF0SWQiOiJnZDBtdDFkIiwiY29tcGFueSI6eyJpZCI6bnVsbCwiY2hpbGRyZW4iOltdfSwiaWF0IjoxNzIzMDI0MDI0LCJleHAiOjM5MzA1NDQwMjR9.RrKcdcMnq-FxBLJQ-i6lx2FscDE46y8EvHIemPW4HTg",helper:new pe}},watch:{ts:{handler(r,e){r&&e&&D(r).utc().format("yyyy-MM-DD HH")!==D(e).utc().format("yyyy-MM-DD HH")&&this.$nextTick(()=>{this.handleDateChange({tropicals:!1})})},immediate:!0},map:{handler(){this.map&&(this.map.on("zoomend",this.handleDragEndWithZoom4Json),this.map.on("dragend",this.handleDragEndWithZoom4Json),this.map.on("move",this.handleDragEndWithZoom4Image),this.viewport=new oe(this.map),this.handleRampColorInitial())},immediate:!0},enc:{handler(r,e){var a,o,i,s,n,l,h,p;r?((o=(a=this.map)==null?void 0:a.getLayer(r))==null||o.setLayoutProperty("visibility","visible"),(s=(i=this.map)==null?void 0:i.getLayer(e))==null||s.setLayoutProperty("visibility","none")):((l=(n=this.map)==null?void 0:n.getLayer("i4"))==null||l.setLayoutProperty("visibility","none"),(p=(h=this.map)==null?void 0:h.getLayer("hi"))==null||p.setLayoutProperty("visibility","none"))}},activeWeatherLayers:{handler(){var r,e,a,o,i,s,n,l,h,p,c,d,u,m,b,f,y,L;if(!this.map)return!1;this.activeWeatherLayers.length>0?((e=(r=this.map)==null?void 0:r.getLayer(this.enc))==null||e.setLayoutProperty("visibility","none"),(o=(a=this.map)==null?void 0:a.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))==null||o.setLayoutProperty("visibility","visible"),(s=this.map)!=null&&s.getLayer((i=this.viewport)==null?void 0:i.rampColorLayer)&&((n=this.map)!=null&&n.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))&&this.mapProjection==="mercator"&&((h=this.map)==null||h.moveLayer((l=this.viewport)==null?void 0:l.rampColorLayer,this.helper.mapboxCustomer.layers.countryBoundary.id)),(c=this.map)!=null&&c.getLayer((p=this.viewport)==null?void 0:p.particleLayer)&&((d=this.map)!=null&&d.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))&&this.mapProjection==="mercator"&&((m=this.map)==null||m.moveLayer((u=this.viewport)==null?void 0:u.particleLayer,this.helper.mapboxCustomer.layers.countryBoundary.id))):((f=(b=this.map)==null?void 0:b.getLayer(this.enc))==null||f.setLayoutProperty("visibility","visible"),(L=(y=this.map)==null?void 0:y.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))==null||L.setLayoutProperty("visibility","none")),this.$emit("activeWeatherLayers",this.activeWeatherLayers)},immediate:!0}},methods:{async fetchWeatherLayers(r={tropicals:!1}){var i,s,n,l,h,p,c,d;const e=new Date().valueOf();let a=0,o=0;if(this.map){const u=((i=this.map)==null?void 0:i.getZoom())+1,m=(s=this.map)==null?void 0:s.getBounds(),b=`${m._sw.lng},${m._sw.lat},${m._ne.lng},${m._ne.lat}`;if(this.particleFactor){const f=V.LayerHelper.WEATHER_LAYERS.find(y=>{var L;return((L=y.peer)==null?void 0:L.weight)===this.particleFactor.weight});this.particleFactor.particle?this.weatherWeight=this.weatherWeight&f.weight?this.weatherWeight:this.weatherWeight+f.weight:this.weatherWeight=this.weatherWeight&f.weight?this.weatherWeight-f.weight:this.weatherWeight}if(this.weatherWeight>0){let f=this.weatherWeight,y;if(r.tropicals||this.weatherWeight&256&&(y=this.weatherLayers.tropicals,y&&(f-=256,y.version=Math.random()+1)),f>0){const L=await $.get(`${this.gateway}/api/arc/weather/layers/links?l=${f}&v=${this.source}&z=${u}&bbox=${b}&t=${this.ts}`,{headers:{Authorization:this.token||this.defaultMeteoToken}});if(o=new Date().valueOf()-(e+a),console.log("weather links elapsed: ",o,", total: ",a+=o),((n=L==null?void 0:L.data)==null?void 0:n.code)===0){const g=(l=L==null?void 0:L.data)==null?void 0:l.data,x=[];for(const w in g)w==="ice-edge"&&(g[w]="https://idm-hz.oss-cn-hangzhou.aliyuncs.com/test/sea_ice_contours.geojson"),w!=="tropicals"&&x.push($.get(g[w],{headers:{Authorization:this.token||this.defaultMeteoToken,key:w},responseType:/\.(jpg|png)$/.test(g[w])?"blob":"json"}).catch(_=>{console.log(`[${w}] fetch layer error: ${_}`)}));const C=await Promise.all(x);this.weatherLayers={},C.map(w=>{var I,W,A,F;const _=((I=w==null?void 0:w.data)==null?void 0:I.data)||(w==null?void 0:w.data),N=(A=(W=w==null?void 0:w.config)==null?void 0:W.headers)==null?void 0:A.key;N&&_&&(this.weatherLayers[N]={raw:_,type:((F=w==null?void 0:w.config)==null?void 0:F.responseType)==="blob"?"image":"json",etime:this.ts})}),g.tropicals&&$.get(g.tropicals,{headers:{Authorization:this.token||this.defaultMeteoToken,key:"tropicals"}}).then(w=>{var I,W,A;const _=k.TropicalHelper.convert2Geojson(((I=w==null?void 0:w.data)==null?void 0:I.data)||(w==null?void 0:w.data)),N=(A=(W=w==null?void 0:w.config)==null?void 0:W.headers)==null?void 0:A.key;this.weatherLayers[N]={data:_,active:!0,cached:!1,type:"json",etime:this.ts,version:Math.random()+1}})}if(o=new Date().valueOf()-(e+a),console.log("weather layers elapsed: ",o,", total: ",a+=o),this.weatherLayers["swell-direction"]||this.weatherLayers["swell-height"]){const g=(h=this.weatherLayers["swell-direction"])==null?void 0:h.raw,x=(p=this.weatherLayers["swell-height"])==null?void 0:p.raw;delete this.weatherLayers["swell-direction"],delete this.weatherLayers["swell-height"],this.weatherLayers.swell={type:"json",direction:g,height:{raw:x},etime:this.ts}}if(this.weatherLayers["current-direction"]||this.weatherLayers["current-speed"]){const g=(c=this.weatherLayers["current-direction"])==null?void 0:c.raw,x=(d=this.weatherLayers["current-speed"])==null?void 0:d.raw;delete this.weatherLayers["current-direction"],delete this.weatherLayers["current-speed"],this.weatherLayers.current={type:"json",direction:g,speed:{raw:x},etime:this.ts}}}y&&(y.etime=this.ts,y.cached=!0,this.weatherLayers.tropicals=y)}this.handleWeatherLayerToggle(),this.handleDragEndWithZoom4Json()}this.$emit("toggleVersion",Math.random())},async fetchOtherLayers(r={all:!1,dayNight:!1,enc:!1}){var e,a,o,i;if(this.map){let s=this.otherWeight;if(s){let n=!1;if(this.otherWeight&2048&&(s=this.otherWeight-2048,n=!0),s){if(r.all){const l=await $.get(`${this.gateway}/api/arc/other/layers/links?l=${s}&t=${this.ts}`,{headers:{Authorization:this.token||this.defaultMeteoToken}});if(((e=l==null?void 0:l.data)==null?void 0:e.code)===0){const h=(a=l==null?void 0:l.data)==null?void 0:a.data,p=[];for(const d in h)p.push($.get(h[d],{headers:{Authorization:this.token||this.defaultMeteoToken,key:d}}));const c=await Promise.all(p);this.otherLayers={enc:n},c.map(d=>{var b,f,y;const u=((b=d==null?void 0:d.data)==null?void 0:b.data)||(d==null?void 0:d.data),m=(y=(f=d==null?void 0:d.config)==null?void 0:f.headers)==null?void 0:y.key;this.otherLayers[m]=u})}}else if(r.dayNight&&s&1024){const l=await $.get(`${this.gateway}/api/arc/other/layers/links?l=1024&t=${this.ts}`,{headers:{Authorization:this.token||this.defaultMeteoToken}});if(((o=l==null?void 0:l.data)==null?void 0:o.code)===0){const h=(i=l==null?void 0:l.data)==null?void 0:i.data,p=[];for(const d in h)p.push($.get(h[d],{headers:{Authorization:this.token||this.defaultMeteoToken,key:d}}));(await Promise.all(p)).map(d=>{var b,f,y;const u=((b=d==null?void 0:d.data)==null?void 0:b.data)||(d==null?void 0:d.data),m=(y=(f=d==null?void 0:d.config)==null?void 0:f.headers)==null?void 0:y.key;this.otherLayers[m]=u})}}}else this.otherLayers={enc:n}}else this.otherLayers={};this.handleBeforeLayerToggle()}},handleRampColorState(){var r;if(this.showRampColor=!1,this.showWindParticle=!1,this.showCurrentParticle=!1,(r=this.particleFactor)!=null&&r.particle)this.showRampColor=!0,this.particleFactor.key==="wind"&&(this.showWindParticle=!0),this.particleFactor.key==="current"&&(this.showCurrentParticle=!0);else for(const e of this.activeWeatherLayers)["png","jpg"].includes(e.type)&&(this.showRampColor=!0);this.activeWindLayer=!!this.activeWeatherLayers.find(e=>e.key==="wind"),this.$refs.layer&&(this.$refs.layer.activeWeatherLayers=this.activeWeatherLayers)},handleRampColorInitial(){var r,e,a,o,i,s,n,l,h,p,c,d;this.viewport.map.getSource((r=this.viewport)==null?void 0:r.rampColorSource)||this.viewport.map.addSource((e=this.viewport)==null?void 0:e.rampColorSource,{type:"canvas",canvas:(a=this.viewport)==null?void 0:a.rampColorCanvas,animate:!0,coordinates:this.viewport.getBoundLngLat()}),this.viewport.map.getLayer((o=this.viewport)==null?void 0:o.rampColorLayer)||this.viewport.map.addLayer({type:"raster",id:(i=this.viewport)==null?void 0:i.rampColorLayer,source:(s=this.viewport)==null?void 0:s.rampColorSource,layout:{visibility:"none"}},this.beforeLayer),this.viewport.map.getSource((n=this.viewport)==null?void 0:n.particleSource)||this.viewport.map.addSource((l=this.viewport)==null?void 0:l.particleSource,{type:"canvas",canvas:(h=this.viewport)==null?void 0:h.particleCanvas,animate:!0,coordinates:this.viewport.getBoundLngLat()}),this.viewport.map.getLayer((p=this.viewport)==null?void 0:p.particleLayer)||this.viewport.map.addLayer({type:"raster",id:(c=this.viewport)==null?void 0:c.particleLayer,source:(d=this.viewport)==null?void 0:d.particleSource,layout:{visibility:"none"}},this.beforeLayer)},handleDragEndWithZoom4Json(){var p,c,d,u;const r=new Date().valueOf();let e=0,a=0;const o=(p=this.map)==null?void 0:p.getBounds(),i=this.map.getZoom(),s=k.LngLatHelper.convertToStdLng(o._sw.lng),n=k.LngLatHelper.convertToStdLng(o._ne.lng),l=Math.floor(o._sw.lat),h=Math.ceil(o._ne.lat);for(const m in this.weatherLayers)if(this.weatherLayers[m].active&&this.weatherLayers[m].type==="json"){this.weatherLayers[m].active=!1,this.weatherLayers[m].version=Math.random()+1;let b=[];if(["swell","current"].includes(m)){const f=((c=this.weatherLayers[m])==null?void 0:c.direction)||{};for(const y in f)if(y>l&&y<h&&(!(i<=this.zoom)||y%(i<this.zoom/2?5:3)===0)){const L=f[y].lng;s>n?L.forEach((g,x)=>{var C;if((g>=s&&g<=180||g>=-180&&g<=n)&&(!(i<=this.zoom)||g%(i<this.zoom/2?5:3)===0)){const w=v.point([g,y],{val:f[y].val[x],spd:(C=f[y].spd)==null?void 0:C[x]});b.push(w)}}):L.forEach((g,x)=>{var C;if(g>=s&&g<=n&&(!(i<=this.zoom)||g%(i<this.zoom/2?5:3)===0)){const w=v.point([g,y],{val:f[y].val[x],spd:(C=f[y].spd)==null?void 0:C[x]});b.push(w)}})}if(a=new Date().valueOf()-(r+e),console.log("direction elapsed: ",a,", total: ",e+=a),m==="swell"){const y=this.weatherLayers[m].height;if(y){if(!y.data){const L=[];for(const g in(d=y.raw)==null?void 0:d.LineString){const x=y.raw.LineString[g];for(const C of x)L.push(v.lineString(C,{val:Number(g)}));y.data=v.featureCollection(L)}}if(y.data){const L=this.handleBboxClip(y.data,o);b=b.concat(L)}a=new Date().valueOf()-(r+e),console.log("height elapsed: ",a,", total: ",e+=a)}}if(m==="current"){const y=this.weatherLayers[m].speed;if(y){if(!y.data){const g=[];for(const x in(u=y.raw)==null?void 0:u.Polygon){const C=y.raw.Polygon[x];for(const w of C)g.push(v.polygon(w,{val:Number(x)}))}y.data=v.featureCollection(g)}const L=i<this.zoom?y.data.features.filter(g=>g.properties.val>.5):y.data.features;b=b.concat(L),a=new Date().valueOf()-(r+e),console.log("speed elapsed: ",a,", total: ",e+=a)}}}else if(m==="wind"){const f=this.weatherLayers.wind.raw;for(const y in f)if(y>l&&y<h&&(!(i<=this.zoom)||y%(i<this.zoom/2?5:3)===0)){const L=f[y].lng;s>n?L.forEach((g,x)=>{if((g>=s&&g<=180||g>=-180&&g<=n)&&(!(i<=this.zoom)||g%(i<this.zoom/2?5:3)===0)){const C=v.point([g,y],{val:f[y].val[x],spd:f[y].spd[x]});b.push(C)}}):L.forEach((g,x)=>{if(g>=s&&g<=n&&(!(i<=this.zoom)||g%(i<this.zoom/2?5:3)===0)){const C=v.point([g,y],{val:f[y].val[x],spd:f[y].spd[x]});b.push(C)}})}a=new Date().valueOf()-(r+e),console.log("wind barb elapsed: ",a,", total: ",e+=a)}else if(m==="sig-wave-height"){if(this.weatherLayers[m].data)b=this.weatherLayers[m].data;else{const f=this.weatherLayers[m].raw;if(f){const y=[];for(const L in f.Polygon){const g=f.Polygon[L];for(const x of g)y.push(v.polygon(x,{val:Number(L)}))}for(const L in f.Point){const g=f.Point[L];for(const x of g)y.push(...v.points(x,{val:Number(L)}).features)}b=b.concat(y)}}a=new Date().valueOf()-(r+e),console.log("sigWave elapsed: ",a,", total: ",e+=a)}else if(m==="prmsl"){if(this.weatherLayers[m].data)b=this.weatherLayers[m].data;else{const f=this.weatherLayers[m].raw;if(f){const y=[];for(const L in f.LineString){const g=f.LineString[L];for(const x of g)y.push(v.lineString(x,{val:Number(L)}))}for(const L in f.Point)f.Point[L].lng.forEach((g,x)=>{g=k.LngLatHelper.convertToStdLng(g),y.push(v.point([g,L],{val:f.Point[L].val[x],type:f.Point[L].type[x]}))});b=b.concat(y)}}a=new Date().valueOf()-(r+e),console.log("prmsl elapsed: ",a,", total: ",e+=a)}else if(m==="arctic"||m==="iceberg"){if(this.weatherLayers[m].data)b=this.weatherLayers[m].data;else{const f=this.weatherLayers[m].raw;if(f){const y=[];for(const L in f.LineString){const g=f.LineString[L];for(const x of g)y.push(v.lineString(x,{val:Number(L)}))}b=b.concat(y)}}a=new Date().valueOf()-(r+e)}console.log(m," elapsed: ",a,", total: ",e+=a),b.length&&(this.weatherLayers[m].data=v.featureCollection(b)),this.weatherLayers[m].active=!0,this.weatherLayers[m].version=Math.random()+1}},handleDragEndWithZoom4Image(){for(const r in this.weatherLayers)this.weatherLayers[r].active&&this.weatherLayers[r].type==="image"&&(this.weatherLayers[r].active=!0,this.weatherLayers[r].version=Math.random()+1)},handleBboxClip(r,e){const a=[],o=k.LngLatHelper.convertToStdLng(e._sw.lng),i=k.LngLatHelper.convertToStdLng(e._ne.lng);return r.features.forEach(s=>{if(s.geometry.type!=="Point")if(o>i){let n=[o,e._sw.lat,180,e._ne.lat],l=v.bboxClip(s,n);l.geometry.coordinates.length&&a.push(l),n=[-180,e._sw.lat,i,e._ne.lat],l=v.bboxClip(s,n),l.geometry.coordinates.length&&a.push(l)}else{const n=[o,e._sw.lat,i,e._ne.lat],l=v.bboxClip(s,n);l.geometry.coordinates.length&&a.push(l)}else a.push(s)}),a},handleWeatherLayerToggle(){var r;for(const e in this.weatherLayers)this.weatherLayers[e].active=!1,this.weatherLayers[e].version=Math.random()+1;for(const e of this.activeWeatherLayers){let a=e.key;a.indexOf("swell")>-1?a="swell":a.indexOf("current")>-1&&(a="current"),this.weatherLayers[a]&&(this.weatherLayers[a].active=!0,this.weatherLayers[a].version=Math.random()+1,((r=this.particleFactor)==null?void 0:r.key)===a&&this.weatherLayers[`${a}-particle`]&&(this.weatherLayers[`${a}-particle`].active=this.particleFactor.particle))}this.handleBeforeLayerToggle()},handleBeforeLayerToggle(){var r,e,a,o,i,s,n,l,h,p,c,d,u;(r=this.map)!=null&&r.getLayer(this.beforeLayer)&&((e=this.activeWeatherLayers)!=null&&e.length||(a=this.otherLayers)!=null&&a["war-zones"]||(o=this.otherLayers)!=null&&o["gmdss-areas"]||(i=this.otherLayers)!=null&&i["load-lines"]||(s=this.otherLayers)!=null&&s["high-risk-area"]||(n=this.otherLayers)!=null&&n["time-zones"]||(l=this.otherLayers)!=null&&l.pirates||(h=this.otherLayers)!=null&&h.ports||(p=this.otherLayers)!=null&&p.enc||(c=this.otherLayers)!=null&&c["voluntary-reporting-area"]||(d=this.otherLayers)!=null&&d["eca-zones"]||(u=this.otherLayers)!=null&&u["special-area"])&&this.map.setLayoutProperty(this.beforeLayer,"visibility","visible")},handleDateChange(r={tropicals:!1}){this.fetchWeatherLayers(r),this.fetchOtherLayers({dayNight:!0})},handleWeatherLayerChange(r,e){this.showWindParticle=!1,this.showCurrentParticle=!1,this.map?setTimeout(()=>{this.activeWeatherLayers=JSON.parse(JSON.stringify(r));const a=this.activeWeatherLayers.some(s=>{var n;return["wind","current"].includes(s.key)&&(!((n=Object.keys(s))!=null&&n.some(l=>l==="particle"))||!!s.particle)}),o=this.activeWeatherLayers.some(s=>["png","jpg"].includes(s.type));a&&!o?(this.activeWeatherLayers.forEach(s=>{s.key==="wind"&&s.particle&&(this.particleFactor=s,this.showWindParticle=!0),s.key==="current"&&s.particle&&(this.particleFactor=s,this.showCurrentParticle=!0)}),this.particleFactor.particle=!0):o&&this.particleFactor&&(this.particleFactor.particle=!1);const i=r==null?void 0:r.reduce((s,n)=>s+(s&(n==null?void 0:n.weight)?0:n==null?void 0:n.weight),0);this.weatherWeight!==i||this.source!==e?(this.source=e,this.weatherWeight=i,this.fetchWeatherLayers({tropicals:!1})):this.handleWeatherLayerToggle()}):setTimeout(()=>{this.handleWeatherLayerChange(r,e)},500)},handleOtherLayerChange(r){if(!this.map)setTimeout(()=>{this.handleOtherLayerChange(r)},500);else{const e=r==null?void 0:r.reduce((a,o)=>a+(o==null?void 0:o.weight),0);r.find(a=>a.key==="enc")?this.enc="i4":this.enc="",this.otherWeight!=e&&(this.otherWeight=e,this.fetchOtherLayers({all:!0}))}},async handlePointChange(r){console.log(this.ts);const e=this.ts?D(this.ts).utc().add(-1,"d").format():D().add(-1,"d").utc().format(),a={lat:r.lat,lng:r.lng,datetime:e,forecastDays:8,selfHosted:!1},o=await $.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,a,{headers:{Authorization:this.token||this.defaultMeteoToken}});(o==null?void 0:o.data.code)===0&&(this.meteo={...o==null?void 0:o.data.data,...r})},handle3dToggle(r){var e,a,o,i,s,n,l,h,p,c,d,u,m,b,f,y,L,g,x,C;r?(this.map.setProjection("globe"),this.mapProjection="globe",(a=this.map)!=null&&a.getLayer((e=this.viewport)==null?void 0:e.rampColorLayer)&&((o=this.map)!=null&&o.getLayer(this.helper.mapboxCustomer.layers.water.id))&&((s=this.map)==null||s.moveLayer((i=this.viewport)==null?void 0:i.rampColorLayer,this.helper.mapboxCustomer.layers.water.id)),(l=this.map)!=null&&l.getLayer((n=this.viewport)==null?void 0:n.particleLayer)&&((h=this.map)!=null&&h.getLayer(this.helper.mapboxCustomer.layers.water.id))&&((c=this.map)==null||c.moveLayer((p=this.viewport)==null?void 0:p.particleLayer,this.helper.mapboxCustomer.layers.water.id)),this.map.off("zoomend",this.handleDragEndWithZoom4Json),this.map.off("dragend",this.handleDragEndWithZoom4Json),this.map.off("move",this.handleDragEndWithZoom4Image)):(this.map.setProjection("mercator"),this.mapProjection="mercator",this.map.on("zoomend",this.handleDragEndWithZoom4Json),this.map.on("dragend",this.handleDragEndWithZoom4Json),this.map.on("move",this.handleDragEndWithZoom4Image),this.handleDragEndWithZoom4Image(),this.handleDragEndWithZoom4Json(),(u=this.map)!=null&&u.getLayer((d=this.viewport)==null?void 0:d.rampColorLayer)&&((m=this.map)!=null&&m.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))&&((f=this.map)==null||f.moveLayer((b=this.viewport)==null?void 0:b.rampColorLayer,this.helper.mapboxCustomer.layers.countryBoundary.id)),(L=this.map)!=null&&L.getLayer((y=this.viewport)==null?void 0:y.particleLayer)&&((g=this.map)!=null&&g.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id))&&((C=this.map)==null||C.moveLayer((x=this.viewport)==null?void 0:x.particleLayer,this.helper.mapboxCustomer.layers.countryBoundary.id)))},handleParticle(r){this.particleFactor=r,this.weatherLayers[r.key]&&(this.weatherLayers[r.key].particle=r.particle),this.activeWeatherLayers.map(o=>{var i;return o.key===r.key?o.particle=r.particle:(i=Object.keys(o))!=null&&i.some(s=>s==="particle")&&(o.particle=!1),o});let e=localStorage.getItem("activeWeatherLayersCache");const a=JSON.parse(e)||[];a==null||a.forEach(o=>{var i;o.key===r.key?o.particle=r.particle:(i=Object.keys(o))!=null&&i.some(s=>s==="particle")&&(o.particle=!1)}),localStorage.setItem("activeWeatherLayersCache",JSON.stringify(a)),this.fetchWeatherLayers({tropicals:!1})},handleToggleVersion(){this.$emit("toggleVersion",Math.random())}}},si={key:0,className:"map-gl-home"};function ni(r,e,a,o,i,s){var z,Z,K,se,ee,P,O,ne,te,le,ae,re,ie,ye,fe,ue,ge,be,Le,we,xe,_e,ve,Ce,ke,Ee;const n=t.resolveComponent("IdmGlLayer"),l=t.resolveComponent("IdmENC"),h=t.resolveComponent("IdmSigWave"),p=t.resolveComponent("IdmSwell"),c=t.resolveComponent("IdmPrmsl"),d=t.resolveComponent("IdmIceberg"),u=t.resolveComponent("IdmTropicals"),m=t.resolveComponent("IdmCurrents"),b=t.resolveComponent("IdmCurrentParticle"),f=t.resolveComponent("IdmWindBarb"),y=t.resolveComponent("IdmWindParticle"),L=t.resolveComponent("IdmPrecip3h"),g=t.resolveComponent("IdmVisibility"),x=t.resolveComponent("IdmWaterTemp"),C=t.resolveComponent("IdmTemp"),w=t.resolveComponent("IdmArctic"),_=t.resolveComponent("IdmWarZone"),N=t.resolveComponent("IdmGmdssArea"),I=t.resolveComponent("IdmEcaZone"),W=t.resolveComponent("IdmAlertZone"),A=t.resolveComponent("IdmPort"),F=t.resolveComponent("IdmLoadLine"),G=t.resolveComponent("IdmTimezone"),J=t.resolveComponent("IdmVRA"),X=t.resolveComponent("IdmSpecialArea"),q=t.resolveComponent("IdmTerminator"),Y=t.resolveComponent("IdmLatLng"),U=t.resolveComponent("IdmMeasure"),Q=t.resolveComponent("IdmPoint");return a.map?(t.openBlock(),t.createElementBlock("div",si,[t.createVNode(n,t.mergeProps({ref:"layer",map:a.map,"toggle-version":a.toggleVersion,"map-projection":i.mapProjection,showWindFeather:i.showWindFeather,showWindParticle:i.showWindParticle,showCurrentIsoband:i.showCurrentIsoband,showCurrentParticle:i.showCurrentParticle},r.$attrs,{onWeather:s.handleWeatherLayerChange,onOther:s.handleOtherLayerChange,onToggleWindParticle:e[0]||(e[0]=M=>i.showWindParticle=M),onToggleWindFeather:e[1]||(e[1]=M=>i.showWindFeather=M),onToggleCurrentParticle:e[2]||(e[2]=M=>i.showCurrentParticle=M),onToggleCurrentIsoband:e[3]||(e[3]=M=>i.showCurrentIsoband=M),onCoordinate:e[4]||(e[4]=M=>i.showCoord=M),onMeasure:e[5]||(e[5]=M=>i.showMeasure=M),onPoint:e[6]||(e[6]=M=>i.showPoint=M),on3d:s.handle3dToggle,onHandleToggleVersion:s.handleToggleVersion}),null,16,["map","toggle-version","map-projection","showWindFeather","showWindParticle","showCurrentIsoband","showCurrentParticle","onWeather","onOther","on3d","onHandleToggleVersion"]),t.createVNode(l,t.mergeProps({map:a.map,token:a.token,enabled:(z=i.otherLayers)==null?void 0:z.enc,"toggle-version":a.toggleVersion},r.$attrs,{onEnc:e[7]||(e[7]=M=>i.enc=M)}),null,16,["map","token","enabled","toggle-version"]),t.createVNode(h,t.mergeProps({map:a.map,"sig-wave":(Z=i.weatherLayers)==null?void 0:Z["sig-wave-height"],"before-layer":a.beforeLayer,activeWeatherLayers:i.activeWeatherLayers},r.$attrs),null,16,["map","sig-wave","before-layer","activeWeatherLayers"]),t.createVNode(p,t.mergeProps({map:a.map,swell:(K=i.weatherLayers)==null?void 0:K.swell,"before-layer":a.beforeLayer,activeWeatherLayers:i.activeWeatherLayers},r.$attrs),null,16,["map","swell","before-layer","activeWeatherLayers"]),t.createVNode(c,t.mergeProps({map:a.map,prmsl:(se=i.weatherLayers)==null?void 0:se.prmsl,"before-layer":a.beforeLayer,"active-weather-layers":i.activeWeatherLayers},r.$attrs),null,16,["map","prmsl","before-layer","active-weather-layers"]),t.createVNode(d,t.mergeProps({map:a.map,iceberg:(ee=i.weatherLayers)==null?void 0:ee.iceberg,"before-layer":a.beforeLayer},r.$attrs),null,16,["map","iceberg","before-layer"]),t.createVNode(u,t.mergeProps({map:a.map,date:a.ts,tropicals:(P=i.weatherLayers)==null?void 0:P.tropicals,"before-layer":a.beforeLayer},r.$attrs),null,16,["map","date","tropicals","before-layer"]),t.createVNode(m,t.mergeProps({map:a.map,"map-projection":i.mapProjection,current:(O=i.weatherLayers)==null?void 0:O.current,"before-layer":a.beforeLayer,showCurrentIsoband:i.showCurrentIsoband,showCurrentParticle:i.showCurrentParticle,"margin-bottom":i.activeWindLayer?i.showRampColor?"84px":"56px":i.showRampColor?"56px":"30px","toggle-version":a.toggleVersion,"weather-layers":i.weatherLayers},r.$attrs,{onParticle:s.handleParticle,onHandleToggleVersion:s.handleToggleVersion}),null,16,["map","map-projection","current","before-layer","showCurrentIsoband","showCurrentParticle","margin-bottom","toggle-version","weather-layers","onParticle","onHandleToggleVersion"]),t.createVNode(b,t.mergeProps({viewport:i.viewport,factor:(ne=i.weatherLayers)==null?void 0:ne["current-particle"],"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(f,t.mergeProps({ref:"windBarb",map:a.map,"map-projection":i.mapProjection,wind:(te=i.weatherLayers)==null?void 0:te.wind,current:(le=i.weatherLayers)==null?void 0:le.current,"before-layer":a.beforeLayer,"margin-bottom":i.showRampColor?"56px":"30px",showWindFeather:i.showWindFeather,showWindParticle:i.showWindParticle},r.$attrs,{"toggle-version":a.toggleVersion,"weather-layers":i.weatherLayers,onParticle:s.handleParticle}),null,16,["map","map-projection","wind","current","before-layer","margin-bottom","showWindFeather","showWindParticle","toggle-version","weather-layers","onParticle"]),t.createVNode(y,t.mergeProps({viewport:i.viewport,factor:(ae=i.weatherLayers)==null?void 0:ae["wind-particle"],"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(L,t.mergeProps({viewport:i.viewport,factor:(re=i.weatherLayers)==null?void 0:re.precip3h,"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(g,t.mergeProps({viewport:i.viewport,factor:(ie=i.weatherLayers)==null?void 0:ie.visibility,"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(x,t.mergeProps({viewport:i.viewport,factor:(ye=i.weatherLayers)==null?void 0:ye["water-temp"],"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(C,t.mergeProps({viewport:i.viewport,factor:(fe=i.weatherLayers)==null?void 0:fe.temp,"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(w,t.mergeProps({viewport:i.viewport,factor:(ue=i.weatherLayers)==null?void 0:ue.arctic,"before-layer":a.beforeLayer,"toggle-version":a.toggleVersion},r.$attrs),null,16,["viewport","factor","before-layer","toggle-version"]),t.createVNode(_,t.mergeProps({map:a.map,zone:(ge=i.otherLayers)==null?void 0:ge["war-zones"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","zone","before-layer"]),t.createVNode(N,t.mergeProps({map:a.map,area:(be=i.otherLayers)==null?void 0:be["gmdss-areas"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","area","before-layer"]),t.createVNode(I,t.mergeProps({map:a.map,zone:(Le=i.otherLayers)==null?void 0:Le["eca-zones"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","zone","before-layer"]),t.createVNode(W,t.mergeProps({map:a.map,zone:(we=i.otherLayers)==null?void 0:we["alert-zones"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","zone","before-layer"]),t.createVNode(A,t.mergeProps({map:a.map,port:(xe=i.otherLayers)==null?void 0:xe.ports,"before-layer":a.beforeLayer},r.$attrs),null,16,["map","port","before-layer"]),t.createVNode(F,t.mergeProps({map:a.map,line:(_e=i.otherLayers)==null?void 0:_e["load-lines"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","line","before-layer"]),t.createVNode(G,t.mergeProps({map:a.map,zone:(ve=i.otherLayers)==null?void 0:ve["time-zones"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","zone","before-layer"]),t.createVNode(J,t.mergeProps({map:a.map,area:(Ce=i.otherLayers)==null?void 0:Ce["voluntary-reporting-area"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","area","before-layer"]),t.createVNode(X,t.mergeProps({map:a.map,area:(ke=i.otherLayers)==null?void 0:ke["special-area"],"before-layer":a.beforeLayer},r.$attrs),null,16,["map","area","before-layer"]),t.createVNode(q,t.mergeProps({map:a.map,area:(Ee=i.otherLayers)==null?void 0:Ee["day-night"]},r.$attrs),null,16,["map","area"]),t.createVNode(Y,t.mergeProps({map:a.map,show:i.showCoord,"toggle-version":a.toggleVersion},r.$attrs),null,16,["map","show","toggle-version"]),t.createVNode(U,t.mergeProps({map:a.map,show:i.showMeasure},r.$attrs),null,16,["map","show"]),t.createVNode(Q,t.mergeProps({map:a.map,show:i.showPoint,meteo:i.meteo,ts:a.ts,token:a.token},r.$attrs,{onPoint:s.handlePointChange}),null,16,["map","show","meteo","ts","token","onPoint"])])):t.createCommentVNode("",!0)}const me=E(oi,[["render",ni]]),li={install(r){r.component("MapboxGL",me),r.component("TropicalGL",ce),r.component("LatLngGL",he)}};S.LatLngGL=he,S.MapboxGL=me,S.MapboxGLPlugin=li,S.MapboxHelper=pe,S.ParticleSchema=R,S.TropicalGL=ce,S.Viewport=oe,S.WebGL=H,S.WebGLSchema=B,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";:root{--idm-white: rgba(255, 255, 255, 1);--idm-white-9: rgba(255, 255, 255, .9);--idm-white-8: rgba(255, 255, 255, .8);--idm-white-7: rgba(255, 255, 255, .7);--idm-white-6: rgba(255, 255, 255, .6);--idm-white-5: rgba(255, 255, 255, .5);--idm-white-4: rgba(255, 255, 255, .4);--idm-white-3: rgba(255, 255, 255, .3);--idm-white-2: rgba(255, 255, 255, .2);--idm-white-1: rgba(255, 255, 255, .1);--idm-black: rgba(0, 0, 0, 1);--idm-black-9: rgba(0, 0, 0, .9);--idm-black-8: rgba(0, 0, 0, .8);--idm-black-7: rgba(0, 0, 0, .7);--idm-black-6: rgba(0, 0, 0, .6);--idm-black-5: rgba(0, 0, 0, .5);--idm-black-4: rgba(0, 0, 0, .4);--idm-black-3: rgba(0, 0, 0, .3);--idm-black-2: rgba(0, 0, 0, .2);--idm-black-1: rgba(0, 0, 0, .1);--idm-gray-light: rgba(239, 239, 239, 1);--idm-gray-light2: rgba(239, 239, 249, .6);--idm-primary-color: rgba(42, 87, 183, 1);--idm-primary-color-highlight: #0033ff;--idm-primary-color-light: #6c8ad9;--idm-primary-color-light2: #a7c4ff;--idm-primary-color-dark: #053a7e;--idm-primary-color-dark2: #002e6b;--idm-primary-color-9: rgba(42, 87, 183, .9);--idm-primary-color-8: rgba(42, 87, 183, .8);--idm-primary-color-7: rgba(42, 87, 183, .7);--idm-primary-color-6: rgba(42, 87, 183, .6);--idm-primary-color-5: rgba(42, 87, 183, .5);--idm-primary-color-4: rgba(42, 87, 183, .4);--idm-primary-color-3: rgba(42, 87, 183, .3);--idm-primary-color-2: rgba(42, 87, 183, .2);--idm-primary-color-1: rgba(42, 87, 183, .1);--idm-success-color: #0ddd9f;--idm-success-color-light: #92f7d9;--idm-success-color-dark: #06a074;--idm-success-color-dark2: #06694c;--idm-warning-color: #ff9500;--idm-warning-color-light: #ffcc00;--idm-warning-color-dark: #c77402;--idm-danger-color: #f44336;--idm-danger-color-light: #fb796e;--idm-danger-color-dark: #ad251b;--idm-info-color: #6e6e6e;--idm-info-color-light: #969696;--idm-info-color-light2: #c0c0c0;--idm-info-color-light3: #e2e2e2;--idm-info-color-dark: #494949;--idm-dangerous: #f44336;--idm-severe: #ff9500;--idm-heavy: #ffff00;--idm-vessel-cargo-color: lightgreen;--idm-vessel-tanker-color: red;--idm-vessel-passenger-color: blue;--idm-vessel-other-color: lightgrey;--idm-perf-cii-a: var(--idm-success-color);--idm-perf-cii-b: var(--idm-success-color-light);--idm-perf-cii-c: var(--idm-warning-color);--idm-perf-cii-d: var(--idm-danger-color-light);--idm-perf-cii-e: var(--idm-danger-color);--idm-tropicals-td: #03f869;--idm-tropicals-ts: #f2f202;--idm-tropicals-sts: #ff9100;--idm-tropicals-ty: #f44336;--idm-tropicals-sty: #f903d0;--idm-tropicals-super-ty: #8702f9;--idm-tropicals-r7: #ff9100;--idm-tropicals-r10: #f44336;--idm-text-shadow: 0px 0px 4px rgba(0, 0, 0, 1);--idm-dashed-border: 1px dashed var(--idm-white-5);--idm-solid-border: 1px solid var(--idm-white-4);--idm-background-color: var(--idm-primary-color-9);--idm-background-color-dark: var(--idm-primary-color-dark);--idm-background-color-light: var(--idm-primary-color-light);--idm-background-color-light2: #f3f5f8;--idm-active-background-light: linear-gradient(130deg, rgba(142, 163, 255, .93) 20%, rgb(90 67 193 / 93%) 100%);--idm-active-text-shadow-light: 0 0 7px rgb(194, 255, 247), 0 0 21px rgb(194, 255, 247), 0 0 30px rgba(182, 211, 207, .4), 0 0 12px rgba(15, 115, 223, .6), 0 0 22px rgba(15, 115, 223, .8), 0 0 38px rgba(15, 115, 223, .9), 0 0 60px rgba(15, 115, 223, 1);--idm-background-opaque-linear-gradient-top: linear-gradient(to top, rgba(41, 32, 165) 0%, rgba(44, 93, 184) 80%, rgba(32, 90, 165) 100%);--idm-background-linear-gradient-top: linear-gradient(to top, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-bottom: linear-gradient(to bottom, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-right: linear-gradient(to right, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-left: linear-gradient(to left, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-blink-animation: blink .8s ease-out infinite alternate}:root[colorTheme=black]{--idm-background-opaque-linear-gradient-top: linear-gradient(to top, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .8) 80%, rgb(0, 0, 0, .8) 100%);--idm-background-linear-gradient-top: linear-gradient(to top, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .7) 70%, rgb(0, 0, 0, .7) 100%);--idm-background-linear-gradient-bottom: linear-gradient(to top, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .7) 70%, rgb(0, 0, 0, .7) 100%);--idm-background-linear-gradient-right: linear-gradient(to top, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .7) 70%, rgb(0, 0, 0, .7) 100%);--idm-background-linear-gradient-left: linear-gradient(to top, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .7) 70%, rgb(0, 0, 0, .7) 100%);--idm-active-background-light: linear-gradient(130deg, rgba(117, 117, 117, .93) 30%, rgba(200, 200, 200, .93) 100%);--idm-active-text-shadow-light: 0 0 7px rgb(253, 253, 253), 0 0 21px rgb(226, 226, 226), 0 0 30px rgba(185, 185, 185, .4), 0 0 12px rgba(67, 67, 67, .6), 0 0 22px rgba(27, 27, 27, .8), 0 0 38px rgba(15, 115, 223, .9), 0 0 60px rgba(15, 115, 223, 1);--idm-primary-color: rgba(0, 0, 0, .7);--idm-primary-color-light: #757575;--idm-primary-color-light2: #a5a5a5;--idm-primary-color-dark: rgba(0, 0, 0, .8);--idm-primary-color-dark2: rgba(0, 0, 0, 1);--idm-primary-color-9: rgba(0, 0, 0, .9);--idm-primary-color-7: rgba(0, 0, 0, .7);--idm-primary-color-5: rgba(0, 0, 0, .5);--idm-primary-color-3: rgba(0, 0, 0, .3);--idm-primary-color-1: rgba(0, 0, 0, .1)}:root[colorTheme=blue]{--idm-background-opaque-linear-gradient-top: linear-gradient(to top, rgba(41, 32, 165) 0%, rgba(44, 93, 184) 80%, rgba(32, 90, 165) 100%);--idm-background-linear-gradient-top: linear-gradient(to top, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-bottom: linear-gradient(to bottom, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-right: linear-gradient(to right, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-left: linear-gradient(to left, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-active-background-light: linear-gradient(130deg, rgba(142, 163, 255, .93) 20%, rgb(90 67 193 / 93%) 100%);--idm-active-text-shadow-light: 0 0 7px rgb(194, 255, 247), 0 0 21px rgb(194, 255, 247), 0 0 30px rgba(182, 211, 207, .4), 0 0 12px rgba(15, 115, 223, .6), 0 0 22px rgba(15, 115, 223, .8), 0 0 38px rgba(15, 115, 223, .9), 0 0 60px rgba(15, 115, 223, 1);--idm-primary-color: rgba(42, 87, 183, 1);--idm-primary-color-light: #6c8ad9;--idm-primary-color-light2: #a7c4ff;--idm-primary-color-dark: #053a7e;--idm-primary-color-dark2: #002e6b;--idm-primary-color-9: rgba(42, 87, 183, .9);--idm-primary-color-8: rgba(42, 87, 183, .8);--idm-primary-color-7: rgba(42, 87, 183, .7);--idm-primary-color-6: rgba(42, 87, 183, .6);--idm-primary-color-5: rgba(42, 87, 183, .5);--idm-primary-color-4: rgba(42, 87, 183, .4);--idm-primary-color-3: rgba(42, 87, 183, .3);--idm-primary-color-2: rgba(42, 87, 183, .2);--idm-primary-color-1: rgba(42, 87, 183, .1)}:root[colorTheme=dark-blue]{--idm-background-opaque-linear-gradient-top: linear-gradient(to top, rgba(16, 22, 79, .85) 0%, rgba(15, 41, 89, .85) 80%, rgba(19, 47, 108, .85) 100%);--idm-background-linear-gradient-top: linear-gradient(to top, rgba(16, 22, 79, .85) 0%, rgba(15, 41, 89, .85) 80%, rgba(19, 47, 108, .85) 100%);--idm-background-linear-gradient-bottom: linear-gradient(to bottom, rgba(16, 22, 79, .85) 0%, rgba(15, 41, 89, .85) 80%, rgba(19, 47, 108, .85) 100%);--idm-background-linear-gradient-right: linear-gradient(to right, rgba(16, 22, 79, .85) 0%, rgba(15, 41, 89, .85) 80%, rgba(19, 47, 108, .85) 100%);--idm-background-linear-gradient-left: linear-gradient(to left, rgba(16, 22, 79, .85) 0%, rgba(15, 41, 89, .85) 80%, rgba(19, 47, 108, .85) 100%);--idm-active-background-light: linear-gradient(130deg, rgba(104, 104, 226, .93) 20%, rgba(22, 49, 182, .93) 100%);--idm-active-text-shadow-light: 0 0 7px rgb(194, 255, 247), 0 0 21px rgb(194, 255, 247), 0 0 30px rgba(182, 211, 207, .4), 0 0 12px rgba(15, 115, 223, .6), 0 0 22px rgba(15, 115, 223, .8), 0 0 38px rgba(15, 115, 223, .9), 0 0 60px rgba(15, 115, 223, 1);--idm-primary-color: rgba(42, 87, 183, 1);--idm-primary-color-light: #6266e0;--idm-primary-color-light2: #89b0ff;--idm-primary-color-dark: #00224e;--idm-primary-color-dark2: #021a39;--idm-primary-color-9: rgba(19, 47, 108, .9);--idm-primary-color-7: rgba(19, 47, 108, .7);--idm-primary-color-5: rgba(19, 47, 108, .5);--idm-primary-color-3: rgba(19, 47, 108, .3);--idm-primary-color-1: rgba(19, 47, 108, .1)}@font-face{font-family:iconfont;src:url(https://iconfont.idmwx.com/iconfont.woff2) format("woff2"),url(https://iconfont.idmwx.com/iconfont.woff) format("woff"),url(https://iconfont.idmwx.com/iconfont.ttf) format("truetype"),url(https://iconfont.idmwx.com/iconfont.svg?#iconfont) format("svg")}.iconfont{font-family:iconfont!important;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-end{display:flex;align-items:center;justify-content:flex-end}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between,.flex-space{display:flex;align-items:center;justify-content:space-between}.flex-around{display:flex;align-items:center;justify-content:space-around}.flex-evenly{display:flex;align-items:center;justify-content:space-evenly}.flex-col-center-center{display:flex;flex-direction:column;justify-content:center;align-items:center}.flex-col-start-center{display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.flex-col-start-start{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.flex-col-end-center{display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.flex-col-between-center{display:flex;flex-direction:column;justify-content:space-between;align-items:center}.flex-col-around-center{display:flex;flex-direction:column;justify-content:space-around;align-items:center}.flex-col-center-start{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.flex-col-center-end{display:flex;flex-direction:column;justify-content:center;align-items:flex-end}.flex{flex:1}.dropdown{position:relative;display:inline-block!important}.dropdown .dropdown-content{display:none;position:absolute;z-index:1}.dropdown:hover .dropdown-content{display:block}.loading{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--idm-black-5);z-index:1000;display:flex;justify-content:center;align-items:center;flex-direction:column}.loading i{font-size:30px;color:var(--idm-white);margin-bottom:16px;animation:rotate 2s linear infinite}.loading div{color:var(--idm-white);font-size:16px}@keyframes blink{0%{box-shadow:0 0 20px var(--idm-warning-color-dark) inset}to{box-shadow:0 0 20px var(--idm-success-color) inset}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.idm-gl3-layer .fade-enter-active,.idm-gl3-layer .fade-leave-active{transition:opacity .4s}.idm-gl3-layer .fade-enter,.idm-gl3-layer .fade-leave-to{opacity:0}.idm-gl3-layer .menu-bar-box{position:absolute;overflow-y:hidden;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;transition:all .4s ease-in-out;z-index:2;border-radius:5px;box-shadow:0 2px 12px #0003}.idm-gl3-layer .menu-bar-box .bar-item{position:relative;border-radius:5px;background:var(--idm-white);cursor:pointer}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon{padding:8px;display:flex}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon span{font-size:20px;font-weight:600;color:var(--idm-black-8)}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon.active{background:var(--idm-primary-color)}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon.active span{color:var(--idm-white)}.idm-gl3-layer .active-layers{position:absolute;max-width:160px;font-size:14px;padding:2px 5px;background:var(--idm-white);border-radius:5px;box-shadow:0 2px 12px #0003;transition:all .4s ease-in-out}.idm-gl3-layer .active-layers .layer{width:auto;padding:4px 10px}.idm-gl3-layer .active-layers .layer .name{font-size:14px}.idm-gl3-layer .available-layers{position:absolute;height:calc(100vh - 120px);box-sizing:border-box;transition:all .4s ease-in-out}.idm-gl3-layer .available-layers .header-box{font-size:16px;font-weight:600;padding:5px 10px 10px;color:var(--idm-black-8)}.idm-gl3-layer .available-layers .header-box .close-btn{font-size:20px;font-weight:400;color:var(--idm-black-2);cursor:pointer}.idm-gl3-layer .available-layers .header-box .close-btn:hover{color:var(--idm-primary-color)}.idm-gl3-layer .available-layers .list-box{height:inherit;width:200px;overflow-y:auto;color:var(--idm-black-8);background:var(--idm-white);display:flex;flex-direction:column;box-shadow:0 2px 12px #0003;z-index:1}.idm-gl3-layer .available-layers .list-box .layers-title{font-size:14px;font-weight:600;padding:5px 10px;color:var(--idm-black-8)}.idm-gl3-layer .available-layers .list-box .layers-body{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;padding:0 10px;font-size:14px}.idm-gl3-layer .available-layers .list-box .layers-body .layer{width:100%}.idm-gl3-layer .available-layers .list-box .layers-body .layer-radio{margin-top:5px}.idm-gl3-layer .available-layers .list-box .layers-body .layer-radio .el-radio{height:24px}.idm-gl3-layer .available-layers .list-box .layers-body .layer-radio .el-radio.is-checked .el-radio__inner{background:var(--idm-primary-color);border-color:var(--idm-primary-color)}.idm-gl3-layer .available-layers .list-box .layers-body .layer-radio .el-radio.is-checked .el-radio__label{color:var(--idm-primary-color)}.idm-gl3-layer .available-layers .list-box .layers-body .tip{margin-left:-5px;margin-bottom:2px;font-size:12px;color:var(--idm-info-color)}.idm-gl3-layer .available-layers .list-box .layers-body .tip .bookmark-icon{color:var(--idm-warning-color)}.idm-gl3-layer .layer{display:inline-flex;align-items:center;padding:4px 0;color:var(--idm-black-8);font-size:14px;cursor:pointer}.idm-gl3-layer .layer .checkbox{width:14px;height:14px;margin-right:10px;border:1px solid var(--idm-black-2);box-sizing:border-box}.idm-gl3-layer .layer .bookmark-icon{font-size:15px}.idm-gl3-layer .layer .bookmark-icon.active{display:inline-block;color:var(--idm-warning-color)}.idm-gl3-layer .layer .bookmark-icon.inactive{display:none}.idm-gl3-layer .layer .sub-layer-icon{margin-left:10px;font-size:16px}.idm-gl3-layer .layer .sub-layer-icon.active{color:var(--idm-primary-color)}.idm-gl3-layer .layer.active .checkbox{border:1px solid var(--idm-primary-color);background:var(--idm-primary-color)}.idm-gl3-layer .layer.active .checkbox:after{position:relative;content:"✔";color:var(--idm-white);font-size:10px;display:flex;align-items:center;justify-content:center}.idm-gl3-layer .layer.active .name{color:var(--idm-primary-color)}.idm-gl3-layer .layer.disabled{color:var(--idm-black-4);cursor:not-allowed}.idm-gl3-layer .layer.disabled .checkbox{cursor:not-allowed;border:1px solid var(--idm-black-2);opacity:.5}.idm-gl3-layer .layer:hover .bookmark-icon.inactive{display:inline-block}.idm-gl3-layer .switch{font-size:24px;height:19px;margin-right:10px;color:var(--idm-black-2);cursor:pointer}.idm-gl3-layer .switch .active{color:var(--idm-primary-color)}.idm-gl3-layer .card-bg{background:var(--idm-gray-light2);border-radius:3px;margin:8px}.idm-gl3-layer .card-bg:first-child{margin-top:0}.wind-tool-bars{transition:all .4s ease-in-out;padding:2px 5px;border-radius:4px;background:var(--idm-white);box-shadow:0 2px 12px #0003}.wind-tool-bars .item-bar{cursor:pointer;padding:4px 10px}.wind-tool-bars .item-bar.active .checkbox{border:var(--idm-primary-color);background:var(--idm-primary-color)}.wind-tool-bars .item-bar.active .checkbox:after{content:"✔";color:var(--idm-white);font-size:12px;display:flex;align-items:center;justify-content:center}.wind-tool-bars .item-bar.active span{font-size:12px;color:var(--idm-primary-color)}.wind-tool-bars .item-bar .checkbox{width:14px;height:14px;margin-right:10px;border:1px solid var(--idm-black-2)}.wind-tool-bars .item-bar span{font-size:12px;color:var(--idm-black-8)}.legend-bars[data-v-24e5434b]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(98,113,184),rgb(98,113,184),rgb(98,113,184),rgb(98,113,184),rgb(61,110,163),rgb(74,148,170),rgb(74,146,148),rgb(77,142,124),rgb(76,164,76),rgb(103,164,54),rgb(162,135,64),rgb(162,109,92),rgb(141,63,92),rgb(151,75,145),rgb(95,100,160),rgb(91,136,161),rgb(91,136,161));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-24e5434b]{font-size:12px;text-align:center;color:var(--idm-white-8);width:32px}.current-tool-bars{transition:all .4s ease-in-out;background:var(--idm-white);padding:2px 5px;border-radius:4px;box-shadow:0 2px 12px #0003}.current-tool-bars .item-bar{cursor:pointer;padding:4px 10px}.current-tool-bars .item-bar.active .checkbox{border:var(--idm-primary-color);background:var(--idm-primary-color)}.current-tool-bars .item-bar.active .checkbox:after{content:"✔";color:var(--idm-white);font-size:12px;display:flex;align-items:center;justify-content:center}.current-tool-bars .item-bar.active span{font-size:12px;color:var(--idm-primary-color)}.current-tool-bars .item-bar .checkbox{width:14px;height:14px;margin-right:10px;border:1px solid var(--idm-black-2)}.current-tool-bars .item-bar span{font-size:12px;color:var(--idm-black-8)}.legend-bars[data-v-6d4fd206]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(84,170,230),rgb(84,170,230),rgb(84,170,230),rgb(84,170,230),rgb(64,127,115),rgb(58,164,58),rgb(191,182,67),rgb(197,154,68),rgb(160,70,94),rgb(138,84,166),rgb(82,113,165),rgb(84,142,152),rgb(150,181,184),rgb(195,194,194),rgb(195,194,194));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-6d4fd206]{font-size:12px;text-align:center;color:var(--idm-white);width:36px}.active-tropical[data-v-726fd7f6]{bottom:unset;background:var(--idm-white-9);padding:10px;border-radius:5px;box-shadow:0 2px 12px #0003;z-index:5}.active-tropical .header-box[data-v-726fd7f6]{min-width:360px;margin-bottom:10px;box-sizing:border-box;color:var(--idm-black-8)}.active-tropical .header-box .close-btn[data-v-726fd7f6]{position:relative;height:0px;text-align:right;font-size:20px;color:var(--idm-black-2);cursor:pointer}.active-tropical .header-box .close-btn[data-v-726fd7f6]:hover{color:var(--idm-primary-color)}.active-tropical .header-box .main[data-v-726fd7f6]{font-size:16px}.active-tropical .header-box .sub[data-v-726fd7f6]{margin:3px 0;font-size:12px;color:var(--idm-info-color)}.active-tropical .main-box[data-v-726fd7f6]{min-width:360px;color:var(--idm-black-8);overflow-y:auto;box-sizing:border-box;font-size:12px;z-index:4}.active-tropical .main-box .content[data-v-726fd7f6]{padding:5px 0;border-radius:5px;background:var(--idm-gray-light)}.active-tropical .main-box .row[data-v-726fd7f6]{width:100%;padding:4px 10px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}.active-tropical .main-box .row .col[data-v-726fd7f6]{display:flex;align-items:center;justify-content:space-between}.active-tropical .main-box .row .col label[data-v-726fd7f6]{width:82px;margin-right:4px;color:var(--idm-info-color)}.active-tropical .main-box .row .col.col-24[data-v-726fd7f6]{width:100%}.active-tropical .main-box .row .col.col-left[data-v-726fd7f6]{width:55%}.active-tropical .main-box .row .col.col-right[data-v-726fd7f6]{width:40%}.active-tropical .main-box .row .col .icon[data-v-726fd7f6]{font-size:30px;color:var(--idm-black-4)}.active-tropical .main-box .row .col .icon.active[data-v-726fd7f6]{color:var(--idm-primary-color)}.forecast-models[data-v-726fd7f6]{display:flex;justify-content:flex-end;flex:1;margin-left:5px;flex-wrap:wrap}.forecast-models .model[data-v-726fd7f6]{font-size:12px;padding:0 6px 4px;display:flex;border:1px solid var(--idm-primary-color);cursor:pointer}.forecast-models .model span[data-v-726fd7f6]{border-bottom:2px dashed var(--idm-white)}.forecast-models .model span.cma[data-v-726fd7f6]{border-color:#e2ea03cc}.forecast-models .model span.jma[data-v-726fd7f6]{border-color:#01d2b7cc}.forecast-models .model span.ecmwf[data-v-726fd7f6]{border-color:#f582f2cc}.forecast-models .model span.ukm[data-v-726fd7f6]{border-color:#f5bb47cc}.forecast-models .model span.noaa-at[data-v-726fd7f6],.forecast-models .model span.noaa-ep[data-v-726fd7f6]{border-color:#9758fbcc}.forecast-models .model.active[data-v-726fd7f6]{border:1px solid var(--idm-primary-color);background-color:var(--idm-primary-color);color:var(--idm-white)}.forecast-models .model[data-v-726fd7f6]:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.forecast-models .model.center-child[data-v-726fd7f6]{border-left:1px solid var(--idm-primary-color);border-right:1px solid var(--idm-primary-color)}.forecast-models .model[data-v-726fd7f6]:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.legend[data-v-726fd7f6]{display:flex;align-items:center;color:var(--idm-info-color)}.legend .icon[data-v-726fd7f6]{height:14px;width:14px;border-radius:50%;border:3px solid #fff;margin-right:3px}.legend .icon.td[data-v-726fd7f6]{background-color:var(--idm-tropicals-td)}.legend .icon.ts[data-v-726fd7f6]{background-color:var(--idm-tropicals-ts)}.legend .icon.sts[data-v-726fd7f6]{background-color:var(--idm-tropicals-sts)}.legend .icon.ty[data-v-726fd7f6]{background-color:var(--idm-tropicals-ty)}.legend .icon.sty[data-v-726fd7f6]{background-color:var(--idm-tropicals-sty)}.legend .icon.supper-ty[data-v-726fd7f6]{background-color:var(--idm-tropicals-super-ty)}.legend .icon.r7[data-v-726fd7f6]{border:1.5px solid var(--idm-tropicals-r7)}.legend .icon.r10[data-v-726fd7f6]{border:1.5px solid var(--idm-tropicals-r10)}.legend .icon.history[data-v-726fd7f6]{border:none;border-radius:0;height:4px;background:var(--idm-black-5)}.legend .button[data-v-726fd7f6]{cursor:pointer;padding:0 4px;border-radius:4px;border:1px solid var(--idm-primary-color);color:var(--idm-primary-color)}.more[data-v-726fd7f6]{display:flex;align-items:center;justify-content:flex-end;color:var(--idm-primary-color);font-weight:700;margin-top:5px;cursor:pointer}.legend-bars[data-v-9708a7a3]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgba(59,126,162,0),rgb(172,210,255),rgb(172,210,255),rgb(3,248,103),rgb(14,201,3),rgb(190,226,2),rgb(248,1,1),rgb(197,5,58),rgb(197,5,58));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-9708a7a3]{font-size:12px;text-align:center;color:var(--idm-white);width:35px}.legend-bars[data-v-f7b2fb08]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(189,50,160),rgb(189,50,160),rgb(189,50,160),rgb(189,50,160),rgb(208,56,56),rgb(208,56,56),rgb(190,226,2),rgb(190,226,2),rgb(4,210,64),rgb(4,210,64),rgb(172,210,255),rgb(172,210,255));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-f7b2fb08]{font-size:12px;text-align:center;color:var(--idm-white);width:40px}.legend-bars[data-v-7521f582]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(95,143,197),rgb(95,143,197),rgb(95,143,197),rgb(95,143,197),rgb(80,140,62),rgb(121,146,28),rgb(171,161,14),rgb(223,177,6),rgb(243,150,6),rgb(236,95,21),rgb(190,65,18),rgb(138,43,10),rgb(138,43,10));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-7521f582]{font-size:12px;text-align:center;color:var(--idm-white);width:32px}.legend-bars[data-v-25daaa82]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(149,137,211),rgb(149,137,211),rgb(149,137,211),rgb(149,137,211),rgb(150,209,216),rgb(129,204,197),rgb(103,180,186),rgb(95,143,197),rgb(80,140,62),rgb(121,146,28),rgb(171,161,14),rgb(223,177,6),rgb(243,150,6),rgb(236,95,21),rgb(190,65,18),rgb(138,43,10),rgb(138,43,10));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-25daaa82]{font-size:12px;text-align:center;color:var(--idm-white);width:32px}.legend-bars[data-v-5bb73794]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(76,165,228),rgb(76,165,228),rgb(76,165,228),rgb(76,165,228),rgb(103,180,186),rgb(129,204,197),rgb(150,209,216),rgb(180,209,216));padding:2px 0;border-radius:10px;box-shadow:var(--idm-gl-box-shadow)}.legend-bars span[data-v-5bb73794]{font-size:12px;text-align:center;color:var(--idm-white);width:40px}.point-meteo[data-v-3f751a72]{bottom:unset}.point-meteo .meteo-box[data-v-3f751a72]{position:absolute;top:0;left:5px;width:480px;font-size:13px;color:var(--idm-black-8);background-color:var(--idm-white);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-top-right-radius:5px;border-bottom-right-radius:5px;box-shadow:0 2px 12px #0003;font-family:'Microsoft YaHei, Helvetica Neue", Helvetica';z-index:9}.point-meteo .meteo-box .info[data-v-3f751a72]{color:var(--idm-info-color)}.point-meteo .meteo-box .unit[data-v-3f751a72]{font-size:13px;color:var(--idm-info-color)}.point-meteo .meteo-box .header-box[data-v-3f751a72]{padding:8px 5px;font-size:16px;box-sizing:border-box;color:var(--idm-black-8);background-color:var(--idm-gray-light)}.point-meteo .meteo-box .header-box .lnglat[data-v-3f751a72]{margin:0 5px}.point-meteo .meteo-box .header-box .close[data-v-3f751a72]{font-size:18px;color:var(--idm-black-3);cursor:pointer}.point-meteo .meteo-box .header-box .close[data-v-3f751a72]:hover{color:var(--idm-primary-color)}.point-meteo .meteo-box .main-box[data-v-3f751a72]{padding:10px 10px 0;border-radius:5px}.point-meteo .meteo-box .main-box .summary-row[data-v-3f751a72]{margin-bottom:5px}.point-meteo .meteo-box .main-box .summary-row .summary .icon[data-v-3f751a72]{height:60px;color:#7af0f2}.point-meteo .meteo-box .main-box .summary-row .summary .temp[data-v-3f751a72]{font-size:28px;margin:0 20px 0 5px}.point-meteo .meteo-box .main-box .summary-row .summary .des[data-v-3f751a72]{font-size:13px}.point-meteo .meteo-box .main-box .summary-row .summary label[data-v-3f751a72]{margin-right:2px}.point-meteo .meteo-box .main-box .summary-row .date[data-v-3f751a72]{margin:0 5px;font-size:14px}.point-meteo .meteo-box .main-box .summary-row .row[data-v-3f751a72]{padding:3px 0;box-sizing:border-box}.point-meteo .meteo-box .main-box .summary-row .row label[data-v-3f751a72]{color:var(--idm-black-8)}.point-meteo .meteo-box .main-box .summary-row .row label[data-v-3f751a72]:after{content:":"}.point-meteo .meteo-box .main-box .summary-row .row[data-v-3f751a72]:last-child{border-bottom:none}.point-meteo .meteo-box .main-box .detail-box .menu-header .menu-item[data-v-3f751a72]{width:max-content;padding:3px 20px;margin-bottom:5px;font-size:14px;font-weight:700;cursor:pointer}.point-meteo .meteo-box .main-box .detail-box .menu-header .menu-item.active[data-v-3f751a72]{color:var(--idm-primary-color);border-bottom:2px solid var(--idm-primary-color)}.point-meteo .meteo-box .main-box .detail-box .basic-table[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table[data-v-3f751a72]{width:100%;font-size:12px}.point-meteo .meteo-box .main-box .detail-box .basic-table .tr-title[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .tr-title[data-v-3f751a72]{color:var(--idm-info-color);text-align:right!important}.point-meteo .meteo-box .main-box .detail-box .basic-table .tr-title .unit[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .tr-title .unit[data-v-3f751a72]{display:inline-block;width:24px;padding:0 5px;text-align:left;color:var(--idm-black-8)}.point-meteo .meteo-box .main-box .detail-box .basic-table tr th[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .basic-table td[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table tr th[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table td[data-v-3f751a72]{text-align:center;line-height:16px}.point-meteo .meteo-box .main-box .detail-box .basic-table th[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table th[data-v-3f751a72]{color:var(--idm-info-color);font-weight:400}.point-meteo .meteo-box .main-box .detail-box .basic-table .weather-icon[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .weather-icon[data-v-3f751a72]{width:24px;height:24px}.point-meteo .meteo-box .main-box .detail-box .basic-table .icon[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .icon[data-v-3f751a72]{font-size:10px;margin-right:1px}.point-meteo .meteo-box .main-box .detail-box .basic-table .icon.blue[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .icon.blue[data-v-3f751a72]{color:var(--idm-primary-color-light)}.point-meteo .meteo-box .main-box .detail-box .basic-table .icon.orange[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .icon.orange[data-v-3f751a72]{color:var(--idm-warning-color-light)}.point-meteo .meteo-box .main-box .detail-box .basic-table .icon.gray[data-v-3f751a72],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .icon.gray[data-v-3f751a72]{color:var(--idm-info-color)}.point-meteo .meteo-box .main-box .detail-box .basic-table .tr-title[data-v-3f751a72]{width:85px}.point-meteo .meteo-box .main-box .detail-box .wave-current-table .tr-title[data-v-3f751a72]{width:100px}.point-meteo .meteo-box .more[data-v-3f751a72]{padding:5px 10px;text-align:right;font-size:14px;border-top:1px solid var(--idm-gray-light);cursor:pointer}.point-meteo .meteo-box .more[data-v-3f751a72]:hover{color:var(--idm-primary-color)}.point-meteo[data-v-3f751a72]:after{display:block;margin-bottom:360px;width:8px;height:8px;border-radius:50%;content:"";background-color:var(--idm-gray-light);box-shadow:0 2px 12px #000}.point-meteo[data-v-3f751a72]:before{display:block;content:"";width:2px;height:360px;margin-left:3px;border-left:2px solid var(--idm-gray-light);box-shadow:0 2px 12px #000}#idm-gl3-zone-info{position:absolute;background:var(--idm-white);color:var(--idm-black-8);padding:10px;border-radius:5px;cursor:default;z-index:1000;height:fit-content;max-height:900px;overflow-y:auto;font-size:13px;box-shadow:0 2px 12px #0003}#idm-gl3-zone-info .rich-context{width:500px}#idm-gl3-zone-info .close{font-size:20px;position:absolute;right:10px;top:10px;color:var(--idm-black-2);border-top-right-radius:6px;cursor:pointer}#idm-gl3-zone-info .close:hover{color:var(--idm-primary-color)}#port-info[data-v-c07e4c45]{position:absolute;background:var(--idm-white);color:var(--idm-black-8);padding:5px 10px;border-radius:6px;cursor:default;z-index:1000;height:fit-content}#port-info .port-box[data-v-c07e4c45]{max-width:240px}#port-info .port-box .flex-start[data-v-c07e4c45]{line-height:2}#port-info .port-box .flex-start label[data-v-c07e4c45]{color:var(--idm-info-color);margin-right:10px;width:50px}#port-info .port-box .flex-start span[data-v-c07e4c45]{flex:1;flex-wrap:wrap;text-align:justify-all;color:var(--idm-black-8)}#port-info .port-box .flex-start span.link[data-v-c07e4c45]{cursor:pointer;text-decoration:underline}#port-info .port-box .flex-start span.link[data-v-c07e4c45]:hover{font-weight:600}#port-info .close[data-v-c07e4c45]{position:relative;text-align:right;height:0px;color:var(--idm-black-2);font-size:20px;cursor:pointer}#port-info .close[data-v-c07e4c45]:hover{color:var(--idm-primary-color)}.lat-lng-tip[data-v-73241fe7]{position:absolute;padding:2px 10px;border-radius:5px;color:var(--idm-primary-color);font-size:12px;top:unset;background:var(--idm-white);box-shadow:0 2px 12px #00000080;transition:all .4s ease-in-out}.menu-bar-box[data-v-150235f7]{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;transition:all .4s ease-in-out}.menu-bar-box .bar-item[data-v-150235f7]{position:relative;margin-bottom:15px;border-radius:5px;background:var(--idm-white);cursor:pointer;box-shadow:0 2px 12px #0003}.menu-bar-box .bar-item .menu-icon[data-v-150235f7]{padding:8px;display:flex}.menu-bar-box .bar-item .menu-icon[data-v-150235f7]:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.menu-bar-box .bar-item .menu-icon[data-v-150235f7]:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.menu-bar-box .bar-item .menu-icon span[data-v-150235f7]{font-size:18px;font-weight:500;color:var(--idm-black-8)}.menu-bar-box .bar-item .menu-icon.active[data-v-150235f7]{background:var(--idm-primary-color)}.menu-bar-box .bar-item .menu-icon.active span[data-v-150235f7]{color:var(--idm-white)}:root{--idm-gl-box-shadow-color: rgba(0, 0, 0, .5);--idm-gl-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .04), 0px 8px 20px rgba(0, 0, 0, .08);--idm-gl-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);--idm-gl-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);--idm-gl-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16)}.point-marker{pointer-events:none!important}.point-marker .marker-circle{pointer-events:inherit;width:12px;height:12px;border-radius:50%;border:2px solid var(--idm-white);background:var(--idm-danger-color)}.point-marker .marker-circle:hover{cursor:pointer}.point-marker.closed{pointer-events:auto!important}.point-summary-marker,.point-contextmenu-marker{color:var(--idm-white);font-size:12px;background:var(--idm-danger-color);border:2px solid var(--idm-white);padding:2px 5px;border-radius:5px;cursor:pointer}.point-summary-marker .marker-close,.point-contextmenu-marker .marker-close{pointer-events:auto;position:absolute;background:var(--idm-danger-color);border:1px dashed var(--idm-white);display:flex;align-items:center;justify-content:center;width:20px;height:20px;right:-17px;top:-17px;cursor:pointer;font-size:20px}.tip-marker{color:var(--idm-white);font-size:12px;text-shadow:var(--idm-text-shadow);background-color:var(--idm-black-6);padding:2px 5px;border-radius:5px;cursor:pointer}.tip-marker .marker-label{border-bottom:var(--idm-dashed-border)}.tip-marker .marker-label:last-child{border-bottom:none}.tip-marker .marker-label b{font-weight:600;color:var(--idm-danger-color)}.hurricane-hourly-marker .iconfont{font-size:34px!important;color:var(--idm-danger-color)}.hurricane-hourly-marker svg{height:34px;width:34px}.hurricane-hourly-marker .center{box-sizing:border-box;display:flex;align-items:center;justify-content:center}.hurricane-hourly-marker .center.north{animation:anticlockwise 2s linear infinite}.hurricane-hourly-marker .center.south{animation:clockwise 2s linear infinite}@keyframes clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes anticlockwise{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}
1
+ @charset "UTF-8";:root{--idm-white: rgba(255, 255, 255, 1);--idm-white-9: rgba(255, 255, 255, .9);--idm-white-8: rgba(255, 255, 255, .8);--idm-white-7: rgba(255, 255, 255, .7);--idm-white-6: rgba(255, 255, 255, .6);--idm-white-5: rgba(255, 255, 255, .5);--idm-white-4: rgba(255, 255, 255, .4);--idm-white-3: rgba(255, 255, 255, .3);--idm-white-2: rgba(255, 255, 255, .2);--idm-white-1: rgba(255, 255, 255, .1);--idm-black: rgba(0, 0, 0, 1);--idm-black-9: rgba(0, 0, 0, .9);--idm-black-8: rgba(0, 0, 0, .8);--idm-black-7: rgba(0, 0, 0, .7);--idm-black-6: rgba(0, 0, 0, .6);--idm-black-5: rgba(0, 0, 0, .5);--idm-black-4: rgba(0, 0, 0, .4);--idm-black-3: rgba(0, 0, 0, .3);--idm-black-2: rgba(0, 0, 0, .2);--idm-black-1: rgba(0, 0, 0, .1);--idm-gray-light: rgba(239, 239, 239, 1);--idm-gray-light2: rgba(239, 239, 249, .6);--idm-primary-color: rgba(42, 87, 183, 1);--idm-primary-color-highlight: #0033ff;--idm-primary-color-light: #6c8ad9;--idm-primary-color-light2: #a7c4ff;--idm-primary-color-dark: #053a7e;--idm-primary-color-dark2: #002e6b;--idm-primary-color-9: rgba(42, 87, 183, .9);--idm-primary-color-8: rgba(42, 87, 183, .8);--idm-primary-color-7: rgba(42, 87, 183, .7);--idm-primary-color-6: rgba(42, 87, 183, .6);--idm-primary-color-5: rgba(42, 87, 183, .5);--idm-primary-color-4: rgba(42, 87, 183, .4);--idm-primary-color-3: rgba(42, 87, 183, .3);--idm-primary-color-2: rgba(42, 87, 183, .2);--idm-primary-color-1: rgba(42, 87, 183, .1);--idm-success-color: #0ddd9f;--idm-success-color-light: #92f7d9;--idm-success-color-dark: #06a074;--idm-success-color-dark2: #06694c;--idm-warning-color: #ff9500;--idm-warning-color-light: #ffcc00;--idm-warning-color-dark: #c77402;--idm-danger-color: #f44336;--idm-danger-color-light: #fb796e;--idm-danger-color-dark: #ad251b;--idm-info-color: #6e6e6e;--idm-info-color-light: #969696;--idm-info-color-light2: #c0c0c0;--idm-info-color-light3: #e2e2e2;--idm-info-color-dark: #494949;--idm-dangerous: #f44336;--idm-severe: #ff9500;--idm-heavy: #ffff00;--idm-vessel-cargo-color: lightgreen;--idm-vessel-tanker-color: red;--idm-vessel-passenger-color: blue;--idm-vessel-other-color: lightgrey;--idm-perf-cii-a: var(--idm-success-color);--idm-perf-cii-b: var(--idm-success-color-light);--idm-perf-cii-c: var(--idm-warning-color);--idm-perf-cii-d: var(--idm-danger-color-light);--idm-perf-cii-e: var(--idm-danger-color);--idm-tropicals-td: #03f869;--idm-tropicals-ts: #f2f202;--idm-tropicals-sts: #ff9100;--idm-tropicals-ty: #f44336;--idm-tropicals-sty: #f903d0;--idm-tropicals-super-ty: #8702f9;--idm-tropicals-r7: #ff9100;--idm-tropicals-r10: #f44336;--idm-text-shadow: 0px 0px 4px rgba(0, 0, 0, 1);--idm-dashed-border: 1px dashed var(--idm-white-5);--idm-solid-border: 1px solid var(--idm-white-4);--idm-background-color: var(--idm-primary-color-9);--idm-background-color-dark: var(--idm-primary-color-dark);--idm-background-color-light: var(--idm-primary-color-light);--idm-background-color-light2: #f3f5f8;--idm-active-background-light: linear-gradient(130deg, rgba(142, 163, 255, .93) 20%, rgb(90 67 193 / 93%) 100%);--idm-active-text-shadow-light: 0 0 7px rgb(194, 255, 247), 0 0 21px rgb(194, 255, 247), 0 0 30px rgba(182, 211, 207, .4), 0 0 12px rgba(15, 115, 223, .6), 0 0 22px rgba(15, 115, 223, .8), 0 0 38px rgba(15, 115, 223, .9), 0 0 60px rgba(15, 115, 223, 1);--idm-background-opaque-linear-gradient-top: linear-gradient(to top, rgba(41, 32, 165) 0%, rgba(44, 93, 184) 80%, rgba(32, 90, 165) 100%);--idm-background-linear-gradient-top: linear-gradient(to top, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-bottom: linear-gradient(to bottom, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-right: linear-gradient(to right, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-left: linear-gradient(to left, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-blink-animation: blink .8s ease-out infinite alternate}:root[colorTheme=black]{--idm-background-opaque-linear-gradient-top: linear-gradient(to top, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .8) 80%, rgb(0, 0, 0, .8) 100%);--idm-background-linear-gradient-top: linear-gradient(to top, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .7) 70%, rgb(0, 0, 0, .7) 100%);--idm-background-linear-gradient-bottom: linear-gradient(to top, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .7) 70%, rgb(0, 0, 0, .7) 100%);--idm-background-linear-gradient-right: linear-gradient(to top, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .7) 70%, rgb(0, 0, 0, .7) 100%);--idm-background-linear-gradient-left: linear-gradient(to top, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .7) 70%, rgb(0, 0, 0, .7) 100%);--idm-active-background-light: linear-gradient(130deg, rgba(117, 117, 117, .93) 30%, rgba(200, 200, 200, .93) 100%);--idm-active-text-shadow-light: 0 0 7px rgb(253, 253, 253), 0 0 21px rgb(226, 226, 226), 0 0 30px rgba(185, 185, 185, .4), 0 0 12px rgba(67, 67, 67, .6), 0 0 22px rgba(27, 27, 27, .8), 0 0 38px rgba(15, 115, 223, .9), 0 0 60px rgba(15, 115, 223, 1);--idm-primary-color: rgba(0, 0, 0, .7);--idm-primary-color-light: #757575;--idm-primary-color-light2: #a5a5a5;--idm-primary-color-dark: rgba(0, 0, 0, .8);--idm-primary-color-dark2: rgba(0, 0, 0, 1);--idm-primary-color-9: rgba(0, 0, 0, .9);--idm-primary-color-7: rgba(0, 0, 0, .7);--idm-primary-color-5: rgba(0, 0, 0, .5);--idm-primary-color-3: rgba(0, 0, 0, .3);--idm-primary-color-1: rgba(0, 0, 0, .1)}:root[colorTheme=blue]{--idm-background-opaque-linear-gradient-top: linear-gradient(to top, rgba(41, 32, 165) 0%, rgba(44, 93, 184) 80%, rgba(32, 90, 165) 100%);--idm-background-linear-gradient-top: linear-gradient(to top, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-bottom: linear-gradient(to bottom, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-right: linear-gradient(to right, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-background-linear-gradient-left: linear-gradient(to left, rgba(19, 23, 152, .85) 0%, rgba(44, 93, 184, .85) 80%, rgba(64, 110, 196, .85) 100%);--idm-active-background-light: linear-gradient(130deg, rgba(142, 163, 255, .93) 20%, rgb(90 67 193 / 93%) 100%);--idm-active-text-shadow-light: 0 0 7px rgb(194, 255, 247), 0 0 21px rgb(194, 255, 247), 0 0 30px rgba(182, 211, 207, .4), 0 0 12px rgba(15, 115, 223, .6), 0 0 22px rgba(15, 115, 223, .8), 0 0 38px rgba(15, 115, 223, .9), 0 0 60px rgba(15, 115, 223, 1);--idm-primary-color: rgba(42, 87, 183, 1);--idm-primary-color-light: #6c8ad9;--idm-primary-color-light2: #a7c4ff;--idm-primary-color-dark: #053a7e;--idm-primary-color-dark2: #002e6b;--idm-primary-color-9: rgba(42, 87, 183, .9);--idm-primary-color-8: rgba(42, 87, 183, .8);--idm-primary-color-7: rgba(42, 87, 183, .7);--idm-primary-color-6: rgba(42, 87, 183, .6);--idm-primary-color-5: rgba(42, 87, 183, .5);--idm-primary-color-4: rgba(42, 87, 183, .4);--idm-primary-color-3: rgba(42, 87, 183, .3);--idm-primary-color-2: rgba(42, 87, 183, .2);--idm-primary-color-1: rgba(42, 87, 183, .1)}:root[colorTheme=dark-blue]{--idm-background-opaque-linear-gradient-top: linear-gradient(to top, rgba(16, 22, 79, .85) 0%, rgba(15, 41, 89, .85) 80%, rgba(19, 47, 108, .85) 100%);--idm-background-linear-gradient-top: linear-gradient(to top, rgba(16, 22, 79, .85) 0%, rgba(15, 41, 89, .85) 80%, rgba(19, 47, 108, .85) 100%);--idm-background-linear-gradient-bottom: linear-gradient(to bottom, rgba(16, 22, 79, .85) 0%, rgba(15, 41, 89, .85) 80%, rgba(19, 47, 108, .85) 100%);--idm-background-linear-gradient-right: linear-gradient(to right, rgba(16, 22, 79, .85) 0%, rgba(15, 41, 89, .85) 80%, rgba(19, 47, 108, .85) 100%);--idm-background-linear-gradient-left: linear-gradient(to left, rgba(16, 22, 79, .85) 0%, rgba(15, 41, 89, .85) 80%, rgba(19, 47, 108, .85) 100%);--idm-active-background-light: linear-gradient(130deg, rgba(104, 104, 226, .93) 20%, rgba(22, 49, 182, .93) 100%);--idm-active-text-shadow-light: 0 0 7px rgb(194, 255, 247), 0 0 21px rgb(194, 255, 247), 0 0 30px rgba(182, 211, 207, .4), 0 0 12px rgba(15, 115, 223, .6), 0 0 22px rgba(15, 115, 223, .8), 0 0 38px rgba(15, 115, 223, .9), 0 0 60px rgba(15, 115, 223, 1);--idm-primary-color: rgba(42, 87, 183, 1);--idm-primary-color-light: #6266e0;--idm-primary-color-light2: #89b0ff;--idm-primary-color-dark: #00224e;--idm-primary-color-dark2: #021a39;--idm-primary-color-9: rgba(19, 47, 108, .9);--idm-primary-color-7: rgba(19, 47, 108, .7);--idm-primary-color-5: rgba(19, 47, 108, .5);--idm-primary-color-3: rgba(19, 47, 108, .3);--idm-primary-color-1: rgba(19, 47, 108, .1)}@font-face{font-family:iconfont;src:url(https://iconfont.idmwx.com/iconfont.woff2) format("woff2"),url(https://iconfont.idmwx.com/iconfont.woff) format("woff"),url(https://iconfont.idmwx.com/iconfont.ttf) format("truetype"),url(https://iconfont.idmwx.com/iconfont.svg?#iconfont) format("svg")}.iconfont{font-family:iconfont!important;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-end{display:flex;align-items:center;justify-content:flex-end}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between,.flex-space{display:flex;align-items:center;justify-content:space-between}.flex-around{display:flex;align-items:center;justify-content:space-around}.flex-evenly{display:flex;align-items:center;justify-content:space-evenly}.flex-col-center-center{display:flex;flex-direction:column;justify-content:center;align-items:center}.flex-col-start-center{display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.flex-col-start-start{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.flex-col-end-center{display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.flex-col-between-center{display:flex;flex-direction:column;justify-content:space-between;align-items:center}.flex-col-around-center{display:flex;flex-direction:column;justify-content:space-around;align-items:center}.flex-col-center-start{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.flex-col-center-end{display:flex;flex-direction:column;justify-content:center;align-items:flex-end}.flex{flex:1}.dropdown{position:relative;display:inline-block!important}.dropdown .dropdown-content{display:none;position:absolute;z-index:1}.dropdown:hover .dropdown-content{display:block}.loading{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--idm-black-5);z-index:1000;display:flex;justify-content:center;align-items:center;flex-direction:column}.loading i{font-size:30px;color:var(--idm-white);margin-bottom:16px;animation:rotate 2s linear infinite}.loading div{color:var(--idm-white);font-size:16px}@keyframes blink{0%{box-shadow:0 0 20px var(--idm-warning-color-dark) inset}to{box-shadow:0 0 20px var(--idm-success-color) inset}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.idm-gl3-layer .fade-enter-active,.idm-gl3-layer .fade-leave-active{transition:opacity .4s}.idm-gl3-layer .fade-enter,.idm-gl3-layer .fade-leave-to{opacity:0}.idm-gl3-layer .menu-bar-box{position:absolute;overflow-y:hidden;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;transition:all .4s ease-in-out;z-index:2;border-radius:5px;box-shadow:0 2px 12px #0003}.idm-gl3-layer .menu-bar-box .bar-item{position:relative;border-radius:5px;background:var(--idm-white);cursor:pointer}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon{padding:8px;display:flex}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon span{font-size:20px;font-weight:600;color:var(--idm-black-8)}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon.active{background:var(--idm-primary-color)}.idm-gl3-layer .menu-bar-box .bar-item .menu-icon.active span{color:var(--idm-white)}.idm-gl3-layer .active-layers{position:absolute;max-width:160px;font-size:14px;padding:2px 5px;background:var(--idm-white);border-radius:5px;box-shadow:0 2px 12px #0003;transition:all .4s ease-in-out}.idm-gl3-layer .active-layers .layer{width:auto;padding:4px 10px}.idm-gl3-layer .active-layers .layer .name{font-size:14px}.idm-gl3-layer .available-layers{position:absolute;height:calc(100vh - 120px);box-sizing:border-box;transition:all .4s ease-in-out}.idm-gl3-layer .available-layers .header-box{font-size:16px;font-weight:600;padding:5px 10px 10px;color:var(--idm-black-8)}.idm-gl3-layer .available-layers .header-box .close-btn{font-size:20px;font-weight:400;color:var(--idm-black-2);cursor:pointer}.idm-gl3-layer .available-layers .header-box .close-btn:hover{color:var(--idm-primary-color)}.idm-gl3-layer .available-layers .list-box{height:inherit;width:200px;overflow-y:auto;color:var(--idm-black-8);background:var(--idm-white);display:flex;flex-direction:column;box-shadow:0 2px 12px #0003;z-index:1}.idm-gl3-layer .available-layers .list-box .layers-title{font-size:14px;font-weight:600;padding:5px 10px;color:var(--idm-black-8)}.idm-gl3-layer .available-layers .list-box .layers-body{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;padding:0 10px;font-size:14px}.idm-gl3-layer .available-layers .list-box .layers-body .layer{width:100%}.idm-gl3-layer .available-layers .list-box .layers-body .layer-radio{margin-top:5px}.idm-gl3-layer .available-layers .list-box .layers-body .layer-radio .el-radio{height:24px}.idm-gl3-layer .available-layers .list-box .layers-body .layer-radio .el-radio.is-checked .el-radio__inner{background:var(--idm-primary-color);border-color:var(--idm-primary-color)}.idm-gl3-layer .available-layers .list-box .layers-body .layer-radio .el-radio.is-checked .el-radio__label{color:var(--idm-primary-color)}.idm-gl3-layer .available-layers .list-box .layers-body .tip{margin-left:-5px;margin-bottom:2px;font-size:12px;color:var(--idm-info-color)}.idm-gl3-layer .available-layers .list-box .layers-body .tip .bookmark-icon{color:var(--idm-warning-color)}.idm-gl3-layer .layer{display:inline-flex;align-items:center;padding:4px 0;color:var(--idm-black-8);font-size:14px;cursor:pointer}.idm-gl3-layer .layer .checkbox{width:14px;height:14px;margin-right:10px;border:1px solid var(--idm-black-2);box-sizing:border-box}.idm-gl3-layer .layer .bookmark-icon{font-size:15px}.idm-gl3-layer .layer .bookmark-icon.active{display:inline-block;color:var(--idm-warning-color)}.idm-gl3-layer .layer .bookmark-icon.inactive{display:none}.idm-gl3-layer .layer .sub-layer-icon{margin-left:10px;font-size:16px}.idm-gl3-layer .layer .sub-layer-icon.active{color:var(--idm-primary-color)}.idm-gl3-layer .layer.active .checkbox{border:1px solid var(--idm-primary-color);background:var(--idm-primary-color)}.idm-gl3-layer .layer.active .checkbox:after{position:relative;content:"✔";color:var(--idm-white);font-size:10px;display:flex;align-items:center;justify-content:center}.idm-gl3-layer .layer.active .name{color:var(--idm-primary-color)}.idm-gl3-layer .layer.disabled{color:var(--idm-black-4);cursor:not-allowed}.idm-gl3-layer .layer.disabled .checkbox{cursor:not-allowed;border:1px solid var(--idm-black-2);opacity:.5}.idm-gl3-layer .layer:hover .bookmark-icon.inactive{display:inline-block}.idm-gl3-layer .switch{font-size:24px;height:19px;margin-right:10px;color:var(--idm-black-2);cursor:pointer}.idm-gl3-layer .switch .active{color:var(--idm-primary-color)}.idm-gl3-layer .card-bg{background:var(--idm-gray-light2);border-radius:3px;margin:8px}.idm-gl3-layer .card-bg:first-child{margin-top:0}.wind-tool-bars{transition:all .4s ease-in-out;padding:2px 5px;border-radius:4px;background:var(--idm-white);box-shadow:0 2px 12px #0003}.wind-tool-bars .item-bar{cursor:pointer;padding:4px 10px}.wind-tool-bars .item-bar.active .checkbox{border:var(--idm-primary-color);background:var(--idm-primary-color)}.wind-tool-bars .item-bar.active .checkbox:after{content:"✔";color:var(--idm-white);font-size:12px;display:flex;align-items:center;justify-content:center}.wind-tool-bars .item-bar.active span{font-size:12px;color:var(--idm-primary-color)}.wind-tool-bars .item-bar .checkbox{width:14px;height:14px;margin-right:10px;border:1px solid var(--idm-black-2)}.wind-tool-bars .item-bar span{font-size:12px;color:var(--idm-black-8)}.legend-bars[data-v-24e5434b]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(98,113,184),rgb(98,113,184),rgb(98,113,184),rgb(98,113,184),rgb(61,110,163),rgb(74,148,170),rgb(74,146,148),rgb(77,142,124),rgb(76,164,76),rgb(103,164,54),rgb(162,135,64),rgb(162,109,92),rgb(141,63,92),rgb(151,75,145),rgb(95,100,160),rgb(91,136,161),rgb(91,136,161));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-24e5434b]{font-size:12px;text-align:center;color:var(--idm-white-8);width:32px}.current-tool-bars{transition:all .4s ease-in-out;background:var(--idm-white);padding:2px 5px;border-radius:4px;box-shadow:0 2px 12px #0003}.current-tool-bars .item-bar{cursor:pointer;padding:4px 10px}.current-tool-bars .item-bar.active .checkbox{border:var(--idm-primary-color);background:var(--idm-primary-color)}.current-tool-bars .item-bar.active .checkbox:after{content:"✔";color:var(--idm-white);font-size:12px;display:flex;align-items:center;justify-content:center}.current-tool-bars .item-bar.active span{font-size:12px;color:var(--idm-primary-color)}.current-tool-bars .item-bar .checkbox{width:14px;height:14px;margin-right:10px;border:1px solid var(--idm-black-2)}.current-tool-bars .item-bar span{font-size:12px;color:var(--idm-black-8)}.legend-bars[data-v-6d4fd206]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(84,170,230),rgb(84,170,230),rgb(84,170,230),rgb(84,170,230),rgb(64,127,115),rgb(58,164,58),rgb(191,182,67),rgb(197,154,68),rgb(160,70,94),rgb(138,84,166),rgb(82,113,165),rgb(84,142,152),rgb(150,181,184),rgb(195,194,194),rgb(195,194,194));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-6d4fd206]{font-size:12px;text-align:center;color:var(--idm-white);width:36px}.active-tropical[data-v-726fd7f6]{bottom:unset;background:var(--idm-white-9);padding:10px;border-radius:5px;box-shadow:0 2px 12px #0003;z-index:5}.active-tropical .header-box[data-v-726fd7f6]{min-width:360px;margin-bottom:10px;box-sizing:border-box;color:var(--idm-black-8)}.active-tropical .header-box .close-btn[data-v-726fd7f6]{position:relative;height:0px;text-align:right;font-size:20px;color:var(--idm-black-2);cursor:pointer}.active-tropical .header-box .close-btn[data-v-726fd7f6]:hover{color:var(--idm-primary-color)}.active-tropical .header-box .main[data-v-726fd7f6]{font-size:16px}.active-tropical .header-box .sub[data-v-726fd7f6]{margin:3px 0;font-size:12px;color:var(--idm-info-color)}.active-tropical .main-box[data-v-726fd7f6]{min-width:360px;color:var(--idm-black-8);overflow-y:auto;box-sizing:border-box;font-size:12px;z-index:4}.active-tropical .main-box .content[data-v-726fd7f6]{padding:5px 0;border-radius:5px;background:var(--idm-gray-light)}.active-tropical .main-box .row[data-v-726fd7f6]{width:100%;padding:4px 10px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}.active-tropical .main-box .row .col[data-v-726fd7f6]{display:flex;align-items:center;justify-content:space-between}.active-tropical .main-box .row .col label[data-v-726fd7f6]{width:82px;margin-right:4px;color:var(--idm-info-color)}.active-tropical .main-box .row .col.col-24[data-v-726fd7f6]{width:100%}.active-tropical .main-box .row .col.col-left[data-v-726fd7f6]{width:55%}.active-tropical .main-box .row .col.col-right[data-v-726fd7f6]{width:40%}.active-tropical .main-box .row .col .icon[data-v-726fd7f6]{font-size:30px;color:var(--idm-black-4)}.active-tropical .main-box .row .col .icon.active[data-v-726fd7f6]{color:var(--idm-primary-color)}.forecast-models[data-v-726fd7f6]{display:flex;justify-content:flex-end;flex:1;margin-left:5px;flex-wrap:wrap}.forecast-models .model[data-v-726fd7f6]{font-size:12px;padding:0 6px 4px;display:flex;border:1px solid var(--idm-primary-color);cursor:pointer}.forecast-models .model span[data-v-726fd7f6]{border-bottom:2px dashed var(--idm-white)}.forecast-models .model span.cma[data-v-726fd7f6]{border-color:#e2ea03cc}.forecast-models .model span.jma[data-v-726fd7f6]{border-color:#01d2b7cc}.forecast-models .model span.ecmwf[data-v-726fd7f6]{border-color:#f582f2cc}.forecast-models .model span.ukm[data-v-726fd7f6]{border-color:#f5bb47cc}.forecast-models .model span.noaa-at[data-v-726fd7f6],.forecast-models .model span.noaa-ep[data-v-726fd7f6]{border-color:#9758fbcc}.forecast-models .model.active[data-v-726fd7f6]{border:1px solid var(--idm-primary-color);background-color:var(--idm-primary-color);color:var(--idm-white)}.forecast-models .model[data-v-726fd7f6]:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.forecast-models .model.center-child[data-v-726fd7f6]{border-left:1px solid var(--idm-primary-color);border-right:1px solid var(--idm-primary-color)}.forecast-models .model[data-v-726fd7f6]:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.legend[data-v-726fd7f6]{display:flex;align-items:center;color:var(--idm-info-color)}.legend .icon[data-v-726fd7f6]{height:14px;width:14px;border-radius:50%;border:3px solid #fff;margin-right:3px}.legend .icon.td[data-v-726fd7f6]{background-color:var(--idm-tropicals-td)}.legend .icon.ts[data-v-726fd7f6]{background-color:var(--idm-tropicals-ts)}.legend .icon.sts[data-v-726fd7f6]{background-color:var(--idm-tropicals-sts)}.legend .icon.ty[data-v-726fd7f6]{background-color:var(--idm-tropicals-ty)}.legend .icon.sty[data-v-726fd7f6]{background-color:var(--idm-tropicals-sty)}.legend .icon.supper-ty[data-v-726fd7f6]{background-color:var(--idm-tropicals-super-ty)}.legend .icon.r7[data-v-726fd7f6]{border:1.5px solid var(--idm-tropicals-r7)}.legend .icon.r10[data-v-726fd7f6]{border:1.5px solid var(--idm-tropicals-r10)}.legend .icon.history[data-v-726fd7f6]{border:none;border-radius:0;height:4px;background:var(--idm-black-5)}.legend .button[data-v-726fd7f6]{cursor:pointer;padding:0 4px;border-radius:4px;border:1px solid var(--idm-primary-color);color:var(--idm-primary-color)}.more[data-v-726fd7f6]{display:flex;align-items:center;justify-content:flex-end;color:var(--idm-primary-color);font-weight:700;margin-top:5px;cursor:pointer}.legend-bars[data-v-9708a7a3]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgba(59,126,162,0),rgb(172,210,255),rgb(172,210,255),rgb(3,248,103),rgb(14,201,3),rgb(190,226,2),rgb(248,1,1),rgb(197,5,58),rgb(197,5,58));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-9708a7a3]{font-size:12px;text-align:center;color:var(--idm-white);width:35px}.legend-bars[data-v-f7b2fb08]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(189,50,160),rgb(189,50,160),rgb(189,50,160),rgb(189,50,160),rgb(208,56,56),rgb(208,56,56),rgb(190,226,2),rgb(190,226,2),rgb(4,210,64),rgb(4,210,64),rgb(172,210,255),rgb(172,210,255));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-f7b2fb08]{font-size:12px;text-align:center;color:var(--idm-white);width:40px}.legend-bars[data-v-7521f582]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(95,143,197),rgb(95,143,197),rgb(95,143,197),rgb(95,143,197),rgb(80,140,62),rgb(121,146,28),rgb(171,161,14),rgb(223,177,6),rgb(243,150,6),rgb(236,95,21),rgb(190,65,18),rgb(138,43,10),rgb(138,43,10));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-7521f582]{font-size:12px;text-align:center;color:var(--idm-white);width:32px}.legend-bars[data-v-25daaa82]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(149,137,211),rgb(149,137,211),rgb(149,137,211),rgb(149,137,211),rgb(150,209,216),rgb(129,204,197),rgb(103,180,186),rgb(95,143,197),rgb(80,140,62),rgb(121,146,28),rgb(171,161,14),rgb(223,177,6),rgb(243,150,6),rgb(236,95,21),rgb(190,65,18),rgb(138,43,10),rgb(138,43,10));padding:2px 0;border-radius:10px;box-shadow:0 2px 12px #000c}.legend-bars span[data-v-25daaa82]{font-size:12px;text-align:center;color:var(--idm-white);width:32px}.legend-bars[data-v-5bb73794]{transition:all .4s ease-in-out;background:linear-gradient(to right,rgb(76,165,228),rgb(76,165,228),rgb(76,165,228),rgb(76,165,228),rgb(103,180,186),rgb(129,204,197),rgb(150,209,216),rgb(180,209,216));padding:2px 0;border-radius:10px;box-shadow:var(--idm-gl-box-shadow)}.legend-bars span[data-v-5bb73794]{font-size:12px;text-align:center;color:var(--idm-white);width:40px}.point-meteo[data-v-9eac667c]{bottom:unset}.point-meteo .meteo-box[data-v-9eac667c]{position:absolute;top:0;left:5px;width:480px;font-size:13px;color:var(--idm-black-8);background-color:var(--idm-white);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-top-right-radius:5px;border-bottom-right-radius:5px;box-shadow:0 2px 12px #0003;font-family:'Microsoft YaHei, Helvetica Neue", Helvetica';z-index:9}.point-meteo .meteo-box .info[data-v-9eac667c]{color:var(--idm-info-color)}.point-meteo .meteo-box .unit[data-v-9eac667c]{font-size:13px;color:var(--idm-info-color)}.point-meteo .meteo-box .header-box[data-v-9eac667c]{padding:8px 5px;font-size:16px;box-sizing:border-box;color:var(--idm-black-8);background-color:var(--idm-gray-light)}.point-meteo .meteo-box .header-box .lnglat[data-v-9eac667c]{margin:0 5px}.point-meteo .meteo-box .header-box .close[data-v-9eac667c]{font-size:18px;color:var(--idm-black-3);cursor:pointer}.point-meteo .meteo-box .header-box .close[data-v-9eac667c]:hover{color:var(--idm-primary-color)}.point-meteo .meteo-box .main-box[data-v-9eac667c]{padding:10px 10px 0;border-radius:5px}.point-meteo .meteo-box .main-box .summary-row[data-v-9eac667c]{margin-bottom:5px}.point-meteo .meteo-box .main-box .summary-row .summary .icon[data-v-9eac667c]{height:60px;color:#7af0f2}.point-meteo .meteo-box .main-box .summary-row .summary .temp[data-v-9eac667c]{font-size:28px;margin:0 20px 0 5px}.point-meteo .meteo-box .main-box .summary-row .summary .des[data-v-9eac667c]{font-size:13px}.point-meteo .meteo-box .main-box .summary-row .summary label[data-v-9eac667c]{margin-right:2px}.point-meteo .meteo-box .main-box .summary-row .date[data-v-9eac667c]{margin:0 5px;font-size:14px}.point-meteo .meteo-box .main-box .summary-row .row[data-v-9eac667c]{padding:3px 0;box-sizing:border-box}.point-meteo .meteo-box .main-box .summary-row .row label[data-v-9eac667c]{color:var(--idm-black-8)}.point-meteo .meteo-box .main-box .summary-row .row label[data-v-9eac667c]:after{content:":"}.point-meteo .meteo-box .main-box .summary-row .row[data-v-9eac667c]:last-child{border-bottom:none}.point-meteo .meteo-box .main-box .detail-box .menu-header .menu-item[data-v-9eac667c]{width:max-content;padding:3px 20px;margin-bottom:5px;font-size:14px;font-weight:700;cursor:pointer}.point-meteo .meteo-box .main-box .detail-box .menu-header .menu-item.active[data-v-9eac667c]{color:var(--idm-primary-color);border-bottom:2px solid var(--idm-primary-color)}.point-meteo .meteo-box .main-box .detail-box .basic-table[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table[data-v-9eac667c]{width:100%;font-size:12px}.point-meteo .meteo-box .main-box .detail-box .basic-table .tr-title[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .tr-title[data-v-9eac667c]{color:var(--idm-info-color);text-align:right!important}.point-meteo .meteo-box .main-box .detail-box .basic-table .tr-title .unit[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .tr-title .unit[data-v-9eac667c]{display:inline-block;width:24px;padding:0 5px;text-align:left;color:var(--idm-black-8)}.point-meteo .meteo-box .main-box .detail-box .basic-table tr th[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .basic-table td[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table tr th[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table td[data-v-9eac667c]{text-align:center;line-height:16px}.point-meteo .meteo-box .main-box .detail-box .basic-table th[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table th[data-v-9eac667c]{color:var(--idm-info-color);font-weight:400}.point-meteo .meteo-box .main-box .detail-box .basic-table .weather-icon[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .weather-icon[data-v-9eac667c]{width:24px;height:24px}.point-meteo .meteo-box .main-box .detail-box .basic-table .icon[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .icon[data-v-9eac667c]{font-size:10px;margin-right:1px}.point-meteo .meteo-box .main-box .detail-box .basic-table .icon.blue[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .icon.blue[data-v-9eac667c]{color:var(--idm-primary-color-light)}.point-meteo .meteo-box .main-box .detail-box .basic-table .icon.orange[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .icon.orange[data-v-9eac667c]{color:var(--idm-warning-color-light)}.point-meteo .meteo-box .main-box .detail-box .basic-table .icon.gray[data-v-9eac667c],.point-meteo .meteo-box .main-box .detail-box .wave-current-table .icon.gray[data-v-9eac667c]{color:var(--idm-info-color)}.point-meteo .meteo-box .main-box .detail-box .basic-table .tr-title[data-v-9eac667c]{width:85px}.point-meteo .meteo-box .main-box .detail-box .wave-current-table .tr-title[data-v-9eac667c]{width:100px}.point-meteo .meteo-box .more[data-v-9eac667c]{padding:5px 10px;text-align:right;font-size:14px;border-top:1px solid var(--idm-gray-light);cursor:pointer}.point-meteo .meteo-box .more[data-v-9eac667c]:hover{color:var(--idm-primary-color)}.point-meteo[data-v-9eac667c]:after{display:block;margin-bottom:360px;width:8px;height:8px;border-radius:50%;content:"";background-color:var(--idm-gray-light);box-shadow:0 2px 12px #000}.point-meteo[data-v-9eac667c]:before{display:block;content:"";width:2px;height:360px;margin-left:3px;border-left:2px solid var(--idm-gray-light);box-shadow:0 2px 12px #000}#idm-gl3-zone-info{position:absolute;background:var(--idm-white);color:var(--idm-black-8);padding:10px;border-radius:5px;cursor:default;z-index:1000;height:fit-content;max-height:900px;overflow-y:auto;font-size:13px;box-shadow:0 2px 12px #0003}#idm-gl3-zone-info .rich-context{width:500px}#idm-gl3-zone-info .close{font-size:20px;position:absolute;right:10px;top:10px;color:var(--idm-black-2);border-top-right-radius:6px;cursor:pointer}#idm-gl3-zone-info .close:hover{color:var(--idm-primary-color)}#port-info[data-v-c07e4c45]{position:absolute;background:var(--idm-white);color:var(--idm-black-8);padding:5px 10px;border-radius:6px;cursor:default;z-index:1000;height:fit-content}#port-info .port-box[data-v-c07e4c45]{max-width:240px}#port-info .port-box .flex-start[data-v-c07e4c45]{line-height:2}#port-info .port-box .flex-start label[data-v-c07e4c45]{color:var(--idm-info-color);margin-right:10px;width:50px}#port-info .port-box .flex-start span[data-v-c07e4c45]{flex:1;flex-wrap:wrap;text-align:justify-all;color:var(--idm-black-8)}#port-info .port-box .flex-start span.link[data-v-c07e4c45]{cursor:pointer;text-decoration:underline}#port-info .port-box .flex-start span.link[data-v-c07e4c45]:hover{font-weight:600}#port-info .close[data-v-c07e4c45]{position:relative;text-align:right;height:0px;color:var(--idm-black-2);font-size:20px;cursor:pointer}#port-info .close[data-v-c07e4c45]:hover{color:var(--idm-primary-color)}.lat-lng-tip[data-v-73241fe7]{position:absolute;padding:2px 10px;border-radius:5px;color:var(--idm-primary-color);font-size:12px;top:unset;background:var(--idm-white);box-shadow:0 2px 12px #00000080;transition:all .4s ease-in-out}.menu-bar-box[data-v-150235f7]{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;transition:all .4s ease-in-out}.menu-bar-box .bar-item[data-v-150235f7]{position:relative;margin-bottom:15px;border-radius:5px;background:var(--idm-white);cursor:pointer;box-shadow:0 2px 12px #0003}.menu-bar-box .bar-item .menu-icon[data-v-150235f7]{padding:8px;display:flex}.menu-bar-box .bar-item .menu-icon[data-v-150235f7]:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.menu-bar-box .bar-item .menu-icon[data-v-150235f7]:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.menu-bar-box .bar-item .menu-icon span[data-v-150235f7]{font-size:18px;font-weight:500;color:var(--idm-black-8)}.menu-bar-box .bar-item .menu-icon.active[data-v-150235f7]{background:var(--idm-primary-color)}.menu-bar-box .bar-item .menu-icon.active span[data-v-150235f7]{color:var(--idm-white)}:root{--idm-gl-box-shadow-color: rgba(0, 0, 0, .5);--idm-gl-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .04), 0px 8px 20px rgba(0, 0, 0, .08);--idm-gl-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);--idm-gl-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);--idm-gl-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16)}.point-marker{pointer-events:none!important}.point-marker .marker-circle{pointer-events:inherit;width:12px;height:12px;border-radius:50%;border:2px solid var(--idm-white);background:var(--idm-danger-color)}.point-marker .marker-circle:hover{cursor:pointer}.point-marker.closed{pointer-events:auto!important}.point-summary-marker,.point-contextmenu-marker{color:var(--idm-white);font-size:12px;background:var(--idm-danger-color);border:2px solid var(--idm-white);padding:2px 5px;border-radius:5px;cursor:pointer}.point-summary-marker .marker-close,.point-contextmenu-marker .marker-close{pointer-events:auto;position:absolute;background:var(--idm-danger-color);border:1px dashed var(--idm-white);display:flex;align-items:center;justify-content:center;width:20px;height:20px;right:-17px;top:-17px;cursor:pointer;font-size:20px}.tip-marker{color:var(--idm-white);font-size:12px;text-shadow:var(--idm-text-shadow);background-color:var(--idm-black-6);padding:2px 5px;border-radius:5px;cursor:pointer}.tip-marker .marker-label{border-bottom:var(--idm-dashed-border)}.tip-marker .marker-label:last-child{border-bottom:none}.tip-marker .marker-label b{font-weight:600;color:var(--idm-danger-color)}.hurricane-hourly-marker .iconfont{font-size:34px!important;color:var(--idm-danger-color)}.hurricane-hourly-marker svg{height:34px;width:34px}.hurricane-hourly-marker .center{box-sizing:border-box;display:flex;align-items:center;justify-content:center}.hurricane-hourly-marker .center.north{animation:anticlockwise 2s linear infinite}.hurricane-hourly-marker .center.south{animation:clockwise 2s linear infinite}@keyframes clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes anticlockwise{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@idmwx/idmui-gl3",
3
3
  "private": false,
4
- "version": "4.5.7",
4
+ "version": "4.5.8",
5
5
  "description": "idm webgl3",
6
6
  "type": "module",
7
7
  "keywords": [