@vived/host 5.6.0 → 5.8.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 (36) hide show
  1. package/dist/cjs/AppSandbox/Factories/AppSandboxFeatureFactory.js +3 -0
  2. package/dist/cjs/AppSandbox/Factories/AppSandboxFeatureFactory.js.map +1 -1
  3. package/dist/cjs/AppSandbox/UCs/RedispatchThemeToAppUC.js +69 -0
  4. package/dist/cjs/AppSandbox/UCs/RedispatchThemeToAppUC.js.map +1 -0
  5. package/dist/cjs/AppSandbox/UCs/index.js +1 -0
  6. package/dist/cjs/AppSandbox/UCs/index.js.map +1 -1
  7. package/dist/cjs/Dispatcher/UCs/DispatchThemeUC.js.map +1 -1
  8. package/dist/cjs/ThemeColors/Data/vivedDarkTheme.json +59 -47
  9. package/dist/cjs/ThemeColors/Data/vivedLightTheme.json +59 -47
  10. package/dist/cjs/ThemeColors/Entities/HostThemeEntity.js +24 -0
  11. package/dist/cjs/ThemeColors/Entities/HostThemeEntity.js.map +1 -1
  12. package/dist/cjs/ThemeColors/PM/ThemeColorsPM.js +10 -1
  13. package/dist/cjs/ThemeColors/PM/ThemeColorsPM.js.map +1 -1
  14. package/dist/esm/AppSandbox/Factories/AppSandboxFeatureFactory.js +4 -1
  15. package/dist/esm/AppSandbox/Factories/AppSandboxFeatureFactory.js.map +1 -1
  16. package/dist/esm/AppSandbox/UCs/RedispatchThemeToAppUC.js +64 -0
  17. package/dist/esm/AppSandbox/UCs/RedispatchThemeToAppUC.js.map +1 -0
  18. package/dist/esm/AppSandbox/UCs/index.js +1 -0
  19. package/dist/esm/AppSandbox/UCs/index.js.map +1 -1
  20. package/dist/esm/Dispatcher/UCs/DispatchThemeUC.js.map +1 -1
  21. package/dist/esm/ThemeColors/Data/vivedDarkTheme.json +59 -47
  22. package/dist/esm/ThemeColors/Data/vivedLightTheme.json +59 -47
  23. package/dist/esm/ThemeColors/Entities/HostThemeEntity.js +24 -0
  24. package/dist/esm/ThemeColors/Entities/HostThemeEntity.js.map +1 -1
  25. package/dist/esm/ThemeColors/PM/ThemeColorsPM.js +10 -1
  26. package/dist/esm/ThemeColors/PM/ThemeColorsPM.js.map +1 -1
  27. package/dist/types/AppSandbox/Factories/AppSandboxFeatureFactory.d.ts.map +1 -1
  28. package/dist/types/AppSandbox/UCs/RedispatchThemeToAppUC.d.ts +16 -0
  29. package/dist/types/AppSandbox/UCs/RedispatchThemeToAppUC.d.ts.map +1 -0
  30. package/dist/types/AppSandbox/UCs/index.d.ts +1 -0
  31. package/dist/types/AppSandbox/UCs/index.d.ts.map +1 -1
  32. package/dist/types/Dispatcher/UCs/DispatchThemeUC.d.ts +12 -0
  33. package/dist/types/Dispatcher/UCs/DispatchThemeUC.d.ts.map +1 -1
  34. package/dist/types/ThemeColors/Entities/HostThemeEntity.d.ts +24 -0
  35. package/dist/types/ThemeColors/Entities/HostThemeEntity.d.ts.map +1 -1
  36. package/package.json +67 -67
@@ -0,0 +1,64 @@
1
+ import { AppObjectUC } from "@vived/core";
2
+ import { HostThemeEntity } from "../../ThemeColors";
3
+ import { DispatchThemeUC } from "../../Dispatcher";
4
+ import { AppSandboxEntity, SandboxState } from "../Entities/AppSandboxEntity";
5
+ /**
6
+ * Re-dispatches SET_THEME_COLORS to the running App whenever the active Color
7
+ * Scheme changes, so the App re-colors live (not only at start). See ADR-0004.
8
+ *
9
+ * The start-time dispatch stays in StartAppUC; this UC is additive — it observes
10
+ * the HostThemeEntity and, while an App is mounted or playing, fires the App's
11
+ * DispatchThemeUC again. Before mount there is nothing to re-theme, so it no-ops.
12
+ */
13
+ export class RedispatchThemeToAppUC extends AppObjectUC {
14
+ static get(appObject) {
15
+ const uc = appObject.getComponent(RedispatchThemeToAppUC.type);
16
+ if (!uc) {
17
+ appObject.appObjectRepo.submitWarning("RedispatchThemeToAppUC.get", "Unable to find RedispatchThemeToAppUC on app object " + appObject.id);
18
+ }
19
+ return uc;
20
+ }
21
+ static getByID(id, appObjects) {
22
+ const appObject = appObjects.get(id);
23
+ if (!appObject) {
24
+ appObjects.submitWarning("RedispatchThemeToAppUC.getByID", "Unable to find App Object by id " + id);
25
+ return undefined;
26
+ }
27
+ return RedispatchThemeToAppUC.get(appObject);
28
+ }
29
+ }
30
+ RedispatchThemeToAppUC.type = "RedispatchThemeToAppUC";
31
+ export function makeRedispatchThemeToAppUC(appObject) {
32
+ return new RedispatchThemeToAppUCImp(appObject);
33
+ }
34
+ class RedispatchThemeToAppUCImp extends RedispatchThemeToAppUC {
35
+ get sandbox() {
36
+ return this.getCachedSingleton(AppSandboxEntity.type);
37
+ }
38
+ get dispatchTheme() {
39
+ return this.getCachedLocalComponent(DispatchThemeUC.type);
40
+ }
41
+ constructor(appObject) {
42
+ super(appObject, RedispatchThemeToAppUC.type);
43
+ this.onThemeChange = () => {
44
+ const sandbox = this.sandbox;
45
+ if (!sandbox)
46
+ return;
47
+ // Only a mounted App can be re-themed; the start-time dispatch in StartAppUC
48
+ // covers the initial send, so before mount there is nothing to do here.
49
+ if (sandbox.state !== SandboxState.MOUNTED &&
50
+ sandbox.state !== SandboxState.PLAYING) {
51
+ return;
52
+ }
53
+ this.dispatchTheme?.doDispatch();
54
+ };
55
+ this.theme = HostThemeEntity.get(this.appObjects);
56
+ if (!this.theme) {
57
+ this.error("RedispatchThemeToAppUC could not find the HostThemeEntity");
58
+ this.dispose();
59
+ return;
60
+ }
61
+ this.theme.addChangeObserver(this.onThemeChange);
62
+ }
63
+ }
64
+ //# sourceMappingURL=RedispatchThemeToAppUC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedispatchThemeToAppUC.js","sourceRoot":"","sources":["../../../../src/AppSandbox/UCs/RedispatchThemeToAppUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,WAAW,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,OAAgB,sBAAuB,SAAQ,WAAW;IAG9D,MAAM,CAAC,GAAG,CAAC,SAAoB;QAC7B,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAC/B,sBAAsB,CAAC,IAAI,CAC5B,CAAC;QACF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,SAAS,CAAC,aAAa,CAAC,aAAa,CACnC,4BAA4B,EAC5B,sDAAsD,GAAG,SAAS,CAAC,EAAE,CACtE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,EAAU,EACV,UAAyB;QAEzB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,aAAa,CACtB,gCAAgC,EAChC,kCAAkC,GAAG,EAAE,CACxC,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;;AA9BM,2BAAI,GAAG,wBAAwB,CAAC;AAiCzC,MAAM,UAAU,0BAA0B,CACxC,SAAoB;IAEpB,OAAO,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,yBAA0B,SAAQ,sBAAsB;IAG5D,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,uBAAuB,CAAkB,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAkBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAjBxC,kBAAa,GAAG,GAAG,EAAE;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,6EAA6E;YAC7E,wEAAwE;YACxE,IACE,OAAO,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO;gBACtC,OAAO,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,EACtC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC;QACnC,CAAC,CAAC;QAKA,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectRepo, AppObjectUC } from \"@vived/core\";\r\nimport { HostThemeEntity } from \"../../ThemeColors\";\r\nimport { DispatchThemeUC } from \"../../Dispatcher\";\r\nimport { AppSandboxEntity, SandboxState } from \"../Entities/AppSandboxEntity\";\r\n\r\n/**\r\n * Re-dispatches SET_THEME_COLORS to the running App whenever the active Color\r\n * Scheme changes, so the App re-colors live (not only at start). See ADR-0004.\r\n *\r\n * The start-time dispatch stays in StartAppUC; this UC is additive — it observes\r\n * the HostThemeEntity and, while an App is mounted or playing, fires the App's\r\n * DispatchThemeUC again. Before mount there is nothing to re-theme, so it no-ops.\r\n */\r\nexport abstract class RedispatchThemeToAppUC extends AppObjectUC {\r\n static type = \"RedispatchThemeToAppUC\";\r\n\r\n static get(appObject: AppObject): RedispatchThemeToAppUC | undefined {\r\n const uc = appObject.getComponent<RedispatchThemeToAppUC>(\r\n RedispatchThemeToAppUC.type\r\n );\r\n if (!uc) {\r\n appObject.appObjectRepo.submitWarning(\r\n \"RedispatchThemeToAppUC.get\",\r\n \"Unable to find RedispatchThemeToAppUC on app object \" + appObject.id\r\n );\r\n }\r\n return uc;\r\n }\r\n\r\n static getByID(\r\n id: string,\r\n appObjects: AppObjectRepo\r\n ): RedispatchThemeToAppUC | undefined {\r\n const appObject = appObjects.get(id);\r\n\r\n if (!appObject) {\r\n appObjects.submitWarning(\r\n \"RedispatchThemeToAppUC.getByID\",\r\n \"Unable to find App Object by id \" + id\r\n );\r\n return undefined;\r\n }\r\n\r\n return RedispatchThemeToAppUC.get(appObject);\r\n }\r\n}\r\n\r\nexport function makeRedispatchThemeToAppUC(\r\n appObject: AppObject\r\n): RedispatchThemeToAppUC {\r\n return new RedispatchThemeToAppUCImp(appObject);\r\n}\r\n\r\nclass RedispatchThemeToAppUCImp extends RedispatchThemeToAppUC {\r\n private theme?: HostThemeEntity;\r\n\r\n private get sandbox() {\r\n return this.getCachedSingleton<AppSandboxEntity>(AppSandboxEntity.type);\r\n }\r\n\r\n private get dispatchTheme() {\r\n return this.getCachedLocalComponent<DispatchThemeUC>(DispatchThemeUC.type);\r\n }\r\n\r\n private onThemeChange = () => {\r\n const sandbox = this.sandbox;\r\n if (!sandbox) return;\r\n\r\n // Only a mounted App can be re-themed; the start-time dispatch in StartAppUC\r\n // covers the initial send, so before mount there is nothing to do here.\r\n if (\r\n sandbox.state !== SandboxState.MOUNTED &&\r\n sandbox.state !== SandboxState.PLAYING\r\n ) {\r\n return;\r\n }\r\n\r\n this.dispatchTheme?.doDispatch();\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, RedispatchThemeToAppUC.type);\r\n\r\n this.theme = HostThemeEntity.get(this.appObjects);\r\n if (!this.theme) {\r\n this.error(\"RedispatchThemeToAppUC could not find the HostThemeEntity\");\r\n this.dispose();\r\n return;\r\n }\r\n\r\n this.theme.addChangeObserver(this.onThemeChange);\r\n }\r\n}\r\n"]}
@@ -1,3 +1,4 @@
1
+ export * from "./RedispatchThemeToAppUC";
1
2
  export * from "./SetDevModeUC";
