signalk-barograph
Version:
SignalK plugin to influx environment data & Barograph to visualize atmospheric pressure
1 lines • 46.5 kB
JavaScript
(self.webpackChunksignalk_barograph=self.webpackChunksignalk_barograph||[]).push([[232],{4197:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>Qe});var n=a(3441),r=a.n(n),s=a(5510),l=a(1256),i=a(3002),o=a(5556),c=a.n(o),m=a(6232),u=a(9984),d=a(7606),p=a(1728),g=a(4392),f=a(8654),h=a(3197),v=a(6763);const b=r().memo((e=>{const t=(0,n.useContext)(i.default),a=(0,n.useContext)(i.BaroContext),s="xs"===e.layout?"small":"large";return v.log("Mode updated"),r().createElement(r().Fragment,null,a.config.elevation.current<=50||a.config.elevation.calc?r().createElement(g.A,{className:e.classes.alert},r().createElement(p.A,{className:e.classes.label,fontSize:s})):"Barometer"===t.type?r().createElement(g.A,{className:e.classes.label},r().createElement(h.A,{fontSize:"inherit",color:"white"})," ",a.config.elevation.current,"m"):r().createElement(f.A,{className:e.classes.alert,iconMapping:{success:r().createElement(h.A,{fontSize:"inherit",color:"inherit"})},color:"success",variant:"filled"},a.config.elevation.current," m"))}));var E=a(3174),y=a(9406);const A=e=>{const t=(0,n.useContext)(i.BaroContext),[a,s]=(0,n.useState)(Date.now()),[l,o]=(0,n.useState)([e.classes.autoRefresh,e.classes.refreshStart]);if(null!==e.data&&e.data.timestamp!==a){let a=(0,y.getData)(e.data.pressure,t.config.unit);void 0!==a&&e.change(a),a=(0,y.getData)(e.data.trend,t.config.unit),void 0!==a&&e.trending(a),s(new Date(e.data.timestamp).getTime()),l[1]===e.classes.refreshStart?o([e.classes.autoRefresh,e.classes.refreshMid]):l[1]===e.classes.refreshMid?o([e.classes.autoRefresh,e.classes.refreshEnd]):o([e.classes.autoRefresh,e.classes.refreshStart])}return r().createElement(r().Fragment,null,r().createElement(g.A,{className:e.classes.label},r().createElement(E.A,{className:l,fontSize:"small"})))};A.propTypes={change:c().func.isRequired};const x=A;var w=a(3148),j=a(2488),k=a(751),C=a(9159),S=a(6763);const N=r().memo((e=>{const t=(0,n.useContext)(i.BaroContext);return S.log((t.environment?t.environment:"Pressure")+" updated"),r().createElement(r().Fragment,null,r().createElement(w.A,{className:e.classes.paper},r().createElement(d.A,{container:!0,direction:"column",justify:"space-between"},r().createElement(d.A,{item:!0},r().createElement(d.A,{container:!0,direction:"row",justify:"space-between"},r().createElement(g.A,{className:e.classes.label,variant:"h6"},t.config.environment),r().createElement(g.A,{className:e.classes.label,variant:"h6"},t.config.unit))),r().createElement(d.A,{item:!0},r().createElement(g.A,{gutterBottom:!0,variant:"h3"},void 0!==e.current&&null!==e.current?e.current.value:r().createElement(j.A,{animation:"wave"})))),r().createElement(k.A,{borderTop:1,className:e.classes.box,borderColor:"main",spacing:1,display:"flex",alignItems:"left"},r().createElement(C.A,{className:e.classes.label,fontSize:"small"}),r().createElement(g.A,{className:e.classes.label,variant:"caption"}," ",void 0!==e.current&&null!==e.current?"Last "+("xs"!==e.layout?" updated ":"")+new Date(e.current.time).toTimeString().split(" ")[0]:"waiting ..."))))}));var P=a(7625),z=a(4185),D=a(9600),I=a(6763);const B=r().memo((e=>{I.log("Trend updated");const t=(0,n.useContext)(i.BaroContext),a="lg"===e.layout||"xl"===e.layout?"":t.config.unit,s=t.config.trending.threshold,l=t.config.trending.snap,o=null!==e.current?"NaN"===e.current.value?null:e.current.value:null;let c;if(null!==e.current&&""!==e.current.trending){let t="props.classes.label";switch(e.current.rotate){case 1:t="up"===e.current.trending?[e.classes.autoRefresh,e.classes.rotatep1]:[e.classes.autoRefresh,e.classes.rotatem1];break;case 2:t="up"===e.current.trending?[e.classes.autoRefresh,e.classes.rotatep2]:[e.classes.autoRefresh,e.classes.rotatem2];break;case 3:t="up"===e.current.trending?[e.classes.autoRefresh,e.classes.rotatep3]:[e.classes.autoRefresh,e.classes.rotatem3]}c="up"===e.current.trending?r().createElement(D.A,{className:t,fontSize:"large"}):"down"===e.current.trending?r().createElement(z.A,{className:t,color:"secondary",fontSize:"large"}):r().createElement(P.A,{className:t,color:"primary",fontSize:"large"})}else c=o>=-1*l*s&&o<=l*s?r().createElement(P.A,{color:"primary",fontSize:"large"}):o>s?r().createElement(D.A,{className:e.classes.label,fontSize:"large"}):r().createElement(z.A,{color:"secondary",fontSize:"large"});return r().createElement(r().Fragment,null,r().createElement(w.A,{className:e.classes.paper},r().createElement(d.A,{container:!0,direction:"column",justify:"space-between"},r().createElement(d.A,{item:!0},r().createElement(d.A,{container:!0,direction:"row",justify:"space-between"},r().createElement(g.A,{className:e.classes.label,variant:"h6"},"Trend"),void 0!==e.data?r().createElement(x,{classes:e.classes,data:e.data,change:e.change,trending:e.trending}):r().createElement(g.A,{className:e.classes.label,variant:"h6"},a))),r().createElement(d.A,{item:!0},void 0===e.current||null===o?r().createElement(g.A,{gutterBottom:!0,variant:"h3"},void 0!==e.current&&null!==o?o:r().createElement(j.A,{animation:"wave"})):r().createElement(d.A,{container:!0,direction:"row",alignItems:"baseline",justify:"space-evenly"},c,r().createElement(g.A,{gutterBottom:!0,variant:"h3"},o)))),r().createElement(k.A,{borderTop:1,className:e.classes.box,borderColor:"main",spacing:1,display:"flex",alignItems:"left"},r().createElement(C.A,{className:e.classes.label,fontSize:"small"}),r().createElement(g.A,{className:e.classes.label,variant:"caption"}," averaged from last ",l,"h"))))}));var T=a(3581),F=a(6763);const U=r().memo((e=>(F.log("Prediction updated"),r().createElement(r().Fragment,null,"info"===e.prediction.type||"warning"===e.prediction.type||"alert"===e.prediction.type?r().createElement(f.A,{className:e.classes.alert,severity:"alert"===e.prediction.type?"error":e.prediction.type,variant:"filled"},e.prediction.value):r().createElement(f.A,{className:e.classes.alert,iconMapping:{success:r().createElement(T.A,{fontSize:"inherit",color:"inherit"})},color:"success",variant:"filled"},e.prediction.value))))),L=(0,a(2096).A)((e=>({root:{margin:0,height:"94vh",flexgrow:1,color:e.palette.text.main,backgroundColor:e.palette.primary.dark,padding:e.spacing(1)},header:{padding:"0px",maxHeight:"10vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",fontSize:"calc(10px + 2vmin)",color:"white"},container:{padding:"20px",minHeight:"90vh",display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"center",fontSize:"calc(10px + 1vmin)",backgroundColor:e.palette.primary.dark},paper:{width:"100%",height:"100%",minHeight:"calc(10px + 7vmin)",padding:e.spacing(1),textAlign:"center",color:e.palette.text.main,backgroundColor:e.palette.primary.dark},time:{minHeight:"calc(9px + 4vmin)",marginTop:"1vmin",padding:0,textAlign:"bottom",color:e.palette.text.main,backgroundColor:e.palette.primary.dark},messages:{minHeight:"calc(10px + 7vmin)",marginTop:"1vmin",padding:0,textAlign:"bottom",color:e.palette.text.main,backgroundColor:e.palette.primary.dark},label:{color:e.palette.text.dark},placeholder:{justifyContent:"center"},box:{borderColor:e.palette.primary.main,color:e.palette.primary.main},card:{width:"32%",height:"80%",padding:0,backgroundColor:e.palette.primary.dark,color:e.palette.text.main},alerts:{marginTop:"5px",width:"100%","& > * + *":{marginTop:e.spacing(2)}},alert:{marginTop:"1vmin"},autoRefresh:{transition:e.transitions.create(["transform"],{duration:e.transitions.duration.short})},refreshStart:{transform:"rotate(0)"},refreshMid:{transform:"rotate(120deg)"},refreshEnd:{transform:"rotate(240deg)"},rotatep1:{transform:"rotate(90deg)"},rotatep2:{transform:"rotate(66deg)"},rotatep3:{transform:"rotate(33deg)"},rotatem1:{transform:"rotate(-90deg)"},rotatem2:{transform:"rotate(-66deg)"},rotatem3:{transform:"rotate(-33deg)"},slider:{thumb:{color:e.palette.text.main},track:{color:e.palette.text.dark},rail:{color:e.palette.primary.light}},graph:{backgroundColor:e.palette.primary.dark,graph:e.palette.primary.light,grid:e.palette.text.dark,text:e.palette.text.main,legend:e.palette.text.dark,title:e.palette.primary.main},dialog:{margin:0,backgroundColor:e.palette.primary.light,width:400,position:"absolute",textAlign:"left",color:e.palette.text.main,border:"2px solid #000",boxShadow:e.shadows[5],padding:e.spacing(0,2,2)},closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1),color:e.palette.grey[500]},footer:{backgroundColor:e.palette.primary.dark,padding:"0px",maxHeight:"5vh",display:"bottom",flexDirection:"column",alignItems:"center",justifyContent:"center",fontSize:"calc(10px + 0vmin)",color:e.palette.text.dark}}))),M=L,R=e=>{const t=M(),[a,s]=(0,n.useState)(null),[l,o]=(0,n.useState)({value:null,trending:"equal",rotate:0}),c=(0,n.useContext)(i.default),[p,g]=(0,n.useState)(c.spacing);return r().createElement("div",{className:t.root},r().createElement(m.Ay,null),r().createElement(i.BaroContext.Provider,{value:{config:i.defaultConfig,setConfig:i.setConfig}},r().createElement(u.A,{className:t.container},r().createElement(d.A,{container:!0,spacing:p},r().createElement(d.A,{item:!0,xs:12,sm:12,justify:"space-around"},r().createElement(d.A,{container:!0,direction:"row",justify:"space-between"},r().createElement(b,{classes:t}),r().createElement(x,{classes:t,data:e.data,change:e=>{null!==e&&s(e)},trending:e=>{if(null!==e){let t=null!==(0,y.getLatest)().info.trending&&(0,y.getLatest)().info.trending.hasOwnProperty("severity")?(0,y.getLatest)().info.trending.severity:0,a={value:e.value,trending:t<=-1?"down":t>=1?"up":"equal",rotate:Math.abs(t)};o(a)}}}))),r().createElement(d.A,{item:!0,xs:12,sm:12},r().createElement(N,{classes:t,current:a})),r().createElement(d.A,{item:!0,xs:12,sm:12},r().createElement(B,{classes:t,current:l})),r().createElement(d.A,{item:!0,xs:12,sm:12},r().createElement(U,{classes:t,prediction:e.info.prediction}))))))};R.propTypes={data:c().isRequired,info:c().isRequired};const O=R;var q=a(3716),$=a(1342),H=a(206);function W(){return W=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},W.apply(this,arguments)}const _=()=>{},Q=[_,_],J=(0,n.createContext)(Q);function K(){return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"}}const Y=e=>{const{children:t,container:a,className:s,open:l,onClose:i}=e,[o]=(0,n.useState)(K);return r().createElement(H.A,{disableAutoFocus:!0,ref:a,open:l,onClose:i},r().createElement("div",{style:o,className:s},t))};function G({children:e,container:t,classes:a}){const[s,l]=(0,n.useState)([]),i=()=>{l((e=>{const t=e.pop();return t?(t.onClose&&t.onClose(),[...e].concat({...t,open:!1})):e}))},o=(0,n.useRef)([e=>{const t={...e,open:!0};l((e=>[...e,t]))},i]);return(0,n.useEffect)((()=>{const e=s[s.length-1];e&&!e.open&&(e.onExited&&e.onExited(),l((e=>e.slice(0,e.length-1))))}),[s]),r().createElement(J.Provider,{value:o.current},e,s.map(((e,n)=>{const{onClose:s,...l}=e;return r().createElement(Y,W({key:n,container:t,className:a.dialog,onClose:i},l))})))}var V=a(2460),Z=a(6265),X=a(4655),ee=a(3111),te=a(6763);const ae=r().memo((e=>{const[t,a]=(0,n.useState)(Date.now()),[s,l]=(0,n.useState)((0,ee.getInflux)());(0,n.useEffect)((()=>{const e=setInterval((()=>a(Date.now())),1e3);return()=>{clearInterval(e)}}),[]),(0,n.useEffect)((()=>{"influxDB not connected"===s&&l((0,ee.getInflux)())}),[t]),te.log("Time updated");const i=new Date(Date.now()).toString().match(/([A-Z]+[\+-][0-9]+)/)[1];return r().createElement(r().Fragment,null,r().createElement(w.A,{className:e.classes.paper},r().createElement(d.A,{container:!0,direction:"column",justify:"space-between"},r().createElement(d.A,{item:!0},r().createElement(d.A,{container:!0,direction:"row",alignItems:"center",justify:"space-between"},r().createElement(g.A,{className:e.classes.label,gutterBottom:!0,variant:"caption"}," ",i),r().createElement(g.A,{className:e.classes.label,gutterBottom:!0,variant:"h6"}," "),void 0!==e.data?r().createElement(x,{classes:e.classes,data:e.data,change:e.change,trending:e.trending}):r().createElement(V.A,{onClick:()=>{void 0!==e.reset?e.reset():alert("Reset not implemented!")}},r().createElement(Z.A,{className:e.classes.label,fontSize:"small"})))),r().createElement(d.A,{item:!0},r().createElement(g.A,{className:e.classes.time,gutterBottom:!0,variant:"h4"},void 0!==t&&new Date(t).toTimeString().split(" ")[0]))),r().createElement(k.A,{borderTop:1,className:e.classes.box,borderColor:"main",spacing:1,display:"flex",alignItems:"left"},r().createElement(X.A,{className:e.classes.label,fontSize:"small"}),r().createElement(g.A,{className:e.classes.label,variant:"caption"}," ",s))))})),ne=ae;var re=a(5090),se=a(5093),le=a.n(se);const ie=({colors:e,scale:t,labelData:a,envData:s,title:l,layout:o})=>{const c=(0,n.useContext)(i.default),m="linear"===c.interpolation?0:"smooth"===c.interpolation?1:2,u=(0,n.useContext)(i.BaroContext),d=!o||"xs"!==o&&"lg"!==o&&"xl"!==o?u.config.unit:"",p={labels:a,datasets:[{label:" "+u.config.environment.toLowerCase()+" pressure",fontSize:18,fontColor:e.legend,data:s,fill:!1,pointRadius:0,backgroundColor:e.backgroundColor,borderColor:"#97C8EB",lineTension:m,borderWidth:2}]},g={responsive:!0,title:{display:""!==l,text:l,position:"bottom",fontColor:e.title,padding:0},scales:{xAxes:[{type:"time",distribution:"linear",offset:!0,time:t<=24?{unit:"minute",displayFormats:{hour:"HH:mm",minute:"HH:mm"}}:{unit:"hour",displayFormats:{day:"ddd",month:"MM",hour:"HH:mm",minute:"HH:mm"}},scaleLabel:{display:!0,fontColor:e.text},gridLines:{display:!0,color:e.grid},ticks:{major:{enabled:!0,fontStyle:"bold"},source:"data",autoSkip:!0,autoSkipPadding:75,maxRotation:0,sampleSize:100,fontColor:e.legend,fontSize:10},afterBuildTicks:function(e,t){if(null!==t){var a,n,r,s,l,i,o=e._majorUnit,c=t[0];for(r=le()(t[0].value),"minute"===o&&0===r.second()||"hour"===o&&0===r.minute()||"day"===o&&9===r.hour()||"month"===o&&r.date()<=3&&1===r.isoWeekday()||"year"===o&&0===r.month()?c.major=!0:c.major=!1,i=r.get(o),a=1,n=t.length;a<n;a++)s=t[a],l=(r=le()(s.value)).get(o),s.major=l!==i,i=l;return t}}}],yAxes:[{scaleLabel:{display:"xs"!==o,labelString:d,fontSize:18,fontColor:e.legend},ticks:{fontColor:e.text,beginAtZero:!1},gridLines:{display:!0,color:e.grid}}]},tooltips:{backgroundColor:e.backgroundColor,titleFontSize:10,bodyFontSize:10}};return r().createElement(r().Fragment,null,r().createElement(re.N1,{data:p,options:g}))};var oe=a(8173),ce=a(4041),me=a(6763);function ue(e){return`${e}h`}function de(e){return pe[pe.findIndex((t=>t.value===e))].hours}const pe=[{value:15,hours:3,label:"3h"},{value:40,hours:48,label:"48h"},{value:60,hours:72,label:"3d"},{value:90,hours:168,label:"7d"}],ge=(0,oe.A)({root:{color:"#5782A1",height:8},thumb:{height:12,width:12,backgroundColor:"#7DBBE6",border:"2px solid currentColor",marginTop:-8,marginLeft:-12,"&:focus, &:hover, &$active":{boxShadow:"inherit"}},active:{},valueLabel:{left:"calc(-50% + 4px)"},track:{color:"#5782A1",height:4,borderRadius:2},rail:{color:"#5782A1",height:4,borderRadius:2},mark:{"& *":{background:"transparent",color:"#7DBBE6"}},markLabel:{"& *":{background:"transparent",color:"#5782A1"}}})(ce.A),fe=e=>{me.log("Slider updated");const t=(0,n.useContext)(i.default);return r().createElement(r().Fragment,null,r().createElement(ge,{min:1,max:100,orientation:"vertical",defaultValue:(a=t.timescale,pe[pe.findIndex((e=>e.hours===a))].value),onChange:(t,a)=>{e.change(de(a))},valueLabelFormat:de,getAriaValueText:ue,"aria-label":"Restricted values","aria-labelledby":"discrete-slider-restrict",step:null,valueLabelDisplay:"auto",marks:pe}));var a};var he=a(6763);const ve=r().memo((e=>{he.log("Alert updated");let t=null!==e.alert?Math.abs(e.alert.severity)<=1?"info":Math.abs(e.alert.severity)<=3?"warning":"error":"msg",a=null!==e.alert?e.alert.tendency+" "+e.alert.changerate:"";return r().createElement(r().Fragment,null,"msg"!==t?r().createElement(f.A,{className:e.classes.alert,severity:t,variant:"filled"},a):r().createElement(f.A,{className:e.classes.alert,iconMapping:{success:r().createElement(T.A,{fontSize:"inherit",color:"inherit"})},color:"success",variant:"filled"},a))}));var be=a(6763);const Ee=r().memo((e=>(be.log("Season updated"),r().createElement(r().Fragment,null,"info"===e.prediction.type||"warning"===e.prediction.type||"alert"===e.prediction.type?r().createElement(f.A,{className:e.classes.alert,severity:"alert"===e.prediction.type?"error":e.prediction.type,variant:"filled"},e.prediction.season):r().createElement(f.A,{className:e.classes.alert,iconMapping:{success:r().createElement(T.A,{fontSize:"inherit",color:"inherit"})},color:"success",variant:"filled"},""!==e.prediction.season?e.prediction.season:r().createElement(j.A,{animation:"wave"}))))));var ye=a(426),Ae=a(7520),xe=a(6272),we=a(6763);const je=r().memo((e=>(we.log("Front info updated"),r().createElement(r().Fragment,null,r().createElement(d.A,{container:!0,direction:"row",spacing:1,justify:"space-between"},r().createElement(ye.A,{className:e.classes.card},r().createElement(Ae.A,{className:e.classes.label,title:"Tendency",titleTypographyProps:{align:"left",color:"secondary",variant:"caption"}}),r().createElement(xe.A,null,"N/A"!==e.front.key?r().createElement(g.A,{className:e.classes.label,variant:"body2"},e.front.tendency):r().createElement(j.A,{animation:"wave"}))),r().createElement(ye.A,{className:e.classes.card},r().createElement(Ae.A,{className:e.classes.label,title:"Prognose",titleTypographyProps:{align:"left",color:"secondary",variant:"caption"}}),r().createElement(xe.A,null,"N/A"!==e.front.key?r().createElement(g.A,{className:e.classes.label,variant:"body2"},e.front.prognose):r().createElement(j.A,{animation:"wave"}))),r().createElement(ye.A,{className:e.classes.card},r().createElement(Ae.A,{className:e.classes.label,title:"Wind",titleTypographyProps:{align:"left",color:"secondary",variant:"caption"}}),r().createElement(xe.A,null,"N/A"!==e.front.key?r().createElement(g.A,{className:e.classes.label,variant:"body2"},e.front.wind):r().createElement(j.A,{animation:"wave"}))))))));var ke=a(6746),Ce=a(4794),Se=a(201),Ne=a(9904),Pe=a(5776),ze=a(4422),De=a(5696),Ie=a(8016),Be=a(5816),Te=a(345),Fe=a(3546),Ue=a(6763);function Le(){return Le=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Le.apply(this,arguments)}const Me=e=>{const[t,a]=(0,n.useContext)(J),s=(0,n.useContext)(i.default),l=(0,n.useContext)(i.BaroContext),[o,c]=(0,n.useState)(s.interpolation),[m,u]=(0,n.useState)(l.config.unit),[p,f]=(0,n.useState)(l.config.elevation),[h,v]=(0,n.useState)("default"),[b,E]=(0,n.useState)(!1),y=e=>{f({current:p.current,calc:e.target.checked}),(0,i.setConfig)({calc:e.target.checked}),v("Elevation")},A=e=>{u(e.target.value),(0,i.setConfig)({unit:e.target.value}),v("Unit")},x=e=>{E(o!==e.target.value),c(e.target.value),v("Interpolation")};(0,n.useEffect)((()=>{"default"!==h&&(a(),C(),Ue.log(h+" updated!"))}),[m,p,o]);const w=(0,oe.A)(e.classes)((e=>{const{children:t,classes:a,onClose:n,...s}=e;return r().createElement(De.A,Le({disableTypography:!0,className:a.dialog},s),r().createElement(d.A,{container:!0,direction:"row",alignItems:"baseline",justify:"space-between"},r().createElement(g.A,{variant:"h5"},t),n?r().createElement(V.A,{"aria-label":"close",className:a.closeButton,onClick:n},r().createElement(Fe.A,null)):null))})),j=(0,oe.A)((e=>({root:{padding:e.spacing(2)}})))(Ie.A),k=(0,oe.A)((e=>({root:{margin:0,padding:e.spacing(1)}})))(Be.A);function C(){t({children:r().createElement(r().Fragment,null,r().createElement(w,{id:"customized-dialog-title",onClose:()=>a()},"Display Settings"),r().createElement(j,{dividers:!0},r().createElement(d.A,{container:!0,direction:"row",alignItems:"baseline",justify:"space-between"},r().createElement(g.A,{gutterBottom:!0},"Adjust to sea-level"),r().createElement(Ce.A,{checked:p.calc,onChange:y,color:"secondary",name:"calc",inputProps:{"aria-label":"primary checkbox"}})),r().createElement(d.A,{container:!0,direction:"row",alignItems:"center",justify:"space-between"},r().createElement(g.A,null,"Pressure unit"),r().createElement(Se.A,{component:"fieldset"},r().createElement(Ne.A,{"aria-label":"unit",name:"displayUnit",value:m,onChange:A},r().createElement(Pe.A,{value:"hPa",control:r().createElement(ze.A,null),label:"hPa",labelPlacement:"start"}),r().createElement(Pe.A,{value:"Pa",control:r().createElement(ze.A,null),label:"Pa",labelPlacement:"start"}),r().createElement(Pe.A,{value:"mbar",control:r().createElement(ze.A,null),label:"mbar",labelPlacement:"start"}),r().createElement(Pe.A,{value:"atm",control:r().createElement(ze.A,null),label:"atm",labelPlacement:"start"})))),r().createElement(d.A,{container:!0,direction:"row",alignItems:"center",justify:"space-between"},r().createElement(g.A,null,"Graphical interpolation"),r().createElement(Se.A,{component:"fieldset"},r().createElement(Ne.A,{"aria-label":"interpolation",name:"graphInterpolation",value:o,onChange:x},r().createElement(Pe.A,{value:"linear",control:r().createElement(ze.A,null),label:"linear",labelPlacement:"start"}),r().createElement(Pe.A,{value:"smooth",control:r().createElement(ze.A,null),label:"smooth",labelPlacement:"start"}),r().createElement(Pe.A,{value:"fancy",disabled:!0,control:r().createElement(ze.A,null),label:"fancy",labelPlacement:"start"}))))),r().createElement(k,null,r().createElement(ke.A,{autoFocus:!0,onClick:()=>{return t=e.save,void(b&&t({interpolation:o}));var t},color:"primary"},"Save settings"),r().createElement(ke.A,{autoFocus:!0,onClick:()=>{return t=e.reset,a(),void(t&&(v("Reset"),t()));var t},color:"primary"},e.reset?"Reset now":"Close")))})}const S=function(e){const[t,a]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{t&&(e(),a(!1))}),[t,e,a]),()=>a(!0)}((()=>C()));return r().createElement(r().Fragment,null,r().createElement(V.A,{onClick:S},r().createElement(Te.A,{className:e.classes.label,fontSize:"large"})))},Re=e=>{const t=M(),a=document.getElementById("app-panel"),s="lg"===e.width||"xl"===e.width,[l,o]=(0,n.useState)(null),[c,p]=(0,n.useState)({value:null,trending:"equal",rotate:0}),f=(0,n.useContext)(i.default),[h,v]=(0,n.useState)(f.timescale);let E=3600*i.defaultConfig.trending.snap/(f.interval/1e3),A=3600*Math.max(i.defaultConfig.trending.snap,h)*1e3;const[x,j]=(0,n.useState)({}),k=e=>{e.length>E&&(e=e.slice(e.length-E,e.length)),S(e)},[C,S]=(0,n.useState)((()=>(0,ee.queryInflux)((0,ee.fluxQuery)("","",h),k)||[])),[P,z]=(0,n.useState)(f.spacing),D=e=>{v(e)},I=e=>{if(0===C.length)(0,ee.queryInflux)((0,ee.fluxQuery)("","",h),k);else if(null!==e&&(o(e),C.length<=10||e.time-C[C.length-1].time>=h*f.interval)){let t=[...C,e],a=Math.max(0,t.length-E);for(;t[a].time<e.time-A;)a++;a>0&&(t=t.slice(a+1,t.length)),S(t)}},T=e=>{if(null!==e){let t=null!==(0,y.getLatest)().info.trending&&(0,y.getLatest)().info.trending.hasOwnProperty("severity")?(0,y.getLatest)().info.trending.severity:0,a={value:e.value,trending:t<=-1?"down":t>=1?"up":"equal",rotate:Math.abs(t)};p(a)}},F=()=>{(0,ee.queryInflux)((0,ee.fluxQuery)("","",h),k)};return(0,n.useEffect)((()=>{const e=C.map((e=>e.time)),t=C.map((e=>e.value));j({timestamp:e,value:t})}),[C]),(0,n.useEffect)((()=>{let e=h;E=3600*e/(f.interval/1e3),A=3600*Math.max(i.defaultConfig.trending.snap,e)*1e3,(0,ee.queryInflux)((0,ee.fluxQuery)("","",e),k)}),[h]),r().createElement(G,{container:a,classes:t},r().createElement("div",{id:"barograph",className:t.root},r().createElement(m.Ay,null),r().createElement(i.BaroContext.Provider,{value:{config:i.defaultConfig,setConfig:i.setConfig}},"on"===f.header&&r().createElement(u.A,{className:t.header},r().createElement(w.A,{className:t.paper,xs:12,sm:12,md:12,lg:12,xl:12},r().createElement(g.A,{className:t.header},"Barograph"))),s?r().createElement(u.A,{className:t.container},r().createElement(d.A,{container:!0,spacing:P,lg:12,xl:12},r().createElement(d.A,{container:!0,direction:"row"},r().createElement(d.A,{item:!0,lg:4,xl:4},r().createElement(d.A,{container:!0,direction:"column"},r().createElement(d.A,{item:!0,lg:12,xl:12},r().createElement(N,{classes:t,current:l,layout:e.width})),r().createElement(d.A,{item:!0,lg:12,xl:12},r().createElement(B,{classes:t,current:c,layout:e.width})),r().createElement(d.A,{item:!0,lg:12,xl:12},r().createElement(ne,{classes:t,data:e.data,change:I,trending:T,reset:F,layout:e.width})))),r().createElement(d.A,{item:!0,lg:8,xl:8},r().createElement(w.A,{className:t.paper},r().createElement(d.A,{container:!0,direction:"row",spacing:1,sm:12,justify:"space-around"},r().createElement(d.A,{xs:1,sm:1},r().createElement(fe,{colors:t.slider,change:D})),r().createElement(d.A,{item:!0,xs:11,sm:11},r().createElement(ie,{colors:t.graph,scale:h,labelData:x.timestamp,envData:x.value,title:e.info.description,layout:e.width})))))),null!==e.info.front.key&&"N/A"!==e.info.front.key?r().createElement(d.A,{container:!0,direction:"row",alignItems:"flex-end"},r().createElement(d.A,{item:!0,sm:12,md:12,lg:4,xl:4},r().createElement(je,{classes:t,front:e.info.front})),r().createElement(d.A,{item:!0,xs:12,sm:12,md:12,lg:8,xl:8},r().createElement(w.A,{className:t.messages},r().createElement(d.A,{container:!0,direction:"row",spacing:0,alignItems:"center",justify:"space-around"},r().createElement(ve,{classes:t,alert:e.info.trending}),r().createElement(Ee,{classes:t,prediction:e.info.prediction}),r().createElement(b,{classes:t,layout:e.width}),r().createElement(Me,{classes:t,reset:F,save:e.save}))))):r().createElement(d.A,{item:!0,xs:12,sm:12,md:12,lg:12,xl:12},r().createElement(w.A,{className:t.messages},r().createElement(d.A,{container:!0,direction:"row",spacing:0,alignItems:"center",justify:"space-around"},r().createElement(ve,{classes:t,alert:e.info.trending}),r().createElement(Ee,{classes:t,prediction:e.info.prediction}),r().createElement(b,{classes:t}),r().createElement(Me,{classes:t,reset:F,save:e.save})))))):r().createElement(u.A,{className:t.container},r().createElement(d.A,{container:!0,spacing:P},r().createElement(d.A,{item:!0,xs:6,sm:4,md:4,lg:4,xl:4},r().createElement(N,{classes:t,current:l,layout:e.width})),r().createElement(d.A,{item:!0,xs:6,sm:4,md:4,lg:4,xl:4},"xs"===e.width?r().createElement(B,{classes:t,current:c,data:e.data,change:I,trending:T,reset:F,layout:e.width}):r().createElement(B,{classes:t,current:c,layout:e.width})),r().createElement(q.A,{xsDown:!0},r().createElement(d.A,{item:!0,sm:4,md:4,lg:4,xl:4},r().createElement(ne,{classes:t,data:e.data,change:I,trending:T,reset:F,layout:e.width}))),r().createElement(d.A,{item:!0,xs:12,sm:12,md:12,lg:8,xl:8},r().createElement(w.A,{className:t.paper},r().createElement(d.A,{container:!0,direction:"row",spacing:1,sm:12,justify:"space-around"},r().createElement(d.A,{item:!0,xs:11,sm:11},r().createElement(ie,{colors:t.graph,scale:h,labelData:x.timestamp,envData:x.value,title:e.info.description,layout:e.width})),r().createElement(d.A,{xs:1,sm:1},r().createElement(fe,{colors:t.slider,change:D}))))),null!==e.info.front.key&&"N/A"!==e.info.front.key&&r().createElement(d.A,{item:!0,sm:12,alignItems:"baseline",justify:"space-around"},r().createElement(je,{classes:t,front:e.info.front})),r().createElement(d.A,{item:!0,xs:12,sm:12},r().createElement(w.A,{className:t.messages},r().createElement(d.A,{container:!0,direction:"row",spacing:0,sm:12,alignItems:"center",justify:"space-around"},r().createElement(b,{classes:t}),r().createElement(ve,{classes:t,alert:e.info.trending}),r().createElement(q.A,{xsDown:!0},r().createElement(Ee,{classes:t,prediction:e.info.prediction}),r().createElement(Me,{classes:t,reset:F,save:e.save}))))))),"on"===f.footer&&r().createElement(u.A,{className:t.footer},r().createElement(d.A,{container:!0,spacing:P},r().createElement(w.A,{className:t.paper}," © 2021, Inspired Technologies",f.size&&" ["+f.size+"]"," "))))))};Re.propTypes={data:c().isRequired,info:c().isRequired,save:c().func.isRequired,width:c().oneOf(["lg","md","sm","xl","xs"]).isRequired};const Oe=(0,$.Ay)()(Re),qe=a(8330).name.replace(/[-@/]/g,"_"),$e=e=>{let t;try{t=JSON.parse(window.localStorage.getItem(qe))}catch(e){t={}}window.localStorage.setItem(qe,JSON.stringify({...t,config:e}))},He=()=>{try{const e="undefined"!=typeof window?window.innerWidth:null,t="undefined"!=typeof window?window.innerHeight:null,a=JSON.parse(window.localStorage.getItem(qe));return a.config?{header:"off",footer:"off",size:e&&t?e+"x"+t:"",spacing:1,interval:1e4,timescale:3,interpolation:a.config.interpolation?a.config.interpolation:"linear",type:e<400?"Barometer":"Barograph"}:{header:"off",footer:"off",size:e&&t?e+"x"+t:"",spacing:1,interval:1e4,timescale:3,interpolation:"linear",type:e<400?"Barometer":"Barograph"}}catch(e){const t="undefined"!=typeof window?window.innerWidth:null,a="undefined"!=typeof window?window.innerHeight:null;return{header:"off",footer:"off",size:t&&a?t+"x"+a:"",spacing:1,interval:1e4,timescale:3,interpolation:"linear",type:t<400?"Barometer":"Barograph"}}},We=(0,s.A)({palette:{primary:{main:"#26323F"},secondary:{main:"#A63400"},text:{light:"#97C8EB",main:"#7DBBE6",dark:"#5782A1"},success:{main:"#7DBBE6"},info:{main:"#5782A1"},contrastThreshold:3,tonalOffset:.2,background:{default:"#26323F"}}}),_e={},Qe=e=>{const[t,a]=(0,n.useState)({}),[s,o]=(0,n.useState)((0,y.getInitial)().values),[c,m]=(0,n.useState)((0,y.getInitial)().info),[u,d]=(0,n.useState)({}),[p,g]=(0,n.useState)(He);return(0,n.useEffect)((()=>{if(e.adminUI.getApplicationUserData("0.2.0").then((e=>{e.hasOwnProperty("subscriptions")&&(_e[e.subscriptions.altitude]=(e,t)=>(0,i.onAltitudeUpdate)(e,t),_e[e.subscriptions.pressure]=(e,t)=>(0,y.onPressureUpdate)(e,t),_e[e.subscriptions.temperature]=(e,t)=>(0,i.onTemperatureUpdate)(e,t),e.status="subscribed","Pressure"===i.defaultConfig.environment&&((0,i.setConfig)({subscribed:e.subscriptions.pressure.split(".")[1]}),(0,ee.setInflux)(e.influx,e.subscriptions.pressure.split(".")[1]))),e.hasOwnProperty("barometer")?(_e[e.barometer+"trend"]=(e,t)=>(0,y.onTrendUpdate)(e,t),_e[e.barometer+"trend.difference"]=(e,t)=>(0,y.onDifferenceUpdate)(e,t),_e[e.barometer+"trend.period"]=(e,t)=>(0,i.onPeriodUpdate)(e,t),_e[e.barometer+"description"]=(e,t)=>(0,y.onWeatherUpdate)(e,t),_e[e.barometer+"prediction"]=(e,t)=>(0,y.onPredictionUpdate)(e,t),_e[e.barometer+"wind.predicted"]=(e,t)=>(0,y.onWindUpdate)(e,t),_e[e.barometer+"front.predicted"]=(e,t)=>(0,y.onFrontUpdate)(e,t)):(_e["environment.barometer.trend"]=(e,t)=>(0,y.onTrendUpdate)(e,t),_e["environment.barometer.trend.difference"]=(e,t)=>(0,y.onDifferenceUpdate)(e,t),_e["environment.barometer.trend.period"]=(e,t)=>(0,i.onPeriodUpdate)(e,t),_e["environment.barometer.description"]=(e,t)=>(0,y.onWeatherUpdate)(e,t),_e["environment.barometer.prediction"]=(e,t)=>(0,y.onPredictionUpdate)(e,t),_e["environment.barometer.wind.predicted"]=(e,t)=>(0,y.onWindUpdate)(e,t),_e["environment.barometer.front.predicted"]=(e,t)=>(0,y.onFrontUpdate)(e,t)),a(e)})),e.loginStatus.status&&"loggedIn"===e.loginStatus.status&&t.hasOwnProperty("subscriptions")){const t=e.adminUI.openWebsocket({subscribe:"none"});t.onopen=()=>{t.send(JSON.stringify({context:"vessels.self",subscribe:Object.keys(_e).map((e=>({path:e})))}))},t.onmessage=e=>{const t=JSON.parse(e.data);(t.updates||[]).forEach((e=>{(e.values||[]).forEach((e=>{const a=_e[e.path];if(d({delta:t}),a&&a(e.value,p.interval))if(e.path.includes("pressure")||e.path.includes("difference")){let e=(0,y.getLatest)().values;o(e)}else{let e=(0,y.getLatest)().info;m(e)}}))}))}}}),[t.status,e.loginStatus]),!e.loginStatus.status||"notLoggedIn"===e.loginStatus.status&&e.loginStatus.authenticationRequired?r().createElement(e.adminUI.Login,null):r().createElement("div",{id:"app-panel"},r().createElement(r().StrictMode,null,r().createElement(l.A,{theme:We},r().createElement(i.default.Provider,{value:p},"Barometer"===p.type?r().createElement(O,{data:s,info:c}):r().createElement(Oe,{data:s,info:c,save:$e})))))}},3002:(e,t,a)=>{"use strict";a.r(t),a.d(t,{BaroContext:()=>s,default:()=>r,defaultConfig:()=>l,onAltitudeUpdate:()=>c,onPeriodUpdate:()=>o,onTemperatureUpdate:()=>m,setConfig:()=>i});var n=a(3441);const r=(0,n.createContext)(),s=(0,n.createContext)(),l={unit:"hPa",environment:"Pressure",trending:{snap:3,threshold:.5},elevation:{current:0,calc:!1},timescale:3,temperature:288.15};function i(e){return e.subscribed&&(l.environment=e.subscribed.charAt(0).toUpperCase()+e.subscribed.slice(1)),e.unit&&(l.unit=e.unit),void 0!==e.calc&&(l.elevation.calc=e.calc),e.timescale&&(l.timescale=e.timescale),!0}function o(e,t){return l.trending.snap=Math.floor(e/60/60),!0}function c(e,t){return l.elevation.current=null!==e?e:0,!0}function m(e,t){return l.temperature=null!==e?e:252.15,!0}},3111:(e,t,a)=>{var n=a(6763);const r=a(5914),{InfluxDB:s}=a(6957),l=a(3002),i=a(568),o=l.defaultConfig;let c,m,u,d,p,g,f,h=3,v=!1;function b(e){return e=o.elevation.calc&&o.elevation.current&&o.temperature?i.toTarget("Pa",i.toSeaLevel(e,o.elevation.current,o.temperature),o.unit,"Pa"===o.unit?0:"atm"===o.unit?4:2).value:"Pa"!==o.unit?i.toTarget("Pa",e,o.unit,"atm"===o.unit?4:2).value:e.toFixed(0),parseFloat(e)}e.exports={getInflux:function(){return c?u:"influxDB not connected"},setInflux:function(e,t){if(e){let a={url:e.url,token:e.token,timeout:6e4};c=new s(a),m=e.org,u=e.write,p=e.write,d=e.read,h=e.retention,f=e.id,g=t}},fluxQuery:function(e,t,a){return u=a<=h?p:d,('from(bucket: "$bucket") |> range(start: -$retentionh) |> filter(fn: (r) => r["_measurement"] == "pressure") |> filter(fn: (r) => r["_field"] == "$value") |> filter(fn: (r) => r["environment"] == "$key") '+(f?' |> filter(fn: (r) => r["id"] == "$id") |> filter(fn: (r) => r["source"] != "") '.replace("$id",f):"")+(""===m?' |> window(every: 1m) |> yield(name: "value") ':' |> aggregateWindow(every: 1m, fn: mean, createEmpty: false) |> yield(name: "value") ')).replace("$bucket",""!==e?e:""!==m?u:u.split("/")[0]).replace("$value",u===p?"value":"average").replace("$key",""!==t?t:g).replace("$retention",a||h)},queryInflux:function(e,t){n.log("\n*** QUERY ***");let a=[];if(c&&!v)c.getQueryApi(m).queryRows(e,{next(e,t){const n=t.toObject(e);a.push({value:b(n._value),time:new Date(n._time).getTime()})},error(e){n.log("QUERY FAILED",e),v="Failed to fetch"===e.message||!0},complete(){n.log("QUERY FINISHED"),v=!1,t(a)}});else if(c&&v){let e=new Headers;e.append("Authorization",""===m?"Basic "+r.encode(c._options.token):"Token "+c._options.token),url=c._options.url.replace("/api/v2/query","");var s={method:"GET",headers:e,redirect:"follow"};fetch(url+"/query?q="+(3,u=3<=h?p:d,"select time, mean($value) as value from pressure where time>now()-$retentionh and environment='$key' and id='$id' group by time(1m)&db=$bucket".replace("$bucket",""!==m?u:u.split("/")[0]).replace("$value",u===p?"value":"average").replace("$key",g).replace("$id",f).replace("$retention",h)),s).then((e=>e.text())).then((e=>{JSON.parse(e).results[0].series[0].values.forEach((e=>{null!==e[1]&&a.push({time:new Date(e[0]).getTime(),value:b(e[1])})})),n.log("REQUEST FINISHED"),t(a)})).catch((e=>n.log("REQUEST FAILED",e)))}return a}}},568:e=>{const t=[{bft:0,min:0,max:.3},{bft:1,min:.3,max:1.6},{bft:2,min:1.6,max:3.4},{bft:3,min:3.4,max:5.5},{bft:4,min:5.5,max:8},{bft:5,min:8,max:10.8},{bft:6,min:10.8,max:13.9},{bft:7,min:13.9,max:17.2},{bft:8,min:17.2,max:20.8},{bft:9,min:20.8,max:24.5},{bft:10,min:24.5,max:28.5},{bft:11,min:28.5,max:32.7},{bft:12,min:32.7,max:99.9}];function a(e,a){return"string"==typeof e&&(e=Number(e)),void 0===a||"min"!==a&&"max"!==a?.836*Math.pow(e,1.5):e>=0&&e<=12?"min"==a?t[e].min:"max"==a?t[e].max:null:null}function n(e){return Math.round(Math.pow(e/.836),2/3)}e.exports={toBeaufort:n,fromBeaufort:a,toSeaLevel:function(e,t,a){return e*Math.pow(1-.0065*t/(a+.0065*t),-5.257)},toStationAltitude:function(e,t,a){return e*Math.pow(1-.0065*t/(a+.0065*t),5.257)},toDegreesMinutesAndSeconds:function(e){var t=Math.abs(e),a=Math.floor(t),n=60*(t-a),r=Math.floor(n);return a+"°"+r+"'"+Math.floor(60*(n-r))+'"'},toSignalK:function(e,t){let n;return"%"===e?(t/=100,n="ratio"):"°C"===e||"deg"===e?(t+=273.15,n="K"):"°F"===e?(t=5/9*(t-32)+273.15,n="K"):"kmh"===e?(t/=3.6,n="m/s"):"kn"===e?(t/=1.943844,n="m/s"):e.includes("Bft")?(t=a(t,"BftMin"===e?"min":"BftMax"===e?"max":""),n="m/s"):"°"===e?(t*=Math.PI/180,n="rad"):"Pa"===e?n="Pa":"hPa"===e||"mbar"===e?(t*=100,n="Pa"):"km"===e?(t*=1e3,n="m"):"nm"===e?(t*=1852,n="m"):"m"===e?n="m":"unixdate"===e&&(t=new Date(1e3*t).toISOString(),n=""),{value:t,units:n}},toTarget:function(e,t,a,r){let s;if("geoJson"===a||"latLng"===a){let e=[];t.longitude&&t.latitude&&"geoJson"===a?(e.push("number"==typeof r?t.longitude.toFixed(r):t.longitude),e.push("number"==typeof r?t.latitude.toFixed(r):t.latitude),t.altitude&&e.push(t.altitude),t=e):t.longitude&&t.latitude&&"latLng"===a?(e.push("number"==typeof r?t.latitude.toFixed(r):t.latitude),e.push("number"==typeof r?t.longitude.toFixed(r):t.longitude),t.altitude&&e.push(t.altitude),t=e):t=null,s=a}else"ratio"===e&&void 0===a?(t*=100,s=""):"ratio"!==e||"decimal"!==a&&"number"!==a?"K"===e&&void 0===a?s="K":"K"!==e||"°C"!==a&&"deg"!==a?"K"===e&&"°F"===a?(t=1.8*(t-273.15)+32,s=a):"m/s"===e&&"undefined"===a?s="m/s":"m/s"===e&&"kn"===a?(t*=1.943844,s=a):"m/s"===e&&"km"===a?(t*=3.6,s=a):"m/s"===e&&"kn"===a?(t*=1.943844,s=a):"m/s"===e&&"Bft"===a?(t=n(t),s=a):"rad"!==e||"°"!==a&&""!==a?"Pa"===e&&void 0===a?s="Pa":"Pa"!==e||"hPa"!==a&&"mbar"!==a?"Pa"===e&&"atm"===a?(t/=101325,s=a):"m"===e&&void 0===a?s="m":"m"===e&&"km"===a?(t/=1e3,s="km"):"m"===e&&"nm"===a?(t/=1852,s="nm"):"dt"!==e||"ms"!==a&&"unixdate"!==a?"dt"===e&&"s"===a?(t=new Date(t).getTime()/1e3,s="s"):s=e:(t=new Date(t).getTime(),s="ms"):(t/=100,s=a):(t*=180/Math.PI,s="°"):(t-=273.15,s=a):s="";return"geoJson"!==a&&"latLng"!==a&&"number"==typeof r&&(t=parseFloat(t.toFixed(r))),{value:t,units:s}}}},9406:(e,t,a)=>{var n=a(6763);const r=a(3002),s=a(568),l=r.defaultConfig,i={timestamp:Date.now(),pressure:null,trend:null},o={timestamp:Date.now(),description:"initializing ...",prediction:{type:"info",value:"",season:""},wind:{predicted:""},front:{key:"N/A"},trending:null},c={timestamp:i.timestamp,pressure:{value:null,time:null},trend:{value:null,time:null}},m={timestamp:o.timestamp,description:o.description,prediction:o.prediction,wind:o.wind,front:o.front,trending:o.trending};e.exports={getInitial:function(){return{values:i,info:o}},getLatest:function(){return{values:c,info:m}},onPressureUpdate:function(e,t){return Date.now()-c.pressure.time>t&&(c.pressure.time=Date.now(),c.pressure.value!==e&&(c.timestamp=c.pressure.time),l.elevation.calc&&l.elevation.current&&l.temperature?c.pressure.value=s.toTarget("Pa",s.toSeaLevel(e,l.elevation.current,l.temperature),l.unit,"Pa"===l.unit?0:"atm"===l.unit?4:2).value:"Pa"!==l.unit?c.pressure.value=s.toTarget("Pa",e,l.unit,"atm"===l.unit?4:2).value:c.pressure.value=e.toFixed(0),!0)},onTrendUpdate:function(e,t){return m.trending=e,!0},onDifferenceUpdate:function(e,t){return Date.now()-c.trend.time>t&&(c.trend.time=Date.now(),c.trend.value!==e&&(c.timestamp=c.trend.time),"hPa"!==l.unit&&"mbar"!==l.unit?c.trend.value=s.toTarget("Pa",e,l.unit,"Pa"===l.unit?0:"atm"===l.unit?4:2).value:c.trend.value=(e/100).toFixed(2),!0)},onWeatherUpdate:function(e,t){return m.description!==e&&(m.description=e,m.timestamp=Date.now(),!0)},onPredictionUpdate:function(e,t){if(m.prediction.value!==e){let t=e,a="info";return m.trending.hasOwnProperty("severity")&&3===Math.abs(m.trending.severity)?(a="warning",e="Pressure "+m.trending.tendency.toLowerCase()+" "+m.trending.changerate.toLowerCase()):m.trending.hasOwnProperty("severity")&&4===Math.abs(m.trending.severity)&&(a="alert",e="Pressure "+m.trending.tendency.toLowerCase()+" "+m.trending.changerate.toLowerCase()),null!==m.wind&&""!==m.wind.predicted&&(e+=", predicted wind "+m.wind.predicted.replace("Less","less")),m.prediction={type:a,value:e,season:t},m.timestamp=Date.now(),!0}return!1},onWindUpdate:function(e,t){return m.wind.predicted!==e&&(m.wind={predicted:e},m.timestamp=Date.now(),!0)},onFrontUpdate:function(e,t){return m.front!==e&&(m.front=e,m.timestamp=Date.now(),!0)},getData:function(e,t){try{if(null!==e)return{value:e.value,time:e.time,unit:t}}catch(e){n.error(`Error converting item to ${t}`,e)}},queryData:function(e,t){try{let e=[];return t&&null!==t&&e.push({value:t.value,timestamp:t.time}),e}catch(t){n.error(`Error getting item ${e} from SignalK/influx`,t)}}}},5358:(e,t,a)=>{var n={"./af":5177,"./af.js":5177,"./ar":1509,"./ar-dz":1488,"./ar-dz.js":1488,"./ar-kw":8676,"./ar-kw.js":8676,"./ar-ly":2353,"./ar-ly.js":2353,"./ar-ma":4496,"./ar-ma.js":4496,"./ar-ps":6947,"./ar-ps.js":6947,"./ar-sa":2682,"./ar-sa.js":2682,"./ar-tn":9756,"./ar-tn.js":9756,"./ar.js":1509,"./az":5533,"./az.js":5533,"./be":8959,"./be.js":8959,"./bg":7777,"./bg.js":7777,"./bm":4903,"./bm.js":4903,"./bn":1290,"./bn-bd":7357,"./bn-bd.js":7357,"./bn.js":1290,"./bo":1545,"./bo.js":1545,"./br":1470,"./br.js":1470,"./bs":4429,"./bs.js":4429,"./ca":7306,"./ca.js":7306,"./cs":6464,"./cs.js":6464,"./cv":3635,"./cv.js":3635,"./cy":4226,"./cy.js":4226,"./da":3601,"./da.js":3601,"./de":7853,"./de-at":6111,"./de-at.js":6111,"./de-ch":4697,"./de-ch.js":4697,"./de.js":7853,"./dv":708,"./dv.js":708,"./el":4691,"./el.js":4691,"./en-au":3872,"./en-au.js":3872,"./en-ca":8298,"./en-ca.js":8298,"./en-gb":6195,"./en-gb.js":6195,"./en-ie":6584,"./en-ie.js":6584,"./en-il":5543,"./en-il.js":5543,"./en-in":9033,"./en-in.js":9033,"./en-nz":9402,"./en-nz.js":9402,"./en-sg":3004,"./en-sg.js":3004,"./eo":2934,"./eo.js":2934,"./es":7650,"./es-do":838,"./es-do.js":838,"./es-mx":7730,"./es-mx.js":7730,"./es-us":6575,"./es-us.js":6575,"./es.js":7650,"./et":3035,"./et.js":3035,"./eu":3508,"./eu.js":3508,"./fa":119,"./fa.js":119,"./fi":527,"./fi.js":527,"./fil":5995,"./fil.js":5995,"./fo":4858,"./fo.js":4858,"./fr":5498,"./fr-ca":6435,"./fr-ca.js":6435,"./fr-ch":7892,"./fr-ch.js":7892,"./fr.js":5498,"./fy":7071,"./fy.js":7071,"./ga":1734,"./ga.js":1734,"./gd":217,"./gd.js":217,"./gl":7329,"./gl.js":7329,"./gom-deva":2124,"./gom-deva.js":2124,"./gom-latn":3383,"./gom-latn.js":3383,"./gu":5050,"./gu.js":5050,"./he":1713,"./he.js":1713,"./hi":3861,"./hi.js":3861,"./hr":6308,"./hr.js":6308,"./hu":609,"./hu.js":609,"./hy-am":4779,"./hy-am.js":4779,"./id":4063,"./id.js":4063,"./is":9374,"./is.js":9374,"./it":8383,"./it-ch":1827,"./it-ch.js":1827,"./it.js":8383,"./ja":3827,"./ja.js":3827,"./jv":9722,"./jv.js":9722,"./ka":1794,"./ka.js":1794,"./kk":7088,"./kk.js":7088,"./km":6870,"./km.js":6870,"./kn":4451,"./kn.js":4451,"./ko":3164,"./ko.js":3164,"./ku":8174,"./ku-kmr":6181,"./ku-kmr.js":6181,"./ku.js":8174,"./ky":8474,"./ky.js":8474,"./lb":9680,"./lb.js":9680,"./lo":5867,"./lo.js":5867,"./lt":5766,"./lt.js":5766,"./lv":9532,"./lv.js":9532,"./me":8076,"./me.js":8076,"./mi":1848,"./mi.js":1848,"./mk":306,"./mk.js":306,"./ml":3739,"./ml.js":3739,"./mn":9053,"./mn.js":9053,"./mr":6169,"./mr.js":6169,"./ms":3386,"./ms-my":2297,"./ms-my.js":2297,"./ms.js":3386,"./mt":7075,"./mt.js":7075,"./my":2264,"./my.js":2264,"./nb":2274,"./nb.js":2274,"./ne":8235,"./ne.js":8235,"./nl":2572,"./nl-be":3784,"./nl-be.js":3784,"./nl.js":2572,"./nn":4566,"./nn.js":4566,"./oc-lnc":9330,"./oc-lnc.js":9330,"./pa-in":9849,"./pa-in.js":9849,"./pl":4418,"./pl.js":4418,"./pt":9834,"./pt-br":8303,"./pt-br.js":8303,"./pt.js":9834,"./ro":4457,"./ro.js":4457,"./ru":2271,"./ru.js":2271,"./sd":1221,"./sd.js":1221,"./se":3478,"./se.js":3478,"./si":7538,"./si.js":7538,"./sk":5784,"./sk.js":5784,"./sl":6637,"./sl.js":6637,"./sq":6794,"./sq.js":6794,"./sr":5719,"./sr-cyrl":3322,"./sr-cyrl.js":3322,"./sr.js":5719,"./ss":6e3,"./ss.js":6e3,"./sv":1011,"./sv.js":1011,"./sw":748,"./sw.js":748,"./ta":1025,"./ta.js":1025,"./te":1885,"./te.js":1885,"./tet":8861,"./tet.js":8861,"./tg":6571,"./tg.js":6571,"./th":5802,"./th.js":5802,"./tk":9527,"./tk.js":9527,"./tl-ph":9231,"./tl-ph.js":9231,"./tlh":1052,"./tlh.js":1052,"./tr":5096,"./tr.js":5096,"./tzl":9846,"./tzl.js":9846,"./tzm":1765,"./tzm-latn":7711,"./tzm-latn.js":7711,"./tzm.js":1765,"./ug-cn":8414,"./ug-cn.js":8414,"./uk":6618,"./uk.js":6618,"./ur":158,"./ur.js":158,"./uz":7609,"./uz-latn":2475,"./uz-latn.js":2475,"./uz.js":7609,"./vi":3516,"./vi.js":3516,"./x-pseudo":4051,"./x-pseudo.js":4051,"./yo":2218,"./yo.js":2218,"./zh-cn":2648,"./zh-cn.js":2648,"./zh-hk":1632,"./zh-hk.js":1632,"./zh-mo":1541,"./zh-mo.js":1541,"./zh-tw":304,"./zh-tw.js":304};function r(e){var t=s(e);return a(t)}function s(e){if(!a.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}r.keys=function(){return Object.keys(n)},r.resolve=s,e.exports=r,r.id=5358},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"signalk-barograph","description":"Barograph component visualizing atmospheric pressure data and barometer trends","version":"0.7.0","main":"index.js","private":true,"keywords":["signalk-embeddable-webapp"],"author":"tkrofta","license":"Apache-2.0","dependencies":{"@fontsource/roboto":"^5.1.1","@influxdata/influxdb-client":"^1.35.0","@influxdata/influxdb-client-apis":"^1.35.0","@material-ui/core":"^4.12.4","@material-ui/icons":"^4.11.3","@material-ui/lab":"^4.0.0-alpha.61","@testing-library/jest-dom":"^6.4.2","@testing-library/react":"^11.2.5","@testing-library/user-event":"^12.8.3","base-64":"^1.0.0","chart.js":"^2.9.4","console-browserify":"^1.2.0","fontsource-roboto":"^4.0.0","moment":"^2.30.1","react":"^16.14.0","react-chartjs-2":"^2.11.2","react-dom":"^16.14.0","react-scripts":"^5.0.1","web-vitals":"^1.1.2"},"scripts":{"dev":"webpack --config webpack.config.js --watch --mode development","start":"webpack serve --open --config webpack.config.js","build":"webpack --config webpack.prod.js"},"eslintConfig":{"extends":["react-app","react-app/jest"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"homepage":".","devDependencies":{"@babel/core":"^7.13.10","@babel/preset-react":"^7.12.13","assert":"^2.0.0","babel-loader":"^8.2.2","browser":"^0.2.6","browserify-zlib":"^0.2.0","buffer":"^6.0.3","html-webpack-plugin":"^5.3.1","https-browserify":"^1.0.0","node-polyfill-webpack-plugin":"^1.1.0","process":"^0.11.10","source-map-loader":"^2.0.1","stream-browserify":"^3.0.0","stream-http":"^3.1.1","util":"^0.12.3","webpack":"^5.28.0","webpack-cli":"^4.5.0"}}')}}]);