@next-core/runtime 1.58.3 → 1.59.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 (84) hide show
  1. package/dist/cjs/CustomTemplates.js +7 -11
  2. package/dist/cjs/CustomTemplates.js.map +1 -1
  3. package/dist/cjs/ModalStack.js +1 -2
  4. package/dist/cjs/ModalStack.js.map +1 -1
  5. package/dist/cjs/StoryboardFunctionRegistry.js +1 -2
  6. package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -1
  7. package/dist/cjs/createRoot.js +4 -4
  8. package/dist/cjs/createRoot.js.map +1 -1
  9. package/dist/cjs/index.js +24 -0
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js +4 -5
  12. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  13. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +4 -7
  14. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  15. package/dist/cjs/internal/CustomTemplates/replaceSlotWithSlottedBricks.js +4 -5
  16. package/dist/cjs/internal/CustomTemplates/replaceSlotWithSlottedBricks.js.map +1 -1
  17. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js +18 -21
  18. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  19. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js +4 -7
  20. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  21. package/dist/cjs/internal/CustomTemplates/utils.js +3 -3
  22. package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -1
  23. package/dist/cjs/internal/ErrorNode.js +11 -8
  24. package/dist/cjs/internal/ErrorNode.js.map +1 -1
  25. package/dist/cjs/internal/FormRenderer/expandFormRenderer.js +3 -3
  26. package/dist/cjs/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  27. package/dist/cjs/internal/FormRenderer/utils.js +2 -2
  28. package/dist/cjs/internal/FormRenderer/utils.js.map +1 -1
  29. package/dist/cjs/internal/Renderer.js +13 -18
  30. package/dist/cjs/internal/Renderer.js.map +1 -1
  31. package/dist/cjs/internal/RendererContext.js +8 -10
  32. package/dist/cjs/internal/RendererContext.js.map +1 -1
  33. package/dist/cjs/internal/Router.js +13 -6
  34. package/dist/cjs/internal/Router.js.map +1 -1
  35. package/dist/cjs/internal/Runtime.js +16 -15
  36. package/dist/cjs/internal/Runtime.js.map +1 -1
  37. package/dist/cjs/internal/bindListeners.js +2 -3
  38. package/dist/cjs/internal/bindListeners.js.map +1 -1
  39. package/dist/cjs/internal/compute/evaluate.js +4 -4
  40. package/dist/cjs/internal/compute/evaluate.js.map +1 -1
  41. package/dist/cjs/internal/compute/getStorageItem.js +1 -2
  42. package/dist/cjs/internal/compute/getStorageItem.js.map +1 -1
  43. package/dist/cjs/internal/compute/listenOnTrackingContext.js +1 -2
  44. package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -1
  45. package/dist/cjs/internal/data/resolveDataStore.js +2 -4
  46. package/dist/cjs/internal/data/resolveDataStore.js.map +1 -1
  47. package/dist/cjs/internal/i18n.js +3 -0
  48. package/dist/cjs/internal/i18n.js.map +1 -1
  49. package/dist/cjs/internal/matchStoryboard.js +2 -2
  50. package/dist/cjs/internal/matchStoryboard.js.map +1 -1
  51. package/dist/cjs/internal/poll.js +3 -3
  52. package/dist/cjs/internal/poll.js.map +1 -1
  53. package/dist/cjs/internal/secret_internals.js +6 -7
  54. package/dist/cjs/internal/secret_internals.js.map +1 -1
  55. package/dist/cjs/internal/setupRootRuntimeContext.js +2 -3
  56. package/dist/cjs/internal/setupRootRuntimeContext.js.map +1 -1
  57. package/dist/cjs/isNetworkError.js +12 -0
  58. package/dist/cjs/isNetworkError.js.map +1 -0
  59. package/dist/cjs/setWatermark.js +4 -4
  60. package/dist/cjs/setWatermark.js.map +1 -1
  61. package/dist/cjs/shouldReloadForError.js +25 -0
  62. package/dist/cjs/shouldReloadForError.js.map +1 -0
  63. package/dist/cjs/themeAndMode.js +1 -2
  64. package/dist/cjs/themeAndMode.js.map +1 -1
  65. package/dist/esm/index.js +2 -0
  66. package/dist/esm/index.js.map +1 -1
  67. package/dist/esm/internal/ErrorNode.js +8 -4
  68. package/dist/esm/internal/ErrorNode.js.map +1 -1
  69. package/dist/esm/internal/Router.js +14 -7
  70. package/dist/esm/internal/Router.js.map +1 -1
  71. package/dist/esm/internal/Runtime.js.map +1 -1
  72. package/dist/esm/internal/i18n.js +3 -0
  73. package/dist/esm/internal/i18n.js.map +1 -1
  74. package/dist/esm/isNetworkError.js +6 -0
  75. package/dist/esm/isNetworkError.js.map +1 -0
  76. package/dist/esm/shouldReloadForError.js +19 -0
  77. package/dist/esm/shouldReloadForError.js.map +1 -0
  78. package/dist/types/index.d.ts +2 -0
  79. package/dist/types/internal/ErrorNode.d.ts +2 -2
  80. package/dist/types/internal/Runtime.d.ts +2 -1
  81. package/dist/types/internal/i18n.d.ts +1 -0
  82. package/dist/types/isNetworkError.d.ts +1 -0
  83. package/dist/types/shouldReloadForError.d.ts +2 -0
  84. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"secret_internals.js","names":["_lodash","require","_Runtime","_Renderer","_RendererContext","_resolveData","_computeRealValue","_mount","_enums","_isStrictMode","_CustomTemplates","_registerAppI18n","_utils","_loader","_routeMatchedMap","_realTimeDataInspect","symbolForRootRuntimeContext","exports","Symbol","for","renderUseBrick","useBrick","data","errorBoundary","_useBrick$symbolForRo","_scopedRuntimeContext","_scopedRuntimeContext2","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","createScopedRuntimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","inUseBrick","tplStateStoreMap","Map","formStateStoreMap","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","strict","isStrictMode","output","renderBrick","scopedStores","postAsyncRender","node","PLACEHOLDER","tracking","Error","undefined","portal","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","computeRealValue","noInject","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","meta","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","matched","matchRoute","route","path","exact","replaceRoutes","routes","forEach","index","Array","isArray","bricks","replaceBricks","brick","slots","slotConf","values","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","customTemplates","define","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","pick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","tplStateStoreId","runtimeContext","tplStateStore","getTplStateStore","getValue","ctxStore","getAllContextValues","getAllValues","getBrickPackagesById","id","getBrickPackages","find","pkg","filePath","startsWith","loadBricks","loadBricksImperatively","loadEditors","editors","brickPackages","loadEditorsImperatively","getRenderId","_internalApiGetRenderId","getAddedContracts","updateStoryboardType","collectUsedContracts","updatedStoryboard","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","api","_storyboard$meta","_","namespaceId","match","contracts","some","contract","push","debugDataValue","debugData","routeId","getMatchedRoute","resolve","resolveData","cache","asyncComputeRealValue","value","getLegalRuntimeValue","_runtimeContext$overr","app","overrideApp","location"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n BrickPackage,\n RouteConfOfBricks,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\n DebugDataValue,\n RuntimeDataVale,\n RuntimeDataValueOption,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport {\n loadBricksImperatively,\n loadEditorsImperatively,\n} from \"@next-core/loader\";\nimport { getMatchedRoute } from \"./routeMatchedMap.js\";\n\nexport type { DataValueOption, RuntimeContext };\n\nexport const symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\n\nexport interface RuntimeUseBrickConfWithRootSymbols extends UseSingleBrickConf {\n [symbolForRootRuntimeContext]?: RuntimeContext;\n}\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: RuntimeUseBrickConfWithRootSymbols,\n data: unknown,\n errorBoundary?: boolean\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ...(useBrick[symbolForRootRuntimeContext] ??\n _internalApiGetRuntimeContext()!),\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.inUseBrick = true;\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const strict = isStrictMode();\n\n const output = await renderBrick(\n renderRoot,\n strict && !errorBoundary\n ? useBrick\n : {\n errorBoundary,\n ...useBrick,\n },\n scopedRuntimeContext,\n rendererContext,\n [],\n {}\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n if (output.node.tracking) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored tracking control node\"\n );\n }\n output.node = undefined;\n }\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n meta: {\n // Keep runtime fields such as `injectMenus`\n ...storyboard.meta,\n ...storyboardPatch.meta,\n },\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let matched = false;\n\n function matchRoute(route: RouteConf) {\n return route.path === newRoute.path && !route.exact === !newRoute.exact;\n }\n\n function replaceRoutes(routes: RouteConf[]) {\n routes.forEach((route, index) => {\n if (route.type === \"routes\") {\n replaceRoutes(route.routes);\n } else {\n if (matchRoute(route)) {\n matched = true;\n routes[index] = newRoute;\n } else if (Array.isArray((route as RouteConfOfBricks).bricks)) {\n replaceBricks((route as RouteConfOfBricks).bricks);\n }\n }\n });\n }\n\n function replaceBricks(bricks: BrickConf[]) {\n bricks.forEach((brick) => {\n if (brick.slots) {\n for (const slotConf of Object.values(brick.slots)) {\n if (slotConf.type === \"routes\") {\n replaceRoutes(slotConf.routes);\n } else {\n replaceBricks(slotConf.bricks);\n }\n }\n }\n });\n }\n\n replaceRoutes(storyboard.routes);\n\n if (!matched) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(`${id}/`)\n );\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks: string[]) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\n/**\n * Try the brick packages passed in, before using from bootstrap.\n */\nexport function loadEditors(\n editors: string[] | Set<string>,\n brickPackages?: BrickPackage[]\n) {\n return loadEditorsImperatively(editors, brickPackages ?? getBrickPackages());\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n\nexport async function debugDataValue(\n debugData: DebugDataValue,\n { tplStateStoreId, routeId }: DataValueOption\n): Promise<any> {\n const runtimeContext = {\n ..._internalApiGetRuntimeContext()!,\n tplStateStoreId,\n match: getMatchedRoute(routeId as string),\n };\n\n if (debugData.resolve) {\n return resolveData(debugData.resolve!, runtimeContext, { cache: \"reload\" });\n }\n\n return asyncComputeRealValue(debugData.value, runtimeContext);\n}\n\nexport function getLegalRuntimeValue(\n options?: RuntimeDataValueOption\n): RuntimeDataVale {\n const runtimeContext = _internalApiGetRuntimeContext();\n\n return {\n app: runtimeContext?.overrideApp ?? runtimeContext?.app,\n location: pick(location, [\"href\", \"origin\", \"hostname\", \"host\"]),\n ...pick(runtimeContext, [\"query\", \"sys\"]),\n match: getMatchedRoute(options?.routeId as string),\n } as RuntimeDataVale;\n}\n\nexport {\n setRealTimeDataInspectRoot,\n addRealTimeDataInspectHook,\n} from \"./data/realTimeDataInspect.js\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"secret_internals.js","names":["_lodash","require","_Runtime","_Renderer","_RendererContext","_resolveData","_computeRealValue","_mount","_enums","_isStrictMode","_CustomTemplates","_registerAppI18n","_utils","_loader","_routeMatchedMap","_realTimeDataInspect","symbolForRootRuntimeContext","exports","Symbol","for","renderUseBrick","useBrick","data","errorBoundary","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","createScopedRuntimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","inUseBrick","tplStateStoreMap","Map","formStateStoreMap","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","strict","isStrictMode","output","renderBrick","scopedStores","postAsyncRender","node","PLACEHOLDER","tracking","Error","undefined","portal","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","computeRealValue","noInject","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","meta","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","matched","matchRoute","route","path","exact","replaceRoutes","routes","forEach","index","Array","isArray","bricks","replaceBricks","brick","slots","slotConf","values","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","customTemplates","define","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","pick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","tplStateStoreId","runtimeContext","tplStateStore","getTplStateStore","getValue","ctxStore","getAllContextValues","getAllValues","getBrickPackagesById","id","getBrickPackages","find","pkg","filePath","startsWith","loadBricks","loadBricksImperatively","loadEditors","editors","brickPackages","loadEditorsImperatively","getRenderId","_internalApiGetRenderId","getAddedContracts","updateStoryboardType","collectUsedContracts","updatedStoryboard","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","api","_storyboard$meta","_","namespaceId","match","contracts","some","contract","push","debugDataValue","debugData","routeId","getMatchedRoute","resolve","resolveData","cache","asyncComputeRealValue","value","getLegalRuntimeValue","app","overrideApp","location"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n BrickPackage,\n RouteConfOfBricks,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\n DebugDataValue,\n RuntimeDataVale,\n RuntimeDataValueOption,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport {\n loadBricksImperatively,\n loadEditorsImperatively,\n} from \"@next-core/loader\";\nimport { getMatchedRoute } from \"./routeMatchedMap.js\";\n\nexport type { DataValueOption, RuntimeContext };\n\nexport const symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\n\nexport interface RuntimeUseBrickConfWithRootSymbols extends UseSingleBrickConf {\n [symbolForRootRuntimeContext]?: RuntimeContext;\n}\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: RuntimeUseBrickConfWithRootSymbols,\n data: unknown,\n errorBoundary?: boolean\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ...(useBrick[symbolForRootRuntimeContext] ??\n _internalApiGetRuntimeContext()!),\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.inUseBrick = true;\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const strict = isStrictMode();\n\n const output = await renderBrick(\n renderRoot,\n strict && !errorBoundary\n ? useBrick\n : {\n errorBoundary,\n ...useBrick,\n },\n scopedRuntimeContext,\n rendererContext,\n [],\n {}\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n if (output.node.tracking) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored tracking control node\"\n );\n }\n output.node = undefined;\n }\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n meta: {\n // Keep runtime fields such as `injectMenus`\n ...storyboard.meta,\n ...storyboardPatch.meta,\n },\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let matched = false;\n\n function matchRoute(route: RouteConf) {\n return route.path === newRoute.path && !route.exact === !newRoute.exact;\n }\n\n function replaceRoutes(routes: RouteConf[]) {\n routes.forEach((route, index) => {\n if (route.type === \"routes\") {\n replaceRoutes(route.routes);\n } else {\n if (matchRoute(route)) {\n matched = true;\n routes[index] = newRoute;\n } else if (Array.isArray((route as RouteConfOfBricks).bricks)) {\n replaceBricks((route as RouteConfOfBricks).bricks);\n }\n }\n });\n }\n\n function replaceBricks(bricks: BrickConf[]) {\n bricks.forEach((brick) => {\n if (brick.slots) {\n for (const slotConf of Object.values(brick.slots)) {\n if (slotConf.type === \"routes\") {\n replaceRoutes(slotConf.routes);\n } else {\n replaceBricks(slotConf.bricks);\n }\n }\n }\n });\n }\n\n replaceRoutes(storyboard.routes);\n\n if (!matched) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(`${id}/`)\n );\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks: string[]) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\n/**\n * Try the brick packages passed in, before using from bootstrap.\n */\nexport function loadEditors(\n editors: string[] | Set<string>,\n brickPackages?: BrickPackage[]\n) {\n return loadEditorsImperatively(editors, brickPackages ?? getBrickPackages());\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n\nexport async function debugDataValue(\n debugData: DebugDataValue,\n { tplStateStoreId, routeId }: DataValueOption\n): Promise<any> {\n const runtimeContext = {\n ..._internalApiGetRuntimeContext()!,\n tplStateStoreId,\n match: getMatchedRoute(routeId as string),\n };\n\n if (debugData.resolve) {\n return resolveData(debugData.resolve!, runtimeContext, { cache: \"reload\" });\n }\n\n return asyncComputeRealValue(debugData.value, runtimeContext);\n}\n\nexport function getLegalRuntimeValue(\n options?: RuntimeDataValueOption\n): RuntimeDataVale {\n const runtimeContext = _internalApiGetRuntimeContext();\n\n return {\n app: runtimeContext?.overrideApp ?? runtimeContext?.app,\n location: pick(location, [\"href\", \"origin\", \"hostname\", \"host\"]),\n ...pick(runtimeContext, [\"query\", \"sys\"]),\n match: getMatchedRoute(options?.routeId as string),\n } as RuntimeDataVale;\n}\n\nexport {\n setRealTimeDataInspectRoot,\n addRealTimeDataInspectHook,\n} from \"./data/realTimeDataInspect.js\";\n"],"mappings":"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","ignoreList":[]}
