@vived/host 3.3.0 → 3.5.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 (88) hide show
  1. package/lib/Components/Dispatcher/UCs/DispatchThemeUC.d.ts +52 -1
  2. package/lib/Components/Dispatcher/UCs/DispatchThemeUC.js +7 -2
  3. package/lib/Components/Handler/UCs/SubmitLogHandler.js +25 -2
  4. package/lib/Components/Logger/Adapters/fatalErrorAdapter.d.ts +3 -0
  5. package/lib/Components/Logger/Adapters/fatalErrorAdapter.js +23 -0
  6. package/lib/Components/Logger/Adapters/index.d.ts +1 -0
  7. package/lib/Components/Logger/Adapters/index.js +13 -0
  8. package/lib/Components/Logger/Controllers/clickDownloadLog.d.ts +2 -0
  9. package/lib/Components/Logger/Controllers/clickDownloadLog.js +14 -0
  10. package/lib/Components/Logger/Controllers/index.d.ts +1 -0
  11. package/lib/Components/Logger/Controllers/index.js +13 -0
  12. package/lib/Components/Logger/Entities/LoggerEntity.d.ts +20 -0
  13. package/lib/Components/Logger/Entities/LoggerEntity.js +70 -0
  14. package/lib/Components/Logger/Entities/index.d.ts +1 -0
  15. package/lib/Components/Logger/Entities/index.js +13 -0
  16. package/lib/Components/Logger/Mocks/MockDownloadLogUC.d.ts +9 -0
  17. package/lib/Components/Logger/Mocks/MockDownloadLogUC.js +16 -0
  18. package/lib/Components/Logger/Mocks/MockFatalErrorPM.d.ts +8 -0
  19. package/lib/Components/Logger/Mocks/MockFatalErrorPM.js +15 -0
  20. package/lib/Components/Logger/Mocks/index.d.ts +2 -0
  21. package/lib/Components/Logger/Mocks/index.js +14 -0
  22. package/lib/Components/Logger/PMs/FatalErrorPM.d.ts +17 -0
  23. package/lib/Components/Logger/PMs/FatalErrorPM.js +18 -0
  24. package/lib/Components/Logger/PMs/index.d.ts +1 -0
  25. package/lib/Components/Logger/PMs/index.js +13 -0
  26. package/lib/Components/Logger/UCs/DownloadLogUC.d.ts +8 -0
  27. package/lib/Components/Logger/UCs/DownloadLogUC.js +36 -0
  28. package/lib/Components/Logger/UCs/index.d.ts +1 -0
  29. package/lib/Components/Logger/UCs/index.js +13 -0
  30. package/lib/Components/Logger/index.d.ts +6 -0
  31. package/lib/Components/Logger/index.js +18 -0
  32. package/lib/Components/ThemeColors/Adapter/index.d.ts +1 -0
  33. package/lib/Components/ThemeColors/Adapter/index.js +13 -0
  34. package/lib/Components/ThemeColors/Adapter/themeColorAdapter.d.ts +3 -0
  35. package/lib/Components/ThemeColors/Adapter/themeColorAdapter.js +23 -0
  36. package/lib/Components/ThemeColors/Controllers/getOnPrimaryColor.d.ts +3 -0
  37. package/lib/Components/ThemeColors/Controllers/getOnPrimaryColor.js +16 -0
  38. package/lib/Components/ThemeColors/Controllers/getOnSurfaceColor.d.ts +3 -0
  39. package/lib/Components/ThemeColors/Controllers/getOnSurfaceColor.js +16 -0
  40. package/lib/Components/ThemeColors/Controllers/getPrimaryColor.d.ts +3 -0
  41. package/lib/Components/ThemeColors/Controllers/getPrimaryColor.js +16 -0
  42. package/lib/Components/ThemeColors/Controllers/getSurfaceColor.d.ts +3 -0
  43. package/lib/Components/ThemeColors/Controllers/getSurfaceColor.js +16 -0
  44. package/lib/Components/ThemeColors/Controllers/getSurfaceContainerColor.d.ts +3 -0
  45. package/lib/Components/ThemeColors/Controllers/getSurfaceContainerColor.js +16 -0
  46. package/lib/Components/ThemeColors/Controllers/index.d.ts +5 -0
  47. package/lib/Components/ThemeColors/Controllers/index.js +17 -0
  48. package/lib/Components/ThemeColors/Data/index.d.ts +2 -0
  49. package/lib/Components/ThemeColors/Data/index.js +10 -0
  50. package/lib/Components/ThemeColors/Data/vivedDarkTheme.json +51 -0
  51. package/lib/Components/ThemeColors/Data/vivedLightTheme.json +51 -0
  52. package/lib/Components/ThemeColors/Entities/HostThemeEntity.d.ts +127 -0
  53. package/lib/Components/ThemeColors/Entities/HostThemeEntity.js +166 -0
  54. package/lib/Components/ThemeColors/Entities/index.d.ts +1 -0
  55. package/lib/Components/ThemeColors/Entities/index.js +13 -0
  56. package/lib/Components/ThemeColors/Mocks/MockThemeColorPM.d.ts +8 -0
  57. package/lib/Components/ThemeColors/Mocks/MockThemeColorPM.js +15 -0
  58. package/lib/Components/ThemeColors/Mocks/index.d.ts +1 -0
  59. package/lib/Components/ThemeColors/Mocks/index.js +13 -0
  60. package/lib/Components/ThemeColors/PM/ThemeColorsPM.d.ts +12 -0
  61. package/lib/Components/ThemeColors/PM/ThemeColorsPM.js +46 -0
  62. package/lib/Components/ThemeColors/PM/index.d.ts +1 -0
  63. package/lib/Components/ThemeColors/PM/index.js +13 -0
  64. package/lib/Components/ThemeColors/UCs/SetThemeUC.d.ts +10 -0
  65. package/lib/Components/ThemeColors/UCs/SetThemeUC.js +43 -0
  66. package/lib/Components/ThemeColors/UCs/index.d.ts +1 -0
  67. package/lib/Components/ThemeColors/UCs/index.js +13 -0
  68. package/lib/Components/ThemeColors/index.d.ts +7 -0
  69. package/lib/Components/ThemeColors/index.js +19 -0
  70. package/lib/Components/index.d.ts +2 -0
  71. package/lib/Components/index.js +2 -0
  72. package/lib/Entities/MemoizedColor.d.ts +9 -0
  73. package/lib/Entities/MemoizedColor.js +23 -0
  74. package/lib/Entities/index.d.ts +9 -9
  75. package/lib/Entities/index.js +1 -1
  76. package/lib/Utilities/addAlphaToHex.d.ts +1 -0
  77. package/lib/Utilities/addAlphaToHex.js +16 -0
  78. package/lib/Utilities/alphaToHex.d.ts +2 -0
  79. package/lib/Utilities/alphaToHex.js +21 -0
  80. package/lib/Utilities/downloadFile.d.ts +1 -0
  81. package/lib/Utilities/downloadFile.js +14 -0
  82. package/lib/Utilities/index.d.ts +3 -0
  83. package/lib/Utilities/index.js +3 -0
  84. package/lib/ValueObjects/Color.d.ts +82 -0
  85. package/lib/ValueObjects/Color.js +858 -0
  86. package/lib/ValueObjects/index.d.ts +2 -1
  87. package/lib/ValueObjects/index.js +1 -0
  88. package/package.json +1 -1
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeSetThemeUC = exports.SetThemeUC = void 0;
4
+ const HostAppObject_1 = require("../../../HostAppObject");
5
+ const Entities_1 = require("../Entities");
6
+ class SetThemeUC extends HostAppObject_1.HostAppObjectUC {
7
+ static get(appObjects) {
8
+ return HostAppObject_1.getSingletonComponent(SetThemeUC.type, appObjects);
9
+ }
10
+ }
11
+ exports.SetThemeUC = SetThemeUC;
12
+ SetThemeUC.type = "SetThemeUC";
13
+ function makeSetThemeUC(appObject) {
14
+ return new SetThemeUCImp(appObject);
15
+ }
16
+ exports.makeSetThemeUC = makeSetThemeUC;
17
+ class SetThemeUCImp extends SetThemeUC {
18
+ constructor(appObject) {
19
+ super(appObject, SetThemeUC.type);
20
+ this.lightThemeName = "light";
21
+ this.darkThemeName = "dark";
22
+ this.appObjects.registerSingleton(this);
23
+ }
24
+ get theme() {
25
+ return this.getCachedSingleton(Entities_1.HostThemeEntity.type);
26
+ }
27
+ setThemeByName(name) {
28
+ if (!this.theme)
29
+ return;
30
+ this.theme.activeSchemeName = name;
31
+ }
32
+ tryDetectTheme() {
33
+ if (!this.theme)
34
+ return;
35
+ const darkThemeMq = window.matchMedia("(prefers-color-scheme: dark)");
36
+ if (darkThemeMq.matches) {
37
+ this.theme.activeSchemeName = this.darkThemeName;
38
+ }
39
+ else {
40
+ this.theme.activeSchemeName = this.darkThemeName;
41
+ }
42
+ }
43
+ }
@@ -0,0 +1 @@
1
+ export * from "./SetThemeUC";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./SetThemeUC"), exports);
@@ -0,0 +1,7 @@
1
+ export * from "./Adapter";
2
+ export * from "./Controllers";
3
+ export * from "./Data";
4
+ export * from "./Entities";
5
+ export * from "./Mocks";
6
+ export * from "./PM";
7
+ export * from "./UCs";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./Adapter"), exports);
14
+ __exportStar(require("./Controllers"), exports);
15
+ __exportStar(require("./Data"), exports);
16
+ __exportStar(require("./Entities"), exports);
17
+ __exportStar(require("./Mocks"), exports);
18
+ __exportStar(require("./PM"), exports);
19
+ __exportStar(require("./UCs"), exports);
@@ -4,6 +4,8 @@ export * from "./Assets";
4
4
  export * from "./Dialog";
