@signalk/freeboard-sk 3.4.0-beta.0 → 3.4.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/package.json +21 -13
  2. package/plugin/alarms/alarms.js +46 -112
  3. package/plugin/alarms/area-schemas.js +57 -0
  4. package/plugin/index.js +20 -38
  5. package/plugin/lib/fetch.js +5 -11
  6. package/plugin/vitest.config.mjs +0 -1
  7. package/public/3rdpartylicenses.txt +256 -251
  8. package/public/assets/features/imported-tracks-1.jpg +0 -0
  9. package/public/assets/features/imported-tracks-2.jpg +0 -0
  10. package/public/assets/features/own-vessel-display-2.jpg +0 -0
  11. package/public/assets/features/own-vessel-display-3.jpg +0 -0
  12. package/public/assets/features/own-vessel-display-4.jpg +0 -0
  13. package/public/assets/features/split-view-1.jpg +0 -0
  14. package/public/assets/features/split-view-2.jpg +0 -0
  15. package/public/assets/features/toolbar-overflow-1.jpg +0 -0
  16. package/public/assets/features/toolbar-overflow-2.jpg +0 -0
  17. package/public/assets/features-corpus.json +1 -1
  18. package/public/assets/help/index.html +72 -62
  19. package/public/assets/img/vessels/ATTRIBUTION.md +9 -0
  20. package/public/assets/img/vessels/self_catamaran.svg +2 -0
  21. package/public/assets/img/vessels/self_monohull.svg +2 -0
  22. package/public/assets/img/vessels/self_powerboat.svg +11 -0
  23. package/public/chunk-26ZBWNUQ.js +1 -0
  24. package/public/{chunk-L4ONBCRR.js → chunk-2DNFYKJI.js} +1 -1
  25. package/public/{chunk-3HO5JDYF.js → chunk-2YSXXOPC.js} +1 -1
  26. package/public/chunk-3D457EZY.js +1 -0
  27. package/public/chunk-3E3U7Z7O.js +1 -0
  28. package/public/chunk-3PBISOLT.js +4 -0
  29. package/public/{chunk-LNU63734.js → chunk-6FLQJLM2.js} +1 -1
  30. package/public/chunk-6W3TVG4T.js +1 -0
  31. package/public/chunk-6XBJQDQZ.js +1 -0
  32. package/public/chunk-7FANVIZX.js +1 -0
  33. package/public/{chunk-AQKT2J2C.js → chunk-7PF3OZ2P.js} +2 -2
  34. package/public/{chunk-MYBGWSLC.js → chunk-A7RX2LBX.js} +7 -7
  35. package/public/chunk-B5DI22LT.js +1 -0
  36. package/public/chunk-BZGM3F3K.js +1 -0
  37. package/public/chunk-CI2BDMX2.js +1 -0
  38. package/public/chunk-CKZDFNLJ.js +1 -0
  39. package/public/{chunk-J6MIIPAV.js → chunk-CSVULD7M.js} +1 -1
  40. package/public/chunk-CZWRDBMY.js +1 -0
  41. package/public/{chunk-QWUBBFQO.js → chunk-EKGFBNKZ.js} +1 -1
  42. package/public/{chunk-X6D4D6EN.js → chunk-EX2EX65O.js} +3 -3
  43. package/public/chunk-FFPCEPCR.js +7 -0
  44. package/public/chunk-FX2SMI5S.js +1 -0
  45. package/public/chunk-GJFI75CP.js +1706 -0
  46. package/public/{chunk-3UKG3D3M.js → chunk-GKG3KTBW.js} +1 -1
  47. package/public/{chunk-45ZTFAA5.js → chunk-I3RHGD62.js} +1 -1
  48. package/public/{chunk-MX5HWKAH.js → chunk-I6KNDLKZ.js} +1 -1
  49. package/public/chunk-IZEHULJO.js +2 -0
  50. package/public/chunk-L766X4HH.js +1 -0
  51. package/public/{chunk-3BUYRM6E.js → chunk-M4EXFQJE.js} +5 -5
  52. package/public/chunk-N6FC7TMF.js +1 -0
  53. package/public/chunk-NUFT6SHL.js +1 -0
  54. package/public/{chunk-ISXARX6U.js → chunk-O2XN7DIT.js} +1 -1
  55. package/public/chunk-ON6WKWFV.js +106 -0
  56. package/public/chunk-P2M2PBKT.js +1 -0
  57. package/public/chunk-PKC2MOZE.js +1 -0
  58. package/public/{chunk-LFAWLMM4.js → chunk-PU65TI55.js} +1 -1
  59. package/public/chunk-RYULE37H.js +1 -0
  60. package/public/{chunk-DD47QU4L.js → chunk-TKZSDI3W.js} +1 -1
  61. package/public/{chunk-62WHV6CJ.js → chunk-UBRYY245.js} +7 -7
  62. package/public/chunk-UIEE3YOF.js +1 -0
  63. package/public/chunk-UXZI7A6H.js +2 -0
  64. package/public/{chunk-T7ZWMXKZ.js → chunk-V44P57GA.js} +1 -1
  65. package/public/chunk-VAE47BFB.js +1 -0
  66. package/public/chunk-VCZ35SJT.js +1 -0
  67. package/public/chunk-VG2HTHDN.js +4402 -0
  68. package/public/chunk-XPTNBYFH.js +1 -0
  69. package/public/{chunk-YZN4NRWW.js → chunk-Z2OUIJPL.js} +1 -1
  70. package/public/{chunk-GVRPUNRX.js → chunk-ZFWDWQNT.js} +1 -1
  71. package/public/chunk-ZHXEZBYI.js +1 -0
  72. package/public/index.html +2 -2
  73. package/public/main-YMAIP3FL.js +358 -0
  74. package/public/{styles-BRU77GKR.css → styles-ADI62PD5.css} +1 -1
  75. package/public/{worker-UJD2XPGR.js → worker-2QCQHBWQ.js} +1 -1
  76. package/public/{worker-W3UMLYIU.js → worker-6BUXF663.js} +6 -6
  77. package/public/worker-CDFJSLG6.js +3 -0
  78. package/public/{worker-E75PSRY4.js → worker-OJDHVISM.js} +1 -1
  79. package/public/assets/img/vessels/self_blur.png +0 -0
  80. package/public/chunk-4YPS6TRI.js +0 -1
  81. package/public/chunk-5GKIE35D.js +0 -1
  82. package/public/chunk-6E2BDKCH.js +0 -106
  83. package/public/chunk-6HBY4BXL.js +0 -1
  84. package/public/chunk-7NFD4L3V.js +0 -1
  85. package/public/chunk-BXGNCKBA.js +0 -1
  86. package/public/chunk-I33LU6L4.js +0 -1
  87. package/public/chunk-KD22K3HF.js +0 -4289
  88. package/public/chunk-NCEQPEJE.js +0 -1
  89. package/public/chunk-NFXFAYGP.js +0 -1
  90. package/public/chunk-QVENIT7C.js +0 -1
  91. package/public/chunk-RG7WQ7O2.js +0 -1709
  92. package/public/chunk-ROVQT3EG.js +0 -1
  93. package/public/chunk-VFDN43NP.js +0 -2
  94. package/public/chunk-YSHHABBQ.js +0 -1
  95. package/public/main-D2JKS7F4.js +0 -468
  96. package/public/worker-PCWM7FLK.js +0 -3
