@mxtommy/kip 4.2.0 → 4.3.0

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 (44) hide show
  1. package/.github/copilot-instructions.md +1 -1
  2. package/.github/instructions/project.instructions.md +7 -1
  3. package/.github/workflows/ci.yml +37 -0
  4. package/CHANGELOG.md +10 -0
  5. package/package.json +2 -4
  6. package/public/3rdpartylicenses.txt +52 -75
  7. package/public/assets/svg/icons.svg +3 -0
  8. package/public/{chunk-7SK25B6D.js → chunk-2KZMRA4F.js} +1 -1
  9. package/public/{chunk-2VPC34OU.js → chunk-3Z6GSUML.js} +6 -6
  10. package/public/{chunk-XWOIVPRO.js → chunk-4LGDIZQH.js} +1 -1
  11. package/public/{chunk-SP4UPLYW.js → chunk-5QZ2G7BQ.js} +4 -4
  12. package/public/{chunk-5SCAJ637.js → chunk-BICTPGGI.js} +1 -1
  13. package/public/{chunk-4NAXE7SZ.js → chunk-BU2UG7KI.js} +8 -8
  14. package/public/chunk-E57JLACD.js +8 -0
  15. package/public/{chunk-PJZLX3XW.js → chunk-GDSV24J2.js} +1 -1
  16. package/public/chunk-GSMU2M4Y.js +15 -0
  17. package/public/{chunk-DWMZAC65.js → chunk-H7SICK4W.js} +1 -1
  18. package/public/{chunk-WON6RAF5.js → chunk-JE4IH556.js} +1 -1
  19. package/public/chunk-KC4TEJJN.js +4 -0
  20. package/public/chunk-KQY62HN7.js +1 -0
  21. package/public/{chunk-CX4O7M4U.js → chunk-KXSGKJ7X.js} +4 -4
  22. package/public/{chunk-UUOWRIVR.js → chunk-N77C4M4I.js} +1 -1
  23. package/public/{chunk-K6B4TD2H.js → chunk-ODGDFFA5.js} +2 -2
  24. package/public/{chunk-NL5QCOXT.js → chunk-OIUDA44M.js} +2 -2
  25. package/public/chunk-SGKVVF2R.js +8 -0
  26. package/public/{chunk-GDL5ORNF.js → chunk-T26GJV5O.js} +1 -1
  27. package/public/chunk-UM5PEESF.js +53 -0
  28. package/public/chunk-WGS5SNGF.js +3 -0
  29. package/public/{chunk-FHQZULYJ.js → chunk-WUZG34V4.js} +1 -1
  30. package/public/{chunk-PNFBM2CP.js → chunk-ZPAB6RAF.js} +1 -1
  31. package/public/chunk-ZQJMMQNG.js +2 -0
  32. package/public/index.html +1 -1
  33. package/public/main-2EXNI6Z4.js +1 -0
  34. package/public/polyfills-L4FJGPOC.js +2 -0
  35. package/public/chunk-36RQFRQN.js +0 -4
  36. package/public/chunk-3KBT35BP.js +0 -3
  37. package/public/chunk-6X3BMVOP.js +0 -8
  38. package/public/chunk-ATH26UZ7.js +0 -1
  39. package/public/chunk-FGMEEOZH.js +0 -5
  40. package/public/chunk-MOEZSWFX.js +0 -15
  41. package/public/chunk-PVUOCOI5.js +0 -53
  42. package/public/chunk-Y5TQMH7M.js +0 -2
  43. package/public/main-CRPMOYEB.js +0 -4
  44. package/public/polyfills-GNK4EEYZ.js +0 -2
@@ -129,7 +129,7 @@ Template:
129
129
 
130
130
  ## Project specifics & gotchas
131
131
  - Always respect serve path /@mxtommy/kip/ (dev/prod). Assets and routing assume this base.