@@ -39,9 +39,8 @@ function setupRootRuntimeContext(bricks, runtimeContext, shallow) {
39
39
  return;
40
40
  }
41
41
  const transpiledSlots = (0, _Renderer.childrenToSlots)(brick.children, brick.slots);
42
- for (const slotConf of Object.values(transpiledSlots !== null && transpiledSlots !== void 0 ? transpiledSlots : {})) {
43
- for (const brick of (_slotConf$bricks = slotConf.bricks) !== null && _slotConf$bricks !== void 0 ? _slotConf$bricks : []) {
44
- var _slotConf$bricks;
42
+ for (const slotConf of Object.values(transpiledSlots ?? {})) {
43
+ for (const brick of slotConf.bricks ?? []) {
45
44
  setupBrick(brick, inUseBrick);
46
45
  }
47
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setupRootRuntimeContext.js","names":["_general","require","_secret_internals","_Renderer","setupRootRuntimeContext","bricks","runtimeContext","shallow","walk","props","isObject","Array","isArray","map","key","value","Object","entries","forEach","v","setupBrick","brick","inUseBrick","forceRecursive","symbolForRootRuntimeContext","properties","transpiledSlots","childrenToSlots","children","slots","slotConf","values","_slotConf$bricks"],"sources":["../../../src/internal/setupRootRuntimeContext.ts"],"sourcesContent":["import { isObject } from \"@next-core/utils/general\";\nimport type {\n BrickConf,\n UseBrickSlotsConf,\n UseSingleBrickConf,\n} from \"@next-core/types\";\nimport {\n RuntimeContext,\n RuntimeUseBrickConfWithRootSymbols,\n symbolForRootRuntimeContext,\n} from \"./secret_internals.js\";\nimport { childrenToSlots } from \"./Renderer.js\";\n\nexport function setupRootRuntimeContext(\n bricks: BrickConf[],\n runtimeContext: RuntimeContext,\n shallow?: boolean\n) {\n function walk(props: unknown) {\n if (!isObject(props) || typeof props === \"function\") {\n return;\n }\n\n if (Array.isArray(props)) {\n props.map(walk);\n return;\n }\n\n for (const [key, value] of Object.entries(props)) {\n if (isObject(value) && key === \"useBrick\") {\n if (Array.isArray(value)) {\n value.forEach((v) => setupBrick(v, true));\n } else {\n setupBrick(\n value as UseSingleBrickConf as RuntimeUseBrickConfWithRootSymbols,\n true,\n // For inside useBrick, we always need to setup recursively.\n true\n );\n }\n } else {\n walk(value);\n }\n }\n }\n\n function setupBrick(\n brick: BrickConf,\n inUseBrick?: boolean,\n forceRecursive?: boolean\n ) {\n if (inUseBrick) {\n (brick as RuntimeUseBrickConfWithRootSymbols)[\n symbolForRootRuntimeContext\n ] = runtimeContext;\n }\n\n walk(brick.properties);\n\n if (shallow && !forceRecursive) {\n return;\n }\n\n const transpiledSlots = childrenToSlots(brick.children, brick.slots) as\n | UseBrickSlotsConf\n | undefined;\n\n for (const slotConf of Object.values(transpiledSlots ?? {})) {\n for (const brick of slotConf.bricks ?? []) {\n setupBrick(brick, inUseBrick);\n }\n }\n }\n\n for (const brick of bricks) {\n setupBrick(brick);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,iBAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAF,OAAA;AAEO,SAASG,uBAAuBA,CACrCC,MAAmB,EACnBC,cAA8B,EAC9BC,OAAiB,EACjB;EACA,SAASC,IAAIA,CAACC,KAAc,EAAE;IAC5B,IAAI,CAAC,IAAAC,iBAAQ,EAACD,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;MACnD;IACF;IAEA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACxBA,KAAK,CAACI,GAAG,CAACL,IAAI,CAAC;MACf;IACF;IAEA,KAAK,MAAM,CAACM,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,KAAK,CAAC,EAAE;MAChD,IAAI,IAAAC,iBAAQ,EAACK,KAAK,CAAC,IAAID,GAAG,KAAK,UAAU,EAAE;QACzC,IAAIH,KAAK,CAACC,OAAO,CAACG,KAAK,CAAC,EAAE;UACxBA,KAAK,CAACG,OAAO,CAAEC,CAAC,IAAKC,UAAU,CAACD,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,MAAM;UACLC,UAAU,CACRL,KAAK,EACL,IAAI;UACJ;UACA,IACF,CAAC;QACH;MACF,CAAC,MAAM;QACLP,IAAI,CAACO,KAAK,CAAC;MACb;IACF;EACF;EAEA,SAASK,UAAUA,CACjBC,KAAgB,EAChBC,UAAoB,EACpBC,cAAwB,EACxB;IACA,IAAID,UAAU,EAAE;MACbD,KAAK,CACJG,6CAA2B,CAC5B,GAAGlB,cAAc;IACpB;IAEAE,IAAI,CAACa,KAAK,CAACI,UAAU,CAAC;IAEtB,IAAIlB,OAAO,IAAI,CAACgB,cAAc,EAAE;MAC9B;IACF;IAEA,MAAMG,eAAe,GAAG,IAAAC,yBAAe,EAACN,KAAK,CAACO,QAAQ,EAAEP,KAAK,CAACQ,KAAK,CAEtD;IAEb,KAAK,MAAMC,QAAQ,IAAId,MAAM,CAACe,MAAM,CAACL,eAAe,aAAfA,eAAe,cAAfA,eAAe,GAAI,CAAC,CAAC,CAAC,EAAE;MAC3D,KAAK,MAAML,KAAK,KAAAW,gBAAA,GAAIF,QAAQ,CAACzB,MAAM,cAAA2B,gBAAA,cAAAA,gBAAA,GAAI,EAAE,EAAE;QAAA,IAAAA,gBAAA;QACzCZ,UAAU,CAACC,KAAK,EAAEC,UAAU,CAAC;MAC/B;IACF;EACF;EAEA,KAAK,MAAMD,KAAK,IAAIhB,MAAM,EAAE;IAC1Be,UAAU,CAACC,KAAK,CAAC;EACnB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"setupRootRuntimeContext.js","names":["_general","require","_secret_internals","_Renderer","setupRootRuntimeContext","bricks","runtimeContext","shallow","walk","props","isObject","Array","isArray","map","key","value","Object","entries","forEach","v","setupBrick","brick","inUseBrick","forceRecursive","symbolForRootRuntimeContext","properties","transpiledSlots","childrenToSlots","children","slots","slotConf","values"],"sources":["../../../src/internal/setupRootRuntimeContext.ts"],"sourcesContent":["import { isObject } from \"@next-core/utils/general\";\nimport type {\n BrickConf,\n UseBrickSlotsConf,\n UseSingleBrickConf,\n} from \"@next-core/types\";\nimport {\n RuntimeContext,\n RuntimeUseBrickConfWithRootSymbols,\n symbolForRootRuntimeContext,\n} from \"./secret_internals.js\";\nimport { childrenToSlots } from \"./Renderer.js\";\n\nexport function setupRootRuntimeContext(\n bricks: BrickConf[],\n runtimeContext: RuntimeContext,\n shallow?: boolean\n) {\n function walk(props: unknown) {\n if (!isObject(props) || typeof props === \"function\") {\n return;\n }\n\n if (Array.isArray(props)) {\n props.map(walk);\n return;\n }\n\n for (const [key, value] of Object.entries(props)) {\n if (isObject(value) && key === \"useBrick\") {\n if (Array.isArray(value)) {\n value.forEach((v) => setupBrick(v, true));\n } else {\n setupBrick(\n value as UseSingleBrickConf as RuntimeUseBrickConfWithRootSymbols,\n true,\n // For inside useBrick, we always need to setup recursively.\n true\n );\n }\n } else {\n walk(value);\n }\n }\n }\n\n function setupBrick(\n brick: BrickConf,\n inUseBrick?: boolean,\n forceRecursive?: boolean\n ) {\n if (inUseBrick) {\n (brick as RuntimeUseBrickConfWithRootSymbols)[\n symbolForRootRuntimeContext\n ] = runtimeContext;\n }\n\n walk(brick.properties);\n\n if (shallow && !forceRecursive) {\n return;\n }\n\n const transpiledSlots = childrenToSlots(brick.children, brick.slots) as\n | UseBrickSlotsConf\n | undefined;\n\n for (const slotConf of Object.values(transpiledSlots ?? {})) {\n for (const brick of slotConf.bricks ?? []) {\n setupBrick(brick, inUseBrick);\n }\n }\n }\n\n for (const brick of bricks) {\n setupBrick(brick);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,iBAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAF,OAAA;AAEO,SAASG,uBAAuBA,CACrCC,MAAmB,EACnBC,cAA8B,EAC9BC,OAAiB,EACjB;EACA,SAASC,IAAIA,CAACC,KAAc,EAAE;IAC5B,IAAI,CAAC,IAAAC,iBAAQ,EAACD,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;MACnD;IACF;IAEA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACxBA,KAAK,CAACI,GAAG,CAACL,IAAI,CAAC;MACf;IACF;IAEA,KAAK,MAAM,CAACM,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,KAAK,CAAC,EAAE;MAChD,IAAI,IAAAC,iBAAQ,EAACK,KAAK,CAAC,IAAID,GAAG,KAAK,UAAU,EAAE;QACzC,IAAIH,KAAK,CAACC,OAAO,CAACG,KAAK,CAAC,EAAE;UACxBA,KAAK,CAACG,OAAO,CAAEC,CAAC,IAAKC,UAAU,CAACD,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,MAAM;UACLC,UAAU,CACRL,KAAK,EACL,IAAI;UACJ;UACA,IACF,CAAC;QACH;MACF,CAAC,MAAM;QACLP,IAAI,CAACO,KAAK,CAAC;MACb;IACF;EACF;EAEA,SAASK,UAAUA,CACjBC,KAAgB,EAChBC,UAAoB,EACpBC,cAAwB,EACxB;IACA,IAAID,UAAU,EAAE;MACbD,KAAK,CACJG,6CAA2B,CAC5B,GAAGlB,cAAc;IACpB;IAEAE,IAAI,CAACa,KAAK,CAACI,UAAU,CAAC;IAEtB,IAAIlB,OAAO,IAAI,CAACgB,cAAc,EAAE;MAC9B;IACF;IAEA,MAAMG,eAAe,GAAG,IAAAC,yBAAe,EAACN,KAAK,CAACO,QAAQ,EAAEP,KAAK,CAACQ,KAAK,CAEtD;IAEb,KAAK,MAAMC,QAAQ,IAAId,MAAM,CAACe,MAAM,CAACL,eAAe,IAAI,CAAC,CAAC,CAAC,EAAE;MAC3D,KAAK,MAAML,KAAK,IAAIS,QAAQ,CAACzB,MAAM,IAAI,EAAE,EAAE;QACzCe,UAAU,CAACC,KAAK,EAAEC,UAAU,CAAC;MAC/B;IACF;EACF;EAEA,KAAK,MAAMD,KAAK,IAAIhB,MAAM,EAAE;IAC1Be,UAAU,CAACC,KAAK,CAAC;EACnB;AACF","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isNetworkError = isNetworkError;
7
+ var _http = require("@next-core/http");
8
+ var _loader = require("@next-core/loader");
9
+ function isNetworkError(error) {
10
+ return !!error && (error instanceof _loader.BrickLoadError || error instanceof _http.HttpFetchError || error instanceof Error && error.name === "ChunkLoadError" || error instanceof Event && error.type === "error" && error.target instanceof HTMLScriptElement);
11
+ }
12
+ //# sourceMappingURL=isNetworkError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isNetworkError.js","names":["_http","require","_loader","isNetworkError","error","BrickLoadError","HttpFetchError","Error","name","Event","type","target","HTMLScriptElement"],"sources":["../../src/isNetworkError.ts"],"sourcesContent":["import { HttpFetchError } from \"@next-core/http\";\nimport { BrickLoadError } from \"@next-core/loader\";\n\nexport function isNetworkError(error: unknown): boolean {\n return (\n !!error &&\n (error instanceof BrickLoadError ||\n error instanceof HttpFetchError ||\n (error instanceof Error && error.name === \"ChunkLoadError\") ||\n (error instanceof Event &&\n error.type === \"error\" &&\n error.target instanceof HTMLScriptElement))\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEO,SAASE,cAAcA,CAACC,KAAc,EAAW;EACtD,OACE,CAAC,CAACA,KAAK,KACNA,KAAK,YAAYC,sBAAc,IAC9BD,KAAK,YAAYE,oBAAc,IAC9BF,KAAK,YAAYG,KAAK,IAAIH,KAAK,CAACI,IAAI,KAAK,gBAAiB,IAC1DJ,KAAK,YAAYK,KAAK,IACrBL,KAAK,CAACM,IAAI,KAAK,OAAO,IACtBN,KAAK,CAACO,MAAM,YAAYC,iBAAkB,CAAC;AAEnD","ignoreList":[]}
@@ -11,18 +11,18 @@ var _lodash = require("lodash");
11
11
  let brick;
12
12
  const WATEMARK_BRICKNAME = exports.WATEMARK_BRICKNAME = "basic.show-watermark";
13
13
  function setWatermark() {
14
- var _window$APP_ROOT, _window$APP_ROOT2, _username, _hooks$auth, _settings$watermarkCo, _watermarkConfig$cont, _watermarkConfig$flag, _watermarkConfig$flag2;
14
+ var _window$APP_ROOT, _window$APP_ROOT2, _hooks$auth, _watermarkConfig$flag, _watermarkConfig$flag2;
15
15
  const flags = (0, _Runtime.getRuntime)().getFeatureFlags();
16
16
  const settings = (0, _Runtime.getRuntime)().getMiscSettings();
17
17
  if (!flags["show-watermark"]) {
18
18
  return;
19
19
  }
20
20
  const isDeveloper = ((_window$APP_ROOT = window.APP_ROOT) === null || _window$APP_ROOT === void 0 || (_window$APP_ROOT = _window$APP_ROOT.match(/versions\/([^/]+)\//)) === null || _window$APP_ROOT === void 0 ? void 0 : _window$APP_ROOT[1]) === "0.0.0" || ((_window$APP_ROOT2 = window.APP_ROOT) === null || _window$APP_ROOT2 === void 0 || (_window$APP_ROOT2 = _window$APP_ROOT2.match(/micro-apps\/(?:v2|v3)\/[^/]+\/([^/]+)/)) === null || _window$APP_ROOT2 === void 0 ? void 0 : _window$APP_ROOT2[1]) === "0.0.0";
21
- const username = (_username = _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$auth = _Runtime.hooks.auth) === null || _hooks$auth === void 0 || (_hooks$auth = _hooks$auth.getAuth()) === null || _hooks$auth === void 0 ? void 0 : _hooks$auth.username) !== null && _username !== void 0 ? _username : "";
22
- const watermarkConfig = (_settings$watermarkCo = settings.watermarkConfig) !== null && _settings$watermarkCo !== void 0 ? _settings$watermarkCo : {
21
+ const username = (_Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$auth = _Runtime.hooks.auth) === null || _hooks$auth === void 0 || (_hooks$auth = _hooks$auth.getAuth()) === null || _hooks$auth === void 0 ? void 0 : _hooks$auth.username) ?? "";
22
+ const watermarkConfig = settings.watermarkConfig ?? {
23
23
  flags: {}
24
24
  };
25
- const content = [...(typeof watermarkConfig.content === "string" ? [watermarkConfig.content] : (_watermarkConfig$cont = watermarkConfig.content) !== null && _watermarkConfig$cont !== void 0 ? _watermarkConfig$cont : []), (_watermarkConfig$flag = watermarkConfig.flags) !== null && _watermarkConfig$flag !== void 0 && _watermarkConfig$flag["show-development"] && isDeveloper ? "Development" : "", (_watermarkConfig$flag2 = watermarkConfig.flags) !== null && _watermarkConfig$flag2 !== void 0 && _watermarkConfig$flag2["show-user"] ? username : ""].filter(Boolean);
25
+ const content = [...(typeof watermarkConfig.content === "string" ? [watermarkConfig.content] : watermarkConfig.content ?? []), (_watermarkConfig$flag = watermarkConfig.flags) !== null && _watermarkConfig$flag !== void 0 && _watermarkConfig$flag["show-development"] && isDeveloper ? "Development" : "", (_watermarkConfig$flag2 = watermarkConfig.flags) !== null && _watermarkConfig$flag2 !== void 0 && _watermarkConfig$flag2["show-user"] ? username : ""].filter(Boolean);
26
26
 
27
27
  // Do not call showWatermark if there is no content
28
28
  if (content.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"setWatermark.js","names":["_loader","require","_Runtime","_lodash","brick","WATEMARK_BRICKNAME","exports","setWatermark","_window$APP_ROOT","_window$APP_ROOT2","_username","_hooks$auth","_settings$watermarkCo","_watermarkConfig$cont","_watermarkConfig$flag","_watermarkConfig$flag2","flags","getRuntime","getFeatureFlags","settings","getMiscSettings","isDeveloper","window","APP_ROOT","match","username","hooks","auth","getAuth","watermarkConfig","content","filter","Boolean","length","defaultProps","zIndex","width","font","fontSize","gap","omit","resolve","loadBricksImperatively","getBrickPackages","then","document","createElement","error","console"],"sources":["../../src/setWatermark.ts"],"sourcesContent":["import { loadBricksImperatively } from \"@next-core/loader\";\nimport { getBrickPackages, getRuntime, hooks } from \"./internal/Runtime.js\";\nimport { omit } from \"lodash\";\n\ninterface WaterMarkProps {\n container?: HTMLElement;\n content?: string | string[];\n zIndex?: number;\n rotate?: number;\n width?: number;\n height?: number;\n image?: string;\n font?: {\n color?: CanvasFillStrokeStyles[\"fillStyle\"];\n fontSize?: number | string;\n fontWeight?: \"normal\" | \"light\" | \"weight\" | number;\n fontStyle?: \"none\" | \"normal\" | \"italic\" | \"oblique\";\n fontFamily?: string;\n textAlign?: CanvasTextAlign;\n };\n style?: React.CSSProperties;\n gap?: [number, number];\n offset?: [number, number];\n}\n\nlet brick: {\n resolve(options: WaterMarkProps): void;\n};\n\nexport const WATEMARK_BRICKNAME = \"basic.show-watermark\";\n\nexport function setWatermark() {\n const flags = getRuntime().getFeatureFlags();\n const settings = getRuntime().getMiscSettings();\n if (!flags[\"show-watermark\"]) {\n return;\n }\n const isDeveloper =\n window.APP_ROOT?.match(/versions\\/([^/]+)\\//)?.[1] === \"0.0.0\" ||\n window.APP_ROOT?.match(/micro-apps\\/(?:v2|v3)\\/[^/]+\\/([^/]+)/)?.[1] ===\n \"0.0.0\";\n const username =\n (hooks?.auth?.getAuth() as Record<string, any>)?.username ?? \"\";\n const watermarkConfig = (settings.watermarkConfig ?? {\n flags: {},\n }) as WaterMarkProps & {\n flags: {\n \"show-development\"?: boolean;\n \"show-user\"?: boolean;\n };\n };\n\n const content = [\n ...(typeof watermarkConfig.content === \"string\"\n ? [watermarkConfig.content]\n : watermarkConfig.content ?? []),\n watermarkConfig.flags?.[\"show-development\"] && isDeveloper\n ? \"Development\"\n : \"\",\n watermarkConfig.flags?.[\"show-user\"] ? username : \"\",\n ].filter(Boolean);\n\n // Do not call showWatermark if there is no content\n if (content.length === 0) {\n return;\n }\n\n const defaultProps: WaterMarkProps = {\n content,\n zIndex: 1001,\n width: 200,\n font: {\n fontSize: 28,\n },\n gap: [190, 190],\n ...omit(watermarkConfig, [\"content\", \"flags\"]),\n };\n if (brick) {\n brick.resolve(defaultProps);\n } else {\n loadBricksImperatively([WATEMARK_BRICKNAME], getBrickPackages()).then(\n () => {\n brick = document.createElement(WATEMARK_BRICKNAME) as any;\n\n brick.resolve(defaultProps);\n },\n // istanbul ignore next\n (error: unknown) => {\n // eslint-disable-next-line no-console\n console.error(\"Load watermark service failed:\", error);\n }\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"setWatermark.js","names":["_loader","require","_Runtime","_lodash","brick","WATEMARK_BRICKNAME","exports","setWatermark","_window$APP_ROOT","_window$APP_ROOT2","_hooks$auth","_watermarkConfig$flag","_watermarkConfig$flag2","flags","getRuntime","getFeatureFlags","settings","getMiscSettings","isDeveloper","window","APP_ROOT","match","username","hooks","auth","getAuth","watermarkConfig","content","filter","Boolean","length","defaultProps","zIndex","width","font","fontSize","gap","omit","resolve","loadBricksImperatively","getBrickPackages","then","document","createElement","error","console"],"sources":["../../src/setWatermark.ts"],"sourcesContent":["import { loadBricksImperatively } from \"@next-core/loader\";\nimport { getBrickPackages, getRuntime, hooks } from \"./internal/Runtime.js\";\nimport { omit } from \"lodash\";\n\ninterface WaterMarkProps {\n container?: HTMLElement;\n content?: string | string[];\n zIndex?: number;\n rotate?: number;\n width?: number;\n height?: number;\n image?: string;\n font?: {\n color?: CanvasFillStrokeStyles[\"fillStyle\"];\n fontSize?: number | string;\n fontWeight?: \"normal\" | \"light\" | \"weight\" | number;\n fontStyle?: \"none\" | \"normal\" | \"italic\" | \"oblique\";\n fontFamily?: string;\n textAlign?: CanvasTextAlign;\n };\n style?: React.CSSProperties;\n gap?: [number, number];\n offset?: [number, number];\n}\n\nlet brick: {\n resolve(options: WaterMarkProps): void;\n};\n\nexport const WATEMARK_BRICKNAME = \"basic.show-watermark\";\n\nexport function setWatermark() {\n const flags = getRuntime().getFeatureFlags();\n const settings = getRuntime().getMiscSettings();\n if (!flags[\"show-watermark\"]) {\n return;\n }\n const isDeveloper =\n window.APP_ROOT?.match(/versions\\/([^/]+)\\//)?.[1] === \"0.0.0\" ||\n window.APP_ROOT?.match(/micro-apps\\/(?:v2|v3)\\/[^/]+\\/([^/]+)/)?.[1] ===\n \"0.0.0\";\n const username =\n (hooks?.auth?.getAuth() as Record<string, any>)?.username ?? \"\";\n const watermarkConfig = (settings.watermarkConfig ?? {\n flags: {},\n }) as WaterMarkProps & {\n flags: {\n \"show-development\"?: boolean;\n \"show-user\"?: boolean;\n };\n };\n\n const content = [\n ...(typeof watermarkConfig.content === \"string\"\n ? [watermarkConfig.content]\n : watermarkConfig.content ?? []),\n watermarkConfig.flags?.[\"show-development\"] && isDeveloper\n ? \"Development\"\n : \"\",\n watermarkConfig.flags?.[\"show-user\"] ? username : \"\",\n ].filter(Boolean);\n\n // Do not call showWatermark if there is no content\n if (content.length === 0) {\n return;\n }\n\n const defaultProps: WaterMarkProps = {\n content,\n zIndex: 1001,\n width: 200,\n font: {\n fontSize: 28,\n },\n gap: [190, 190],\n ...omit(watermarkConfig, [\"content\", \"flags\"]),\n };\n if (brick) {\n brick.resolve(defaultProps);\n } else {\n loadBricksImperatively([WATEMARK_BRICKNAME], getBrickPackages()).then(\n () => {\n brick = document.createElement(WATEMARK_BRICKNAME) as any;\n\n brick.resolve(defaultProps);\n },\n // istanbul ignore next\n (error: unknown) => {\n // eslint-disable-next-line no-console\n console.error(\"Load watermark service failed:\", error);\n }\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resetReloadForError = resetReloadForError;
7
+ exports.shouldReloadForError = shouldReloadForError;
8
+ var _isNetworkError = require("./isNetworkError.js");
9
+ const STORAGE_KEY = "reload-for-error-count";
10
+ const MAX_RELOAD_COUNT = 2;
11
+ function shouldReloadForError(error) {
12
+ if (/upchat/i.test(navigator.userAgent) && (0, _isNetworkError.isNetworkError)(error)) {
13
+ const count = +(sessionStorage.getItem(STORAGE_KEY) ?? 0);
14
+ if (count < MAX_RELOAD_COUNT) {
15
+ sessionStorage.setItem(STORAGE_KEY, String(count + 1));
16
+ return true;
17
+ }
18
+ resetReloadForError();
19
+ }
20
+ return false;
21
+ }
22
+ function resetReloadForError() {
23
+ sessionStorage.removeItem(STORAGE_KEY);
24
+ }
25
+ //# sourceMappingURL=shouldReloadForError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shouldReloadForError.js","names":["_isNetworkError","require","STORAGE_KEY","MAX_RELOAD_COUNT","shouldReloadForError","error","test","navigator","userAgent","isNetworkError","count","sessionStorage","getItem","setItem","String","resetReloadForError","removeItem"],"sources":["../../src/shouldReloadForError.ts"],"sourcesContent":["import { isNetworkError } from \"./isNetworkError.js\";\n\nconst STORAGE_KEY = \"reload-for-error-count\";\nconst MAX_RELOAD_COUNT = 2;\n\nexport function shouldReloadForError(error: unknown): boolean {\n if (/upchat/i.test(navigator.userAgent) && isNetworkError(error)) {\n const count = +(sessionStorage.getItem(STORAGE_KEY) ?? 0);\n if (count < MAX_RELOAD_COUNT) {\n sessionStorage.setItem(STORAGE_KEY, String(count + 1));\n return true;\n }\n resetReloadForError();\n }\n return false;\n}\n\nexport function resetReloadForError() {\n sessionStorage.removeItem(STORAGE_KEY);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEA,MAAMC,WAAW,GAAG,wBAAwB;AAC5C,MAAMC,gBAAgB,GAAG,CAAC;AAEnB,SAASC,oBAAoBA,CAACC,KAAc,EAAW;EAC5D,IAAI,SAAS,CAACC,IAAI,CAACC,SAAS,CAACC,SAAS,CAAC,IAAI,IAAAC,8BAAc,EAACJ,KAAK,CAAC,EAAE;IAChE,MAAMK,KAAK,GAAG,EAAEC,cAAc,CAACC,OAAO,CAACV,WAAW,CAAC,IAAI,CAAC,CAAC;IACzD,IAAIQ,KAAK,GAAGP,gBAAgB,EAAE;MAC5BQ,cAAc,CAACE,OAAO,CAACX,WAAW,EAAEY,MAAM,CAACJ,KAAK,GAAG,CAAC,CAAC,CAAC;MACtD,OAAO,IAAI;IACb;IACAK,mBAAmB,CAAC,CAAC;EACvB;EACA,OAAO,KAAK;AACd;AAEO,SAASA,mBAAmBA,CAAA,EAAG;EACpCJ,cAAc,CAACK,UAAU,CAACd,WAAW,CAAC;AACxC","ignoreList":[]}
@@ -51,7 +51,6 @@ function batchSetAppsLocalTheme(appsTheme) {
51
51
  });
52
52
  }
53
53
  function getLocalAppsTheme() {
54
- var _result;
55
54
  let result;
56
55
  try {
57
56
  result = storage.getItem(LOCAL_STORAGE_APPS_THEME_KEY);
@@ -59,7 +58,7 @@ function getLocalAppsTheme() {
59
58
  // eslint-disable-next-line no-console
60
59
  console.error("JSON parse error inside `getLocalAppsTheme()`");
61
60
  }
62
- return (_result = result) !== null && _result !== void 0 ? _result : {};
61
+ return result ?? {};
63
62
  }
64
63
 
65
64
  // Modes.
@@ -1 +1 @@
1
- {"version":3,"file":"themeAndMode.js","names":["_general","require","theme","storage","JsonStorage","localStorage","LOCAL_STORAGE_APPS_THEME_KEY","setTheme","value","Error","getTheme","getCurrentTheme","document","documentElement","dataset","applyTheme","window","dispatchEvent","CustomEvent","detail","batchSetAppsLocalTheme","appsTheme","setItem","getLocalAppsTheme","_result","result","getItem","console","error","mode","setMode","getMode","getCurrentMode","applyMode","getCssPropertyValue","name","el","_window$getComputedSt","getComputedStyle","getPropertyValue"],"sources":["../../src/themeAndMode.ts"],"sourcesContent":["import type { SiteMode, SiteTheme } from \"@next-core/types\";\nimport { JsonStorage } from \"@next-core/utils/general\";\n\ninterface AppThemes {\n [appId: string]: SiteTheme;\n}\n\n// Themes.\nlet theme: SiteTheme = \"light\";\nconst storage = new JsonStorage<Record<string, AppThemes>>(localStorage);\nconst LOCAL_STORAGE_APPS_THEME_KEY = \"apps-theme\";\n\nexport function setTheme(value: SiteTheme): void {\n if (value !== \"dark\" && value !== \"light\" && value !== \"dark-v2\") {\n throw new Error(`Unsupported theme: ${value}`);\n }\n theme = value;\n}\n\nexport function getTheme(): SiteTheme {\n return theme;\n}\n\nexport function getCurrentTheme(): SiteTheme {\n return document.documentElement.dataset.theme as SiteTheme;\n}\n\nexport function applyTheme(value?: SiteTheme): void {\n if (value) {\n setTheme(value);\n } else {\n value = getTheme();\n }\n if (value !== getCurrentTheme()) {\n document.documentElement.dataset.theme = value;\n window.dispatchEvent(\n new CustomEvent<SiteTheme>(\"theme.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function batchSetAppsLocalTheme(appsTheme: AppThemes): void {\n storage.setItem(LOCAL_STORAGE_APPS_THEME_KEY, {\n ...getLocalAppsTheme(),\n ...appsTheme,\n });\n}\n\nexport function getLocalAppsTheme(): AppThemes {\n let result: AppThemes | undefined;\n try {\n result = storage.getItem(LOCAL_STORAGE_APPS_THEME_KEY);\n } catch {\n // eslint-disable-next-line no-console\n console.error(\"JSON parse error inside `getLocalAppsTheme()`\");\n }\n\n return result ?? {};\n}\n\n// Modes.\nlet mode: SiteMode = \"default\";\n\nexport function setMode(value: SiteMode): void {\n if (value !== \"dashboard\" && value !== \"default\") {\n throw new Error(`Unsupported mode: ${value}`);\n }\n mode = value;\n}\n\nexport function getMode(): SiteMode {\n return mode;\n}\n\nexport function getCurrentMode(): SiteMode {\n return document.documentElement.dataset.mode as SiteMode;\n}\n\nexport function applyMode(value?: SiteMode): void {\n if (value) {\n setMode(value);\n } else {\n value = getMode();\n }\n if (value !== getCurrentMode()) {\n document.documentElement.dataset.mode = value;\n window.dispatchEvent(\n new CustomEvent<SiteMode>(\"mode.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function getCssPropertyValue(\n name: string,\n el = document.documentElement\n): string {\n if (!el) return \"\";\n return window.getComputedStyle(el)?.getPropertyValue(name) || \"\";\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"themeAndMode.js","names":["_general","require","theme","storage","JsonStorage","localStorage","LOCAL_STORAGE_APPS_THEME_KEY","setTheme","value","Error","getTheme","getCurrentTheme","document","documentElement","dataset","applyTheme","window","dispatchEvent","CustomEvent","detail","batchSetAppsLocalTheme","appsTheme","setItem","getLocalAppsTheme","result","getItem","console","error","mode","setMode","getMode","getCurrentMode","applyMode","getCssPropertyValue","name","el","_window$getComputedSt","getComputedStyle","getPropertyValue"],"sources":["../../src/themeAndMode.ts"],"sourcesContent":["import type { SiteMode, SiteTheme } from \"@next-core/types\";\nimport { JsonStorage } from \"@next-core/utils/general\";\n\ninterface AppThemes {\n [appId: string]: SiteTheme;\n}\n\n// Themes.\nlet theme: SiteTheme = \"light\";\nconst storage = new JsonStorage<Record<string, AppThemes>>(localStorage);\nconst LOCAL_STORAGE_APPS_THEME_KEY = \"apps-theme\";\n\nexport function setTheme(value: SiteTheme): void {\n if (value !== \"dark\" && value !== \"light\" && value !== \"dark-v2\") {\n throw new Error(`Unsupported theme: ${value}`);\n }\n theme = value;\n}\n\nexport function getTheme(): SiteTheme {\n return theme;\n}\n\nexport function getCurrentTheme(): SiteTheme {\n return document.documentElement.dataset.theme as SiteTheme;\n}\n\nexport function applyTheme(value?: SiteTheme): void {\n if (value) {\n setTheme(value);\n } else {\n value = getTheme();\n }\n if (value !== getCurrentTheme()) {\n document.documentElement.dataset.theme = value;\n window.dispatchEvent(\n new CustomEvent<SiteTheme>(\"theme.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function batchSetAppsLocalTheme(appsTheme: AppThemes): void {\n storage.setItem(LOCAL_STORAGE_APPS_THEME_KEY, {\n ...getLocalAppsTheme(),\n ...appsTheme,\n });\n}\n\nexport function getLocalAppsTheme(): AppThemes {\n let result: AppThemes | undefined;\n try {\n result = storage.getItem(LOCAL_STORAGE_APPS_THEME_KEY);\n } catch {\n // eslint-disable-next-line no-console\n console.error(\"JSON parse error inside `getLocalAppsTheme()`\");\n }\n\n return result ?? {};\n}\n\n// Modes.\nlet mode: SiteMode = \"default\";\n\nexport function setMode(value: SiteMode): void {\n if (value !== \"dashboard\" && value !== \"default\") {\n throw new Error(`Unsupported mode: ${value}`);\n }\n mode = value;\n}\n\nexport function getMode(): SiteMode {\n return mode;\n}\n\nexport function getCurrentMode(): SiteMode {\n return document.documentElement.dataset.mode as SiteMode;\n}\n\nexport function applyMode(value?: SiteMode): void {\n if (value) {\n setMode(value);\n } else {\n value = getMode();\n }\n if (value !== getCurrentMode()) {\n document.documentElement.dataset.mode = value;\n window.dispatchEvent(\n new CustomEvent<SiteMode>(\"mode.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function getCssPropertyValue(\n name: string,\n el = document.documentElement\n): string {\n if (!el) return \"\";\n return window.getComputedStyle(el)?.getPropertyValue(name) || \"\";\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -24,4 +24,6 @@ export { Dialog } from "./Dialog.js";
24
24
  export * from "./getV2RuntimeFromDll.js";
25
25
  export { setUIVersion } from "./setUIVersion.js";
26
26
  export * from "./ModalStack.js";
27
+ export * from "./isNetworkError.js";
28
+ export * from "./shouldReloadForError.js";
27
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createRuntime","getRuntime","__secret_internals","__test_only","getCssPropertyValue","getCurrentTheme","getCurrentMode","batchSetAppsLocalTheme","applyTheme","checkIfOfComputed","checkIfByTransform","registerWidgetFunctions","registerWidgetI18n","StoryboardFunctionRegistryFactory","matchPath","Notification","Dialog","setUIVersion"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomEditors.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport * from \"./createRoot.js\";\nexport * from \"./getRealValue.js\";\nexport {\n createRuntime,\n getRuntime,\n type RuntimeOptions,\n type RuntimeHooks,\n type RuntimeHooksMenuHelpers,\n type ImagesFactory,\n type PageViewInfo,\n} from \"./internal/Runtime.js\";\nimport * as __secret_internals from \"./internal/secret_internals.js\";\nexport { __secret_internals };\nexport { __test_only } from \"./internal/test_only.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath, type MatchOptions } from \"./internal/matchPath.js\";\nexport { Notification, type NotificationOptions } from \"./Notification.js\";\nexport { Dialog, type DialogOptions } from \"./Dialog.js\";\nexport * from \"./getV2RuntimeFromDll.js\";\nexport { setUIVersion } from \"./setUIVersion.js\";\nexport * from \"./ModalStack.js\";\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,mBAAmB;AACjC,SACEA,aAAa,EACbC,UAAU,QAML,uBAAuB;AAC9B,OAAO,KAAKC,kBAAkB,MAAM,gCAAgC;AACpE,SAASA,kBAAkB;AAC3B,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SACEC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,QACL,mBAAmB;AAC1B,SACEC,iBAAiB,EACjBC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,uBAAuB,QAAQ,uCAAuC;AAC/E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,iCAAiC,QAAQ,iCAAiC;AACnF,SAASC,SAAS,QAA2B,yBAAyB;AACtE,SAASC,YAAY,QAAkC,mBAAmB;AAC1E,SAASC,MAAM,QAA4B,aAAa;AACxD,cAAc,0BAA0B;AACxC,SAASC,YAAY,QAAQ,mBAAmB;AAChD,cAAc,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["createRuntime","getRuntime","__secret_internals","__test_only","getCssPropertyValue","getCurrentTheme","getCurrentMode","batchSetAppsLocalTheme","applyTheme","checkIfOfComputed","checkIfByTransform","registerWidgetFunctions","registerWidgetI18n","StoryboardFunctionRegistryFactory","matchPath","Notification","Dialog","setUIVersion"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomEditors.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport * from \"./createRoot.js\";\nexport * from \"./getRealValue.js\";\nexport {\n createRuntime,\n getRuntime,\n type RuntimeOptions,\n type RuntimeHooks,\n type RuntimeHooksMenuHelpers,\n type ImagesFactory,\n type PageViewInfo,\n} from \"./internal/Runtime.js\";\nimport * as __secret_internals from \"./internal/secret_internals.js\";\nexport { __secret_internals };\nexport { __test_only } from \"./internal/test_only.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath, type MatchOptions } from \"./internal/matchPath.js\";\nexport { Notification, type NotificationOptions } from \"./Notification.js\";\nexport { Dialog, type DialogOptions } from \"./Dialog.js\";\nexport * from \"./getV2RuntimeFromDll.js\";\nexport { setUIVersion } from \"./setUIVersion.js\";\nexport * from \"./ModalStack.js\";\nexport * from \"./isNetworkError.js\";\nexport * from \"./shouldReloadForError.js\";\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,mBAAmB;AACjC,SACEA,aAAa,EACbC,UAAU,QAML,uBAAuB;AAC9B,OAAO,KAAKC,kBAAkB,MAAM,gCAAgC;AACpE,SAASA,kBAAkB;AAC3B,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SACEC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,QACL,mBAAmB;AAC1B,SACEC,iBAAiB,EACjBC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,uBAAuB,QAAQ,uCAAuC;AAC/E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,iCAAiC,QAAQ,iCAAiC;AACnF,SAASC,SAAS,QAA2B,yBAAyB;AACtE,SAASC,YAAY,QAAkC,mBAAmB;AAC1E,SAASC,MAAM,QAA4B,aAAa;AACxD,cAAc,0BAA0B;AACxC,SAASC,YAAY,QAAQ,mBAAmB;AAChD,cAAc,iBAAiB;AAC/B,cAAc,qBAAqB;AACnC,cAAc,2BAA2B","ignoreList":[]}
@@ -6,11 +6,11 @@ import { RenderTag } from "./enums.js";
6
6
  import { _internalApiGetPresetBricks, getBrickPackages } from "./Runtime.js";
7
7
  import { K, NS } from "./i18n.js";
8
8
  import { getBasePath } from "../getBasePath.js";
9
- export class PageNotFoundError extends Error {
9
+ export class PageError extends Error {
10
10
  constructor(message) {
11
11
  // Pass remaining arguments (including vendor specific ones) to parent constructor
12
12
  super(message);
13
- this.name = "PageNotFoundError";
13
+ this.name = "PageError";
14
14
 
15
15
  // Maintains proper stack trace for where our error was thrown (only available on V8)
16
16
  // istanbul ignore else
@@ -118,8 +118,12 @@ function getLinkNode(showLink, brick, parent, slotId) {
118
118
  }
119
119
  function getRefinedErrorConf(error) {
120
120
  var _error$response, _error$responseJson;
121
- if (error instanceof PageNotFoundError) {
122
- return error.message === "app not found" ? {
121
+ if (error instanceof PageError) {
122
+ return error.message === "page blocked" ? {
123
+ showLink: "home",
124
+ title: i18n.t(`${NS}:${K.LICENSE_BLOCKED}`),
125
+ variant: "no-permission"
126
+ } : error.message === "app not found" ? {
123
127
  showLink: "home",
124
128
  title: i18n.t(`${NS}:${K.APP_NOT_FOUND}`),
125
129
  variant: "no-permission"
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorNode.js","names":["loadBricksImperatively","BrickLoadError","HttpResponseError","i18n","httpErrorToString","RenderTag","_internalApiGetPresetBricks","getBrickPackages","K","NS","getBasePath","PageNotFoundError","Error","constructor","message","name","captureStackTrace","ErrorNode","error","returnNode","pageLevel","title","variant","showLink","showDescription","getRefinedErrorConf","_presetBricks$error","presetBricks","errorBrick","linkBrick","bricks","filter","brick","customElements","get","Promise","race","_resolve","reject","setTimeout","node","tag","BRICK","type","properties","errorTitle","description","undefined","dataset","errorBoundary","runtimeContext","return","child","getLinkNode","e","console","join","useDefaultError","style","color","descriptionNode","textContent","sibling","parent","slotId","t","GO_BACK_HOME","RELOAD","GO_BACK_TO_PREVIOUS_PAGE","href","location","events","click","action","_error$response","_error$responseJson","APP_NOT_FOUND","PAGE_NOT_FOUND","Event","target","HTMLScriptElement","NETWORK_ERROR","response","status","NO_PERMISSION","responseJson","code","LICENSE_EXPIRED","UNKNOWN_ERROR"],"sources":["../../../src/internal/ErrorNode.ts"],"sourcesContent":["import { loadBricksImperatively, BrickLoadError } from \"@next-core/loader\";\nimport { HttpResponseError } from \"@next-core/http\";\nimport { i18n } from \"@next-core/i18n\";\nimport { httpErrorToString } from \"../handleHttpError.js\";\nimport { RenderTag } from \"./enums.js\";\nimport type { RenderChildNode, RenderReturnNode } from \"./interfaces.js\";\nimport { _internalApiGetPresetBricks, getBrickPackages } from \"./Runtime.js\";\nimport { K, NS } from \"./i18n.js\";\nimport { getBasePath } from \"../getBasePath.js\";\n\ntype ErrorMessageVariant =\n | \"internet-disconnected\"\n | \"no-permission\"\n | \"license-expired\"\n | \"not-found\"\n | \"unknown-error\";\n\ninterface ErrorMessageConfig {\n title: string;\n variant: ErrorMessageVariant;\n showLink?: LinkType;\n showDescription?: boolean;\n}\n\ntype LinkType = \"home\" | \"previous\" | \"reload\";\n\nexport class PageNotFoundError extends Error {\n constructor(message: \"page not found\" | \"app not found\") {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n\n this.name = \"PageNotFoundError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, BrickLoadError);\n }\n }\n}\n\n/**\n * Will always resolve\n */\nexport async function ErrorNode(\n error: unknown,\n returnNode: RenderReturnNode,\n pageLevel?: boolean\n): Promise<RenderChildNode> {\n const { title, variant, showLink, showDescription } =\n getRefinedErrorConf(error);\n\n if (pageLevel) {\n const presetBricks = _internalApiGetPresetBricks();\n const errorBrick = presetBricks.error ?? \"illustrations.error-message\";\n if (errorBrick !== false) {\n const linkBrick = \"eo-link\";\n const bricks = (showLink ? [errorBrick, linkBrick] : [errorBrick]).filter(\n (brick) => !customElements.get(brick)\n );\n try {\n await Promise.race([\n loadBricksImperatively(bricks, getBrickPackages()),\n // Timeout after 3 seconds\n new Promise<void>((_resolve, reject) =>\n setTimeout(() => {\n reject(new Error(\"timeout\"));\n }, 3e3)\n ),\n ]);\n const node: RenderChildNode = {\n tag: RenderTag.BRICK,\n type: errorBrick,\n properties: {\n errorTitle: title,\n description: showDescription ? httpErrorToString(error) : undefined,\n variant,\n dataset: {\n errorBoundary: \"\",\n },\n },\n runtimeContext: null!,\n return: returnNode,\n };\n\n if (showLink) {\n node.child = getLinkNode(showLink, linkBrick, node, \"\");\n }\n\n return node;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to load brick:\", bricks.join(\", \"), e);\n }\n }\n }\n\n const useDefaultError =\n pageLevel && !!customElements.get(\"easyops-default-error\");\n\n const node: RenderChildNode = {\n tag: RenderTag.BRICK,\n type: useDefaultError ? \"easyops-default-error\" : \"div\",\n properties: {\n errorTitle: title,\n dataset: {\n errorBoundary: \"\",\n },\n style: {\n color: \"var(--color-error)\",\n },\n },\n runtimeContext: null!,\n return: returnNode,\n };\n\n const descriptionNode: RenderChildNode = {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: useDefaultError\n ? showDescription\n ? httpErrorToString(error)\n : \"\"\n : showDescription\n ? `${title}: ${httpErrorToString(error)}`\n : title,\n },\n runtimeContext: null!,\n return: node,\n };\n\n node.child = descriptionNode;\n\n if (pageLevel && showLink) {\n descriptionNode.sibling = getLinkNode(\n showLink,\n \"a\",\n node,\n useDefaultError ? \"link\" : \"\"\n );\n }\n\n return node;\n}\n\nfunction getLinkNode(\n showLink: LinkType | undefined,\n brick: string,\n parent: RenderReturnNode,\n slotId: string\n): RenderChildNode {\n return {\n tag: RenderTag.BRICK,\n type: brick,\n slotId,\n properties: {\n textContent:\n showLink === \"home\"\n ? i18n.t(`${NS}:${K.GO_BACK_HOME}`)\n : showLink === \"reload\"\n ? i18n.t(`${NS}:${K.RELOAD}`)\n : i18n.t(`${NS}:${K.GO_BACK_TO_PREVIOUS_PAGE}`),\n href:\n showLink === \"home\"\n ? getBasePath()\n : showLink === \"reload\"\n ? location.href\n : undefined,\n },\n events:\n showLink === \"previous\"\n ? {\n click: {\n action: \"history.goBack\",\n },\n }\n : undefined,\n runtimeContext: null!,\n return: parent,\n };\n}\n\nfunction getRefinedErrorConf(error: unknown): ErrorMessageConfig {\n if (error instanceof PageNotFoundError) {\n return error.message === \"app not found\"\n ? {\n showLink: \"home\",\n title: i18n.t(`${NS}:${K.APP_NOT_FOUND}`),\n variant: \"no-permission\",\n }\n : {\n showLink: \"home\",\n variant: \"not-found\",\n title: i18n.t(`${NS}:${K.PAGE_NOT_FOUND}`),\n };\n }\n\n if (\n error instanceof BrickLoadError ||\n (error instanceof Error && error.name === \"ChunkLoadError\") ||\n (error instanceof Event &&\n error.type === \"error\" &&\n error.target instanceof HTMLScriptElement)\n ) {\n return {\n showDescription: true,\n title: i18n.t(`${NS}:${K.NETWORK_ERROR}`),\n variant: \"internet-disconnected\",\n showLink: \"reload\",\n };\n }\n\n if (error instanceof HttpResponseError && error.response?.status === 403) {\n return {\n showLink: \"previous\",\n showDescription: true,\n title: i18n.t(`${NS}:${K.NO_PERMISSION}`),\n variant: \"no-permission\",\n };\n }\n\n if (\n error instanceof HttpResponseError &&\n error.responseJson?.code === \"200000\"\n ) {\n return {\n showDescription: true,\n title: i18n.t(`${NS}:${K.LICENSE_EXPIRED}`),\n variant: \"license-expired\",\n };\n }\n\n return {\n showLink: \"previous\",\n showDescription: true,\n title: i18n.t(`${NS}:${K.UNKNOWN_ERROR}`),\n variant: \"unknown-error\",\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ErrorNode.js","names":["loadBricksImperatively","BrickLoadError","HttpResponseError","i18n","httpErrorToString","RenderTag","_internalApiGetPresetBricks","getBrickPackages","K","NS","getBasePath","PageError","Error","constructor","message","name","captureStackTrace","ErrorNode","error","returnNode","pageLevel","title","variant","showLink","showDescription","getRefinedErrorConf","_presetBricks$error","presetBricks","errorBrick","linkBrick","bricks","filter","brick","customElements","get","Promise","race","_resolve","reject","setTimeout","node","tag","BRICK","type","properties","errorTitle","description","undefined","dataset","errorBoundary","runtimeContext","return","child","getLinkNode","e","console","join","useDefaultError","style","color","descriptionNode","textContent","sibling","parent","slotId","t","GO_BACK_HOME","RELOAD","GO_BACK_TO_PREVIOUS_PAGE","href","location","events","click","action","_error$response","_error$responseJson","LICENSE_BLOCKED","APP_NOT_FOUND","PAGE_NOT_FOUND","Event","target","HTMLScriptElement","NETWORK_ERROR","response","status","NO_PERMISSION","responseJson","code","LICENSE_EXPIRED","UNKNOWN_ERROR"],"sources":["../../../src/internal/ErrorNode.ts"],"sourcesContent":["import { loadBricksImperatively, BrickLoadError } from \"@next-core/loader\";\nimport { HttpResponseError } from \"@next-core/http\";\nimport { i18n } from \"@next-core/i18n\";\nimport { httpErrorToString } from \"../handleHttpError.js\";\nimport { RenderTag } from \"./enums.js\";\nimport type { RenderChildNode, RenderReturnNode } from \"./interfaces.js\";\nimport { _internalApiGetPresetBricks, getBrickPackages } from \"./Runtime.js\";\nimport { K, NS } from \"./i18n.js\";\nimport { getBasePath } from \"../getBasePath.js\";\n\ntype ErrorMessageVariant =\n | \"internet-disconnected\"\n | \"no-permission\"\n | \"license-expired\"\n | \"not-found\"\n | \"unknown-error\";\n\ninterface ErrorMessageConfig {\n title: string;\n variant: ErrorMessageVariant;\n showLink?: LinkType;\n showDescription?: boolean;\n}\n\ntype LinkType = \"home\" | \"previous\" | \"reload\";\n\nexport class PageError extends Error {\n constructor(message: \"page blocked\" | \"page not found\" | \"app not found\") {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n\n this.name = \"PageError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, BrickLoadError);\n }\n }\n}\n\n/**\n * Will always resolve\n */\nexport async function ErrorNode(\n error: unknown,\n returnNode: RenderReturnNode,\n pageLevel?: boolean\n): Promise<RenderChildNode> {\n const { title, variant, showLink, showDescription } =\n getRefinedErrorConf(error);\n\n if (pageLevel) {\n const presetBricks = _internalApiGetPresetBricks();\n const errorBrick = presetBricks.error ?? \"illustrations.error-message\";\n if (errorBrick !== false) {\n const linkBrick = \"eo-link\";\n const bricks = (showLink ? [errorBrick, linkBrick] : [errorBrick]).filter(\n (brick) => !customElements.get(brick)\n );\n try {\n await Promise.race([\n loadBricksImperatively(bricks, getBrickPackages()),\n // Timeout after 3 seconds\n new Promise<void>((_resolve, reject) =>\n setTimeout(() => {\n reject(new Error(\"timeout\"));\n }, 3e3)\n ),\n ]);\n const node: RenderChildNode = {\n tag: RenderTag.BRICK,\n type: errorBrick,\n properties: {\n errorTitle: title,\n description: showDescription ? httpErrorToString(error) : undefined,\n variant,\n dataset: {\n errorBoundary: \"\",\n },\n },\n runtimeContext: null!,\n return: returnNode,\n };\n\n if (showLink) {\n node.child = getLinkNode(showLink, linkBrick, node, \"\");\n }\n\n return node;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to load brick:\", bricks.join(\", \"), e);\n }\n }\n }\n\n const useDefaultError =\n pageLevel && !!customElements.get(\"easyops-default-error\");\n\n const node: RenderChildNode = {\n tag: RenderTag.BRICK,\n type: useDefaultError ? \"easyops-default-error\" : \"div\",\n properties: {\n errorTitle: title,\n dataset: {\n errorBoundary: \"\",\n },\n style: {\n color: \"var(--color-error)\",\n },\n },\n runtimeContext: null!,\n return: returnNode,\n };\n\n const descriptionNode: RenderChildNode = {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: useDefaultError\n ? showDescription\n ? httpErrorToString(error)\n : \"\"\n : showDescription\n ? `${title}: ${httpErrorToString(error)}`\n : title,\n },\n runtimeContext: null!,\n return: node,\n };\n\n node.child = descriptionNode;\n\n if (pageLevel && showLink) {\n descriptionNode.sibling = getLinkNode(\n showLink,\n \"a\",\n node,\n useDefaultError ? \"link\" : \"\"\n );\n }\n\n return node;\n}\n\nfunction getLinkNode(\n showLink: LinkType | undefined,\n brick: string,\n parent: RenderReturnNode,\n slotId: string\n): RenderChildNode {\n return {\n tag: RenderTag.BRICK,\n type: brick,\n slotId,\n properties: {\n textContent:\n showLink === \"home\"\n ? i18n.t(`${NS}:${K.GO_BACK_HOME}`)\n : showLink === \"reload\"\n ? i18n.t(`${NS}:${K.RELOAD}`)\n : i18n.t(`${NS}:${K.GO_BACK_TO_PREVIOUS_PAGE}`),\n href:\n showLink === \"home\"\n ? getBasePath()\n : showLink === \"reload\"\n ? location.href\n : undefined,\n },\n events:\n showLink === \"previous\"\n ? {\n click: {\n action: \"history.goBack\",\n },\n }\n : undefined,\n runtimeContext: null!,\n return: parent,\n };\n}\n\nfunction getRefinedErrorConf(error: unknown): ErrorMessageConfig {\n if (error instanceof PageError) {\n return error.message === \"page blocked\"\n ? {\n showLink: \"home\",\n title: i18n.t(`${NS}:${K.LICENSE_BLOCKED}`),\n variant: \"no-permission\",\n }\n : error.message === \"app not found\"\n ? {\n showLink: \"home\",\n title: i18n.t(`${NS}:${K.APP_NOT_FOUND}`),\n variant: \"no-permission\",\n }\n : {\n showLink: \"home\",\n variant: \"not-found\",\n title: i18n.t(`${NS}:${K.PAGE_NOT_FOUND}`),\n };\n }\n\n if (\n error instanceof BrickLoadError ||\n (error instanceof Error && error.name === \"ChunkLoadError\") ||\n (error instanceof Event &&\n error.type === \"error\" &&\n error.target instanceof HTMLScriptElement)\n ) {\n return {\n showDescription: true,\n title: i18n.t(`${NS}:${K.NETWORK_ERROR}`),\n variant: \"internet-disconnected\",\n showLink: \"reload\",\n };\n }\n\n if (error instanceof HttpResponseError && error.response?.status === 403) {\n return {\n showLink: \"previous\",\n showDescription: true,\n title: i18n.t(`${NS}:${K.NO_PERMISSION}`),\n variant: \"no-permission\",\n };\n }\n\n if (\n error instanceof HttpResponseError &&\n error.responseJson?.code === \"200000\"\n ) {\n return {\n showDescription: true,\n title: i18n.t(`${NS}:${K.LICENSE_EXPIRED}`),\n variant: \"license-expired\",\n };\n }\n\n return {\n showLink: \"previous\",\n showDescription: true,\n title: i18n.t(`${NS}:${K.UNKNOWN_ERROR}`),\n variant: \"unknown-error\",\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -31,7 +31,8 @@ import { setUIVersion } from "../setUIVersion.js";
31
31
  import { setAppVariable } from "../setAppVariable.js";
32
32
  import { setWatermark } from "../setWatermark.js";
33
33
  import { clearMatchedRoutes } from "./routeMatchedMap.js";
34
- import { ErrorNode, PageNotFoundError } from "./ErrorNode.js";
34
+ import { ErrorNode, PageError } from "./ErrorNode.js";
35
+ import { resetReloadForError, shouldReloadForError } from "../shouldReloadForError.js";
35
36
  var _storyboards = /*#__PURE__*/new WeakMap();
36
37
  var _rendering = /*#__PURE__*/new WeakMap();
37
38
  var _nextRender = /*#__PURE__*/new WeakMap();
@@ -226,8 +227,9 @@ async function _preRender(_ref) {
226
227
  return _assertClassBrand(_Router_brand, this, _render).call(this, location, !prevLocation);
227
228
  }
228
229
  async function _render(location, isBootstrap) {
229
- var _hooks$flowApi, _hooks$pageView, _classPrivateFieldGet5, _storyboard$app;
230
+ var _hooks$auth, _hooks$auth$isBlocked, _hooks$flowApi, _hooks$pageView, _classPrivateFieldGet5, _storyboard$app;
230
231
  const renderId = _classPrivateFieldSet(_renderId, this, uniqueId("render-id-"));
232
+ const blocked = hooks === null || hooks === void 0 || (_hooks$auth = hooks.auth) === null || _hooks$auth === void 0 || (_hooks$auth$isBlocked = _hooks$auth.isBlockedPath) === null || _hooks$auth$isBlocked === void 0 ? void 0 : _hooks$auth$isBlocked.call(_hooks$auth, location.pathname);
231
233
  resetAllComputedMarks();
232
234
  clearResolveCache();
233
235
  hooks === null || hooks === void 0 || (_hooks$flowApi = hooks.flowApi) === null || _hooks$flowApi === void 0 || _hooks$flowApi.clearCollectWidgetContract();
@@ -236,7 +238,7 @@ async function _render(location, isBootstrap) {
236
238
 
237
239
  // const renderStartTime = performance.now();
238
240
  const finishPageView = hooks === null || hooks === void 0 || (_hooks$pageView = hooks.pageView) === null || _hooks$pageView === void 0 ? void 0 : _hooks$pageView.create();
239
- const storyboard = matchStoryboard(_classPrivateFieldGet(_storyboards, this), location.pathname);
241
+ const storyboard = blocked ? undefined : matchStoryboard(_classPrivateFieldGet(_storyboards, this), location.pathname);
240
242
  const previousApp = (_classPrivateFieldGet5 = _classPrivateFieldGet(_runtimeContext, this)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.app;
241
243
  const currentAppId = storyboard === null || storyboard === void 0 || (_storyboard$app = storyboard.app) === null || _storyboard$app === void 0 ? void 0 : _storyboard$app.id;
242
244
  // dynamically change the value of the APP variable, if it's union app
@@ -313,7 +315,7 @@ async function _render(location, isBootstrap) {
313
315
  setTheme(currentApp && (getLocalAppsTheme()[currentApp.id] || currentApp.theme) || "light");
314
316
  setMode("default");
315
317
  if (currentApp) {
316
- var _hooks$checkInstalled, _hooks$auth, _hooks$checkPermissio, _storyboard$meta, _hooks$flowApi2, _storyboard$meta2;
318
+ var _hooks$checkInstalled, _hooks$auth2, _hooks$checkPermissio, _storyboard$meta, _hooks$flowApi2, _storyboard$meta2;
317
319
  hooks === null || hooks === void 0 || (_hooks$checkInstalled = hooks.checkInstalledApps) === null || _hooks$checkInstalled === void 0 || _hooks$checkInstalled.preCheckInstalledApps(storyboard, appId => !!_internalApiGetAppInBootstrapData(appId));
318
320
  const routeHelper = {
319
321
  bailout: output => {
@@ -353,6 +355,10 @@ async function _render(location, isBootstrap) {
353
355
  if (isCurrentBootstrap) {
354
356
  throw error;
355
357
  }
358
+ if (!isReCatch && shouldReloadForError(error)) {
359
+ window.location.reload();
360
+ return;
361
+ }
356
362
  return {
357
363
  failed: true,
358
364
  output: {
@@ -373,7 +379,7 @@ async function _render(location, isBootstrap) {
373
379
  query: new URLSearchParams(location.search),
374
380
  flags,
375
381
  sys: {
376
- ...(hooks === null || hooks === void 0 || (_hooks$auth = hooks.auth) === null || _hooks$auth === void 0 ? void 0 : _hooks$auth.getAuth()),
382
+ ...(hooks === null || hooks === void 0 || (_hooks$auth2 = hooks.auth) === null || _hooks$auth2 === void 0 ? void 0 : _hooks$auth2.getAuth()),
377
383
  ...getPageInfo(),
378
384
  settings: {
379
385
  brand: getRuntime().getBrandSettings()
@@ -418,6 +424,7 @@ async function _render(location, isBootstrap) {
418
424
  output
419
425
  } = result);
420
426
  }
427
+ resetReloadForError();
421
428
  renderRoot.child = output.node;
422
429
  _classPrivateFieldSet(_bootstrapFailed, this, false);
423
430
  cleanUpPreviousRender();
@@ -467,14 +474,14 @@ async function _render(location, isBootstrap) {
467
474
  }
468
475
  applyTheme();
469
476
  applyMode();
470
- const node = await ErrorNode(new PageNotFoundError(currentApp ? "page not found" : "app not found"), renderRoot, true);
477
+ const node = await ErrorNode(new PageError(blocked ? "page blocked" : currentApp ? "page not found" : "app not found"), renderRoot, true);
471
478
  renderRoot.child = node;
472
479
  mountTree(renderRoot);
473
480
 
474
481
  // Scroll to top after each rendering.
475
482
  window.scrollTo(0, 0);
476
483
  finishPageView === null || finishPageView === void 0 || finishPageView({
477
- status: "not-found"
484
+ status: blocked ? "blocked" : "not-found"
478
485
  });
479
486
  devtoolsHookEmit("rendered");
480
487
  }