@mxtommy/kip 3.8.1 → 3.9.0-beta.10

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 (49) hide show
  1. package/.github/copilot-instructions.md +1 -1
  2. package/CHANGELOG.md +8 -0
  3. package/README.md +35 -1
  4. package/package.json +3 -4
  5. package/public/3rdpartylicenses.txt +25 -26
  6. package/public/{chunk-LLCT2S4D.js → chunk-2YVW3TBK.js} +1 -1
  7. package/public/chunk-35L7BBBD.js +15 -0
  8. package/public/{chunk-VOFU3XW7.js → chunk-3LEMFOCV.js} +2 -2
  9. package/public/{chunk-P5US6366.js → chunk-4JJLPUET.js} +2 -2
  10. package/public/{chunk-B6ZF4UM2.js → chunk-CBUY7NMR.js} +1 -1
  11. package/public/{chunk-U654IVE3.js → chunk-CQXWGD3T.js} +2 -2
  12. package/public/{chunk-NPHVG3UG.js → chunk-H2TTV4FA.js} +1 -1
  13. package/public/{chunk-IEMXT5F5.js → chunk-HCXH72CD.js} +1 -1
  14. package/public/chunk-IHLEBYV7.js +1 -0
  15. package/public/{chunk-KBQRPAHA.js → chunk-ITJ6DJR6.js} +3 -3
  16. package/public/chunk-JY3WVS7C.js +2 -0
  17. package/public/{chunk-PL3ADNSY.js → chunk-KTDDP73O.js} +1 -1
  18. package/public/{chunk-U5AUKXYV.js → chunk-NMEZOCU2.js} +1 -1
  19. package/public/chunk-NS2FPVWM.js +4 -0
  20. package/public/chunk-NXWZM4IV.js +2 -0
  21. package/public/{chunk-PTH4T5IE.js → chunk-PKNLASTF.js} +1 -1
  22. package/public/chunk-Q2Y75POI.js +1 -0
  23. package/public/{chunk-PW7IELME.js → chunk-QBSWR6ST.js} +1 -1
  24. package/public/chunk-QQIXD7EO.js +11 -0
  25. package/public/{chunk-A7ZQKRDG.js → chunk-RRTCHHRC.js} +2 -2
  26. package/public/chunk-TA4GACKT.js +4 -0
  27. package/public/chunk-TXPLRBW5.js +2 -0
  28. package/public/chunk-VHFBF47T.js +1 -0
  29. package/public/{chunk-3EZ5OGSS.js → chunk-VYUMZVH2.js} +1 -1
  30. package/public/{chunk-7XMBWPCO.js → chunk-ZBCOJLI4.js} +1 -1
  31. package/public/index.html +2 -3
  32. package/public/main-JXMQUCCA.js +53 -0
  33. package/public/polyfills-KH22MU6U.js +2 -0
  34. package/public/styles-GMXUNVLC.css +1 -0
  35. package/public/assets/NoSleep.min.js +0 -2
  36. package/public/assets/hammer.min.js +0 -7
  37. package/public/chunk-2YAQXSBW.js +0 -15
  38. package/public/chunk-4KUAA4O3.js +0 -4
  39. package/public/chunk-6SD2XJ6G.js +0 -2
  40. package/public/chunk-CLFGOA75.js +0 -2
  41. package/public/chunk-DHN3DEAY.js +0 -2
  42. package/public/chunk-HGCQBGNX.js +0 -1
  43. package/public/chunk-KJ4UKRBD.js +0 -4
  44. package/public/chunk-LZNKKAB2.js +0 -1
  45. package/public/chunk-QDPHZ2CW.js +0 -1
  46. package/public/chunk-WJXUSW2U.js +0 -11
  47. package/public/main-4Z3472UQ.js +0 -237
  48. package/public/polyfills-AQLIQAV3.js +0 -2
  49. package/public/styles-ERTLON5W.css +0 -1
@@ -57,7 +57,7 @@ Use this quick-start map to be productive in this repo. Prefer these concrete pa
57
57
 
58
58
  ## Project specifics & gotchas
59
59
  - Always respect serve path /@mxtommy/kip/ (dev/prod). Assets and routing assume this base.
60
- - CommonJS deps are explicitly allowed (howler, hammerjs, js-quantities). Avoid introducing new CJS without adding to allowedCommonJsDependencies.
60
+ - CommonJS deps are explicitly allowed (howler, js-quantities). Avoid introducing new CJS without adding to allowedCommonJsDependencies.
61
61
  - Use standalone components, signals, @if/@for; follow .github/instructions/angular.instructions.md for style.
62
62
  - Widget config UIs live under src/app/widget-config; path controls use custom validators (no Validators.required). Respect isPathConfigurable and pathRequired.