5
5
  export * from "./Dispatcher";
6
6
  export * from "./Handler";
7
+ export * from "./Logger";
7
8
  export * from "./StateMachine";
9
+ export * from "./ThemeColors";
8
10
  export * from "./VivedAPI";
9
11
  export * from "./ZSpaceHost";
@@ -16,6 +16,8 @@ __exportStar(require("./Assets"), exports);
16
16
  __exportStar(require("./Dialog"), exports);
17
17
  __exportStar(require("./Dispatcher"), exports);
18
18
  __exportStar(require("./Handler"), exports);
19
+ __exportStar(require("./Logger"), exports);
19
20
  __exportStar(require("./StateMachine"), exports);
21
+ __exportStar(require("./ThemeColors"), exports);
20
22
  __exportStar(require("./VivedAPI"), exports);
21
23
  __exportStar(require("./ZSpaceHost"), exports);
@@ -0,0 +1,9 @@
1
+ import { Color } from "../ValueObjects";
2
+ export declare class MemoizedColor {
3
+ private _val;
4
+ get val(): Color;
5
+ set val(v: Color);
6
+ setValQuietly(val: Color): void;
7
+ private onChangeCallback;
8
+ constructor(initialValue: Color, onChangeCallback: () => void);
9
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoizedColor = void 0;
4
+ const ValueObjects_1 = require("../ValueObjects");
5
+ class MemoizedColor {
6
+ constructor(initialValue, onChangeCallback) {
7
+ this._val = initialValue;
8
+ this.onChangeCallback = onChangeCallback;
9
+ }
10
+ get val() {
11
+ return this._val;
12
+ }
13
+ set val(v) {
14
+ if (ValueObjects_1.Color.Equal(v, this._val))
15
+ return;
16
+ this._val = v;
17
+ this.onChangeCallback();
18
+ }
19
+ setValQuietly(val) {
20
+ this._val = val;
21
+ }
22
+ }
23
+ exports.MemoizedColor = MemoizedColor;
@@ -1,9 +1,9 @@
1
- export * from './Auth';
2
- export * from './ChallengeResults';
3
- export * from './Logger';
4
- export * from './MemoizedBoolean';
5
- export * from './MemoizedNumber';
6
- export * from './MemoizedString';
7
- export * from './ObservableEntity';
8
- export * from './ObserverList';
9
- export * from './SnackbarRepo';
1
+ export * from "./Auth";
2
+ export * from "./ChallengeResults";
3
+ export * from "./MemoizedBoolean";
4
+ export * from "./MemoizedColor";
5
+ export * from "./MemoizedNumber";
6
+ export * from "./MemoizedString";
7
+ export * from "./ObservableEntity";
8
+ export * from "./ObserverList";
9
+ export * from "./SnackbarRepo";
@@ -12,8 +12,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./Auth"), exports);
14
14
  __exportStar(require("./ChallengeResults"), exports);
15
- __exportStar(require("./Logger"), exports);
16
15
  __exportStar(require("./MemoizedBoolean"), exports);
16
+ __exportStar(require("./MemoizedColor"), exports);
17
17
  __exportStar(require("./MemoizedNumber"), exports);
18
18
  __exportStar(require("./MemoizedString"), exports);
19
19
  __exportStar(require("./ObservableEntity"), exports);
@@ -0,0 +1 @@
1
+ export declare function addAlphaToHex(hex: string, alpha: number): string;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addAlphaToHex = void 0;
4
+ const alphaToHex_1 = require("./alphaToHex");
5
+ function addAlphaToHex(hex, alpha) {
6
+ if (!/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(hex)) {
7
+ console.warn("[addAlphaToHex] Hex value is not valid.");
8
+ return "#000";
9
+ }
10
+ if (hex.length === 4) {
11
+ hex = "#" + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3];
12
+ }
13
+ const alphaHex = alphaToHex_1.alphaToHex(alpha);
14
+ return `${hex}${alphaHex}`;
15
+ }
16
+ exports.addAlphaToHex = addAlphaToHex;
@@ -0,0 +1,2 @@
1
+ export declare function roundHalfToEven(number: number): number;
2
+ export declare function alphaToHex(alpha: number): string;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.alphaToHex = exports.roundHalfToEven = void 0;
4
+ function roundHalfToEven(number) {
5
+ const roundedNumber = Math.round(number);
6
+ if (Math.abs(roundedNumber - number) === 0.5 && roundedNumber % 2 !== 0) {
7
+ return roundedNumber > number ? roundedNumber - 1 : roundedNumber + 1;
8
+ }
9
+ return roundedNumber;
10
+ }
11
+ exports.roundHalfToEven = roundHalfToEven;
12
+ function alphaToHex(alpha) {
13
+ if (alpha < 0 || alpha > 1) {
14
+ console.warn("[alphaToHex] Alpha value must be between 0 and 1.");
15
+ return "00";
16
+ }
17
+ const alpha255 = roundHalfToEven(alpha * 255);
18
+ const alphaHex = alpha255.toString(16).padStart(2, "0");
19
+ return alphaHex;
20
+ }
21
+ exports.alphaToHex = alphaToHex;
@@ -0,0 +1 @@
1
+ export declare function downloadFile(filename: string, file: Blob): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.downloadFile = void 0;
4
+ function downloadFile(filename, file) {
5
+ const a = document.createElement("a");
6
+ const url = window.URL.createObjectURL(file);
7
+ a.href = url;
8
+ a.download = filename;
9
+ document.body.appendChild(a);
10
+ a.click();
11
+ document.body.removeChild(a);
12
+ window.URL.revokeObjectURL(url);
13
+ }
14
+ exports.downloadFile = downloadFile;
@@ -1 +1,4 @@
1
+ export * from "./addAlphaToHex";
2
+ export * from "./alphaToHex";
3
+ export * from "./downloadFile";
1
4
  export * from "./generateUniqueID";
