@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.
- package/dist/cjs/AppSandbox/Factories/AppSandboxFeatureFactory.js +3 -0
- package/dist/cjs/AppSandbox/Factories/AppSandboxFeatureFactory.js.map +1 -1
- package/dist/cjs/AppSandbox/UCs/RedispatchThemeToAppUC.js +69 -0
- package/dist/cjs/AppSandbox/UCs/RedispatchThemeToAppUC.js.map +1 -0
- package/dist/cjs/AppSandbox/UCs/index.js +1 -0
- package/dist/cjs/AppSandbox/UCs/index.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchThemeUC.js.map +1 -1
- package/dist/cjs/ThemeColors/Data/vivedDarkTheme.json +59 -47
- package/dist/cjs/ThemeColors/Data/vivedLightTheme.json +59 -47
- package/dist/cjs/ThemeColors/Entities/HostThemeEntity.js +24 -0
- package/dist/cjs/ThemeColors/Entities/HostThemeEntity.js.map +1 -1
- package/dist/cjs/ThemeColors/PM/ThemeColorsPM.js +10 -1
- package/dist/cjs/ThemeColors/PM/ThemeColorsPM.js.map +1 -1
- package/dist/esm/AppSandbox/Factories/AppSandboxFeatureFactory.js +4 -1
- package/dist/esm/AppSandbox/Factories/AppSandboxFeatureFactory.js.map +1 -1
- package/dist/esm/AppSandbox/UCs/RedispatchThemeToAppUC.js +64 -0
- package/dist/esm/AppSandbox/UCs/RedispatchThemeToAppUC.js.map +1 -0
- package/dist/esm/AppSandbox/UCs/index.js +1 -0
- package/dist/esm/AppSandbox/UCs/index.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchThemeUC.js.map +1 -1
- package/dist/esm/ThemeColors/Data/vivedDarkTheme.json +59 -47
- package/dist/esm/ThemeColors/Data/vivedLightTheme.json +59 -47
- package/dist/esm/ThemeColors/Entities/HostThemeEntity.js +24 -0
- package/dist/esm/ThemeColors/Entities/HostThemeEntity.js.map +1 -1
- package/dist/esm/ThemeColors/PM/ThemeColorsPM.js +10 -1
- package/dist/esm/ThemeColors/PM/ThemeColorsPM.js.map +1 -1
- package/dist/types/AppSandbox/Factories/AppSandboxFeatureFactory.d.ts.map +1 -1
- package/dist/types/AppSandbox/UCs/RedispatchThemeToAppUC.d.ts +16 -0
- package/dist/types/AppSandbox/UCs/RedispatchThemeToAppUC.d.ts.map +1 -0
- package/dist/types/AppSandbox/UCs/index.d.ts +1 -0
- package/dist/types/AppSandbox/UCs/index.d.ts.map +1 -1
- package/dist/types/Dispatcher/UCs/DispatchThemeUC.d.ts +12 -0
- package/dist/types/Dispatcher/UCs/DispatchThemeUC.d.ts.map +1 -1
- package/dist/types/ThemeColors/Entities/HostThemeEntity.d.ts +24 -0
- package/dist/types/ThemeColors/Entities/HostThemeEntity.d.ts.map +1 -1
- 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 +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": "#
|
|
3
|
-
"onPrimary": "#
|
|
4
|
-
"primaryContainer": "#
|
|
5
|
-
"onPrimaryContainer": "#
|
|
6
|
-
"primaryFixed": "#
|
|
7
|
-
"onPrimaryFixed": "#
|
|
8
|
-
"primaryFixedDim": "#
|
|
9
|
-
"onPrimaryFixedVariant": "#
|
|
10
|
-
"secondary": "#
|
|
11
|
-
"onSecondary": "#
|
|
12
|
-
"secondaryContainer": "#
|
|
13
|
-
"onSecondaryContainer": "#
|
|
14
|
-
"secondaryFixed": "#
|
|
15
|
-
"onSecondaryFixed": "#
|
|
16
|
-
"secondaryFixedDim": "#
|
|
17
|
-
"onSecondaryFixedVariant": "#
|
|
18
|
-
"tertiary": "#
|
|
19
|
-
"onTertiary": "#
|
|
20
|
-
"tertiaryContainer": "#
|
|
21
|
-
"onTertiaryContainer": "#
|
|
22
|
-
"tertiaryFixed": "#
|
|
23
|
-
"onTertiaryFixed": "#
|
|
24
|
-
"tertiaryFixedDim": "#
|
|
25
|
-
"onTertiaryFixedVariant": "#
|
|
26
|
-
"error": "#
|
|
27
|
-
"onError": "#
|
|
28
|
-
"errorContainer": "#
|
|
29
|
-
"onErrorContainer": "#
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
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": "#
|
|
42
|
-
"outlineVariant": "#
|
|
53
|
+
"surfaceTint": "#007bb0",
|
|
54
|
+
"outlineVariant": "#2c333c",
|
|
43
55
|
"scrim": "#000000",
|
|
44
|
-
"surfaceContainerHighest": "#
|
|
45
|
-
"surfaceContainerHigh": "#
|
|
46
|
-
"surfaceContainer": "#
|
|
47
|
-
"surfaceContainerLow": "#
|
|
48
|
-
"surfaceContainerLowest": "#
|
|
49
|
-
"surfaceBright": "#
|
|
50
|
-
"surfaceDim": "#
|
|
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": "#
|
|
3
|
-
"onPrimary": "#
|
|
4
|
-
"primaryContainer": "#
|
|
5
|
-
"onPrimaryContainer": "#
|
|
6
|
-
"primaryFixed": "#
|
|
7
|
-
"onPrimaryFixed": "#
|
|
8
|
-
"primaryFixedDim": "#
|
|
9
|
-
"onPrimaryFixedVariant": "#
|
|
10
|
-
"secondary": "#
|
|
11
|
-
"onSecondary": "#
|
|
12
|
-
"secondaryContainer": "#
|
|
13
|
-
"onSecondaryContainer": "#
|
|
14
|
-
"secondaryFixed": "#
|
|
15
|
-
"onSecondaryFixed": "#
|
|
16
|
-
"secondaryFixedDim": "#
|
|
17
|
-
"onSecondaryFixedVariant": "#
|
|
18
|
-
"tertiary": "#
|
|
19
|
-
"onTertiary": "#
|
|
20
|
-
"tertiaryContainer": "#
|
|
21
|
-
"onTertiaryContainer": "#
|
|
22
|
-
"tertiaryFixed": "#
|
|
23
|
-
"onTertiaryFixed": "#
|
|
24
|
-
"tertiaryFixedDim": "#
|
|
25
|
-
"onTertiaryFixedVariant": "#
|
|
26
|
-
"error": "#
|
|
27
|
-
"onError": "#
|
|
28
|
-
"errorContainer": "#
|
|
29
|
-
"onErrorContainer": "#
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
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": "#
|
|
42
|
-
"outlineVariant": "#
|
|
53
|
+
"surfaceTint": "#007bb0",
|
|
54
|
+
"outlineVariant": "#e2e3e5",
|
|
43
55
|
"scrim": "#000000",
|
|
44
|
-
"surfaceContainerHighest": "#
|
|
45
|
-
"surfaceContainerHigh": "#
|
|
46
|
-
"surfaceContainer": "#
|
|
47
|
-
"surfaceContainerLow": "#
|
|
48
|
-
"surfaceContainerLowest": "#
|
|
49
|
-
"surfaceBright": "#
|
|
50
|
-
"surfaceDim": "#
|
|
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
|
-
|
|
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,
|
|
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;
|
|
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 +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;
|