132
- - CommonJS deps are explicitly allowed (howler, js-quantities). Avoid introducing new CJS without adding to allowedCommonJsDependencies.
132
+ - CommonJS deps are explicitly allowed (js-quantities). Avoid introducing new CJS without adding to allowedCommonJsDependencies.
133
133
  - Use standalone components, signals, @if/@for; follow .github/instructions/angular.instructions.md for style.
134
134
  - Widget config UIs live under src/app/widget-config; path controls use custom validators (no Validators.required). Respect isPathConfigurable and pathRequired.
135
135
 
@@ -113,7 +113,13 @@ All major services in `src/app/core/services/` are summarized below for Copilot
113
113
 
114
114
  - **NotificationsService (`notifications.service.ts`)**
115
115
  - Key methods: Notification state management, audio/visual alerts, muting.
116
- - Dependencies: AppSettingsService, DataService, SignalkRequestsService, Howler.
116
+ - Dependencies: AppSettingsService, DataService, SignalkRequestsService.
117
+
118
+ - **ToastService (`toast.service.ts`)**
119
+ - Purpose: In-app snackbars using Angular Material.
120
+ - Key methods: `show(message, duration = 1500, silent = true, action = 'Dismiss', severity = 'message')`.
121
+ - Dependencies: MatSnackBar, AppSettingsService.
122
+ - Usage: Use for short, user-visible feedback (login errors, PUT failures, success confirmations). Sound is suppressed when `silent=true` or user sound settings disable audio.
117
123
 
118
124
  - **CanvasService (`canvas.service.ts`)**
119
125
  - Purpose: Provides drawing and rendering utilities for widgets and dashboard components.
@@ -0,0 +1,37 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, master, develop ]
6
+ pull_request:
7
+ branches: [ main, master, develop ]
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ node-version: [20.x, 22.x]
16
+
17
+ steps:
18
+ - name: Checkout repository
19
+ uses: actions/checkout@v4
20
+
21
+ - name: Setup Node.js ${{ matrix.node-version }}
22
+ uses: actions/setup-node@v4
23
+ with:
24
+ node-version: ${{ matrix.node-version }}
25
+ cache: 'npm'
26
+
27
+ - name: Install dependencies
28
+ run: npm ci
29
+
30
+ - name: Lint
31
+ run: npm run lint
32
+
33
+ - name: Run tests
34
+ run: npm run test:headless
35
+
36
+ - name: Build All (Webapp & Plugin)
37
+ run: npm run build:prod
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ # v4.3.0
2
+ ## New Features
3
+ * New signalk-anchoralarm-plugin (by Scott Bender) embedded widget to surface its features and make anchor setting and monitoring fast and easy.
4
+ ## Improvements
5
+ * Added a Simple Wind mode in Windsteer (a popular request) to mimic classic instruments. Toggle “Enable Advanced Compass Mode” off to lock the dial to +/- 180° and keep indicators stable. Fixes #828
6
+ * New high‑impact snackbar templates with inform/warn/alert layouts, bold colors, and icons that make different app message types instantly recognizable.
7
+ ## Fixes
8
+ * Racesteer (beta): corrected tack/gybe angle, indicator reference, and layline calculations for better precision. Fixes #858
9
+ * Fixed occasional double‑fire on long‑press gestures (reduced extra processing).
10
+ * Prevented duplicate app events from async PUT responses (reduced extra processing).
1
11
  # v4.2.0
2
12
  ## New Features
3
13
  * Multi State Switch widget: Take control of multi‑mode devices (chargers, inverters, and more) with a clear state list that highlights the active mode and lets you switch states with a tap. Fixes #404
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxtommy/kip",
3
- "version": "4.2.0",
3
+ "version": "4.3.0",
4
4
  "description": "An advanced and versatile marine instrumentation package to display Signal K data.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -73,7 +73,6 @@
73
73
  "@angular/router": "21.1.0",
74
74
  "@godind/ng-canvas-gauges": "^6.2.1",
