@victronenergy/mfd-modules 9.2.0 → 9.2.1

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.
@@ -15,7 +15,7 @@ export declare class ThemeStore {
15
15
  constructor();
16
16
  setDarkMode: (darkMode: boolean) => boolean;
17
17
  setNightMode: (nightMode: boolean) => boolean;
18
- setAutoMode: (autoMode: boolean) => boolean;
18
+ setAutoMode: (autoMode: boolean) => void;
19
19
  destroy: () => void;
20
20
  }
21
21
  export declare function useThemeStore(): ThemeStore;
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.store.d.ts","sourceRoot":"/","sources":["src/Modules/Theme/Theme.store.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,UAAU;IACrB,QAAQ,EAAE,OAAO,CAAO;IACxB,SAAS,EAAE,OAAO,CAAQ;IAC1B,QAAQ,EAAE,OAAO,CAAO;IAExB,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,iBAAiB,CAA4B;IAErD,oBAAoB,aAInB;IAED,OAAO,CAAC,0BAA0B,CAoBjC;IAED,OAAO,CAAC,yBAAyB,CAKhC;;IA2BD,WAAW,GAAI,UAAU,OAAO,aAA6B;IAC7D,YAAY,GAAI,WAAW,OAAO,aAA+B;IACjE,WAAW,GAAI,UAAU,OAAO,aAA6B;IAE7D,OAAO,aAEN;CACF;AAcD,wBAAgB,aAAa,eAE5B"}
1
+ {"version":3,"file":"Theme.store.d.ts","sourceRoot":"/","sources":["src/Modules/Theme/Theme.store.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,UAAU;IACrB,QAAQ,EAAE,OAAO,CAAO;IACxB,SAAS,EAAE,OAAO,CAAQ;IAC1B,QAAQ,EAAE,OAAO,CAAO;IAExB,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,iBAAiB,CAA4B;IAErD,oBAAoB,aAInB;IAED,OAAO,CAAC,0BAA0B,CAoBjC;IAED,OAAO,CAAC,yBAAyB,CAKhC;;IAkBD,WAAW,GAAI,UAAU,OAAO,aAA6B;IAC7D,YAAY,GAAI,WAAW,OAAO,aAA+B;IACjE,WAAW,GAAI,UAAU,OAAO,UAO/B;IAED,OAAO,aAEN;CACF;AAWD,wBAAgB,aAAa,eAE5B"}
@@ -1,4 +1,4 @@
1
- import { action, makeAutoObservable, reaction } from "mobx";
1
+ import { action, makeAutoObservable } from "mobx";
2
2
  import { makePersistable } from "mobx-persist-store";
3
3
  import { useMemo } from "react";
4
4
  import { Storage } from "../../utils/storage";
@@ -97,7 +97,15 @@ var ThemeStore = /** @class */ (function () {
97
97
  enumerable: true,
98
98
  configurable: true,
99
99
  writable: true,
100
- value: function (autoMode) { return _this.autoMode = autoMode; }
100
+ value: function (autoMode) {
101
+ _this.autoMode = autoMode;
102
+ if (autoMode) {
103
+ _this.startMediaQueryObservation();
104
+ }
105
+ else {
106
+ _this.stopMediaQueryObservation();
107
+ }
108
+ }
101
109
  });
102
110
  Object.defineProperty(this, "destroy", {
103
111
  enumerable: true,
@@ -116,14 +124,8 @@ var ThemeStore = /** @class */ (function () {
116
124
  name: "ThemeStore",
117
125
  properties: ["darkMode", "nightMode", "autoMode"],
118
126
  storage: Storage,
119
- });
120
- reaction(function () { return _this.autoMode; }, function (autoMode) {
121
- if (autoMode) {
122
- _this.startMediaQueryObservation();
123
- }
124
- else {
125
- _this.stopMediaQueryObservation();
126
- }
127
+ }).then(function () {
128
+ _this.initializeMediaQuery();
127
129
  });
128
130
  }
129
131
  return ThemeStore;
@@ -137,7 +139,6 @@ function initializeStore() {
137
139
  // Create the store once in the client
138
140
  if (!store)
139
141
  store = _store;
140
- _store.initializeMediaQuery();
141
142
  return _store;
142
143
  }
143
144
  export function useThemeStore() {
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.store.js","sourceRoot":"/","sources":["src/Modules/Theme/Theme.store.ts"],"names":[],"mappings":"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","sourcesContent":["import { action, makeAutoObservable, reaction } from \"mobx\"\nimport { makePersistable } from \"mobx-persist-store\"\nimport { useMemo } from \"react\"\nimport { Storage } from \"../../utils/storage\"\n\nlet store: ThemeStore\n\nexport interface ThemeState {\n darkMode: boolean\n nightMode: boolean\n autoMode: boolean\n}\n\nexport class ThemeStore {\n darkMode: boolean = true\n nightMode: boolean = false\n autoMode: boolean = true\n\n private mediaQuery: MediaQueryList | null = null\n private mediaQueryCleanup: (() => void) | null = null\n\n initializeMediaQuery = () => {\n if (this.autoMode) {\n this.startMediaQueryObservation()\n }\n }\n\n private startMediaQueryObservation = () => {\n if (this.mediaQuery) return\n\n this.mediaQuery = window.matchMedia(\"(prefers-color-scheme: dark)\")\n\n if (this.mediaQuery.matches !== this.darkMode) {\n this.setDarkMode(this.mediaQuery.matches)\n }\n\n const handleChange = (e: MediaQueryListEvent) => {\n if (this.autoMode && e.matches !== this.darkMode) {\n this.setDarkMode(e.matches)\n }\n }\n\n this.mediaQuery.addEventListener('change', handleChange)\n this.mediaQueryCleanup = () => {\n this.mediaQuery?.removeEventListener('change', handleChange)\n this.mediaQuery = null\n }\n }\n\n private stopMediaQueryObservation = () => {\n if (this.mediaQueryCleanup) {\n this.mediaQueryCleanup()\n this.mediaQueryCleanup = null\n }\n }\n\n constructor() {\n makeAutoObservable(this, {\n setDarkMode: action,\n setNightMode: action,\n setAutoMode: action,\n })\n\n makePersistable(this, {\n name: \"ThemeStore\",\n properties: [\"darkMode\", \"nightMode\", \"autoMode\"],\n storage: Storage,\n })\n\n reaction(\n () => this.autoMode,\n (autoMode) => {\n if (autoMode) {\n this.startMediaQueryObservation()\n } else {\n this.stopMediaQueryObservation()\n }\n }\n )\n }\n\n setDarkMode = (darkMode: boolean) => this.darkMode = darkMode\n setNightMode = (nightMode: boolean) => this.nightMode = nightMode\n setAutoMode = (autoMode: boolean) => this.autoMode = autoMode\n\n destroy = () => {\n this.stopMediaQueryObservation()\n }\n}\n\nfunction initializeStore() {\n const _store = store ?? new ThemeStore()\n // For SSG and SSR always create a new store\n if (typeof window === \"undefined\") return _store\n // Create the store once in the client\n if (!store) store = _store\n\n _store.initializeMediaQuery()\n\n return _store\n}\n\nexport function useThemeStore() {\n return useMemo(() => initializeStore(), [])\n}"]}
1
+ {"version":3,"file":"Theme.store.js","sourceRoot":"/","sources":["src/Modules/Theme/Theme.store.ts"],"names":[],"mappings":"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","sourcesContent":["import { action, makeAutoObservable } from \"mobx\"\nimport { makePersistable } from \"mobx-persist-store\"\nimport { useMemo } from \"react\"\nimport { Storage } from \"../../utils/storage\"\n\nlet store: ThemeStore\n\nexport interface ThemeState {\n darkMode: boolean\n nightMode: boolean\n autoMode: boolean\n}\n\nexport class ThemeStore {\n darkMode: boolean = true\n nightMode: boolean = false\n autoMode: boolean = true\n\n private mediaQuery: MediaQueryList | null = null\n private mediaQueryCleanup: (() => void) | null = null\n\n initializeMediaQuery = () => {\n if (this.autoMode) {\n this.startMediaQueryObservation()\n }\n }\n\n private startMediaQueryObservation = () => {\n if (this.mediaQuery) return\n\n this.mediaQuery = window.matchMedia(\"(prefers-color-scheme: dark)\")\n\n if (this.mediaQuery.matches !== this.darkMode) {\n this.setDarkMode(this.mediaQuery.matches)\n }\n\n const handleChange = (e: MediaQueryListEvent) => {\n if (this.autoMode && e.matches !== this.darkMode) {\n this.setDarkMode(e.matches)\n }\n }\n\n this.mediaQuery.addEventListener('change', handleChange)\n this.mediaQueryCleanup = () => {\n this.mediaQuery?.removeEventListener('change', handleChange)\n this.mediaQuery = null\n }\n }\n\n private stopMediaQueryObservation = () => {\n if (this.mediaQueryCleanup) {\n this.mediaQueryCleanup()\n this.mediaQueryCleanup = null\n }\n }\n\n constructor() {\n makeAutoObservable(this, {\n setDarkMode: action,\n setNightMode: action,\n setAutoMode: action,\n })\n\n makePersistable(this, {\n name: \"ThemeStore\",\n properties: [\"darkMode\", \"nightMode\", \"autoMode\"],\n storage: Storage,\n }).then(() => {\n this.initializeMediaQuery()\n })\n }\n\n setDarkMode = (darkMode: boolean) => this.darkMode = darkMode\n setNightMode = (nightMode: boolean) => this.nightMode = nightMode\n setAutoMode = (autoMode: boolean) => {\n this.autoMode = autoMode\n if (autoMode) {\n this.startMediaQueryObservation()\n } else {\n this.stopMediaQueryObservation()\n }\n }\n\n destroy = () => {\n this.stopMediaQueryObservation()\n }\n}\n\nfunction initializeStore() {\n const _store = store ?? new ThemeStore()\n // For SSG and SSR always create a new store\n if (typeof window === \"undefined\") return _store\n // Create the store once in the client\n if (!store) store = _store\n return _store\n}\n\nexport function useThemeStore() {\n return useMemo(() => initializeStore(), [])\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@victronenergy/mfd-modules",
3
- "version": "9.2.0",
3
+ "version": "9.2.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",