@next-core/runtime 1.23.0 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/cjs/CustomProcessors.js +1 -2
  2. package/dist/cjs/CustomProcessors.js.map +1 -1
  3. package/dist/cjs/CustomTemplates.js +1 -2
  4. package/dist/cjs/CustomTemplates.js.map +1 -1
  5. package/dist/cjs/Dialog.js +1 -2
  6. package/dist/cjs/Dialog.js.map +1 -1
  7. package/dist/cjs/Notification.js +1 -2
  8. package/dist/cjs/Notification.js.map +1 -1
  9. package/dist/cjs/handleHttpError.js +2 -0
  10. package/dist/cjs/handleHttpError.js.map +1 -1
  11. package/dist/cjs/history.js +1 -2
  12. package/dist/cjs/history.js.map +1 -1
  13. package/dist/cjs/internal/CustomTemplates/constants.js +4 -8
  14. package/dist/cjs/internal/CustomTemplates/constants.js.map +1 -1
  15. package/dist/cjs/internal/FormRenderer/constants.js +2 -4
  16. package/dist/cjs/internal/FormRenderer/constants.js.map +1 -1
  17. package/dist/cjs/internal/Router.js +5 -7
  18. package/dist/cjs/internal/Router.js.map +1 -1
  19. package/dist/cjs/internal/Runtime.js +3 -6
  20. package/dist/cjs/internal/Runtime.js.map +1 -1
  21. package/dist/cjs/internal/compute/WidgetFunctions.js +2 -4
  22. package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -1
  23. package/dist/cjs/internal/compute/WidgetI18n.js +1 -2
  24. package/dist/cjs/internal/compute/WidgetI18n.js.map +1 -1
  25. package/dist/cjs/internal/compute/checkIf.js +1 -2
  26. package/dist/cjs/internal/compute/checkIf.js.map +1 -1
  27. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js +1 -2
  28. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  29. package/dist/cjs/internal/devtools.js +3 -6
  30. package/dist/cjs/internal/devtools.js.map +1 -1
  31. package/dist/cjs/internal/enums.js +1 -2
  32. package/dist/cjs/internal/enums.js.map +1 -1
  33. package/dist/cjs/internal/i18n.js +3 -6
  34. package/dist/cjs/internal/i18n.js.map +1 -1
  35. package/dist/cjs/internal/injected.js +1 -2
  36. package/dist/cjs/internal/injected.js.map +1 -1
  37. package/dist/cjs/internal/mediaQuery.js +3 -6
  38. package/dist/cjs/internal/mediaQuery.js.map +1 -1
  39. package/dist/cjs/internal/secret_internals.js +1 -2
  40. package/dist/cjs/internal/secret_internals.js.map +1 -1
  41. package/dist/cjs/internal/test_only.js +1 -2
  42. package/dist/cjs/internal/test_only.js.map +1 -1
  43. package/dist/cjs/setLoginStateCookie.js +20 -0
  44. package/dist/cjs/setLoginStateCookie.js.map +1 -0
  45. package/dist/cjs/setUIClassName.js +22 -0
  46. package/dist/cjs/setUIClassName.js.map +1 -0
  47. package/dist/esm/handleHttpError.js +2 -0
  48. package/dist/esm/handleHttpError.js.map +1 -1
  49. package/dist/esm/internal/Router.js +5 -7
  50. package/dist/esm/internal/Router.js.map +1 -1
  51. package/dist/esm/internal/Runtime.js.map +1 -1
  52. package/dist/esm/setLoginStateCookie.js +14 -0
  53. package/dist/esm/setLoginStateCookie.js.map +1 -0
  54. package/dist/esm/setUIClassName.js +17 -0
  55. package/dist/esm/setUIClassName.js.map +1 -0
  56. package/dist/types/internal/Runtime.d.ts +0 -1
  57. package/dist/types/setLoginStateCookie.d.ts +2 -0
  58. package/dist/types/setUIClassName.d.ts +1 -0
  59. package/dist/types/tsdoc-metadata.json +1 -1
  60. package/package.json +13 -13
  61. package/dist/cjs/UIPatch.js +0 -22
  62. package/dist/cjs/UIPatch.js.map +0 -1
  63. package/dist/esm/UIPatch.js +0 -24
  64. package/dist/esm/UIPatch.js.map +0 -1
  65. package/dist/types/UIPatch.d.ts +0 -4
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setLoginStateCookie = setLoginStateCookie;
7
+ function setLoginStateCookie(location) {
8
+ // 独立打包应用 登录时间超时后还是由前端控制跳转,后台无法处理设置登录前的 path 和 query 的 cookie 值
9
+ // 此这场景下前端做下处理
10
+
11
+ const {
12
+ search,
13
+ pathname
14
+ } = location;
15
+ const pathValue = pathname ? window.btoa(encodeURIComponent(pathname)) : "";
16
+ const searchValue = search ? window.btoa(encodeURIComponent(search)) : "";
17
+ document.cookie = `SALOGINPATH=${pathValue}; path=/`;
18
+ document.cookie = `SALOGINQUERY=${searchValue}; path=/`;
19
+ }
20
+ //# sourceMappingURL=setLoginStateCookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setLoginStateCookie.js","names":["setLoginStateCookie","location","search","pathname","pathValue","window","btoa","encodeURIComponent","searchValue","document","cookie"],"sources":["../../src/setLoginStateCookie.ts"],"sourcesContent":["import { NextLocation } from \"./history.js\";\n\nexport function setLoginStateCookie(location: NextLocation): void {\n // 独立打包应用 登录时间超时后还是由前端控制跳转,后台无法处理设置登录前的 path 和 query 的 cookie 值\n // 此这场景下前端做下处理\n\n const { search, pathname } = location;\n\n const pathValue = pathname ? window.btoa(encodeURIComponent(pathname)) : \"\";\n\n const searchValue = search ? window.btoa(encodeURIComponent(search)) : \"\";\n\n document.cookie = `SALOGINPATH=${pathValue}; path=/`;\n document.cookie = `SALOGINQUERY=${searchValue}; path=/`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,mBAAmBA,CAACC,QAAsB,EAAQ;EAChE;EACA;;EAEA,MAAM;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAAGF,QAAQ;EAErC,MAAMG,SAAS,GAAGD,QAAQ,GAAGE,MAAM,CAACC,IAAI,CAACC,kBAAkB,CAACJ,QAAQ,CAAC,CAAC,GAAG,EAAE;EAE3E,MAAMK,WAAW,GAAGN,MAAM,GAAGG,MAAM,CAACC,IAAI,CAACC,kBAAkB,CAACL,MAAM,CAAC,CAAC,GAAG,EAAE;EAEzEO,QAAQ,CAACC,MAAM,GAAI,eAAcN,SAAU,UAAS;EACpDK,QAAQ,CAACC,MAAM,GAAI,gBAAeF,WAAY,UAAS;AACzD"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setUIClassName = setUIClassName;
7
+ function setUIClassName(version = "8") {
8
+ let lastVersion = "";
9
+ document.body.classList.forEach(item => {
10
+ if (item.startsWith("ui")) {
11
+ lastVersion = item;
12
+ }
13
+ });
14
+ if (lastVersion) {
15
+ document.body.classList.remove(lastVersion);
16
+ }
17
+ const getUIClassName = version => {
18
+ return `ui-v${version.split(".").join("-")}`;
19
+ };
20
+ document.body.classList.add(getUIClassName(version));
21
+ }
22
+ //# sourceMappingURL=setUIClassName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setUIClassName.js","names":["setUIClassName","version","lastVersion","document","body","classList","forEach","item","startsWith","remove","getUIClassName","split","join","add"],"sources":["../../src/setUIClassName.ts"],"sourcesContent":["export function setUIClassName(version = \"8\") {\n let lastVersion = \"\";\n document.body.classList.forEach((item) => {\n if (item.startsWith(\"ui\")) {\n lastVersion = item;\n }\n });\n\n if (lastVersion) {\n document.body.classList.remove(lastVersion);\n }\n\n const getUIClassName = (version: string): string => {\n return `ui-v${version.split(\".\").join(\"-\")}`;\n };\n\n document.body.classList.add(getUIClassName(version));\n}\n"],"mappings":";;;;;;AAAO,SAASA,cAAcA,CAACC,OAAO,GAAG,GAAG,EAAE;EAC5C,IAAIC,WAAW,GAAG,EAAE;EACpBC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,OAAO,CAAEC,IAAI,IAAK;IACxC,IAAIA,IAAI,CAACC,UAAU,CAAC,IAAI,CAAC,EAAE;MACzBN,WAAW,GAAGK,IAAI;IACpB;EACF,CAAC,CAAC;EAEF,IAAIL,WAAW,EAAE;IACfC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACI,MAAM,CAACP,WAAW,CAAC;EAC7C;EAEA,MAAMQ,cAAc,GAAIT,OAAe,IAAa;IAClD,OAAQ,OAAMA,OAAO,CAACU,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAE,EAAC;EAC9C,CAAC;EAEDT,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACQ,GAAG,CAACH,cAAc,CAACT,OAAO,CAAC,CAAC;AACtD"}
@@ -5,6 +5,7 @@ import { getRuntime } from "./internal/Runtime.js";
5
5
  import { getHistory } from "./history.js";
6
6
  import { K, NS } from "./internal/i18n.js";
7
7
  import { Dialog } from "./Dialog.js";
8
+ import { setLoginStateCookie } from "./setLoginStateCookie.js";
8
9
 