75
75
  "@types/canvas-gauges": "^2.1.8",
76
- "@types/howler": "^2.2.10",
77
76
  "@types/jasmine": "~3.6.0",
78
77
  "@types/jasminewd2": "^2.0.9",
79
78
  "@types/js-quantities": "^1.6.6",
@@ -92,7 +91,6 @@
92
91
  "date-fns": "^2.30.0",
93
92
  "eslint": "^9.29.0",
94
93
  "gridstack": "^12.3.3",
95
- "howler": "^2.2.4",
96
94
  "jasmine-core": "~4.0.1",
97
95
  "jasmine-spec-reporter": "~5.0.0",
98
96
  "js-quantities": "^1.8.0",
@@ -103,7 +101,7 @@
103
101
  "karma-jasmine": "~4.0.0",
104
102
  "karma-jasmine-html-reporter": "^1.6.0",
105
103
  "karma-spec-reporter": "^0.0.36",
106
- "lodash-es": "^4.17.21",
104
+ "lodash-es": "^4.17.23",
107
105
  "ng-packagr": "^21.0.1",
108
106
  "ngx-markdown": "^21.0.1",
109
107
  "prismjs": "^1.30.0",
@@ -1,11 +1,11 @@
1
1
 
2
2
  --------------------------------------------------------------------------------
3
- Package: @angular/material
3
+ Package: gridstack
4
4
  License: "MIT"
5
5
 
6
- The MIT License
6
+ MIT License
7
7
 
8
- Copyright (c) 2026 Google LLC.
8
+ Copyright (c) 2019-2025 Alain Dumesny. v0.4.0 and older (c) 2014-2018 Pavel Reznikov, Dylan Weiss
9
9
 
10
10
  Permission is hereby granted, free of charge, to any person obtaining a copy
11
11
  of this software and associated documentation files (the "Software"), to deal
@@ -14,24 +14,24 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
14
  copies of the Software, and to permit persons to whom the Software is
15
15
  furnished to do so, subject to the following conditions:
16
16
 
17
- The above copyright notice and this permission notice shall be included in
18
- all copies or substantial portions of the Software.
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
19
 
20
20
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
21
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
22
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
23
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
24
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
26
- THE SOFTWARE.
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
27
 
28
28
  --------------------------------------------------------------------------------
29
- Package: gridstack
29
+ Package: @angular/cdk
30
30
  License: "MIT"
31
31
 
32
- MIT License
32
+ The MIT License
33
33
 
34
- Copyright (c) 2019-2025 Alain Dumesny. v0.4.0 and older (c) 2014-2018 Pavel Reznikov, Dylan Weiss
34
+ Copyright (c) 2026 Google LLC.
35
35
 
36
36
  Permission is hereby granted, free of charge, to any person obtaining a copy
37
37
  of this software and associated documentation files (the "Software"), to deal
@@ -40,24 +40,24 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
40
40
  copies of the Software, and to permit persons to whom the Software is
41
41
  furnished to do so, subject to the following conditions:
42
42
 
43
- The above copyright notice and this permission notice shall be included in all
44
- copies or substantial portions of the Software.
43
+ The above copyright notice and this permission notice shall be included in
44
+ all copies or substantial portions of the Software.
45
45
 
46
46
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
47
47
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
48
48
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
49
49
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
50
50
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
51
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
52
- SOFTWARE.
51
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
52
+ THE SOFTWARE.
53
53
 
54
54
  --------------------------------------------------------------------------------
55
- Package: @angular/cdk
55
+ Package: @godind/canvas-gauges
56
56
  License: "MIT"
57
57
 
58
- The MIT License
58
+ The MIT License (MIT)
59
59
 
60
- Copyright (c) 2026 Google LLC.
60
+ Copyright (c) 2016 Mykhailo Stadnyk <mikhus@gmail.com>
61
61
 
62
62
  Permission is hereby granted, free of charge, to any person obtaining a copy