2
3
  export * from "./ShowBabylonInspectorUC";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/AppSandbox/UCs/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC","sourcesContent":["export * from \"./SetDevModeUC\";\r\nexport * from \"./ShowBabylonInspectorUC\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/AppSandbox/UCs/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC","sourcesContent":["export * from \"./RedispatchThemeToAppUC\";\r\nexport * from \"./SetDevModeUC\";\r\nexport * from \"./ShowBabylonInspectorUC\";\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DispatchThemeUC.js","sourceRoot":"","sources":["../../../../src/Dispatcher/UCs/DispatchThemeUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,WAAW,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,OAAgB,eAAgB,SAAQ,WAAW;IAAzD;;QAEW,gBAAW,GAAG,kBAAkB,CAAC;IA+B5C,CAAC;IA3BC,MAAM,CAAC,GAAG,CAAC,SAAoB;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAkB,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS,CAAC,aAAa,CAAC,aAAa,CACnC,qBAAqB,EACrB,+CAA+C,GAAG,SAAS,CAAC,EAAE,CAC/D,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,EAAU,EACV,UAAyB;QAEzB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,aAAa,CACtB,yBAAyB,EACzB,kCAAkC,GAAG,EAAE,CACxC,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;;AA/Be,oBAAI,GAAG,iBAAiB,AAApB,CAAqB;AAkC3C,MAAM,UAAU,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IAI9C,IAAY,KAAK;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAkB,eAAe,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAE5C,MAAM,MAAM,GAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAE7D,MAAM,OAAO,GAAG;YACd,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,sBAAsB,CACpC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAxBhC,mBAAc,GAAG,CAAC,CAAC;QA0B1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,YAAY,CACtC,kBAAkB,CAAC,IAAI,CACxB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CACR,oGAAoG,CACrG,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectRepo, AppObjectUC } from \"@vived/core\";\nimport { HostThemeEntity } from \"../../ThemeColors\";\nimport { HostDispatchEntity } from \"../Entities\";\n\nexport abstract class DispatchThemeUC extends AppObjectUC {\n static readonly type = \"DispatchThemeUC\";\n readonly requestType = \"SET_THEME_COLORS\";\n\n abstract doDispatch(): void;\n\n static get(appObject: AppObject): DispatchThemeUC | undefined {\n const asset = appObject.getComponent<DispatchThemeUC>(DispatchThemeUC.type);\n if (!asset) {\n appObject.appObjectRepo.submitWarning(\n \"DispatchThemeUC.get\",\n \"Unable to find DispatchThemeUC on app object \" + appObject.id\n );\n }\n return asset;\n }\n\n static getByID(\n id: string,\n appObjects: AppObjectRepo\n ): DispatchThemeUC | undefined {\n const appObject = appObjects.get(id);\n\n if (!appObject) {\n appObjects.submitWarning(\n \"DispatchThemeUC.getByID\",\n \"Unable to find App Object by id \" + id\n );\n return undefined;\n }\n\n return DispatchThemeUC.get(appObject);\n }\n}\n\nexport function makeDispatchThemeUC(appObject: AppObject): DispatchThemeUC {\n return new DispatchThemeUCImp(appObject);\n}\n\nclass DispatchThemeUCImp extends DispatchThemeUC {\n readonly requestVersion = 1;\n private dispatcher?: HostDispatchEntity;\n\n private get theme() {\n return this.getCachedSingleton<HostThemeEntity>(HostThemeEntity.type);\n }\n\n doDispatch(): void {\n if (!this.dispatcher || !this.theme) return;\n\n const colors: ColorSchemeV1 = { ...this.theme.activeScheme };\n\n const payload = {\n colors\n };\n\n this.dispatcher.formRequestAndDispatch(\n this.requestType,\n this.requestVersion,\n payload\n );\n }\n\n constructor(appObject: AppObject) {\n super(appObject, DispatchThemeUC.type);\n\n this.dispatcher = appObject.getComponent<HostDispatchEntity>(\n HostDispatchEntity.type\n );\n if (!this.dispatcher) {\n this.error(\n \"UC has been added to an App Object that does not have a HostDispatchEntity. Add a dispatcher first\"\n );\n this.dispose();\n }\n }\n}\n\nexport interface ColorSchemeV1 {\n primary: string;\n onPrimary: string;\n primaryContainer: string;\n onPrimaryContainer: string;\n primaryFixed: string;\n onPrimaryFixed: string;\n primaryFixedDim: string;\n onPrimaryFixedVariant: string;\n secondary: string;\n onSecondary: string;\n secondaryContainer: string;\n onSecondaryContainer: string;\n secondaryFixed: string;\n onSecondaryFixed: string;\n secondaryFixedDim: string;\n onSecondaryFixedVariant: string;\n tertiary: string;\n onTertiary: string;\n tertiaryContainer: string;\n onTertiaryContainer: string;\n tertiaryFixed: string;\n onTertiaryFixed: string;\n tertiaryFixedDim: string;\n onTertiaryFixedVariant: string;\n error: string;\n onError: string;\n errorContainer: string;\n onErrorContainer: string;\n outline: string;\n background: string;\n onBackground: string;\n surface: string;\n onSurface: string;\n surfaceVariant: string;\n onSurfaceVariant: string;\n inverseSurface: string;\n inverseOnSurface: string;\n inversePrimary: string;\n shadow: string;\n surfaceTint: string;\n outlineVariant: string;\n scrim: string;\n surfaceContainerHighest: string;\n surfaceContainerHigh: string;\n surfaceContainer: string;\n surfaceContainerLow: string;\n surfaceContainerLowest: string;\n surfaceBright: string;\n surfaceDim: string;\n}\n"]}