9
10
  /**
10
11
  * 将 http 请求错误转换为可读的字符串。
@@ -94,6 +95,7 @@ export function handleHttpError(error) {
94
95
  function redirectToLogin() {
95
96
  var ssoEnabled = getRuntime().getFeatureFlags()["sso-enabled"];
96
97
  var history = getHistory();
98
+ setLoginStateCookie(history.location);
97
99
  history.push(ssoEnabled ? "/sso-auth/login" : "/auth/login", {
98
100
  from: _objectSpread(_objectSpread({}, history.location), {}, {
99
101
  state: undefined
@@ -1 +1 @@
1
- {"version":3,"file":"handleHttpError.js","names":["HttpAbortError","HttpFetchError","HttpResponseError","i18n","getRuntime","getHistory","K","NS","Dialog","httpErrorToString","error","Event","target","HTMLScriptElement","src","t","concat","NETWORK_ERROR","responseJson","msg","toString","isUnauthenticatedError","response","status","code","unauthenticatedConfirming","lastErrorMessage","handleHttpError","window","NO_AUTH_GUARD","show","type","content","LOGIN_TIMEOUT_MESSAGE","then","redirectToLogin","console","message","title","REQUEST_FAILED","contentStyle","whiteSpace","undefined","ssoEnabled","getFeatureFlags","history","push","from","_objectSpread","location","state"],"sources":["../../src/handleHttpError.ts"],"sourcesContent":["import {\n HttpAbortError,\n HttpFetchError,\n HttpResponseError,\n} from \"@next-core/http\";\nimport { i18n } from \"@next-core/i18n\";\nimport { getRuntime } from \"./internal/Runtime.js\";\nimport { getHistory } from \"./history.js\";\nimport { K, NS } from \"./internal/i18n.js\";\nimport { Dialog } from \"./Dialog.js\";\n\n/**\n * 将 http 请求错误转换为可读的字符串。\n *\n * @remarks\n *\n * 将依次尝试读取返回的 JSON 格式数据的字符串类型的 `error` 和 `msg` 字段,如果没有找到则返回 `error.toString()` 的结果。\n *\n * @param error - 错误对象。\n *\n * @returns 转换为字符串的错误信息。\n */\nexport function httpErrorToString(error: unknown): string {\n if (error instanceof Event && error.target instanceof HTMLScriptElement) {\n return error.target.src;\n }\n if (error instanceof HttpFetchError) {\n return i18n.t(`${NS}:${K.NETWORK_ERROR}`);\n }\n if (error instanceof HttpResponseError) {\n if (error.responseJson) {\n if (typeof error.responseJson.error === \"string\") {\n return error.responseJson.error;\n } else if (typeof error.responseJson.msg === \"string\") {\n return error.responseJson.msg;\n }\n }\n }\n if (error == null) {\n return \"Unknown error\";\n }\n return error.toString();\n}\n\nexport function isUnauthenticatedError(error: unknown): boolean {\n return (\n error instanceof HttpResponseError &&\n error.response.status === 401 &&\n !!error.responseJson &&\n error.responseJson.code === 100003\n );\n}\n\nlet unauthenticatedConfirming = false;\n\nlet lastErrorMessage: string | undefined;\n\n/**\n * 处理 http 请求错误(使用 AntDesign 模态框弹出错误信息)。\n *\n * @param error - 错误对象。\n */\nexport function handleHttpError(error: unknown) {\n // Do nothing if aborted http requests\n if (error instanceof HttpAbortError) {\n return;\n }\n\n // Redirect to login page if not logged in.\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n if (unauthenticatedConfirming) {\n return;\n }\n unauthenticatedConfirming = true;\n Dialog.show({\n type: \"confirm\",\n content: i18n.t(`${NS}:${K.LOGIN_TIMEOUT_MESSAGE}`),\n }).then(\n () => {\n redirectToLogin();\n unauthenticatedConfirming = false;\n },\n () => {\n unauthenticatedConfirming = false;\n }\n );\n return;\n }\n\n // eslint-disable-next-line no-console\n console.error(error);\n\n const message = httpErrorToString(error);\n if (message !== lastErrorMessage) {\n lastErrorMessage = message;\n Dialog.show({\n type: \"error\",\n title: i18n.t(`${NS}:${K.REQUEST_FAILED}`),\n content: message,\n contentStyle: {\n whiteSpace: \"pre-wrap\",\n },\n }).then(() => {\n lastErrorMessage = undefined;\n });\n }\n return;\n}\n\nfunction redirectToLogin() {\n const ssoEnabled = getRuntime().getFeatureFlags()[\"sso-enabled\"];\n const history = getHistory();\n history.push(ssoEnabled ? \"/sso-auth/login\" : \"/auth/login\", {\n from: {\n ...history.location,\n state: undefined,\n },\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"handleHttpError.js","names":["HttpAbortError","HttpFetchError","HttpResponseError","i18n","getRuntime","getHistory","K","NS","Dialog","setLoginStateCookie","httpErrorToString","error","Event","target","HTMLScriptElement","src","t","concat","NETWORK_ERROR","responseJson","msg","toString","isUnauthenticatedError","response","status","code","unauthenticatedConfirming","lastErrorMessage","handleHttpError","window","NO_AUTH_GUARD","show","type","content","LOGIN_TIMEOUT_MESSAGE","then","redirectToLogin","console","message","title","REQUEST_FAILED","contentStyle","whiteSpace","undefined","ssoEnabled","getFeatureFlags","history","location","push","from","_objectSpread","state"],"sources":["../../src/handleHttpError.ts"],"sourcesContent":["import {\n HttpAbortError,\n HttpFetchError,\n HttpResponseError,\n} from \"@next-core/http\";\nimport { i18n } from \"@next-core/i18n\";\nimport { getRuntime } from \"./internal/Runtime.js\";\nimport { getHistory } from \"./history.js\";\nimport { K, NS } from \"./internal/i18n.js\";\nimport { Dialog } from \"./Dialog.js\";\nimport { setLoginStateCookie } from \"./setLoginStateCookie.js\";\n\n/**\n * 将 http 请求错误转换为可读的字符串。\n *\n * @remarks\n *\n * 将依次尝试读取返回的 JSON 格式数据的字符串类型的 `error` 和 `msg` 字段,如果没有找到则返回 `error.toString()` 的结果。\n *\n * @param error - 错误对象。\n *\n * @returns 转换为字符串的错误信息。\n */\nexport function httpErrorToString(error: unknown): string {\n if (error instanceof Event && error.target instanceof HTMLScriptElement) {\n return error.target.src;\n }\n if (error instanceof HttpFetchError) {\n return i18n.t(`${NS}:${K.NETWORK_ERROR}`);\n }\n if (error instanceof HttpResponseError) {\n if (error.responseJson) {\n if (typeof error.responseJson.error === \"string\") {\n return error.responseJson.error;\n } else if (typeof error.responseJson.msg === \"string\") {\n return error.responseJson.msg;\n }\n }\n }\n if (error == null) {\n return \"Unknown error\";\n }\n return error.toString();\n}\n\nexport function isUnauthenticatedError(error: unknown): boolean {\n return (\n error instanceof HttpResponseError &&\n error.response.status === 401 &&\n !!error.responseJson &&\n error.responseJson.code === 100003\n );\n}\n\nlet unauthenticatedConfirming = false;\n\nlet lastErrorMessage: string | undefined;\n\n/**\n * 处理 http 请求错误(使用 AntDesign 模态框弹出错误信息)。\n *\n * @param error - 错误对象。\n */\nexport function handleHttpError(error: unknown) {\n // Do nothing if aborted http requests\n if (error instanceof HttpAbortError) {\n return;\n }\n\n // Redirect to login page if not logged in.\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n if (unauthenticatedConfirming) {\n return;\n }\n unauthenticatedConfirming = true;\n Dialog.show({\n type: \"confirm\",\n content: i18n.t(`${NS}:${K.LOGIN_TIMEOUT_MESSAGE}`),\n }).then(\n () => {\n redirectToLogin();\n unauthenticatedConfirming = false;\n },\n () => {\n unauthenticatedConfirming = false;\n }\n );\n return;\n }\n\n // eslint-disable-next-line no-console\n console.error(error);\n\n const message = httpErrorToString(error);\n if (message !== lastErrorMessage) {\n lastErrorMessage = message;\n Dialog.show({\n type: \"error\",\n title: i18n.t(`${NS}:${K.REQUEST_FAILED}`),\n content: message,\n contentStyle: {\n whiteSpace: \"pre-wrap\",\n },\n }).then(() => {\n lastErrorMessage = undefined;\n });\n }\n return;\n}\n\nfunction redirectToLogin() {\n const ssoEnabled = getRuntime().getFeatureFlags()[\"sso-enabled\"];\n const history = getHistory();\n setLoginStateCookie(history.location);\n history.push(ssoEnabled ? \"/sso-auth/login\" : \"/auth/login\", {\n from: {\n ...history.location,\n state: undefined,\n },\n });\n}\n"],"mappings":"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"}
@@ -22,12 +22,13 @@ import { getPageInfo } from "../getPageInfo.js";
22
22
  import { resetAllComputedMarks } from "./compute/markAsComputed.js";
23
23
  import { handleHttpError, httpErrorToString, isUnauthenticatedError } from "../handleHttpError.js";
24
24
  import { abortPendingRequest, initAbortController } from "./abortController.js";
25
+ import { setLoginStateCookie } from "../setLoginStateCookie.js";
25
26
  import { registerCustomTemplates } from "./registerCustomTemplates.js";
26
27
  import { fulfilStoryboard } from "./fulfilStoryboard.js";
27
28
  import { RenderTag } from "./enums.js";
28
29
  import { insertPreviewRoutes } from "./insertPreviewRoutes.js";
29
30
  import { devtoolsHookEmit } from "./devtools.js";
30
- import { loadUIPatch } from "../UIPatch.js";
31
+ import { setUIClassName } from "../setUIClassName.js";
31
32
  var _storyboards = /*#__PURE__*/new WeakMap();
32
33
  var _rendering = /*#__PURE__*/new WeakMap();
33
34
  var _prevLocation = /*#__PURE__*/new WeakMap();
@@ -294,6 +295,7 @@ function _render3() {
294
295
  };
295
296
  var redirectToLogin = () => {
296
297
  var to = flags["sso-enabled"] ? "/sso-auth/login" : "/auth/login";
298
+ setLoginStateCookie(location);
297
299
  redirectTo(to, {
298
300
  from: location
299
301
  });
@@ -333,12 +335,9 @@ function _render3() {
333
335
  setTheme(currentApp && (getLocalAppsTheme()[currentApp.id] || currentApp.theme) || "light");
334
336
  setMode("default");
335
337
  if (currentApp) {
336
- var _hooks$checkInstalled, _currentApp$uiVersion, _hooks$auth, _hooks$checkPermissio, _storyboard$meta, _hooks$flowApi2, _storyboard$meta2;
338
+ var _hooks$checkInstalled, _hooks$auth, _hooks$checkPermissio, _storyboard$meta, _hooks$flowApi2, _storyboard$meta2;
337
339
  hooks === null || hooks === void 0 || (_hooks$checkInstalled = hooks.checkInstalledApps) === null || _hooks$checkInstalled === void 0 || _hooks$checkInstalled.preCheckInstalledApps(storyboard, appId => !!_internalApiGetAppInBootstrapData(appId));
338
- var {
339
- uiPatch: allowUIPatch
340
- } = getRuntime().getPreseBricks();
341
- var uiPatch = loadUIPatch((_currentApp$uiVersion = currentApp.uiVersion) !== null && _currentApp$uiVersion !== void 0 ? _currentApp$uiVersion : "8.0", allowUIPatch);
340
+ setUIClassName(currentApp === null || currentApp === void 0 ? void 0 : currentApp.uiVersion);
342
341
  var routeHelper = {
343
342
  bailout: output => {
344
343
  if (output.unauthenticated) {
@@ -425,7 +424,6 @@ function _render3() {
425
424
  if (routeHelper.bailout(output)) {
426
425
  return;
427
426
  }
428
- output.blockingList.push(uiPatch);
429
427
  stores = getDataStores(runtimeContext);
430
428
  yield postAsyncRender(output, runtimeContext, stores);
431
429
  yield routeHelper.mergeMenus(output.menuRequests);
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","names":["locationsAreEqual","HttpAbortError","uniqueId","getHistory","getDataStores","postAsyncRender","renderRoutes","DataStore","clearResolveCache","mountTree","unmountTree","isOutsideApp","matchStoryboard","registerStoryboardFunctions","RendererContext","applyMode","applyTheme","getLocalAppsTheme","setMode","setTheme","_internalApiGetAppInBootstrapData","getRuntime","hooks","getPageInfo","resetAllComputedMarks","handleHttpError","httpErrorToString","isUnauthenticatedError","abortPendingRequest","initAbortController","registerCustomTemplates","fulfilStoryboard","RenderTag","insertPreviewRoutes","devtoolsHookEmit","loadUIPatch","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_getBlockMessageBeforePageLave","WeakSet","_safeRedirect","_queuedRender","_render","Router","constructor","storyboards","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Set","_classPrivateFieldSet","history","window","addEventListener","event","message","_classPrivateMethodGet","_getBlockMessageBeforePageLave2","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","_this","renderId","listen","_ref","_asyncToGenerator","_classPrivateFieldGet2","_location$state","_classPrivateFieldGet4","currentRenderId","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","_objectSpread","_classPrivateFieldGet3","didPerformIncrementalRender","dispatchPageLeave","storyboard","pathname","reload","_queuedRender2","catch","_x","_x2","apply","arguments","detail","_classPrivateFieldGet5","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect2","to","from","_this$redirectCount","_this$redirectCount2","concat","search","process","env","NODE_ENV","console","error","Error","replace","_x3","_queuedRender3","_render2","nextLocation","_x4","_render3","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet6","_this2","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","appChanged","id","flags","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","main","document","querySelector","portal","renderRoot","tag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","item","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","theme","_hooks$checkInstalled","_currentApp$uiVersion","_hooks$auth","_hooks$checkPermissio","_storyboard$meta","_hooks$flowApi2","_storyboard$meta2","checkInstalledApps","preCheckInstalledApps","appId","uiPatch","allowUIPatch","getPreseBricks","uiVersion","routeHelper","bailout","output","unauthenticated","redirect","path","mergeMenus","_ref2","menuRequests","menuConfs","Promise","all","mergeMenuConfs","_x5","returnNode","NO_AUTH_GUARD","noAuthGuardLoginPath","getMiscSettings","failed","node","BRICK","type","properties","textContent","runtimeContext","return","blockingList","rendererContext","query","URLSearchParams","sys","auth","getAuth","settings","brand","getBrandSettings","ctxStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","meta","functions","collectContract","contracts","stores","routes","push","setInitialMenuRequests","result","child","route","dispatchBeforePageLoad","DISABLE_REACT_FLUSH_SYNC","setTimeout","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","navConfig","breadcrumb","menuConf","overwrite","items"],"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 { 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 { RenderBrick, RenderRoot, RuntimeContext } from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport {\n handleHttpError,\n httpErrorToString,\n isUnauthenticatedError,\n} from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.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 { loadUIPatch } from \"../UIPatch.js\";\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #prevLocation!: NextLocation;\n #nextLocation?: NextLocation;\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?: {\n breadcrumb?: BreadcrumbItemConf[];\n };\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 getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return {\n currentApp: this.#currentApp,\n previousApp: this.#previousApp,\n };\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 this.#prevLocation = history.location;\n let renderId = 0;\n history.listen(async (location, action) => {\n const currentRenderId = ++renderId;\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 (this.#prevLocation.key === undefined ||\n // or the previous location specified notify false.\n this.#prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...this.#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 if (!ignoreRendering) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(location);\n }\n\n // Ignore stale renders\n if (renderId !== currentRenderId) {\n return;\n }\n\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n\n abortPendingRequest();\n this.#prevLocation = location;\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 if (this.#rendering) {\n this.#nextLocation = location;\n } else {\n devtoolsHookEmit(\"locationChange\");\n this.#queuedRender(location).catch(handleHttpError);\n }\n });\n return this.#queuedRender(history.location);\n }\n\n async #queuedRender(location: NextLocation): Promise<void> {\n this.#rendering = true;\n try {\n await this.#render(location);\n } finally {\n this.#rendering = false;\n if (this.#nextLocation) {\n const nextLocation = this.#nextLocation;\n this.#nextLocation = undefined;\n await this.#queuedRender(nextLocation);\n }\n }\n }\n\n async #render(location: NextLocation): Promise<void> {\n this.#renderId = uniqueId(\"render-id-1\");\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 = matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n const currentApp = (this.#currentApp = storyboard?.app);\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 // 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?.({\n status: \"redirected\",\n });\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 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\", {\n detail: {\n previousApp,\n currentApp,\n },\n })\n );\n }\n };\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (currentApp) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const { uiPatch: allowUIPatch } = getRuntime().getPreseBricks();\n\n const uiPatch = loadUIPatch(currentApp.uiVersion ?? \"8.0\", allowUIPatch);\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 },\n catch: (error, returnNode) => {\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 return {\n failed: true,\n output: {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error),\n },\n runtimeContext: null!,\n return: returnNode,\n },\n blockingList: [],\n menuRequests: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper }\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: {\n brand: getRuntime().getBrandSettings(),\n },\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 output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n []\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n output.blockingList.push(uiPatch);\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n await routeHelper.mergeMenus(output.menuRequests);\n rendererContext.setInitialMenuRequests(output.menuRequests);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n const result = routeHelper.catch(error, renderRoot);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\n }\n renderRoot.child = output.node;\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 window.DISABLE_REACT_FLUSH_SYNC = false;\n mountTree(renderRoot);\n setTimeout(() => {\n window.DISABLE_REACT_FLUSH_SYNC = true;\n });\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: RenderBrick = {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: \"Page not found\",\n },\n runtimeContext: null!,\n return: renderRoot,\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: \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\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":";;;;;;;AAAA,SAAiBA,iBAAiB,QAAQ,SAAS;AAOnD,SAASC,cAAc,QAAQ,iBAAiB;AAChD,SAASC,QAAQ,QAAQ,QAAQ;AACjC,SAAyCC,UAAU,QAAQ,eAAe;AAC1E,SAEEC,aAAa,EACbC,eAAe,EACfC,YAAY,QACP,eAAe;AACtB,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,SAAS,EAAEC,WAAW,QAAQ,YAAY;AACnD,SAASC,YAAY,EAAEC,eAAe,QAAQ,sBAAsB;AACpE,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,eAAe,QAAqB,sBAAsB;AACnE,SACEC,SAAS,EACTC,UAAU,EACVC,iBAAiB,EACjBC,OAAO,EACPC,QAAQ,QACH,oBAAoB;AAC3B,SACEC,iCAAiC,EACjCC,UAAU,EACVC,KAAK,QACA,cAAc;AACrB,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,SAASC,qBAAqB,QAAQ,6BAA6B;AACnE,SACEC,eAAe,EACfC,iBAAiB,EACjBC,sBAAsB,QACjB,uBAAuB;AAC9B,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,sBAAsB;AAC/E,SAASC,uBAAuB,QAAQ,8BAA8B;AACtE,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,gBAAgB,QAAQ,eAAe;AAChD,SAASC,WAAW,QAAQ,eAAe;AAAC,IAAAC,YAAA,oBAAAC,OAAA;AAAA,IAAAC,UAAA,oBAAAD,OAAA;AAAA,IAAAE,aAAA,oBAAAF,OAAA;AAAA,IAAAG,aAAA,oBAAAH,OAAA;AAAA,IAAAI,eAAA,oBAAAJ,OAAA;AAAA,IAAAK,gBAAA,oBAAAL,OAAA;AAAA,IAAAM,wBAAA,oBAAAN,OAAA;AAAA,IAAAO,cAAA,oBAAAP,OAAA;AAAA,IAAAQ,SAAA,oBAAAR,OAAA;AAAA,IAAAS,WAAA,oBAAAT,OAAA;AAAA,IAAAU,YAAA,oBAAAV,OAAA;AAAA,IAAAW,UAAA,oBAAAX,OAAA;AAAA,IAAAY,8BAAA,oBAAAC,OAAA;AAAA,IAAAC,aAAA,oBAAAD,OAAA;AAAA,IAAAE,aAAA,oBAAAF,OAAA;AAAA,IAAAG,OAAA,oBAAAH,OAAA;AAE5C,OAAO,MAAMI,MAAM,CAAC;EAgBlBC,WAAWA,CAACC,WAAyB,EAAE;IAAAC,2BAAA,OAAAJ,OAAA;IAAAI,2BAAA,OAAAL,aAAA;IAAAK,2BAAA,OAAAN,aAAA;IAAAM,2BAAA,OAAAR,8BAAA;IAAAS,0BAAA,OAAAtB,YAAA;MAAAuB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAApB,UAAA;MAAAqB,QAAA;MAAAC,KAAA,EAd1B;IAAK;IAAAF,0BAAA,OAAAnB,aAAA;MAAAoB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAlB,aAAA;MAAAmB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAjB,eAAA;MAAAkB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAhB,gBAAA;MAAAiB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAf,wBAAA;MAAAgB,QAAA;MAAAC,KAAA,EAKS,IAAIC,GAAG,CAA8B;IAAC;IAAAH,0BAAA,OAAAd,cAAA;MAAAe,QAAA;MAAAC,KAAA,EAChD;IAAC;IAAAF,0BAAA,OAAAb,SAAA;MAAAc,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAZ,WAAA;MAAAa,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAX,YAAA;MAAAY,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAV,UAAA;MAAAW,QAAA;MAAAC,KAAA;IAAA;IAShBE,qBAAA,KAAI,EAAA1B,YAAA,EAAgBoB,WAAW;IAE/B,IAAMO,QAAO,GAAG5D,UAAU,CAAC,CAAC;IAC5B6D,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAGC,KAAK,IAAK;MACjD,IAAMC,OAAO,GAAAC,sBAAA,CAAG,IAAI,EAAAnB,8BAAA,EAAAoB,+BAAA,EAAAC,IAAA,CAAJ,IAAI,EAAgC,CAAC,CAAC,CAAC;MACvD;MACA,IAAIH,OAAO,EAAE;QACX;QACA;QACAD,KAAK,CAACK,cAAc,CAAC,CAAC;QACtB;QACAL,KAAK,CAACM,WAAW,GAAG,EAAE;MACxB,CAAC,MAAM;QACL;QACA,OAAON,KAAK,CAACM,WAAW;MAC1B;IACF,CAAC,CAAC;IAEFT,QAAO,CAACU,KAAK,CAAC,CAACC,QAAQ,EAAEC,MAAM,KAAAP,sBAAA,CAC7B,IAAI,EAAAnB,8BAAA,EAAAoB,+BAAA,EAAAC,IAAA,CAAJ,IAAI,EAAgC;MAAEI,QAAQ;MAAEC;IAAO,CAAC,CAC1D,CAAC;EACH;EAEAC,WAAWA,CAAA,EAAG;IACZ,OAAAC,qBAAA,CAAO,IAAI,EAAAhC,SAAA;EACb;EAEAiC,iBAAiBA,CAAA,EAAG;IAClB,OAAAD,qBAAA,CAAO,IAAI,EAAApC,eAAA;EACb;EAEAsC,aAAaA,CAAA,EAAG;IACd,OAAO;MACLC,UAAU,EAAAH,qBAAA,CAAE,IAAI,EAAA/B,WAAA,CAAY;MAC5BmC,WAAW,EAAAJ,qBAAA,CAAE,IAAI,EAAA9B,YAAA;IACnB,CAAC;EACH;EAEAmC,YAAYA,CAAA,EAAG;IACb,OAAAL,qBAAA,CAAO,IAAI,EAAA7B,UAAA;EACb;EAoCAmC,SAASA,CAAA,EAAG;IAAA,IAAAC,KAAA;IACVvD,mBAAmB,CAAC,CAAC;IACrB,IAAMkC,OAAO,GAAG5D,UAAU,CAAC,CAAC;IAC5B2D,qBAAA,KAAI,EAAAvB,aAAA,EAAiBwB,OAAO,CAACW,QAAQ;IACrC,IAAIW,QAAQ,GAAG,CAAC;IAChBtB,OAAO,CAACuB,MAAM;MAAA,IAAAC,IAAA,GAAAC,iBAAA,CAAC,WAAOd,QAAQ,EAAEC,MAAM,EAAK;QAAA,IAAAc,sBAAA,EAAAC,eAAA,EAAAC,sBAAA;QACzC,IAAMC,eAAe,GAAG,EAAEP,QAAQ;QAClC,IAAIQ,eAAoC;QACxC,IAAMC,oBAA2C,GAAG;UAClDC,IAAI,EAAEC,SAAS;UACfC,KAAK,EAAED;QACT,CAAC;QACD;QACA;QACE;QACAtB,QAAQ,CAACwB,GAAG,KAAKF,SAAS;QAC1B;QACA;QACCrB,MAAM,KAAK,KAAK;QACf;QACCE,qBAAA,CAAAO,KAAI,EAAA7C,aAAA,EAAe2D,GAAG,KAAKF,SAAS;QACnC;QACA,EAAAP,sBAAA,GAAAZ,qBAAA,CAAAO,KAAI,EAAA7C,aAAA,EAAe0D,KAAK,cAAAR,sBAAA,uBAAxBA,sBAAA,CAA0BU,MAAM,MAAK,KAAK,CAAE,EAChD;UACAL,oBAAoB,CAACI,GAAG,GAAGF,SAAS;QACtC;QACA,IACEhG,iBAAiB,CAAAoG,aAAA,CAAAA,aAAA,KAAAvB,qBAAA,CACVO,KAAI,EAAA7C,aAAA,IAAmBuD,oBAAoB,GAAAM,aAAA,CAAAA,aAAA,KAC3C1B,QAAQ,GAAKoB,oBAAoB,CACxC,CAAC,IACAnB,MAAM,KAAK,KAAK,IAAI,EAAAe,eAAA,GAAAhB,QAAQ,CAACuB,KAAK,cAAAP,eAAA,uBAAdA,eAAA,CAAgBS,MAAM,MAAK,KAAM,EACtD;UACA;UACA;UACAN,eAAe,GAAG,IAAI;QACxB;QAEA,IAAI,CAACA,eAAe,EAAE;UAAA,IAAAQ,sBAAA;UACpBR,eAAe,UAAAQ,sBAAA,GAAAxB,qBAAA,CACPO,KAAI,EAAA1C,gBAAA,eAAA2D,sBAAA,uBAAJA,sBAAA,CAAuBC,2BAA2B,CAAC5B,QAAQ,CAAC;QACtE;;QAEA;QACA,IAAIW,QAAQ,KAAKO,eAAe,EAAE;UAChC;QACF;QAEA,IAAIC,eAAe,EAAE;UACnB/B,qBAAA,CAAAsB,KAAI,EAAA7C,aAAA,EAAiBmC,QAAQ;UAC7B;QACF;QAEA9C,mBAAmB,CAAC,CAAC;QACrBkC,qBAAA,CAAAsB,KAAI,EAAA7C,aAAA,EAAiBmC,QAAQ;QAC7B,CAAAiB,sBAAA,GAAAd,qBAAA,CAAAO,KAAI,EAAA1C,gBAAA,eAAAiD,sBAAA,eAAJA,sBAAA,CAAuBY,iBAAiB,CAAC,CAAC;QAE1C,IAAI5B,MAAM,KAAK,KAAK,EAAE;UACpB,IAAM6B,UAAU,GAAG5F,eAAe,CAAAiE,qBAAA,CAChCO,KAAI,EAAAhD,YAAA,GACJsC,QAAQ,CAAC+B,QACX,CAAC;UACD;UACA;UACA,IAAI9F,YAAY,CAAC6F,UAAU,CAAC,EAAE;YAC5BxC,MAAM,CAACU,QAAQ,CAACgC,MAAM,CAAC,CAAC;YACxB;UACF;QACF;QAEA,IAAA7B,qBAAA,CAAIO,KAAI,EAAA9C,UAAA,GAAa;UACnBwB,qBAAA,CAAAsB,KAAI,EAAA5C,aAAA,EAAiBkC,QAAQ;QAC/B,CAAC,MAAM;UACLxC,gBAAgB,CAAC,gBAAgB,CAAC;UAClCkC,sBAAA,CAAAgB,KAAI,EAAAhC,aAAA,EAAAuD,cAAA,EAAArC,IAAA,CAAJc,KAAI,EAAeV,QAAQ,EAAEkC,KAAK,CAACnF,eAAe,CAAC;QACrD;MACF,CAAC;MAAA,iBAAAoF,EAAA,EAAAC,GAAA;QAAA,OAAAvB,IAAA,CAAAwB,KAAA,OAAAC,SAAA;MAAA;IAAA,IAAC;IACF,OAAA5C,sBAAA,CAAO,IAAI,EAAAhB,aAAA,EAAAuD,cAAA,EAAArC,IAAA,CAAJ,IAAI,EAAeP,OAAO,CAACW,QAAQ;EAC5C;AAwTF;AAAC,SAAAL,gCAxagC4C,MAG9B,EAAsB;EAAA,IAAAC,sBAAA;EACrB,IAAMnD,OAAO,GAAG5D,UAAU,CAAC,CAAC;EAC5B,IAAMgH,eAAe,GAAGpD,OAAO,CAACqD,eAAe,CAAC,CAAC;EACjD,CAAAF,sBAAA,GAAArC,qBAAA,KAAI,EAAAnC,gBAAA,eAAAwE,sBAAA,eAAJA,sBAAA,CAAuBG,uBAAuB,CAACJ,MAAM,CAAC;EACtD,IAAM9C,OAAO,GAAGJ,OAAO,CAACqD,eAAe,CAAC,CAAC;EACzC,IAAI,CAACD,eAAe,IAAIhD,OAAO,EAAE;IAC/B;IACAJ,OAAO,CAACuD,OAAO,CAAC,CAAC;EACnB;EACA,OAAOnD,OAAO;AAChB;AAAC,SAAAoD,eAGCC,EAAU,EACVvB,KAAmC,EACnCwB,IAAkB,EACZ;EAAA,IAAAC,mBAAA,EAAAC,oBAAA;EACN,IAAI,CAAA7D,qBAAA,KAAI,EAAAlB,cAAA,GAAA8E,mBAAA,GAAA7C,qBAAA,CAAJ,IAAI,EAAAjC,cAAA,GAAA+E,oBAAA,GAAAD,mBAAA,IAAAA,mBAAA,IAAAC,oBAAA,IAAoB,EAAE,EAAE;IAC9B,IAAMxD,OAAO,yCAAAyD,MAAA,CAAwCH,IAAI,CAAChB,QAAQ,EAAAmB,MAAA,CAAGH,IAAI,CAACI,MAAM,EAAAD,MAAA,CAAGH,IAAI,CAAC1B,IAAI,cAAA6B,MAAA,CAASJ,EAAE,OAAG;IAC1G;IACA,IAAIM,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MACnC;MACAC,OAAO,CAACC,KAAK,CAAC/D,OAAO,CAAC;MACtB;IACF,CAAC,MAAM;MACL,MAAM,IAAIgE,KAAK,CAAChE,OAAO,CAAC;IAC1B;EACF;EACAhE,UAAU,CAAC,CAAC,CAACiI,OAAO,CAACZ,EAAE,EAAEvB,KAAK,CAAC;AACjC;AAAC,SAAAU,eAAA0B,GAAA;EAAA,OAAAC,cAAA,CAAAvB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAsB,eAAA;EAAAA,cAAA,GAAA9C,iBAAA,YAkFmBd,QAAsB,EAAiB;IACzDZ,qBAAA,KAAI,EAAAxB,UAAA,EAAc,IAAI;IACtB,IAAI;MACF,MAAA8B,sBAAA,CAAM,IAAI,EAAAf,OAAA,EAAAkF,QAAA,EAAAjE,IAAA,CAAJ,IAAI,EAASI,QAAQ;IAC7B,CAAC,SAAS;MACRZ,qBAAA,KAAI,EAAAxB,UAAA,EAAc,KAAK;MACvB,IAAAuC,qBAAA,CAAI,IAAI,EAAArC,aAAA,GAAgB;QACtB,IAAMgG,YAAY,GAAA3D,qBAAA,CAAG,IAAI,EAAArC,aAAA,CAAc;QACvCsB,qBAAA,KAAI,EAAAtB,aAAA,EAAiBwD,SAAS;QAC9B,MAAA5B,sBAAA,CAAM,IAAI,EAAAhB,aAAA,EAAAuD,cAAA,EAAArC,IAAA,CAAJ,IAAI,EAAekE,YAAY;MACvC;IACF;EACF,CAAC;EAAA,OAAAF,cAAA,CAAAvB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAuB,SAAAE,GAAA;EAAA,OAAAC,QAAA,CAAA3B,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAA0B,SAAA;EAAAA,QAAA,GAAAlD,iBAAA,YAEad,QAAsB,EAAiB;IAAA,IAAAiE,cAAA;MAAAC,eAAA;MAAAC,sBAAA;MAAAC,MAAA;IACnDhF,qBAAA,KAAI,EAAAjB,SAAA,EAAa3C,QAAQ,CAAC,aAAa,CAAC;IAExCsB,qBAAqB,CAAC,CAAC;IACvBhB,iBAAiB,CAAC,CAAC;IACnBc,KAAK,aAALA,KAAK,gBAAAqH,cAAA,GAALrH,KAAK,CAAEyH,OAAO,cAAAJ,cAAA,eAAdA,cAAA,CAAgBK,0BAA0B,CAAC,CAAC;IAE5C,IAAMjF,OAAO,GAAG5D,UAAU,CAAC,CAAC;IAC5B4D,OAAO,CAACuD,OAAO,CAAC,CAAC;;IAEjB;IACA,IAAM2B,cAAc,GAAG3H,KAAK,aAALA,KAAK,gBAAAsH,eAAA,GAALtH,KAAK,CAAE4H,QAAQ,cAAAN,eAAA,uBAAfA,eAAA,CAAiBO,MAAM,CAAC,CAAC;IAEhD,IAAM3C,UAAU,GAAG5F,eAAe,CAAAiE,qBAAA,CAAC,IAAI,EAAAzC,YAAA,GAAesC,QAAQ,CAAC+B,QAAQ,CAAC;IAExE,IAAMxB,WAAW,IAAA4D,sBAAA,GAAAhE,qBAAA,CAAG,IAAI,EAAApC,eAAA,eAAAoG,sBAAA,uBAAJA,sBAAA,CAAsBO,GAAG;IAC7C,IAAI5C,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAE4C,GAAG,EAAE;MACnB,MAAMrH,gBAAgB,CAACyE,UAAU,CAAC;IACpC;IACA,IAAMxB,UAAU,GAAAlB,qBAAA,CAAI,IAAI,EAAAhB,WAAA,EAAe0D,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE4C,GAAG,CAAC;;IAEvD;IACA,IAAMC,UAAU,GACdpE,WAAW,IAAID,UAAU,GACrBC,WAAW,CAACqE,EAAE,KAAKtE,UAAU,CAACsE,EAAE,GAChCrE,WAAW,KAAKD,UAAU;;IAEhC;;IAEA;IACA,IAAMuE,KAAK,GAAGlI,UAAU,CAAC,CAAC,CAACmI,eAAe,CAAC,CAAC;IAC5C,IAAMC,mBAAmB,GAAA5E,qBAAA,CAAG,IAAI,EAAAnC,gBAAA,CAAiB;IAEjD,IAAMgH,UAAU,GAAGA,CAAClC,EAAU,EAAEvB,KAAwB,KAAW;MACjEgD,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAG;QACfU,MAAM,EAAE;MACV,CAAC,CAAC;MACF9E,qBAAA,KAAI,EAAAlC,wBAAA,EAA0BiH,GAAG,CAACH,mBAAmB,CAAC;MACtDrF,sBAAA,KAAI,EAAAjB,aAAA,EAAAoE,cAAA,EAAAjD,IAAA,CAAJ,IAAI,EAAekD,EAAE,EAAEvB,KAAK,EAAEvB,QAAQ;IACxC,CAAC;IAED,IAAMmF,eAAe,GAAGA,CAAA,KAAY;MAClC,IAAMrC,EAAE,GAAG+B,KAAK,CAAC,aAAa,CAAC,GAAG,iBAAiB,GAAG,aAAa;MACnEG,UAAU,CAAClC,EAAE,EAAE;QAAEC,IAAI,EAAE/C;MAAS,CAAC,CAAC;IACpC,CAAC;IAED,IAAMoF,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,mBAAmB,CAAgB;IACvE,IAAMC,MAAM,GAAGF,QAAQ,CAACC,aAAa,CAAC,qBAAqB,CAAgB;IAE3E,IAAME,UAAsB,GAAG;MAC7BC,GAAG,EAAEnI,SAAS,CAACoI,IAAI;MACnBC,SAAS,EAAEP,IAAI;MACfQ,YAAY,EAAEL;IAChB,CAAC;IAED,IAAMM,qBAAqB,GAAGA,CAAA,KAAY;MAAA,IAAAC,qBAAA;MACxC9J,WAAW,CAACoJ,IAAI,CAAC;MACjBpJ,WAAW,CAACuJ,MAAM,CAAC;;MAEnB;MACApF,qBAAA,KAAI,EAAAlC,wBAAA,EAA0BiH,GAAG,CAACH,mBAAmB,CAAC;MACtD,KAAK,IAAMgB,IAAI,IAAA5F,qBAAA,CAAI,IAAI,EAAAlC,wBAAA,GAA2B;QAChD,IAAI8H,IAAI,EAAE;UACRA,IAAI,CAACC,iBAAiB,CAAC,CAAC;UACxBD,IAAI,CAACE,OAAO,CAAC,CAAC;QAChB;MACF;MACA9F,qBAAA,KAAI,EAAAlC,wBAAA,EAA0BiI,KAAK,CAAC,CAAC;MACrCtJ,KAAK,aAALA,KAAK,gBAAAkJ,qBAAA,GAALlJ,KAAK,CAAEuJ,iBAAiB,cAAAL,qBAAA,eAAxBA,qBAAA,CAA0BM,KAAK,CAAC,CAAC;MAEjC,IAAIzB,UAAU,EAAE;QACdvF,qBAAA,KAAI,EAAAf,YAAA,EAAgBkC,WAAW;QAC/BjB,MAAM,CAAC+G,aAAa,CAClB,IAAIC,WAAW,CAAC,YAAY,EAAE;UAC5B/D,MAAM,EAAE;YACNhC,WAAW;YACXD;UACF;QACF,CAAC,CACH,CAAC;MACH;IACF,CAAC;IAED7D,QAAQ,CACL6D,UAAU,KACR/D,iBAAiB,CAAC,CAAC,CAAC+D,UAAU,CAACsE,EAAE,CAAC,IAAItE,UAAU,CAACiG,KAAK,CAAC,IACxD,OACJ,CAAC;IACD/J,OAAO,CAAC,SAAS,CAAC;IAElB,IAAI8D,UAAU,EAAE;MAAA,IAAAkG,qBAAA,EAAAC,qBAAA,EAAAC,WAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,iBAAA;MACdlK,KAAK,aAALA,KAAK,gBAAA4J,qBAAA,GAAL5J,KAAK,CAAEmK,kBAAkB,cAAAP,qBAAA,eAAzBA,qBAAA,CAA2BQ,qBAAqB,CAC9ClF,UAAU,EACTmF,KAAK,IAAK,CAAC,CAACvK,iCAAiC,CAACuK,KAAK,CACtD,CAAC;MAED,IAAM;QAAEC,OAAO,EAAEC;MAAa,CAAC,GAAGxK,UAAU,CAAC,CAAC,CAACyK,cAAc,CAAC,CAAC;MAE/D,IAAMF,OAAO,GAAGzJ,WAAW,EAAAgJ,qBAAA,GAACnG,UAAU,CAAC+G,SAAS,cAAAZ,qBAAA,cAAAA,qBAAA,GAAI,KAAK,EAAEU,YAAY,CAAC;MAExE,IAAMG,WAAwB,GAAG;QAC/BC,OAAO,EAAGC,MAAM,IAAK;UACnB,IAAIA,MAAM,CAACC,eAAe,EAAE;YAC1BtC,eAAe,CAAC,CAAC;YACjB,OAAO,IAAI;UACb;UACA,IAAIqC,MAAM,CAACE,QAAQ,EAAE;YACnB1C,UAAU,CAACwC,MAAM,CAACE,QAAQ,CAACC,IAAI,EAAEH,MAAM,CAACE,QAAQ,CAACnG,KAAK,CAAC;YACvD,OAAO,IAAI;UACb;UACA;UACAnC,qBAAA,KAAI,EAAAlB,cAAA,EAAkB,CAAC;QACzB,CAAC;QACD0J,UAAU;UAAA,IAAAC,KAAA,GAAA/G,iBAAA,CAAE,WAAOgH,YAAY,EAAK;YAClC,IAAMC,SAAS,SAASC,OAAO,CAACC,GAAG,CAACH,YAAY,CAAC;YACjD1I,qBAAA,CAAAgF,MAAI,EAAA9F,UAAA,EAAc4J,cAAc,CAACH,SAAS,CAAC;UAC7C,CAAC;UAAA,gBAAAH,WAAAO,GAAA;YAAA,OAAAN,KAAA,CAAAxF,KAAA,OAAAC,SAAA;UAAA;QAAA;QACDJ,KAAK,EAAEA,CAACsB,KAAK,EAAE4E,UAAU,KAAK;UAC5B,IAAInL,sBAAsB,CAACuG,KAAK,CAAC,IAAI,CAAClE,MAAM,CAAC+I,aAAa,EAAE;YAC1DlD,eAAe,CAAC,CAAC;YACjB;UACF,CAAC,MAAM,IAAI3B,KAAK,YAAYjI,cAAc,EAAE;YAC1C4E,qBAAA,KAAI,EAAAlC,wBAAA,EAA0BiH,GAAG,CAACH,mBAAmB,CAAC;YACtD;UACF,CAAC,MAAM;YACL,IAAMuD,oBAAoB,GACxB3L,UAAU,CAAC,CAAC,CAAC4L,eAAe,CAAC,CAAC,CAACD,oBAAoB;YACrD,IAAIrL,sBAAsB,CAACuG,KAAK,CAAC,IAAI8E,oBAAoB,EAAE;cACzDtD,UAAU,CAACsD,oBAAoB,EAAY;gBAAEvF,IAAI,EAAE/C;cAAS,CAAC,CAAC;cAC9D;YACF;YACA,OAAO;cACLwI,MAAM,EAAE,IAAI;cACZhB,MAAM,EAAE;gBACNiB,IAAI,EAAE;kBACJhD,GAAG,EAAEnI,SAAS,CAACoL,KAAK;kBACpBC,IAAI,EAAE,KAAK;kBACXC,UAAU,EAAE;oBACVC,WAAW,EAAE7L,iBAAiB,CAACwG,KAAK;kBACtC,CAAC;kBACDsF,cAAc,EAAE,IAAK;kBACrBC,MAAM,EAAEX;gBACV,CAAC;gBACDY,YAAY,EAAE,EAAE;gBAChBlB,YAAY,EAAE;cAChB;YACF,CAAC;UACH;QACF;MACF,CAAC;MAED,IAAMmB,eAAe,GAAA7J,qBAAA,CAAI,IAAI,EAAApB,gBAAA,EAAoB,IAAI5B,eAAe,CAClE,MAAM,EACN;QAAEkL;MAAY,CAChB,CAAC,CAAC;MAEF,IAAMwB,cAA8B,GAAA1J,qBAAA,CAAI,IAAI,EAAArB,eAAA,EAAmB;QAC7D2G,GAAG,EAAEpE,UAAU;QACfN,QAAQ;QACRkJ,KAAK,EAAE,IAAIC,eAAe,CAACnJ,QAAQ,CAACmD,MAAM,CAAC;QAC3C0B,KAAK;QACLuE,GAAG,EAAA1H,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACE9E,KAAK,aAALA,KAAK,gBAAA8J,WAAA,GAAL9J,KAAK,CAAEyM,IAAI,cAAA3C,WAAA,uBAAXA,WAAA,CAAa4C,OAAO,CAAC,CAAC,GACtBzM,WAAW,CAAC,CAAC;UAChB0M,QAAQ,EAAE;YACRC,KAAK,EAAE7M,UAAU,CAAC,CAAC,CAAC8M,gBAAgB,CAAC;UACvC;QAAC,EACF;QACDC,QAAQ,EAAE,IAAI7N,SAAS,CAAC,KAAK,EAAEyF,SAAS,EAAE2H,eAAe,CAAC;QAC1DU,0BAA0B,EAAE,CAC1B/M,KAAK,aAALA,KAAK,gBAAA+J,qBAAA,GAAL/J,KAAK,CAAEgN,gBAAgB,cAAAjD,qBAAA,uBAAvBA,qBAAA,CAAyBkD,mBAAmB,CAAC/H,UAAU,CAAC,CACzD;QACDgI,gBAAgB,EAAE,IAAIC,GAAG,CAA6B,CAAC;QACvDC,iBAAiB,EAAE,IAAID,GAAG,CAAkC;MAC9D,CAAC,CAAC;MAEF3K,qBAAA,KAAI,EAAAd,UAAA,EAAcgD,SAAS;MAE3BlE,uBAAuB,CAAC0E,UAAU,CAAC;MACnC3F,2BAA2B,EAAAyK,gBAAA,GAAC9E,UAAU,CAACmI,IAAI,cAAArD,gBAAA,uBAAfA,gBAAA,CAAiBsD,SAAS,EAAE5J,UAAU,CAAC;MACnE1D,KAAK,aAALA,KAAK,gBAAAiK,eAAA,GAALjK,KAAK,CAAEyH,OAAO,cAAAwC,eAAA,eAAdA,eAAA,CAAgBsD,eAAe,EAAArD,iBAAA,GAAChF,UAAU,CAACmI,IAAI,cAAAnD,iBAAA,uBAAfA,iBAAA,CAAiBsD,SAAS,CAAC;MAE3D,IAAI5B,MAAM,GAAG,KAAK;MAClB,IAAIhB,MAAoB;MACxB,IAAI6C,MAAmD,GAAG,EAAE;MAE5D,IAAI;QACF7C,MAAM,SAAS5L,YAAY,CACzB4J,UAAU,EACVjI,mBAAmB,CAACuE,UAAU,CAACwI,MAAM,CAAC,EACtCxB,cAAc,EACdG,eAAe,EACf,EACF,CAAC;QACD,IAAI3B,WAAW,CAACC,OAAO,CAACC,MAAM,CAAC,EAAE;UAC/B;QACF;QAEAA,MAAM,CAACwB,YAAY,CAACuB,IAAI,CAACrD,OAAO,CAAC;QAEjCmD,MAAM,GAAG3O,aAAa,CAACoN,cAAc,CAAC;QAEtC,MAAMnN,eAAe,CAAC6L,MAAM,EAAEsB,cAAc,EAAEuB,MAAM,CAAC;QAErD,MAAM/C,WAAW,CAACM,UAAU,CAACJ,MAAM,CAACM,YAAY,CAAC;QACjDmB,eAAe,CAACuB,sBAAsB,CAAChD,MAAM,CAACM,YAAY,CAAC;MAC7D,CAAC,CAAC,OAAOtE,KAAK,EAAE;QACd;QACAD,OAAO,CAACC,KAAK,CAAC,gBAAgB,EAAEA,KAAK,CAAC;QAEtC,IAAMiH,MAAM,GAAGnD,WAAW,CAACpF,KAAK,CAACsB,KAAK,EAAEgC,UAAU,CAAC;QACnD,IAAI,CAACiF,MAAM,EAAE;UACX;QACF;QACA,CAAC;UAAEjC,MAAM;UAAEhB;QAAO,CAAC,GAAGiD,MAAM;MAC9B;MACAjF,UAAU,CAACkF,KAAK,GAAGlD,MAAM,CAACiB,IAAI;MAE9B5C,qBAAqB,CAAC,CAAC;MAEvB,IAAK2B,MAAM,CAACmD,KAAK,IAAInD,MAAM,CAACmD,KAAK,CAAChC,IAAI,KAAK,QAAQ,IAAKH,MAAM,EAAE;QAC9D,IAAI,CAACA,MAAM,EAAE;UACX;UACAS,eAAe,CAAC2B,sBAAsB,CAAC,CAAC;QAC1C;QACAtO,UAAU,CAAC,CAAC;QACZD,SAAS,CAAC,CAAC;QAEXiD,MAAM,CAACuL,wBAAwB,GAAG,KAAK;QACvC9O,SAAS,CAACyJ,UAAU,CAAC;QACrBsF,UAAU,CAAC,MAAM;UACfxL,MAAM,CAACuL,wBAAwB,GAAG,IAAI;QACxC,CAAC,CAAC;;QAEF;QACA;QACAvL,MAAM,CAACyL,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QAErB,IAAI,CAACvC,MAAM,EAAE;UACXS,eAAe,CAAC+B,gBAAgB,CAAC,CAAC;UAClC/B,eAAe,CAACgC,kBAAkB,CAAC,CAAC;UACpChC,eAAe,CAACiC,eAAe,CAAC,CAAC;UACjCjC,eAAe,CAACkC,wBAAwB,CAAC,CAAC;UAC1ClC,eAAe,CAACmC,qBAAqB,CAAC,CAAC;UACvCnC,eAAe,CAACoC,2BAA2B,CAAC,CAAC;UAE7C,KAAK,IAAMC,KAAK,IAAIjB,MAAM,EAAE;YAC1BiB,KAAK,CAACC,cAAc,CAAC,CAAC;UACxB;UAEAhH,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAG;YACfU,MAAM,EAAE,IAAI;YACZ0C,IAAI,EAAEH,MAAM,CAACG,IAAI;YACjB6D,SAAS,EAAEnG,QAAQ,CAACoG;UACtB,CAAC,CAAC;QACJ,CAAC,MAAM;UACLlH,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAG;YAAEU,MAAM,EAAE;UAAS,CAAC,CAAC;QACxC;QACAzH,gBAAgB,CAAC,UAAU,CAAC;QAE5B;MACF;IACF,CAAC,MAAM,IACL,CAAC8B,MAAM,CAAC+I,aAAa,IACrBzL,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEyM,IAAI,IACX,CAACzM,KAAK,CAACyM,IAAI,CAACqC,UAAU,CAAC,CAAC,EACxB;MACA;MACA;MACAvG,eAAe,CAAC,CAAC;MACjB;IACF,CAAC,MAAM;MACLU,qBAAqB,CAAC,CAAC;IACzB;IAEAvJ,UAAU,CAAC,CAAC;IACZD,SAAS,CAAC,CAAC;IAEX,IAAMoM,IAAiB,GAAG;MACxBhD,GAAG,EAAEnI,SAAS,CAACoL,KAAK;MACpBC,IAAI,EAAE,KAAK;MACXC,UAAU,EAAE;QACVC,WAAW,EAAE;MACf,CAAC;MACDC,cAAc,EAAE,IAAK;MACrBC,MAAM,EAAEvD;IACV,CAAC;IACDA,UAAU,CAACkF,KAAK,GAAGjC,IAAI;IAEvB1M,SAAS,CAACyJ,UAAU,CAAC;;IAErB;IACAlG,MAAM,CAACyL,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACrBxG,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAG;MAAEU,MAAM,EAAE;IAAY,CAAC,CAAC;IACzCzH,gBAAgB,CAAC,UAAU,CAAC;EAC9B,CAAC;EAAA,OAAAwG,QAAA,CAAA3B,KAAA,OAAAC,SAAA;AAAA;AAGH,SAAS4F,cAAcA,CAACH,SAA2B,EAAE;EACnD,IAAM4D,SAAS,GAAG;IAChBC,UAAU,EAAE;EACd,CAAC;EACD,KAAK,IAAMC,QAAQ,IAAI9D,SAAS,EAAE;IAChC,IAAM;MAAE6D;IAAW,CAAC,GAAGC,QAAQ;IAC/B,IAAID,UAAU,EAAE;MACd,IAAIA,UAAU,CAACE,SAAS,EAAE;QACxBH,SAAS,CAACC,UAAU,GAAGA,UAAU,CAACG,KAAK;MACzC,CAAC,MAAM;QACLJ,SAAS,CAACC,UAAU,CAACrB,IAAI,CAAC,GAAGqB,UAAU,CAACG,KAAK,CAAC;MAChD;IACF;EACF;EACA,OAAOJ,SAAS;AAClB"}
1
+ {"version":3,"file":"Router.js","names":["locationsAreEqual","HttpAbortError","uniqueId","getHistory","getDataStores","postAsyncRender","renderRoutes","DataStore","clearResolveCache","mountTree","unmountTree","isOutsideApp","matchStoryboard","registerStoryboardFunctions","RendererContext","applyMode","applyTheme","getLocalAppsTheme","setMode","setTheme","_internalApiGetAppInBootstrapData","getRuntime","hooks","getPageInfo","resetAllComputedMarks","handleHttpError","httpErrorToString","isUnauthenticatedError","abortPendingRequest","initAbortController","setLoginStateCookie","registerCustomTemplates","fulfilStoryboard","RenderTag","insertPreviewRoutes","devtoolsHookEmit","setUIClassName","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_getBlockMessageBeforePageLave","WeakSet","_safeRedirect","_queuedRender","_render","Router","constructor","storyboards","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Set","_classPrivateFieldSet","history","window","addEventListener","event","message","_classPrivateMethodGet","_getBlockMessageBeforePageLave2","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","_this","renderId","listen","_ref","_asyncToGenerator","_classPrivateFieldGet2","_location$state","_classPrivateFieldGet4","currentRenderId","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","_objectSpread","_classPrivateFieldGet3","didPerformIncrementalRender","dispatchPageLeave","storyboard","pathname","reload","_queuedRender2","catch","_x","_x2","apply","arguments","detail","_classPrivateFieldGet5","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect2","to","from","_this$redirectCount","_this$redirectCount2","concat","search","process","env","NODE_ENV","console","error","Error","replace","_x3","_queuedRender3","_render2","nextLocation","_x4","_render3","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet6","_this2","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","appChanged","id","flags","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","main","document","querySelector","portal","renderRoot","tag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","item","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","theme","_hooks$checkInstalled","_hooks$auth","_hooks$checkPermissio","_storyboard$meta","_hooks$flowApi2","_storyboard$meta2","checkInstalledApps","preCheckInstalledApps","appId","uiVersion","routeHelper","bailout","output","unauthenticated","redirect","path","mergeMenus","_ref2","menuRequests","menuConfs","Promise","all","mergeMenuConfs","_x5","returnNode","NO_AUTH_GUARD","noAuthGuardLoginPath","getMiscSettings","failed","node","BRICK","type","properties","textContent","runtimeContext","return","blockingList","rendererContext","query","URLSearchParams","sys","auth","getAuth","settings","brand","getBrandSettings","ctxStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","meta","functions","collectContract","contracts","stores","routes","setInitialMenuRequests","result","child","route","dispatchBeforePageLoad","DISABLE_REACT_FLUSH_SYNC","setTimeout","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 { 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 { RenderBrick, RenderRoot, RuntimeContext } from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport {\n handleHttpError,\n httpErrorToString,\n isUnauthenticatedError,\n} 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 { setUIClassName } from \"../setUIClassName.js\";\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #prevLocation!: NextLocation;\n #nextLocation?: NextLocation;\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?: {\n breadcrumb?: BreadcrumbItemConf[];\n };\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 getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return {\n currentApp: this.#currentApp,\n previousApp: this.#previousApp,\n };\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 this.#prevLocation = history.location;\n let renderId = 0;\n history.listen(async (location, action) => {\n const currentRenderId = ++renderId;\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 (this.#prevLocation.key === undefined ||\n // or the previous location specified notify false.\n this.#prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...this.#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 if (!ignoreRendering) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(location);\n }\n\n // Ignore stale renders\n if (renderId !== currentRenderId) {\n return;\n }\n\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n\n abortPendingRequest();\n this.#prevLocation = location;\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 if (this.#rendering) {\n this.#nextLocation = location;\n } else {\n devtoolsHookEmit(\"locationChange\");\n this.#queuedRender(location).catch(handleHttpError);\n }\n });\n return this.#queuedRender(history.location);\n }\n\n async #queuedRender(location: NextLocation): Promise<void> {\n this.#rendering = true;\n try {\n await this.#render(location);\n } finally {\n this.#rendering = false;\n if (this.#nextLocation) {\n const nextLocation = this.#nextLocation;\n this.#nextLocation = undefined;\n await this.#queuedRender(nextLocation);\n }\n }\n }\n\n async #render(location: NextLocation): Promise<void> {\n this.#renderId = uniqueId(\"render-id-1\");\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 = matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n const currentApp = (this.#currentApp = storyboard?.app);\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 // 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?.({\n status: \"redirected\",\n });\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\", {\n detail: {\n previousApp,\n currentApp,\n },\n })\n );\n }\n };\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (currentApp) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n setUIClassName(currentApp?.uiVersion);\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 },\n catch: (error, returnNode) => {\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 return {\n failed: true,\n output: {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error),\n },\n runtimeContext: null!,\n return: returnNode,\n },\n blockingList: [],\n menuRequests: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper }\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: {\n brand: getRuntime().getBrandSettings(),\n },\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 output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n []\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n await routeHelper.mergeMenus(output.menuRequests);\n rendererContext.setInitialMenuRequests(output.menuRequests);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n const result = routeHelper.catch(error, renderRoot);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\n }\n renderRoot.child = output.node;\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 window.DISABLE_REACT_FLUSH_SYNC = false;\n mountTree(renderRoot);\n setTimeout(() => {\n window.DISABLE_REACT_FLUSH_SYNC = true;\n });\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: RenderBrick = {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: \"Page not found\",\n },\n runtimeContext: null!,\n return: renderRoot,\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: \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Runtime.js","names":["i18n","initializeI18n","loadBricksImperatively","deepFreeze","isObject","moment","createHistory","matchStoryboard","Router","NS","locales","loadNotificationService","loadDialogService","injectedBrickPackages","hasInstalledApp","listenDevtoolsEagerly","getV2RuntimeFromDll","runtime","bootstrapData","router","hooks","createRuntime","options","Error","locale","language","on","Runtime","getRuntimeV3","getRuntimeV2Factory","v2Kit","getRuntimeV2","Proxy","getRuntime","get","key","arguments","length","undefined","Reflect","_initialized","WeakMap","_bootstrapped","constructor","_classPrivateFieldInitSpec","writable","value","initialize","data","_classPrivateFieldGet","_classPrivateFieldSet","normalizeBootstrapData","notification","dialog","getPreseBricks","loadBricks","bootstrap","_this","_asyncToGenerator","storyboards","getRecentApps","_router$getRecentApps","_router","getCurrentApp","_router2","currentApp","appId","matchVersion","getFeatureFlags","_bootstrapData","_router3","_objectSpread","settings","featureFlags","config","getMiscSettings","_bootstrapData2","_router4","misc","getBrandSettings","_bootstrapData3","base_title","brand","getLaunchpadSettings","_bootstrapData4","columns","rows","launchpad","getDesktops","_bootstrapData$deskto","_bootstrapData5","desktops","getLaunchpadSiteMap","_bootstrapData$siteSo","_bootstrapData6","siteSort","toggleLaunchpadEffect","open","document","body","classList","toggle","applyPageTitle","pageTitle","baseTitle","title","concat","getNavConfig","_router5","bricks","getBrickPackages","_bootstrapData$settin","_bootstrapData7","presetBricks","Array","isArray","_loop","app","ns","id","Object","entries","forEach","_ref","lang","resources","addResourceBundle","localeName","getFixedT","name","keys","removeResourceBundle","brickPackages","_ref2","_ref3","_bootstrapData$brickP","_bootstrapData8","window","STANDALONE_BRICK_PACKAGES","_internalApiGetRenderId","_router6","getRenderId","_internalApiMatchStoryboard","pathname","_bootstrapData$storyb","_bootstrapData9","_internalApiGetRuntimeContext","_router7","getRuntimeContext","_internalApiGetStoryboardInBootstrapData","_bootstrapData10","find","storyboard","_internalApiGetAppInBootstrapData","_internalApiGetStoryb","_test_only_setBootstrapData","process","env","NODE_ENV"],"sources":["../../../src/internal/Runtime.ts"],"sourcesContent":["import type {\n RuntimeStoryboard,\n BootstrapSettings,\n FeatureFlags,\n BootstrapData,\n Contract,\n Storyboard,\n BrickConf,\n RouteConf,\n ResolveConf,\n BrickPackage,\n} from \"@next-core/types\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { loadBricksImperatively } from \"@next-core/loader\";\nimport { deepFreeze, isObject } from \"@next-core/utils/general\";\nimport type { PermissionApi_validatePermissions } from \"@next-api-sdk/micro-app-sdk\";\nimport moment from \"moment\";\nimport \"moment/locale/zh-cn.js\";\nimport { createHistory } from \"../history.js\";\nimport { matchStoryboard } from \"./matchStoryboard.js\";\nimport { Router } from \"./Router.js\";\nimport { NS, locales } from \"./i18n.js\";\nimport { loadNotificationService } from \"../Notification.js\";\nimport { loadDialogService } from \"../Dialog.js\";\nimport { injectedBrickPackages } from \"./injected.js\";\nimport { type AppForCheck, hasInstalledApp } from \"./hasInstalledApp.js\";\nimport type { RuntimeContext } from \"./interfaces.js\";\nimport { listenDevtoolsEagerly } from \"./devtools.js\";\nimport { getV2RuntimeFromDll } from \"../getV2RuntimeFromDll.js\";\n\nlet runtime: Runtime;\n\n// Allow inject bootstrap data in a runtime other than Brick Next.\nlet bootstrapData: BootstrapData | undefined;\nlet router: Router | undefined;\n\nexport interface RuntimeOptions {\n hooks?: RuntimeHooks;\n}\n\nexport interface ImagesFactory {\n get(name: string): string;\n}\n\nexport interface PageViewInfo {\n status: \"ok\" | \"failed\" | \"redirected\" | \"not-found\";\n path?: string;\n pageTitle?: string;\n}\n\nexport interface RuntimeHooks {\n auth?: {\n getAuth(): object;\n isLoggedIn(): boolean;\n authenticate?(...args: unknown[]): unknown;\n logout?(...args: unknown[]): unknown;\n };\n fulfilStoryboard?: (storyboard: RuntimeStoryboard) => Promise<void>;\n validatePermissions?: typeof PermissionApi_validatePermissions;\n checkPermissions?: {\n checkPermissions(...actions: string[]): boolean;\n preCheckPermissions(storyboard: Storyboard): Promise<void> | undefined;\n preCheckPermissionsForBrickOrRoute(\n container: BrickConf | RouteConf,\n asyncComputeRealValue: (value: unknown) => Promise<unknown>\n ): Promise<void> | undefined;\n };\n checkInstalledApps?: {\n preCheckInstalledApps(\n storyboard: Storyboard,\n hasAppInBootstrap: (appId: string) => boolean\n ): void;\n waitForCheckingApps(appIds: string[]): Promise<void>;\n getCheckedApp(appId: string): AppForCheck | undefined;\n };\n flowApi?: {\n FLOW_API_PROVIDER: string;\n registerFlowApiProvider(): void;\n isFlowApiProvider(provider: string): boolean;\n getArgsOfFlowApi(\n provider: string,\n originalArgs: unknown[],\n method?: string\n ): Promise<unknown[]>;\n collectContract(contracts: Contract[] | undefined): void;\n collectWidgetContract(contracts: Contract[] | undefined): void;\n clearCollectWidgetContract(): void;\n };\n menu?: {\n getMenuById(menuId: string): unknown;\n fetchMenuById(\n menuId: string,\n runtimeContext: RuntimeContext,\n runtimeHelpers: RuntimeHooksMenuHelpers\n ): Promise<unknown>;\n };\n images?: {\n imagesFactory(\n appId: string,\n isBuildPush?: boolean,\n version?: string\n ): ImagesFactory;\n widgetImagesFactory(\n widgetId: string,\n widgetVersion?: string\n ): ImagesFactory;\n };\n messageDispatcher?: {\n subscribe(...args: unknown[]): Promise<unknown>;\n unsubscribe(...args: unknown[]): Promise<unknown>;\n onMessage(channel: string, listener: (data: unknown) => void): void;\n onClose(listener: () => void): void;\n reset(): void;\n };\n pageView?: {\n create(): (info: PageViewInfo) => void;\n };\n}\n\nexport interface RuntimeHooksMenuHelpers {\n getStoryboardByAppId(appId: string): Storyboard | undefined;\n resolveData(\n resolveConf: ResolveConf,\n runtimeContext: RuntimeContext\n ): Promise<unknown>;\n asyncComputeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n options?: { ignoreSymbols?: boolean; noInject?: boolean }\n ): Promise<unknown>;\n}\n\nexport let hooks: RuntimeHooks | undefined;\n\nexport function createRuntime(options?: RuntimeOptions) {\n if (runtime) {\n throw new Error(\"Cannot create multiple runtimes\");\n }\n listenDevtoolsEagerly();\n hooks = options?.hooks;\n initializeI18n(NS, locales);\n moment.locale(i18n.language);\n i18n.on(\"languageChanged\", () => {\n moment.locale(i18n.language);\n });\n createHistory();\n runtime = new Runtime();\n return runtime;\n}\n\nfunction getRuntimeV3() {\n return runtime;\n}\n\n// istanbul ignore next\nfunction getRuntimeV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function getRuntimeV2() {\n return new Proxy(v2Kit.getRuntime(), {\n get(...args) {\n const key = args[1];\n switch (key) {\n case \"getCurrentApp\":\n case \"getRecentApps\":\n case \"hasInstalledApp\":\n case \"getDesktops\":\n case \"getLaunchpadSettings\":\n case \"getLaunchpadSiteMap\":\n case \"toggleLaunchpadEffect\":\n case \"applyPageTitle\":\n case \"getNavConfig\":\n case \"getFeatureFlags\":\n case \"getMiscSettings\":\n case \"getBrandSettings\":\n return Reflect.get(...args);\n }\n },\n }) as unknown as Runtime;\n };\n }\n}\n\n// istanbul ignore next\nexport const getRuntime = getRuntimeV2Factory() || getRuntimeV3;\n\nexport class Runtime {\n #initialized = false;\n #bootstrapped = false;\n\n initialize(data: BootstrapData) {\n if (this.#initialized) {\n throw new Error(\"The runtime cannot be initialized more than once\");\n }\n this.#initialized = true;\n normalizeBootstrapData(data);\n bootstrapData = data;\n const { notification, dialog } = this.getPreseBricks();\n if (notification !== false) {\n loadNotificationService(\n notification ?? \"basic.show-notification\",\n this.loadBricks\n );\n }\n if (dialog !== false) {\n loadDialogService(dialog ?? \"basic.show-dialog\", this.loadBricks);\n }\n }\n\n async bootstrap(data?: BootstrapData) {\n if (data) {\n this.initialize(data);\n }\n if (this.#bootstrapped) {\n throw new Error(\"The runtime cannot be bootstrapped more than once\");\n }\n this.#bootstrapped = true;\n router = new Router(bootstrapData!.storyboards!);\n await router.bootstrap();\n }\n\n getRecentApps() {\n return router?.getRecentApps() ?? {};\n }\n\n getCurrentApp() {\n return router?.getRecentApps().currentApp;\n }\n\n hasInstalledApp(appId: string, matchVersion?: string): boolean {\n return hasInstalledApp(appId, matchVersion);\n }\n\n getFeatureFlags(): FeatureFlags {\n return {\n ...bootstrapData?.settings?.featureFlags,\n ...(\n router?.getRecentApps().currentApp?.config\n ?.settings as BootstrapSettings\n )?.featureFlags,\n \"migrate-to-brick-next-v3\": true,\n };\n }\n\n getMiscSettings() {\n return {\n ...bootstrapData?.settings?.misc,\n ...(\n router?.getRecentApps().currentApp?.config\n ?.settings as BootstrapSettings\n )?.misc,\n };\n }\n\n getBrandSettings(): Record<string, string> {\n return {\n base_title: \"DevOps 管理专家\",\n ...(bootstrapData?.settings?.brand as Record<string, string>),\n };\n }\n\n getLaunchpadSettings() {\n return {\n columns: 7,\n rows: 4,\n ...bootstrapData?.settings?.launchpad,\n };\n }\n\n getDesktops(): unknown[] {\n return bootstrapData?.desktops ?? [];\n }\n\n getLaunchpadSiteMap(): unknown[] {\n return bootstrapData?.siteSort ?? [];\n }\n\n toggleLaunchpadEffect(open: boolean): void {\n document.body.classList.toggle(\"launchpad-open\", open);\n }\n\n applyPageTitle(pageTitle: string): void {\n const baseTitle = this.getBrandSettings().base_title;\n document.title = pageTitle ? `${pageTitle} - ${baseTitle}` : baseTitle;\n }\n\n getNavConfig() {\n return router?.getNavConfig();\n }\n\n loadBricks(bricks: string[] | Set<string>) {\n return loadBricksImperatively(bricks, getBrickPackages());\n }\n\n getPreseBricks() {\n return (bootstrapData?.settings?.presetBricks ?? {}) as {\n notification?: string | false;\n dialog?: string | false;\n uiPatch?: boolean;\n };\n }\n}\n\nfunction normalizeBootstrapData(data: BootstrapData) {\n if (Array.isArray(data.storyboards)) {\n for (const { app } of data.storyboards) {\n if (app.locales) {\n // Prefix to avoid conflict between brick package's i18n namespace.\n const ns = `tmp/${app.id}`;\n // Support any languages in `app.locales`.\n Object.entries(app.locales).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, ns, resources);\n });\n // Use `app.name` as the fallback `app.localeName`.\n app.localeName = i18n.getFixedT(null, ns)(\"name\", app.name) as string;\n // Remove the temporary i18n resource bundles.\n Object.keys(app.locales).forEach((lang) => {\n i18n.removeResourceBundle(lang, ns);\n });\n } else {\n app.localeName = app.name;\n }\n }\n }\n if (isObject(data.settings)) {\n deepFreeze(data.settings);\n }\n if (data.brickPackages) {\n deepFreeze(data.brickPackages);\n }\n}\n\nexport function getBrickPackages() {\n return (\n bootstrapData?.brickPackages ??\n injectedBrickPackages ??\n (window.STANDALONE_BRICK_PACKAGES as BrickPackage[]) ??\n []\n );\n}\n\nexport function _internalApiGetRenderId(): string | undefined {\n return router?.getRenderId();\n}\n\nexport function _internalApiMatchStoryboard(\n pathname: string\n): RuntimeStoryboard | undefined {\n return matchStoryboard(bootstrapData?.storyboards ?? [], pathname);\n}\n\nexport function _internalApiGetRuntimeContext() {\n return router?.getRuntimeContext();\n}\n\nexport function _internalApiGetStoryboardInBootstrapData(appId: string) {\n return bootstrapData?.storyboards?.find(\n (storyboard) => storyboard.app.id === appId\n );\n}\n\nexport function _internalApiGetAppInBootstrapData(appId: string) {\n return _internalApiGetStoryboardInBootstrapData(appId)?.app;\n}\n\nexport let _test_only_setBootstrapData: (data: BootstrapData) => void;\n\n// istanbul ignore next\nif (process.env.NODE_ENV === \"test\") {\n _test_only_setBootstrapData = (data) => {\n bootstrapData = data as BootstrapData;\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Runtime.js","names":["i18n","initializeI18n","loadBricksImperatively","deepFreeze","isObject","moment","createHistory","matchStoryboard","Router","NS","locales","loadNotificationService","loadDialogService","injectedBrickPackages","hasInstalledApp","listenDevtoolsEagerly","getV2RuntimeFromDll","runtime","bootstrapData","router","hooks","createRuntime","options","Error","locale","language","on","Runtime","getRuntimeV3","getRuntimeV2Factory","v2Kit","getRuntimeV2","Proxy","getRuntime","get","key","arguments","length","undefined","Reflect","_initialized","WeakMap","_bootstrapped","constructor","_classPrivateFieldInitSpec","writable","value","initialize","data","_classPrivateFieldGet","_classPrivateFieldSet","normalizeBootstrapData","notification","dialog","getPreseBricks","loadBricks","bootstrap","_this","_asyncToGenerator","storyboards","getRecentApps","_router$getRecentApps","_router","getCurrentApp","_router2","currentApp","appId","matchVersion","getFeatureFlags","_bootstrapData","_router3","_objectSpread","settings","featureFlags","config","getMiscSettings","_bootstrapData2","_router4","misc","getBrandSettings","_bootstrapData3","base_title","brand","getLaunchpadSettings","_bootstrapData4","columns","rows","launchpad","getDesktops","_bootstrapData$deskto","_bootstrapData5","desktops","getLaunchpadSiteMap","_bootstrapData$siteSo","_bootstrapData6","siteSort","toggleLaunchpadEffect","open","document","body","classList","toggle","applyPageTitle","pageTitle","baseTitle","title","concat","getNavConfig","_router5","bricks","getBrickPackages","_bootstrapData$settin","_bootstrapData7","presetBricks","Array","isArray","_loop","app","ns","id","Object","entries","forEach","_ref","lang","resources","addResourceBundle","localeName","getFixedT","name","keys","removeResourceBundle","brickPackages","_ref2","_ref3","_bootstrapData$brickP","_bootstrapData8","window","STANDALONE_BRICK_PACKAGES","_internalApiGetRenderId","_router6","getRenderId","_internalApiMatchStoryboard","pathname","_bootstrapData$storyb","_bootstrapData9","_internalApiGetRuntimeContext","_router7","getRuntimeContext","_internalApiGetStoryboardInBootstrapData","_bootstrapData10","find","storyboard","_internalApiGetAppInBootstrapData","_internalApiGetStoryb","_test_only_setBootstrapData","process","env","NODE_ENV"],"sources":["../../../src/internal/Runtime.ts"],"sourcesContent":["import type {\n RuntimeStoryboard,\n BootstrapSettings,\n FeatureFlags,\n BootstrapData,\n Contract,\n Storyboard,\n BrickConf,\n RouteConf,\n ResolveConf,\n BrickPackage,\n} from \"@next-core/types\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { loadBricksImperatively } from \"@next-core/loader\";\nimport { deepFreeze, isObject } from \"@next-core/utils/general\";\nimport type { PermissionApi_validatePermissions } from \"@next-api-sdk/micro-app-sdk\";\nimport moment from \"moment\";\nimport \"moment/locale/zh-cn.js\";\nimport { createHistory } from \"../history.js\";\nimport { matchStoryboard } from \"./matchStoryboard.js\";\nimport { Router } from \"./Router.js\";\nimport { NS, locales } from \"./i18n.js\";\nimport { loadNotificationService } from \"../Notification.js\";\nimport { loadDialogService } from \"../Dialog.js\";\nimport { injectedBrickPackages } from \"./injected.js\";\nimport { type AppForCheck, hasInstalledApp } from \"./hasInstalledApp.js\";\nimport type { RuntimeContext } from \"./interfaces.js\";\nimport { listenDevtoolsEagerly } from \"./devtools.js\";\nimport { getV2RuntimeFromDll } from \"../getV2RuntimeFromDll.js\";\n\nlet runtime: Runtime;\n\n// Allow inject bootstrap data in a runtime other than Brick Next.\nlet bootstrapData: BootstrapData | undefined;\nlet router: Router | undefined;\n\nexport interface RuntimeOptions {\n hooks?: RuntimeHooks;\n}\n\nexport interface ImagesFactory {\n get(name: string): string;\n}\n\nexport interface PageViewInfo {\n status: \"ok\" | \"failed\" | \"redirected\" | \"not-found\";\n path?: string;\n pageTitle?: string;\n}\n\nexport interface RuntimeHooks {\n auth?: {\n getAuth(): object;\n isLoggedIn(): boolean;\n authenticate?(...args: unknown[]): unknown;\n logout?(...args: unknown[]): unknown;\n };\n fulfilStoryboard?: (storyboard: RuntimeStoryboard) => Promise<void>;\n validatePermissions?: typeof PermissionApi_validatePermissions;\n checkPermissions?: {\n checkPermissions(...actions: string[]): boolean;\n preCheckPermissions(storyboard: Storyboard): Promise<void> | undefined;\n preCheckPermissionsForBrickOrRoute(\n container: BrickConf | RouteConf,\n asyncComputeRealValue: (value: unknown) => Promise<unknown>\n ): Promise<void> | undefined;\n };\n checkInstalledApps?: {\n preCheckInstalledApps(\n storyboard: Storyboard,\n hasAppInBootstrap: (appId: string) => boolean\n ): void;\n waitForCheckingApps(appIds: string[]): Promise<void>;\n getCheckedApp(appId: string): AppForCheck | undefined;\n };\n flowApi?: {\n FLOW_API_PROVIDER: string;\n registerFlowApiProvider(): void;\n isFlowApiProvider(provider: string): boolean;\n getArgsOfFlowApi(\n provider: string,\n originalArgs: unknown[],\n method?: string\n ): Promise<unknown[]>;\n collectContract(contracts: Contract[] | undefined): void;\n collectWidgetContract(contracts: Contract[] | undefined): void;\n clearCollectWidgetContract(): void;\n };\n menu?: {\n getMenuById(menuId: string): unknown;\n fetchMenuById(\n menuId: string,\n runtimeContext: RuntimeContext,\n runtimeHelpers: RuntimeHooksMenuHelpers\n ): Promise<unknown>;\n };\n images?: {\n imagesFactory(\n appId: string,\n isBuildPush?: boolean,\n version?: string\n ): ImagesFactory;\n widgetImagesFactory(\n widgetId: string,\n widgetVersion?: string\n ): ImagesFactory;\n };\n messageDispatcher?: {\n subscribe(...args: unknown[]): Promise<unknown>;\n unsubscribe(...args: unknown[]): Promise<unknown>;\n onMessage(channel: string, listener: (data: unknown) => void): void;\n onClose(listener: () => void): void;\n reset(): void;\n };\n pageView?: {\n create(): (info: PageViewInfo) => void;\n };\n}\n\nexport interface RuntimeHooksMenuHelpers {\n getStoryboardByAppId(appId: string): Storyboard | undefined;\n resolveData(\n resolveConf: ResolveConf,\n runtimeContext: RuntimeContext\n ): Promise<unknown>;\n asyncComputeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n options?: { ignoreSymbols?: boolean; noInject?: boolean }\n ): Promise<unknown>;\n}\n\nexport let hooks: RuntimeHooks | undefined;\n\nexport function createRuntime(options?: RuntimeOptions) {\n if (runtime) {\n throw new Error(\"Cannot create multiple runtimes\");\n }\n listenDevtoolsEagerly();\n hooks = options?.hooks;\n initializeI18n(NS, locales);\n moment.locale(i18n.language);\n i18n.on(\"languageChanged\", () => {\n moment.locale(i18n.language);\n });\n createHistory();\n runtime = new Runtime();\n return runtime;\n}\n\nfunction getRuntimeV3() {\n return runtime;\n}\n\n// istanbul ignore next\nfunction getRuntimeV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function getRuntimeV2() {\n return new Proxy(v2Kit.getRuntime(), {\n get(...args) {\n const key = args[1];\n switch (key) {\n case \"getCurrentApp\":\n case \"getRecentApps\":\n case \"hasInstalledApp\":\n case \"getDesktops\":\n case \"getLaunchpadSettings\":\n case \"getLaunchpadSiteMap\":\n case \"toggleLaunchpadEffect\":\n case \"applyPageTitle\":\n case \"getNavConfig\":\n case \"getFeatureFlags\":\n case \"getMiscSettings\":\n case \"getBrandSettings\":\n return Reflect.get(...args);\n }\n },\n }) as unknown as Runtime;\n };\n }\n}\n\n// istanbul ignore next\nexport const getRuntime = getRuntimeV2Factory() || getRuntimeV3;\n\nexport class Runtime {\n #initialized = false;\n #bootstrapped = false;\n\n initialize(data: BootstrapData) {\n if (this.#initialized) {\n throw new Error(\"The runtime cannot be initialized more than once\");\n }\n this.#initialized = true;\n normalizeBootstrapData(data);\n bootstrapData = data;\n const { notification, dialog } = this.getPreseBricks();\n if (notification !== false) {\n loadNotificationService(\n notification ?? \"basic.show-notification\",\n this.loadBricks\n );\n }\n if (dialog !== false) {\n loadDialogService(dialog ?? \"basic.show-dialog\", this.loadBricks);\n }\n }\n\n async bootstrap(data?: BootstrapData) {\n if (data) {\n this.initialize(data);\n }\n if (this.#bootstrapped) {\n throw new Error(\"The runtime cannot be bootstrapped more than once\");\n }\n this.#bootstrapped = true;\n router = new Router(bootstrapData!.storyboards!);\n await router.bootstrap();\n }\n\n getRecentApps() {\n return router?.getRecentApps() ?? {};\n }\n\n getCurrentApp() {\n return router?.getRecentApps().currentApp;\n }\n\n hasInstalledApp(appId: string, matchVersion?: string): boolean {\n return hasInstalledApp(appId, matchVersion);\n }\n\n getFeatureFlags(): FeatureFlags {\n return {\n ...bootstrapData?.settings?.featureFlags,\n ...(\n router?.getRecentApps().currentApp?.config\n ?.settings as BootstrapSettings\n )?.featureFlags,\n \"migrate-to-brick-next-v3\": true,\n };\n }\n\n getMiscSettings() {\n return {\n ...bootstrapData?.settings?.misc,\n ...(\n router?.getRecentApps().currentApp?.config\n ?.settings as BootstrapSettings\n )?.misc,\n };\n }\n\n getBrandSettings(): Record<string, string> {\n return {\n base_title: \"DevOps 管理专家\",\n ...(bootstrapData?.settings?.brand as Record<string, string>),\n };\n }\n\n getLaunchpadSettings() {\n return {\n columns: 7,\n rows: 4,\n ...bootstrapData?.settings?.launchpad,\n };\n }\n\n getDesktops(): unknown[] {\n return bootstrapData?.desktops ?? [];\n }\n\n getLaunchpadSiteMap(): unknown[] {\n return bootstrapData?.siteSort ?? [];\n }\n\n toggleLaunchpadEffect(open: boolean): void {\n document.body.classList.toggle(\"launchpad-open\", open);\n }\n\n applyPageTitle(pageTitle: string): void {\n const baseTitle = this.getBrandSettings().base_title;\n document.title = pageTitle ? `${pageTitle} - ${baseTitle}` : baseTitle;\n }\n\n getNavConfig() {\n return router?.getNavConfig();\n }\n\n loadBricks(bricks: string[] | Set<string>) {\n return loadBricksImperatively(bricks, getBrickPackages());\n }\n\n getPreseBricks() {\n return (bootstrapData?.settings?.presetBricks ?? {}) as {\n notification?: string | false;\n dialog?: string | false;\n };\n }\n}\n\nfunction normalizeBootstrapData(data: BootstrapData) {\n if (Array.isArray(data.storyboards)) {\n for (const { app } of data.storyboards) {\n if (app.locales) {\n // Prefix to avoid conflict between brick package's i18n namespace.\n const ns = `tmp/${app.id}`;\n // Support any languages in `app.locales`.\n Object.entries(app.locales).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, ns, resources);\n });\n // Use `app.name` as the fallback `app.localeName`.\n app.localeName = i18n.getFixedT(null, ns)(\"name\", app.name) as string;\n // Remove the temporary i18n resource bundles.\n Object.keys(app.locales).forEach((lang) => {\n i18n.removeResourceBundle(lang, ns);\n });\n } else {\n app.localeName = app.name;\n }\n }\n }\n if (isObject(data.settings)) {\n deepFreeze(data.settings);\n }\n if (data.brickPackages) {\n deepFreeze(data.brickPackages);\n }\n}\n\nexport function getBrickPackages() {\n return (\n bootstrapData?.brickPackages ??\n injectedBrickPackages ??\n (window.STANDALONE_BRICK_PACKAGES as BrickPackage[]) ??\n []\n );\n}\n\nexport function _internalApiGetRenderId(): string | undefined {\n return router?.getRenderId();\n}\n\nexport function _internalApiMatchStoryboard(\n pathname: string\n): RuntimeStoryboard | undefined {\n return matchStoryboard(bootstrapData?.storyboards ?? [], pathname);\n}\n\nexport function _internalApiGetRuntimeContext() {\n return router?.getRuntimeContext();\n}\n\nexport function _internalApiGetStoryboardInBootstrapData(appId: string) {\n return bootstrapData?.storyboards?.find(\n (storyboard) => storyboard.app.id === appId\n );\n}\n\nexport function _internalApiGetAppInBootstrapData(appId: string) {\n return _internalApiGetStoryboardInBootstrapData(appId)?.app;\n}\n\nexport let _test_only_setBootstrapData: (data: BootstrapData) => void;\n\n// istanbul ignore next\nif (process.env.NODE_ENV === \"test\") {\n _test_only_setBootstrapData = (data) => {\n bootstrapData = data as BootstrapData;\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export function setLoginStateCookie(location) {
2
+ // 独立打包应用 登录时间超时后还是由前端控制跳转,后台无法处理设置登录前的 path 和 query 的 cookie 值
3
+ // 此这场景下前端做下处理
4
+
5
+ var {
6
+ search,
7
+ pathname
8
+ } = location;
9
+ var pathValue = pathname ? window.btoa(encodeURIComponent(pathname)) : "";
10
+ var searchValue = search ? window.btoa(encodeURIComponent(search)) : "";
11
+ document.cookie = "SALOGINPATH=".concat(pathValue, "; path=/");
12
+ document.cookie = "SALOGINQUERY=".concat(searchValue, "; path=/");
13
+ }
14
+ //# sourceMappingURL=setLoginStateCookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setLoginStateCookie.js","names":["setLoginStateCookie","location","search","pathname","pathValue","window","btoa","encodeURIComponent","searchValue","document","cookie","concat"],"sources":["../../src/setLoginStateCookie.ts"],"sourcesContent":["import { NextLocation } from \"./history.js\";\n\nexport function setLoginStateCookie(location: NextLocation): void {\n // 独立打包应用 登录时间超时后还是由前端控制跳转,后台无法处理设置登录前的 path 和 query 的 cookie 值\n // 此这场景下前端做下处理\n\n const { search, pathname } = location;\n\n const pathValue = pathname ? window.btoa(encodeURIComponent(pathname)) : \"\";\n\n const searchValue = search ? window.btoa(encodeURIComponent(search)) : \"\";\n\n document.cookie = `SALOGINPATH=${pathValue}; path=/`;\n document.cookie = `SALOGINQUERY=${searchValue}; path=/`;\n}\n"],"mappings":"AAEA,OAAO,SAASA,mBAAmBA,CAACC,QAAsB,EAAQ;EAChE;EACA;;EAEA,IAAM;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAAGF,QAAQ;EAErC,IAAMG,SAAS,GAAGD,QAAQ,GAAGE,MAAM,CAACC,IAAI,CAACC,kBAAkB,CAACJ,QAAQ,CAAC,CAAC,GAAG,EAAE;EAE3E,IAAMK,WAAW,GAAGN,MAAM,GAAGG,MAAM,CAACC,IAAI,CAACC,kBAAkB,CAACL,MAAM,CAAC,CAAC,GAAG,EAAE;EAEzEO,QAAQ,CAACC,MAAM,kBAAAC,MAAA,CAAkBP,SAAS,aAAU;EACpDK,QAAQ,CAACC,MAAM,mBAAAC,MAAA,CAAmBH,WAAW,aAAU;AACzD"}
@@ -0,0 +1,17 @@
1
+ export function setUIClassName() {
2
+ var version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "8";
3
+ var lastVersion = "";
4
+ document.body.classList.forEach(item => {
5
+ if (item.startsWith("ui")) {
6
+ lastVersion = item;
7
+ }
8
+ });
9
+ if (lastVersion) {
10
+ document.body.classList.remove(lastVersion);
11
+ }
12
+ var getUIClassName = version => {
13
+ return "ui-v".concat(version.split(".").join("-"));
14
+ };
15
+ document.body.classList.add(getUIClassName(version));
16
+ }
17
+ //# sourceMappingURL=setUIClassName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setUIClassName.js","names":["setUIClassName","version","arguments","length","undefined","lastVersion","document","body","classList","forEach","item","startsWith","remove","getUIClassName","concat","split","join","add"],"sources":["../../src/setUIClassName.ts"],"sourcesContent":["export function setUIClassName(version = \"8\") {\n let lastVersion = \"\";\n document.body.classList.forEach((item) => {\n if (item.startsWith(\"ui\")) {\n lastVersion = item;\n }\n });\n\n if (lastVersion) {\n document.body.classList.remove(lastVersion);\n }\n\n const getUIClassName = (version: string): string => {\n return `ui-v${version.split(\".\").join(\"-\")}`;\n };\n\n document.body.classList.add(getUIClassName(version));\n}\n"],"mappings":"AAAA,OAAO,SAASA,cAAcA,CAAA,EAAgB;EAAA,IAAfC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAC1C,IAAIG,WAAW,GAAG,EAAE;EACpBC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,OAAO,CAAEC,IAAI,IAAK;IACxC,IAAIA,IAAI,CAACC,UAAU,CAAC,IAAI,CAAC,EAAE;MACzBN,WAAW,GAAGK,IAAI;IACpB;EACF,CAAC,CAAC;EAEF,IAAIL,WAAW,EAAE;IACfC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACI,MAAM,CAACP,WAAW,CAAC;EAC7C;EAEA,IAAMQ,cAAc,GAAIZ,OAAe,IAAa;IAClD,cAAAa,MAAA,CAAcb,OAAO,CAACc,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAC5C,CAAC;EAEDV,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACS,GAAG,CAACJ,cAAc,CAACZ,OAAO,CAAC,CAAC;AACtD"}
@@ -99,7 +99,6 @@ export declare class Runtime {
99
99
  getPreseBricks(): {
100
100
  notification?: string | false | undefined;
101
101
  dialog?: string | false | undefined;
102
- uiPatch?: boolean | undefined;
103
102
  };
104
103
  }
105
104
  export declare function getBrickPackages(): BrickPackage[];
@@ -0,0 +1,2 @@
1
+ import { NextLocation } from "./history.js";
2
+ export declare function setLoginStateCookie(location: NextLocation): void;
@@ -0,0 +1 @@
1
+ export declare function setUIClassName(version?: string): void;
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.34.8"
8
+ "packageVersion": "7.38.0"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/runtime",
3
- "version": "1.23.0",
3
+ "version": "1.24.0",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -43,14 +43,14 @@
43
43
  "test:ci": "cross-env NODE_ENV='test' CI=true test-next"
44
44
  },
45
45
  "dependencies": {
46
- "@next-core/cook": "^2.2.6",
47
- "@next-core/http": "^1.1.4",
48
- "@next-core/i18n": "^1.0.27",
49
- "@next-core/inject": "^1.0.20",
50
- "@next-core/loader": "^1.4.3",
51
- "@next-core/supply": "^2.1.5",
52
- "@next-core/types": "^1.7.0",
53
- "@next-core/utils": "^1.6.1",
46
+ "@next-core/cook": "^2.2.7",
47
+ "@next-core/http": "^1.1.5",
48
+ "@next-core/i18n": "^1.0.28",
49
+ "@next-core/inject": "^1.0.21",
50
+ "@next-core/loader": "^1.4.4",
51
+ "@next-core/supply": "^2.1.6",
52
+ "@next-core/types": "^1.7.1",
53
+ "@next-core/utils": "^1.6.2",
54
54
  "@ungap/event-target": "^0.2.4",
55
55
  "compare-versions": "^6.1.0",
56
56
  "history": "^4.10.1",
@@ -59,11 +59,11 @@
59
59
  "path-to-regexp": "^6.2.1"
60
60
  },
61
61
  "devDependencies": {
62
- "@microsoft/api-extractor": "^7.34.8",
62
+ "@microsoft/api-extractor": "^7.38.0",
63
63
  "@next-api-sdk/api-gateway-sdk": "^1.1.0",
64
64
  "@next-api-sdk/micro-app-sdk": "^1.2.1",
65
- "@next-core/build-next-libs": "^1.0.7",
66
- "@next-core/test-next": "^1.0.10"
65
+ "@next-core/build-next-libs": "^1.0.8",
66
+ "@next-core/test-next": "^1.0.11"
67
67
  },
68
- "gitHead": "b27d10eff16cd914f90b6972641dbc91d6572651"
68
+ "gitHead": "0cf0083bfde5b06e3aa4a8ef6af809de6eb9450a"
69
69
  }
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.loadUIPatch = loadUIPatch;
7
- var _Runtime = require("./internal/Runtime.js");
8
- var _loader = require("@next-core/loader");
9
- const UI_ADAPTER_LOAD_CSS_FROM_UI_VERSION = "basic.apply-ui-version";
10
- async function loadUIPatch(version, isAllowUIPatch = true) {
11
- if (isAllowUIPatch) {
12
- try {
13
- await (0, _loader.loadBricksImperatively)([UI_ADAPTER_LOAD_CSS_FROM_UI_VERSION], (0, _Runtime.getBrickPackages)());
14
- const element = document.createElement(UI_ADAPTER_LOAD_CSS_FROM_UI_VERSION);
15
- return element.resolve(version);
16
- } catch (error) {
17
- // eslint-disable-next-line no-console
18
- console.warn("Load ui-adapter failed:", error);
19
- }
20
- }
21
- }
22
- //# sourceMappingURL=UIPatch.js.map