@vived/host 5.7.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 +35 -23
- package/dist/cjs/ThemeColors/Data/vivedLightTheme.json +15 -3
- 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 +35 -23
- package/dist/esm/ThemeColors/Data/vivedLightTheme.json +15 -3
- 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
|
@@ -47,6 +47,9 @@ class AppSandboxFeatureFactory extends core_1.DomainFactory {
|
|
|
47
47
|
(0, UCs_2.makeSetDevModeUC)(this.appObject);
|
|
48
48
|
(0, UCs_2.makeShowBabylonInspectorUC)(this.appObject);
|
|
49
49
|
(0, UCs_1.makeSandboxMounter)(this.appObject);
|
|
50
|
+
// Re-dispatch SET_THEME_COLORS to the running App on theme change (ADR-0004).
|
|
51
|
+
// HostThemeEntity exists by now — all setupEntities run before any setupUCs.
|
|
52
|
+
(0, UCs_2.makeRedispatchThemeToAppUC)(this.appObject);
|
|
50
53
|
}
|
|
51
54
|
/**
|
|
52
55
|
* Sets up all presentation managers for the AppSandbox system
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppSandboxFeatureFactory.js","sourceRoot":"","sources":["../../../../src/AppSandbox/Factories/AppSandboxFeatureFactory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AppSandboxFeatureFactory.js","sourceRoot":"","sources":["../../../../src/AppSandbox/Factories/AppSandboxFeatureFactory.ts"],"names":[],"mappings":";;;AAqHA,oEAMC;AA3HD,sCAAsE;AACtE,wCAIwB;AACxB,wDAAmE;AACnE,gGAA6F;AAC7F,qDAA+D;AAC/D,uFAAoF;AACpF,2CAA2D;AAC3D,0CAAqE;AACrE,gCAOgB;AAChB,gCAIgB;AAChB,gGAAiG;AACjG,kDAAoD;AAEpD;;;;GAIG;AACH,MAAa,wBAAyB,SAAQ,oBAAa;IAMzD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;QANnB,+BAA+B;QACtB,gBAAW,GAAG,0BAA0B,CAAC;IAMlD,CAAC;IAED;;OAEG;IACH,aAAa;QACX,sBAAsB;QACtB,IAAI,CAAC,OAAO,GAAG,IAAA,+BAAoB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAA,iCAAsB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,IAAA,gCAAqB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,0CAA0C;QAC1C,IAAA,2DAA4B,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAA,qDAAyB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1C,uBAAuB;QACvB,IAAA,oBAAc,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAA,mBAAa,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAA,sBAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAA,gCAA0B,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAA,wBAAkB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnC,8EAA8E;QAC9E,6EAA6E;QAC7E,IAAA,gCAA0B,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,mCAAmC;QACnC,IAAA,qCAA+B,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAA,8BAAwB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,IAAA,mBAAa,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAA,wBAAkB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,IAAA,yBAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAA,yBAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,qDAAqD;QACrD,MAAM,qBAAqB,GACzB,IAAI,CAAC,UAAU,CAAC,YAAY,CAC1B,oCAA0B,CAAC,IAAI,CAChC,CAAC;QACJ,IAAI,qBAAqB,EAAE,CAAC;YAC1B,qBAAqB,CAAC,MAAM,GAAG,IAAA,yEAAqC,EAClE,IAAI,CAAC,UAAU,CAChB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,wBAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF;AAlFD,4DAkFC;AAED,SAAgB,4BAA4B,CAC1C,KAAa,EACb,UAAyB;IAEzB,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,IAAI,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["import { AppObject, AppObjectRepo, DomainFactory } from \"@vived/core\";\r\nimport {\r\n makeSandboxMounter,\r\n makeStartAppUC,\r\n makeStopAppUC\r\n} from \"../../Apps/UCs\";\r\nimport { makeHostDispatchEntity } from \"../../Dispatcher/Entities\";\r\nimport { setupStandardHostDispatchers } from \"../../Dispatcher/setupStandardHostDispatchers\";\r\nimport { makeHostHandlerEntity } from \"../../Handler/Entities\";\r\nimport { setupStandardHostHandlers } from \"../../Handler/setupStandardHostHandlers\";\r\nimport { SubmitActivityAssetHandler } from \"../../Handler\";\r\nimport { AppSandboxEntity, makeAppSandboxEntity } from \"../Entities\";\r\nimport {\r\n makeBabylonInspectorSupportedPM,\r\n makeDevFeaturesEnabledPM,\r\n makeDevModePM,\r\n makeSandboxStatePM,\r\n makeShowInspectorPM,\r\n makeStartInZSpacePM\r\n} from \"../PMs\";\r\nimport {\r\n makeRedispatchThemeToAppUC,\r\n makeSetDevModeUC,\r\n makeShowBabylonInspectorUC\r\n} from \"../UCs\";\r\nimport { makeSubmitActivityAssetHandlerSandbox } from \"../UCs/submitActivityAssetHandlerSandbox\";\r\nimport { AppRepoEntity } from \"../../Apps/Entities\";\r\n\r\n/**\r\n * Factory responsible for setting up the AppSandbox domain components.\r\n * This factory initializes all entities, use cases, and presentation models\r\n * required for the AppSandbox functionality.\r\n */\r\nexport class AppSandboxFeatureFactory extends DomainFactory {\r\n // Unique name for this factory\r\n readonly factoryName = \"AppSandboxFeatureFactory\";\r\n\r\n private sandbox?: AppSandboxEntity;\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject);\r\n }\r\n\r\n /**\r\n * Sets up all entities required for the AppSandbox system\r\n */\r\n setupEntities(): void {\r\n // Initialize entities\r\n this.sandbox = makeAppSandboxEntity(this.appObject);\r\n makeHostDispatchEntity(this.appObject);\r\n makeHostHandlerEntity(this.appObject);\r\n }\r\n\r\n /**\r\n * Sets up all use cases for the AppSandbox system\r\n */\r\n setupUCs(): void {\r\n // Setup standard dispatchers and handlers\r\n setupStandardHostDispatchers(this.appObject);\r\n setupStandardHostHandlers(this.appObject);\r\n\r\n // Initialize use cases\r\n makeStartAppUC(this.appObject);\r\n makeStopAppUC(this.appObject);\r\n makeSetDevModeUC(this.appObject);\r\n makeShowBabylonInspectorUC(this.appObject);\r\n makeSandboxMounter(this.appObject);\r\n\r\n // Re-dispatch SET_THEME_COLORS to the running App on theme change (ADR-0004).\r\n // HostThemeEntity exists by now — all setupEntities run before any setupUCs.\r\n makeRedispatchThemeToAppUC(this.appObject);\r\n }\r\n\r\n /**\r\n * Sets up all presentation managers for the AppSandbox system\r\n */\r\n setupPMs(): void {\r\n // Initialize presentation managers\r\n makeBabylonInspectorSupportedPM(this.appObject);\r\n makeDevFeaturesEnabledPM(this.appObject);\r\n makeDevModePM(this.appObject);\r\n makeSandboxStatePM(this.appObject);\r\n makeShowInspectorPM(this.appObject);\r\n makeStartInZSpacePM(this.appObject);\r\n }\r\n\r\n /**\r\n * Performs any final setup operations after all components are initialized\r\n */\r\n finalSetup(): void {\r\n // Setup custom handler for activity asset submission\r\n const submitActivityAssetUC =\r\n this.appObjects.getSingleton<SubmitActivityAssetHandler>(\r\n SubmitActivityAssetHandler.type\r\n );\r\n if (submitActivityAssetUC) {\r\n submitActivityAssetUC.action = makeSubmitActivityAssetHandlerSandbox(\r\n this.appObjects\r\n );\r\n }\r\n\r\n if (!this.sandbox) {\r\n this.error(\"AppSandboxEntity not found during final setup.\");\r\n return;\r\n }\r\n\r\n const apps = AppRepoEntity.get(this.appObjects);\r\n\r\n if (!apps) {\r\n this.error(\"AppRepoEntity not found in AppObjects.\");\r\n return;\r\n }\r\n\r\n apps.add(this.sandbox.app);\r\n }\r\n}\r\n\r\nexport function makeAppSandboxFeatureFactory(\r\n appID: string,\r\n appObjects: AppObjectRepo\r\n): AppSandboxFeatureFactory {\r\n const ao = appObjects.getOrCreate(appID);\r\n return new AppSandboxFeatureFactory(ao);\r\n}\r\n"]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RedispatchThemeToAppUC = void 0;
|
|
4
|
+
exports.makeRedispatchThemeToAppUC = makeRedispatchThemeToAppUC;
|
|
5
|
+
const core_1 = require("@vived/core");
|
|
6
|
+
const ThemeColors_1 = require("../../ThemeColors");
|
|
7
|
+
const Dispatcher_1 = require("../../Dispatcher");
|
|
8
|
+
const AppSandboxEntity_1 = require("../Entities/AppSandboxEntity");
|
|
9
|
+
/**
|
|
10
|
+
* Re-dispatches SET_THEME_COLORS to the running App whenever the active Color
|
|
11
|
+
* Scheme changes, so the App re-colors live (not only at start). See ADR-0004.
|
|
12
|
+
*
|
|
13
|
+
* The start-time dispatch stays in StartAppUC; this UC is additive — it observes
|
|
14
|
+
* the HostThemeEntity and, while an App is mounted or playing, fires the App's
|
|
15
|
+
* DispatchThemeUC again. Before mount there is nothing to re-theme, so it no-ops.
|
|
16
|
+
*/
|
|
17
|
+
class RedispatchThemeToAppUC extends core_1.AppObjectUC {
|
|
18
|
+
static get(appObject) {
|
|
19
|
+
const uc = appObject.getComponent(RedispatchThemeToAppUC.type);
|
|
20
|
+
if (!uc) {
|
|
21
|
+
appObject.appObjectRepo.submitWarning("RedispatchThemeToAppUC.get", "Unable to find RedispatchThemeToAppUC on app object " + appObject.id);
|
|
22
|
+
}
|
|
23
|
+
return uc;
|
|
24
|
+
}
|
|
25
|
+
static getByID(id, appObjects) {
|
|
26
|
+
const appObject = appObjects.get(id);
|
|
27
|
+
if (!appObject) {
|
|
28
|
+
appObjects.submitWarning("RedispatchThemeToAppUC.getByID", "Unable to find App Object by id " + id);
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
return RedispatchThemeToAppUC.get(appObject);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.RedispatchThemeToAppUC = RedispatchThemeToAppUC;
|
|
35
|
+
RedispatchThemeToAppUC.type = "RedispatchThemeToAppUC";
|
|
36
|
+
function makeRedispatchThemeToAppUC(appObject) {
|
|
37
|
+
return new RedispatchThemeToAppUCImp(appObject);
|
|
38
|
+
}
|
|
39
|
+
class RedispatchThemeToAppUCImp extends RedispatchThemeToAppUC {
|
|
40
|
+
get sandbox() {
|
|
41
|
+
return this.getCachedSingleton(AppSandboxEntity_1.AppSandboxEntity.type);
|
|
42
|
+
}
|
|
43
|
+
get dispatchTheme() {
|
|
44
|
+
return this.getCachedLocalComponent(Dispatcher_1.DispatchThemeUC.type);
|
|
45
|
+
}
|
|
46
|
+
constructor(appObject) {
|
|
47
|
+
super(appObject, RedispatchThemeToAppUC.type);
|
|
48
|
+
this.onThemeChange = () => {
|
|
49
|
+
const sandbox = this.sandbox;
|
|
50
|
+
if (!sandbox)
|
|
51
|
+
return;
|
|
52
|
+
// Only a mounted App can be re-themed; the start-time dispatch in StartAppUC
|
|
53
|
+
// covers the initial send, so before mount there is nothing to do here.
|
|
54
|
+
if (sandbox.state !== AppSandboxEntity_1.SandboxState.MOUNTED &&
|
|
55
|
+
sandbox.state !== AppSandboxEntity_1.SandboxState.PLAYING) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.dispatchTheme?.doDispatch();
|
|
59
|
+
};
|
|
60
|
+
this.theme = ThemeColors_1.HostThemeEntity.get(this.appObjects);
|
|
61
|
+
if (!this.theme) {
|
|
62
|
+
this.error("RedispatchThemeToAppUC could not find the HostThemeEntity");
|
|
63
|
+
this.dispose();
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this.theme.addChangeObserver(this.onThemeChange);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=RedispatchThemeToAppUC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RedispatchThemeToAppUC.js","sourceRoot":"","sources":["../../../../src/AppSandbox/UCs/RedispatchThemeToAppUC.ts"],"names":[],"mappings":";;;AA+CA,gEAIC;AAnDD,sCAAoE;AACpE,mDAAoD;AACpD,iDAAmD;AACnD,mEAA8E;AAE9E;;;;;;;GAOG;AACH,MAAsB,sBAAuB,SAAQ,kBAAW;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;;AA/BH,wDAgCC;AA/BQ,2BAAI,GAAG,wBAAwB,CAAC;AAiCzC,SAAgB,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,mCAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,uBAAuB,CAAkB,4BAAe,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,+BAAY,CAAC,OAAO;gBACtC,OAAO,CAAC,KAAK,KAAK,+BAAY,CAAC,OAAO,EACtC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC;QACnC,CAAC,CAAC;QAKA,IAAI,CAAC,KAAK,GAAG,6BAAe,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"]}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./RedispatchThemeToAppUC"), exports);
|
|
17
18
|
__exportStar(require("./SetDevModeUC"), exports);
|
|
18
19
|
__exportStar(require("./ShowBabylonInspectorUC"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/AppSandbox/UCs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,2DAAyC","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,2DAAyC;AACzC,iDAA+B;AAC/B,2DAAyC","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":";;;AAuCA,kDAEC;AAzCD,sCAAoE;AACpE,mDAAoD;AACpD,0CAAiD;AAEjD,MAAsB,eAAgB,SAAQ,kBAAW;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;;AAhCH,0CAiCC;AAhCiB,oBAAI,GAAG,iBAAiB,AAApB,CAAqB;AAkC3C,SAAgB,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,6BAAe,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,6BAAkB,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":";;;AAuCA,kDAEC;AAzCD,sCAAoE;AACpE,mDAAoD;AACpD,0CAAiD;AAEjD,MAAsB,eAAgB,SAAQ,kBAAW;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;;AAhCH,0CAiCC;AAhCiB,oBAAI,GAAG,iBAAiB,AAApB,CAAqB;AAkC3C,SAAgB,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,6BAAe,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,6BAAkB,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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"primary": "#
|
|
3
|
-
"onPrimary": "#
|
|
2
|
+
"primary": "#007bb0",
|
|
3
|
+
"onPrimary": "#ffffff",
|
|
4
4
|
"primaryContainer": "#00506f",
|
|
5
5
|
"onPrimaryContainer": "#cbeafb",
|
|
6
6
|
"primaryFixed": "#cbeafb",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"onSecondaryFixed": "#081f2a",
|
|
16
16
|
"secondaryFixedDim": "#b4cad6",
|
|
17
17
|
"onSecondaryFixedVariant": "#35525f",
|
|
18
|
-
"tertiary": "#
|
|
18
|
+
"tertiary": "#4ec9f5",
|
|
19
19
|
"onTertiary": "#00344a",
|
|
20
20
|
"tertiaryContainer": "#005e7c",
|
|
21
21
|
"onTertiaryContainer": "#bfeaff",
|
|
@@ -23,29 +23,41 @@
|
|
|
23
23
|
"onTertiaryFixed": "#001f2c",
|
|
24
24
|
"tertiaryFixedDim": "#6bd5f5",
|
|
25
25
|
"onTertiaryFixedVariant": "#005e7c",
|
|
26
|
-
"error": "#
|
|
26
|
+
"error": "#f0577c",
|
|
27
27
|
"onError": "#3a0710",
|
|
28
28
|
"errorContainer": "#7f1225",
|
|
29
29
|
"onErrorContainer": "#ffd9df",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
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,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"primary": "#
|
|
2
|
+
"primary": "#007bb0",
|
|
3
3
|
"onPrimary": "#ffffff",
|
|
4
4
|
"primaryContainer": "#cbeafb",
|
|
5
5
|
"onPrimaryContainer": "#001e2e",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"secondaryFixedDim": "#b4cad6",
|
|
17
17
|
"onSecondaryFixedVariant": "#35525f",
|
|
18
18
|
"tertiary": "#00a8e1",
|
|
19
|
-
"onTertiary": "#
|
|
19
|
+
"onTertiary": "#001f2c",
|
|
20
20
|
"tertiaryContainer": "#bfeaff",
|
|
21
21
|
"onTertiaryContainer": "#001f2c",
|
|
22
22
|
"tertiaryFixed": "#bfeaff",
|
|
@@ -27,6 +27,18 @@
|
|
|
27
27
|
"onError": "#ffffff",
|
|
28
28
|
"errorContainer": "#ffd9df",
|
|
29
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",
|
|
30
42
|
"outline": "#939598",
|
|
31
43
|
"background": "#f4f5f6",
|
|
32
44
|
"onBackground": "#231f20",
|
|
@@ -38,7 +50,7 @@
|
|
|
38
50
|
"inverseOnSurface": "#f4f5f6",
|
|
39
51
|
"inversePrimary": "#7ad2f2",
|
|
40
52
|
"shadow": "#000000",
|
|
41
|
-
"surfaceTint": "#
|
|
53
|
+
"surfaceTint": "#007bb0",
|
|
42
54
|
"outlineVariant": "#e2e3e5",
|
|
43
55
|
"scrim": "#000000",
|
|
44
56
|
"surfaceContainerHighest": "#e4e5e7",
|
|
@@ -34,6 +34,18 @@ var ThemeColorType;
|
|
|
34
34
|
ThemeColorType["onError"] = "onError";
|
|
35
35
|
ThemeColorType["errorContainer"] = "errorContainer";
|
|
36
36
|
ThemeColorType["onErrorContainer"] = "onErrorContainer";
|
|
37
|
+
ThemeColorType["success"] = "success";
|
|
38
|
+
ThemeColorType["onSuccess"] = "onSuccess";
|
|
39
|
+
ThemeColorType["successContainer"] = "successContainer";
|
|
40
|
+
ThemeColorType["onSuccessContainer"] = "onSuccessContainer";
|
|
41
|
+
ThemeColorType["warning"] = "warning";
|
|
42
|
+
ThemeColorType["onWarning"] = "onWarning";
|
|
43
|
+
ThemeColorType["warningContainer"] = "warningContainer";
|
|
44
|
+
ThemeColorType["onWarningContainer"] = "onWarningContainer";
|
|
45
|
+
ThemeColorType["info"] = "info";
|
|
46
|
+
ThemeColorType["onInfo"] = "onInfo";
|
|
47
|
+
ThemeColorType["infoContainer"] = "infoContainer";
|
|
48
|
+
ThemeColorType["onInfoContainer"] = "onInfoContainer";
|
|
37
49
|
ThemeColorType["outline"] = "outline";
|
|
38
50
|
ThemeColorType["background"] = "background";
|
|
39
51
|
ThemeColorType["onBackground"] = "onBackground";
|
|
@@ -140,6 +152,18 @@ exports.defaultScheme = {
|
|
|
140
152
|
onError: "#690005",
|
|
141
153
|
errorContainer: "#93000A",
|
|
142
154
|
onErrorContainer: "#FFDAD6",
|
|
155
|
+
success: "#7EE0B0",
|
|
156
|
+
onSuccess: "#00391F",
|
|
157
|
+
successContainer: "#005234",
|
|
158
|
+
onSuccessContainer: "#9BFCCB",
|
|
159
|
+
warning: "#FFB951",
|
|
160
|
+
onWarning: "#452B00",
|
|
161
|
+
warningContainer: "#633F00",
|
|
162
|
+
onWarningContainer: "#FFDEA8",
|
|
163
|
+
info: "#A2C9FF",
|
|
164
|
+
onInfo: "#00325B",
|
|
165
|
+
infoContainer: "#164A7F",
|
|
166
|
+
onInfoContainer: "#D3E4FF",
|
|
143
167
|
outline: "#8B9297",
|
|
144
168
|
background: "#191C1E",
|
|
145
169
|
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"]}
|
|
@@ -20,7 +20,16 @@ function makeThemeColorsPM(appObject) {
|
|
|
20
20
|
}
|
|
21
21
|
class ThemeColorsPMImp extends ThemeColorsPM {
|
|
22
22
|
vmsAreEqual(a, b) {
|
|
23
|
-
|
|
23
|
+
if (a.themeName !== b.themeName)
|
|
24
|
+
return false;
|
|
25
|
+
// Compare scheme colors too, so a rebrand/replacement under the same name
|
|
26
|
+
// (e.g. a client applying brand colors) still re-projects the view.
|
|
27
|
+
const aScheme = a.scheme;
|
|
28
|
+
const bScheme = b.scheme;
|
|
29
|
+
const aKeys = Object.keys(aScheme);
|
|
30
|
+
if (aKeys.length !== Object.keys(bScheme).length)
|
|
31
|
+
return false;
|
|
32
|
+
return aKeys.every((key) => aScheme[key] === bScheme[key]);
|
|
24
33
|
}
|
|
25
34
|
constructor(appObject) {
|
|
26
35
|
super(appObject, ThemeColorsPM.type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeColorsPM.js","sourceRoot":"","sources":["../../../../src/ThemeColors/PM/ThemeColorsPM.ts"],"names":[],"mappings":";;;AA8BA,8CAEC;AAhCD,sCAKqB;AACrB,iEAIqC;AAOxB,QAAA,oBAAoB,GAAkB;IACjD,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,+BAAa;CACtB,CAAC;AAEF,MAAsB,aAAc,SAAQ,kBAA0B;IAGpE,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,IAAA,4BAAqB,EAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;;AALH,sCAMC;AALiB,kBAAI,GAAG,eAAe,CAAC;AAOzC,SAAgB,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":";;;AA8BA,8CAEC;AAhCD,sCAKqB;AACrB,iEAIqC;AAOxB,QAAA,oBAAoB,GAAkB;IACjD,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,+BAAa;CACtB,CAAC;AAEF,MAAsB,aAAc,SAAQ,kBAA0B;IAGpE,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,IAAA,4BAAqB,EAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;;AALH,sCAMC;AALiB,kBAAI,GAAG,eAAe,CAAC;AAOzC,SAAgB,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,iCAAe,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"]}
|
|
@@ -7,7 +7,7 @@ import { setupStandardHostHandlers } from "../../Handler/setupStandardHostHandle
|
|
|
7
7
|
import { SubmitActivityAssetHandler } from "../../Handler";
|
|
8
8
|
import { makeAppSandboxEntity } from "../Entities";
|
|
9
9
|
import { makeBabylonInspectorSupportedPM, makeDevFeaturesEnabledPM, makeDevModePM, makeSandboxStatePM, makeShowInspectorPM, makeStartInZSpacePM } from "../PMs";
|
|
10
|
-
import { makeSetDevModeUC, makeShowBabylonInspectorUC } from "../UCs";
|
|
10
|
+
import { makeRedispatchThemeToAppUC, makeSetDevModeUC, makeShowBabylonInspectorUC } from "../UCs";
|
|
11
11
|
import { makeSubmitActivityAssetHandlerSandbox } from "../UCs/submitActivityAssetHandlerSandbox";
|
|
12
12
|
import { AppRepoEntity } from "../../Apps/Entities";
|
|
13
13
|
/**
|
|
@@ -43,6 +43,9 @@ export class AppSandboxFeatureFactory extends DomainFactory {
|
|
|
43
43
|
makeSetDevModeUC(this.appObject);
|
|
44
44
|
makeShowBabylonInspectorUC(this.appObject);
|
|
45
45
|
makeSandboxMounter(this.appObject);
|
|
46
|
+
// Re-dispatch SET_THEME_COLORS to the running App on theme change (ADR-0004).
|
|
47
|
+
// HostThemeEntity exists by now — all setupEntities run before any setupUCs.
|
|
48
|
+
makeRedispatchThemeToAppUC(this.appObject);
|
|
46
49
|
}
|
|
47
50
|
/**
|
|
48
51
|
* Sets up all presentation managers for the AppSandbox system
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppSandboxFeatureFactory.js","sourceRoot":"","sources":["../../../../src/AppSandbox/Factories/AppSandboxFeatureFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,aAAa,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAoB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,QAAQ,CAAC;AAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"AppSandboxFeatureFactory.js","sourceRoot":"","sources":["../../../../src/AppSandbox/Factories/AppSandboxFeatureFactory.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectRepo, DomainFactory } from \"@vived/core\";\r\nimport {\r\n makeSandboxMounter,\r\n makeStartAppUC,\r\n makeStopAppUC\r\n} from \"../../Apps/UCs\";\r\nimport { makeHostDispatchEntity } from \"../../Dispatcher/Entities\";\r\nimport { setupStandardHostDispatchers } from \"../../Dispatcher/setupStandardHostDispatchers\";\r\nimport { makeHostHandlerEntity } from \"../../Handler/Entities\";\r\nimport { setupStandardHostHandlers } from \"../../Handler/setupStandardHostHandlers\";\r\nimport { SubmitActivityAssetHandler } from \"../../Handler\";\r\nimport { AppSandboxEntity, makeAppSandboxEntity } from \"../Entities\";\r\nimport {\r\n makeBabylonInspectorSupportedPM,\r\n makeDevFeaturesEnabledPM,\r\n makeDevModePM,\r\n makeSandboxStatePM,\r\n makeShowInspectorPM,\r\n makeStartInZSpacePM\r\n} from \"../PMs\";\r\nimport {\r\n makeRedispatchThemeToAppUC,\r\n makeSetDevModeUC,\r\n makeShowBabylonInspectorUC\r\n} from \"../UCs\";\r\nimport { makeSubmitActivityAssetHandlerSandbox } from \"../UCs/submitActivityAssetHandlerSandbox\";\r\nimport { AppRepoEntity } from \"../../Apps/Entities\";\r\n\r\n/**\r\n * Factory responsible for setting up the AppSandbox domain components.\r\n * This factory initializes all entities, use cases, and presentation models\r\n * required for the AppSandbox functionality.\r\n */\r\nexport class AppSandboxFeatureFactory extends DomainFactory {\r\n // Unique name for this factory\r\n readonly factoryName = \"AppSandboxFeatureFactory\";\r\n\r\n private sandbox?: AppSandboxEntity;\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject);\r\n }\r\n\r\n /**\r\n * Sets up all entities required for the AppSandbox system\r\n */\r\n setupEntities(): void {\r\n // Initialize entities\r\n this.sandbox = makeAppSandboxEntity(this.appObject);\r\n makeHostDispatchEntity(this.appObject);\r\n makeHostHandlerEntity(this.appObject);\r\n }\r\n\r\n /**\r\n * Sets up all use cases for the AppSandbox system\r\n */\r\n setupUCs(): void {\r\n // Setup standard dispatchers and handlers\r\n setupStandardHostDispatchers(this.appObject);\r\n setupStandardHostHandlers(this.appObject);\r\n\r\n // Initialize use cases\r\n makeStartAppUC(this.appObject);\r\n makeStopAppUC(this.appObject);\r\n makeSetDevModeUC(this.appObject);\r\n makeShowBabylonInspectorUC(this.appObject);\r\n makeSandboxMounter(this.appObject);\r\n\r\n // Re-dispatch SET_THEME_COLORS to the running App on theme change (ADR-0004).\r\n // HostThemeEntity exists by now — all setupEntities run before any setupUCs.\r\n makeRedispatchThemeToAppUC(this.appObject);\r\n }\r\n\r\n /**\r\n * Sets up all presentation managers for the AppSandbox system\r\n */\r\n setupPMs(): void {\r\n // Initialize presentation managers\r\n makeBabylonInspectorSupportedPM(this.appObject);\r\n makeDevFeaturesEnabledPM(this.appObject);\r\n makeDevModePM(this.appObject);\r\n makeSandboxStatePM(this.appObject);\r\n makeShowInspectorPM(this.appObject);\r\n makeStartInZSpacePM(this.appObject);\r\n }\r\n\r\n /**\r\n * Performs any final setup operations after all components are initialized\r\n */\r\n finalSetup(): void {\r\n // Setup custom handler for activity asset submission\r\n const submitActivityAssetUC =\r\n this.appObjects.getSingleton<SubmitActivityAssetHandler>(\r\n SubmitActivityAssetHandler.type\r\n );\r\n if (submitActivityAssetUC) {\r\n submitActivityAssetUC.action = makeSubmitActivityAssetHandlerSandbox(\r\n this.appObjects\r\n );\r\n }\r\n\r\n if (!this.sandbox) {\r\n this.error(\"AppSandboxEntity not found during final setup.\");\r\n return;\r\n }\r\n\r\n const apps = AppRepoEntity.get(this.appObjects);\r\n\r\n if (!apps) {\r\n this.error(\"AppRepoEntity not found in AppObjects.\");\r\n return;\r\n }\r\n\r\n apps.add(this.sandbox.app);\r\n }\r\n}\r\n\r\nexport function makeAppSandboxFeatureFactory(\r\n appID: string,\r\n appObjects: AppObjectRepo\r\n): AppSandboxFeatureFactory {\r\n const ao = appObjects.getOrCreate(appID);\r\n return new AppSandboxFeatureFactory(ao);\r\n}\r\n"]}
|
|
@@ -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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"primary": "#
|
|
3
|
-
"onPrimary": "#
|
|
2
|
+
"primary": "#007bb0",
|
|
3
|
+
"onPrimary": "#ffffff",
|
|
4
4
|
"primaryContainer": "#00506f",
|
|
5
5
|
"onPrimaryContainer": "#cbeafb",
|
|
6
6
|
"primaryFixed": "#cbeafb",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"onSecondaryFixed": "#081f2a",
|
|
16
16
|
"secondaryFixedDim": "#b4cad6",
|
|
17
17
|
"onSecondaryFixedVariant": "#35525f",
|
|
18
|
-
"tertiary": "#
|
|
18
|
+
"tertiary": "#4ec9f5",
|
|
19
19
|
"onTertiary": "#00344a",
|
|
20
20
|
"tertiaryContainer": "#005e7c",
|
|
21
21
|
"onTertiaryContainer": "#bfeaff",
|
|
@@ -23,29 +23,41 @@
|
|
|
23
23
|
"onTertiaryFixed": "#001f2c",
|
|
24
24
|
"tertiaryFixedDim": "#6bd5f5",
|
|
25
25
|
"onTertiaryFixedVariant": "#005e7c",
|
|
26
|
-
"error": "#
|
|
26
|
+
"error": "#f0577c",
|
|
27
27
|
"onError": "#3a0710",
|
|
28
28
|
"errorContainer": "#7f1225",
|
|
29
29
|
"onErrorContainer": "#ffd9df",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
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,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"primary": "#
|
|
2
|
+
"primary": "#007bb0",
|
|
3
3
|
"onPrimary": "#ffffff",
|
|
4
4
|
"primaryContainer": "#cbeafb",
|
|
5
5
|
"onPrimaryContainer": "#001e2e",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"secondaryFixedDim": "#b4cad6",
|
|
17
17
|
"onSecondaryFixedVariant": "#35525f",
|
|
18
18
|
"tertiary": "#00a8e1",
|
|
19
|
-
"onTertiary": "#
|
|
19
|
+
"onTertiary": "#001f2c",
|
|
20
20
|
"tertiaryContainer": "#bfeaff",
|
|
21
21
|
"onTertiaryContainer": "#001f2c",
|
|
22
22
|
"tertiaryFixed": "#bfeaff",
|
|
@@ -27,6 +27,18 @@
|
|
|
27
27
|
"onError": "#ffffff",
|
|
28
28
|
"errorContainer": "#ffd9df",
|
|
29
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",
|
|
30
42
|
"outline": "#939598",
|
|
31
43
|
"background": "#f4f5f6",
|
|
32
44
|
"onBackground": "#231f20",
|
|
@@ -38,7 +50,7 @@
|
|
|
38
50
|
"inverseOnSurface": "#f4f5f6",
|
|
39
51
|
"inversePrimary": "#7ad2f2",
|
|
40
52
|
"shadow": "#000000",
|
|
41
|
-
"surfaceTint": "#
|
|
53
|
+
"surfaceTint": "#007bb0",
|
|
42
54
|
"outlineVariant": "#e2e3e5",
|
|
43
55
|
"scrim": "#000000",
|
|
44
56
|
"surfaceContainerHighest": "#e4e5e7",
|
|
@@ -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":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,qBAAqB,EAErB,eAAe,EAEhB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAN,IAAY,cAkDX;AAlDD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;IACvB,uDAAqC,CAAA;IACrC,2DAAyC,CAAA;IACzC,+CAA6B,CAAA;IAC7B,mDAAiC,CAAA;IACjC,qDAAmC,CAAA;IACnC,iEAA+C,CAAA;IAC/C,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,2DAAyC,CAAA;IACzC,+DAA6C,CAAA;IAC7C,mDAAiC,CAAA;IACjC,uDAAqC,CAAA;IACrC,yDAAuC,CAAA;IACvC,qEAAmD,CAAA;IACnD,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;IACzB,yDAAuC,CAAA;IACvC,6DAA2C,CAAA;IAC3C,iDAA+B,CAAA;IAC/B,qDAAmC,CAAA;IACnC,uDAAqC,CAAA;IACrC,mEAAiD,CAAA;IACjD,iCAAe,CAAA;IACf,qCAAmB,CAAA;IACnB,mDAAiC,CAAA;IACjC,uDAAqC,CAAA;IACrC,qCAAmB,CAAA;IACnB,2CAAyB,CAAA;IACzB,+CAA6B,CAAA;IAC7B,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;IACvB,mDAAiC,CAAA;IACjC,uDAAqC,CAAA;IACrC,mDAAiC,CAAA;IACjC,uDAAqC,CAAA;IACrC,mDAAiC,CAAA;IACjC,mCAAiB,CAAA;IACjB,6CAA2B,CAAA;IAC3B,mDAAiC,CAAA;IACjC,iCAAe,CAAA;IACf,qEAAmD,CAAA;IACnD,+DAA6C,CAAA;IAC7C,uDAAqC,CAAA;IACrC,6DAA2C,CAAA;IAC3C,mEAAiD,CAAA;IACjD,iDAA+B,CAAA;IAC/B,2CAAyB,CAAA;AAC3B,CAAC,EAlDW,cAAc,KAAd,cAAc,QAkDzB;AAsDD,MAAM,OAAgB,eAAgB,SAAQ,eAAe;;AAC3C,oBAAI,GAAG,iBAAiB,CAAC;AASlC,mBAAG,GAAG,CAAC,UAAyB,EAA+B,EAAE,CACtE,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG5D,MAAM,UAAU,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IAG9C,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,aAAa,CAAC;IACvE,CAAC;IAcD,aAAa,CAAC,IAAoB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAGD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,IAAI,gBAAgB,CAAC,GAAW;QAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,yBAAyB,GAAG,aAAa,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,CAAC;IACtC,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QA1CjC,iBAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;QAMtD,iBAAY,GAAG,CAAC,IAAY,EAAE,MAAmB,EAAE,EAAE;YACnD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC;QAYM,yBAAoB,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAmB3E,oBAAe,GAAG,CAAC,IAAoB,EAAS,EAAE;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC,CAAC;QAZA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CAYF;AAED,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,gBAAgB,EAAE,SAAS;IAC3B,kBAAkB,EAAE,SAAS;IAC7B,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,SAAS;IAC1B,qBAAqB,EAAE,SAAS;IAChC,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,kBAAkB,EAAE,SAAS;IAC7B,oBAAoB,EAAE,SAAS;IAC/B,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,iBAAiB,EAAE,SAAS;IAC5B,uBAAuB,EAAE,SAAS;IAClC,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,SAAS;IACrB,iBAAiB,EAAE,SAAS;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,SAAS;IAC1B,gBAAgB,EAAE,SAAS;IAC3B,sBAAsB,EAAE,SAAS;IACjC,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IACzB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,SAAS;IACzB,KAAK,EAAE,SAAS;IAChB,uBAAuB,EAAE,SAAS;IAClC,oBAAoB,EAAE,SAAS;IAC/B,gBAAgB,EAAE,SAAS;IAC3B,mBAAmB,EAAE,SAAS;IAC9B,sBAAsB,EAAE,SAAS;IACjC,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,SAAS;CACtB,CAAC","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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostThemeEntity.d.ts","sourceRoot":"","sources":["../../../../src/ThemeColors/Entities/HostThemeEntity.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HostThemeEntity.d.ts","sourceRoot":"","sources":["../../../../src/ThemeColors/Entities/HostThemeEntity.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@vived/host",
|
|
3
|
-
"version": "5.
|
|
4
|
-
"description": "Public Host package for the VIVED Learning App system",
|
|
5
|
-
"main": "./dist/cjs/index.js",
|
|
6
|
-
"module": "./dist/esm/index.js",
|
|
7
|
-
"types": "./dist/types/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"import": "./dist/esm/index.js",
|
|
11
|
-
"require": "./dist/cjs/index.js",
|
|
12
|
-
"types": "./dist/types/index.d.ts"
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
"scripts": {
|
|
16
|
-
"test": "jest --watch --config jestconfig.json",
|
|
17
|
-
"test:once": "jest --config jestconfig.json",
|
|
18
|
-
"test:unit": "jest --config jestconfig.json --testMatch \"**/?(*.)+(test).+(ts|tsx|js)\" --watch",
|
|
19
|
-
"test:unit:once": "jest --config jestconfig.json --testMatch \"**/?(*.)+(test).+(ts|tsx|js)\"",
|
|
20
|
-
"test:integration": "jest --config jestconfig.json --testMatch \"**/__tests__/integration/**/*.+(ts|tsx|js)\" --watch",
|
|
21
|
-
"test:integration:once": "jest --config jestconfig.json --testMatch \"**/__tests__/integration/**/*.+(ts|tsx|js)\"",
|
|
22
|
-
"build": "npm run build:esm && npm run build:cjs",
|
|
23
|
-
"build:esm": "tsc",
|
|
24
|
-
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
25
|
-
"format": "prettier --write",
|
|
26
|
-
"format:all": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
|
|
27
|
-
"lint": "tslint -p tsconfig.json",
|
|
28
|
-
"prepare": "npm run build",
|
|
29
|
-
"prepublishOnly": "npm run test:once && npm run test:integration:once && npm run lint",
|
|
30
|
-
"preversion": "npm run lint",
|
|
31
|
-
"version": "npm run format && git add -A src",
|
|
32
|
-
"postversion": "git push && git push --tags"
|
|
33
|
-
},
|
|
34
|
-
"repository": {
|
|
35
|
-
"type": "git",
|
|
36
|
-
"url": "git+https://bitbucket.org/cyberscience3d/vivedlearning_host.git"
|
|
37
|
-
},
|
|
38
|
-
"keywords": [
|
|
39
|
-
"VIVED"
|
|
40
|
-
],
|
|
41
|
-
"author": "Amos Patrick",
|
|
42
|
-
"license": "ISC",
|
|
43
|
-
"homepage": "https://bitbucket.org/cyberscience3d/vivedlearning_host#readme",
|
|
44
|
-
"devDependencies": {
|
|
45
|
-
"@types/jest": "^29.5.14",
|
|
46
|
-
"jest": "^29.7.0",
|
|
47
|
-
"jest-environment-jsdom": "^29.7.0",
|
|
48
|
-
"jsdom": "^26.0.0",
|
|
49
|
-
"prettier": "^3.5.3",
|
|
50
|
-
"ts-jest": "^29.2.6",
|
|
51
|
-
"tslint": "^6.1.3",
|
|
52
|
-
"tslint-config-prettier": "^1.18.0",
|
|
53
|
-
"typescript": "^5.8.2"
|
|
54
|
-
},
|
|
55
|
-
"files": [
|
|
56
|
-
"dist"
|
|
57
|
-
],
|
|
58
|
-
"publishConfig": {
|
|
59
|
-
"access": "public"
|
|
60
|
-
},
|
|
61
|
-
"dependencies": {
|
|
62
|
-
"@types/webxr": "^0.5.20"
|
|
63
|
-
},
|
|
64
|
-
"peerDependencies": {
|
|
65
|
-
"@vived/core": "^2.0.1"
|
|
66
|
-
}
|
|
67
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@vived/host",
|
|
3
|
+
"version": "5.8.0",
|
|
4
|
+
"description": "Public Host package for the VIVED Learning App system",
|
|
5
|
+
"main": "./dist/cjs/index.js",
|
|
6
|
+
"module": "./dist/esm/index.js",
|
|
7
|
+
"types": "./dist/types/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/esm/index.js",
|
|
11
|
+
"require": "./dist/cjs/index.js",
|
|
12
|
+
"types": "./dist/types/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"test": "jest --watch --config jestconfig.json",
|
|
17
|
+
"test:once": "jest --config jestconfig.json",
|
|
18
|
+
"test:unit": "jest --config jestconfig.json --testMatch \"**/?(*.)+(test).+(ts|tsx|js)\" --watch",
|
|
19
|
+
"test:unit:once": "jest --config jestconfig.json --testMatch \"**/?(*.)+(test).+(ts|tsx|js)\"",
|
|
20
|
+
"test:integration": "jest --config jestconfig.json --testMatch \"**/__tests__/integration/**/*.+(ts|tsx|js)\" --watch",
|
|
21
|
+
"test:integration:once": "jest --config jestconfig.json --testMatch \"**/__tests__/integration/**/*.+(ts|tsx|js)\"",
|
|
22
|
+
"build": "npm run build:esm && npm run build:cjs",
|
|
23
|
+
"build:esm": "tsc",
|
|
24
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
25
|
+
"format": "prettier --write",
|
|
26
|
+
"format:all": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
|
|
27
|
+
"lint": "tslint -p tsconfig.json",
|
|
28
|
+
"prepare": "npm run build",
|
|
29
|
+
"prepublishOnly": "npm run test:once && npm run test:integration:once && npm run lint",
|
|
30
|
+
"preversion": "npm run lint",
|
|
31
|
+
"version": "npm run format && git add -A src",
|
|
32
|
+
"postversion": "git push && git push --tags"
|
|
33
|
+
},
|
|
34
|
+
"repository": {
|
|
35
|
+
"type": "git",
|
|
36
|
+
"url": "git+https://bitbucket.org/cyberscience3d/vivedlearning_host.git"
|
|
37
|
+
},
|
|
38
|
+
"keywords": [
|
|
39
|
+
"VIVED"
|
|
40
|
+
],
|
|
41
|
+
"author": "Amos Patrick",
|
|
42
|
+
"license": "ISC",
|
|
43
|
+
"homepage": "https://bitbucket.org/cyberscience3d/vivedlearning_host#readme",
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@types/jest": "^29.5.14",
|
|
46
|
+
"jest": "^29.7.0",
|
|
47
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
48
|
+
"jsdom": "^26.0.0",
|
|
49
|
+
"prettier": "^3.5.3",
|
|
50
|
+
"ts-jest": "^29.2.6",
|
|
51
|
+
"tslint": "^6.1.3",
|
|
52
|
+
"tslint-config-prettier": "^1.18.0",
|
|
53
|
+
"typescript": "^5.8.2"
|
|
54
|
+
},
|
|
55
|
+
"files": [
|
|
56
|
+
"dist"
|
|
57
|
+
],
|
|
58
|
+
"publishConfig": {
|
|
59
|
+
"access": "public"
|
|
60
|
+
},
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"@types/webxr": "^0.5.20"
|
|
63
|
+
},
|
|
64
|
+
"peerDependencies": {
|
|
65
|
+
"@vived/core": "^2.0.1"
|
|
66
|
+
}
|
|
67
|
+
}
|