1
+ {"version":3,"file":"DispatchThemeUC.js","sourceRoot":"","sources":["../../../../src/Dispatcher/UCs/DispatchThemeUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,WAAW,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,OAAgB,eAAgB,SAAQ,WAAW;IAAzD;;QAEW,gBAAW,GAAG,kBAAkB,CAAC;IA+B5C,CAAC;IA3BC,MAAM,CAAC,GAAG,CAAC,SAAoB;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAkB,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS,CAAC,aAAa,CAAC,aAAa,CACnC,qBAAqB,EACrB,+CAA+C,GAAG,SAAS,CAAC,EAAE,CAC/D,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,EAAU,EACV,UAAyB;QAEzB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,aAAa,CACtB,yBAAyB,EACzB,kCAAkC,GAAG,EAAE,CACxC,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;;AA/Be,oBAAI,GAAG,iBAAiB,AAApB,CAAqB;AAkC3C,MAAM,UAAU,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IAI9C,IAAY,KAAK;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAkB,eAAe,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAE5C,MAAM,MAAM,GAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAE7D,MAAM,OAAO,GAAG;YACd,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,sBAAsB,CACpC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAxBhC,mBAAc,GAAG,CAAC,CAAC;QA0B1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,YAAY,CACtC,kBAAkB,CAAC,IAAI,CACxB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CACR,oGAAoG,CACrG,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectRepo, AppObjectUC } from \"@vived/core\";\r\nimport { HostThemeEntity } from \"../../ThemeColors\";\r\nimport { HostDispatchEntity } from \"../Entities\";\r\n\r\nexport abstract class DispatchThemeUC extends AppObjectUC {\r\n static readonly type = \"DispatchThemeUC\";\r\n readonly requestType = \"SET_THEME_COLORS\";\r\n\r\n abstract doDispatch(): void;\r\n\r\n static get(appObject: AppObject): DispatchThemeUC | undefined {\r\n const asset = appObject.getComponent<DispatchThemeUC>(DispatchThemeUC.type);\r\n if (!asset) {\r\n appObject.appObjectRepo.submitWarning(\r\n \"DispatchThemeUC.get\",\r\n \"Unable to find DispatchThemeUC on app object \" + appObject.id\r\n );\r\n }\r\n return asset;\r\n }\r\n\r\n static getByID(\r\n id: string,\r\n appObjects: AppObjectRepo\r\n ): DispatchThemeUC | undefined {\r\n const appObject = appObjects.get(id);\r\n\r\n if (!appObject) {\r\n appObjects.submitWarning(\r\n \"DispatchThemeUC.getByID\",\r\n \"Unable to find App Object by id \" + id\r\n );\r\n return undefined;\r\n }\r\n\r\n return DispatchThemeUC.get(appObject);\r\n }\r\n}\r\n\r\nexport function makeDispatchThemeUC(appObject: AppObject): DispatchThemeUC {\r\n return new DispatchThemeUCImp(appObject);\r\n}\r\n\r\nclass DispatchThemeUCImp extends DispatchThemeUC {\r\n readonly requestVersion = 1;\r\n private dispatcher?: HostDispatchEntity;\r\n\r\n private get theme() {\r\n return this.getCachedSingleton<HostThemeEntity>(HostThemeEntity.type);\r\n }\r\n\r\n doDispatch(): void {\r\n if (!this.dispatcher || !this.theme) return;\r\n\r\n const colors: ColorSchemeV1 = { ...this.theme.activeScheme };\r\n\r\n const payload = {\r\n colors\r\n };\r\n\r\n this.dispatcher.formRequestAndDispatch(\r\n this.requestType,\r\n this.requestVersion,\r\n payload\r\n );\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, DispatchThemeUC.type);\r\n\r\n this.dispatcher = appObject.getComponent<HostDispatchEntity>(\r\n HostDispatchEntity.type\r\n );\r\n if (!this.dispatcher) {\r\n this.error(\r\n \"UC has been added to an App Object that does not have a HostDispatchEntity. Add a dispatcher first\"\r\n );\r\n this.dispose();\r\n }\r\n }\r\n}\r\n\r\nexport interface ColorSchemeV1 {\r\n primary: string;\r\n onPrimary: string;\r\n primaryContainer: string;\r\n onPrimaryContainer: string;\r\n primaryFixed: string;\r\n onPrimaryFixed: string;\r\n primaryFixedDim: string;\r\n onPrimaryFixedVariant: string;\r\n secondary: string;\r\n onSecondary: string;\r\n secondaryContainer: string;\r\n onSecondaryContainer: string;\r\n secondaryFixed: string;\r\n onSecondaryFixed: string;\r\n secondaryFixedDim: string;\r\n onSecondaryFixedVariant: string;\r\n tertiary: string;\r\n onTertiary: string;\r\n tertiaryContainer: string;\r\n onTertiaryContainer: string;\r\n tertiaryFixed: string;\r\n onTertiaryFixed: string;\r\n tertiaryFixedDim: string;\r\n onTertiaryFixedVariant: string;\r\n error: string;\r\n onError: string;\r\n errorContainer: string;\r\n onErrorContainer: string;\r\n success: string;\r\n onSuccess: string;\r\n successContainer: string;\r\n onSuccessContainer: string;\r\n warning: string;\r\n onWarning: string;\r\n warningContainer: string;\r\n onWarningContainer: string;\r\n info: string;\r\n onInfo: string;\r\n infoContainer: string;\r\n onInfoContainer: string;\r\n outline: string;\r\n background: string;\r\n onBackground: string;\r\n surface: string;\r\n onSurface: string;\r\n surfaceVariant: string;\r\n onSurfaceVariant: string;\r\n inverseSurface: string;\r\n inverseOnSurface: string;\r\n inversePrimary: string;\r\n shadow: string;\r\n surfaceTint: string;\r\n outlineVariant: string;\r\n scrim: string;\r\n surfaceContainerHighest: string;\r\n surfaceContainerHigh: string;\r\n surfaceContainer: string;\r\n surfaceContainerLow: string;\r\n surfaceContainerLowest: string;\r\n surfaceBright: string;\r\n surfaceDim: string;\r\n}\r\n"]}
@@ -1,51 +1,63 @@
1
1
  {
2
- "primary": "#7BD0FF",
3
- "onPrimary": "#003549",
4
- "primaryContainer": "#004C69",
5
- "onPrimaryContainer": "#C4E7FF",
6
- "primaryFixed": "#C4E7FF",
7
- "onPrimaryFixed": "#001E2C",
8
- "primaryFixedDim": "#7BD0FF",
9
- "onPrimaryFixedVariant": "#004C69",
10
- "secondary": "#B5C9D7",
11
- "onSecondary": "#20333E",
12
- "secondaryContainer": "#374955",
13
- "onSecondaryContainer": "#D1E5F4",
14
- "secondaryFixed": "#D1E5F4",
15
- "onSecondaryFixed": "#0A1E28",
16
- "secondaryFixedDim": "#B5C9D7",
17
- "onSecondaryFixedVariant": "#374955",
18
- "tertiary": "#CAC1E9",
19
- "onTertiary": "#322C4C",
20
- "tertiaryContainer": "#484264",
21
- "onTertiaryContainer": "#E6DEFF",
22
- "tertiaryFixed": "#E6DEFF",
23
- "onTertiaryFixed": "#1D1736",
24
- "tertiaryFixedDim": "#CAC1E9",
25
- "onTertiaryFixedVariant": "#484264",
26
- "error": "#FFB4AB",
27
- "onError": "#690005",
28
- "errorContainer": "#93000A",
29
- "onErrorContainer": "#FFDAD6",
30
- "outline": "#8B9297",
31
- "background": "#191C1E",
32
- "onBackground": "#E1E2E5",
33
- "surface": "#111416",
34
- "onSurface": "#C5C6C9",
35
- "surfaceVariant": "#41484D",
36
- "onSurfaceVariant": "#C0C7CD",
37
- "inverseSurface": "#E1E2E5",
38
- "inverseOnSurface": "#191C1E",
39
- "inversePrimary": "#00668A",
2
+ "primary": "#007bb0",
3
+ "onPrimary": "#ffffff",
4
+ "primaryContainer": "#00506f",
5
+ "onPrimaryContainer": "#cbeafb",
6
+ "primaryFixed": "#cbeafb",
7
+ "onPrimaryFixed": "#001e2e",
8
+ "primaryFixedDim": "#7ad2f2",
9
+ "onPrimaryFixedVariant": "#00506f",
10
+ "secondary": "#b3c7d3",
11
+ "onSecondary": "#1e2c34",
12
+ "secondaryContainer": "#35525f",
13
+ "onSecondaryContainer": "#d0e6f0",
14
+ "secondaryFixed": "#d0e6f0",
15
+ "onSecondaryFixed": "#081f2a",
16
+ "secondaryFixedDim": "#b4cad6",
17
+ "onSecondaryFixedVariant": "#35525f",
18
+ "tertiary": "#4ec9f5",
19
+ "onTertiary": "#00344a",
20
+ "tertiaryContainer": "#005e7c",
21
+ "onTertiaryContainer": "#bfeaff",
22
+ "tertiaryFixed": "#bfeaff",
23
+ "onTertiaryFixed": "#001f2c",
24
+ "tertiaryFixedDim": "#6bd5f5",
25
+ "onTertiaryFixedVariant": "#005e7c",
26
+ "error": "#f0577c",
27
+ "onError": "#3a0710",
28
+ "errorContainer": "#7f1225",
29
+ "onErrorContainer": "#ffd9df",
30
+ "success": "#34c08f",
31
+ "onSuccess": "#00391f",
32
+ "successContainer": "#005234",
33
+ "onSuccessContainer": "#9bfccb",
34
+ "warning": "#ffb951",
35
+ "onWarning": "#452b00",
36
+ "warningContainer": "#633f00",
37
+ "onWarningContainer": "#ffdea8",
38
+ "info": "#a2c9ff",
39
+ "onInfo": "#00325b",
40
+ "infoContainer": "#164a7f",
41
+ "onInfoContainer": "#d3e4ff",
42
+ "outline": "#6b7079",
43
+ "background": "#14171b",
44
+ "onBackground": "#f3f5f7",
45
+ "surface": "#1e242b",
46
+ "onSurface": "#f3f5f7",
47
+ "surfaceVariant": "#2a323b",
48
+ "onSurfaceVariant": "#9096a0",
49
+ "inverseSurface": "#f3f5f7",
50
+ "inverseOnSurface": "#14171b",
51
+ "inversePrimary": "#007bb0",
40
52
  "shadow": "#000000",
41
- "surfaceTint": "#7BD0FF",
42
- "outlineVariant": "#41484D",
53
+ "surfaceTint": "#007bb0",
54
+ "outlineVariant": "#2c333c",
43
55
  "scrim": "#000000",
44
- "surfaceContainerHighest": "#333537",
45
- "surfaceContainerHigh": "#282A2C",
46
- "surfaceContainer": "#1D2022",
47
- "surfaceContainerLow": "#191C1E",
48
- "surfaceContainerLowest": "#0C0F10",
49
- "surfaceBright": "#37393C",
50
- "surfaceDim": "#111416"
56
+ "surfaceContainerHighest": "#2a323b",
57
+ "surfaceContainerHigh": "#242c35",
58
+ "surfaceContainer": "#1e242b",
59
+ "surfaceContainerLow": "#191d22",
60
+ "surfaceContainerLowest": "#0f1216",
61
+ "surfaceBright": "#2a323b",
62
+ "surfaceDim": "#0f1216"
51
63
  }
