@mxtommy/kip 3.9.0-beta.30 → 3.9.0-beta.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/public/{chunk-RUSRJ6XE.js → chunk-2IRAP774.js} +2 -2
- package/public/{chunk-ASPAEAIA.js → chunk-5NYGXVMX.js} +2 -2
- package/public/{chunk-NDTHJTFL.js → chunk-HR2WMF3Q.js} +2 -2
- package/public/{chunk-YJ3FT26N.js → chunk-MMVERQLK.js} +3 -3
- package/public/{chunk-L6IV3M2T.js → chunk-OFG4OEIS.js} +2 -2
- package/public/{chunk-L6IV3M2T.js.map → chunk-OFG4OEIS.js.map} +1 -1
- package/public/index.html +1 -1
- package/public/main.js +8 -6
- package/public/main.js.map +1 -1
- /package/public/{chunk-RUSRJ6XE.js.map → chunk-2IRAP774.js.map} +0 -0
- /package/public/{chunk-ASPAEAIA.js.map → chunk-5NYGXVMX.js.map} +0 -0
- /package/public/{chunk-NDTHJTFL.js.map → chunk-HR2WMF3Q.js.map} +0 -0
- /package/public/{chunk-YJ3FT26N.js.map → chunk-MMVERQLK.js.map} +0 -0
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-U2DCSTRY.js";
|
|
4
4
|
import {
|
|
5
5
|
AppService
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-OFG4OEIS.js";
|
|
7
7
|
import "./chunk-MCEJWZB2.js";
|
|
8
8
|
import {
|
|
9
9
|
AppSettingsService,
|
|
@@ -86,4 +86,4 @@ var WidgetLoginComponent = class _WidgetLoginComponent {
|
|
|
86
86
|
export {
|
|
87
87
|
WidgetLoginComponent
|
|
88
88
|
};
|
|
89
|
-
//# sourceMappingURL=chunk-
|
|
89
|
+
//# sourceMappingURL=chunk-2IRAP774.js.map
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
} from "./chunk-UQYTD5AC.js";
|
|
43
43
|
import {
|
|
44
44
|
AppService
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-OFG4OEIS.js";
|
|
46
46
|
import {
|
|
47
47
|
MatDivider,
|
|
48
48
|
MatDividerModule
|
|
@@ -13724,4 +13724,4 @@ export {
|
|
|
13724
13724
|
MatListModule,
|
|
13725
13725
|
TileLargeIconComponent
|
|
13726
13726
|
};
|
|
13727
|
-
//# sourceMappingURL=chunk-
|
|
13727
|
+
//# sourceMappingURL=chunk-5NYGXVMX.js.map
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
} from "./chunk-U2DCSTRY.js";
|
|
40
40
|
import {
|
|
41
41
|
AppService
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-OFG4OEIS.js";
|
|
43
43
|
import {
|
|
44
44
|
MatDivider
|
|
45
45
|
} from "./chunk-MCEJWZB2.js";
|
|
@@ -5234,4 +5234,4 @@ var AppSettingsComponent = class _AppSettingsComponent {
|
|
|
5234
5234
|
export {
|
|
5235
5235
|
AppSettingsComponent
|
|
5236
5236
|
};
|
|
5237
|
-
//# sourceMappingURL=chunk-
|
|
5237
|
+
//# sourceMappingURL=chunk-HR2WMF3Q.js.map
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
MatListModule,
|
|
13
13
|
TileLargeIconComponent,
|
|
14
14
|
uiEventService
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-5NYGXVMX.js";
|
|
16
16
|
import "./chunk-D7ILNFDM.js";
|
|
17
17
|
import "./chunk-63ILPRXC.js";
|
|
18
18
|
import "./chunk-E24UNLSJ.js";
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
} from "./chunk-UQYTD5AC.js";
|
|
29
29
|
import {
|
|
30
30
|
AppService
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-OFG4OEIS.js";
|
|
32
32
|
import {
|
|
33
33
|
MatDividerModule
|
|
34
34
|
} from "./chunk-MCEJWZB2.js";
|
|
@@ -4749,4 +4749,4 @@ var HomeComponent = class _HomeComponent {
|
|
|
4749
4749
|
export {
|
|
4750
4750
|
HomeComponent
|
|
4751
4751
|
};
|
|
4752
|
-
//# sourceMappingURL=chunk-
|
|
4752
|
+
//# sourceMappingURL=chunk-MMVERQLK.js.map
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
// package.json
|
|
19
19
|
var package_default = {
|
|
20
20
|
name: "@mxtommy/kip",
|
|
21
|
-
version: "3.9.0-beta.
|
|
21
|
+
version: "3.9.0-beta.31",
|
|
22
22
|
description: "An advanced and versatile marine instrumentation package to display Signal K data.",
|
|
23
23
|
license: "MIT",
|
|
24
24
|
author: {
|
|
@@ -340,4 +340,4 @@ var AppService = class _AppService {
|
|
|
340
340
|
export {
|
|
341
341
|
AppService
|
|
342
342
|
};
|
|
343
|
-
//# sourceMappingURL=chunk-
|
|
343
|
+
//# sourceMappingURL=chunk-OFG4OEIS.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["package.json", "src/app/core/services/app-service.ts"],
|
|
4
|
-
"sourcesContent": ["{\n \"name\": \"@mxtommy/kip\",\n \"version\": \"3.9.0-beta.30\",\n \"description\": \"An advanced and versatile marine instrumentation package to display Signal K data.\",\n \"license\": \"MIT\",\n \"author\": {\n \"name\": \"Thomas St.Pierre, David Godin\"\n },\n \"contributors\": [\n {\n \"name\": \"David Godin\",\n \"email\": \"godind@hotmail.com\"\n },\n {\n \"name\": \"Thomas St.Pierre\",\n \"email\": \"thomas@samoht.ca\"\n }\n ],\n \"homepage\": \"https://github.com/mxtommy/Kip\",\n \"bugs\": \"https://github.com/mxtommy/Kip/issues\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/mxtommy/Kip.git\"\n },\n \"keywords\": [\n \"signalk-webapp\",\n \"signalk-category-instruments\",\n \"signal k\",\n \"signalk\",\n \"instruments\",\n \"dashboard\",\n \"marine\",\n \"nmea\"\n ],\n \"signalk\": {\n \"appIcon\": \"assets/icon-72x72.png\",\n \"displayName\": \"KIP Instrument MFD\"\n },\n \"scripts\": {\n \"dev\": \"ng serve --configuration=dev --serve-path=/@mxtommy/kip/\",\n \"build-dev\": \"ng build --configuration=dev\",\n \"build-prod\": \"ng build --configuration=production\",\n \"test\": \"ng test\",\n \"lint\": \"ng lint\",\n \"e2e\": \"ng e2e\"\n },\n \"devDependencies\": {\n \"@angular-devkit/build-angular\": \"^20.1.6\",\n \"@angular/animations\": \"20.1.7\",\n \"@angular/build\": \"^20.1.6\",\n \"@angular/cdk\": \"20.1.6\",\n \"@angular/cli\": \"^20.1.6\",\n \"@angular/common\": \"20.1.7\",\n \"@angular/compiler\": \"20.1.7\",\n \"@angular/compiler-cli\": \"20.1.7\",\n \"@angular/core\": \"20.1.7\",\n \"@angular/forms\": \"20.1.7\",\n \"@angular/language-service\": \"20.1.7\",\n \"@angular/material\": \"20.1.6\",\n \"@angular/platform-browser\": \"20.1.7\",\n \"@angular/platform-browser-dynamic\": \"20.1.7\",\n \"@angular/router\": \"20.1.7\",\n \"@godind/ng-canvas-gauges\": \"^6.2.1\",\n \"@robloche/chartjs-plugin-streaming\": \"^3.1.0\",\n \"@types/canvas-gauges\": \"^2.1.8\",\n \"@types/howler\": \"^2.2.10\",\n \"@types/jasmine\": \"~3.6.0\",\n \"@types/jasminewd2\": \"^2.0.9\",\n \"@types/js-quantities\": \"^1.6.6\",\n \"@types/lodash-es\": \"^4.17.9\",\n \"@types/node\": \"^24.1.0\",\n \"@zakj/no-sleep\": \"^0.13.5\",\n \"angular-eslint\": \"20.1.1\",\n \"chart.js\": \"^4.4.9\",\n \"chartjs-adapter-date-fns\": \"^3.0.0\",\n \"chartjs-plugin-annotation\": \"^3.0.1\",\n \"codelyzer\": \"^6.0.0\",\n \"compare-versions\": \"^6.1.1\",\n \"core-js\": \"^3.13.1\",\n \"date-fns\": \"^2.30.0\",\n \"eslint\": \"^9.29.0\",\n \"gridstack\": \"^11.4.0\",\n \"howler\": \"^2.2.4\",\n \"jasmine-core\": \"~4.0.1\",\n \"jasmine-spec-reporter\": \"~5.0.0\",\n \"js-quantities\": \"^1.8.0\",\n \"karma\": \"^6.4.4\",\n \"karma-chrome-launcher\": \"~3.1.0\",\n \"karma-cli\": \"~2.0.0\",\n \"karma-coverage-istanbul-reporter\": \"^3.0.3\",\n \"karma-jasmine\": \"~4.0.0\",\n \"karma-jasmine-html-reporter\": \"^1.6.0\",\n \"lodash-es\": \"^4.17.21\",\n \"ng-packagr\": \"^20.0.1\",\n \"ngx-markdown\": \"^20.0.0\",\n \"ngx-resize-observer\": \"^3.1.0\",\n \"protractor\": \"~7.0.0\",\n \"pwa-asset-generator\": \"^8.0.4\",\n \"rxjs\": \"^7.8.2\",\n \"sass\": \"^1.49.9\",\n \"screenfull\": \"^6.0.2\",\n \"steelseries\": \"^2.0.9\",\n \"ts-node\": \"^10.9.2\",\n \"tslib\": \"^2.6.2\",\n \"typescript\": \"^5.8.3\",\n \"zone.js\": \"^0.15.1\"\n }\n}\n", "import { effect, inject, Injectable, signal, untracked } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { AppSettingsService } from './app-settings.service';\nimport { DataService } from './data.service';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport packageInfo from '../../../../package.json';\n\n/**\n * Snack-bar notification message interface.\n */\nexport interface AppNotification {\n message: string;\n action?: string;\n duration: number;\n silent: boolean;\n}\n\n\n/**\n * Kip theme hex colors\n *\n * @export\n * @interface ITheme\n */\nexport interface ITheme {\n blue: string,\n blueDim: string,\n blueDimmer: string,\n green: string,\n greenDim: string,\n greenDimmer: string,\n purple: string,\n purpleDim: string,\n purpleDimmer: string,\n yellow: string,\n yellowDim: string,\n yellowDimmer: string,\n pink: string,\n pinkDim: string,\n pinkDimmer: string,\n orange: string,\n orangeDim: string,\n orangeDimmer: string,\n contrast: string,\n contrastDim: string,\n contrastDimmer: string,\n grey: string,\n greyDim: string,\n greyDimmer: string,\n port: string,\n starboard: string,\n zoneNominal: string,\n zoneAlert: string,\n zoneWarn: string,\n zoneAlarm: string,\n zoneEmergency: string,\n background: string,\n cardColor: string,\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppService {\n readonly MODE_PATH: string = 'self.environment.mode';\n public readonly configurableThemeColors: {label: string, value: string}[] = [\n {label: \"Contrast\", value: \"contrast\"},\n {label: \"Blue\", value: \"blue\"},\n {label: \"Green\", value: \"green\"},\n {label: \"Orange\", value: \"orange\"},\n {label: \"Yellow\", value: \"yellow\"},\n {label: \"Pink\", value: \"pink\"},\n {label: \"Purple\", value: \"purple\"},\n {label: \"Grey\", value: \"grey\"}\n ];\n public snackbarAppNotifications = new Subject<AppNotification>(); // for snackbar message\n public readonly cssThemeColorRoles$ = new BehaviorSubject<ITheme|null>(null);\n private _cssThemeColorRoles: ITheme = null;\n private _settings = inject(AppSettingsService);\n private _data = inject(DataService);\n public isNightMode = signal<boolean>(false);\n private _useAutoNightMode = toSignal(this._settings.getAutoNightModeAsO(), { requireSync: true });\n private _theme = toSignal(this._settings.getThemeNameAsO(), { requireSync: true });\n private _redNightMode = toSignal(this._settings.getRedNightModeAsO(), { requireSync: true });\n private _environmentMode = toSignal(this._data.subscribePath(this.MODE_PATH, 'default'));\n\n public readonly appVersion = signal<string>(packageInfo.version);\n public readonly browserVersion = signal<string>('Unknown');\n public readonly osVersion = signal<string>('Unknown');\n\n constructor() {\n effect(() => {\n if (this._theme() === 'light-theme') {\n document.body.classList.toggle('light-theme', this._theme() === 'light-theme');\n } else {\n // Remove the light theme class if it exists\n document.body.classList.remove('light-theme');\n }\n });\n\n effect(() => {\n const mode = this._environmentMode().data.value;\n if (this._useAutoNightMode()) {\n this.isNightMode.set(mode === \"night\");\n this.toggleDayNightMode();\n }\n });\n\n effect(() => {\n const redNightMode = this._redNightMode();\n\n untracked(() => {\n if (redNightMode) {\n this.toggleDayNightMode();\n } else {\n this.toggleDayNightMode();\n }\n });\n });\n\n this.readThemeCssRoleVariables();\n this._cssThemeColorRoles = this.cssThemeColorRoles$.getValue();\n\n this.browserVersion.set(this.getBrowserVersion());\n this.osVersion.set(this.getOSVersion());\n\n console.log(\"*********** KIP Version Information ***********\");\n console.log(`** App Version: ${this.appVersion()}`);\n console.log(`** Browser Version: ${this.browserVersion()}`);\n console.log(`** OS Version: ${this.osVersion()}`);\n console.log(\"***********************************************\");\n }\n\n /**\n * Display Kip Snackbar notification.\n *\n * @param message Text to be displayed.\n * @param duration Display duration in milliseconds before automatic dismissal.\n * Duration value of 0 is indefinite or until use clicks Dismiss button. Defaults\n * to 10000 of no value is provided.\n * @param silent A boolean that defines if the notification should make no sound.\n * Defaults false.\n */\n public sendSnackbarNotification(message: string, duration = 10000, silent = false, action = \"Dismiss\") {\n this.snackbarAppNotifications.next({ message: message, duration: duration, silent: silent, action: action });\n }\n\n /**\n * Observable to receive Kip app Snackbar notification. Use in app.component ONLY.\n *\n * @usageNotes To send a Snackbar notification, use sendSnackbarNotification().\n * Notifications are purely client side and have no relationship or\n * interactions with the Signal K server.\n */\n public getSnackbarAppNotifications() {\n return this.snackbarAppNotifications.asObservable();\n }\n\n private readThemeCssRoleVariables(): void {\n const root = document.body;\n const computedStyle = getComputedStyle(root);\n const cssThemeRolesColor: ITheme = {\n background: computedStyle.getPropertyValue('--mat-sys-background').trim(),\n cardColor: computedStyle.getPropertyValue('--kip-widget-card-background-color').trim(),\n blue: computedStyle.getPropertyValue('--kip-blue-color').trim(),\n blueDim: computedStyle.getPropertyValue('--kip-blue-dim-color').trim(),\n blueDimmer: computedStyle.getPropertyValue('--kip-blue-dimmer-color').trim(),\n green: computedStyle.getPropertyValue('--kip-green-color').trim(),\n greenDim: computedStyle.getPropertyValue('--kip-green-dim-color').trim(),\n greenDimmer: computedStyle.getPropertyValue('--kip-green-dimmer-color').trim(),\n grey: computedStyle.getPropertyValue('--kip-grey-color').trim(),\n greyDim: computedStyle.getPropertyValue('--kip-grey-dim-color').trim(),\n greyDimmer: computedStyle.getPropertyValue('--kip-grey-dimmer-color').trim(),\n orange: computedStyle.getPropertyValue('--kip-orange-color').trim(),\n orangeDim: computedStyle.getPropertyValue('--kip-orange-dim-color').trim(),\n orangeDimmer: computedStyle.getPropertyValue('--kip-orange-dimmer-color').trim(),\n pink: computedStyle.getPropertyValue('--kip-pink-color').trim(),\n pinkDim: computedStyle.getPropertyValue('--kip-pink-dim-color').trim(),\n pinkDimmer: computedStyle.getPropertyValue('--kip-pink-dimmer-color').trim(),\n purple: computedStyle.getPropertyValue('--kip-purple-color').trim(),\n purpleDim: computedStyle.getPropertyValue('--kip-purple-dim-color').trim(),\n purpleDimmer: computedStyle.getPropertyValue('--kip-purple-dimmer-color').trim(),\n contrast: computedStyle.getPropertyValue('--kip-contrast-color').trim(),\n contrastDim: computedStyle.getPropertyValue('--kip-contrast-dim-color').trim(),\n contrastDimmer: computedStyle.getPropertyValue('--kip-contrast-dimmer-color').trim(),\n yellow: computedStyle.getPropertyValue('--kip-yellow-color').trim(),\n yellowDim: computedStyle.getPropertyValue('--kip-yellow-dim-color').trim(),\n yellowDimmer: computedStyle.getPropertyValue('--kip-yellow-dimmer-color').trim(),\n port: computedStyle.getPropertyValue('--kip-port-color').trim(),\n starboard: computedStyle.getPropertyValue('--kip-starboard-color').trim(),\n zoneNominal: computedStyle.getPropertyValue('--kip-zone-nominal-color').trim(),\n zoneAlert: computedStyle.getPropertyValue('--kip-zone-alert-color').trim(),\n zoneWarn: computedStyle.getPropertyValue('--kip-zone-warn-color').trim(),\n zoneAlarm: computedStyle.getPropertyValue('--kip-zone-alarm-color').trim(),\n zoneEmergency: computedStyle.getPropertyValue('--kip-zone-emergency-color').trim(),\n };\n this.cssThemeColorRoles$.next(cssThemeRolesColor);\n }\n\n public get cssThemeColors() : ITheme {\n return this._cssThemeColorRoles;\n }\n\n public setBrightness(brightness: number, applyNightFilters = false): void {\n const appFilterWrapper = document.body;\n\n // Set the brightness level\n appFilterWrapper.style.setProperty('--kip-nightModeBrightness', `${brightness}`);\n\n // Apply sepia and hue-rotate filters if night mode is active\n const additionalFilters = applyNightFilters ? ' sepia(0.5) hue-rotate(-30deg)' : '';\n appFilterWrapper.style.setProperty('--kip-nightModeFilters', additionalFilters);\n }\n\n public toggleDayNightMode(): void {\n if (this.isNightMode()) {\n if (this._redNightMode()) {\n document.body.classList.toggle('night-theme', true);\n this.setBrightness(1, false);\n } else {\n this.setBrightness(this._settings.getNightModeBrightness(), true);\n document.body.classList.remove('night-theme');\n if (this._theme() === 'light-theme') {\n document.body.classList.toggle('light-theme', this._theme() === 'light-theme');\n } else {\n document.body.classList.remove('light-theme');\n }\n }\n\n } else {\n document.body.classList.remove('night-theme');\n if (this._theme() === 'light-theme') {\n document.body.classList.toggle('light-theme', this._theme() === 'light-theme');\n }\n this.setBrightness(1, false);\n }\n this.readThemeCssRoleVariables();\n this._cssThemeColorRoles = this.cssThemeColorRoles$.getValue();\n }\n\n /**\n * Helper method to get the browser version.\n */\n private getBrowserVersion(): string {\n const userAgent = navigator.userAgent;\n let browser = 'Unknown';\n\n if (userAgent.includes('Edg')) {\n browser = `Edge ${userAgent.match(/Edg\\/(\\d+)/)?.[1]}`;\n } else if (userAgent.includes('Chrome') && !userAgent.includes('Edg') && !userAgent.includes('Chromium')) {\n browser = `Chrome ${userAgent.match(/Chrome\\/(\\d+)/)?.[1]}`;\n } else if (userAgent.includes('Chromium')) {\n browser = `Chromium ${userAgent.match(/Chromium\\/(\\d+)/)?.[1]}`;\n } else if (userAgent.includes('Firefox')) {\n browser = `Firefox ${userAgent.match(/Firefox\\/(\\d+)/)?.[1]}`;\n } else if (userAgent.includes('Safari') && !userAgent.includes('Chrome') && !userAgent.includes('Chromium')) {\n browser = `Safari ${userAgent.match(/Version\\/(\\d+)/)?.[1]}`;\n } else if (userAgent.includes('Opera') || userAgent.includes('OPR')) {\n browser = `Opera ${userAgent.match(/(Opera|OPR)\\/(\\d+)/)?.[2]}`;\n }\n\n return browser;\n }\n\n /**\n * Helper method to get the OS version.\n */\n private getOSVersion(): string {\n const platform = navigator.platform;\n const userAgent = navigator.userAgent;\n\n if (platform.startsWith('Mac')) {\n return 'macOS';\n } else if (platform.startsWith('Win')) {\n return 'Windows';\n } else if (/Linux/.test(platform)) {\n // Check for Raspberry Pi identifiers in the userAgent or platform\n if (\n userAgent.includes('ARM') ||\n userAgent.includes('aarch64') ||\n userAgent.includes('Raspberry') ||\n platform.includes('armv7l') ||\n platform.includes('armv8l')\n ) {\n return 'Raspberry Pi';\n }\n return 'Linux';\n } else {\n return 'Unknown OS';\n }\n }\n}\n"],
|
|
4
|
+
"sourcesContent": ["{\n \"name\": \"@mxtommy/kip\",\n \"version\": \"3.9.0-beta.31\",\n \"description\": \"An advanced and versatile marine instrumentation package to display Signal K data.\",\n \"license\": \"MIT\",\n \"author\": {\n \"name\": \"Thomas St.Pierre, David Godin\"\n },\n \"contributors\": [\n {\n \"name\": \"David Godin\",\n \"email\": \"godind@hotmail.com\"\n },\n {\n \"name\": \"Thomas St.Pierre\",\n \"email\": \"thomas@samoht.ca\"\n }\n ],\n \"homepage\": \"https://github.com/mxtommy/Kip\",\n \"bugs\": \"https://github.com/mxtommy/Kip/issues\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/mxtommy/Kip.git\"\n },\n \"keywords\": [\n \"signalk-webapp\",\n \"signalk-category-instruments\",\n \"signal k\",\n \"signalk\",\n \"instruments\",\n \"dashboard\",\n \"marine\",\n \"nmea\"\n ],\n \"signalk\": {\n \"appIcon\": \"assets/icon-72x72.png\",\n \"displayName\": \"KIP Instrument MFD\"\n },\n \"scripts\": {\n \"dev\": \"ng serve --configuration=dev --serve-path=/@mxtommy/kip/\",\n \"build-dev\": \"ng build --configuration=dev\",\n \"build-prod\": \"ng build --configuration=production\",\n \"test\": \"ng test\",\n \"lint\": \"ng lint\",\n \"e2e\": \"ng e2e\"\n },\n \"devDependencies\": {\n \"@angular-devkit/build-angular\": \"^20.1.6\",\n \"@angular/animations\": \"20.1.7\",\n \"@angular/build\": \"^20.1.6\",\n \"@angular/cdk\": \"20.1.6\",\n \"@angular/cli\": \"^20.1.6\",\n \"@angular/common\": \"20.1.7\",\n \"@angular/compiler\": \"20.1.7\",\n \"@angular/compiler-cli\": \"20.1.7\",\n \"@angular/core\": \"20.1.7\",\n \"@angular/forms\": \"20.1.7\",\n \"@angular/language-service\": \"20.1.7\",\n \"@angular/material\": \"20.1.6\",\n \"@angular/platform-browser\": \"20.1.7\",\n \"@angular/platform-browser-dynamic\": \"20.1.7\",\n \"@angular/router\": \"20.1.7\",\n \"@godind/ng-canvas-gauges\": \"^6.2.1\",\n \"@robloche/chartjs-plugin-streaming\": \"^3.1.0\",\n \"@types/canvas-gauges\": \"^2.1.8\",\n \"@types/howler\": \"^2.2.10\",\n \"@types/jasmine\": \"~3.6.0\",\n \"@types/jasminewd2\": \"^2.0.9\",\n \"@types/js-quantities\": \"^1.6.6\",\n \"@types/lodash-es\": \"^4.17.9\",\n \"@types/node\": \"^24.1.0\",\n \"@zakj/no-sleep\": \"^0.13.5\",\n \"angular-eslint\": \"20.1.1\",\n \"chart.js\": \"^4.4.9\",\n \"chartjs-adapter-date-fns\": \"^3.0.0\",\n \"chartjs-plugin-annotation\": \"^3.0.1\",\n \"codelyzer\": \"^6.0.0\",\n \"compare-versions\": \"^6.1.1\",\n \"core-js\": \"^3.13.1\",\n \"date-fns\": \"^2.30.0\",\n \"eslint\": \"^9.29.0\",\n \"gridstack\": \"^11.4.0\",\n \"howler\": \"^2.2.4\",\n \"jasmine-core\": \"~4.0.1\",\n \"jasmine-spec-reporter\": \"~5.0.0\",\n \"js-quantities\": \"^1.8.0\",\n \"karma\": \"^6.4.4\",\n \"karma-chrome-launcher\": \"~3.1.0\",\n \"karma-cli\": \"~2.0.0\",\n \"karma-coverage-istanbul-reporter\": \"^3.0.3\",\n \"karma-jasmine\": \"~4.0.0\",\n \"karma-jasmine-html-reporter\": \"^1.6.0\",\n \"lodash-es\": \"^4.17.21\",\n \"ng-packagr\": \"^20.0.1\",\n \"ngx-markdown\": \"^20.0.0\",\n \"ngx-resize-observer\": \"^3.1.0\",\n \"protractor\": \"~7.0.0\",\n \"pwa-asset-generator\": \"^8.0.4\",\n \"rxjs\": \"^7.8.2\",\n \"sass\": \"^1.49.9\",\n \"screenfull\": \"^6.0.2\",\n \"steelseries\": \"^2.0.9\",\n \"ts-node\": \"^10.9.2\",\n \"tslib\": \"^2.6.2\",\n \"typescript\": \"^5.8.3\",\n \"zone.js\": \"^0.15.1\"\n }\n}\n", "import { effect, inject, Injectable, signal, untracked } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { AppSettingsService } from './app-settings.service';\nimport { DataService } from './data.service';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport packageInfo from '../../../../package.json';\n\n/**\n * Snack-bar notification message interface.\n */\nexport interface AppNotification {\n message: string;\n action?: string;\n duration: number;\n silent: boolean;\n}\n\n\n/**\n * Kip theme hex colors\n *\n * @export\n * @interface ITheme\n */\nexport interface ITheme {\n blue: string,\n blueDim: string,\n blueDimmer: string,\n green: string,\n greenDim: string,\n greenDimmer: string,\n purple: string,\n purpleDim: string,\n purpleDimmer: string,\n yellow: string,\n yellowDim: string,\n yellowDimmer: string,\n pink: string,\n pinkDim: string,\n pinkDimmer: string,\n orange: string,\n orangeDim: string,\n orangeDimmer: string,\n contrast: string,\n contrastDim: string,\n contrastDimmer: string,\n grey: string,\n greyDim: string,\n greyDimmer: string,\n port: string,\n starboard: string,\n zoneNominal: string,\n zoneAlert: string,\n zoneWarn: string,\n zoneAlarm: string,\n zoneEmergency: string,\n background: string,\n cardColor: string,\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppService {\n readonly MODE_PATH: string = 'self.environment.mode';\n public readonly configurableThemeColors: {label: string, value: string}[] = [\n {label: \"Contrast\", value: \"contrast\"},\n {label: \"Blue\", value: \"blue\"},\n {label: \"Green\", value: \"green\"},\n {label: \"Orange\", value: \"orange\"},\n {label: \"Yellow\", value: \"yellow\"},\n {label: \"Pink\", value: \"pink\"},\n {label: \"Purple\", value: \"purple\"},\n {label: \"Grey\", value: \"grey\"}\n ];\n public snackbarAppNotifications = new Subject<AppNotification>(); // for snackbar message\n public readonly cssThemeColorRoles$ = new BehaviorSubject<ITheme|null>(null);\n private _cssThemeColorRoles: ITheme = null;\n private _settings = inject(AppSettingsService);\n private _data = inject(DataService);\n public isNightMode = signal<boolean>(false);\n private _useAutoNightMode = toSignal(this._settings.getAutoNightModeAsO(), { requireSync: true });\n private _theme = toSignal(this._settings.getThemeNameAsO(), { requireSync: true });\n private _redNightMode = toSignal(this._settings.getRedNightModeAsO(), { requireSync: true });\n private _environmentMode = toSignal(this._data.subscribePath(this.MODE_PATH, 'default'));\n\n public readonly appVersion = signal<string>(packageInfo.version);\n public readonly browserVersion = signal<string>('Unknown');\n public readonly osVersion = signal<string>('Unknown');\n\n constructor() {\n effect(() => {\n if (this._theme() === 'light-theme') {\n document.body.classList.toggle('light-theme', this._theme() === 'light-theme');\n } else {\n // Remove the light theme class if it exists\n document.body.classList.remove('light-theme');\n }\n });\n\n effect(() => {\n const mode = this._environmentMode().data.value;\n if (this._useAutoNightMode()) {\n this.isNightMode.set(mode === \"night\");\n this.toggleDayNightMode();\n }\n });\n\n effect(() => {\n const redNightMode = this._redNightMode();\n\n untracked(() => {\n if (redNightMode) {\n this.toggleDayNightMode();\n } else {\n this.toggleDayNightMode();\n }\n });\n });\n\n this.readThemeCssRoleVariables();\n this._cssThemeColorRoles = this.cssThemeColorRoles$.getValue();\n\n this.browserVersion.set(this.getBrowserVersion());\n this.osVersion.set(this.getOSVersion());\n\n console.log(\"*********** KIP Version Information ***********\");\n console.log(`** App Version: ${this.appVersion()}`);\n console.log(`** Browser Version: ${this.browserVersion()}`);\n console.log(`** OS Version: ${this.osVersion()}`);\n console.log(\"***********************************************\");\n }\n\n /**\n * Display Kip Snackbar notification.\n *\n * @param message Text to be displayed.\n * @param duration Display duration in milliseconds before automatic dismissal.\n * Duration value of 0 is indefinite or until use clicks Dismiss button. Defaults\n * to 10000 of no value is provided.\n * @param silent A boolean that defines if the notification should make no sound.\n * Defaults false.\n */\n public sendSnackbarNotification(message: string, duration = 10000, silent = false, action = \"Dismiss\") {\n this.snackbarAppNotifications.next({ message: message, duration: duration, silent: silent, action: action });\n }\n\n /**\n * Observable to receive Kip app Snackbar notification. Use in app.component ONLY.\n *\n * @usageNotes To send a Snackbar notification, use sendSnackbarNotification().\n * Notifications are purely client side and have no relationship or\n * interactions with the Signal K server.\n */\n public getSnackbarAppNotifications() {\n return this.snackbarAppNotifications.asObservable();\n }\n\n private readThemeCssRoleVariables(): void {\n const root = document.body;\n const computedStyle = getComputedStyle(root);\n const cssThemeRolesColor: ITheme = {\n background: computedStyle.getPropertyValue('--mat-sys-background').trim(),\n cardColor: computedStyle.getPropertyValue('--kip-widget-card-background-color').trim(),\n blue: computedStyle.getPropertyValue('--kip-blue-color').trim(),\n blueDim: computedStyle.getPropertyValue('--kip-blue-dim-color').trim(),\n blueDimmer: computedStyle.getPropertyValue('--kip-blue-dimmer-color').trim(),\n green: computedStyle.getPropertyValue('--kip-green-color').trim(),\n greenDim: computedStyle.getPropertyValue('--kip-green-dim-color').trim(),\n greenDimmer: computedStyle.getPropertyValue('--kip-green-dimmer-color').trim(),\n grey: computedStyle.getPropertyValue('--kip-grey-color').trim(),\n greyDim: computedStyle.getPropertyValue('--kip-grey-dim-color').trim(),\n greyDimmer: computedStyle.getPropertyValue('--kip-grey-dimmer-color').trim(),\n orange: computedStyle.getPropertyValue('--kip-orange-color').trim(),\n orangeDim: computedStyle.getPropertyValue('--kip-orange-dim-color').trim(),\n orangeDimmer: computedStyle.getPropertyValue('--kip-orange-dimmer-color').trim(),\n pink: computedStyle.getPropertyValue('--kip-pink-color').trim(),\n pinkDim: computedStyle.getPropertyValue('--kip-pink-dim-color').trim(),\n pinkDimmer: computedStyle.getPropertyValue('--kip-pink-dimmer-color').trim(),\n purple: computedStyle.getPropertyValue('--kip-purple-color').trim(),\n purpleDim: computedStyle.getPropertyValue('--kip-purple-dim-color').trim(),\n purpleDimmer: computedStyle.getPropertyValue('--kip-purple-dimmer-color').trim(),\n contrast: computedStyle.getPropertyValue('--kip-contrast-color').trim(),\n contrastDim: computedStyle.getPropertyValue('--kip-contrast-dim-color').trim(),\n contrastDimmer: computedStyle.getPropertyValue('--kip-contrast-dimmer-color').trim(),\n yellow: computedStyle.getPropertyValue('--kip-yellow-color').trim(),\n yellowDim: computedStyle.getPropertyValue('--kip-yellow-dim-color').trim(),\n yellowDimmer: computedStyle.getPropertyValue('--kip-yellow-dimmer-color').trim(),\n port: computedStyle.getPropertyValue('--kip-port-color').trim(),\n starboard: computedStyle.getPropertyValue('--kip-starboard-color').trim(),\n zoneNominal: computedStyle.getPropertyValue('--kip-zone-nominal-color').trim(),\n zoneAlert: computedStyle.getPropertyValue('--kip-zone-alert-color').trim(),\n zoneWarn: computedStyle.getPropertyValue('--kip-zone-warn-color').trim(),\n zoneAlarm: computedStyle.getPropertyValue('--kip-zone-alarm-color').trim(),\n zoneEmergency: computedStyle.getPropertyValue('--kip-zone-emergency-color').trim(),\n };\n this.cssThemeColorRoles$.next(cssThemeRolesColor);\n }\n\n public get cssThemeColors() : ITheme {\n return this._cssThemeColorRoles;\n }\n\n public setBrightness(brightness: number, applyNightFilters = false): void {\n const appFilterWrapper = document.body;\n\n // Set the brightness level\n appFilterWrapper.style.setProperty('--kip-nightModeBrightness', `${brightness}`);\n\n // Apply sepia and hue-rotate filters if night mode is active\n const additionalFilters = applyNightFilters ? ' sepia(0.5) hue-rotate(-30deg)' : '';\n appFilterWrapper.style.setProperty('--kip-nightModeFilters', additionalFilters);\n }\n\n public toggleDayNightMode(): void {\n if (this.isNightMode()) {\n if (this._redNightMode()) {\n document.body.classList.toggle('night-theme', true);\n this.setBrightness(1, false);\n } else {\n this.setBrightness(this._settings.getNightModeBrightness(), true);\n document.body.classList.remove('night-theme');\n if (this._theme() === 'light-theme') {\n document.body.classList.toggle('light-theme', this._theme() === 'light-theme');\n } else {\n document.body.classList.remove('light-theme');\n }\n }\n\n } else {\n document.body.classList.remove('night-theme');\n if (this._theme() === 'light-theme') {\n document.body.classList.toggle('light-theme', this._theme() === 'light-theme');\n }\n this.setBrightness(1, false);\n }\n this.readThemeCssRoleVariables();\n this._cssThemeColorRoles = this.cssThemeColorRoles$.getValue();\n }\n\n /**\n * Helper method to get the browser version.\n */\n private getBrowserVersion(): string {\n const userAgent = navigator.userAgent;\n let browser = 'Unknown';\n\n if (userAgent.includes('Edg')) {\n browser = `Edge ${userAgent.match(/Edg\\/(\\d+)/)?.[1]}`;\n } else if (userAgent.includes('Chrome') && !userAgent.includes('Edg') && !userAgent.includes('Chromium')) {\n browser = `Chrome ${userAgent.match(/Chrome\\/(\\d+)/)?.[1]}`;\n } else if (userAgent.includes('Chromium')) {\n browser = `Chromium ${userAgent.match(/Chromium\\/(\\d+)/)?.[1]}`;\n } else if (userAgent.includes('Firefox')) {\n browser = `Firefox ${userAgent.match(/Firefox\\/(\\d+)/)?.[1]}`;\n } else if (userAgent.includes('Safari') && !userAgent.includes('Chrome') && !userAgent.includes('Chromium')) {\n browser = `Safari ${userAgent.match(/Version\\/(\\d+)/)?.[1]}`;\n } else if (userAgent.includes('Opera') || userAgent.includes('OPR')) {\n browser = `Opera ${userAgent.match(/(Opera|OPR)\\/(\\d+)/)?.[2]}`;\n }\n\n return browser;\n }\n\n /**\n * Helper method to get the OS version.\n */\n private getOSVersion(): string {\n const platform = navigator.platform;\n const userAgent = navigator.userAgent;\n\n if (platform.startsWith('Mac')) {\n return 'macOS';\n } else if (platform.startsWith('Win')) {\n return 'Windows';\n } else if (/Linux/.test(platform)) {\n // Check for Raspberry Pi identifiers in the userAgent or platform\n if (\n userAgent.includes('ARM') ||\n userAgent.includes('aarch64') ||\n userAgent.includes('Raspberry') ||\n platform.includes('armv7l') ||\n platform.includes('armv8l')\n ) {\n return 'Raspberry Pi';\n }\n return 'Linux';\n } else {\n return 'Unknown OS';\n }\n }\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/public/index.html
CHANGED
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
</div>
|
|
63
63
|
</app-root>
|
|
64
64
|
</div>
|
|
65
|
-
<link rel="modulepreload" href="chunk-
|
|
65
|
+
<link rel="modulepreload" href="chunk-5NYGXVMX.js"><link rel="modulepreload" href="chunk-Y6N6O2IP.js"><link rel="modulepreload" href="chunk-D7ILNFDM.js"><link rel="modulepreload" href="chunk-63ILPRXC.js"><link rel="modulepreload" href="chunk-YZXYVP72.js"><link rel="modulepreload" href="chunk-E24UNLSJ.js"><link rel="modulepreload" href="chunk-3VR3EA35.js"><link rel="modulepreload" href="chunk-65ZWQBS6.js"><link rel="modulepreload" href="chunk-J42S2ELC.js"><link rel="modulepreload" href="chunk-UQYTD5AC.js"><script src="polyfills.js" type="module"></script><script src="main.js" type="module"></script></body>
|
|
66
66
|
</html>
|
package/public/main.js
CHANGED
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
MatListModule,
|
|
17
17
|
TileLargeIconComponent,
|
|
18
18
|
uiEventService
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-5NYGXVMX.js";
|
|
20
20
|
import {
|
|
21
21
|
Animations,
|
|
22
22
|
CanvasService,
|
|
@@ -94,7 +94,7 @@ import {
|
|
|
94
94
|
} from "./chunk-UQYTD5AC.js";
|
|
95
95
|
import {
|
|
96
96
|
AppService
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-OFG4OEIS.js";
|
|
98
98
|
import {
|
|
99
99
|
MatDivider
|
|
100
100
|
} from "./chunk-MCEJWZB2.js";
|
|
@@ -13679,14 +13679,16 @@ var WidgetAutopilotComponent = class _WidgetAutopilotComponent extends BaseWidge
|
|
|
13679
13679
|
const state2 = this.apState();
|
|
13680
13680
|
const engaged = this.apEngaged();
|
|
13681
13681
|
const apiVersion = this.widgetProperties.config.autopilot.apiVersion;
|
|
13682
|
+
console.log(`[Autopilot Widget] apEngageBtnDisabled apiVersion: ${apiVersion}, state: ${state2}, engaged: ${engaged}`);
|
|
13682
13683
|
if (!apiVersion)
|
|
13683
13684
|
return true;
|
|
13684
13685
|
if (apiVersion === "v1") {
|
|
13685
13686
|
return ["standby", "off-line"].includes(state2) ? true : false;
|
|
13686
13687
|
}
|
|
13687
13688
|
if (apiVersion === "v2") {
|
|
13688
|
-
return
|
|
13689
|
+
return false;
|
|
13689
13690
|
}
|
|
13691
|
+
console.log(`[Autopilot Widget] DEFAULT return`);
|
|
13690
13692
|
return true;
|
|
13691
13693
|
}, ...ngDevMode ? [{ debugName: "apEngageBtnDisabled" }] : []);
|
|
13692
13694
|
apBtnDisabled = computed(() => {
|
|
@@ -28293,12 +28295,12 @@ var routes = [
|
|
|
28293
28295
|
},
|
|
28294
28296
|
{
|
|
28295
28297
|
path: "home",
|
|
28296
|
-
loadComponent: () => import("./chunk-
|
|
28298
|
+
loadComponent: () => import("./chunk-MMVERQLK.js").then((m) => m.HomeComponent),
|
|
28297
28299
|
title: "KIP - Home"
|
|
28298
28300
|
},
|
|
28299
28301
|
{
|
|
28300
28302
|
path: "settings",
|
|
28301
|
-
loadComponent: () => import("./chunk-
|
|
28303
|
+
loadComponent: () => import("./chunk-HR2WMF3Q.js").then((m) => m.AppSettingsComponent),
|
|
28302
28304
|
title: "KIP - Settings"
|
|
28303
28305
|
},
|
|
28304
28306
|
{
|
|
@@ -28318,7 +28320,7 @@ var routes = [
|
|
|
28318
28320
|
},
|
|
28319
28321
|
{
|
|
28320
28322
|
path: "login",
|
|
28321
|
-
loadComponent: () => import("./chunk-
|
|
28323
|
+
loadComponent: () => import("./chunk-2IRAP774.js").then((m) => m.WidgetLoginComponent),
|
|
28322
28324
|
title: "Login"
|
|
28323
28325
|
},
|
|
28324
28326
|
{
|