@@ -1,4 +1,4 @@
1
- import{g as b}from"./chunk-NCEQPEJE.js";var g=r=>typeof Worker>"u"?Promise.reject(new Error("Error starting Worker!")):new Promise((t,e)=>{let n=new Worker(new URL("worker-E75PSRY4.js",import.meta.url),{type:"module"}),i=s=>{n.terminate(),s?t(s):e(new Error("Error processing content!"))};n.onmessage=s=>i(s.data),n.onerror=()=>i(null),n.postMessage({sourceType:"xml",value:r})});function c(r,t){if(typeof r!="string"||r.trim()==="")return t;let e=Number(r);return Number.isFinite(e)?e:t}function o(r){return String(r).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var x=class{version;creator;wpt;rte;trk;extensions;metadata;constructor(){this.init()}init(){this.version="1.1",this.creator="@panaaj",this.wpt=[],this.rte=[],this.trk=[],this.extensions={},this.metadata=new d}stringify(){return this.toXML()}toXML(){let t=`<?xml version="1.0" encoding="UTF-8"?>\r
1
+ import{g as b}from"./chunk-BZGM3F3K.js";var g=r=>typeof Worker>"u"?Promise.reject(new Error("Error starting Worker!")):new Promise((t,e)=>{let n=new Worker(new URL("worker-OJDHVISM.js",import.meta.url),{type:"module"}),i=s=>{n.terminate(),s?t(s):e(new Error("Error processing content!"))};n.onmessage=s=>i(s.data),n.onerror=()=>i(null),n.postMessage({sourceType:"xml",value:r})});function u(r,t){if(typeof r!="string"||r.trim()==="")return t;let e=Number(r);return Number.isFinite(e)?e:t}function o(r){return String(r).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var x=class{version;creator;wpt;rte;trk;extensions;metadata;constructor(){this.init()}init(){this.version="1.1",this.creator="@panaaj",this.wpt=[],this.rte=[],this.trk=[],this.extensions={},this.metadata=new d}stringify(){return this.toXML()}toXML(){let t=`<?xml version="1.0" encoding="UTF-8"?>\r
2
2
  <gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="${this.version}" xmlns="http://www.topografix.com/GPX/1/1" creator="${this.creator}" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.topografix.com/GPX/Private/TopoGrafix/0/1 http://www.topografix.com/GPX/Private/TopoGrafix/0/1/topografix.xsd" xmlns:topografix="http://www.topografix.com/GPX/Private/TopoGrafix/0/1">\r
3
3
  `+this.metadataToXML()+this.waypointsToXML()+this.routesToXML()+this.tracksToXML();return t+=this.extensionsToXML(this.extensions),t+=`</gpx>\r
4
4
  `,t}metadataToXML(){let t=` <metadata>\r
@@ -77,4 +77,4 @@ ${n} </link>\r
77
77
  ${i} <signalk>\r
78
78
  `+s+`${i} </signalk>\r
79
79
  ${i}</extensions>\r
80
- `}return n}xValue(t){if(t&&Array.isArray(t))return t.length!==0?t[0]:null}applyBounds(t){let e=t?.$??{},n=this.metadata.bounds;n.minLat=c(e.minlat,n.minLat),n.minLon=c(e.minlon,n.minLon),n.maxLat=c(e.maxlat,n.maxLat),n.maxLon=c(e.maxlon,n.maxLon)}parse(t){return b(this,null,function*(){if(!t||t.indexOf("<gpx")===-1)return!1;this.init();try{let e=yield g(t);if(e.gpx.metadata){let n=this.xValue(e.gpx.metadata);this.metadata.name=n.name?this.xValue(n.name):null,this.metadata.desc=n.desc?this.xValue(n.desc):null,this.metadata.keywords=n.keywords?n.keywords:null,n.bounds&&this.applyBounds(this.xValue(n.bounds)),this.metadata.extensions=n.extensions?this.parseExtensions(n.extensions):{}}return e.gpx.wpt&&this.parseWaypoints(e.gpx.wpt),e.gpx.rte&&this.parseRoutes(e.gpx.rte),e.gpx.trk&&this.parseTracks(e.gpx.trk),this.extensions=e.gpx.extensions?this.parseExtensions(e.gpx.extensions):{},!0}catch(e){return!1}})}parseWaypoints(t){if(Array.isArray(t))t.forEach(e=>{let n=this.toWpt(e);this.updateBounds(n),this.wpt.push(n)});else{let e=this.toWpt(t);this.updateBounds(e),this.wpt.push(e)}}parseRoutes(t){if(Array.isArray(t))t.forEach(e=>{let n=this.toRte(e);this.updateBounds(n),this.rte.push(n)});else{let e=this.toRte(t);this.updateBounds(e),this.rte.push(e)}}parseTracks(t){if(Array.isArray(t))t.forEach(e=>{let n=this.toTrk(e);this.updateBounds(n),this.trk.push(n)});else{let e=this.toTrk(t);this.updateBounds(e),this.trk.push(e)}}parseExtensions(t){if(!t)return{};if(!Array.isArray(t))return{};let e={};return t.forEach(n=>{if(n.signalk){let i={},s=this.xValue(n.signalk);Object.keys(s).forEach(a=>{i[a]=this.xValue(s[a])}),e.signalk=i}}),e}parseLinks(t){let e=[];if(!t)return e;if(Array.isArray(t))t.forEach(n=>{let i=new p;i.href=n._href,i.text=n.text,i.type=n.type,e.push(i)});else{let n=new p;n.href=t._href,n.text=t.text,n.type=t.type,e.push(n)}return e}toRte(t){let e=new h;return e.name=t.name?this.xValue(t.name):null,e.cmt=t.cmt?this.xValue(t.cmt):null,e.desc=t.desc?this.xValue(t.desc):null,e.src=t.src?this.xValue(t.src):null,e.extensions=t.extensions?this.parseExtensions(t.extensions):{},t.rtept&&(e.rtept=this.toPtArray(t.rtept)),e}toWpt(t){let e=new l;return e.lat=Number(t.$.lat)||0,e.lon=Number(t.$.lon)||0,e.ele=t.ele?Number(this.xValue(t.ele)):null,e.sym=t.sym?this.xValue(t.sym):null,e.name=t.name?this.xValue(t.name):null,e.cmt=t.cmt?this.xValue(t.cmt):null,e.desc=t.desc?this.xValue(t.desc):null,e.src=t.src?this.xValue(t.src):null,e.type=t.type?this.xValue(t.type):null,e.extensions=t.extensions?this.parseExtensions(t.extensions):{},e}toTrk(t){let e=new m;if(e.name=t.name?this.xValue(t.name):null,e.cmt=t.cmt?this.xValue(t.cmt):null,e.desc=t.desc?this.xValue(t.desc):null,e.src=t.src?this.xValue(t.src):null,e.number=t.number?Number(this.xValue(t.number)):null,e.type=t.type?this.xValue(t.type):null,e.extensions=t.extensions?this.parseExtensions(t.extensions):{},t.trkseg)if(Array.isArray(t.trkseg))t.trkseg.forEach(n=>{let i=new u;i.extensions=n.extensions?this.parseExtensions(n.extensions):{},n.trkpt&&(i.trkpt=this.toPtArray(n.trkpt)),e.trkseg.push(i)});else{let n=new u;n.extensions=t.trkseg.extensions?this.parseExtensions(t.trkseg.extensions):{},t.trkseg.trkpt&&(n.trkpt=this.toPtArray(t.trkseg.trkpt)),e.trkseg.push(n)}return e}toPtArray(t){let e=[];if(Array.isArray(t))t.forEach(n=>{let i=this.toWpt(n);this.updateBounds(i),e.push(i)});else{let n=this.toWpt(t);this.updateBounds(n),e.push(n)}return e}setExtension(t,e,n){t.extensions||(t.extensions={});let i=e.split("."),s=t.extensions;i.forEach(a=>{s[a]||(s[a]={}),s=s[a]}),t.extensions.signalk.uuid=n}updateBounds(t){this.metadata.bounds.minLat=t.lat<this.metadata.bounds.minLat?t.lat:this.metadata.bounds.minLat,this.metadata.bounds.minLon=t.lon<this.metadata.bounds.minLon?t.lon:this.metadata.bounds.minLon,this.metadata.bounds.maxLat=t.lat>this.metadata.bounds.maxLat?t.lat:this.metadata.bounds.maxLat,this.metadata.bounds.maxLon=t.lon>this.metadata.bounds.maxLon?t.lon:this.metadata.bounds.maxLon}},l=class{lat;lon;ele;datetime;magvar;geoidHeight;name;cmt;desc;src;link=[];sym;type;fix;sat;hdop;vdop;pdop;ageOfGpsData;dgpsid;extensions={};constructor(t,e){this.lat=t||0,this.lon=e||0}},h=class{name;cmt;desc;src;link=[];number;type;extensions={};rtept=[];constructor(t){this.name=t||""}},m=class{name;cmt;desc;src;link=[];number;type;extensions={};trkseg=[];constructor(t){this.name=t||""}},u=class{trkpt=[];extensions={}};var d=class{name="";desc="";author;copyright;link=[];time=new Date().toISOString();keywords="";bounds=new y;extensions={}},p=class{href="";text="";type=""};var y=class{minLat=90;minLon=180;maxLat=-90;maxLon=-180};export{x as a,l as b,h as c,m as d,u as e};
80
+ `}return n}xValue(t){if(t&&Array.isArray(t))return t.length!==0?t[0]:null}applyBounds(t){let e=t?.$??{},n=this.metadata.bounds;n.minLat=u(e.minlat,n.minLat),n.minLon=u(e.minlon,n.minLon),n.maxLat=u(e.maxlat,n.maxLat),n.maxLon=u(e.maxlon,n.maxLon)}parse(t){return b(this,null,function*(){if(!t||t.indexOf("<gpx")===-1)return!1;this.init();try{let e=yield g(t);if(e.gpx.metadata){let n=this.xValue(e.gpx.metadata);this.metadata.name=n.name?this.xValue(n.name):null,this.metadata.desc=n.desc?this.xValue(n.desc):null,this.metadata.keywords=n.keywords?n.keywords:null,n.bounds&&this.applyBounds(this.xValue(n.bounds)),this.metadata.extensions=n.extensions?this.parseExtensions(n.extensions):{}}return e.gpx.wpt&&this.parseWaypoints(e.gpx.wpt),e.gpx.rte&&this.parseRoutes(e.gpx.rte),e.gpx.trk&&this.parseTracks(e.gpx.trk),this.extensions=e.gpx.extensions?this.parseExtensions(e.gpx.extensions):{},!0}catch(e){return!1}})}parseWaypoints(t){if(Array.isArray(t))t.forEach(e=>{let n=this.toWpt(e);this.updateBounds(n),this.wpt.push(n)});else{let e=this.toWpt(t);this.updateBounds(e),this.wpt.push(e)}}parseRoutes(t){if(Array.isArray(t))t.forEach(e=>{let n=this.toRte(e);this.updateBounds(n),this.rte.push(n)});else{let e=this.toRte(t);this.updateBounds(e),this.rte.push(e)}}parseTracks(t){if(Array.isArray(t))t.forEach(e=>{let n=this.toTrk(e);this.updateBounds(n),this.trk.push(n)});else{let e=this.toTrk(t);this.updateBounds(e),this.trk.push(e)}}parseExtensions(t){if(!t)return{};if(!Array.isArray(t))return{};let e={};return t.forEach(n=>{if(n.signalk){let i={},s=this.xValue(n.signalk);Object.keys(s).forEach(a=>{i[a]=this.xValue(s[a])}),e.signalk=i}}),e}parseLinks(t){let e=[];if(!t)return e;if(Array.isArray(t))t.forEach(n=>{let i=new l;i.href=n._href,i.text=n.text,i.type=n.type,e.push(i)});else{let n=new l;n.href=t._href,n.text=t.text,n.type=t.type,e.push(n)}return e}toRte(t){let e=new h;return e.name=t.name?this.xValue(t.name):null,e.cmt=t.cmt?this.xValue(t.cmt):null,e.desc=t.desc?this.xValue(t.desc):null,e.src=t.src?this.xValue(t.src):null,e.extensions=t.extensions?this.parseExtensions(t.extensions):{},t.rtept&&(e.rtept=this.toPtArray(t.rtept)),e}toWpt(t){let e=new p;e.lat=Number(t.$.lat)||0,e.lon=Number(t.$.lon)||0,e.ele=t.ele?Number(this.xValue(t.ele)):null;let n=t.time?new Date(this.xValue(t.time)):null;return e.datetime=n&&!isNaN(n.getTime())?n:void 0,e.sym=t.sym?this.xValue(t.sym):null,e.name=t.name?this.xValue(t.name):null,e.cmt=t.cmt?this.xValue(t.cmt):null,e.desc=t.desc?this.xValue(t.desc):null,e.src=t.src?this.xValue(t.src):null,e.type=t.type?this.xValue(t.type):null,e.extensions=t.extensions?this.parseExtensions(t.extensions):{},e}toTrk(t){let e=new m;if(e.name=t.name?this.xValue(t.name):null,e.cmt=t.cmt?this.xValue(t.cmt):null,e.desc=t.desc?this.xValue(t.desc):null,e.src=t.src?this.xValue(t.src):null,e.number=t.number?Number(this.xValue(t.number)):null,e.type=t.type?this.xValue(t.type):null,e.extensions=t.extensions?this.parseExtensions(t.extensions):{},t.trkseg)if(Array.isArray(t.trkseg))t.trkseg.forEach(n=>{let i=new c;i.extensions=n.extensions?this.parseExtensions(n.extensions):{},n.trkpt&&(i.trkpt=this.toPtArray(n.trkpt)),e.trkseg.push(i)});else{let n=new c;n.extensions=t.trkseg.extensions?this.parseExtensions(t.trkseg.extensions):{},t.trkseg.trkpt&&(n.trkpt=this.toPtArray(t.trkseg.trkpt)),e.trkseg.push(n)}return e}toPtArray(t){let e=[];if(Array.isArray(t))t.forEach(n=>{let i=this.toWpt(n);this.updateBounds(i),e.push(i)});else{let n=this.toWpt(t);this.updateBounds(n),e.push(n)}return e}setExtension(t,e,n){t.extensions||(t.extensions={});let i=e.split("."),s=t.extensions;i.forEach(a=>{s[a]||(s[a]={}),s=s[a]}),t.extensions.signalk.uuid=n}updateBounds(t){this.metadata.bounds.minLat=t.lat<this.metadata.bounds.minLat?t.lat:this.metadata.bounds.minLat,this.metadata.bounds.minLon=t.lon<this.metadata.bounds.minLon?t.lon:this.metadata.bounds.minLon,this.metadata.bounds.maxLat=t.lat>this.metadata.bounds.maxLat?t.lat:this.metadata.bounds.maxLat,this.metadata.bounds.maxLon=t.lon>this.metadata.bounds.maxLon?t.lon:this.metadata.bounds.maxLon}},p=class{lat;lon;ele;datetime;magvar;geoidHeight;name;cmt;desc;src;link=[];sym;type;fix;sat;hdop;vdop;pdop;ageOfGpsData;dgpsid;extensions={};constructor(t,e){this.lat=t||0,this.lon=e||0}},h=class{name;cmt;desc;src;link=[];number;type;extensions={};rtept=[];constructor(t){this.name=t||""}},m=class{name;cmt;desc;src;link=[];number;type;extensions={};trkseg=[];constructor(t){this.name=t||""}},c=class{trkpt=[];extensions={}};var d=class{name="";desc="";author;copyright;link=[];time=new Date().toISOString();keywords="";bounds=new y;extensions={}},l=class{href="";text="";type=""};var y=class{minLat=90;minLon=180;maxLat=-90;maxLon=-180};export{x as a,p as b,h as c,m as d,c as e};