@@ -1,51 +1,63 @@
1
1
  {
2
- "primary": "#00668A",
3
- "onPrimary": "#FFFFFF",
4
- "primaryContainer": "#C4E7FF",
5
- "onPrimaryContainer": "#001E2C",
6
- "primaryFixed": "#C4E7FF",
7
- "onPrimaryFixed": "#001E2C",
8
- "primaryFixedDim": "#7BD0FF",
9
- "onPrimaryFixedVariant": "#004C69",
10
- "secondary": "#4E616D",
11
- "onSecondary": "#FFFFFF",
12
- "secondaryContainer": "#D1E5F4",
13
- "onSecondaryContainer": "#0A1E28",
14
- "secondaryFixed": "#D1E5F4",
15
- "onSecondaryFixed": "#0A1E28",
16
- "secondaryFixedDim": "#B5C9D7",
17
- "onSecondaryFixedVariant": "#374955",
18
- "tertiary": "#605A7D",
19
- "onTertiary": "#FFFFFF",
20
- "tertiaryContainer": "#E6DEFF",
21
- "onTertiaryContainer": "#1D1736",
22
- "tertiaryFixed": "#E6DEFF",
23
- "onTertiaryFixed": "#1D1736",
24
- "tertiaryFixedDim": "#CAC1E9",
25
- "onTertiaryFixedVariant": "#484264",
26
- "error": "#BA1A1A",
27
- "onError": "#FFFFFF",
28
- "errorContainer": "#FFDAD6",
29
- "onErrorContainer": "#410002",
30
- "outline": "#71787D",
31
- "background": "#FBFCFF",
32
- "onBackground": "#191C1E",
33
- "surface": "#F8F9FC",
34
- "onSurface": "#191C1E",
35
- "surfaceVariant": "#DCE3E9",
36
- "onSurfaceVariant": "#41484D",
37
- "inverseSurface": "#2E3133",
38
- "inverseOnSurface": "#F0F1F3",
39
- "inversePrimary": "#7BD0FF",
2
+ "primary": "#007bb0",
3
+ "onPrimary": "#ffffff",
4
+ "primaryContainer": "#cbeafb",
5
+ "onPrimaryContainer": "#001e2e",
6
+ "primaryFixed": "#cbeafb",
7
+ "onPrimaryFixed": "#001e2e",
8
+ "primaryFixedDim": "#7ad2f2",
9
+ "onPrimaryFixedVariant": "#00506f",
10
+ "secondary": "#4d6b7a",
11
+ "onSecondary": "#ffffff",
12
+ "secondaryContainer": "#d0e6f0",
13
+ "onSecondaryContainer": "#081f2a",
14
+ "secondaryFixed": "#d0e6f0",
15
+ "onSecondaryFixed": "#081f2a",
16
+ "secondaryFixedDim": "#b4cad6",
17
+ "onSecondaryFixedVariant": "#35525f",
18
+ "tertiary": "#00a8e1",
19
+ "onTertiary": "#001f2c",
20
+ "tertiaryContainer": "#bfeaff",
21
+ "onTertiaryContainer": "#001f2c",
22
+ "tertiaryFixed": "#bfeaff",
23
+ "onTertiaryFixed": "#001f2c",
24
+ "tertiaryFixedDim": "#6bd5f5",
25
+ "onTertiaryFixedVariant": "#005e7c",
26
+ "error": "#cf2d56",
27
+ "onError": "#ffffff",
28
+ "errorContainer": "#ffd9df",
29
+ "onErrorContainer": "#40000f",
30
+ "success": "#1f8a65",
31
+ "onSuccess": "#ffffff",
32
+ "successContainer": "#a8f2d0",
33
+ "onSuccessContainer": "#002013",
34
+ "warning": "#9a6700",
35
+ "onWarning": "#ffffff",
36
+ "warningContainer": "#ffdea8",
37
+ "onWarningContainer": "#301a00",
38
+ "info": "#0060a9",
39
+ "onInfo": "#ffffff",
40
+ "infoContainer": "#d3e4ff",
41
+ "onInfoContainer": "#001c38",
42
+ "outline": "#939598",
43
+ "background": "#f4f5f6",
44
+ "onBackground": "#231f20",
45
+ "surface": "#ffffff",
46
+ "onSurface": "#231f20",
47
+ "surfaceVariant": "#e7e8ea",
48
+ "onSurfaceVariant": "#6d6e71",
49
+ "inverseSurface": "#231f20",
50
+ "inverseOnSurface": "#f4f5f6",
51
+ "inversePrimary": "#7ad2f2",
40
52
  "shadow": "#000000",
41
- "surfaceTint": "#00668A",
42
- "outlineVariant": "#C0C7CD",
53
+ "surfaceTint": "#007bb0",
54
+ "outlineVariant": "#e2e3e5",
43
55
  "scrim": "#000000",
44
- "surfaceContainerHighest": "#E1E2E5",
45
- "surfaceContainerHigh": "#E7E8EA",
46
- "surfaceContainer": "#EDEEF0",
47
- "surfaceContainerLow": "#F3F3F6",
48
- "surfaceContainerLowest": "#FFFFFF",
49
- "surfaceBright": "#F8F9FC",
50
- "surfaceDim": "#D9DADC"
56
+ "surfaceContainerHighest": "#e4e5e7",
57
+ "surfaceContainerHigh": "#eaebed",
58
+ "surfaceContainer": "#f0f1f2",
59
+ "surfaceContainerLow": "#fafbfc",
60
+ "surfaceContainerLowest": "#ffffff",
61
+ "surfaceBright": "#ffffff",
62
+ "surfaceDim": "#dcdee0"
51
63
  }
@@ -30,6 +30,18 @@ export var ThemeColorType;
30
30
  ThemeColorType["onError"] = "onError";
31
31
  ThemeColorType["errorContainer"] = "errorContainer";
32
32
  ThemeColorType["onErrorContainer"] = "onErrorContainer";