@@ -10,4 +10,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./addAlphaToHex"), exports);
14
+ __exportStar(require("./alphaToHex"), exports);
15
+ __exportStar(require("./downloadFile"), exports);
13
16
  __exportStar(require("./generateUniqueID"), exports);
@@ -0,0 +1,82 @@
1
+ export declare type BasicColor = "";
2
+ export interface ColorDTO {
3
+ r: number;
4
+ g: number;
5
+ b: number;
6
+ a: number;
7
+ }
8
+ export declare class Color {
9
+ /**
10
+ * Creates a Color from RGBA values
11
+ * @param r Red value, between 0-255
12
+ * @param g Green value, between 0-255
13
+ * @param b Blue value, between 0-255
14
+ * @param a Alpha value, between 0-255
15
+ * @returns The Color
16
+ */
17
+ static RGBA(r: number, g: number, b: number, a: number): Color;
18
+ /**
19
+ * Creates a Color from RGB values. Alpha is set to 255
20
+ * @param r Red value, between 0-255
21
+ * @param g Green value, between 0-255
22
+ * @param b Blue value, between 0-255
23
+ * @returns The Color
24
+ */
25
+ static RGB(r: number, g: number, b: number): Color;
26
+ /**
27
+ *
28
+ * @returns Creates a Color from a DTO
29
+ * @param data Data Transfer Object
30
+ */
31
+ static FromDTO(data: ColorDTO): Color;
32
+ /**
33
+ * Creates a color from a Hex value
34
+ * @param hex The Hex string. Example '808080'
35
+ * @returns The Color
36
+ */
37
+ static Hex(hex: string): Color;
38
+ /**
39
+ * Creates a color from the X11 standard.
40
+ * @param name X11 name
41
+ * @returns The Color. If the color name is not found, it will return Black.
42
+ */
43
+ static X11(name: string): Color;
44
+ /**
45
+ * Checks to see if Color A equals Color B
46
+ * @param a Color A
47
+ * @param b Color B
48
+ * @returns True if Color A === Color B
49
+ */
50
+ static Equal(a: Color, b: Color): boolean;
51
+ readonly r: number;
52
+ readonly g: number;
53
+ readonly b: number;
54
+ readonly a: number;
55
+ /**
56
+ * Return the r value as a percent
57
+ */
58
+ get rPercent(): number;
59
+ /**
60
+ * Return the g value as a percent
61
+ */
62
+ get gPercent(): number;
63
+ /**
64
+ * Return the b value as a percent
65
+ */
66
+ get bPercent(): number;
67
+ /**
68
+ * Return the a value as a percent
69
+ */
70
+ get aPercent(): number;
71
+ /**
72
+ * Returns the Color values as an array [r,g,b,a]
73
+ */
74
+ get array(): [number, number, number, number];
75
+ /**
76
+ * Returns the Color values as a hex
77
+ */
78
+ get hex(): string;
79
+ get dto(): ColorDTO;
80
+ private clampVal;
81
+ private constructor();
82
+ }