63
63
  of this software and associated documentation files (the "Software"), to deal
@@ -74,40 +74,16 @@ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
74
74
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
75
75
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
76
76
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
77
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
78
- THE SOFTWARE.
79
-
80
- --------------------------------------------------------------------------------
81
- Package: howler
82
- License: "MIT"
83
-
84
- Copyright (c) 2013-2020 James Simpson and GoldFire Studios, Inc.
85
-
86
- Permission is hereby granted, free of charge, to any person obtaining
87
- a copy of this software and associated documentation files (the
88
- "Software"), to deal in the Software without restriction, including
89
- without limitation the rights to use, copy, modify, merge, publish,
90
- distribute, sublicense, and/or sell copies of the Software, and to
91
- permit persons to whom the Software is furnished to do so, subject to
92
- the following conditions:
93
-
94
- The above copyright notice and this permission notice shall be
95
- included in all copies or substantial portions of the Software.
77
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
78
+ SOFTWARE.
96
79
 
97
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
98
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
99
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
100
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
101
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
102
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
103
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
104
80
  --------------------------------------------------------------------------------
105
- Package: @godind/canvas-gauges
81
+ Package: @angular/material
106
82
  License: "MIT"
107
83
 
108
- The MIT License (MIT)
84
+ The MIT License
109
85
 
110
- Copyright (c) 2016 Mykhailo Stadnyk <mikhus@gmail.com>
86
+ Copyright (c) 2026 Google LLC.
111
87
 
112
88
  Permission is hereby granted, free of charge, to any person obtaining a copy
113
89
  of this software and associated documentation files (the "Software"), to deal
@@ -124,8 +100,8 @@ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
124
100
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
125
101
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
126
102
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
127
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
128
- SOFTWARE.
103
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
104
+ THE SOFTWARE.
129
105
 
130
106
  --------------------------------------------------------------------------------
131
107
  Package: @aziham/chartjs-plugin-streaming
@@ -416,32 +392,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
416
392
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
417
393
  SOFTWARE.
418
394
 
419
- --------------------------------------------------------------------------------
420
- Package: @angular/router
421
- License: "MIT"
422
-
423
- The MIT License
424
-
425
- Copyright (c) 2010-2026 Google LLC. https://angular.dev/license
426
-
427
- Permission is hereby granted, free of charge, to any person obtaining a copy
428
- of this software and associated documentation files (the "Software"), to deal
429
- in the Software without restriction, including without limitation the rights
430
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
431
- copies of the Software, and to permit persons to whom the Software is
432
- furnished to do so, subject to the following conditions:
433
-
434
- The above copyright notice and this permission notice shall be included in
435
- all copies or substantial portions of the Software.
436
-
437
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
438
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
439
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
440
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
441
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
442
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
443
- THE SOFTWARE.
444
-
445
395
  --------------------------------------------------------------------------------
446
396
  Package: rxjs
447
397
  License: "Apache-2.0"
@@ -649,6 +599,32 @@ License: "Apache-2.0"
649
599
  limitations under the License.
650
600
 
651
601
 
602
+ --------------------------------------------------------------------------------
603
+ Package: @angular/router
604
+ License: "MIT"
605
+
606
+ The MIT License
607
+
608
+ Copyright (c) 2010-2026 Google LLC. https://angular.dev/license
609
+
610
+ Permission is hereby granted, free of charge, to any person obtaining a copy
611
+ of this software and associated documentation files (the "Software"), to deal
612
+ in the Software without restriction, including without limitation the rights
613
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
614
+ copies of the Software, and to permit persons to whom the Software is
615
+ furnished to do so, subject to the following conditions:
616
+
617
+ The above copyright notice and this permission notice shall be included in
618
+ all copies or substantial portions of the Software.
619
+
620
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
621
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
622
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
623
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
624
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
625
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
626
+ THE SOFTWARE.
627
+
652
628
  --------------------------------------------------------------------------------
