@next-core/runtime 1.64.0 → 1.65.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/index.js CHANGED
@@ -12,6 +12,7 @@ var _exportNames = {
12
12
  getCssPropertyValue: true,
13
13
  getCurrentTheme: true,
14
14
  getCurrentMode: true,
15
+ getThemeVariant: true,
15
16
  batchSetAppsLocalTheme: true,
16
17
  applyTheme: true,
17
18
  checkIfOfComputed: true,
@@ -103,6 +104,12 @@ Object.defineProperty(exports, "getRuntime", {
103
104
  return _Runtime.getRuntime;
104
105
  }
105
106
  });
107
+ Object.defineProperty(exports, "getThemeVariant", {
108
+ enumerable: true,
109
+ get: function () {
110
+ return _themeAndMode.getThemeVariant;
111
+ }
112
+ });
106
113
  Object.defineProperty(exports, "matchPath", {
107
114
  enumerable: true,
108
115
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_auth","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_CustomEditors","_CustomProcessors","_CustomTemplates","_fetchByProvider","_getBasePath","_getPageInfo","_handleHttpError","_history","_createRoot","_getRealValue","_Runtime","__secret_internals","_interopRequireWildcard","_test_only","_themeAndMode","_checkIf","_WidgetFunctions","_WidgetI18n","_StoryboardFunctionRegistry","_matchPath","_Notification","_Dialog","_getV2RuntimeFromDll","_setUIVersion","_ModalStack","_isNetworkError","_shouldReloadForError"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomEditors.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport * from \"./createRoot.js\";\nexport * from \"./getRealValue.js\";\nexport {\n createRuntime,\n getRuntime,\n type RuntimeOptions,\n type RuntimeHooks,\n type RuntimeHooksMenuHelpers,\n type ImagesFactory,\n type PageViewInfo,\n} from \"./internal/Runtime.js\";\nimport * as __secret_internals from \"./internal/secret_internals.js\";\nexport { __secret_internals };\nexport { __test_only } from \"./internal/test_only.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath, type MatchOptions } from \"./internal/matchPath.js\";\nexport { Notification, type NotificationOptions } from \"./Notification.js\";\nexport { Dialog, type DialogOptions } from \"./Dialog.js\";\nexport * from \"./getV2RuntimeFromDll.js\";\nexport { setUIVersion } from \"./setUIVersion.js\";\nexport * from \"./ModalStack.js\";\nexport * from \"./isNetworkError.js\";\nexport * from \"./shouldReloadForError.js\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_auth","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_CustomEditors","_CustomProcessors","_CustomTemplates","_fetchByProvider","_getBasePath","_getPageInfo","_handleHttpError","_history","_createRoot","_getRealValue","_Runtime","__secret_internals","_interopRequireWildcard","_test_only","_themeAndMode","_checkIf","_WidgetFunctions","_WidgetI18n","_StoryboardFunctionRegistry","_matchPath","_Notification","_Dialog","_getV2RuntimeFromDll","_setUIVersion","_ModalStack","_isNetworkError","_shouldReloadForError"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomEditors.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport * from \"./createRoot.js\";\nexport * from \"./getRealValue.js\";\nexport {\n createRuntime,\n getRuntime,\n type RuntimeOptions,\n type RuntimeHooks,\n type RuntimeHooksMenuHelpers,\n type ImagesFactory,\n type PageViewInfo,\n} from \"./internal/Runtime.js\";\nimport * as __secret_internals from \"./internal/secret_internals.js\";\nexport { __secret_internals };\nexport { __test_only } from \"./internal/test_only.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n getThemeVariant,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath, type MatchOptions } from \"./internal/matchPath.js\";\nexport { Notification, type NotificationOptions } from \"./Notification.js\";\nexport { Dialog, type DialogOptions } from \"./Dialog.js\";\nexport * from \"./getV2RuntimeFromDll.js\";\nexport { setUIVersion } from \"./setUIVersion.js\";\nexport * from \"./ModalStack.js\";\nexport * from \"./isNetworkError.js\";\nexport * from \"./shouldReloadForError.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,cAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,cAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,cAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,cAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,iBAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,iBAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,iBAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,iBAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,gBAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,gBAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAW,gBAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,gBAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,gBAAA,GAAAhB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAc,gBAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAY,gBAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,gBAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA;AACA,IAAAa,YAAA,GAAAjB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAe,YAAA,EAAAd,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAa,YAAA,CAAAb,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,YAAA,CAAAb,GAAA;IAAA;EAAA;AAAA;AACA,IAAAc,YAAA,GAAAlB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAgB,YAAA,EAAAf,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAc,YAAA,CAAAd,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,YAAA,CAAAd,GAAA;IAAA;EAAA;AAAA;AACA,IAAAe,gBAAA,GAAAnB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAiB,gBAAA,EAAAhB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAe,gBAAA,CAAAf,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAO,gBAAA,CAAAf,GAAA;IAAA;EAAA;AAAA;AACA,IAAAgB,QAAA,GAAApB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAkB,QAAA,EAAAjB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAgB,QAAA,CAAAhB,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAQ,QAAA,CAAAhB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAiB,WAAA,GAAArB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAmB,WAAA,EAAAlB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAiB,WAAA,CAAAjB,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAS,WAAA,CAAAjB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAkB,aAAA,GAAAtB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAoB,aAAA,EAAAnB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAkB,aAAA,CAAAlB,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAU,aAAA,CAAAlB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAmB,QAAA,GAAAvB,OAAA;AASA,IAAAwB,kBAAA,GAAAC,uBAAA,CAAAzB,OAAA;AAAqES,OAAA,CAAAe,kBAAA,GAAAA,kBAAA;AAErE,IAAAE,UAAA,GAAA1B,OAAA;AACA,IAAA2B,aAAA,GAAA3B,OAAA;AAQA,IAAA4B,QAAA,GAAA5B,OAAA;AAIA,IAAA6B,gBAAA,GAAA7B,OAAA;AACA,IAAA8B,WAAA,GAAA9B,OAAA;AACA,IAAA+B,2BAAA,GAAA/B,OAAA;AACA,IAAAgC,UAAA,GAAAhC,OAAA;AACA,IAAAiC,aAAA,GAAAjC,OAAA;AACA,IAAAkC,OAAA,GAAAlC,OAAA;AACA,IAAAmC,oBAAA,GAAAnC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAiC,oBAAA,EAAAhC,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAA+B,oBAAA,CAAA/B,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAuB,oBAAA,CAAA/B,GAAA;IAAA;EAAA;AAAA;AACA,IAAAgC,aAAA,GAAApC,OAAA;AACA,IAAAqC,WAAA,GAAArC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAmC,WAAA,EAAAlC,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAiC,WAAA,CAAAjC,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAyB,WAAA,CAAAjC,GAAA;IAAA;EAAA;AAAA;AACA,IAAAkC,eAAA,GAAAtC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAoC,eAAA,EAAAnC,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAkC,eAAA,CAAAlC,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAA0B,eAAA,CAAAlC,GAAA;IAAA;EAAA;AAAA;AACA,IAAAmC,qBAAA,GAAAvC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAqC,qBAAA,EAAApC,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAmC,qBAAA,CAAAnC,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAA2B,qBAAA,CAAAnC,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -345,6 +345,7 @@ async function _render(location, isBootstrap) {
345
345
  };
346
346
  (0, _themeAndMode.setTheme)(currentApp && ((0, _themeAndMode.getLocalAppsTheme)()[currentApp.id] || currentApp.theme) || "light");
347
347
  (0, _themeAndMode.setMode)("default");
348
+ (0, _themeAndMode.setThemeVariant)((0, _Runtime.getRuntime)().getMiscSettings().globalThemeVariant);
348
349
  if (currentApp && !blocked) {
349
350
  var _hooks$checkInstalled, _hooks$auth4, _hooks$checkPermissio, _storyboard$meta2, _hooks$flowApi2, _storyboard$meta3;
350
351
  _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$checkInstalled = _Runtime.hooks.checkInstalledApps) === null || _hooks$checkInstalled === void 0 || _hooks$checkInstalled.preCheckInstalledApps(storyboard, appId => !!(0, _Runtime._internalApiGetAppInBootstrapData)(appId));
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","names":["_history2","require","_http","_cook","_lodash","_history3","_Renderer","_DataStore","_resolveData","_mount","_matchStoryboard","_StoryboardFunctions","_RendererContext","_themeAndMode","_Runtime","_getPageInfo","_markAsComputed","_handleHttpError","_abortController","_setLoginStateCookie","_registerCustomTemplates","_fulfilStoryboard","_enums","_insertPreviewRoutes","_devtools","_setUIVersion","_setAppVariable","_setWatermark","_routeMatchedMap","_ErrorNode","_shouldReloadForError","_computeRealValue","_storyboards","WeakMap","_rendering","_nextRender","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_bootstrapFailed","_Router_brand","WeakSet","Router","constructor","storyboards","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","Set","_classPrivateFieldSet2","history","getHistory","window","addEventListener","event","message","_assertClassBrand2","_getBlockMessageBeforePageLave","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet6","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","initAbortController","nextPrevLocation","listen","prevLocation","_queuedRender","catch","handleHttpError","exports","detail","_classPrivateFieldGet2","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect","to","state","from","_this$redirectCount","_this$redirectCount2","pathname","search","hash","process","env","NODE_ENV","console","error","Error","replace","next","_preRender","nextRender","undefined","_prevLocation$state","_location$state","_location$state2","_classPrivateFieldGet4","ignoreRendering","omittedLocationProps","key","notify","locationsAreEqual","noIncremental","_classPrivateFieldGet3","didPerformIncrementalRender","abortPendingRequest","dispatchPageLeave","storyboard","matchStoryboard","isOutsideApp","reload","devtoolsHookEmit","_render","isBootstrap","_hooks$auth","_hooks$auth$isBlocked","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet5","_storyboard$app","renderId","uniqueId","blocked","hooks","auth","isBlockedPath","resetAllComputedMarks","clearResolveCache","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","currentAppId","id","BOOTSTRAP_UNION_FILE","setAppVariable","appId","version","currentVersion","fulfilStoryboard","_storyboard$meta","_storyboard$meta$forE","_hooks$auth3","_hooks$auth3$isBlocke","meta","blackList","forEach","item","_hooks$auth2","_hooks$auth2$addPathT","path","url","split","computeRealValue","e","addPathToBlackList","setWatermark","appChanged","clearExpressionASTCache","clearFunctionASTCache","flags","getRuntime","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","setLoginStateCookie","main","document","querySelector","portal","renderRoot","tag","RenderTag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","unmountTree","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","setTheme","getLocalAppsTheme","theme","setMode","_hooks$checkInstalled","_hooks$auth4","_hooks$checkPermissio","_storyboard$meta2","_hooks$flowApi2","_storyboard$meta3","checkInstalledApps","preCheckInstalledApps","_internalApiGetAppInBootstrapData","routeHelper","bailout","output","unauthenticated","redirect","mergeMenus","menuRequests","menuConfs","Promise","all","mergeMenuConfs","returnNode","isCurrentBootstrap","isReCatch","isUnauthenticatedError","NO_AUTH_GUARD","HttpAbortError","noAuthGuardLoginPath","getMiscSettings","shouldReloadForError","failed","node","ErrorNode","blockingList","rendererContext","RendererContext","runtimeContext","query","URLSearchParams","sys","getAuth","getPageInfo","settings","brand","getBrandSettings","ctxStore","DataStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","registerCustomTemplates","registerStoryboardFunctions","functions","collectContract","contracts","stores","clearMatchedRoutes","rootMenuRequestNode","renderRoutes","insertPreviewRoutes","routes","getDataStores","postAsyncRender","child","menuRequestNode","setInitialMenuRequestNode","getMenuRequests","result","resetReloadForError","route","type","dispatchBeforePageLoad","applyTheme","applyMode","setUIVersion","uiVersion","mountTree","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","PageError","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\nimport type {\n BreadcrumbItemConf,\n MicroApp,\n StaticMenuConf,\n Storyboard,\n} from \"@next-core/types\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport {\n clearExpressionASTCache,\n clearFunctionASTCache,\n} from \"@next-core/cook\";\nimport { uniqueId } from \"lodash\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport {\n RenderOutput,\n getDataStores,\n postAsyncRender,\n renderRoutes,\n} from \"./Renderer.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { clearResolveCache } from \"./data/resolveData.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { isOutsideApp, matchStoryboard } from \"./matchStoryboard.js\";\nimport { registerStoryboardFunctions } from \"./compute/StoryboardFunctions.js\";\nimport { RendererContext, RouteHelper } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport {\n _internalApiGetAppInBootstrapData,\n getRuntime,\n hooks,\n} from \"./Runtime.js\";\nimport { getPageInfo } from \"../getPageInfo.js\";\nimport type {\n MenuRequestNode,\n RenderRoot,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport { handleHttpError, isUnauthenticatedError } from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.js\";\nimport { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIVersion } from \"../setUIVersion.js\";\nimport { setAppVariable } from \"../setAppVariable.js\";\nimport { setWatermark } from \"../setWatermark.js\";\nimport { clearMatchedRoutes } from \"./routeMatchedMap.js\";\nimport { ErrorNode, PageError } from \"./ErrorNode.js\";\nimport {\n resetReloadForError,\n shouldReloadForError,\n} from \"../shouldReloadForError.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\n\ntype RenderTask = InitialRenderTask | SubsequentRenderTask;\n\ninterface InitialRenderTask {\n location: NextLocation;\n prevLocation?: undefined;\n action?: undefined;\n}\n\ninterface SubsequentRenderTask {\n location: NextLocation;\n prevLocation: NextLocation;\n action: Action;\n}\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #nextRender?: RenderTask;\n #runtimeContext?: RuntimeContext;\n #rendererContext?: RendererContext;\n #rendererContextTrashCan = new Set<RendererContext | undefined>();\n #redirectCount = 0;\n #renderId?: string;\n #currentApp?: MicroApp;\n #previousApp?: MicroApp;\n #navConfig?: { breadcrumb?: BreadcrumbItemConf[] };\n #bootstrapFailed = false;\n\n constructor(storyboards: Storyboard[]) {\n this.#storyboards = storyboards;\n\n const history = getHistory();\n window.addEventListener(\"beforeunload\", (event) => {\n const message = this.#getBlockMessageBeforePageLave({});\n // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload\n if (message) {\n // Cancel the event\n // If you prevent default behavior in Mozilla Firefox prompt will always be shown\n event.preventDefault();\n // Chrome requires returnValue to be set\n event.returnValue = \"\";\n } else {\n // the absence of a returnValue property on the event will guarantee the browser unload happens\n delete event.returnValue;\n }\n });\n\n history.block((location, action) =>\n this.#getBlockMessageBeforePageLave({ location, action })\n );\n }\n\n getRenderId() {\n return this.#renderId;\n }\n\n // istanbul ignore next\n getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return { currentApp: this.#currentApp, previousApp: this.#previousApp };\n }\n\n getNavConfig() {\n return this.#navConfig;\n }\n\n #getBlockMessageBeforePageLave(detail: {\n location?: NextLocation;\n action?: Action;\n }): string | undefined {\n const history = getHistory();\n const previousMessage = history.getBlockMessage();\n this.#rendererContext?.dispatchBeforePageLeave(detail);\n const message = history.getBlockMessage();\n if (!previousMessage && message) {\n // Auto unblock only if new block was introduced by `onBeforePageLeave`.\n history.unblock();\n }\n return message;\n }\n\n #safeRedirect(\n to: string,\n state: NextHistoryState | undefined,\n from: NextLocation\n ): void {\n if (this.#redirectCount++ > 10) {\n const message = `Infinite redirect detected: from \"${from.pathname}${from.search}${from.hash}\" to \"${to}\"`;\n // istanbul ignore else: error cannot be caught in test\n if (process.env.NODE_ENV === \"test\") {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n } else {\n throw new Error(message);\n }\n }\n getHistory().replace(to, state);\n }\n\n bootstrap() {\n initAbortController();\n const history = getHistory();\n let nextPrevLocation = history.location;\n history.listen((location, action) => {\n const prevLocation = nextPrevLocation;\n nextPrevLocation = location;\n if (this.#rendering) {\n this.#nextRender = { location, prevLocation, action };\n } else {\n this.#queuedRender({ location, prevLocation, action }).catch(\n handleHttpError\n );\n }\n });\n return this.#queuedRender({ location: history.location });\n }\n\n async #queuedRender(next: RenderTask) {\n this.#rendering = true;\n try {\n await this.#preRender(next);\n } finally {\n this.#rendering = false;\n if (this.#nextRender) {\n const nextRender = this.#nextRender;\n this.#nextRender = undefined;\n await this.#queuedRender(nextRender);\n }\n }\n }\n\n async #preRender({ location, prevLocation, action }: RenderTask) {\n if (prevLocation) {\n let ignoreRendering: boolean | undefined;\n const omittedLocationProps: Partial<NextLocation> = {\n hash: undefined,\n state: undefined,\n };\n // Omit the \"key\" when checking whether locations are equal in certain situations.\n if (\n // When current location is triggered by browser action of hash link.\n location.key === undefined ||\n // When current location is triggered by browser action of non-push-or-replace,\n // such as goBack or goForward,\n (action === \"POP\" &&\n // and the previous location was triggered by hash link,\n (prevLocation.key === undefined ||\n // or the previous location specified notify false.\n prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...prevLocation, ...omittedLocationProps },\n { ...location, ...omittedLocationProps }\n ) ||\n (action !== \"POP\" && location.state?.notify === false)\n ) {\n // Ignore rendering if location not changed except hash, state and optional key.\n // Ignore rendering if notify is `false`.\n ignoreRendering = true;\n }\n\n // Note: dot not perform incremental render when bootstrap failed.\n if (\n !ignoreRendering &&\n !location.state?.noIncremental &&\n !this.#bootstrapFailed\n ) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(\n location,\n prevLocation\n );\n }\n\n if (ignoreRendering) {\n return;\n }\n\n abortPendingRequest();\n this.#rendererContext?.dispatchPageLeave();\n\n if (action === \"POP\") {\n const storyboard = matchStoryboard(\n this.#storyboards,\n location.pathname\n );\n // When a browser action of goBack or goForward is performing,\n // force reload when the target page is a page of an outside app.\n if (isOutsideApp(storyboard)) {\n window.location.reload();\n return;\n }\n }\n\n devtoolsHookEmit(\"locationChange\");\n }\n\n return this.#render(location, !prevLocation);\n }\n\n async #render(location: NextLocation, isBootstrap: boolean): Promise<void> {\n const renderId = (this.#renderId = uniqueId(\"render-id-\"));\n let blocked = hooks?.auth?.isBlockedPath?.(location.pathname);\n\n resetAllComputedMarks();\n clearResolveCache();\n hooks?.flowApi?.clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n const finishPageView = hooks?.pageView?.create();\n\n const storyboard = blocked\n ? undefined\n : matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n const currentAppId = storyboard?.app?.id;\n // dynamically change the value of the APP variable, if it's union app\n if (\n window.BOOTSTRAP_UNION_FILE &&\n currentAppId &&\n currentAppId !== previousApp?.id\n ) {\n setAppVariable({\n appId: currentAppId,\n version: storyboard.app.currentVersion!,\n });\n }\n\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n\n const currentApp = (this.#currentApp = storyboard?.app);\n\n if (currentApp) {\n storyboard?.meta?.blackList?.forEach?.((item) => {\n let path = item && (item.to || item.url);\n\n if (!path || typeof path !== \"string\") return;\n\n path = path\n .split(\"?\")[0]\n .replace(/\\${\\s*(?:(?:PATH|CTX)\\.)?(\\w+)\\s*}/g, \":$1\");\n\n if (item.to) {\n try {\n path = computeRealValue(path, {\n app: currentApp,\n } as RuntimeContext) as string;\n } catch (e) /* istanbul ignore next */ {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n } else {\n path = path.replace(/^\\/next\\//, \"/\");\n }\n\n path && hooks?.auth?.addPathToBlackList?.(path);\n });\n blocked = hooks?.auth?.isBlockedPath?.(location.pathname);\n }\n\n setWatermark();\n\n // Storyboard maybe re-assigned, e.g. when open launchpad.\n const appChanged =\n previousApp && currentApp\n ? previousApp.id !== currentApp.id\n : previousApp !== currentApp;\n\n clearExpressionASTCache();\n if (appChanged) {\n clearFunctionASTCache();\n }\n\n // TODO: handle favicon\n\n // Set `Router::#currentApp` before calling `getFeatureFlags()`\n const flags = getRuntime().getFeatureFlags();\n const prevRendererContext = this.#rendererContext;\n\n const redirectTo = (to: string, state?: NextHistoryState): void => {\n finishPageView?.({ status: \"redirected\" });\n this.#rendererContextTrashCan.add(prevRendererContext);\n this.#safeRedirect(to, state, location);\n };\n\n const redirectToLogin = (): void => {\n const to = flags[\"sso-enabled\"] ? \"/sso-auth/login\" : \"/auth/login\";\n setLoginStateCookie(location);\n redirectTo(to, { from: location });\n };\n\n const main = document.querySelector(\"#main-mount-point\") as HTMLElement;\n const portal = document.querySelector(\"#portal-mount-point\") as HTMLElement;\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: main,\n createPortal: portal,\n };\n\n const cleanUpPreviousRender = (): void => {\n unmountTree(main);\n unmountTree(portal);\n\n // Note: redirects can lead to multiple trash renderer contexts.\n this.#rendererContextTrashCan.add(prevRendererContext);\n for (const item of this.#rendererContextTrashCan) {\n if (item) {\n item.dispatchOnUnmount();\n item.dispose();\n }\n }\n this.#rendererContextTrashCan.clear();\n hooks?.messageDispatcher?.reset();\n\n if (appChanged) {\n this.#previousApp = previousApp;\n window.dispatchEvent(\n new CustomEvent(\"app.change\", { detail: { previousApp, currentApp } })\n );\n }\n };\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (currentApp && !blocked) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const routeHelper: RouteHelper = {\n bailout: (output) => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n },\n mergeMenus: async (menuRequests) => {\n const menuConfs = await Promise.all(menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n window.dispatchEvent(\n new CustomEvent(\"navConfig.change\", { detail: this.#navConfig })\n );\n },\n catch: async (error, returnNode, isCurrentBootstrap, isReCatch) => {\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n redirectToLogin();\n return;\n } else if (error instanceof HttpAbortError) {\n this.#rendererContextTrashCan.add(prevRendererContext);\n return;\n } else {\n const noAuthGuardLoginPath =\n getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath as string, { from: location });\n return;\n }\n if (isCurrentBootstrap) {\n throw error;\n }\n if (!isReCatch && shouldReloadForError(error)) {\n window.location.reload();\n return;\n }\n return {\n failed: true,\n output: {\n node: await ErrorNode(error, returnNode, !isReCatch),\n blockingList: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper, renderId }\n ));\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...hooks?.auth?.getAuth(),\n ...getPageInfo(),\n settings: { brand: getRuntime().getBrandSettings() },\n },\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [\n hooks?.checkPermissions?.preCheckPermissions(storyboard),\n ],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n formStateStoreMap: new Map<string, DataStore<\"FORM_STATE\">>(),\n });\n\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n hooks?.flowApi?.collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n let stores: DataStore<\"CTX\" | \"STATE\" | \"FORM_STATE\">[] = [];\n\n try {\n clearMatchedRoutes();\n const rootMenuRequestNode: MenuRequestNode = {};\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n [],\n rootMenuRequestNode\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n rootMenuRequestNode.child = output.menuRequestNode;\n rendererContext.setInitialMenuRequestNode(rootMenuRequestNode);\n await routeHelper.mergeMenus(rendererContext.getMenuRequests());\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n if (isBootstrap) {\n this.#bootstrapFailed = true;\n }\n const result = await routeHelper.catch(error, renderRoot, isBootstrap);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\n }\n resetReloadForError();\n renderRoot.child = output.node;\n this.#bootstrapFailed = false;\n\n cleanUpPreviousRender();\n\n if ((output.route && output.route.type !== \"routes\") || failed) {\n if (!failed) {\n // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n\n setUIVersion(currentApp?.uiVersion);\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of stores) {\n store.mountAsyncData();\n }\n\n finishPageView?.({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title,\n });\n } else {\n finishPageView?.({ status: \"failed\" });\n }\n devtoolsHookEmit(\"rendered\");\n\n return;\n }\n } else if (\n !window.NO_AUTH_GUARD &&\n hooks?.auth &&\n !hooks.auth.isLoggedIn()\n ) {\n // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.\n // Redirect to login if no storyboard is matched.\n redirectToLogin();\n return;\n } else {\n cleanUpPreviousRender();\n }\n\n applyTheme();\n applyMode();\n\n const node = await ErrorNode(\n new PageError(\n blocked\n ? \"page blocked\"\n : currentApp\n ? \"page not found\"\n : \"app not found\"\n ),\n renderRoot,\n true\n );\n renderRoot.child = node;\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n window.scrollTo(0, 0);\n finishPageView?.({ status: blocked ? \"blocked\" : \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = { breadcrumb: [] as BreadcrumbItemConf[] };\n for (const menuConf of menuConfs) {\n const { breadcrumb } = menuConf;\n if (breadcrumb) {\n if (breadcrumb.overwrite) {\n navConfig.breadcrumb = breadcrumb.items;\n } else {\n navConfig.breadcrumb.push(...breadcrumb.items);\n }\n }\n }\n return navConfig;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Router.js","names":["_history2","require","_http","_cook","_lodash","_history3","_Renderer","_DataStore","_resolveData","_mount","_matchStoryboard","_StoryboardFunctions","_RendererContext","_themeAndMode","_Runtime","_getPageInfo","_markAsComputed","_handleHttpError","_abortController","_setLoginStateCookie","_registerCustomTemplates","_fulfilStoryboard","_enums","_insertPreviewRoutes","_devtools","_setUIVersion","_setAppVariable","_setWatermark","_routeMatchedMap","_ErrorNode","_shouldReloadForError","_computeRealValue","_storyboards","WeakMap","_rendering","_nextRender","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_bootstrapFailed","_Router_brand","WeakSet","Router","constructor","storyboards","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","Set","_classPrivateFieldSet2","history","getHistory","window","addEventListener","event","message","_assertClassBrand2","_getBlockMessageBeforePageLave","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet6","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","initAbortController","nextPrevLocation","listen","prevLocation","_queuedRender","catch","handleHttpError","exports","detail","_classPrivateFieldGet2","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect","to","state","from","_this$redirectCount","_this$redirectCount2","pathname","search","hash","process","env","NODE_ENV","console","error","Error","replace","next","_preRender","nextRender","undefined","_prevLocation$state","_location$state","_location$state2","_classPrivateFieldGet4","ignoreRendering","omittedLocationProps","key","notify","locationsAreEqual","noIncremental","_classPrivateFieldGet3","didPerformIncrementalRender","abortPendingRequest","dispatchPageLeave","storyboard","matchStoryboard","isOutsideApp","reload","devtoolsHookEmit","_render","isBootstrap","_hooks$auth","_hooks$auth$isBlocked","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet5","_storyboard$app","renderId","uniqueId","blocked","hooks","auth","isBlockedPath","resetAllComputedMarks","clearResolveCache","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","currentAppId","id","BOOTSTRAP_UNION_FILE","setAppVariable","appId","version","currentVersion","fulfilStoryboard","_storyboard$meta","_storyboard$meta$forE","_hooks$auth3","_hooks$auth3$isBlocke","meta","blackList","forEach","item","_hooks$auth2","_hooks$auth2$addPathT","path","url","split","computeRealValue","e","addPathToBlackList","setWatermark","appChanged","clearExpressionASTCache","clearFunctionASTCache","flags","getRuntime","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","setLoginStateCookie","main","document","querySelector","portal","renderRoot","tag","RenderTag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","unmountTree","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","setTheme","getLocalAppsTheme","theme","setMode","setThemeVariant","getMiscSettings","globalThemeVariant","_hooks$checkInstalled","_hooks$auth4","_hooks$checkPermissio","_storyboard$meta2","_hooks$flowApi2","_storyboard$meta3","checkInstalledApps","preCheckInstalledApps","_internalApiGetAppInBootstrapData","routeHelper","bailout","output","unauthenticated","redirect","mergeMenus","menuRequests","menuConfs","Promise","all","mergeMenuConfs","returnNode","isCurrentBootstrap","isReCatch","isUnauthenticatedError","NO_AUTH_GUARD","HttpAbortError","noAuthGuardLoginPath","shouldReloadForError","failed","node","ErrorNode","blockingList","rendererContext","RendererContext","runtimeContext","query","URLSearchParams","sys","getAuth","getPageInfo","settings","brand","getBrandSettings","ctxStore","DataStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","registerCustomTemplates","registerStoryboardFunctions","functions","collectContract","contracts","stores","clearMatchedRoutes","rootMenuRequestNode","renderRoutes","insertPreviewRoutes","routes","getDataStores","postAsyncRender","child","menuRequestNode","setInitialMenuRequestNode","getMenuRequests","result","resetReloadForError","route","type","dispatchBeforePageLoad","applyTheme","applyMode","setUIVersion","uiVersion","mountTree","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","PageError","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\nimport type {\n BreadcrumbItemConf,\n MicroApp,\n StaticMenuConf,\n Storyboard,\n} from \"@next-core/types\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport {\n clearExpressionASTCache,\n clearFunctionASTCache,\n} from \"@next-core/cook\";\nimport { uniqueId } from \"lodash\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport {\n RenderOutput,\n getDataStores,\n postAsyncRender,\n renderRoutes,\n} from \"./Renderer.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { clearResolveCache } from \"./data/resolveData.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { isOutsideApp, matchStoryboard } from \"./matchStoryboard.js\";\nimport { registerStoryboardFunctions } from \"./compute/StoryboardFunctions.js\";\nimport { RendererContext, RouteHelper } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n setThemeVariant,\n} from \"../themeAndMode.js\";\nimport {\n _internalApiGetAppInBootstrapData,\n getRuntime,\n hooks,\n} from \"./Runtime.js\";\nimport { getPageInfo } from \"../getPageInfo.js\";\nimport type {\n MenuRequestNode,\n RenderRoot,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport { handleHttpError, isUnauthenticatedError } from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.js\";\nimport { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIVersion } from \"../setUIVersion.js\";\nimport { setAppVariable } from \"../setAppVariable.js\";\nimport { setWatermark } from \"../setWatermark.js\";\nimport { clearMatchedRoutes } from \"./routeMatchedMap.js\";\nimport { ErrorNode, PageError } from \"./ErrorNode.js\";\nimport {\n resetReloadForError,\n shouldReloadForError,\n} from \"../shouldReloadForError.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\n\ntype RenderTask = InitialRenderTask | SubsequentRenderTask;\n\ninterface InitialRenderTask {\n location: NextLocation;\n prevLocation?: undefined;\n action?: undefined;\n}\n\ninterface SubsequentRenderTask {\n location: NextLocation;\n prevLocation: NextLocation;\n action: Action;\n}\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #nextRender?: RenderTask;\n #runtimeContext?: RuntimeContext;\n #rendererContext?: RendererContext;\n #rendererContextTrashCan = new Set<RendererContext | undefined>();\n #redirectCount = 0;\n #renderId?: string;\n #currentApp?: MicroApp;\n #previousApp?: MicroApp;\n #navConfig?: { breadcrumb?: BreadcrumbItemConf[] };\n #bootstrapFailed = false;\n\n constructor(storyboards: Storyboard[]) {\n this.#storyboards = storyboards;\n\n const history = getHistory();\n window.addEventListener(\"beforeunload\", (event) => {\n const message = this.#getBlockMessageBeforePageLave({});\n // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload\n if (message) {\n // Cancel the event\n // If you prevent default behavior in Mozilla Firefox prompt will always be shown\n event.preventDefault();\n // Chrome requires returnValue to be set\n event.returnValue = \"\";\n } else {\n // the absence of a returnValue property on the event will guarantee the browser unload happens\n delete event.returnValue;\n }\n });\n\n history.block((location, action) =>\n this.#getBlockMessageBeforePageLave({ location, action })\n );\n }\n\n getRenderId() {\n return this.#renderId;\n }\n\n // istanbul ignore next\n getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return { currentApp: this.#currentApp, previousApp: this.#previousApp };\n }\n\n getNavConfig() {\n return this.#navConfig;\n }\n\n #getBlockMessageBeforePageLave(detail: {\n location?: NextLocation;\n action?: Action;\n }): string | undefined {\n const history = getHistory();\n const previousMessage = history.getBlockMessage();\n this.#rendererContext?.dispatchBeforePageLeave(detail);\n const message = history.getBlockMessage();\n if (!previousMessage && message) {\n // Auto unblock only if new block was introduced by `onBeforePageLeave`.\n history.unblock();\n }\n return message;\n }\n\n #safeRedirect(\n to: string,\n state: NextHistoryState | undefined,\n from: NextLocation\n ): void {\n if (this.#redirectCount++ > 10) {\n const message = `Infinite redirect detected: from \"${from.pathname}${from.search}${from.hash}\" to \"${to}\"`;\n // istanbul ignore else: error cannot be caught in test\n if (process.env.NODE_ENV === \"test\") {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n } else {\n throw new Error(message);\n }\n }\n getHistory().replace(to, state);\n }\n\n bootstrap() {\n initAbortController();\n const history = getHistory();\n let nextPrevLocation = history.location;\n history.listen((location, action) => {\n const prevLocation = nextPrevLocation;\n nextPrevLocation = location;\n if (this.#rendering) {\n this.#nextRender = { location, prevLocation, action };\n } else {\n this.#queuedRender({ location, prevLocation, action }).catch(\n handleHttpError\n );\n }\n });\n return this.#queuedRender({ location: history.location });\n }\n\n async #queuedRender(next: RenderTask) {\n this.#rendering = true;\n try {\n await this.#preRender(next);\n } finally {\n this.#rendering = false;\n if (this.#nextRender) {\n const nextRender = this.#nextRender;\n this.#nextRender = undefined;\n await this.#queuedRender(nextRender);\n }\n }\n }\n\n async #preRender({ location, prevLocation, action }: RenderTask) {\n if (prevLocation) {\n let ignoreRendering: boolean | undefined;\n const omittedLocationProps: Partial<NextLocation> = {\n hash: undefined,\n state: undefined,\n };\n // Omit the \"key\" when checking whether locations are equal in certain situations.\n if (\n // When current location is triggered by browser action of hash link.\n location.key === undefined ||\n // When current location is triggered by browser action of non-push-or-replace,\n // such as goBack or goForward,\n (action === \"POP\" &&\n // and the previous location was triggered by hash link,\n (prevLocation.key === undefined ||\n // or the previous location specified notify false.\n prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...prevLocation, ...omittedLocationProps },\n { ...location, ...omittedLocationProps }\n ) ||\n (action !== \"POP\" && location.state?.notify === false)\n ) {\n // Ignore rendering if location not changed except hash, state and optional key.\n // Ignore rendering if notify is `false`.\n ignoreRendering = true;\n }\n\n // Note: dot not perform incremental render when bootstrap failed.\n if (\n !ignoreRendering &&\n !location.state?.noIncremental &&\n !this.#bootstrapFailed\n ) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(\n location,\n prevLocation\n );\n }\n\n if (ignoreRendering) {\n return;\n }\n\n abortPendingRequest();\n this.#rendererContext?.dispatchPageLeave();\n\n if (action === \"POP\") {\n const storyboard = matchStoryboard(\n this.#storyboards,\n location.pathname\n );\n // When a browser action of goBack or goForward is performing,\n // force reload when the target page is a page of an outside app.\n if (isOutsideApp(storyboard)) {\n window.location.reload();\n return;\n }\n }\n\n devtoolsHookEmit(\"locationChange\");\n }\n\n return this.#render(location, !prevLocation);\n }\n\n async #render(location: NextLocation, isBootstrap: boolean): Promise<void> {\n const renderId = (this.#renderId = uniqueId(\"render-id-\"));\n let blocked = hooks?.auth?.isBlockedPath?.(location.pathname);\n\n resetAllComputedMarks();\n clearResolveCache();\n hooks?.flowApi?.clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n const finishPageView = hooks?.pageView?.create();\n\n const storyboard = blocked\n ? undefined\n : matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n const currentAppId = storyboard?.app?.id;\n // dynamically change the value of the APP variable, if it's union app\n if (\n window.BOOTSTRAP_UNION_FILE &&\n currentAppId &&\n currentAppId !== previousApp?.id\n ) {\n setAppVariable({\n appId: currentAppId,\n version: storyboard.app.currentVersion!,\n });\n }\n\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n\n const currentApp = (this.#currentApp = storyboard?.app);\n\n if (currentApp) {\n storyboard?.meta?.blackList?.forEach?.((item) => {\n let path = item && (item.to || item.url);\n\n if (!path || typeof path !== \"string\") return;\n\n path = path\n .split(\"?\")[0]\n .replace(/\\${\\s*(?:(?:PATH|CTX)\\.)?(\\w+)\\s*}/g, \":$1\");\n\n if (item.to) {\n try {\n path = computeRealValue(path, {\n app: currentApp,\n } as RuntimeContext) as string;\n } catch (e) /* istanbul ignore next */ {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n } else {\n path = path.replace(/^\\/next\\//, \"/\");\n }\n\n path && hooks?.auth?.addPathToBlackList?.(path);\n });\n blocked = hooks?.auth?.isBlockedPath?.(location.pathname);\n }\n\n setWatermark();\n\n // Storyboard maybe re-assigned, e.g. when open launchpad.\n const appChanged =\n previousApp && currentApp\n ? previousApp.id !== currentApp.id\n : previousApp !== currentApp;\n\n clearExpressionASTCache();\n if (appChanged) {\n clearFunctionASTCache();\n }\n\n // TODO: handle favicon\n\n // Set `Router::#currentApp` before calling `getFeatureFlags()`\n const flags = getRuntime().getFeatureFlags();\n const prevRendererContext = this.#rendererContext;\n\n const redirectTo = (to: string, state?: NextHistoryState): void => {\n finishPageView?.({ status: \"redirected\" });\n this.#rendererContextTrashCan.add(prevRendererContext);\n this.#safeRedirect(to, state, location);\n };\n\n const redirectToLogin = (): void => {\n const to = flags[\"sso-enabled\"] ? \"/sso-auth/login\" : \"/auth/login\";\n setLoginStateCookie(location);\n redirectTo(to, { from: location });\n };\n\n const main = document.querySelector(\"#main-mount-point\") as HTMLElement;\n const portal = document.querySelector(\"#portal-mount-point\") as HTMLElement;\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: main,\n createPortal: portal,\n };\n\n const cleanUpPreviousRender = (): void => {\n unmountTree(main);\n unmountTree(portal);\n\n // Note: redirects can lead to multiple trash renderer contexts.\n this.#rendererContextTrashCan.add(prevRendererContext);\n for (const item of this.#rendererContextTrashCan) {\n if (item) {\n item.dispatchOnUnmount();\n item.dispose();\n }\n }\n this.#rendererContextTrashCan.clear();\n hooks?.messageDispatcher?.reset();\n\n if (appChanged) {\n this.#previousApp = previousApp;\n window.dispatchEvent(\n new CustomEvent(\"app.change\", { detail: { previousApp, currentApp } })\n );\n }\n };\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n setThemeVariant(getRuntime().getMiscSettings().globalThemeVariant);\n\n if (currentApp && !blocked) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const routeHelper: RouteHelper = {\n bailout: (output) => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n },\n mergeMenus: async (menuRequests) => {\n const menuConfs = await Promise.all(menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n window.dispatchEvent(\n new CustomEvent(\"navConfig.change\", { detail: this.#navConfig })\n );\n },\n catch: async (error, returnNode, isCurrentBootstrap, isReCatch) => {\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n redirectToLogin();\n return;\n } else if (error instanceof HttpAbortError) {\n this.#rendererContextTrashCan.add(prevRendererContext);\n return;\n } else {\n const noAuthGuardLoginPath =\n getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath as string, { from: location });\n return;\n }\n if (isCurrentBootstrap) {\n throw error;\n }\n if (!isReCatch && shouldReloadForError(error)) {\n window.location.reload();\n return;\n }\n return {\n failed: true,\n output: {\n node: await ErrorNode(error, returnNode, !isReCatch),\n blockingList: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper, renderId }\n ));\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...hooks?.auth?.getAuth(),\n ...getPageInfo(),\n settings: { brand: getRuntime().getBrandSettings() },\n },\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [\n hooks?.checkPermissions?.preCheckPermissions(storyboard),\n ],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n formStateStoreMap: new Map<string, DataStore<\"FORM_STATE\">>(),\n });\n\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n hooks?.flowApi?.collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n let stores: DataStore<\"CTX\" | \"STATE\" | \"FORM_STATE\">[] = [];\n\n try {\n clearMatchedRoutes();\n const rootMenuRequestNode: MenuRequestNode = {};\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n [],\n rootMenuRequestNode\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n rootMenuRequestNode.child = output.menuRequestNode;\n rendererContext.setInitialMenuRequestNode(rootMenuRequestNode);\n await routeHelper.mergeMenus(rendererContext.getMenuRequests());\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n if (isBootstrap) {\n this.#bootstrapFailed = true;\n }\n const result = await routeHelper.catch(error, renderRoot, isBootstrap);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\n }\n resetReloadForError();\n renderRoot.child = output.node;\n this.#bootstrapFailed = false;\n\n cleanUpPreviousRender();\n\n if ((output.route && output.route.type !== \"routes\") || failed) {\n if (!failed) {\n // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n\n setUIVersion(currentApp?.uiVersion);\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of stores) {\n store.mountAsyncData();\n }\n\n finishPageView?.({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title,\n });\n } else {\n finishPageView?.({ status: \"failed\" });\n }\n devtoolsHookEmit(\"rendered\");\n\n return;\n }\n } else if (\n !window.NO_AUTH_GUARD &&\n hooks?.auth &&\n !hooks.auth.isLoggedIn()\n ) {\n // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.\n // Redirect to login if no storyboard is matched.\n redirectToLogin();\n return;\n } else {\n cleanUpPreviousRender();\n }\n\n applyTheme();\n applyMode();\n\n const node = await ErrorNode(\n new PageError(\n blocked\n ? \"page blocked\"\n : currentApp\n ? \"page not found\"\n : \"app not found\"\n ),\n renderRoot,\n true\n );\n renderRoot.child = node;\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n window.scrollTo(0, 0);\n finishPageView?.({ status: blocked ? \"blocked\" : \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = { breadcrumb: [] as BreadcrumbItemConf[] };\n for (const menuConf of menuConfs) {\n const { breadcrumb } = menuConf;\n if (breadcrumb) {\n if (breadcrumb.overwrite) {\n navConfig.breadcrumb = breadcrumb.items;\n } else {\n navConfig.breadcrumb.push(...breadcrumb.items);\n }\n }\n }\n return navConfig;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,8 +12,10 @@ exports.getCurrentTheme = getCurrentTheme;
12
12
  exports.getLocalAppsTheme = getLocalAppsTheme;
13
13
  exports.getMode = getMode;
14
14
  exports.getTheme = getTheme;
15
+ exports.getThemeVariant = getThemeVariant;
15
16
  exports.setMode = setMode;
16
17
  exports.setTheme = setTheme;
18
+ exports.setThemeVariant = setThemeVariant;
17
19
  var _general = require("@next-core/utils/general");
18
20
  // Themes.
19
21
  let theme = "light";
@@ -93,4 +95,20 @@ function getCssPropertyValue(name, el = document.documentElement) {
93
95
  if (!el) return "";
94
96
  return ((_window$getComputedSt = window.getComputedStyle(el)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.getPropertyValue(name)) || "";
95
97
  }
98
+ let variant = "default";
99
+ function setThemeVariant(value) {
100
+ if (value !== "default" && value !== "elevo") {
101
+ return setThemeVariant("default");
102
+ }
103
+ if (variant === value) {
104
+ return;
105
+ }
106
+ document.documentElement.dataset.variant = variant = value;
107
+ window.dispatchEvent(new CustomEvent("variant.change", {
108
+ detail: value
109
+ }));
110
+ }
111
+ function getThemeVariant() {
112
+ return variant;
113
+ }
96
114
  //# sourceMappingURL=themeAndMode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"themeAndMode.js","names":["_general","require","theme","storage","JsonStorage","localStorage","LOCAL_STORAGE_APPS_THEME_KEY","setTheme","value","Error","getTheme","getCurrentTheme","document","documentElement","dataset","applyTheme","window","dispatchEvent","CustomEvent","detail","batchSetAppsLocalTheme","appsTheme","setItem","getLocalAppsTheme","result","getItem","console","error","mode","setMode","getMode","getCurrentMode","applyMode","getCssPropertyValue","name","el","_window$getComputedSt","getComputedStyle","getPropertyValue"],"sources":["../../src/themeAndMode.ts"],"sourcesContent":["import type { SiteMode, SiteTheme } from \"@next-core/types\";\nimport { JsonStorage } from \"@next-core/utils/general\";\n\ninterface AppThemes {\n [appId: string]: SiteTheme;\n}\n\n// Themes.\nlet theme: SiteTheme = \"light\";\nconst storage = new JsonStorage<Record<string, AppThemes>>(localStorage);\nconst LOCAL_STORAGE_APPS_THEME_KEY = \"apps-theme\";\n\nexport function setTheme(value: SiteTheme): void {\n if (value !== \"dark\" && value !== \"light\" && value !== \"dark-v2\") {\n throw new Error(`Unsupported theme: ${value}`);\n }\n theme = value;\n}\n\nexport function getTheme(): SiteTheme {\n return theme;\n}\n\nexport function getCurrentTheme(): SiteTheme {\n return document.documentElement.dataset.theme as SiteTheme;\n}\n\nexport function applyTheme(value?: SiteTheme): void {\n if (value) {\n setTheme(value);\n } else {\n value = getTheme();\n }\n if (value !== getCurrentTheme()) {\n document.documentElement.dataset.theme = value;\n window.dispatchEvent(\n new CustomEvent<SiteTheme>(\"theme.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function batchSetAppsLocalTheme(appsTheme: AppThemes): void {\n storage.setItem(LOCAL_STORAGE_APPS_THEME_KEY, {\n ...getLocalAppsTheme(),\n ...appsTheme,\n });\n}\n\nexport function getLocalAppsTheme(): AppThemes {\n let result: AppThemes | undefined;\n try {\n result = storage.getItem(LOCAL_STORAGE_APPS_THEME_KEY);\n } catch {\n // eslint-disable-next-line no-console\n console.error(\"JSON parse error inside `getLocalAppsTheme()`\");\n }\n\n return result ?? {};\n}\n\n// Modes.\nlet mode: SiteMode = \"default\";\n\nexport function setMode(value: SiteMode): void {\n if (value !== \"dashboard\" && value !== \"default\") {\n throw new Error(`Unsupported mode: ${value}`);\n }\n mode = value;\n}\n\nexport function getMode(): SiteMode {\n return mode;\n}\n\nexport function getCurrentMode(): SiteMode {\n return document.documentElement.dataset.mode as SiteMode;\n}\n\nexport function applyMode(value?: SiteMode): void {\n if (value) {\n setMode(value);\n } else {\n value = getMode();\n }\n if (value !== getCurrentMode()) {\n document.documentElement.dataset.mode = value;\n window.dispatchEvent(\n new CustomEvent<SiteMode>(\"mode.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function getCssPropertyValue(\n name: string,\n el = document.documentElement\n): string {\n if (!el) return \"\";\n return window.getComputedStyle(el)?.getPropertyValue(name) || \"\";\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"themeAndMode.js","names":["_general","require","theme","storage","JsonStorage","localStorage","LOCAL_STORAGE_APPS_THEME_KEY","setTheme","value","Error","getTheme","getCurrentTheme","document","documentElement","dataset","applyTheme","window","dispatchEvent","CustomEvent","detail","batchSetAppsLocalTheme","appsTheme","setItem","getLocalAppsTheme","result","getItem","console","error","mode","setMode","getMode","getCurrentMode","applyMode","getCssPropertyValue","name","el","_window$getComputedSt","getComputedStyle","getPropertyValue","variant","setThemeVariant","getThemeVariant"],"sources":["../../src/themeAndMode.ts"],"sourcesContent":["import type { SiteMode, SiteTheme, SiteVariant } from \"@next-core/types\";\nimport { JsonStorage } from \"@next-core/utils/general\";\n\ninterface AppThemes {\n [appId: string]: SiteTheme;\n}\n\n// Themes.\nlet theme: SiteTheme = \"light\";\nconst storage = new JsonStorage<Record<string, AppThemes>>(localStorage);\nconst LOCAL_STORAGE_APPS_THEME_KEY = \"apps-theme\";\n\nexport function setTheme(value: SiteTheme): void {\n if (value !== \"dark\" && value !== \"light\" && value !== \"dark-v2\") {\n throw new Error(`Unsupported theme: ${value}`);\n }\n theme = value;\n}\n\nexport function getTheme(): SiteTheme {\n return theme;\n}\n\nexport function getCurrentTheme(): SiteTheme {\n return document.documentElement.dataset.theme as SiteTheme;\n}\n\nexport function applyTheme(value?: SiteTheme): void {\n if (value) {\n setTheme(value);\n } else {\n value = getTheme();\n }\n if (value !== getCurrentTheme()) {\n document.documentElement.dataset.theme = value;\n window.dispatchEvent(\n new CustomEvent<SiteTheme>(\"theme.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function batchSetAppsLocalTheme(appsTheme: AppThemes): void {\n storage.setItem(LOCAL_STORAGE_APPS_THEME_KEY, {\n ...getLocalAppsTheme(),\n ...appsTheme,\n });\n}\n\nexport function getLocalAppsTheme(): AppThemes {\n let result: AppThemes | undefined;\n try {\n result = storage.getItem(LOCAL_STORAGE_APPS_THEME_KEY);\n } catch {\n // eslint-disable-next-line no-console\n console.error(\"JSON parse error inside `getLocalAppsTheme()`\");\n }\n\n return result ?? {};\n}\n\n// Modes.\nlet mode: SiteMode = \"default\";\n\nexport function setMode(value: SiteMode): void {\n if (value !== \"dashboard\" && value !== \"default\") {\n throw new Error(`Unsupported mode: ${value}`);\n }\n mode = value;\n}\n\nexport function getMode(): SiteMode {\n return mode;\n}\n\nexport function getCurrentMode(): SiteMode {\n return document.documentElement.dataset.mode as SiteMode;\n}\n\nexport function applyMode(value?: SiteMode): void {\n if (value) {\n setMode(value);\n } else {\n value = getMode();\n }\n if (value !== getCurrentMode()) {\n document.documentElement.dataset.mode = value;\n window.dispatchEvent(\n new CustomEvent<SiteMode>(\"mode.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function getCssPropertyValue(\n name: string,\n el = document.documentElement\n): string {\n if (!el) return \"\";\n return window.getComputedStyle(el)?.getPropertyValue(name) || \"\";\n}\n\nlet variant: SiteVariant = \"default\";\n\nexport function setThemeVariant(value: unknown) {\n if (value !== \"default\" && value !== \"elevo\") {\n return setThemeVariant(\"default\");\n }\n if (variant === value) {\n return;\n }\n document.documentElement.dataset.variant = variant = value;\n window.dispatchEvent(\n new CustomEvent(\"variant.change\", {\n detail: value,\n })\n );\n}\n\nexport function getThemeVariant(): SiteVariant {\n return variant;\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -13,7 +13,7 @@ export { createRuntime, getRuntime } from "./internal/Runtime.js";
13
13
  import * as __secret_internals from "./internal/secret_internals.js";
14
14
  export { __secret_internals };
15
15
  export { __test_only } from "./internal/test_only.js";
16
- export { getCssPropertyValue, getCurrentTheme, getCurrentMode, batchSetAppsLocalTheme, applyTheme } from "./themeAndMode.js";
16
+ export { getCssPropertyValue, getCurrentTheme, getCurrentMode, getThemeVariant, batchSetAppsLocalTheme, applyTheme } from "./themeAndMode.js";
17
17
  export { checkIfOfComputed, checkIfByTransform } from "./internal/compute/checkIf.js";
18
18
  export { registerWidgetFunctions } from "./internal/compute/WidgetFunctions.js";
19
19
  export { registerWidgetI18n } from "./internal/compute/WidgetI18n.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createRuntime","getRuntime","__secret_internals","__test_only","getCssPropertyValue","getCurrentTheme","getCurrentMode","batchSetAppsLocalTheme","applyTheme","checkIfOfComputed","checkIfByTransform","registerWidgetFunctions","registerWidgetI18n","StoryboardFunctionRegistryFactory","matchPath","Notification","Dialog","setUIVersion"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomEditors.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport * from \"./createRoot.js\";\nexport * from \"./getRealValue.js\";\nexport {\n createRuntime,\n getRuntime,\n type RuntimeOptions,\n type RuntimeHooks,\n type RuntimeHooksMenuHelpers,\n type ImagesFactory,\n type PageViewInfo,\n} from \"./internal/Runtime.js\";\nimport * as __secret_internals from \"./internal/secret_internals.js\";\nexport { __secret_internals };\nexport { __test_only } from \"./internal/test_only.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath, type MatchOptions } from \"./internal/matchPath.js\";\nexport { Notification, type NotificationOptions } from \"./Notification.js\";\nexport { Dialog, type DialogOptions } from \"./Dialog.js\";\nexport * from \"./getV2RuntimeFromDll.js\";\nexport { setUIVersion } from \"./setUIVersion.js\";\nexport * from \"./ModalStack.js\";\nexport * from \"./isNetworkError.js\";\nexport * from \"./shouldReloadForError.js\";\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,mBAAmB;AACjC,SACEA,aAAa,EACbC,UAAU,QAML,uBAAuB;AAC9B,OAAO,KAAKC,kBAAkB,MAAM,gCAAgC;AACpE,SAASA,kBAAkB;AAC3B,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SACEC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,QACL,mBAAmB;AAC1B,SACEC,iBAAiB,EACjBC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,uBAAuB,QAAQ,uCAAuC;AAC/E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,iCAAiC,QAAQ,iCAAiC;AACnF,SAASC,SAAS,QAA2B,yBAAyB;AACtE,SAASC,YAAY,QAAkC,mBAAmB;AAC1E,SAASC,MAAM,QAA4B,aAAa;AACxD,cAAc,0BAA0B;AACxC,SAASC,YAAY,QAAQ,mBAAmB;AAChD,cAAc,iBAAiB;AAC/B,cAAc,qBAAqB;AACnC,cAAc,2BAA2B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["createRuntime","getRuntime","__secret_internals","__test_only","getCssPropertyValue","getCurrentTheme","getCurrentMode","getThemeVariant","batchSetAppsLocalTheme","applyTheme","checkIfOfComputed","checkIfByTransform","registerWidgetFunctions","registerWidgetI18n","StoryboardFunctionRegistryFactory","matchPath","Notification","Dialog","setUIVersion"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomEditors.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport * from \"./createRoot.js\";\nexport * from \"./getRealValue.js\";\nexport {\n createRuntime,\n getRuntime,\n type RuntimeOptions,\n type RuntimeHooks,\n type RuntimeHooksMenuHelpers,\n type ImagesFactory,\n type PageViewInfo,\n} from \"./internal/Runtime.js\";\nimport * as __secret_internals from \"./internal/secret_internals.js\";\nexport { __secret_internals };\nexport { __test_only } from \"./internal/test_only.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n getThemeVariant,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath, type MatchOptions } from \"./internal/matchPath.js\";\nexport { Notification, type NotificationOptions } from \"./Notification.js\";\nexport { Dialog, type DialogOptions } from \"./Dialog.js\";\nexport * from \"./getV2RuntimeFromDll.js\";\nexport { setUIVersion } from \"./setUIVersion.js\";\nexport * from \"./ModalStack.js\";\nexport * from \"./isNetworkError.js\";\nexport * from \"./shouldReloadForError.js\";\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,mBAAmB;AACjC,SACEA,aAAa,EACbC,UAAU,QAML,uBAAuB;AAC9B,OAAO,KAAKC,kBAAkB,MAAM,gCAAgC;AACpE,SAASA,kBAAkB;AAC3B,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SACEC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,eAAe,EACfC,sBAAsB,EACtBC,UAAU,QACL,mBAAmB;AAC1B,SACEC,iBAAiB,EACjBC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,uBAAuB,QAAQ,uCAAuC;AAC/E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,iCAAiC,QAAQ,iCAAiC;AACnF,SAASC,SAAS,QAA2B,yBAAyB;AACtE,SAASC,YAAY,QAAkC,mBAAmB;AAC1E,SAASC,MAAM,QAA4B,aAAa;AACxD,cAAc,0BAA0B;AACxC,SAASC,YAAY,QAAQ,mBAAmB;AAChD,cAAc,iBAAiB;AAC/B,cAAc,qBAAqB;AACnC,cAAc,2BAA2B","ignoreList":[]}
@@ -15,7 +15,7 @@ import { mountTree, unmountTree } from "./mount.js";
15
15
  import { isOutsideApp, matchStoryboard } from "./matchStoryboard.js";
16
16
  import { registerStoryboardFunctions } from "./compute/StoryboardFunctions.js";
17
17
  import { RendererContext } from "./RendererContext.js";
18
- import { applyMode, applyTheme, getLocalAppsTheme, setMode, setTheme } from "../themeAndMode.js";
18
+ import { applyMode, applyTheme, getLocalAppsTheme, setMode, setTheme, setThemeVariant } from "../themeAndMode.js";
19
19
  import { _internalApiGetAppInBootstrapData, getRuntime, hooks } from "./Runtime.js";
20
20
  import { getPageInfo } from "../getPageInfo.js";
21
21
  import { resetAllComputedMarks } from "./compute/markAsComputed.js";
@@ -338,6 +338,7 @@ async function _render(location, isBootstrap) {
338
338
  };
339
339
  setTheme(currentApp && (getLocalAppsTheme()[currentApp.id] || currentApp.theme) || "light");
340
340
  setMode("default");
341
+ setThemeVariant(getRuntime().getMiscSettings().globalThemeVariant);
341
342
  if (currentApp && !blocked) {
342
343
  var _hooks$checkInstalled, _hooks$auth4, _hooks$checkPermissio, _storyboard$meta2, _hooks$flowApi2, _storyboard$meta3;
343
344
  hooks === null || hooks === void 0 || (_hooks$checkInstalled = hooks.checkInstalledApps) === null || _hooks$checkInstalled === void 0 || _hooks$checkInstalled.preCheckInstalledApps(storyboard, appId => !!_internalApiGetAppInBootstrapData(appId));
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","names":["locationsAreEqual","HttpAbortError","clearExpressionASTCache","clearFunctionASTCache","uniqueId","getHistory","getDataStores","postAsyncRender","renderRoutes","DataStore","clearResolveCache","mountTree","unmountTree","isOutsideApp","matchStoryboard","registerStoryboardFunctions","RendererContext","applyMode","applyTheme","getLocalAppsTheme","setMode","setTheme","_internalApiGetAppInBootstrapData","getRuntime","hooks","getPageInfo","resetAllComputedMarks","handleHttpError","isUnauthenticatedError","abortPendingRequest","initAbortController","setLoginStateCookie","registerCustomTemplates","fulfilStoryboard","RenderTag","insertPreviewRoutes","devtoolsHookEmit","setUIVersion","setAppVariable","setWatermark","clearMatchedRoutes","ErrorNode","PageError","resetReloadForError","shouldReloadForError","computeRealValue","_storyboards","WeakMap","_rendering","_nextRender","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_bootstrapFailed","_Router_brand","WeakSet","Router","constructor","storyboards","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Set","_classPrivateFieldSet","history","window","addEventListener","event","message","_assertClassBrand","_getBlockMessageBeforePageLave","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","nextPrevLocation","listen","prevLocation","_queuedRender","catch","detail","_classPrivateFieldGet2","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect","to","state","from","_this$redirectCount","_this$redirectCount2","pathname","search","hash","process","env","NODE_ENV","console","error","Error","replace","next","_preRender","nextRender","undefined","_ref","_prevLocation$state","_location$state","_location$state2","_classPrivateFieldGet4","ignoreRendering","omittedLocationProps","key","notify","noIncremental","_classPrivateFieldGet3","didPerformIncrementalRender","dispatchPageLeave","storyboard","reload","_render","isBootstrap","_hooks$auth","_hooks$auth$isBlocked","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet5","_storyboard$app","renderId","blocked","auth","isBlockedPath","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","currentAppId","id","BOOTSTRAP_UNION_FILE","appId","version","currentVersion","_storyboard$meta","_storyboard$meta$forE","_hooks$auth3","_hooks$auth3$isBlocke","meta","blackList","forEach","item","_hooks$auth2","_hooks$auth2$addPathT","path","url","split","e","addPathToBlackList","appChanged","flags","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","main","document","querySelector","portal","renderRoot","tag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","theme","_hooks$checkInstalled","_hooks$auth4","_hooks$checkPermissio","_storyboard$meta2","_hooks$flowApi2","_storyboard$meta3","checkInstalledApps","preCheckInstalledApps","routeHelper","bailout","output","unauthenticated","redirect","mergeMenus","menuRequests","menuConfs","Promise","all","mergeMenuConfs","returnNode","isCurrentBootstrap","isReCatch","NO_AUTH_GUARD","noAuthGuardLoginPath","getMiscSettings","failed","node","blockingList","rendererContext","runtimeContext","query","URLSearchParams","sys","getAuth","settings","brand","getBrandSettings","ctxStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","functions","collectContract","contracts","stores","rootMenuRequestNode","routes","child","menuRequestNode","setInitialMenuRequestNode","getMenuRequests","result","route","type","dispatchBeforePageLoad","uiVersion","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\nimport type {\n BreadcrumbItemConf,\n MicroApp,\n StaticMenuConf,\n Storyboard,\n} from \"@next-core/types\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport {\n clearExpressionASTCache,\n clearFunctionASTCache,\n} from \"@next-core/cook\";\nimport { uniqueId } from \"lodash\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport {\n RenderOutput,\n getDataStores,\n postAsyncRender,\n renderRoutes,\n} from \"./Renderer.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { clearResolveCache } from \"./data/resolveData.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { isOutsideApp, matchStoryboard } from \"./matchStoryboard.js\";\nimport { registerStoryboardFunctions } from \"./compute/StoryboardFunctions.js\";\nimport { RendererContext, RouteHelper } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport {\n _internalApiGetAppInBootstrapData,\n getRuntime,\n hooks,\n} from \"./Runtime.js\";\nimport { getPageInfo } from \"../getPageInfo.js\";\nimport type {\n MenuRequestNode,\n RenderRoot,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport { handleHttpError, isUnauthenticatedError } from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.js\";\nimport { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIVersion } from \"../setUIVersion.js\";\nimport { setAppVariable } from \"../setAppVariable.js\";\nimport { setWatermark } from \"../setWatermark.js\";\nimport { clearMatchedRoutes } from \"./routeMatchedMap.js\";\nimport { ErrorNode, PageError } from \"./ErrorNode.js\";\nimport {\n resetReloadForError,\n shouldReloadForError,\n} from \"../shouldReloadForError.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\n\ntype RenderTask = InitialRenderTask | SubsequentRenderTask;\n\ninterface InitialRenderTask {\n location: NextLocation;\n prevLocation?: undefined;\n action?: undefined;\n}\n\ninterface SubsequentRenderTask {\n location: NextLocation;\n prevLocation: NextLocation;\n action: Action;\n}\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #nextRender?: RenderTask;\n #runtimeContext?: RuntimeContext;\n #rendererContext?: RendererContext;\n #rendererContextTrashCan = new Set<RendererContext | undefined>();\n #redirectCount = 0;\n #renderId?: string;\n #currentApp?: MicroApp;\n #previousApp?: MicroApp;\n #navConfig?: { breadcrumb?: BreadcrumbItemConf[] };\n #bootstrapFailed = false;\n\n constructor(storyboards: Storyboard[]) {\n this.#storyboards = storyboards;\n\n const history = getHistory();\n window.addEventListener(\"beforeunload\", (event) => {\n const message = this.#getBlockMessageBeforePageLave({});\n // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload\n if (message) {\n // Cancel the event\n // If you prevent default behavior in Mozilla Firefox prompt will always be shown\n event.preventDefault();\n // Chrome requires returnValue to be set\n event.returnValue = \"\";\n } else {\n // the absence of a returnValue property on the event will guarantee the browser unload happens\n delete event.returnValue;\n }\n });\n\n history.block((location, action) =>\n this.#getBlockMessageBeforePageLave({ location, action })\n );\n }\n\n getRenderId() {\n return this.#renderId;\n }\n\n // istanbul ignore next\n getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return { currentApp: this.#currentApp, previousApp: this.#previousApp };\n }\n\n getNavConfig() {\n return this.#navConfig;\n }\n\n #getBlockMessageBeforePageLave(detail: {\n location?: NextLocation;\n action?: Action;\n }): string | undefined {\n const history = getHistory();\n const previousMessage = history.getBlockMessage();\n this.#rendererContext?.dispatchBeforePageLeave(detail);\n const message = history.getBlockMessage();\n if (!previousMessage && message) {\n // Auto unblock only if new block was introduced by `onBeforePageLeave`.\n history.unblock();\n }\n return message;\n }\n\n #safeRedirect(\n to: string,\n state: NextHistoryState | undefined,\n from: NextLocation\n ): void {\n if (this.#redirectCount++ > 10) {\n const message = `Infinite redirect detected: from \"${from.pathname}${from.search}${from.hash}\" to \"${to}\"`;\n // istanbul ignore else: error cannot be caught in test\n if (process.env.NODE_ENV === \"test\") {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n } else {\n throw new Error(message);\n }\n }\n getHistory().replace(to, state);\n }\n\n bootstrap() {\n initAbortController();\n const history = getHistory();\n let nextPrevLocation = history.location;\n history.listen((location, action) => {\n const prevLocation = nextPrevLocation;\n nextPrevLocation = location;\n if (this.#rendering) {\n this.#nextRender = { location, prevLocation, action };\n } else {\n this.#queuedRender({ location, prevLocation, action }).catch(\n handleHttpError\n );\n }\n });\n return this.#queuedRender({ location: history.location });\n }\n\n async #queuedRender(next: RenderTask) {\n this.#rendering = true;\n try {\n await this.#preRender(next);\n } finally {\n this.#rendering = false;\n if (this.#nextRender) {\n const nextRender = this.#nextRender;\n this.#nextRender = undefined;\n await this.#queuedRender(nextRender);\n }\n }\n }\n\n async #preRender({ location, prevLocation, action }: RenderTask) {\n if (prevLocation) {\n let ignoreRendering: boolean | undefined;\n const omittedLocationProps: Partial<NextLocation> = {\n hash: undefined,\n state: undefined,\n };\n // Omit the \"key\" when checking whether locations are equal in certain situations.\n if (\n // When current location is triggered by browser action of hash link.\n location.key === undefined ||\n // When current location is triggered by browser action of non-push-or-replace,\n // such as goBack or goForward,\n (action === \"POP\" &&\n // and the previous location was triggered by hash link,\n (prevLocation.key === undefined ||\n // or the previous location specified notify false.\n prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...prevLocation, ...omittedLocationProps },\n { ...location, ...omittedLocationProps }\n ) ||\n (action !== \"POP\" && location.state?.notify === false)\n ) {\n // Ignore rendering if location not changed except hash, state and optional key.\n // Ignore rendering if notify is `false`.\n ignoreRendering = true;\n }\n\n // Note: dot not perform incremental render when bootstrap failed.\n if (\n !ignoreRendering &&\n !location.state?.noIncremental &&\n !this.#bootstrapFailed\n ) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(\n location,\n prevLocation\n );\n }\n\n if (ignoreRendering) {\n return;\n }\n\n abortPendingRequest();\n this.#rendererContext?.dispatchPageLeave();\n\n if (action === \"POP\") {\n const storyboard = matchStoryboard(\n this.#storyboards,\n location.pathname\n );\n // When a browser action of goBack or goForward is performing,\n // force reload when the target page is a page of an outside app.\n if (isOutsideApp(storyboard)) {\n window.location.reload();\n return;\n }\n }\n\n devtoolsHookEmit(\"locationChange\");\n }\n\n return this.#render(location, !prevLocation);\n }\n\n async #render(location: NextLocation, isBootstrap: boolean): Promise<void> {\n const renderId = (this.#renderId = uniqueId(\"render-id-\"));\n let blocked = hooks?.auth?.isBlockedPath?.(location.pathname);\n\n resetAllComputedMarks();\n clearResolveCache();\n hooks?.flowApi?.clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n const finishPageView = hooks?.pageView?.create();\n\n const storyboard = blocked\n ? undefined\n : matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n const currentAppId = storyboard?.app?.id;\n // dynamically change the value of the APP variable, if it's union app\n if (\n window.BOOTSTRAP_UNION_FILE &&\n currentAppId &&\n currentAppId !== previousApp?.id\n ) {\n setAppVariable({\n appId: currentAppId,\n version: storyboard.app.currentVersion!,\n });\n }\n\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n\n const currentApp = (this.#currentApp = storyboard?.app);\n\n if (currentApp) {\n storyboard?.meta?.blackList?.forEach?.((item) => {\n let path = item && (item.to || item.url);\n\n if (!path || typeof path !== \"string\") return;\n\n path = path\n .split(\"?\")[0]\n .replace(/\\${\\s*(?:(?:PATH|CTX)\\.)?(\\w+)\\s*}/g, \":$1\");\n\n if (item.to) {\n try {\n path = computeRealValue(path, {\n app: currentApp,\n } as RuntimeContext) as string;\n } catch (e) /* istanbul ignore next */ {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n } else {\n path = path.replace(/^\\/next\\//, \"/\");\n }\n\n path && hooks?.auth?.addPathToBlackList?.(path);\n });\n blocked = hooks?.auth?.isBlockedPath?.(location.pathname);\n }\n\n setWatermark();\n\n // Storyboard maybe re-assigned, e.g. when open launchpad.\n const appChanged =\n previousApp && currentApp\n ? previousApp.id !== currentApp.id\n : previousApp !== currentApp;\n\n clearExpressionASTCache();\n if (appChanged) {\n clearFunctionASTCache();\n }\n\n // TODO: handle favicon\n\n // Set `Router::#currentApp` before calling `getFeatureFlags()`\n const flags = getRuntime().getFeatureFlags();\n const prevRendererContext = this.#rendererContext;\n\n const redirectTo = (to: string, state?: NextHistoryState): void => {\n finishPageView?.({ status: \"redirected\" });\n this.#rendererContextTrashCan.add(prevRendererContext);\n this.#safeRedirect(to, state, location);\n };\n\n const redirectToLogin = (): void => {\n const to = flags[\"sso-enabled\"] ? \"/sso-auth/login\" : \"/auth/login\";\n setLoginStateCookie(location);\n redirectTo(to, { from: location });\n };\n\n const main = document.querySelector(\"#main-mount-point\") as HTMLElement;\n const portal = document.querySelector(\"#portal-mount-point\") as HTMLElement;\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: main,\n createPortal: portal,\n };\n\n const cleanUpPreviousRender = (): void => {\n unmountTree(main);\n unmountTree(portal);\n\n // Note: redirects can lead to multiple trash renderer contexts.\n this.#rendererContextTrashCan.add(prevRendererContext);\n for (const item of this.#rendererContextTrashCan) {\n if (item) {\n item.dispatchOnUnmount();\n item.dispose();\n }\n }\n this.#rendererContextTrashCan.clear();\n hooks?.messageDispatcher?.reset();\n\n if (appChanged) {\n this.#previousApp = previousApp;\n window.dispatchEvent(\n new CustomEvent(\"app.change\", { detail: { previousApp, currentApp } })\n );\n }\n };\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (currentApp && !blocked) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const routeHelper: RouteHelper = {\n bailout: (output) => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n },\n mergeMenus: async (menuRequests) => {\n const menuConfs = await Promise.all(menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n window.dispatchEvent(\n new CustomEvent(\"navConfig.change\", { detail: this.#navConfig })\n );\n },\n catch: async (error, returnNode, isCurrentBootstrap, isReCatch) => {\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n redirectToLogin();\n return;\n } else if (error instanceof HttpAbortError) {\n this.#rendererContextTrashCan.add(prevRendererContext);\n return;\n } else {\n const noAuthGuardLoginPath =\n getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath as string, { from: location });\n return;\n }\n if (isCurrentBootstrap) {\n throw error;\n }\n if (!isReCatch && shouldReloadForError(error)) {\n window.location.reload();\n return;\n }\n return {\n failed: true,\n output: {\n node: await ErrorNode(error, returnNode, !isReCatch),\n blockingList: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper, renderId }\n ));\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...hooks?.auth?.getAuth(),\n ...getPageInfo(),\n settings: { brand: getRuntime().getBrandSettings() },\n },\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [\n hooks?.checkPermissions?.preCheckPermissions(storyboard),\n ],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n formStateStoreMap: new Map<string, DataStore<\"FORM_STATE\">>(),\n });\n\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n hooks?.flowApi?.collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n let stores: DataStore<\"CTX\" | \"STATE\" | \"FORM_STATE\">[] = [];\n\n try {\n clearMatchedRoutes();\n const rootMenuRequestNode: MenuRequestNode = {};\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n [],\n rootMenuRequestNode\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n rootMenuRequestNode.child = output.menuRequestNode;\n rendererContext.setInitialMenuRequestNode(rootMenuRequestNode);\n await routeHelper.mergeMenus(rendererContext.getMenuRequests());\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n if (isBootstrap) {\n this.#bootstrapFailed = true;\n }\n const result = await routeHelper.catch(error, renderRoot, isBootstrap);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\n }\n resetReloadForError();\n renderRoot.child = output.node;\n this.#bootstrapFailed = false;\n\n cleanUpPreviousRender();\n\n if ((output.route && output.route.type !== \"routes\") || failed) {\n if (!failed) {\n // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n\n setUIVersion(currentApp?.uiVersion);\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of stores) {\n store.mountAsyncData();\n }\n\n finishPageView?.({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title,\n });\n } else {\n finishPageView?.({ status: \"failed\" });\n }\n devtoolsHookEmit(\"rendered\");\n\n return;\n }\n } else if (\n !window.NO_AUTH_GUARD &&\n hooks?.auth &&\n !hooks.auth.isLoggedIn()\n ) {\n // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.\n // Redirect to login if no storyboard is matched.\n redirectToLogin();\n return;\n } else {\n cleanUpPreviousRender();\n }\n\n applyTheme();\n applyMode();\n\n const node = await ErrorNode(\n new PageError(\n blocked\n ? \"page blocked\"\n : currentApp\n ? \"page not found\"\n : \"app not found\"\n ),\n renderRoot,\n true\n );\n renderRoot.child = node;\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n window.scrollTo(0, 0);\n finishPageView?.({ status: blocked ? \"blocked\" : \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = { breadcrumb: [] as BreadcrumbItemConf[] };\n for (const menuConf of menuConfs) {\n const { breadcrumb } = menuConf;\n if (breadcrumb) {\n if (breadcrumb.overwrite) {\n navConfig.breadcrumb = breadcrumb.items;\n } else {\n navConfig.breadcrumb.push(...breadcrumb.items);\n }\n }\n }\n return navConfig;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Router.js","names":["locationsAreEqual","HttpAbortError","clearExpressionASTCache","clearFunctionASTCache","uniqueId","getHistory","getDataStores","postAsyncRender","renderRoutes","DataStore","clearResolveCache","mountTree","unmountTree","isOutsideApp","matchStoryboard","registerStoryboardFunctions","RendererContext","applyMode","applyTheme","getLocalAppsTheme","setMode","setTheme","setThemeVariant","_internalApiGetAppInBootstrapData","getRuntime","hooks","getPageInfo","resetAllComputedMarks","handleHttpError","isUnauthenticatedError","abortPendingRequest","initAbortController","setLoginStateCookie","registerCustomTemplates","fulfilStoryboard","RenderTag","insertPreviewRoutes","devtoolsHookEmit","setUIVersion","setAppVariable","setWatermark","clearMatchedRoutes","ErrorNode","PageError","resetReloadForError","shouldReloadForError","computeRealValue","_storyboards","WeakMap","_rendering","_nextRender","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_bootstrapFailed","_Router_brand","WeakSet","Router","constructor","storyboards","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Set","_classPrivateFieldSet","history","window","addEventListener","event","message","_assertClassBrand","_getBlockMessageBeforePageLave","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","nextPrevLocation","listen","prevLocation","_queuedRender","catch","detail","_classPrivateFieldGet2","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect","to","state","from","_this$redirectCount","_this$redirectCount2","pathname","search","hash","process","env","NODE_ENV","console","error","Error","replace","next","_preRender","nextRender","undefined","_ref","_prevLocation$state","_location$state","_location$state2","_classPrivateFieldGet4","ignoreRendering","omittedLocationProps","key","notify","noIncremental","_classPrivateFieldGet3","didPerformIncrementalRender","dispatchPageLeave","storyboard","reload","_render","isBootstrap","_hooks$auth","_hooks$auth$isBlocked","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet5","_storyboard$app","renderId","blocked","auth","isBlockedPath","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","currentAppId","id","BOOTSTRAP_UNION_FILE","appId","version","currentVersion","_storyboard$meta","_storyboard$meta$forE","_hooks$auth3","_hooks$auth3$isBlocke","meta","blackList","forEach","item","_hooks$auth2","_hooks$auth2$addPathT","path","url","split","e","addPathToBlackList","appChanged","flags","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","main","document","querySelector","portal","renderRoot","tag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","theme","getMiscSettings","globalThemeVariant","_hooks$checkInstalled","_hooks$auth4","_hooks$checkPermissio","_storyboard$meta2","_hooks$flowApi2","_storyboard$meta3","checkInstalledApps","preCheckInstalledApps","routeHelper","bailout","output","unauthenticated","redirect","mergeMenus","menuRequests","menuConfs","Promise","all","mergeMenuConfs","returnNode","isCurrentBootstrap","isReCatch","NO_AUTH_GUARD","noAuthGuardLoginPath","failed","node","blockingList","rendererContext","runtimeContext","query","URLSearchParams","sys","getAuth","settings","brand","getBrandSettings","ctxStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","functions","collectContract","contracts","stores","rootMenuRequestNode","routes","child","menuRequestNode","setInitialMenuRequestNode","getMenuRequests","result","route","type","dispatchBeforePageLoad","uiVersion","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\nimport type {\n BreadcrumbItemConf,\n MicroApp,\n StaticMenuConf,\n Storyboard,\n} from \"@next-core/types\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport {\n clearExpressionASTCache,\n clearFunctionASTCache,\n} from \"@next-core/cook\";\nimport { uniqueId } from \"lodash\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport {\n RenderOutput,\n getDataStores,\n postAsyncRender,\n renderRoutes,\n} from \"./Renderer.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { clearResolveCache } from \"./data/resolveData.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { isOutsideApp, matchStoryboard } from \"./matchStoryboard.js\";\nimport { registerStoryboardFunctions } from \"./compute/StoryboardFunctions.js\";\nimport { RendererContext, RouteHelper } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n setThemeVariant,\n} from \"../themeAndMode.js\";\nimport {\n _internalApiGetAppInBootstrapData,\n getRuntime,\n hooks,\n} from \"./Runtime.js\";\nimport { getPageInfo } from \"../getPageInfo.js\";\nimport type {\n MenuRequestNode,\n RenderRoot,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport { handleHttpError, isUnauthenticatedError } from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.js\";\nimport { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIVersion } from \"../setUIVersion.js\";\nimport { setAppVariable } from \"../setAppVariable.js\";\nimport { setWatermark } from \"../setWatermark.js\";\nimport { clearMatchedRoutes } from \"./routeMatchedMap.js\";\nimport { ErrorNode, PageError } from \"./ErrorNode.js\";\nimport {\n resetReloadForError,\n shouldReloadForError,\n} from \"../shouldReloadForError.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\n\ntype RenderTask = InitialRenderTask | SubsequentRenderTask;\n\ninterface InitialRenderTask {\n location: NextLocation;\n prevLocation?: undefined;\n action?: undefined;\n}\n\ninterface SubsequentRenderTask {\n location: NextLocation;\n prevLocation: NextLocation;\n action: Action;\n}\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #nextRender?: RenderTask;\n #runtimeContext?: RuntimeContext;\n #rendererContext?: RendererContext;\n #rendererContextTrashCan = new Set<RendererContext | undefined>();\n #redirectCount = 0;\n #renderId?: string;\n #currentApp?: MicroApp;\n #previousApp?: MicroApp;\n #navConfig?: { breadcrumb?: BreadcrumbItemConf[] };\n #bootstrapFailed = false;\n\n constructor(storyboards: Storyboard[]) {\n this.#storyboards = storyboards;\n\n const history = getHistory();\n window.addEventListener(\"beforeunload\", (event) => {\n const message = this.#getBlockMessageBeforePageLave({});\n // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload\n if (message) {\n // Cancel the event\n // If you prevent default behavior in Mozilla Firefox prompt will always be shown\n event.preventDefault();\n // Chrome requires returnValue to be set\n event.returnValue = \"\";\n } else {\n // the absence of a returnValue property on the event will guarantee the browser unload happens\n delete event.returnValue;\n }\n });\n\n history.block((location, action) =>\n this.#getBlockMessageBeforePageLave({ location, action })\n );\n }\n\n getRenderId() {\n return this.#renderId;\n }\n\n // istanbul ignore next\n getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return { currentApp: this.#currentApp, previousApp: this.#previousApp };\n }\n\n getNavConfig() {\n return this.#navConfig;\n }\n\n #getBlockMessageBeforePageLave(detail: {\n location?: NextLocation;\n action?: Action;\n }): string | undefined {\n const history = getHistory();\n const previousMessage = history.getBlockMessage();\n this.#rendererContext?.dispatchBeforePageLeave(detail);\n const message = history.getBlockMessage();\n if (!previousMessage && message) {\n // Auto unblock only if new block was introduced by `onBeforePageLeave`.\n history.unblock();\n }\n return message;\n }\n\n #safeRedirect(\n to: string,\n state: NextHistoryState | undefined,\n from: NextLocation\n ): void {\n if (this.#redirectCount++ > 10) {\n const message = `Infinite redirect detected: from \"${from.pathname}${from.search}${from.hash}\" to \"${to}\"`;\n // istanbul ignore else: error cannot be caught in test\n if (process.env.NODE_ENV === \"test\") {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n } else {\n throw new Error(message);\n }\n }\n getHistory().replace(to, state);\n }\n\n bootstrap() {\n initAbortController();\n const history = getHistory();\n let nextPrevLocation = history.location;\n history.listen((location, action) => {\n const prevLocation = nextPrevLocation;\n nextPrevLocation = location;\n if (this.#rendering) {\n this.#nextRender = { location, prevLocation, action };\n } else {\n this.#queuedRender({ location, prevLocation, action }).catch(\n handleHttpError\n );\n }\n });\n return this.#queuedRender({ location: history.location });\n }\n\n async #queuedRender(next: RenderTask) {\n this.#rendering = true;\n try {\n await this.#preRender(next);\n } finally {\n this.#rendering = false;\n if (this.#nextRender) {\n const nextRender = this.#nextRender;\n this.#nextRender = undefined;\n await this.#queuedRender(nextRender);\n }\n }\n }\n\n async #preRender({ location, prevLocation, action }: RenderTask) {\n if (prevLocation) {\n let ignoreRendering: boolean | undefined;\n const omittedLocationProps: Partial<NextLocation> = {\n hash: undefined,\n state: undefined,\n };\n // Omit the \"key\" when checking whether locations are equal in certain situations.\n if (\n // When current location is triggered by browser action of hash link.\n location.key === undefined ||\n // When current location is triggered by browser action of non-push-or-replace,\n // such as goBack or goForward,\n (action === \"POP\" &&\n // and the previous location was triggered by hash link,\n (prevLocation.key === undefined ||\n // or the previous location specified notify false.\n prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...prevLocation, ...omittedLocationProps },\n { ...location, ...omittedLocationProps }\n ) ||\n (action !== \"POP\" && location.state?.notify === false)\n ) {\n // Ignore rendering if location not changed except hash, state and optional key.\n // Ignore rendering if notify is `false`.\n ignoreRendering = true;\n }\n\n // Note: dot not perform incremental render when bootstrap failed.\n if (\n !ignoreRendering &&\n !location.state?.noIncremental &&\n !this.#bootstrapFailed\n ) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(\n location,\n prevLocation\n );\n }\n\n if (ignoreRendering) {\n return;\n }\n\n abortPendingRequest();\n this.#rendererContext?.dispatchPageLeave();\n\n if (action === \"POP\") {\n const storyboard = matchStoryboard(\n this.#storyboards,\n location.pathname\n );\n // When a browser action of goBack or goForward is performing,\n // force reload when the target page is a page of an outside app.\n if (isOutsideApp(storyboard)) {\n window.location.reload();\n return;\n }\n }\n\n devtoolsHookEmit(\"locationChange\");\n }\n\n return this.#render(location, !prevLocation);\n }\n\n async #render(location: NextLocation, isBootstrap: boolean): Promise<void> {\n const renderId = (this.#renderId = uniqueId(\"render-id-\"));\n let blocked = hooks?.auth?.isBlockedPath?.(location.pathname);\n\n resetAllComputedMarks();\n clearResolveCache();\n hooks?.flowApi?.clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n const finishPageView = hooks?.pageView?.create();\n\n const storyboard = blocked\n ? undefined\n : matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n const currentAppId = storyboard?.app?.id;\n // dynamically change the value of the APP variable, if it's union app\n if (\n window.BOOTSTRAP_UNION_FILE &&\n currentAppId &&\n currentAppId !== previousApp?.id\n ) {\n setAppVariable({\n appId: currentAppId,\n version: storyboard.app.currentVersion!,\n });\n }\n\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n\n const currentApp = (this.#currentApp = storyboard?.app);\n\n if (currentApp) {\n storyboard?.meta?.blackList?.forEach?.((item) => {\n let path = item && (item.to || item.url);\n\n if (!path || typeof path !== \"string\") return;\n\n path = path\n .split(\"?\")[0]\n .replace(/\\${\\s*(?:(?:PATH|CTX)\\.)?(\\w+)\\s*}/g, \":$1\");\n\n if (item.to) {\n try {\n path = computeRealValue(path, {\n app: currentApp,\n } as RuntimeContext) as string;\n } catch (e) /* istanbul ignore next */ {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n } else {\n path = path.replace(/^\\/next\\//, \"/\");\n }\n\n path && hooks?.auth?.addPathToBlackList?.(path);\n });\n blocked = hooks?.auth?.isBlockedPath?.(location.pathname);\n }\n\n setWatermark();\n\n // Storyboard maybe re-assigned, e.g. when open launchpad.\n const appChanged =\n previousApp && currentApp\n ? previousApp.id !== currentApp.id\n : previousApp !== currentApp;\n\n clearExpressionASTCache();\n if (appChanged) {\n clearFunctionASTCache();\n }\n\n // TODO: handle favicon\n\n // Set `Router::#currentApp` before calling `getFeatureFlags()`\n const flags = getRuntime().getFeatureFlags();\n const prevRendererContext = this.#rendererContext;\n\n const redirectTo = (to: string, state?: NextHistoryState): void => {\n finishPageView?.({ status: \"redirected\" });\n this.#rendererContextTrashCan.add(prevRendererContext);\n this.#safeRedirect(to, state, location);\n };\n\n const redirectToLogin = (): void => {\n const to = flags[\"sso-enabled\"] ? \"/sso-auth/login\" : \"/auth/login\";\n setLoginStateCookie(location);\n redirectTo(to, { from: location });\n };\n\n const main = document.querySelector(\"#main-mount-point\") as HTMLElement;\n const portal = document.querySelector(\"#portal-mount-point\") as HTMLElement;\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: main,\n createPortal: portal,\n };\n\n const cleanUpPreviousRender = (): void => {\n unmountTree(main);\n unmountTree(portal);\n\n // Note: redirects can lead to multiple trash renderer contexts.\n this.#rendererContextTrashCan.add(prevRendererContext);\n for (const item of this.#rendererContextTrashCan) {\n if (item) {\n item.dispatchOnUnmount();\n item.dispose();\n }\n }\n this.#rendererContextTrashCan.clear();\n hooks?.messageDispatcher?.reset();\n\n if (appChanged) {\n this.#previousApp = previousApp;\n window.dispatchEvent(\n new CustomEvent(\"app.change\", { detail: { previousApp, currentApp } })\n );\n }\n };\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n setThemeVariant(getRuntime().getMiscSettings().globalThemeVariant);\n\n if (currentApp && !blocked) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const routeHelper: RouteHelper = {\n bailout: (output) => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n },\n mergeMenus: async (menuRequests) => {\n const menuConfs = await Promise.all(menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n window.dispatchEvent(\n new CustomEvent(\"navConfig.change\", { detail: this.#navConfig })\n );\n },\n catch: async (error, returnNode, isCurrentBootstrap, isReCatch) => {\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n redirectToLogin();\n return;\n } else if (error instanceof HttpAbortError) {\n this.#rendererContextTrashCan.add(prevRendererContext);\n return;\n } else {\n const noAuthGuardLoginPath =\n getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath as string, { from: location });\n return;\n }\n if (isCurrentBootstrap) {\n throw error;\n }\n if (!isReCatch && shouldReloadForError(error)) {\n window.location.reload();\n return;\n }\n return {\n failed: true,\n output: {\n node: await ErrorNode(error, returnNode, !isReCatch),\n blockingList: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper, renderId }\n ));\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...hooks?.auth?.getAuth(),\n ...getPageInfo(),\n settings: { brand: getRuntime().getBrandSettings() },\n },\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [\n hooks?.checkPermissions?.preCheckPermissions(storyboard),\n ],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n formStateStoreMap: new Map<string, DataStore<\"FORM_STATE\">>(),\n });\n\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n hooks?.flowApi?.collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n let stores: DataStore<\"CTX\" | \"STATE\" | \"FORM_STATE\">[] = [];\n\n try {\n clearMatchedRoutes();\n const rootMenuRequestNode: MenuRequestNode = {};\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n [],\n rootMenuRequestNode\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n rootMenuRequestNode.child = output.menuRequestNode;\n rendererContext.setInitialMenuRequestNode(rootMenuRequestNode);\n await routeHelper.mergeMenus(rendererContext.getMenuRequests());\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n if (isBootstrap) {\n this.#bootstrapFailed = true;\n }\n const result = await routeHelper.catch(error, renderRoot, isBootstrap);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\n }\n resetReloadForError();\n renderRoot.child = output.node;\n this.#bootstrapFailed = false;\n\n cleanUpPreviousRender();\n\n if ((output.route && output.route.type !== \"routes\") || failed) {\n if (!failed) {\n // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n\n setUIVersion(currentApp?.uiVersion);\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of stores) {\n store.mountAsyncData();\n }\n\n finishPageView?.({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title,\n });\n } else {\n finishPageView?.({ status: \"failed\" });\n }\n devtoolsHookEmit(\"rendered\");\n\n return;\n }\n } else if (\n !window.NO_AUTH_GUARD &&\n hooks?.auth &&\n !hooks.auth.isLoggedIn()\n ) {\n // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.\n // Redirect to login if no storyboard is matched.\n redirectToLogin();\n return;\n } else {\n cleanUpPreviousRender();\n }\n\n applyTheme();\n applyMode();\n\n const node = await ErrorNode(\n new PageError(\n blocked\n ? \"page blocked\"\n : currentApp\n ? \"page not found\"\n : \"app not found\"\n ),\n renderRoot,\n true\n );\n renderRoot.child = node;\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n window.scrollTo(0, 0);\n finishPageView?.({ status: blocked ? \"blocked\" : \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = { breadcrumb: [] as BreadcrumbItemConf[] };\n for (const menuConf of menuConfs) {\n const { breadcrumb } = menuConf;\n if (breadcrumb) {\n if (breadcrumb.overwrite) {\n navConfig.breadcrumb = breadcrumb.items;\n } else {\n navConfig.breadcrumb.push(...breadcrumb.items);\n }\n }\n }\n return navConfig;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -78,4 +78,20 @@ export function getCssPropertyValue(name) {
78
78
  if (!el) return "";
79
79
  return ((_window$getComputedSt = window.getComputedStyle(el)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.getPropertyValue(name)) || "";
80
80
  }
81
+ let variant = "default";
82
+ export function setThemeVariant(value) {
83
+ if (value !== "default" && value !== "elevo") {
84
+ return setThemeVariant("default");
85
+ }
86
+ if (variant === value) {
87
+ return;
88
+ }
89
+ document.documentElement.dataset.variant = variant = value;
90
+ window.dispatchEvent(new CustomEvent("variant.change", {
91
+ detail: value
92
+ }));
93
+ }
94
+ export function getThemeVariant() {
95
+ return variant;
96
+ }
81
97
  //# sourceMappingURL=themeAndMode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"themeAndMode.js","names":["JsonStorage","theme","storage","localStorage","LOCAL_STORAGE_APPS_THEME_KEY","setTheme","value","Error","getTheme","getCurrentTheme","document","documentElement","dataset","applyTheme","window","dispatchEvent","CustomEvent","detail","batchSetAppsLocalTheme","appsTheme","setItem","getLocalAppsTheme","result","getItem","console","error","mode","setMode","getMode","getCurrentMode","applyMode","getCssPropertyValue","name","_window$getComputedSt","el","arguments","length","undefined","getComputedStyle","getPropertyValue"],"sources":["../../src/themeAndMode.ts"],"sourcesContent":["import type { SiteMode, SiteTheme } from \"@next-core/types\";\nimport { JsonStorage } from \"@next-core/utils/general\";\n\ninterface AppThemes {\n [appId: string]: SiteTheme;\n}\n\n// Themes.\nlet theme: SiteTheme = \"light\";\nconst storage = new JsonStorage<Record<string, AppThemes>>(localStorage);\nconst LOCAL_STORAGE_APPS_THEME_KEY = \"apps-theme\";\n\nexport function setTheme(value: SiteTheme): void {\n if (value !== \"dark\" && value !== \"light\" && value !== \"dark-v2\") {\n throw new Error(`Unsupported theme: ${value}`);\n }\n theme = value;\n}\n\nexport function getTheme(): SiteTheme {\n return theme;\n}\n\nexport function getCurrentTheme(): SiteTheme {\n return document.documentElement.dataset.theme as SiteTheme;\n}\n\nexport function applyTheme(value?: SiteTheme): void {\n if (value) {\n setTheme(value);\n } else {\n value = getTheme();\n }\n if (value !== getCurrentTheme()) {\n document.documentElement.dataset.theme = value;\n window.dispatchEvent(\n new CustomEvent<SiteTheme>(\"theme.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function batchSetAppsLocalTheme(appsTheme: AppThemes): void {\n storage.setItem(LOCAL_STORAGE_APPS_THEME_KEY, {\n ...getLocalAppsTheme(),\n ...appsTheme,\n });\n}\n\nexport function getLocalAppsTheme(): AppThemes {\n let result: AppThemes | undefined;\n try {\n result = storage.getItem(LOCAL_STORAGE_APPS_THEME_KEY);\n } catch {\n // eslint-disable-next-line no-console\n console.error(\"JSON parse error inside `getLocalAppsTheme()`\");\n }\n\n return result ?? {};\n}\n\n// Modes.\nlet mode: SiteMode = \"default\";\n\nexport function setMode(value: SiteMode): void {\n if (value !== \"dashboard\" && value !== \"default\") {\n throw new Error(`Unsupported mode: ${value}`);\n }\n mode = value;\n}\n\nexport function getMode(): SiteMode {\n return mode;\n}\n\nexport function getCurrentMode(): SiteMode {\n return document.documentElement.dataset.mode as SiteMode;\n}\n\nexport function applyMode(value?: SiteMode): void {\n if (value) {\n setMode(value);\n } else {\n value = getMode();\n }\n if (value !== getCurrentMode()) {\n document.documentElement.dataset.mode = value;\n window.dispatchEvent(\n new CustomEvent<SiteMode>(\"mode.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function getCssPropertyValue(\n name: string,\n el = document.documentElement\n): string {\n if (!el) return \"\";\n return window.getComputedStyle(el)?.getPropertyValue(name) || \"\";\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"themeAndMode.js","names":["JsonStorage","theme","storage","localStorage","LOCAL_STORAGE_APPS_THEME_KEY","setTheme","value","Error","getTheme","getCurrentTheme","document","documentElement","dataset","applyTheme","window","dispatchEvent","CustomEvent","detail","batchSetAppsLocalTheme","appsTheme","setItem","getLocalAppsTheme","result","getItem","console","error","mode","setMode","getMode","getCurrentMode","applyMode","getCssPropertyValue","name","_window$getComputedSt","el","arguments","length","undefined","getComputedStyle","getPropertyValue","variant","setThemeVariant","getThemeVariant"],"sources":["../../src/themeAndMode.ts"],"sourcesContent":["import type { SiteMode, SiteTheme, SiteVariant } from \"@next-core/types\";\nimport { JsonStorage } from \"@next-core/utils/general\";\n\ninterface AppThemes {\n [appId: string]: SiteTheme;\n}\n\n// Themes.\nlet theme: SiteTheme = \"light\";\nconst storage = new JsonStorage<Record<string, AppThemes>>(localStorage);\nconst LOCAL_STORAGE_APPS_THEME_KEY = \"apps-theme\";\n\nexport function setTheme(value: SiteTheme): void {\n if (value !== \"dark\" && value !== \"light\" && value !== \"dark-v2\") {\n throw new Error(`Unsupported theme: ${value}`);\n }\n theme = value;\n}\n\nexport function getTheme(): SiteTheme {\n return theme;\n}\n\nexport function getCurrentTheme(): SiteTheme {\n return document.documentElement.dataset.theme as SiteTheme;\n}\n\nexport function applyTheme(value?: SiteTheme): void {\n if (value) {\n setTheme(value);\n } else {\n value = getTheme();\n }\n if (value !== getCurrentTheme()) {\n document.documentElement.dataset.theme = value;\n window.dispatchEvent(\n new CustomEvent<SiteTheme>(\"theme.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function batchSetAppsLocalTheme(appsTheme: AppThemes): void {\n storage.setItem(LOCAL_STORAGE_APPS_THEME_KEY, {\n ...getLocalAppsTheme(),\n ...appsTheme,\n });\n}\n\nexport function getLocalAppsTheme(): AppThemes {\n let result: AppThemes | undefined;\n try {\n result = storage.getItem(LOCAL_STORAGE_APPS_THEME_KEY);\n } catch {\n // eslint-disable-next-line no-console\n console.error(\"JSON parse error inside `getLocalAppsTheme()`\");\n }\n\n return result ?? {};\n}\n\n// Modes.\nlet mode: SiteMode = \"default\";\n\nexport function setMode(value: SiteMode): void {\n if (value !== \"dashboard\" && value !== \"default\") {\n throw new Error(`Unsupported mode: ${value}`);\n }\n mode = value;\n}\n\nexport function getMode(): SiteMode {\n return mode;\n}\n\nexport function getCurrentMode(): SiteMode {\n return document.documentElement.dataset.mode as SiteMode;\n}\n\nexport function applyMode(value?: SiteMode): void {\n if (value) {\n setMode(value);\n } else {\n value = getMode();\n }\n if (value !== getCurrentMode()) {\n document.documentElement.dataset.mode = value;\n window.dispatchEvent(\n new CustomEvent<SiteMode>(\"mode.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function getCssPropertyValue(\n name: string,\n el = document.documentElement\n): string {\n if (!el) return \"\";\n return window.getComputedStyle(el)?.getPropertyValue(name) || \"\";\n}\n\nlet variant: SiteVariant = \"default\";\n\nexport function setThemeVariant(value: unknown) {\n if (value !== \"default\" && value !== \"elevo\") {\n return setThemeVariant(\"default\");\n }\n if (variant === value) {\n return;\n }\n document.documentElement.dataset.variant = variant = value;\n window.dispatchEvent(\n new CustomEvent(\"variant.change\", {\n detail: value,\n })\n );\n}\n\nexport function getThemeVariant(): SiteVariant {\n return variant;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,7 @@ export { createRuntime, getRuntime, type RuntimeOptions, type RuntimeHooks, type
13
13
  import * as __secret_internals from "./internal/secret_internals.js";
14
14
  export { __secret_internals };
15
15
  export { __test_only } from "./internal/test_only.js";
16
- export { getCssPropertyValue, getCurrentTheme, getCurrentMode, batchSetAppsLocalTheme, applyTheme, } from "./themeAndMode.js";
16
+ export { getCssPropertyValue, getCurrentTheme, getCurrentMode, getThemeVariant, batchSetAppsLocalTheme, applyTheme, } from "./themeAndMode.js";
17
17
  export { checkIfOfComputed, checkIfByTransform, } from "./internal/compute/checkIf.js";
18
18
  export { registerWidgetFunctions } from "./internal/compute/WidgetFunctions.js";
19
19
  export { registerWidgetI18n } from "./internal/compute/WidgetI18n.js";
@@ -1,4 +1,4 @@
1
- import type { SiteMode, SiteTheme } from "@next-core/types";
1
+ import type { SiteMode, SiteTheme, SiteVariant } from "@next-core/types";
2
2
  interface AppThemes {
3
3
  [appId: string]: SiteTheme;
4
4
  }
@@ -13,4 +13,6 @@ export declare function getMode(): SiteMode;
13
13
  export declare function getCurrentMode(): SiteMode;
14
14
  export declare function applyMode(value?: SiteMode): void;
15
15
  export declare function getCssPropertyValue(name: string, el?: HTMLElement): string;
16
+ export declare function setThemeVariant(value: unknown): void;
17
+ export declare function getThemeVariant(): SiteVariant;
16
18
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/runtime",
3
- "version": "1.64.0",
3
+ "version": "1.65.0",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -47,12 +47,12 @@
47
47
  "@next-core/color-theme": "^0.4.8",
48
48
  "@next-core/cook": "^2.5.9",
49
49
  "@next-core/http": "^1.2.13",
50
- "@next-core/i18n": "^1.0.80",
51
- "@next-core/inject": "^1.0.56",
50
+ "@next-core/i18n": "^1.0.81",
51
+ "@next-core/inject": "^1.0.57",
52
52
  "@next-core/loader": "^1.6.16",
53
53
  "@next-core/supply": "^2.3.6",
54
- "@next-core/types": "^1.16.0",
55
- "@next-core/utils": "^1.8.1",
54
+ "@next-core/types": "^1.17.0",
55
+ "@next-core/utils": "^1.8.2",
56
56
  "@ungap/event-target": "^0.2.4",
57
57
  "compare-versions": "^6.1.1",
58
58
  "history": "^4.10.1",
@@ -67,5 +67,5 @@
67
67
  "@next-core/build-next-libs": "^1.0.25",
68
68
  "@next-core/test-next": "^2.0.0"
69
69
  },
70
- "gitHead": "94ef9e433ff9e6d69e446d240c2a1ad4592dff30"
70
+ "gitHead": "b356ef08ecef65234dcace9aa78c4a87222facbd"
71
71
  }