33
+ ThemeColorType["success"] = "success";
34
+ ThemeColorType["onSuccess"] = "onSuccess";
35
+ ThemeColorType["successContainer"] = "successContainer";
36
+ ThemeColorType["onSuccessContainer"] = "onSuccessContainer";
37
+ ThemeColorType["warning"] = "warning";
38
+ ThemeColorType["onWarning"] = "onWarning";
39
+ ThemeColorType["warningContainer"] = "warningContainer";
40
+ ThemeColorType["onWarningContainer"] = "onWarningContainer";
41
+ ThemeColorType["info"] = "info";
42
+ ThemeColorType["onInfo"] = "onInfo";
43
+ ThemeColorType["infoContainer"] = "infoContainer";
44
+ ThemeColorType["onInfoContainer"] = "onInfoContainer";
33
45
  ThemeColorType["outline"] = "outline";
34
46
  ThemeColorType["background"] = "background";
35
47
  ThemeColorType["onBackground"] = "onBackground";
@@ -135,6 +147,18 @@ export const defaultScheme = {
135
147
  onError: "#690005",
136
148
  errorContainer: "#93000A",
137
149
  onErrorContainer: "#FFDAD6",
150
+ success: "#7EE0B0",
151
+ onSuccess: "#00391F",
152
+ successContainer: "#005234",
153
+ onSuccessContainer: "#9BFCCB",
154
+ warning: "#FFB951",
155
+ onWarning: "#452B00",
156
+ warningContainer: "#633F00",
157
+ onWarningContainer: "#FFDEA8",
158
+ info: "#A2C9FF",
159
+ onInfo: "#00325B",
160
+ infoContainer: "#164A7F",
161
+ onInfoContainer: "#D3E4FF",
138
162
  outline: "#8B9297",
139
163
  background: "#191C1E",
140
164
  onBackground: "#E1E2E5",
@@ -1 +1 @@
1
- {"version":3,"file":"HostThemeEntity.js","sourceRoot":"","sources":["../../../../src/ThemeColors/Entities/HostThemeEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import { Color, MemoizedString } from \"@vived/core\";\nimport {\n getSingletonComponent,\n AppObject,\n AppObjectEntity,\n AppObjectRepo\n} from \"@vived/core\";\n\nexport enum ThemeColorType {\n primary = \"primary\",\n onPrimary = \"onPrimary\",\n primaryContainer = \"primaryContainer\",\n onPrimaryContainer = \"onPrimaryContainer\",\n primaryFixed = \"primaryFixed\",\n onPrimaryFixed = \"onPrimaryFixed\",\n primaryFixedDim = \"primaryFixedDim\",\n onPrimaryFixedVariant = \"onPrimaryFixedVariant\",\n secondary = \"secondary\",\n onSecondary = \"onSecondary\",\n secondaryContainer = \"secondaryContainer\",\n onSecondaryContainer = \"onSecondaryContainer\",\n secondaryFixed = \"secondaryFixed\",\n onSecondaryFixed = \"onSecondaryFixed\",\n secondaryFixedDim = \"secondaryFixedDim\",\n onSecondaryFixedVariant = \"onSecondaryFixedVariant\",\n tertiary = \"tertiary\",\n onTertiary = \"onTertiary\",\n tertiaryContainer = \"tertiaryContainer\",\n onTertiaryContainer = \"onTertiaryContainer\",\n tertiaryFixed = \"tertiaryFixed\",\n onTertiaryFixed = \"onTertiaryFixed\",\n tertiaryFixedDim = \"tertiaryFixedDim\",\n onTertiaryFixedVariant = \"onTertiaryFixedVariant\",\n error = \"error\",\n onError = \"onError\",\n errorContainer = \"errorContainer\",\n onErrorContainer = \"onErrorContainer\",\n outline = \"outline\",\n background = \"background\",\n onBackground = \"onBackground\",\n surface = \"surface\",\n onSurface = \"onSurface\",\n surfaceVariant = \"surfaceVariant\",\n onSurfaceVariant = \"onSurfaceVariant\",\n inverseSurface = \"inverseSurface\",\n inverseOnSurface = \"inverseOnSurface\",\n inversePrimary = \"inversePrimary\",\n shadow = \"shadow\",\n surfaceTint = \"surfaceTint\",\n outlineVariant = \"outlineVariant\",\n scrim = \"scrim\",\n surfaceContainerHighest = \"surfaceContainerHighest\",\n surfaceContainerHigh = \"surfaceContainerHigh\",\n surfaceContainer = \"surfaceContainer\",\n surfaceContainerLow = \"surfaceContainerLow\",\n surfaceContainerLowest = \"surfaceContainerLowest\",\n surfaceBright = \"surfaceBright\",\n surfaceDim = \"surfaceDim\"\n}\n\nexport interface ColorScheme {\n primary: string;\n onPrimary: string;\n primaryContainer: string;\n onPrimaryContainer: string;\n primaryFixed: string;\n onPrimaryFixed: string;\n primaryFixedDim: string;\n onPrimaryFixedVariant: string;\n secondary: string;\n onSecondary: string;\n secondaryContainer: string;\n onSecondaryContainer: string;\n secondaryFixed: string;\n onSecondaryFixed: string;\n secondaryFixedDim: string;\n onSecondaryFixedVariant: string;\n tertiary: string;\n onTertiary: string;\n tertiaryContainer: string;\n onTertiaryContainer: string;\n tertiaryFixed: string;\n onTertiaryFixed: string;\n tertiaryFixedDim: string;\n onTertiaryFixedVariant: string;\n error: string;\n onError: string;\n errorContainer: string;\n onErrorContainer: string;\n outline: string;\n background: string;\n onBackground: string;\n surface: string;\n onSurface: string;\n surfaceVariant: string;\n onSurfaceVariant: string;\n inverseSurface: string;\n inverseOnSurface: string;\n inversePrimary: string;\n shadow: string;\n surfaceTint: string;\n outlineVariant: string;\n scrim: string;\n surfaceContainerHighest: string;\n surfaceContainerHigh: string;\n surfaceContainer: string;\n surfaceContainerLow: string;\n surfaceContainerLowest: string;\n surfaceBright: string;\n surfaceDim: string;\n}\n\nexport abstract class HostThemeEntity extends AppObjectEntity {\n static readonly type = \"HostThemeEntity\";\n\n abstract submitScheme(name: string, scheme: ColorScheme): void;\n abstract activeSchemeName: string;\n\n abstract get activeScheme(): ColorScheme;\n abstract getColorForType(type: ThemeColorType): Color;\n abstract getHexForType(type: ThemeColorType): string;\n\n static get = (appObjects: AppObjectRepo): HostThemeEntity | undefined =>\n getSingletonComponent(HostThemeEntity.type, appObjects);\n}\n\nexport function makeHostThemeEntity(appObject: AppObject) {\n return new HostThemeEntityImp(appObject);\n}\n\nclass HostThemeEntityImp extends HostThemeEntity {\n private schemeLookup = new Map<string, ColorScheme>();\n\n get activeScheme(): ColorScheme {\n return this.schemeLookup.get(this.activeSchemeName) ?? defaultScheme;\n }\n\n submitScheme = (name: string, scheme: ColorScheme) => {\n if (this.schemeLookup.has(name)) {\n this.warn(\"Duplicate scheme name submitted. Overwriting\");\n }\n\n this.schemeLookup.set(name, scheme);\n\n if (!this.activeSchemeName) {\n this.activeSchemeName = name;\n }\n };\n\n getHexForType(type: ThemeColorType): string {\n const scheme = this.schemeLookup.get(this.activeSchemeName);\n if (!scheme) {\n this.error(\"No active scheme\");\n return \"#000000\";\n }\n\n return scheme[type];\n }\n\n private memoizedActiveScheme = new MemoizedString(\"\", this.notifyOnChange);\n get activeSchemeName(): string {\n return this.memoizedActiveScheme.val;\n }\n\n set activeSchemeName(val: string) {\n if (!this.schemeLookup.has(val)) {\n this.warn(`Unknown theme schema: ${val}. Ignoring.`);\n return;\n }\n this.memoizedActiveScheme.val = val;\n }\n\n constructor(appObject: AppObject) {\n super(appObject, HostThemeEntity.type);\n\n this.appObjects.registerSingleton(this);\n }\n\n getColorForType = (type: ThemeColorType): Color => {\n const scheme = this.schemeLookup.get(this.activeSchemeName);\n if (!scheme) {\n this.error(\"No active scheme\");\n return Color.RGB(0, 0, 0);\n }\n\n const colorHex = scheme[type];\n return Color.Hex(colorHex);\n };\n}\n\nexport const defaultScheme: ColorScheme = {\n primary: \"#7BD0FF\",\n onPrimary: \"#003549\",\n primaryContainer: \"#004C69\",\n onPrimaryContainer: \"#C4E7FF\",\n primaryFixed: \"#C4E7FF\",\n onPrimaryFixed: \"#001E2C\",\n primaryFixedDim: \"#7BD0FF\",\n onPrimaryFixedVariant: \"#004C69\",\n secondary: \"#B5C9D7\",\n onSecondary: \"#20333E\",\n secondaryContainer: \"#374955\",\n onSecondaryContainer: \"#D1E5F4\",\n secondaryFixed: \"#D1E5F4\",\n onSecondaryFixed: \"#0A1E28\",\n secondaryFixedDim: \"#B5C9D7\",\n onSecondaryFixedVariant: \"#374955\",\n tertiary: \"#CAC1E9\",\n onTertiary: \"#322C4C\",\n tertiaryContainer: \"#484264\",\n onTertiaryContainer: \"#E6DEFF\",\n tertiaryFixed: \"#E6DEFF\",\n onTertiaryFixed: \"#1D1736\",\n tertiaryFixedDim: \"#CAC1E9\",\n onTertiaryFixedVariant: \"#484264\",\n error: \"#FFB4AB\",\n onError: \"#690005\",\n errorContainer: \"#93000A\",\n onErrorContainer: \"#FFDAD6\",\n outline: \"#8B9297\",\n background: \"#191C1E\",\n onBackground: \"#E1E2E5\",\n surface: \"#111416\",\n onSurface: \"#C5C6C9\",\n surfaceVariant: \"#41484D\",\n onSurfaceVariant: \"#C0C7CD\",\n inverseSurface: \"#E1E2E5\",\n inverseOnSurface: \"#191C1E\",\n inversePrimary: \"#00668A\",\n shadow: \"#000000\",\n surfaceTint: \"#7BD0FF\",\n outlineVariant: \"#41484D\",\n scrim: \"#000000\",\n surfaceContainerHighest: \"#333537\",\n surfaceContainerHigh: \"#282A2C\",\n surfaceContainer: \"#1D2022\",\n surfaceContainerLow: \"#191C1E\",\n surfaceContainerLowest: \"#0C0F10\",\n surfaceBright: \"#37393C\",\n surfaceDim: \"#111416\"\n};\n"]}
1
+ {"version":3,"file":"HostThemeEntity.js","sourceRoot":"","sources":["../../../../src/ThemeColors/Entities/HostThemeEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import { Color, MemoizedString } from \"@vived/core\";\r\nimport {\r\n getSingletonComponent,\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo\r\n} from \"@vived/core\";\r\n\r\nexport enum ThemeColorType {\r\n primary = \"primary\",\r\n onPrimary = \"onPrimary\",\r\n primaryContainer = \"primaryContainer\",\r\n onPrimaryContainer = \"onPrimaryContainer\",\r\n primaryFixed = \"primaryFixed\",\r\n onPrimaryFixed = \"onPrimaryFixed\",\r\n primaryFixedDim = \"primaryFixedDim\",\r\n onPrimaryFixedVariant = \"onPrimaryFixedVariant\",\r\n secondary = \"secondary\",\r\n onSecondary = \"onSecondary\",\r\n secondaryContainer = \"secondaryContainer\",\r\n onSecondaryContainer = \"onSecondaryContainer\",\r\n secondaryFixed = \"secondaryFixed\",\r\n onSecondaryFixed = \"onSecondaryFixed\",\r\n secondaryFixedDim = \"secondaryFixedDim\",\r\n onSecondaryFixedVariant = \"onSecondaryFixedVariant\",\r\n tertiary = \"tertiary\",\r\n onTertiary = \"onTertiary\",\r\n tertiaryContainer = \"tertiaryContainer\",\r\n onTertiaryContainer = \"onTertiaryContainer\",\r\n tertiaryFixed = \"tertiaryFixed\",\r\n onTertiaryFixed = \"onTertiaryFixed\",\r\n tertiaryFixedDim = \"tertiaryFixedDim\",\r\n onTertiaryFixedVariant = \"onTertiaryFixedVariant\",\r\n error = \"error\",\r\n onError = \"onError\",\r\n errorContainer = \"errorContainer\",\r\n onErrorContainer = \"onErrorContainer\",\r\n success = \"success\",\r\n onSuccess = \"onSuccess\",\r\n successContainer = \"successContainer\",\r\n onSuccessContainer = \"onSuccessContainer\",\r\n warning = \"warning\",\r\n onWarning = \"onWarning\",\r\n warningContainer = \"warningContainer\",\r\n onWarningContainer = \"onWarningContainer\",\r\n info = \"info\",\r\n onInfo = \"onInfo\",\r\n infoContainer = \"infoContainer\",\r\n onInfoContainer = \"onInfoContainer\",\r\n outline = \"outline\",\r\n background = \"background\",\r\n onBackground = \"onBackground\",\r\n surface = \"surface\",\r\n onSurface = \"onSurface\",\r\n surfaceVariant = \"surfaceVariant\",\r\n onSurfaceVariant = \"onSurfaceVariant\",\r\n inverseSurface = \"inverseSurface\",\r\n inverseOnSurface = \"inverseOnSurface\",\r\n inversePrimary = \"inversePrimary\",\r\n shadow = \"shadow\",\r\n surfaceTint = \"surfaceTint\",\r\n outlineVariant = \"outlineVariant\",\r\n scrim = \"scrim\",\r\n surfaceContainerHighest = \"surfaceContainerHighest\",\r\n surfaceContainerHigh = \"surfaceContainerHigh\",\r\n surfaceContainer = \"surfaceContainer\",\r\n surfaceContainerLow = \"surfaceContainerLow\",\r\n surfaceContainerLowest = \"surfaceContainerLowest\",\r\n surfaceBright = \"surfaceBright\",\r\n surfaceDim = \"surfaceDim\"\r\n}\r\n\r\nexport interface ColorScheme {\r\n primary: string;\r\n onPrimary: string;\r\n primaryContainer: string;\r\n onPrimaryContainer: string;\r\n primaryFixed: string;\r\n onPrimaryFixed: string;\r\n primaryFixedDim: string;\r\n onPrimaryFixedVariant: string;\r\n secondary: string;\r\n onSecondary: string;\r\n secondaryContainer: string;\r\n onSecondaryContainer: string;\r\n secondaryFixed: string;\r\n onSecondaryFixed: string;\r\n secondaryFixedDim: string;\r\n onSecondaryFixedVariant: string;\r\n tertiary: string;\r\n onTertiary: string;\r\n tertiaryContainer: string;\r\n onTertiaryContainer: string;\r\n tertiaryFixed: string;\r\n onTertiaryFixed: string;\r\n tertiaryFixedDim: string;\r\n onTertiaryFixedVariant: string;\r\n error: string;\r\n onError: string;\r\n errorContainer: string;\r\n onErrorContainer: string;\r\n success: string;\r\n onSuccess: string;\r\n successContainer: string;\r\n onSuccessContainer: string;\r\n warning: string;\r\n onWarning: string;\r\n warningContainer: string;\r\n onWarningContainer: string;\r\n info: string;\r\n onInfo: string;\r\n infoContainer: string;\r\n onInfoContainer: string;\r\n outline: string;\r\n background: string;\r\n onBackground: string;\r\n surface: string;\r\n onSurface: string;\r\n surfaceVariant: string;\r\n onSurfaceVariant: string;\r\n inverseSurface: string;\r\n inverseOnSurface: string;\r\n inversePrimary: string;\r\n shadow: string;\r\n surfaceTint: string;\r\n outlineVariant: string;\r\n scrim: string;\r\n surfaceContainerHighest: string;\r\n surfaceContainerHigh: string;\r\n surfaceContainer: string;\r\n surfaceContainerLow: string;\r\n surfaceContainerLowest: string;\r\n surfaceBright: string;\r\n surfaceDim: string;\r\n}\r\n\r\nexport abstract class HostThemeEntity extends AppObjectEntity {\r\n static readonly type = \"HostThemeEntity\";\r\n\r\n abstract submitScheme(name: string, scheme: ColorScheme): void;\r\n abstract activeSchemeName: string;\r\n\r\n abstract get activeScheme(): ColorScheme;\r\n abstract getColorForType(type: ThemeColorType): Color;\r\n abstract getHexForType(type: ThemeColorType): string;\r\n\r\n static get = (appObjects: AppObjectRepo): HostThemeEntity | undefined =>\r\n getSingletonComponent(HostThemeEntity.type, appObjects);\r\n}\r\n\r\nexport function makeHostThemeEntity(appObject: AppObject) {\r\n return new HostThemeEntityImp(appObject);\r\n}\r\n\r\nclass HostThemeEntityImp extends HostThemeEntity {\r\n private schemeLookup = new Map<string, ColorScheme>();\r\n\r\n get activeScheme(): ColorScheme {\r\n return this.schemeLookup.get(this.activeSchemeName) ?? defaultScheme;\r\n }\r\n\r\n submitScheme = (name: string, scheme: ColorScheme) => {\r\n if (this.schemeLookup.has(name)) {\r\n this.warn(\"Duplicate scheme name submitted. Overwriting\");\r\n }\r\n\r\n this.schemeLookup.set(name, scheme);\r\n\r\n if (!this.activeSchemeName) {\r\n this.activeSchemeName = name;\r\n }\r\n };\r\n\r\n getHexForType(type: ThemeColorType): string {\r\n const scheme = this.schemeLookup.get(this.activeSchemeName);\r\n if (!scheme) {\r\n this.error(\"No active scheme\");\r\n return \"#000000\";\r\n }\r\n\r\n return scheme[type];\r\n }\r\n\r\n private memoizedActiveScheme = new MemoizedString(\"\", this.notifyOnChange);\r\n get activeSchemeName(): string {\r\n return this.memoizedActiveScheme.val;\r\n }\r\n\r\n set activeSchemeName(val: string) {\r\n if (!this.schemeLookup.has(val)) {\r\n this.warn(`Unknown theme schema: ${val}. Ignoring.`);\r\n return;\r\n }\r\n this.memoizedActiveScheme.val = val;\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, HostThemeEntity.type);\r\n\r\n this.appObjects.registerSingleton(this);\r\n }\r\n\r\n getColorForType = (type: ThemeColorType): Color => {\r\n const scheme = this.schemeLookup.get(this.activeSchemeName);\r\n if (!scheme) {\r\n this.error(\"No active scheme\");\r\n return Color.RGB(0, 0, 0);\r\n }\r\n\r\n const colorHex = scheme[type];\r\n return Color.Hex(colorHex);\r\n };\r\n}\r\n\r\nexport const defaultScheme: ColorScheme = {\r\n primary: \"#7BD0FF\",\r\n onPrimary: \"#003549\",\r\n primaryContainer: \"#004C69\",\r\n onPrimaryContainer: \"#C4E7FF\",\r\n primaryFixed: \"#C4E7FF\",\r\n onPrimaryFixed: \"#001E2C\",\r\n primaryFixedDim: \"#7BD0FF\",\r\n onPrimaryFixedVariant: \"#004C69\",\r\n secondary: \"#B5C9D7\",\r\n onSecondary: \"#20333E\",\r\n secondaryContainer: \"#374955\",\r\n onSecondaryContainer: \"#D1E5F4\",\r\n secondaryFixed: \"#D1E5F4\",\r\n onSecondaryFixed: \"#0A1E28\",\r\n secondaryFixedDim: \"#B5C9D7\",\r\n onSecondaryFixedVariant: \"#374955\",\r\n tertiary: \"#CAC1E9\",\r\n onTertiary: \"#322C4C\",\r\n tertiaryContainer: \"#484264\",\r\n onTertiaryContainer: \"#E6DEFF\",\r\n tertiaryFixed: \"#E6DEFF\",\r\n onTertiaryFixed: \"#1D1736\",\r\n tertiaryFixedDim: \"#CAC1E9\",\r\n onTertiaryFixedVariant: \"#484264\",\r\n error: \"#FFB4AB\",\r\n onError: \"#690005\",\r\n errorContainer: \"#93000A\",\r\n onErrorContainer: \"#FFDAD6\",\r\n success: \"#7EE0B0\",\r\n onSuccess: \"#00391F\",\r\n successContainer: \"#005234\",\r\n onSuccessContainer: \"#9BFCCB\",\r\n warning: \"#FFB951\",\r\n onWarning: \"#452B00\",\r\n warningContainer: \"#633F00\",\r\n onWarningContainer: \"#FFDEA8\",\r\n info: \"#A2C9FF\",\r\n onInfo: \"#00325B\",\r\n infoContainer: \"#164A7F\",\r\n onInfoContainer: \"#D3E4FF\",\r\n outline: \"#8B9297\",\r\n background: \"#191C1E\",\r\n onBackground: \"#E1E2E5\",\r\n surface: \"#111416\",\r\n onSurface: \"#C5C6C9\",\r\n surfaceVariant: \"#41484D\",\r\n onSurfaceVariant: \"#C0C7CD\",\r\n inverseSurface: \"#E1E2E5\",\r\n inverseOnSurface: \"#191C1E\",\r\n inversePrimary: \"#00668A\",\r\n shadow: \"#000000\",\r\n surfaceTint: \"#7BD0FF\",\r\n outlineVariant: \"#41484D\",\r\n scrim: \"#000000\",\r\n surfaceContainerHighest: \"#333537\",\r\n surfaceContainerHigh: \"#282A2C\",\r\n surfaceContainer: \"#1D2022\",\r\n surfaceContainerLow: \"#191C1E\",\r\n surfaceContainerLowest: \"#0C0F10\",\r\n surfaceBright: \"#37393C\",\r\n surfaceDim: \"#111416\"\r\n};\r\n"]}
@@ -15,7 +15,16 @@ export function makeThemeColorsPM(appObject) {
15
15
  }
16
16
  class ThemeColorsPMImp extends ThemeColorsPM {
17
17
  vmsAreEqual(a, b) {
18
- return a.themeName === b.themeName;
18
+ if (a.themeName !== b.themeName)
19
+ return false;
20
+ // Compare scheme colors too, so a rebrand/replacement under the same name
21
+ // (e.g. a client applying brand colors) still re-projects the view.
22
+ const aScheme = a.scheme;
23
+ const bScheme = b.scheme;
24
+ const aKeys = Object.keys(aScheme);
25
+ if (aKeys.length !== Object.keys(bScheme).length)
26
+ return false;
27
+ return aKeys.every((key) => aScheme[key] === bScheme[key]);
19
28
  }
20
29
  constructor(appObject) {
21
30
  super(appObject, ThemeColorsPM.type);
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeColorsPM.js","sourceRoot":"","sources":["../../../../src/ThemeColors/PM/ThemeColorsPM.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,WAAW,EAEZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,aAAa,EACb,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAOrC,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,aAAa;CACtB,CAAC;AAEF,MAAM,OAAgB,aAAc,SAAQ,WAA0B;IAGpE,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,qBAAqB,CAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;;AAJe,kBAAI,GAAG,eAAe,CAAC;AAOzC,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,gBAAiB,SAAQ,aAAa;IAG1C,WAAW,CAAC,CAAgB,EAAE,CAAgB;QAC5C,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,CAAC;IACrC,CAAC;IAUD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QATvC,kBAAa,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO;YAC9B,IAAI,CAAC,YAAY,CAAC;gBAChB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB;gBAC5C,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY;aACtC,CAAC,CAAC;QACL,CAAC,CAAC;QAKA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAE,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF","sourcesContent":["import {\n getSingletonComponent,\n AppObject,\n AppObjectPM,\n AppObjectRepo\n} from \"@vived/core\";\nimport {\n ColorScheme,\n defaultScheme,\n HostThemeEntity\n} from \"../Entities/HostThemeEntity\";\n\nexport interface ThemeColorsVM {\n themeName: string;\n scheme: ColorScheme;\n}\n\nexport const defaultThemeColorsVM: ThemeColorsVM = {\n themeName: \"\",\n scheme: defaultScheme\n};\n\nexport abstract class ThemeColorsPM extends AppObjectPM<ThemeColorsVM> {\n static readonly type = \"ThemeColorsPM\";\n\n static get(appObjects: AppObjectRepo) {\n return getSingletonComponent<ThemeColorsPM>(ThemeColorsPM.type, appObjects);\n }\n}\n\nexport function makeThemeColorsPM(appObject: AppObject): ThemeColorsPM {\n return new ThemeColorsPMImp(appObject);\n}\n\nclass ThemeColorsPMImp extends ThemeColorsPM {\n private themeColors?: HostThemeEntity;\n\n vmsAreEqual(a: ThemeColorsVM, b: ThemeColorsVM): boolean {\n return a.themeName === b.themeName;\n }\n\n onThemeChange = () => {\n if (!this.themeColors) return;\n this.doUpdateView({\n themeName: this.themeColors.activeSchemeName,\n scheme: this.themeColors.activeScheme\n });\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ThemeColorsPM.type);\n\n this.appObjects.registerSingleton(this);\n\n this.themeColors = HostThemeEntity.get(appObject.appObjectRepo)!;\n if (!this.themeColors) {\n this.error(\"Unable to find HostThemeEntity\");\n return;\n } else {\n this.themeColors.addChangeObserver(this.onThemeChange);\n this.onThemeChange();\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ThemeColorsPM.js","sourceRoot":"","sources":["../../../../src/ThemeColors/PM/ThemeColorsPM.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,WAAW,EAEZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,aAAa,EACb,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAOrC,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,aAAa;CACtB,CAAC;AAEF,MAAM,OAAgB,aAAc,SAAQ,WAA0B;IAGpE,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,qBAAqB,CAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;;AAJe,kBAAI,GAAG,eAAe,CAAC;AAOzC,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,gBAAiB,SAAQ,aAAa;IAG1C,WAAW,CAAC,CAAgB,EAAE,CAAgB;QAC5C,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAE9C,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,OAAO,GAAG,CAAC,CAAC,MAA2C,CAAC;QAC9D,MAAM,OAAO,GAAG,CAAC,CAAC,MAA2C,CAAC;QAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC/D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAUD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QATvC,kBAAa,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO;YAC9B,IAAI,CAAC,YAAY,CAAC;gBAChB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB;gBAC5C,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY;aACtC,CAAC,CAAC;QACL,CAAC,CAAC;QAKA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAE,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF","sourcesContent":["import {\r\n getSingletonComponent,\r\n AppObject,\r\n AppObjectPM,\r\n AppObjectRepo\r\n} from \"@vived/core\";\r\nimport {\r\n ColorScheme,\r\n defaultScheme,\r\n HostThemeEntity\r\n} from \"../Entities/HostThemeEntity\";\r\n\r\nexport interface ThemeColorsVM {\r\n themeName: string;\r\n scheme: ColorScheme;\r\n}\r\n\r\nexport const defaultThemeColorsVM: ThemeColorsVM = {\r\n themeName: \"\",\r\n scheme: defaultScheme\r\n};\r\n\r\nexport abstract class ThemeColorsPM extends AppObjectPM<ThemeColorsVM> {\r\n static readonly type = \"ThemeColorsPM\";\r\n\r\n static get(appObjects: AppObjectRepo) {\r\n return getSingletonComponent<ThemeColorsPM>(ThemeColorsPM.type, appObjects);\r\n }\r\n}\r\n\r\nexport function makeThemeColorsPM(appObject: AppObject): ThemeColorsPM {\r\n return new ThemeColorsPMImp(appObject);\r\n}\r\n\r\nclass ThemeColorsPMImp extends ThemeColorsPM {\r\n private themeColors?: HostThemeEntity;\r\n\r\n vmsAreEqual(a: ThemeColorsVM, b: ThemeColorsVM): boolean {\r\n if (a.themeName !== b.themeName) return false;\r\n\r\n // Compare scheme colors too, so a rebrand/replacement under the same name\r\n // (e.g. a client applying brand colors) still re-projects the view.\r\n const aScheme = a.scheme as unknown as Record<string, string>;\r\n const bScheme = b.scheme as unknown as Record<string, string>;\r\n const aKeys = Object.keys(aScheme);\r\n if (aKeys.length !== Object.keys(bScheme).length) return false;\r\n return aKeys.every((key) => aScheme[key] === bScheme[key]);\r\n }\r\n\r\n onThemeChange = () => {\r\n if (!this.themeColors) return;\r\n this.doUpdateView({\r\n themeName: this.themeColors.activeSchemeName,\r\n scheme: this.themeColors.activeScheme\r\n });\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, ThemeColorsPM.type);\r\n\r\n this.appObjects.registerSingleton(this);\r\n\r\n this.themeColors = HostThemeEntity.get(appObject.appObjectRepo)!;\r\n if (!this.themeColors) {\r\n this.error(\"Unable to find HostThemeEntity\");\r\n return;\r\n } else {\r\n this.themeColors.addChangeObserver(this.onThemeChange);\r\n this.onThemeChange();\r\n }\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppSandboxFeatureFactory.d.ts","sourceRoot":"","sources":["../../../../src/AppSandbox/Factories/AppSandboxFeatureFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAwBtE;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,aAAa;IAEzD,QAAQ,CAAC,WAAW,8BAA8B;IAElD,OAAO,CAAC,OAAO,CAAC,CAAmB;gBAEvB,SAAS,EAAE,SAAS;IAIhC;;OAEG;IACH,aAAa,IAAI,IAAI;IAOrB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAahB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAUhB;;OAEG;IACH,UAAU,IAAI,IAAI;CA0BnB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,aAAa,GACxB,wBAAwB,CAG1B"}
1
+ {"version":3,"file":"AppSandboxFeatureFactory.d.ts","sourceRoot":"","sources":["../../../../src/AppSandbox/Factories/AppSandboxFeatureFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4BtE;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,aAAa;IAEzD,QAAQ,CAAC,WAAW,8BAA8B;IAElD,OAAO,CAAC,OAAO,CAAC,CAAmB;gBAEvB,SAAS,EAAE,SAAS;IAIhC;;OAEG;IACH,aAAa,IAAI,IAAI;IAOrB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAiBhB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAUhB;;OAEG;IACH,UAAU,IAAI,IAAI;CA0BnB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,aAAa,GACxB,wBAAwB,CAG1B"}
@@ -0,0 +1,16 @@
1
+ import { AppObject, AppObjectRepo, AppObjectUC } from "@vived/core";
2
+ /**
3
+ * Re-dispatches SET_THEME_COLORS to the running App whenever the active Color
4
+ * Scheme changes, so the App re-colors live (not only at start). See ADR-0004.
5
+ *
6
+ * The start-time dispatch stays in StartAppUC; this UC is additive — it observes
7
+ * the HostThemeEntity and, while an App is mounted or playing, fires the App's
8
+ * DispatchThemeUC again. Before mount there is nothing to re-theme, so it no-ops.
9
+ */
10
+ export declare abstract class RedispatchThemeToAppUC extends AppObjectUC {
11
+ static type: string;
12
+ static get(appObject: AppObject): RedispatchThemeToAppUC | undefined;
13
+ static getByID(id: string, appObjects: AppObjectRepo): RedispatchThemeToAppUC | undefined;
14
+ }
15
+ export declare function makeRedispatchThemeToAppUC(appObject: AppObject): RedispatchThemeToAppUC;
16
+ //# sourceMappingURL=RedispatchThemeToAppUC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedispatchThemeToAppUC.d.ts","sourceRoot":"","sources":["../../../../src/AppSandbox/UCs/RedispatchThemeToAppUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAKpE;;;;;;;GAOG;AACH,8BAAsB,sBAAuB,SAAQ,WAAW;IAC9D,MAAM,CAAC,IAAI,SAA4B;IAEvC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,sBAAsB,GAAG,SAAS;IAapE,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,sBAAsB,GAAG,SAAS;CAatC;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,GACnB,sBAAsB,CAExB"}
@@ -1,3 +1,4 @@
1
+ export * from "./RedispatchThemeToAppUC";
1
2
  export * from "./SetDevModeUC";
2
3
  export * from "./ShowBabylonInspectorUC";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/AppSandbox/UCs/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/AppSandbox/UCs/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
@@ -36,6 +36,18 @@ export interface ColorSchemeV1 {
36
36
  onError: string;
37
37
  errorContainer: string;
38
38
  onErrorContainer: string;
39
+ success: string;
40
+ onSuccess: string;
41
+ successContainer: string;
42
+ onSuccessContainer: string;
43
+ warning: string;
44
+ onWarning: string;
45
+ warningContainer: string;
46
+ onWarningContainer: string;
47
+ info: string;
48
+ onInfo: string;
49
+ infoContainer: string;
50
+ onInfoContainer: string;
39
51
  outline: string;
40
52
  background: string;
41
53
  onBackground: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DispatchThemeUC.d.ts","sourceRoot":"","sources":["../../../../src/Dispatcher/UCs/DispatchThemeUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIpE,8BAAsB,eAAgB,SAAQ,WAAW;IACvD,MAAM,CAAC,QAAQ,CAAC,IAAI,qBAAqB;IACzC,QAAQ,CAAC,WAAW,sBAAsB;IAE1C,QAAQ,CAAC,UAAU,IAAI,IAAI;IAE3B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS;IAW7D,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,eAAe,GAAG,SAAS;CAa/B;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe,CAEzE;AAyCD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"DispatchThemeUC.d.ts","sourceRoot":"","sources":["../../../../src/Dispatcher/UCs/DispatchThemeUC.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,18 @@ export declare enum ThemeColorType {
29
29
  onError = "onError",
30
30
  errorContainer = "errorContainer",
31
31
  onErrorContainer = "onErrorContainer",
32
+ success = "success",
33
+ onSuccess = "onSuccess",
34
+ successContainer = "successContainer",
35
+ onSuccessContainer = "onSuccessContainer",
36
+ warning = "warning",
37
+ onWarning = "onWarning",
38
+ warningContainer = "warningContainer",
39
+ onWarningContainer = "onWarningContainer",
40
+ info = "info",
41
+ onInfo = "onInfo",
42
+ infoContainer = "infoContainer",
43
+ onInfoContainer = "onInfoContainer",
32
44
  outline = "outline",
33
45
  background = "background",
34
46
  onBackground = "onBackground",
@@ -80,6 +92,18 @@ export interface ColorScheme {
80
92
  onError: string;
81
93
  errorContainer: string;
82
94
  onErrorContainer: string;
95
+ success: string;
96
+ onSuccess: string;
97
+ successContainer: string;
98
+ onSuccessContainer: string;
99
+ warning: string;
100
+ onWarning: string;
101
+ warningContainer: string;
102
+ onWarningContainer: string;
103
+ info: string;
104
+ onInfo: string;
105
+ infoContainer: string;
106
+ onInfoContainer: string;
83
107
  outline: string;
84
108
  background: string;
85
109
  onBackground: string;