63
63
 
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # v 3.8.2
2
+ # Improvements
3
+ * Faster app loading with local font and font swap support
4
+ * Linux/RPi UI cleanup with removal of unnecessary scroll bars in multiple pages
5
+ * Increased mobile Wake Lock support
6
+ * Help component active page marker
7
+ ## Fixes
8
+ * Dashboard card Drag & Drop and Long Press event collision preventing dashboard reordering in Chromium.
1
9
  # v 3.8.1
2
10
  ## Improvements
3
11
  * Expose option to invert pitch and roll axes in Horizon gauge widget
package/README.md CHANGED
@@ -16,9 +16,21 @@ Key features include:
16
16
  - **Multiple User Profiles**: Tailor configurations for different roles, devices, or use cases.
17
17
  - **Cross-Device Compatibility**: Access KIP remotely on any device by navigating to `http://<Signal K Server URL>:<port>/@mxtommy/kip`.
18
18
 
19
+ Typical complementary components you may install (many are often bundled with Signal K distributions):
20
+
21
+ **Navigation & Charting**
22
+ - **Freeboard‑SK** – Multi‑station, web chart plotter dedicated to Signal K: routes, waypoints, charts, alarms, weather layers, and instrument overlays.
23
+
24
+ **Visual Flow / Automation**
25
+ - **Node‑RED** – Low‑code, flow‑based wiring of devices, APIs, online services, and custom logic (alert escalation, device control automation, data enrichment, protocol bridging).
26
+
27
+ **Data Storage & Analytics**
28
+ - **InfluxDB / other TSDB** – High‑resolution historical storage of sensor & performance metrics beyond what lightweight widget charts should retain.
29
+ - **Grafana** – Rich exploratory / comparative dashboards, ad‑hoc queries, alert rules on stored metrics, correlation across heterogeneous data sources.
30
+
19
31
  KIP is open-source under the MIT license, built by the community and 100% free. Join the community on Discord or contribute to the project on GitHub!
20
32
 