653
629
  Package: lodash-es
654
630
  License: "MIT"
@@ -851,7 +827,8 @@ THE SOFTWARE.
851
827
  Package: core-js
852
828
  License: "MIT"
853
829
 
854
- Copyright (c) 2014-2025 Denis Pushkarev, 2025 CoreJS Company
830
+ Copyright (c) 2013–2025 Denis Pushkarev (zloirock.ru)
831
+ Copyright (c) 2025–2026 CoreJS Company (core-js.io)
855
832
 
856
833
  Permission is hereby granted, free of charge, to any person obtaining a copy
857
834
  of this software and associated documentation files (the "Software"), to deal
@@ -173,6 +173,9 @@
173
173
  </mask>
174
174
  <rect width="16" height="16" fill="currentColor" mask="url(#simpleLinearGaugeTwotone)" />
175
175
  </svg>
176
+ <svg id="anchorWatch" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24" width="24">
177
+ <path fill="currentColor" d="M12 22c-1.1 0 -2.1875 -0.2 -3.2625 -0.6 -1.075 -0.4 -2.0375 -0.925 -2.8875 -1.575 -0.85 -0.65 -1.5375 -1.38335 -2.0625 -2.2 -0.525 -0.81665 -0.7875 -1.65 -0.7875 -2.5v-2.5l3.375 2.525 -1.45 1.45c0.51665 0.96665 1.4 1.82915 2.65 2.5875 1.25 0.75835 2.475 1.17915 3.675 1.2625V10.75H8v-1.5h3.25v-1.85c-0.63335 -0.23335 -1.125 -0.58335 -1.475 -1.05 -0.35 -0.46665 -0.525 -1 -0.525 -1.6 0 -0.766665 0.27085 -1.416665 0.8125 -1.95C10.60415 2.266665 11.25 2 12 2c0.76665 0 1.41665 0.266665 1.95 0.8 0.53335 0.533335 0.8 1.183335 0.8 1.95 0 0.6 -0.175 1.13335 -0.525 1.6 -0.35 0.46665 -0.84165 0.81665 -1.475 1.05v1.85H16v1.5h-3.25v9.7c1.2 -0.08335 2.425 -0.50415 3.675 -1.2625s2.13335 -1.62085 2.65 -2.5875l-1.45 -1.45L21 12.625v2.5c0 0.85 -0.2625 1.68335 -0.7875 2.5 -0.525 0.81665 -1.2125 1.55 -2.0625 2.2 -0.85 0.65 -1.8125 1.175 -2.8875 1.575C14.1875 21.8 13.1 22 12 22Zm0 -16c0.35 0 0.64585 -0.125 0.8875 -0.375 0.24165 -0.25 0.3625 -0.54165 0.3625 -0.875 0 -0.35 -0.12085 -0.645835 -0.3625 -0.8875C12.64585 3.620835 12.35 3.5 12 3.5c-0.33335 0 -0.625 0.120835 -0.875 0.3625S10.75 4.4 10.75 4.75c0 0.33335 0.125 0.625 0.375 0.875S11.66665 6 12 6Z" stroke-width="0.5"></path>
178
+ </svg>
176
179
  <svg id="linearGauge" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 32 32">
177
180
  <path fill="var(--mat-sys-primary)" fill-opacity="0.4" d="M20 10h7v2h-7zm0 6h10v2H20zm0 6h7v2h-7zm-10-1.816V7H8v13.184a3 3 0 1 0 2 0" />
178
181
  <path fill="currentColor" d="M30 4H12.974A4.983 4.983 0 0 0 4 7v11.11a7 7 0 1 0 10 0V7a5 5 0 0 0-.101-1H30ZM9 28a4.993 4.993 0 0 1-3.332-8.718L6 18.983V7a3 3 0 0 1 6 0v11.983l.332.299A4.993 4.993 0 0 1 9 28" />