21
- ## Basic Instruction
33
+ ## Read the Help introduction How-to
22
34
  Read the [Introduction](https://github.com/mxtommy/Kip/blob/master/src/assets/help-docs/welcome.md) help file.
23
35
 
24
36
  # Design Goal
@@ -132,6 +144,28 @@ https://github.com/mxtommy/Kip/issues
132
144
  # How To Contribute
133
145
  KIP is under the MIT license and is built with Node and Angular using various open-source assets. All free!
134
146
 
147
+ ## Project Scope
148
+ What KIP IS about:
149
+ - Real‑time presentation of vessel & environment data (navigation, performance, systems) pulled from Signal K.
150
+ - Fast, legible, touchscreen‑friendly dashboards for underway decision making.
151
+ - Configurable widgets (gauges, charts, timers, controls) tuned for sailing operations.
152
+
153
+ What KIP deliberately IS NOT trying to become:
154
+ - A full data lake / long‑term time‑series historian.
155
+ - A general purpose automation / rules / orchestration engine.
156
+ - A universal external web‑app embedding or mash‑up framework.
157
+ - A low‑code integration hub for arbitrarily wiring protocols and services.
158
+
159
+ Those domains already have excellent, specialized open‑source tools. Instead of re‑implementing them, KIP plays nicely alongside them within a Signal K based onboard stack.
160
+
161
+ **Processing & Extensions**
162
+ - **Signal K Plugins** – Domain‑specific enrichment (polars, performance calculations, derived environmental data, routing aids) published directly into the Signal K data model that KIP can then display.
163
+
164
+ **Why this separation matters**
165
+ Keeping KIP focused preserves responsiveness (lower CPU / memory), reduces UI clutter, and accelerates iteration on core sailing UX. Heavy analytics, complex workflow logic, and broad third‑party embedding stay where they are strongest—outside—but still feed KIP through the common Signal K data fabric.
166
+
167
+ In short: use KIP to see & act on live sailing information; use the complementary tools to store it long‑term, analyze it deeply, automate decisions, or build advanced integrations.
168
+
135
169
  **Tools**
136
170
  Linux, Mac, RPi, or Windows dev platform supported
137
171
  1. Install the latest Node version (v16+, v18 recommended)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxtommy/kip",
3
- "version": "3.8.1",
3
+ "version": "3.9.0-beta.10",
4
4
  "description": "An advanced and versatile marine instrumentation package to display Signal K data.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -63,7 +63,6 @@
63
63
  "@godind/ng-canvas-gauges": "^6.2.1",
64
64
  "@robloche/chartjs-plugin-streaming": "^3.1.0",
65
65
  "@types/canvas-gauges": "^2.1.8",
66
- "@types/hammerjs": "^2.0.45",
67
66
  "@types/howler": "^2.2.10",
68
67
  "@types/jasmine": "~3.6.0",
69
68
  "@types/jasminewd2": "^2.0.9",
@@ -74,13 +73,12 @@
74
73
  "chart.js": "^4.4.9",
75
74
  "chartjs-adapter-date-fns": "^3.0.0",
76
75
  "chartjs-plugin-annotation": "^3.0.1",
77
- "date-fns": "^2.30.0",
78
76
  "codelyzer": "^6.0.0",
79
77
  "compare-versions": "^6.1.1",
80
78
  "core-js": "^3.13.1",
79
+ "date-fns": "^2.30.0",
81
80
  "eslint": "^9.29.0",
82
81
  "gridstack": "^11.4.0",
83
- "hammerjs": "^2.0.8",
84
82
  "howler": "^2.2.4",
85
83
  "jasmine-core": "~4.0.1",
86
84
  "jasmine-spec-reporter": "~5.0.0",
@@ -100,6 +98,7 @@
100
98
  "rxjs": "^7.8.2",
101
99
  "sass": "^1.49.9",
102
100
  "screenfull": "^6.0.2",
101
+ "@zakj/no-sleep": "^0.13.5",
103
102
  "steelseries": "^2.0.9",
104
103
  "ts-node": "^10.9.2",
105
104
  "tslib": "^2.6.2",
@@ -49,32 +49,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
49
49
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
50
50
  SOFTWARE.
51
51
 
52
- --------------------------------------------------------------------------------
53
- Package: hammerjs
54
- License: "MIT"
55
-
56
- The MIT License (MIT)
57
-
58
- Copyright (C) 2011-2014 by Jorik Tangelder (Eight Media)
59
-
60
- Permission is hereby granted, free of charge, to any person obtaining a copy
61
- of this software and associated documentation files (the "Software"), to deal
62
- in the Software without restriction, including without limitation the rights
63
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
64
- copies of the Software, and to permit persons to whom the Software is
65
- furnished to do so, subject to the following conditions:
66
-
67
- The above copyright notice and this permission notice shall be included in
68
- all copies or substantial portions of the Software.
69
-
70
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
71
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
72
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
73
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
74
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
75
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
76
- THE SOFTWARE.
77
-
78
52
  --------------------------------------------------------------------------------
79
53
  Package: gridstack
80
54
  License: "MIT"
@@ -453,6 +427,31 @@ The above copyright notice and this permission notice shall be included in all c
453
427
 
454
428
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
455
429
 
430
+ --------------------------------------------------------------------------------
431
+ Package: @zakj/no-sleep
432
+ License: "MIT"
433
+
434
+ The MIT License (MIT)
435
+
436
+ Copyright (c) Zak Johnson Copyright (c) 2015-2020 Rich Tibbett
437
+
438
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
439
+ this software and associated documentation files (the "Software"), to deal in
440
+ the Software without restriction, including without limitation the rights to
441
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
442
+ the Software, and to permit persons to whom the Software is furnished to do so,
443
+ subject to the following conditions:
444
+
445
+ The above copyright notice and this permission notice shall be included in all
446
+ copies or substantial portions of the Software.
447
+
448
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
449
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
450
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
451
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
452
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
453
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
454
+
456
455
  --------------------------------------------------------------------------------
457
456
  Package: js-quantities
458
457
  License: "MIT"
@@ -1,2 +1,2 @@
1
- import{Rb as l,pa as d,se as o,wb as n,wc as v,we as a,xb as s}from"./chunk-2YAQXSBW.js";var u=(()=>{class t{get vertical(){return this._vertical}set vertical(i){this._vertical=a(i)}_vertical=!1;get inset(){return this._inset}set inset(i){this._inset=a(i)}_inset=!1;static \u0275fac=function(e){return new(e||t)};static \u0275cmp=n({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(e,r){e&2&&(l("aria-orientation",r.vertical?"vertical":"horizontal"),v("mat-divider-vertical",r.vertical)("mat-divider-horizontal",!r.vertical)("mat-divider-inset",r.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(e,r){},styles:[`.mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color, var(--mat-sys-outline));border-top-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color, var(--mat-sys-outline));border-right-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}
1
+ import{Rb as l,pa as d,te as o,wb as n,wc as v,xb as s,xe as a}from"./chunk-35L7BBBD.js";var u=(()=>{class t{get vertical(){return this._vertical}set vertical(i){this._vertical=a(i)}_vertical=!1;get inset(){return this._inset}set inset(i){this._inset=a(i)}_inset=!1;static \u0275fac=function(e){return new(e||t)};static \u0275cmp=n({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(e,r){e&2&&(l("aria-orientation",r.vertical?"vertical":"horizontal"),v("mat-divider-vertical",r.vertical)("mat-divider-horizontal",!r.vertical)("mat-divider-inset",r.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(e,r){},styles:[`.mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color, var(--mat-sys-outline));border-top-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color, var(--mat-sys-outline));border-right-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}
2
2
  `],encapsulation:2,changeDetection:0})}return t})(),f=(()=>{class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=s({type:t});static \u0275inj=d({imports:[o,o]})}return t})();export{u as a,f as b};