@next-core/runtime 1.0.2

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 (371) hide show
  1. package/dist/cjs/CustomProcessors.js +29 -0
  2. package/dist/cjs/CustomProcessors.js.map +1 -0
  3. package/dist/cjs/CustomTemplates.js +179 -0
  4. package/dist/cjs/CustomTemplates.js.map +1 -0
  5. package/dist/cjs/StoryboardFunctionRegistry.js +118 -0
  6. package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -0
  7. package/dist/cjs/auth.js +67 -0
  8. package/dist/cjs/auth.js.map +1 -0
  9. package/dist/cjs/fetchByProvider.js +13 -0
  10. package/dist/cjs/fetchByProvider.js.map +1 -0
  11. package/dist/cjs/getBasePath.js +15 -0
  12. package/dist/cjs/getBasePath.js.map +1 -0
  13. package/dist/cjs/getPageInfo.js +45 -0
  14. package/dist/cjs/getPageInfo.js.map +1 -0
  15. package/dist/cjs/handleHttpError.js +97 -0
  16. package/dist/cjs/handleHttpError.js.map +1 -0
  17. package/dist/cjs/history.js +27 -0
  18. package/dist/cjs/history.js.map +1 -0
  19. package/dist/cjs/index.js +199 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js +72 -0
  22. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -0
  23. package/dist/cjs/internal/CustomTemplates/constants.js +13 -0
  24. package/dist/cjs/internal/CustomTemplates/constants.js.map +1 -0
  25. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +122 -0
  26. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -0
  27. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js +113 -0
  28. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -0
  29. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js +44 -0
  30. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -0
  31. package/dist/cjs/internal/CustomTemplates/utils.js +44 -0
  32. package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -0
  33. package/dist/cjs/internal/Renderer.js +392 -0
  34. package/dist/cjs/internal/Renderer.js.map +1 -0
  35. package/dist/cjs/internal/RendererContext.js +433 -0
  36. package/dist/cjs/internal/RendererContext.js.map +1 -0
  37. package/dist/cjs/internal/Router.js +448 -0
  38. package/dist/cjs/internal/Router.js.map +1 -0
  39. package/dist/cjs/internal/Runtime.js +140 -0
  40. package/dist/cjs/internal/Runtime.js.map +1 -0
  41. package/dist/cjs/internal/abortController.js +32 -0
  42. package/dist/cjs/internal/abortController.js.map +1 -0
  43. package/dist/cjs/internal/bindListeners.js +433 -0
  44. package/dist/cjs/internal/bindListeners.js.map +1 -0
  45. package/dist/cjs/internal/checkInstalledApps.js +105 -0
  46. package/dist/cjs/internal/checkInstalledApps.js.map +1 -0
  47. package/dist/cjs/internal/checkPermissions.js +102 -0
  48. package/dist/cjs/internal/checkPermissions.js.map +1 -0
  49. package/dist/cjs/internal/compute/StoryboardFunctions.js +16 -0
  50. package/dist/cjs/internal/compute/StoryboardFunctions.js.map +1 -0
  51. package/dist/cjs/internal/compute/WidgetFunctions.js +31 -0
  52. package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -0
  53. package/dist/cjs/internal/compute/WidgetI18n.js +21 -0
  54. package/dist/cjs/internal/compute/WidgetI18n.js.map +1 -0
  55. package/dist/cjs/internal/compute/checkIf.js +36 -0
  56. package/dist/cjs/internal/compute/checkIf.js.map +1 -0
  57. package/dist/cjs/internal/compute/collectMemberCallUsage.js +30 -0
  58. package/dist/cjs/internal/compute/collectMemberCallUsage.js.map +1 -0
  59. package/dist/cjs/internal/compute/computeRealProperties.js +80 -0
  60. package/dist/cjs/internal/compute/computeRealProperties.js.map +1 -0
  61. package/dist/cjs/internal/compute/computeRealValue.js +78 -0
  62. package/dist/cjs/internal/compute/computeRealValue.js.map +1 -0
  63. package/dist/cjs/internal/compute/evaluate.js +390 -0
  64. package/dist/cjs/internal/compute/evaluate.js.map +1 -0
  65. package/dist/cjs/internal/compute/getGeneralGlobals.js +87 -0
  66. package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -0
  67. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js +87 -0
  68. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -0
  69. package/dist/cjs/internal/compute/getStorageItem.js +14 -0
  70. package/dist/cjs/internal/compute/getStorageItem.js.map +1 -0
  71. package/dist/cjs/internal/compute/getTracks.js +26 -0
  72. package/dist/cjs/internal/compute/getTracks.js.map +1 -0
  73. package/dist/cjs/internal/compute/images.js +23 -0
  74. package/dist/cjs/internal/compute/images.js.map +1 -0
  75. package/dist/cjs/internal/compute/listenOnTrackingContext.js +40 -0
  76. package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -0
  77. package/dist/cjs/internal/compute/markAsComputed.js +36 -0
  78. package/dist/cjs/internal/compute/markAsComputed.js.map +1 -0
  79. package/dist/cjs/internal/compute/setProperties.js +18 -0
  80. package/dist/cjs/internal/compute/setProperties.js.map +1 -0
  81. package/dist/cjs/internal/compute/setRealProperties.js +29 -0
  82. package/dist/cjs/internal/compute/setRealProperties.js.map +1 -0
  83. package/dist/cjs/internal/data/CollectContracts.js +29 -0
  84. package/dist/cjs/internal/data/CollectContracts.js.map +1 -0
  85. package/dist/cjs/internal/data/DataStore.js +190 -0
  86. package/dist/cjs/internal/data/DataStore.js.map +1 -0
  87. package/dist/cjs/internal/data/FlowApi.js +150 -0
  88. package/dist/cjs/internal/data/FlowApi.js.map +1 -0
  89. package/dist/cjs/internal/data/FlowApiProvider.js +122 -0
  90. package/dist/cjs/internal/data/FlowApiProvider.js.map +1 -0
  91. package/dist/cjs/internal/data/getProviderBrick.js +32 -0
  92. package/dist/cjs/internal/data/getProviderBrick.js.map +1 -0
  93. package/dist/cjs/internal/data/resolveData.js +96 -0
  94. package/dist/cjs/internal/data/resolveData.js.map +1 -0
  95. package/dist/cjs/internal/data/resolveDataStore.js +127 -0
  96. package/dist/cjs/internal/data/resolveDataStore.js.map +1 -0
  97. package/dist/cjs/internal/devtools.js +10 -0
  98. package/dist/cjs/internal/devtools.js.map +1 -0
  99. package/dist/cjs/internal/enums.js +13 -0
  100. package/dist/cjs/internal/enums.js.map +1 -0
  101. package/dist/cjs/internal/historyExtended.js +140 -0
  102. package/dist/cjs/internal/historyExtended.js.map +1 -0
  103. package/dist/cjs/internal/interfaces.js +6 -0
  104. package/dist/cjs/internal/interfaces.js.map +1 -0
  105. package/dist/cjs/internal/loadBootstrapData.js +227 -0
  106. package/dist/cjs/internal/loadBootstrapData.js.map +1 -0
  107. package/dist/cjs/internal/loadCheckLogin.js +17 -0
  108. package/dist/cjs/internal/loadCheckLogin.js.map +1 -0
  109. package/dist/cjs/internal/matchPath.js +88 -0
  110. package/dist/cjs/internal/matchPath.js.map +1 -0
  111. package/dist/cjs/internal/matchRoutes.js +34 -0
  112. package/dist/cjs/internal/matchRoutes.js.map +1 -0
  113. package/dist/cjs/internal/matchStoryboard.js +40 -0
  114. package/dist/cjs/internal/matchStoryboard.js.map +1 -0
  115. package/dist/cjs/internal/mediaQuery.js +55 -0
  116. package/dist/cjs/internal/mediaQuery.js.map +1 -0
  117. package/dist/cjs/internal/menu/computeMenuData.js +37 -0
  118. package/dist/cjs/internal/menu/computeMenuData.js.map +1 -0
  119. package/dist/cjs/internal/menu/constants.js +13 -0
  120. package/dist/cjs/internal/menu/constants.js.map +1 -0
  121. package/dist/cjs/internal/menu/fetchMenuById.js +102 -0
  122. package/dist/cjs/internal/menu/fetchMenuById.js.map +1 -0
  123. package/dist/cjs/internal/menu/fetchMenuTitle.js +37 -0
  124. package/dist/cjs/internal/menu/fetchMenuTitle.js.map +1 -0
  125. package/dist/cjs/internal/menu/getMenusOfStandaloneApp.js +27 -0
  126. package/dist/cjs/internal/menu/getMenusOfStandaloneApp.js.map +1 -0
  127. package/dist/cjs/internal/menu/interfaces.js +4 -0
  128. package/dist/cjs/internal/menu/interfaces.js.map +1 -0
  129. package/dist/cjs/internal/menu/loadDynamicMenuItems.js +28 -0
  130. package/dist/cjs/internal/menu/loadDynamicMenuItems.js.map +1 -0
  131. package/dist/cjs/internal/menu/mergeMenu.js +74 -0
  132. package/dist/cjs/internal/menu/mergeMenu.js.map +1 -0
  133. package/dist/cjs/internal/menu/reorderMenuItems.js +20 -0
  134. package/dist/cjs/internal/menu/reorderMenuItems.js.map +1 -0
  135. package/dist/cjs/internal/mount.js +90 -0
  136. package/dist/cjs/internal/mount.js.map +1 -0
  137. package/dist/cjs/internal/poll.js +83 -0
  138. package/dist/cjs/internal/poll.js.map +1 -0
  139. package/dist/cjs/internal/proxyFactories.js +39 -0
  140. package/dist/cjs/internal/proxyFactories.js.map +1 -0
  141. package/dist/cjs/internal/registerAppI18n.js +25 -0
  142. package/dist/cjs/internal/registerAppI18n.js.map +1 -0
  143. package/dist/cjs/internal/registerCustomTemplates.js +22 -0
  144. package/dist/cjs/internal/registerCustomTemplates.js.map +1 -0
  145. package/dist/cjs/internal/secret_internals.js +140 -0
  146. package/dist/cjs/internal/secret_internals.js.map +1 -0
  147. package/dist/cjs/themeAndMode.js +97 -0
  148. package/dist/cjs/themeAndMode.js.map +1 -0
  149. package/dist/esm/CustomProcessors.js +30 -0
  150. package/dist/esm/CustomProcessors.js.map +1 -0
  151. package/dist/esm/CustomTemplates.js +187 -0
  152. package/dist/esm/CustomTemplates.js.map +1 -0
  153. package/dist/esm/StoryboardFunctionRegistry.js +116 -0
  154. package/dist/esm/StoryboardFunctionRegistry.js.map +1 -0
  155. package/dist/esm/auth.js +57 -0
  156. package/dist/esm/auth.js.map +1 -0
  157. package/dist/esm/fetchByProvider.js +14 -0
  158. package/dist/esm/fetchByProvider.js.map +1 -0
  159. package/dist/esm/getBasePath.js +9 -0
  160. package/dist/esm/getBasePath.js.map +1 -0
  161. package/dist/esm/getPageInfo.js +39 -0
  162. package/dist/esm/getPageInfo.js.map +1 -0
  163. package/dist/esm/handleHttpError.js +90 -0
  164. package/dist/esm/handleHttpError.js.map +1 -0
  165. package/dist/esm/history.js +20 -0
  166. package/dist/esm/history.js.map +1 -0
  167. package/dist/esm/index.js +17 -0
  168. package/dist/esm/index.js.map +1 -0
  169. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js +68 -0
  170. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -0
  171. package/dist/esm/internal/CustomTemplates/constants.js +4 -0
  172. package/dist/esm/internal/CustomTemplates/constants.js.map +1 -0
  173. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js +117 -0
  174. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -0
  175. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js +110 -0
  176. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -0
  177. package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js +43 -0
  178. package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -0
  179. package/dist/esm/internal/CustomTemplates/utils.js +37 -0
  180. package/dist/esm/internal/CustomTemplates/utils.js.map +1 -0
  181. package/dist/esm/internal/Renderer.js +427 -0
  182. package/dist/esm/internal/Renderer.js.map +1 -0
  183. package/dist/esm/internal/RendererContext.js +425 -0
  184. package/dist/esm/internal/RendererContext.js.map +1 -0
  185. package/dist/esm/internal/Router.js +445 -0
  186. package/dist/esm/internal/Router.js.map +1 -0
  187. package/dist/esm/internal/Runtime.js +116 -0
  188. package/dist/esm/internal/Runtime.js.map +1 -0
  189. package/dist/esm/internal/abortController.js +24 -0
  190. package/dist/esm/internal/abortController.js.map +1 -0
  191. package/dist/esm/internal/bindListeners.js +434 -0
  192. package/dist/esm/internal/bindListeners.js.map +1 -0
  193. package/dist/esm/internal/checkInstalledApps.js +100 -0
  194. package/dist/esm/internal/checkInstalledApps.js.map +1 -0
  195. package/dist/esm/internal/checkPermissions.js +107 -0
  196. package/dist/esm/internal/checkPermissions.js.map +1 -0
  197. package/dist/esm/internal/compute/StoryboardFunctions.js +7 -0
  198. package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -0
  199. package/dist/esm/internal/compute/WidgetFunctions.js +23 -0
  200. package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -0
  201. package/dist/esm/internal/compute/WidgetI18n.js +14 -0
  202. package/dist/esm/internal/compute/WidgetI18n.js.map +1 -0
  203. package/dist/esm/internal/compute/checkIf.js +39 -0
  204. package/dist/esm/internal/compute/checkIf.js.map +1 -0
  205. package/dist/esm/internal/compute/collectMemberCallUsage.js +22 -0
  206. package/dist/esm/internal/compute/collectMemberCallUsage.js.map +1 -0
  207. package/dist/esm/internal/compute/computeRealProperties.js +87 -0
  208. package/dist/esm/internal/compute/computeRealProperties.js.map +1 -0
  209. package/dist/esm/internal/compute/computeRealValue.js +86 -0
  210. package/dist/esm/internal/compute/computeRealValue.js.map +1 -0
  211. package/dist/esm/internal/compute/evaluate.js +387 -0
  212. package/dist/esm/internal/compute/evaluate.js.map +1 -0
  213. package/dist/esm/internal/compute/getGeneralGlobals.js +82 -0
  214. package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -0
  215. package/dist/esm/internal/compute/getNextStateOfUseBrick.js +78 -0
  216. package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -0
  217. package/dist/esm/internal/compute/getStorageItem.js +8 -0
  218. package/dist/esm/internal/compute/getStorageItem.js.map +1 -0
  219. package/dist/esm/internal/compute/getTracks.js +20 -0
  220. package/dist/esm/internal/compute/getTracks.js.map +1 -0
  221. package/dist/esm/internal/compute/images.js +16 -0
  222. package/dist/esm/internal/compute/images.js.map +1 -0
  223. package/dist/esm/internal/compute/listenOnTrackingContext.js +37 -0
  224. package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -0
  225. package/dist/esm/internal/compute/markAsComputed.js +28 -0
  226. package/dist/esm/internal/compute/markAsComputed.js.map +1 -0
  227. package/dist/esm/internal/compute/setProperties.js +12 -0
  228. package/dist/esm/internal/compute/setProperties.js.map +1 -0
  229. package/dist/esm/internal/compute/setRealProperties.js +23 -0
  230. package/dist/esm/internal/compute/setRealProperties.js.map +1 -0
  231. package/dist/esm/internal/data/CollectContracts.js +20 -0
  232. package/dist/esm/internal/data/CollectContracts.js.map +1 -0
  233. package/dist/esm/internal/data/DataStore.js +203 -0
  234. package/dist/esm/internal/data/DataStore.js.map +1 -0
  235. package/dist/esm/internal/data/FlowApi.js +156 -0
  236. package/dist/esm/internal/data/FlowApi.js.map +1 -0
  237. package/dist/esm/internal/data/FlowApiProvider.js +122 -0
  238. package/dist/esm/internal/data/FlowApiProvider.js.map +1 -0
  239. package/dist/esm/internal/data/getProviderBrick.js +33 -0
  240. package/dist/esm/internal/data/getProviderBrick.js.map +1 -0
  241. package/dist/esm/internal/data/resolveData.js +101 -0
  242. package/dist/esm/internal/data/resolveData.js.map +1 -0
  243. package/dist/esm/internal/data/resolveDataStore.js +134 -0
  244. package/dist/esm/internal/data/resolveDataStore.js.map +1 -0
  245. package/dist/esm/internal/devtools.js +4 -0
  246. package/dist/esm/internal/devtools.js.map +1 -0
  247. package/dist/esm/internal/enums.js +6 -0
  248. package/dist/esm/internal/enums.js.map +1 -0
  249. package/dist/esm/internal/historyExtended.js +132 -0
  250. package/dist/esm/internal/historyExtended.js.map +1 -0
  251. package/dist/esm/internal/interfaces.js +2 -0
  252. package/dist/esm/internal/interfaces.js.map +1 -0
  253. package/dist/esm/internal/loadBootstrapData.js +243 -0
  254. package/dist/esm/internal/loadBootstrapData.js.map +1 -0
  255. package/dist/esm/internal/loadCheckLogin.js +18 -0
  256. package/dist/esm/internal/loadCheckLogin.js.map +1 -0
  257. package/dist/esm/internal/matchPath.js +81 -0
  258. package/dist/esm/internal/matchPath.js.map +1 -0
  259. package/dist/esm/internal/matchRoutes.js +35 -0
  260. package/dist/esm/internal/matchRoutes.js.map +1 -0
  261. package/dist/esm/internal/matchStoryboard.js +33 -0
  262. package/dist/esm/internal/matchStoryboard.js.map +1 -0
  263. package/dist/esm/internal/mediaQuery.js +44 -0
  264. package/dist/esm/internal/mediaQuery.js.map +1 -0
  265. package/dist/esm/internal/menu/computeMenuData.js +38 -0
  266. package/dist/esm/internal/menu/computeMenuData.js.map +1 -0
  267. package/dist/esm/internal/menu/constants.js +4 -0
  268. package/dist/esm/internal/menu/constants.js.map +1 -0
  269. package/dist/esm/internal/menu/fetchMenuById.js +104 -0
  270. package/dist/esm/internal/menu/fetchMenuById.js.map +1 -0
  271. package/dist/esm/internal/menu/fetchMenuTitle.js +38 -0
  272. package/dist/esm/internal/menu/fetchMenuTitle.js.map +1 -0
  273. package/dist/esm/internal/menu/getMenusOfStandaloneApp.js +19 -0
  274. package/dist/esm/internal/menu/getMenusOfStandaloneApp.js.map +1 -0
  275. package/dist/esm/internal/menu/interfaces.js +4 -0
  276. package/dist/esm/internal/menu/interfaces.js.map +1 -0
  277. package/dist/esm/internal/menu/loadDynamicMenuItems.js +28 -0
  278. package/dist/esm/internal/menu/loadDynamicMenuItems.js.map +1 -0
  279. package/dist/esm/internal/menu/mergeMenu.js +77 -0
  280. package/dist/esm/internal/menu/mergeMenu.js.map +1 -0
  281. package/dist/esm/internal/menu/reorderMenuItems.js +14 -0
  282. package/dist/esm/internal/menu/reorderMenuItems.js.map +1 -0
  283. package/dist/esm/internal/mount.js +83 -0
  284. package/dist/esm/internal/mount.js.map +1 -0
  285. package/dist/esm/internal/poll.js +85 -0
  286. package/dist/esm/internal/poll.js.map +1 -0
  287. package/dist/esm/internal/proxyFactories.js +34 -0
  288. package/dist/esm/internal/proxyFactories.js.map +1 -0
  289. package/dist/esm/internal/registerAppI18n.js +20 -0
  290. package/dist/esm/internal/registerAppI18n.js.map +1 -0
  291. package/dist/esm/internal/registerCustomTemplates.js +16 -0
  292. package/dist/esm/internal/registerCustomTemplates.js.map +1 -0
  293. package/dist/esm/internal/secret_internals.js +145 -0
  294. package/dist/esm/internal/secret_internals.js.map +1 -0
  295. package/dist/esm/themeAndMode.js +80 -0
  296. package/dist/esm/themeAndMode.js.map +1 -0
  297. package/dist/types/CustomProcessors.d.ts +7 -0
  298. package/dist/types/CustomTemplates.d.ts +8 -0
  299. package/dist/types/StoryboardFunctionRegistry.d.ts +44 -0
  300. package/dist/types/auth.d.ts +19 -0
  301. package/dist/types/fetchByProvider.d.ts +2 -0
  302. package/dist/types/getBasePath.d.ts +4 -0
  303. package/dist/types/getPageInfo.d.ts +14 -0
  304. package/dist/types/handleHttpError.d.ts +19 -0
  305. package/dist/types/history.d.ts +7 -0
  306. package/dist/types/index.d.ts +15 -0
  307. package/dist/types/internal/CustomTemplates/bindTemplateProxy.d.ts +3 -0
  308. package/dist/types/internal/CustomTemplates/constants.d.ts +11 -0
  309. package/dist/types/internal/CustomTemplates/expandCustomTemplate.d.ts +3 -0
  310. package/dist/types/internal/CustomTemplates/setupTemplateProxy.d.ts +7 -0
  311. package/dist/types/internal/CustomTemplates/setupUseBrickInTemplate.d.ts +2 -0
  312. package/dist/types/internal/CustomTemplates/utils.d.ts +7 -0
  313. package/dist/types/internal/Renderer.d.ts +21 -0
  314. package/dist/types/internal/RendererContext.d.ts +25 -0
  315. package/dist/types/internal/Router.d.ts +16 -0
  316. package/dist/types/internal/Runtime.d.ts +35 -0
  317. package/dist/types/internal/abortController.d.ts +2 -0
  318. package/dist/types/internal/bindListeners.d.ts +11 -0
  319. package/dist/types/internal/checkInstalledApps.d.ts +6 -0
  320. package/dist/types/internal/checkPermissions.d.ts +17 -0
  321. package/dist/types/internal/compute/StoryboardFunctions.d.ts +1 -0
  322. package/dist/types/internal/compute/WidgetFunctions.d.ts +3 -0
  323. package/dist/types/internal/compute/WidgetI18n.d.ts +3 -0
  324. package/dist/types/internal/compute/checkIf.d.ts +23 -0
  325. package/dist/types/internal/compute/collectMemberCallUsage.d.ts +8 -0
  326. package/dist/types/internal/compute/computeRealProperties.d.ts +4 -0
  327. package/dist/types/internal/compute/computeRealValue.d.ts +9 -0
  328. package/dist/types/internal/compute/evaluate.d.ts +21 -0
  329. package/dist/types/internal/compute/getGeneralGlobals.d.ts +12 -0
  330. package/dist/types/internal/compute/getNextStateOfUseBrick.d.ts +16 -0
  331. package/dist/types/internal/compute/getStorageItem.d.ts +1 -0
  332. package/dist/types/internal/compute/getTracks.d.ts +5 -0
  333. package/dist/types/internal/compute/images.d.ts +5 -0
  334. package/dist/types/internal/compute/listenOnTrackingContext.d.ts +9 -0
  335. package/dist/types/internal/compute/markAsComputed.d.ts +3 -0
  336. package/dist/types/internal/compute/setProperties.d.ts +2 -0
  337. package/dist/types/internal/compute/setRealProperties.d.ts +1 -0
  338. package/dist/types/internal/data/CollectContracts.d.ts +5 -0
  339. package/dist/types/internal/data/DataStore.d.ts +26 -0
  340. package/dist/types/internal/data/FlowApi.d.ts +30 -0
  341. package/dist/types/internal/data/FlowApiProvider.d.ts +20 -0
  342. package/dist/types/internal/data/getProviderBrick.d.ts +1 -0
  343. package/dist/types/internal/data/resolveData.d.ts +16 -0
  344. package/dist/types/internal/data/resolveDataStore.d.ts +11 -0
  345. package/dist/types/internal/devtools.d.ts +6 -0
  346. package/dist/types/internal/enums.d.ts +4 -0
  347. package/dist/types/internal/historyExtended.d.ts +58 -0
  348. package/dist/types/internal/interfaces.d.ts +92 -0
  349. package/dist/types/internal/loadBootstrapData.d.ts +10 -0
  350. package/dist/types/internal/loadCheckLogin.d.ts +1 -0
  351. package/dist/types/internal/matchPath.d.ts +18 -0
  352. package/dist/types/internal/matchRoutes.d.ts +9 -0
  353. package/dist/types/internal/matchStoryboard.d.ts +10 -0
  354. package/dist/types/internal/mediaQuery.d.ts +14 -0
  355. package/dist/types/internal/menu/computeMenuData.d.ts +7 -0
  356. package/dist/types/internal/menu/constants.d.ts +3 -0
  357. package/dist/types/internal/menu/fetchMenuById.d.ts +3 -0
  358. package/dist/types/internal/menu/fetchMenuTitle.d.ts +2 -0
  359. package/dist/types/internal/menu/getMenusOfStandaloneApp.d.ts +2 -0
  360. package/dist/types/internal/menu/interfaces.d.ts +74 -0
  361. package/dist/types/internal/menu/loadDynamicMenuItems.d.ts +3 -0
  362. package/dist/types/internal/menu/mergeMenu.d.ts +3 -0
  363. package/dist/types/internal/menu/reorderMenuItems.d.ts +2 -0
  364. package/dist/types/internal/mount.d.ts +3 -0
  365. package/dist/types/internal/poll.d.ts +10 -0
  366. package/dist/types/internal/proxyFactories.d.ts +2 -0
  367. package/dist/types/internal/registerAppI18n.d.ts +3 -0
  368. package/dist/types/internal/registerCustomTemplates.d.ts +2 -0
  369. package/dist/types/internal/secret_internals.d.ts +21 -0
  370. package/dist/types/themeAndMode.d.ts +16 -0
  371. package/package.json +67 -0
@@ -0,0 +1,445 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import _classPrivateMethodInitSpec from "@babel/runtime/helpers/classPrivateMethodInitSpec";
4
+ import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateFieldInitSpec";
5
+ import _classPrivateFieldGet from "@babel/runtime/helpers/classPrivateFieldGet";
6
+ import _classPrivateMethodGet from "@babel/runtime/helpers/classPrivateMethodGet";
7
+ import _classPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet";
8
+ import { locationsAreEqual } from "history";
9
+ import { flushStableLoadBricks } from "@next-core/loader";
10
+ import { HttpAbortError } from "@next-core/http";
11
+ import { uniqueId } from "lodash";
12
+ import { getHistory } from "../history.js";
13
+ import { renderRoutes } from "./Renderer.js";
14
+ import { DataStore } from "./data/DataStore.js";
15
+ import { clearResolveCache } from "./data/resolveData.js";
16
+ import { mountTree, unmountTree } from "./mount.js";
17
+ import { isOutsideApp, matchStoryboard } from "./matchStoryboard.js";
18
+ import { registerStoryboardFunctions } from "./compute/StoryboardFunctions.js";
19
+ import { preCheckPermissions } from "./checkPermissions.js";
20
+ import { RendererContext } from "./RendererContext.js";
21
+ import { applyMode, applyTheme, getLocalAppsTheme, setMode, setTheme } from "../themeAndMode.js";
22
+ import { getRuntime } from "./Runtime.js";
23
+ import { getAuth, isLoggedIn } from "../auth.js";
24
+ import { getPageInfo } from "../getPageInfo.js";
25
+ import { resetAllComputedMarks } from "./compute/markAsComputed.js";
26
+ import { handleHttpError, httpErrorToString, isUnauthenticatedError } from "../handleHttpError.js";
27
+ import { abortPendingRequest, initAbortController } from "./abortController.js";
28
+ import { registerCustomTemplates } from "./registerCustomTemplates.js";
29
+ import { clearCollectWidgetContract, collectContract } from "./data/CollectContracts.js";
30
+ import { fulfilStoryboard } from "./loadBootstrapData.js";
31
+ import { RenderTag } from "./enums.js";
32
+ import { preCheckInstalledApps } from "./checkInstalledApps.js";
33
+ var _storyboards = /*#__PURE__*/new WeakMap();
34
+ var _rendering = /*#__PURE__*/new WeakMap();
35
+ var _prevLocation = /*#__PURE__*/new WeakMap();
36
+ var _nextLocation = /*#__PURE__*/new WeakMap();
37
+ var _runtimeContext = /*#__PURE__*/new WeakMap();
38
+ var _rendererContext = /*#__PURE__*/new WeakMap();
39
+ var _rendererContextTrashCan = /*#__PURE__*/new WeakMap();
40
+ var _redirectCount = /*#__PURE__*/new WeakMap();
41
+ var _renderId = /*#__PURE__*/new WeakMap();
42
+ var _currentApp = /*#__PURE__*/new WeakMap();
43
+ var _previousApp = /*#__PURE__*/new WeakMap();
44
+ var _navConfig = /*#__PURE__*/new WeakMap();
45
+ var _getBlockMessageBeforePageLave = /*#__PURE__*/new WeakSet();
46
+ var _checkInfiniteRedirect = /*#__PURE__*/new WeakSet();
47
+ var _queuedRender = /*#__PURE__*/new WeakSet();
48
+ var _render = /*#__PURE__*/new WeakSet();
49
+ export class Router {
50
+ constructor(storyboards) {
51
+ _classPrivateMethodInitSpec(this, _render);
52
+ _classPrivateMethodInitSpec(this, _queuedRender);
53
+ _classPrivateMethodInitSpec(this, _checkInfiniteRedirect);
54
+ _classPrivateMethodInitSpec(this, _getBlockMessageBeforePageLave);
55
+ _classPrivateFieldInitSpec(this, _storyboards, {
56
+ writable: true,
57
+ value: void 0
58
+ });
59
+ _classPrivateFieldInitSpec(this, _rendering, {
60
+ writable: true,
61
+ value: false
62
+ });
63
+ _classPrivateFieldInitSpec(this, _prevLocation, {
64
+ writable: true,
65
+ value: void 0
66
+ });
67
+ _classPrivateFieldInitSpec(this, _nextLocation, {
68
+ writable: true,
69
+ value: void 0
70
+ });
71
+ _classPrivateFieldInitSpec(this, _runtimeContext, {
72
+ writable: true,
73
+ value: void 0
74
+ });
75
+ _classPrivateFieldInitSpec(this, _rendererContext, {
76
+ writable: true,
77
+ value: void 0
78
+ });
79
+ _classPrivateFieldInitSpec(this, _rendererContextTrashCan, {
80
+ writable: true,
81
+ value: new Set()
82
+ });
83
+ _classPrivateFieldInitSpec(this, _redirectCount, {
84
+ writable: true,
85
+ value: 0
86
+ });
87
+ _classPrivateFieldInitSpec(this, _renderId, {
88
+ writable: true,
89
+ value: void 0
90
+ });
91
+ _classPrivateFieldInitSpec(this, _currentApp, {
92
+ writable: true,
93
+ value: void 0
94
+ });
95
+ _classPrivateFieldInitSpec(this, _previousApp, {
96
+ writable: true,
97
+ value: void 0
98
+ });
99
+ _classPrivateFieldInitSpec(this, _navConfig, {
100
+ writable: true,
101
+ value: void 0
102
+ });
103
+ _classPrivateFieldSet(this, _storyboards, storyboards);
104
+ var _history = getHistory();
105
+ window.addEventListener("beforeunload", event => {
106
+ var message = _classPrivateMethodGet(this, _getBlockMessageBeforePageLave, _getBlockMessageBeforePageLave2).call(this, {});
107
+ // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload
108
+ if (message) {
109
+ // Cancel the event
110
+ // If you prevent default behavior in Mozilla Firefox prompt will always be shown
111
+ event.preventDefault();
112
+ // Chrome requires returnValue to be set
113
+ event.returnValue = "";
114
+ } else {
115
+ // the absence of a returnValue property on the event will guarantee the browser unload happens
116
+ delete event.returnValue;
117
+ }
118
+ });
119
+ _history.block((location, action) => _classPrivateMethodGet(this, _getBlockMessageBeforePageLave, _getBlockMessageBeforePageLave2).call(this, {
120
+ location,
121
+ action
122
+ }));
123
+ }
124
+ getRenderId() {
125
+ return _classPrivateFieldGet(this, _renderId);
126
+ }
127
+ getRuntimeContext() {
128
+ return _classPrivateFieldGet(this, _runtimeContext);
129
+ }
130
+ getRecentApps() {
131
+ return {
132
+ currentApp: _classPrivateFieldGet(this, _currentApp),
133
+ previousApp: _classPrivateFieldGet(this, _previousApp)
134
+ };
135
+ }
136
+ getNavConfig() {
137
+ return _classPrivateFieldGet(this, _navConfig);
138
+ }
139
+ bootstrap() {
140
+ initAbortController();
141
+ var history = getHistory();
142
+ _classPrivateFieldSet(this, _prevLocation, history.location);
143
+ history.listen((location, action) => {
144
+ var _classPrivateFieldGet2, _location$state, _classPrivateFieldGet3;
145
+ var ignoreRendering = false;
146
+ var omittedLocationProps = {
147
+ hash: undefined,
148
+ state: undefined
149
+ };
150
+ // Omit the "key" when checking whether locations are equal in certain situations.
151
+ if (
152
+ // When current location is triggered by browser action of hash link.
153
+ location.key === undefined ||
154
+ // When current location is triggered by browser action of non-push-or-replace,
155
+ // such as goBack or goForward,
156
+ action === "POP" && (
157
+ // and the previous location was triggered by hash link,
158
+ _classPrivateFieldGet(this, _prevLocation).key === undefined ||
159
+ // or the previous location specified notify false.
160
+ ((_classPrivateFieldGet2 = _classPrivateFieldGet(this, _prevLocation).state) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.notify) === false)) {
161
+ omittedLocationProps.key = undefined;
162
+ }
163
+ if (locationsAreEqual(_objectSpread(_objectSpread({}, _classPrivateFieldGet(this, _prevLocation)), omittedLocationProps), _objectSpread(_objectSpread({}, location), omittedLocationProps)) || action !== "POP" && ((_location$state = location.state) === null || _location$state === void 0 ? void 0 : _location$state.notify) === false) {
164
+ // Ignore rendering if location not changed except hash, state and optional key.
165
+ // Ignore rendering if notify is `false`.
166
+ ignoreRendering = true;
167
+ }
168
+ if (ignoreRendering) {
169
+ _classPrivateFieldSet(this, _prevLocation, location);
170
+ return;
171
+ }
172
+ abortPendingRequest();
173
+ _classPrivateFieldSet(this, _prevLocation, location);
174
+ (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _rendererContext)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.dispatchPageLeave();
175
+ // this.locationContext.messageDispatcher.reset();
176
+
177
+ if (action === "POP") {
178
+ var storyboard = matchStoryboard(_classPrivateFieldGet(this, _storyboards), location.pathname);
179
+ // When a browser action of goBack or goForward is performing,
180
+ // force reload when the target page is a page of an outside app.
181
+ if (isOutsideApp(storyboard)) {
182
+ window.location.reload();
183
+ return;
184
+ }
185
+ }
186
+ if (_classPrivateFieldGet(this, _rendering)) {
187
+ _classPrivateFieldSet(this, _nextLocation, location);
188
+ } else {
189
+ // devtoolsHookEmit("locationChange");
190
+ _classPrivateMethodGet(this, _queuedRender, _queuedRender2).call(this, location).catch(handleHttpError);
191
+ }
192
+ });
193
+ return _classPrivateMethodGet(this, _queuedRender, _queuedRender2).call(this, history.location);
194
+ }
195
+ }
196
+ function _getBlockMessageBeforePageLave2(detail) {
197
+ var _classPrivateFieldGet4;
198
+ var history = getHistory();
199
+ var previousMessage = history.getBlockMessage();
200
+ (_classPrivateFieldGet4 = _classPrivateFieldGet(this, _rendererContext)) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.dispatchBeforePageLeave(detail);
201
+ var message = history.getBlockMessage();
202
+ if (!previousMessage && message) {
203
+ // Auto unblock only if new block was introduced by `onBeforePageLeave`.
204
+ history.unblock();
205
+ }
206
+ return message;
207
+ }
208
+ function _checkInfiniteRedirect2(from, to) {
209
+ var _this$redirectCount, _this$redirectCount2;
210
+ if ((_classPrivateFieldSet(this, _redirectCount, (_this$redirectCount = _classPrivateFieldGet(this, _redirectCount), _this$redirectCount2 = _this$redirectCount++, _this$redirectCount)), _this$redirectCount2) > 10) {
211
+ throw new Error("Infinite redirect detected: from \"".concat(from.pathname).concat(from.search).concat(from.hash, "\" to \"").concat(to, "\""));
212
+ }
213
+ }
214
+ function _queuedRender2(_x) {
215
+ return _queuedRender3.apply(this, arguments);
216
+ }
217
+ function _queuedRender3() {
218
+ _queuedRender3 = _asyncToGenerator(function* (location) {
219
+ _classPrivateFieldSet(this, _rendering, true);
220
+ try {
221
+ yield _classPrivateMethodGet(this, _render, _render2).call(this, location);
222
+ } finally {
223
+ _classPrivateFieldSet(this, _rendering, false);
224
+ if (_classPrivateFieldGet(this, _nextLocation)) {
225
+ var nextLocation = _classPrivateFieldGet(this, _nextLocation);
226
+ _classPrivateFieldSet(this, _nextLocation, undefined);
227
+ yield _classPrivateMethodGet(this, _queuedRender, _queuedRender2).call(this, nextLocation);
228
+ }
229
+ }
230
+ });
231
+ return _queuedRender3.apply(this, arguments);
232
+ }
233
+ function _render2(_x2) {
234
+ return _render3.apply(this, arguments);
235
+ }
236
+ function _render3() {
237
+ _render3 = _asyncToGenerator(function* (location) {
238
+ var _classPrivateFieldGet5;
239
+ _classPrivateFieldSet(this, _renderId, uniqueId("render-id-1"));
240
+ resetAllComputedMarks();
241
+ clearResolveCache();
242
+ clearCollectWidgetContract();
243
+ var history = getHistory();
244
+ history.unblock();
245
+ var storyboard = matchStoryboard(_classPrivateFieldGet(this, _storyboards), location.pathname);
246
+ var previousApp = (_classPrivateFieldGet5 = _classPrivateFieldGet(this, _runtimeContext)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.app;
247
+ if (storyboard !== null && storyboard !== void 0 && storyboard.app) {
248
+ yield fulfilStoryboard(storyboard);
249
+ }
250
+ var currentApp = _classPrivateFieldSet(this, _currentApp, storyboard === null || storyboard === void 0 ? void 0 : storyboard.app);
251
+
252
+ // Storyboard maybe re-assigned, e.g. when open launchpad.
253
+ var appChanged = previousApp && currentApp ? previousApp.id !== currentApp.id : previousApp !== currentApp;
254
+
255
+ // TODO: handle favicon
256
+
257
+ // Set `Router::#currentApp` before calling `getFeatureFlags()`
258
+ var flags = getRuntime().getFeatureFlags();
259
+ var prevRendererContext = _classPrivateFieldGet(this, _rendererContext);
260
+ var redirectTo = (to, state) => {
261
+ _classPrivateFieldGet(this, _rendererContextTrashCan).add(prevRendererContext);
262
+ _classPrivateMethodGet(this, _checkInfiniteRedirect, _checkInfiniteRedirect2).call(this, location, to);
263
+ history.replace(to, state);
264
+ };
265
+ var redirectToLogin = () => {
266
+ var to = flags["sso-enabled"] ? "/sso-auth/login" : "/auth/login";
267
+ redirectTo(to, {
268
+ from: location
269
+ });
270
+ };
271
+ var main = document.querySelector("#main-mount-point");
272
+ var portal = document.querySelector("#portal-mount-point");
273
+ var renderRoot = {
274
+ tag: RenderTag.ROOT,
275
+ container: main,
276
+ createPortal: portal
277
+ };
278
+ var cleanUpPreviousRender = () => {
279
+ unmountTree(main);
280
+ unmountTree(portal);
281
+
282
+ // Note: redirects can lead to multiple trash renderer contexts.
283
+ _classPrivateFieldGet(this, _rendererContextTrashCan).add(prevRendererContext);
284
+ for (var item of _classPrivateFieldGet(this, _rendererContextTrashCan)) {
285
+ if (item) {
286
+ item.dispatchOnUnmount();
287
+ item.dispose();
288
+ }
289
+ }
290
+ _classPrivateFieldGet(this, _rendererContextTrashCan).clear();
291
+ setTheme(currentApp && (getLocalAppsTheme()[currentApp.id] || currentApp.theme) || "light");
292
+ setMode("default");
293
+ if (appChanged) {
294
+ _classPrivateFieldSet(this, _previousApp, previousApp);
295
+ window.dispatchEvent(new CustomEvent("app.change", {
296
+ detail: {
297
+ previousApp,
298
+ currentApp
299
+ }
300
+ }));
301
+ }
302
+ };
303
+ if (currentApp) {
304
+ var _storyboard$meta, _storyboard$meta2;
305
+ preCheckInstalledApps(storyboard);
306
+ var runtimeContext = _classPrivateFieldSet(this, _runtimeContext, {
307
+ app: currentApp,
308
+ location,
309
+ query: new URLSearchParams(location.search),
310
+ flags,
311
+ sys: _objectSpread(_objectSpread({}, getAuth()), getPageInfo()),
312
+ ctxStore: new DataStore("CTX"),
313
+ pendingPermissionsPreCheck: [preCheckPermissions(storyboard)],
314
+ tplStateStoreMap: new Map()
315
+ });
316
+ var rendererContext = _classPrivateFieldSet(this, _rendererContext, new RendererContext("router"));
317
+ _classPrivateFieldSet(this, _navConfig, undefined);
318
+ registerCustomTemplates(storyboard);
319
+ registerStoryboardFunctions((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.functions, currentApp);
320
+ collectContract((_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.contracts);
321
+ var failed = false;
322
+ var output;
323
+ try {
324
+ output = yield renderRoutes(renderRoot, storyboard.routes, runtimeContext, rendererContext);
325
+ if (output.unauthenticated) {
326
+ redirectToLogin();
327
+ return;
328
+ }
329
+ if (output.redirect) {
330
+ redirectTo(output.redirect.path, output.redirect.state);
331
+ return;
332
+ }
333
+ // Reset redirect count if no redirect is set.
334
+ _classPrivateFieldSet(this, _redirectCount, 0);
335
+ flushStableLoadBricks();
336
+ yield Promise.all([...output.blockingList, runtimeContext.ctxStore.waitForAll(), ...[...runtimeContext.tplStateStoreMap.values()].map(store => store.waitForAll()),
337
+ // Todo: load processors only when they would used in current rendering.
338
+ // loadProcessorsImperatively(
339
+ // strictCollectMemberUsage(
340
+ // [storyboard.routes, storyboard.meta?.customTemplates],
341
+ // "PROCESSORS",
342
+ // 2
343
+ // ),
344
+ // getBrickPackages()
345
+ // ),
346
+ ...runtimeContext.pendingPermissionsPreCheck]);
347
+ var menuConfs = yield Promise.all(output.menuRequests);
348
+ _classPrivateFieldSet(this, _navConfig, mergeMenuConfs(menuConfs));
349
+ } catch (error) {
350
+ // eslint-disable-next-line no-console
351
+ console.error("Router failed:", error);
352
+ if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {
353
+ redirectToLogin();
354
+ return;
355
+ } else if (error instanceof HttpAbortError) {
356
+ _classPrivateFieldGet(this, _rendererContextTrashCan).add(prevRendererContext);
357
+ return;
358
+ } else {
359
+ failed = true;
360
+ output = {
361
+ node: {
362
+ tag: RenderTag.BRICK,
363
+ type: "div",
364
+ properties: {
365
+ textContent: httpErrorToString(error)
366
+ },
367
+ runtimeContext: null,
368
+ return: renderRoot
369
+ },
370
+ blockingList: [],
371
+ menuRequests: []
372
+ };
373
+ }
374
+ }
375
+ renderRoot.child = output.node;
376
+ cleanUpPreviousRender();
377
+ if (output.route && output.route.type !== "routes" || failed) {
378
+ if (!failed) {
379
+ // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.
380
+ rendererContext.dispatchBeforePageLoad();
381
+ }
382
+ applyTheme();
383
+ applyMode();
384
+ mountTree(renderRoot);
385
+
386
+ // Scroll to top after each rendering.
387
+ // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md
388
+ window.scrollTo(0, 0);
389
+ if (!failed) {
390
+ rendererContext.dispatchPageLoad();
391
+ rendererContext.dispatchAnchorLoad();
392
+ rendererContext.dispatchOnMount();
393
+ rendererContext.initializeScrollIntoView();
394
+ rendererContext.initializeMediaChange();
395
+ }
396
+ return;
397
+ }
398
+ } else if (!window.NO_AUTH_GUARD && !isLoggedIn()) {
399
+ // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.
400
+ // Redirect to login if no storyboard is matched.
401
+ redirectToLogin();
402
+ return;
403
+ } else {
404
+ cleanUpPreviousRender();
405
+ }
406
+ applyTheme();
407
+ applyMode();
408
+ var node = {
409
+ tag: RenderTag.BRICK,
410
+ type: "div",
411
+ properties: {
412
+ textContent: "Page not found"
413
+ },
414
+ runtimeContext: null,
415
+ return: renderRoot
416
+ };
417
+ renderRoot.child = node;
418
+ mountTree(renderRoot);
419
+
420
+ // Scroll to top after each rendering.
421
+ window.scrollTo(0, 0);
422
+ });
423
+ return _render3.apply(this, arguments);
424
+ }
425
+ function mergeMenuConfs(menuConfs) {
426
+ var navConfig = {
427
+ breadcrumb: []
428
+ };
429
+ for (var menuConf of menuConfs) {
430
+ if (menuConf) {
431
+ var {
432
+ breadcrumb
433
+ } = menuConf;
434
+ if (breadcrumb) {
435
+ if (breadcrumb.overwrite) {
436
+ navConfig.breadcrumb = breadcrumb.items;
437
+ } else {
438
+ navConfig.breadcrumb.push(...breadcrumb.items);
439
+ }
440
+ }
441
+ }
442
+ }
443
+ return navConfig;
444
+ }
445
+ //# sourceMappingURL=Router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Router.js","names":["locationsAreEqual","flushStableLoadBricks","HttpAbortError","uniqueId","getHistory","renderRoutes","DataStore","clearResolveCache","mountTree","unmountTree","isOutsideApp","matchStoryboard","registerStoryboardFunctions","preCheckPermissions","RendererContext","applyMode","applyTheme","getLocalAppsTheme","setMode","setTheme","getRuntime","getAuth","isLoggedIn","getPageInfo","resetAllComputedMarks","handleHttpError","httpErrorToString","isUnauthenticatedError","abortPendingRequest","initAbortController","registerCustomTemplates","clearCollectWidgetContract","collectContract","fulfilStoryboard","RenderTag","preCheckInstalledApps","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_getBlockMessageBeforePageLave","WeakSet","_checkInfiniteRedirect","_queuedRender","_render","Router","constructor","storyboards","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Set","_classPrivateFieldSet","history","window","addEventListener","event","message","_classPrivateMethodGet","_getBlockMessageBeforePageLave2","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","listen","_classPrivateFieldGet2","_location$state","_classPrivateFieldGet3","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","_objectSpread","dispatchPageLeave","storyboard","pathname","reload","_queuedRender2","catch","detail","_classPrivateFieldGet4","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_checkInfiniteRedirect2","from","to","_this$redirectCount","_this$redirectCount2","Error","concat","search","_x","_queuedRender3","apply","arguments","_asyncToGenerator","_render2","nextLocation","_x2","_render3","_classPrivateFieldGet5","app","appChanged","id","flags","getFeatureFlags","prevRendererContext","redirectTo","add","replace","redirectToLogin","main","document","querySelector","portal","renderRoot","tag","ROOT","container","createPortal","cleanUpPreviousRender","item","dispatchOnUnmount","dispose","clear","theme","dispatchEvent","CustomEvent","_storyboard$meta","_storyboard$meta2","runtimeContext","query","URLSearchParams","sys","ctxStore","pendingPermissionsPreCheck","tplStateStoreMap","Map","rendererContext","meta","functions","contracts","failed","output","routes","unauthenticated","redirect","path","Promise","all","blockingList","waitForAll","values","map","store","menuConfs","menuRequests","mergeMenuConfs","error","console","NO_AUTH_GUARD","node","BRICK","type","properties","textContent","return","child","route","dispatchBeforePageLoad","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\nimport { flushStableLoadBricks } from \"@next-core/loader\";\nimport type {\n BreadcrumbItemConf,\n MicroApp,\n StaticMenuConf,\n Storyboard,\n} from \"@next-core/types\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport { uniqueId } from \"lodash\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport { RenderOutput, renderRoutes } from \"./Renderer.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { clearResolveCache } from \"./data/resolveData.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { isOutsideApp, matchStoryboard } from \"./matchStoryboard.js\";\nimport { registerStoryboardFunctions } from \"./compute/StoryboardFunctions.js\";\nimport { preCheckPermissions } from \"./checkPermissions.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport { getRuntime } from \"./Runtime.js\";\nimport { getAuth, isLoggedIn } from \"../auth.js\";\nimport { getPageInfo } from \"../getPageInfo.js\";\nimport type { RenderBrick, RenderRoot, RuntimeContext } from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport {\n handleHttpError,\n httpErrorToString,\n isUnauthenticatedError,\n} from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport {\n clearCollectWidgetContract,\n collectContract,\n} from \"./data/CollectContracts.js\";\nimport { fulfilStoryboard } from \"./loadBootstrapData.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { preCheckInstalledApps } from \"./checkInstalledApps.js\";\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #prevLocation!: NextLocation;\n #nextLocation?: NextLocation;\n #runtimeContext?: RuntimeContext;\n #rendererContext?: RendererContext;\n #rendererContextTrashCan = new Set<RendererContext | undefined>();\n #redirectCount = 0;\n #renderId?: string;\n #currentApp?: MicroApp;\n #previousApp?: MicroApp;\n #navConfig?: {\n breadcrumb?: BreadcrumbItemConf[];\n };\n\n constructor(storyboards: Storyboard[]) {\n this.#storyboards = storyboards;\n\n const history = getHistory();\n window.addEventListener(\"beforeunload\", (event) => {\n const message = this.#getBlockMessageBeforePageLave({});\n // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload\n if (message) {\n // Cancel the event\n // If you prevent default behavior in Mozilla Firefox prompt will always be shown\n event.preventDefault();\n // Chrome requires returnValue to be set\n event.returnValue = \"\";\n } else {\n // the absence of a returnValue property on the event will guarantee the browser unload happens\n delete event.returnValue;\n }\n });\n\n history.block((location, action) =>\n this.#getBlockMessageBeforePageLave({ location, action })\n );\n }\n\n getRenderId() {\n return this.#renderId;\n }\n\n getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return {\n currentApp: this.#currentApp,\n previousApp: this.#previousApp,\n };\n }\n\n getNavConfig() {\n return this.#navConfig;\n }\n\n #getBlockMessageBeforePageLave(detail: {\n location?: NextLocation;\n action?: Action;\n }): string | undefined {\n const history = getHistory();\n const previousMessage = history.getBlockMessage();\n this.#rendererContext?.dispatchBeforePageLeave(detail);\n const message = history.getBlockMessage();\n if (!previousMessage && message) {\n // Auto unblock only if new block was introduced by `onBeforePageLeave`.\n history.unblock();\n }\n return message;\n }\n\n #checkInfiniteRedirect(from: NextLocation, to: string): void {\n if (this.#redirectCount++ > 10) {\n throw new Error(\n `Infinite redirect detected: from \"${from.pathname}${from.search}${from.hash}\" to \"${to}\"`\n );\n }\n }\n\n bootstrap() {\n initAbortController();\n const history = getHistory();\n this.#prevLocation = history.location;\n history.listen((location, action) => {\n let ignoreRendering = false;\n const omittedLocationProps: Partial<NextLocation> = {\n hash: undefined,\n state: undefined,\n };\n // Omit the \"key\" when checking whether locations are equal in certain situations.\n if (\n // When current location is triggered by browser action of hash link.\n location.key === undefined ||\n // When current location is triggered by browser action of non-push-or-replace,\n // such as goBack or goForward,\n (action === \"POP\" &&\n // and the previous location was triggered by hash link,\n (this.#prevLocation.key === undefined ||\n // or the previous location specified notify false.\n this.#prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...this.#prevLocation, ...omittedLocationProps },\n { ...location, ...omittedLocationProps }\n ) ||\n (action !== \"POP\" && location.state?.notify === false)\n ) {\n // Ignore rendering if location not changed except hash, state and optional key.\n // Ignore rendering if notify is `false`.\n ignoreRendering = true;\n }\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n abortPendingRequest();\n this.#prevLocation = location;\n this.#rendererContext?.dispatchPageLeave();\n // this.locationContext.messageDispatcher.reset();\n\n if (action === \"POP\") {\n const storyboard = matchStoryboard(\n this.#storyboards,\n location.pathname\n );\n // When a browser action of goBack or goForward is performing,\n // force reload when the target page is a page of an outside app.\n if (isOutsideApp(storyboard)) {\n window.location.reload();\n return;\n }\n }\n\n if (this.#rendering) {\n this.#nextLocation = location;\n } else {\n // devtoolsHookEmit(\"locationChange\");\n this.#queuedRender(location).catch(handleHttpError);\n }\n });\n return this.#queuedRender(history.location);\n }\n\n async #queuedRender(location: NextLocation): Promise<void> {\n this.#rendering = true;\n try {\n await this.#render(location);\n } finally {\n this.#rendering = false;\n if (this.#nextLocation) {\n const nextLocation = this.#nextLocation;\n this.#nextLocation = undefined;\n await this.#queuedRender(nextLocation);\n }\n }\n }\n\n async #render(location: NextLocation): Promise<void> {\n this.#renderId = uniqueId(\"render-id-1\");\n\n resetAllComputedMarks();\n clearResolveCache();\n clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n const storyboard = matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n const currentApp = (this.#currentApp = storyboard?.app);\n\n // Storyboard maybe re-assigned, e.g. when open launchpad.\n const appChanged =\n previousApp && currentApp\n ? previousApp.id !== currentApp.id\n : previousApp !== currentApp;\n\n // TODO: handle favicon\n\n // Set `Router::#currentApp` before calling `getFeatureFlags()`\n const flags = getRuntime().getFeatureFlags();\n const prevRendererContext = this.#rendererContext;\n\n const redirectTo = (to: string, state?: NextHistoryState): void => {\n this.#rendererContextTrashCan.add(prevRendererContext);\n this.#checkInfiniteRedirect(location, to);\n history.replace(to, state);\n };\n\n const redirectToLogin = (): void => {\n const to = flags[\"sso-enabled\"] ? \"/sso-auth/login\" : \"/auth/login\";\n redirectTo(to, { from: location });\n };\n\n const main = document.querySelector(\"#main-mount-point\") as HTMLElement;\n const portal = document.querySelector(\"#portal-mount-point\") as HTMLElement;\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: main,\n createPortal: portal,\n };\n\n const cleanUpPreviousRender = (): void => {\n unmountTree(main);\n unmountTree(portal);\n\n // Note: redirects can lead to multiple trash renderer contexts.\n this.#rendererContextTrashCan.add(prevRendererContext);\n for (const item of this.#rendererContextTrashCan) {\n if (item) {\n item.dispatchOnUnmount();\n item.dispose();\n }\n }\n this.#rendererContextTrashCan.clear();\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (appChanged) {\n this.#previousApp = previousApp;\n window.dispatchEvent(\n new CustomEvent(\"app.change\", {\n detail: {\n previousApp,\n currentApp,\n },\n })\n );\n }\n };\n\n if (currentApp) {\n preCheckInstalledApps(storyboard);\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...getAuth(),\n ...getPageInfo(),\n },\n ctxStore: new DataStore(\"CTX\"),\n pendingPermissionsPreCheck: [preCheckPermissions(storyboard)],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n });\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"router\"\n ));\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n try {\n output = await renderRoutes(\n renderRoot,\n storyboard.routes,\n runtimeContext,\n rendererContext\n );\n if (output.unauthenticated) {\n redirectToLogin();\n return;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n\n flushStableLoadBricks();\n\n await Promise.all([\n ...output.blockingList,\n runtimeContext.ctxStore.waitForAll(),\n ...[...runtimeContext.tplStateStoreMap.values()].map((store) =>\n store.waitForAll()\n ),\n // Todo: load processors only when they would used in current rendering.\n // loadProcessorsImperatively(\n // strictCollectMemberUsage(\n // [storyboard.routes, storyboard.meta?.customTemplates],\n // \"PROCESSORS\",\n // 2\n // ),\n // getBrickPackages()\n // ),\n ...runtimeContext.pendingPermissionsPreCheck,\n ]);\n\n const menuConfs = await Promise.all(output.menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n redirectToLogin();\n return;\n } else if (error instanceof HttpAbortError) {\n this.#rendererContextTrashCan.add(prevRendererContext);\n return;\n } else {\n failed = true;\n output = {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error),\n },\n runtimeContext: null!,\n return: renderRoot,\n },\n blockingList: [],\n menuRequests: [],\n };\n }\n }\n renderRoot.child = output.node;\n\n cleanUpPreviousRender();\n\n if ((output.route && output.route.type !== \"routes\") || failed) {\n if (!failed) {\n // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n }\n\n return;\n }\n } else if (!window.NO_AUTH_GUARD && !isLoggedIn()) {\n // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.\n // Redirect to login if no storyboard is matched.\n redirectToLogin();\n return;\n } else {\n cleanUpPreviousRender();\n }\n\n applyTheme();\n applyMode();\n\n const node: RenderBrick = {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: \"Page not found\",\n },\n runtimeContext: null!,\n return: renderRoot,\n };\n renderRoot.child = node;\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n window.scrollTo(0, 0);\n }\n}\n\nfunction mergeMenuConfs(menuConfs: (StaticMenuConf | undefined)[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\n for (const menuConf of menuConfs) {\n if (menuConf) {\n const { breadcrumb } = menuConf;\n if (breadcrumb) {\n if (breadcrumb.overwrite) {\n navConfig.breadcrumb = breadcrumb.items;\n } else {\n navConfig.breadcrumb.push(...breadcrumb.items);\n }\n }\n }\n }\n return navConfig;\n}\n"],"mappings":";;;;;;;AAAA,SAAiBA,iBAAiB,QAAQ,SAAS;AACnD,SAASC,qBAAqB,QAAQ,mBAAmB;AAOzD,SAASC,cAAc,QAAQ,iBAAiB;AAChD,SAASC,QAAQ,QAAQ,QAAQ;AACjC,SAAyCC,UAAU,QAAQ,eAAe;AAC1E,SAAuBC,YAAY,QAAQ,eAAe;AAC1D,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,SAAS,EAAEC,WAAW,QAAQ,YAAY;AACnD,SAASC,YAAY,EAAEC,eAAe,QAAQ,sBAAsB;AACpE,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,eAAe,QAAQ,sBAAsB;AACtD,SACEC,SAAS,EACTC,UAAU,EACVC,iBAAiB,EACjBC,OAAO,EACPC,QAAQ,QACH,oBAAoB;AAC3B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,OAAO,EAAEC,UAAU,QAAQ,YAAY;AAChD,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,SAASC,qBAAqB,QAAQ,6BAA6B;AACnE,SACEC,eAAe,EACfC,iBAAiB,EACjBC,sBAAsB,QACjB,uBAAuB;AAC9B,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,sBAAsB;AAC/E,SAASC,uBAAuB,QAAQ,8BAA8B;AACtE,SACEC,0BAA0B,EAC1BC,eAAe,QACV,4BAA4B;AACnC,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,qBAAqB,QAAQ,yBAAyB;AAAC,IAAAC,YAAA,oBAAAC,OAAA;AAAA,IAAAC,UAAA,oBAAAD,OAAA;AAAA,IAAAE,aAAA,oBAAAF,OAAA;AAAA,IAAAG,aAAA,oBAAAH,OAAA;AAAA,IAAAI,eAAA,oBAAAJ,OAAA;AAAA,IAAAK,gBAAA,oBAAAL,OAAA;AAAA,IAAAM,wBAAA,oBAAAN,OAAA;AAAA,IAAAO,cAAA,oBAAAP,OAAA;AAAA,IAAAQ,SAAA,oBAAAR,OAAA;AAAA,IAAAS,WAAA,oBAAAT,OAAA;AAAA,IAAAU,YAAA,oBAAAV,OAAA;AAAA,IAAAW,UAAA,oBAAAX,OAAA;AAAA,IAAAY,8BAAA,oBAAAC,OAAA;AAAA,IAAAC,sBAAA,oBAAAD,OAAA;AAAA,IAAAE,aAAA,oBAAAF,OAAA;AAAA,IAAAG,OAAA,oBAAAH,OAAA;AAEhE,OAAO,MAAMI,MAAM,CAAC;EAgBlBC,WAAWA,CAACC,WAAyB,EAAE;IAAAC,2BAAA,OAAAJ,OAAA;IAAAI,2BAAA,OAAAL,aAAA;IAAAK,2BAAA,OAAAN,sBAAA;IAAAM,2BAAA,OAAAR,8BAAA;IAAAS,0BAAA,OAAAtB,YAAA;MAAAuB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAApB,UAAA;MAAAqB,QAAA;MAAAC,KAAA,EAd1B;IAAK;IAAAF,0BAAA,OAAAnB,aAAA;MAAAoB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAlB,aAAA;MAAAmB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAjB,eAAA;MAAAkB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAhB,gBAAA;MAAAiB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAf,wBAAA;MAAAgB,QAAA;MAAAC,KAAA,EAKS,IAAIC,GAAG;IAA+B;IAAAH,0BAAA,OAAAd,cAAA;MAAAe,QAAA;MAAAC,KAAA,EAChD;IAAC;IAAAF,0BAAA,OAAAb,SAAA;MAAAc,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAZ,WAAA;MAAAa,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAX,YAAA;MAAAY,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAV,UAAA;MAAAW,QAAA;MAAAC,KAAA;IAAA;IAShBE,qBAAA,KAAI,EAAA1B,YAAA,EAAgBoB,WAAW;IAE/B,IAAMO,QAAO,GAAG3D,UAAU,EAAE;IAC5B4D,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAGC,KAAK,IAAK;MACjD,IAAMC,OAAO,GAAAC,sBAAA,CAAG,IAAI,EAAAnB,8BAAA,EAAAoB,+BAAA,EAAAC,IAAA,CAAJ,IAAI,EAAgC,CAAC,CAAC,CAAC;MACvD;MACA,IAAIH,OAAO,EAAE;QACX;QACA;QACAD,KAAK,CAACK,cAAc,EAAE;QACtB;QACAL,KAAK,CAACM,WAAW,GAAG,EAAE;MACxB,CAAC,MAAM;QACL;QACA,OAAON,KAAK,CAACM,WAAW;MAC1B;IACF,CAAC,CAAC;IAEFT,QAAO,CAACU,KAAK,CAAC,CAACC,QAAQ,EAAEC,MAAM,KAAAP,sBAAA,CAC7B,IAAI,EAAAnB,8BAAA,EAAAoB,+BAAA,EAAAC,IAAA,CAAJ,IAAI,EAAgC;MAAEI,QAAQ;MAAEC;IAAO,CAAC,CAAC,CAC1D;EACH;EAEAC,WAAWA,CAAA,EAAG;IACZ,OAAAC,qBAAA,CAAO,IAAI,EAAAhC,SAAA;EACb;EAEAiC,iBAAiBA,CAAA,EAAG;IAClB,OAAAD,qBAAA,CAAO,IAAI,EAAApC,eAAA;EACb;EAEAsC,aAAaA,CAAA,EAAG;IACd,OAAO;MACLC,UAAU,EAAAH,qBAAA,CAAE,IAAI,EAAA/B,WAAA,CAAY;MAC5BmC,WAAW,EAAAJ,qBAAA,CAAE,IAAI,EAAA9B,YAAA;IACnB,CAAC;EACH;EAEAmC,YAAYA,CAAA,EAAG;IACb,OAAAL,qBAAA,CAAO,IAAI,EAAA7B,UAAA;EACb;EAyBAmC,SAASA,CAAA,EAAG;IACVtD,mBAAmB,EAAE;IACrB,IAAMkC,OAAO,GAAG3D,UAAU,EAAE;IAC5B0D,qBAAA,KAAI,EAAAvB,aAAA,EAAiBwB,OAAO,CAACW,QAAQ;IACrCX,OAAO,CAACqB,MAAM,CAAC,CAACV,QAAQ,EAAEC,MAAM,KAAK;MAAA,IAAAU,sBAAA,EAAAC,eAAA,EAAAC,sBAAA;MACnC,IAAIC,eAAe,GAAG,KAAK;MAC3B,IAAMC,oBAA2C,GAAG;QAClDC,IAAI,EAAEC,SAAS;QACfC,KAAK,EAAED;MACT,CAAC;MACD;MACA;MACE;MACAjB,QAAQ,CAACmB,GAAG,KAAKF,SAAS;MAC1B;MACA;MACChB,MAAM,KAAK,KAAK;MACf;MACCE,qBAAA,KAAI,EAAAtC,aAAA,EAAesD,GAAG,KAAKF,SAAS;MACnC;MACA,EAAAN,sBAAA,GAAAR,qBAAA,KAAI,EAAAtC,aAAA,EAAeqD,KAAK,cAAAP,sBAAA,uBAAxBA,sBAAA,CAA0BS,MAAM,MAAK,KAAK,CAAE,EAChD;QACAL,oBAAoB,CAACI,GAAG,GAAGF,SAAS;MACtC;MACA,IACE3F,iBAAiB,CAAA+F,aAAA,CAAAA,aAAA,KAAAlB,qBAAA,CACV,IAAI,EAAAtC,aAAA,IAAmBkD,oBAAoB,GAAAM,aAAA,CAAAA,aAAA,KAC3CrB,QAAQ,GAAKe,oBAAoB,EACvC,IACAd,MAAM,KAAK,KAAK,IAAI,EAAAW,eAAA,GAAAZ,QAAQ,CAACkB,KAAK,cAAAN,eAAA,uBAAdA,eAAA,CAAgBQ,MAAM,MAAK,KAAM,EACtD;QACA;QACA;QACAN,eAAe,GAAG,IAAI;MACxB;MACA,IAAIA,eAAe,EAAE;QACnB1B,qBAAA,KAAI,EAAAvB,aAAA,EAAiBmC,QAAQ;QAC7B;MACF;MACA9C,mBAAmB,EAAE;MACrBkC,qBAAA,KAAI,EAAAvB,aAAA,EAAiBmC,QAAQ;MAC7B,CAAAa,sBAAA,GAAAV,qBAAA,KAAI,EAAAnC,gBAAA,eAAA6C,sBAAA,uBAAJA,sBAAA,CAAuBS,iBAAiB,EAAE;MAC1C;;MAEA,IAAIrB,MAAM,KAAK,KAAK,EAAE;QACpB,IAAMsB,UAAU,GAAGtF,eAAe,CAAAkE,qBAAA,CAChC,IAAI,EAAAzC,YAAA,GACJsC,QAAQ,CAACwB,QAAQ,CAClB;QACD;QACA;QACA,IAAIxF,YAAY,CAACuF,UAAU,CAAC,EAAE;UAC5BjC,MAAM,CAACU,QAAQ,CAACyB,MAAM,EAAE;UACxB;QACF;MACF;MAEA,IAAAtB,qBAAA,CAAI,IAAI,EAAAvC,UAAA,GAAa;QACnBwB,qBAAA,KAAI,EAAAtB,aAAA,EAAiBkC,QAAQ;MAC/B,CAAC,MAAM;QACL;QACAN,sBAAA,KAAI,EAAAhB,aAAA,EAAAgD,cAAA,EAAA9B,IAAA,CAAJ,IAAI,EAAeI,QAAQ,EAAE2B,KAAK,CAAC5E,eAAe,CAAC;MACrD;IACF,CAAC,CAAC;IACF,OAAA2C,sBAAA,CAAO,IAAI,EAAAhB,aAAA,EAAAgD,cAAA,EAAA9B,IAAA,CAAJ,IAAI,EAAeP,OAAO,CAACW,QAAQ;EAC5C;AA2PF;AAAC,SAAAL,gCAnVgCiC,MAG9B,EAAsB;EAAA,IAAAC,sBAAA;EACrB,IAAMxC,OAAO,GAAG3D,UAAU,EAAE;EAC5B,IAAMoG,eAAe,GAAGzC,OAAO,CAAC0C,eAAe,EAAE;EACjD,CAAAF,sBAAA,GAAA1B,qBAAA,KAAI,EAAAnC,gBAAA,eAAA6D,sBAAA,uBAAJA,sBAAA,CAAuBG,uBAAuB,CAACJ,MAAM,CAAC;EACtD,IAAMnC,OAAO,GAAGJ,OAAO,CAAC0C,eAAe,EAAE;EACzC,IAAI,CAACD,eAAe,IAAIrC,OAAO,EAAE;IAC/B;IACAJ,OAAO,CAAC4C,OAAO,EAAE;EACnB;EACA,OAAOxC,OAAO;AAChB;AAAC,SAAAyC,wBAEsBC,IAAkB,EAAEC,EAAU,EAAQ;EAAA,IAAAC,mBAAA,EAAAC,oBAAA;EAC3D,IAAI,CAAAlD,qBAAA,KAAI,EAAAlB,cAAA,GAAAmE,mBAAA,GAAAlC,qBAAA,CAAJ,IAAI,EAAAjC,cAAA,GAAAoE,oBAAA,GAAAD,mBAAA,IAAAA,mBAAA,IAAAC,oBAAA,IAAoB,EAAE,EAAE;IAC9B,MAAM,IAAIC,KAAK,uCAAAC,MAAA,CACwBL,IAAI,CAACX,QAAQ,EAAAgB,MAAA,CAAGL,IAAI,CAACM,MAAM,EAAAD,MAAA,CAAGL,IAAI,CAACnB,IAAI,cAAAwB,MAAA,CAASJ,EAAE,QACxF;EACH;AACF;AAAC,SAAAV,eAAAgB,EAAA;EAAA,OAAAC,cAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,eAAA;EAAAA,cAAA,GAAAG,iBAAA,YAqEmB9C,QAAsB,EAAiB;IACzDZ,qBAAA,KAAI,EAAAxB,UAAA,EAAc,IAAI;IACtB,IAAI;MACF,MAAA8B,sBAAA,CAAM,IAAI,EAAAf,OAAA,EAAAoE,QAAA,EAAAnD,IAAA,CAAJ,IAAI,EAASI,QAAQ;IAC7B,CAAC,SAAS;MACRZ,qBAAA,KAAI,EAAAxB,UAAA,EAAc,KAAK;MACvB,IAAAuC,qBAAA,CAAI,IAAI,EAAArC,aAAA,GAAgB;QACtB,IAAMkF,YAAY,GAAA7C,qBAAA,CAAG,IAAI,EAAArC,aAAA,CAAc;QACvCsB,qBAAA,KAAI,EAAAtB,aAAA,EAAiBmD,SAAS;QAC9B,MAAAvB,sBAAA,CAAM,IAAI,EAAAhB,aAAA,EAAAgD,cAAA,EAAA9B,IAAA,CAAJ,IAAI,EAAeoD,YAAY;MACvC;IACF;EACF,CAAC;EAAA,OAAAL,cAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAE,SAAAE,GAAA;EAAA,OAAAC,QAAA,CAAAN,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAK,SAAA;EAAAA,QAAA,GAAAJ,iBAAA,YAEa9C,QAAsB,EAAiB;IAAA,IAAAmD,sBAAA;IACnD/D,qBAAA,KAAI,EAAAjB,SAAA,EAAa1C,QAAQ,CAAC,aAAa,CAAC;IAExCqB,qBAAqB,EAAE;IACvBjB,iBAAiB,EAAE;IACnBwB,0BAA0B,EAAE;IAE5B,IAAMgC,OAAO,GAAG3D,UAAU,EAAE;IAC5B2D,OAAO,CAAC4C,OAAO,EAAE;IAEjB,IAAMV,UAAU,GAAGtF,eAAe,CAAAkE,qBAAA,CAAC,IAAI,EAAAzC,YAAA,GAAesC,QAAQ,CAACwB,QAAQ,CAAC;IAExE,IAAMjB,WAAW,IAAA4C,sBAAA,GAAAhD,qBAAA,CAAG,IAAI,EAAApC,eAAA,eAAAoF,sBAAA,uBAAJA,sBAAA,CAAsBC,GAAG;IAC7C,IAAI7B,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAE6B,GAAG,EAAE;MACnB,MAAM7F,gBAAgB,CAACgE,UAAU,CAAC;IACpC;IACA,IAAMjB,UAAU,GAAAlB,qBAAA,CAAI,IAAI,EAAAhB,WAAA,EAAemD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE6B,GAAG,CAAC;;IAEvD;IACA,IAAMC,UAAU,GACd9C,WAAW,IAAID,UAAU,GACrBC,WAAW,CAAC+C,EAAE,KAAKhD,UAAU,CAACgD,EAAE,GAChC/C,WAAW,KAAKD,UAAU;;IAEhC;;IAEA;IACA,IAAMiD,KAAK,GAAG7G,UAAU,EAAE,CAAC8G,eAAe,EAAE;IAC5C,IAAMC,mBAAmB,GAAAtD,qBAAA,CAAG,IAAI,EAAAnC,gBAAA,CAAiB;IAEjD,IAAM0F,UAAU,GAAGA,CAACtB,EAAU,EAAElB,KAAwB,KAAW;MACjEf,qBAAA,KAAI,EAAAlC,wBAAA,EAA0B0F,GAAG,CAACF,mBAAmB,CAAC;MACtD/D,sBAAA,KAAI,EAAAjB,sBAAA,EAAAyD,uBAAA,EAAAtC,IAAA,CAAJ,IAAI,EAAwBI,QAAQ,EAAEoC,EAAE;MACxC/C,OAAO,CAACuE,OAAO,CAACxB,EAAE,EAAElB,KAAK,CAAC;IAC5B,CAAC;IAED,IAAM2C,eAAe,GAAGA,CAAA,KAAY;MAClC,IAAMzB,EAAE,GAAGmB,KAAK,CAAC,aAAa,CAAC,GAAG,iBAAiB,GAAG,aAAa;MACnEG,UAAU,CAACtB,EAAE,EAAE;QAAED,IAAI,EAAEnC;MAAS,CAAC,CAAC;IACpC,CAAC;IAED,IAAM8D,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,mBAAmB,CAAgB;IACvE,IAAMC,MAAM,GAAGF,QAAQ,CAACC,aAAa,CAAC,qBAAqB,CAAgB;IAE3E,IAAME,UAAsB,GAAG;MAC7BC,GAAG,EAAE3G,SAAS,CAAC4G,IAAI;MACnBC,SAAS,EAAEP,IAAI;MACfQ,YAAY,EAAEL;IAChB,CAAC;IAED,IAAMM,qBAAqB,GAAGA,CAAA,KAAY;MACxCxI,WAAW,CAAC+H,IAAI,CAAC;MACjB/H,WAAW,CAACkI,MAAM,CAAC;;MAEnB;MACA9D,qBAAA,KAAI,EAAAlC,wBAAA,EAA0B0F,GAAG,CAACF,mBAAmB,CAAC;MACtD,KAAK,IAAMe,IAAI,IAAArE,qBAAA,CAAI,IAAI,EAAAlC,wBAAA,GAA2B;QAChD,IAAIuG,IAAI,EAAE;UACRA,IAAI,CAACC,iBAAiB,EAAE;UACxBD,IAAI,CAACE,OAAO,EAAE;QAChB;MACF;MACAvE,qBAAA,KAAI,EAAAlC,wBAAA,EAA0B0G,KAAK,EAAE;MAErClI,QAAQ,CACL6D,UAAU,KACR/D,iBAAiB,EAAE,CAAC+D,UAAU,CAACgD,EAAE,CAAC,IAAIhD,UAAU,CAACsE,KAAK,CAAC,IACxD,OAAO,CACV;MACDpI,OAAO,CAAC,SAAS,CAAC;MAElB,IAAI6G,UAAU,EAAE;QACdjE,qBAAA,KAAI,EAAAf,YAAA,EAAgBkC,WAAW;QAC/BjB,MAAM,CAACuF,aAAa,CAClB,IAAIC,WAAW,CAAC,YAAY,EAAE;UAC5BlD,MAAM,EAAE;YACNrB,WAAW;YACXD;UACF;QACF,CAAC,CAAC,CACH;MACH;IACF,CAAC;IAED,IAAIA,UAAU,EAAE;MAAA,IAAAyE,gBAAA,EAAAC,iBAAA;MACdvH,qBAAqB,CAAC8D,UAAU,CAAC;MAEjC,IAAM0D,cAA8B,GAAA7F,qBAAA,CAAI,IAAI,EAAArB,eAAA,EAAmB;QAC7DqF,GAAG,EAAE9C,UAAU;QACfN,QAAQ;QACRkF,KAAK,EAAE,IAAIC,eAAe,CAACnF,QAAQ,CAACyC,MAAM,CAAC;QAC3Cc,KAAK;QACL6B,GAAG,EAAA/D,aAAA,CAAAA,aAAA,KACE1E,OAAO,EAAE,GACTE,WAAW,EAAE,CACjB;QACDwI,QAAQ,EAAE,IAAIzJ,SAAS,CAAC,KAAK,CAAC;QAC9B0J,0BAA0B,EAAE,CAACnJ,mBAAmB,CAACoF,UAAU,CAAC,CAAC;QAC7DgE,gBAAgB,EAAE,IAAIC,GAAG;MAC3B,CAAC,CAAC;MAEF,IAAMC,eAAe,GAAArG,qBAAA,CAAI,IAAI,EAAApB,gBAAA,EAAoB,IAAI5B,eAAe,CAClE,QAAQ,CACT,CAAC;MACFgD,qBAAA,KAAI,EAAAd,UAAA,EAAc2C,SAAS;MAE3B7D,uBAAuB,CAACmE,UAAU,CAAC;MACnCrF,2BAA2B,EAAA6I,gBAAA,GAACxD,UAAU,CAACmE,IAAI,cAAAX,gBAAA,uBAAfA,gBAAA,CAAiBY,SAAS,EAAErF,UAAU,CAAC;MACnEhD,eAAe,EAAA0H,iBAAA,GAACzD,UAAU,CAACmE,IAAI,cAAAV,iBAAA,uBAAfA,iBAAA,CAAiBY,SAAS,CAAC;MAE3C,IAAIC,MAAM,GAAG,KAAK;MAClB,IAAIC,MAAoB;MACxB,IAAI;QACFA,MAAM,SAASnK,YAAY,CACzBuI,UAAU,EACV3C,UAAU,CAACwE,MAAM,EACjBd,cAAc,EACdQ,eAAe,CAChB;QACD,IAAIK,MAAM,CAACE,eAAe,EAAE;UAC1BnC,eAAe,EAAE;UACjB;QACF;QACA,IAAIiC,MAAM,CAACG,QAAQ,EAAE;UACnBvC,UAAU,CAACoC,MAAM,CAACG,QAAQ,CAACC,IAAI,EAAEJ,MAAM,CAACG,QAAQ,CAAC/E,KAAK,CAAC;UACvD;QACF;QACA;QACA9B,qBAAA,KAAI,EAAAlB,cAAA,EAAkB,CAAC;QAEvB3C,qBAAqB,EAAE;QAEvB,MAAM4K,OAAO,CAACC,GAAG,CAAC,CAChB,GAAGN,MAAM,CAACO,YAAY,EACtBpB,cAAc,CAACI,QAAQ,CAACiB,UAAU,EAAE,EACpC,GAAG,CAAC,GAAGrB,cAAc,CAACM,gBAAgB,CAACgB,MAAM,EAAE,CAAC,CAACC,GAAG,CAAEC,KAAK,IACzDA,KAAK,CAACH,UAAU,EAAE,CACnB;QACD;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,GAAGrB,cAAc,CAACK,0BAA0B,CAC7C,CAAC;QAEF,IAAMoB,SAAS,SAASP,OAAO,CAACC,GAAG,CAACN,MAAM,CAACa,YAAY,CAAC;QACxDvH,qBAAA,KAAI,EAAAd,UAAA,EAAcsI,cAAc,CAACF,SAAS,CAAC;MAC7C,CAAC,CAAC,OAAOG,KAAK,EAAE;QACd;QACAC,OAAO,CAACD,KAAK,CAAC,gBAAgB,EAAEA,KAAK,CAAC;QAEtC,IAAI5J,sBAAsB,CAAC4J,KAAK,CAAC,IAAI,CAACvH,MAAM,CAACyH,aAAa,EAAE;UAC1DlD,eAAe,EAAE;UACjB;QACF,CAAC,MAAM,IAAIgD,KAAK,YAAYrL,cAAc,EAAE;UAC1C2E,qBAAA,KAAI,EAAAlC,wBAAA,EAA0B0F,GAAG,CAACF,mBAAmB,CAAC;UACtD;QACF,CAAC,MAAM;UACLoC,MAAM,GAAG,IAAI;UACbC,MAAM,GAAG;YACPkB,IAAI,EAAE;cACJ7C,GAAG,EAAE3G,SAAS,CAACyJ,KAAK;cACpBC,IAAI,EAAE,KAAK;cACXC,UAAU,EAAE;gBACVC,WAAW,EAAEpK,iBAAiB,CAAC6J,KAAK;cACtC,CAAC;cACD5B,cAAc,EAAE,IAAK;cACrBoC,MAAM,EAAEnD;YACV,CAAC;YACDmC,YAAY,EAAE,EAAE;YAChBM,YAAY,EAAE;UAChB,CAAC;QACH;MACF;MACAzC,UAAU,CAACoD,KAAK,GAAGxB,MAAM,CAACkB,IAAI;MAE9BzC,qBAAqB,EAAE;MAEvB,IAAKuB,MAAM,CAACyB,KAAK,IAAIzB,MAAM,CAACyB,KAAK,CAACL,IAAI,KAAK,QAAQ,IAAKrB,MAAM,EAAE;QAC9D,IAAI,CAACA,MAAM,EAAE;UACX;UACAJ,eAAe,CAAC+B,sBAAsB,EAAE;QAC1C;QACAlL,UAAU,EAAE;QACZD,SAAS,EAAE;QAEXP,SAAS,CAACoI,UAAU,CAAC;;QAErB;QACA;QACA5E,MAAM,CAACmI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QAErB,IAAI,CAAC5B,MAAM,EAAE;UACXJ,eAAe,CAACiC,gBAAgB,EAAE;UAClCjC,eAAe,CAACkC,kBAAkB,EAAE;UACpClC,eAAe,CAACmC,eAAe,EAAE;UACjCnC,eAAe,CAACoC,wBAAwB,EAAE;UAC1CpC,eAAe,CAACqC,qBAAqB,EAAE;QACzC;QAEA;MACF;IACF,CAAC,MAAM,IAAI,CAACxI,MAAM,CAACyH,aAAa,IAAI,CAACnK,UAAU,EAAE,EAAE;MACjD;MACA;MACAiH,eAAe,EAAE;MACjB;IACF,CAAC,MAAM;MACLU,qBAAqB,EAAE;IACzB;IAEAjI,UAAU,EAAE;IACZD,SAAS,EAAE;IAEX,IAAM2K,IAAiB,GAAG;MACxB7C,GAAG,EAAE3G,SAAS,CAACyJ,KAAK;MACpBC,IAAI,EAAE,KAAK;MACXC,UAAU,EAAE;QACVC,WAAW,EAAE;MACf,CAAC;MACDnC,cAAc,EAAE,IAAK;MACrBoC,MAAM,EAAEnD;IACV,CAAC;IACDA,UAAU,CAACoD,KAAK,GAAGN,IAAI;IAEvBlL,SAAS,CAACoI,UAAU,CAAC;;IAErB;IACA5E,MAAM,CAACmI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;EACvB,CAAC;EAAA,OAAAvE,QAAA,CAAAN,KAAA,OAAAC,SAAA;AAAA;AAGH,SAAS+D,cAAcA,CAACF,SAAyC,EAAE;EACjE,IAAMqB,SAAS,GAAG;IAChBC,UAAU,EAAE;EACd,CAAC;EACD,KAAK,IAAMC,QAAQ,IAAIvB,SAAS,EAAE;IAChC,IAAIuB,QAAQ,EAAE;MACZ,IAAM;QAAED;MAAW,CAAC,GAAGC,QAAQ;MAC/B,IAAID,UAAU,EAAE;QACd,IAAIA,UAAU,CAACE,SAAS,EAAE;UACxBH,SAAS,CAACC,UAAU,GAAGA,UAAU,CAACG,KAAK;QACzC,CAAC,MAAM;UACLJ,SAAS,CAACC,UAAU,CAACI,IAAI,CAAC,GAAGJ,UAAU,CAACG,KAAK,CAAC;QAChD;MACF;IACF;EACF;EACA,OAAOJ,SAAS;AAClB"}
@@ -0,0 +1,116 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import { i18n, initializeI18n } from "@next-core/i18n";
4
+ import moment from "moment";
5
+ import "moment/locale/zh-cn.js";
6
+ import { createHistory } from "../history.js";
7
+ import { matchStoryboard } from "./matchStoryboard.js";
8
+ import { Router } from "./Router.js";
9
+ import { loadCheckLogin } from "./loadCheckLogin.js";
10
+ import { loadBootstrapData } from "./loadBootstrapData.js";
11
+ var runtime;
12
+ var bootstrapData;
13
+ var router;
14
+ export function createRuntime() {
15
+ if (runtime) {
16
+ throw new Error("Cannot create multiple runtimes");
17
+ }
18
+ initializeI18n();
19
+ moment.locale(i18n.language);
20
+ i18n.on("languageChanged", () => {
21
+ moment.locale(i18n.language);
22
+ });
23
+ createHistory();
24
+ runtime = new Runtime();
25
+ return runtime;
26
+ }
27
+ export function getRuntime() {
28
+ return runtime;
29
+ }
30
+ export class Runtime {
31
+ bootstrap() {
32
+ return _asyncToGenerator(function* () {
33
+ var [, _bootstrapData] = yield Promise.all([loadCheckLogin(), loadBootstrapData()]);
34
+ bootstrapData = _bootstrapData;
35
+ router = new Router(_bootstrapData.storyboards);
36
+ yield router.bootstrap();
37
+ })();
38
+ }
39
+ getRecentApps() {
40
+ return router.getRecentApps();
41
+ }
42
+ getCurrentApp() {
43
+ return router.getRecentApps().currentApp;
44
+ }
45
+ getFeatureFlags() {
46
+ var _bootstrapData2, _bootstrapData2$setti, _router$getRecentApps, _router$getRecentApps2, _router$getRecentApps3;
47
+ return _objectSpread(_objectSpread(_objectSpread({}, (_bootstrapData2 = bootstrapData) === null || _bootstrapData2 === void 0 ? void 0 : (_bootstrapData2$setti = _bootstrapData2.settings) === null || _bootstrapData2$setti === void 0 ? void 0 : _bootstrapData2$setti.featureFlags), (_router$getRecentApps = router.getRecentApps().currentApp) === null || _router$getRecentApps === void 0 ? void 0 : (_router$getRecentApps2 = _router$getRecentApps.config) === null || _router$getRecentApps2 === void 0 ? void 0 : (_router$getRecentApps3 = _router$getRecentApps2.settings) === null || _router$getRecentApps3 === void 0 ? void 0 : _router$getRecentApps3.featureFlags), {}, {
48
+ "migrate-to-brick-next-v3": true
49
+ });
50
+ }
51
+ getMiscSettings() {
52
+ var _bootstrapData3, _bootstrapData3$setti, _router$getRecentApps4, _router$getRecentApps5, _router$getRecentApps6;
53
+ return _objectSpread(_objectSpread({}, (_bootstrapData3 = bootstrapData) === null || _bootstrapData3 === void 0 ? void 0 : (_bootstrapData3$setti = _bootstrapData3.settings) === null || _bootstrapData3$setti === void 0 ? void 0 : _bootstrapData3$setti.misc), (_router$getRecentApps4 = router.getRecentApps().currentApp) === null || _router$getRecentApps4 === void 0 ? void 0 : (_router$getRecentApps5 = _router$getRecentApps4.config) === null || _router$getRecentApps5 === void 0 ? void 0 : (_router$getRecentApps6 = _router$getRecentApps5.settings) === null || _router$getRecentApps6 === void 0 ? void 0 : _router$getRecentApps6.misc);
54
+ }
55
+ getBrandSettings() {
56
+ var _bootstrapData4, _bootstrapData4$setti;
57
+ return _objectSpread({
58
+ base_title: "DevOps 管理专家"
59
+ }, (_bootstrapData4 = bootstrapData) === null || _bootstrapData4 === void 0 ? void 0 : (_bootstrapData4$setti = _bootstrapData4.settings) === null || _bootstrapData4$setti === void 0 ? void 0 : _bootstrapData4$setti.brand);
60
+ }
61
+ getLaunchpadSettings() {
62
+ var _bootstrapData5, _bootstrapData5$setti;
63
+ return _objectSpread({
64
+ columns: 7,
65
+ rows: 4
66
+ }, (_bootstrapData5 = bootstrapData) === null || _bootstrapData5 === void 0 ? void 0 : (_bootstrapData5$setti = _bootstrapData5.settings) === null || _bootstrapData5$setti === void 0 ? void 0 : _bootstrapData5$setti.launchpad);
67
+ }
68
+ getDesktops() {
69
+ var _bootstrapData$deskto, _bootstrapData6;
70
+ return (_bootstrapData$deskto = (_bootstrapData6 = bootstrapData) === null || _bootstrapData6 === void 0 ? void 0 : _bootstrapData6.desktops) !== null && _bootstrapData$deskto !== void 0 ? _bootstrapData$deskto : [];
71
+ }
72
+ getLaunchpadSiteMap() {
73
+ var _bootstrapData$siteSo, _bootstrapData7;
74
+ return (_bootstrapData$siteSo = (_bootstrapData7 = bootstrapData) === null || _bootstrapData7 === void 0 ? void 0 : _bootstrapData7.siteSort) !== null && _bootstrapData$siteSo !== void 0 ? _bootstrapData$siteSo : [];
75
+ }
76
+ toggleLaunchpadEffect(open) {
77
+ document.body.classList.toggle("launchpad-open", open);
78
+ }
79
+ applyPageTitle(pageTitle) {
80
+ var baseTitle = this.getBrandSettings().base_title;
81
+ document.title = pageTitle ? "".concat(pageTitle, " - ").concat(baseTitle) : baseTitle;
82
+ }
83
+ getNavConfig() {
84
+ return router.getNavConfig();
85
+ }
86
+ }
87
+ export function _internalApiSetBootstrapData(data) {
88
+ bootstrapData = data;
89
+ }
90
+ export function getBrickPackages() {
91
+ var _bootstrapData$brickP, _bootstrapData8;
92
+ return (_bootstrapData$brickP = (_bootstrapData8 = bootstrapData) === null || _bootstrapData8 === void 0 ? void 0 : _bootstrapData8.brickPackages) !== null && _bootstrapData$brickP !== void 0 ? _bootstrapData$brickP : [];
93
+ }
94
+ export function _internalApiGetRenderId() {
95
+ return router.getRenderId();
96
+ }
97
+ export function _internalApiMatchStoryboard(pathname) {
98
+ var _bootstrapData$storyb, _bootstrapData9;
99
+ if (process.env.NODE_ENV === "test") {
100
+ return;
101
+ }
102
+ return matchStoryboard((_bootstrapData$storyb = (_bootstrapData9 = bootstrapData) === null || _bootstrapData9 === void 0 ? void 0 : _bootstrapData9.storyboards) !== null && _bootstrapData$storyb !== void 0 ? _bootstrapData$storyb : [], pathname);
103
+ }
104
+ export function _internalApiGetRuntimeContext() {
105
+ var _router;
106
+ return (_router = router) === null || _router === void 0 ? void 0 : _router.getRuntimeContext();
107
+ }
108
+ export function _internalApiGetStoryboardInBootstrapData(appId) {
109
+ var _bootstrapData10, _bootstrapData10$stor;
110
+ return (_bootstrapData10 = bootstrapData) === null || _bootstrapData10 === void 0 ? void 0 : (_bootstrapData10$stor = _bootstrapData10.storyboards) === null || _bootstrapData10$stor === void 0 ? void 0 : _bootstrapData10$stor.find(storyboard => storyboard.app.id === appId);
111
+ }
112
+ export function _internalApiGetAppInBootstrapData(appId) {
113
+ var _internalApiGetStoryb;
114
+ return (_internalApiGetStoryb = _internalApiGetStoryboardInBootstrapData(appId)) === null || _internalApiGetStoryb === void 0 ? void 0 : _internalApiGetStoryb.app;
115
+ }
116
+ //# sourceMappingURL=Runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Runtime.js","names":["i18n","initializeI18n","moment","createHistory","matchStoryboard","Router","loadCheckLogin","loadBootstrapData","runtime","bootstrapData","router","createRuntime","Error","locale","language","on","Runtime","getRuntime","bootstrap","_asyncToGenerator","_bootstrapData","Promise","all","storyboards","getRecentApps","getCurrentApp","currentApp","getFeatureFlags","_bootstrapData2","_bootstrapData2$setti","_router$getRecentApps","_router$getRecentApps2","_router$getRecentApps3","_objectSpread","settings","featureFlags","config","getMiscSettings","_bootstrapData3","_bootstrapData3$setti","_router$getRecentApps4","_router$getRecentApps5","_router$getRecentApps6","misc","getBrandSettings","_bootstrapData4","_bootstrapData4$setti","base_title","brand","getLaunchpadSettings","_bootstrapData5","_bootstrapData5$setti","columns","rows","launchpad","getDesktops","_bootstrapData$deskto","_bootstrapData6","desktops","getLaunchpadSiteMap","_bootstrapData$siteSo","_bootstrapData7","siteSort","toggleLaunchpadEffect","open","document","body","classList","toggle","applyPageTitle","pageTitle","baseTitle","title","concat","getNavConfig","_internalApiSetBootstrapData","data","getBrickPackages","_bootstrapData$brickP","_bootstrapData8","brickPackages","_internalApiGetRenderId","getRenderId","_internalApiMatchStoryboard","pathname","_bootstrapData$storyb","_bootstrapData9","process","env","NODE_ENV","_internalApiGetRuntimeContext","_router","getRuntimeContext","_internalApiGetStoryboardInBootstrapData","appId","_bootstrapData10","_bootstrapData10$stor","find","storyboard","app","id","_internalApiGetAppInBootstrapData","_internalApiGetStoryb"],"sources":["../../../src/internal/Runtime.ts"],"sourcesContent":["import type {\n RuntimeStoryboard,\n BootstrapSettings,\n FeatureFlags,\n BootstrapData,\n} from \"@next-core/types\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport moment from \"moment\";\nimport \"moment/locale/zh-cn.js\";\nimport { createHistory } from \"../history.js\";\nimport { matchStoryboard } from \"./matchStoryboard.js\";\nimport { Router } from \"./Router.js\";\nimport { loadCheckLogin } from \"./loadCheckLogin.js\";\nimport { loadBootstrapData } from \"./loadBootstrapData.js\";\n\nlet runtime: Runtime;\n\nlet bootstrapData: Partial<BootstrapData> | undefined;\nlet router!: Router;\n\nexport function createRuntime() {\n if (runtime) {\n throw new Error(\"Cannot create multiple runtimes\");\n }\n initializeI18n();\n moment.locale(i18n.language);\n i18n.on(\"languageChanged\", () => {\n moment.locale(i18n.language);\n });\n createHistory();\n runtime = new Runtime();\n return runtime;\n}\n\nexport function getRuntime() {\n return runtime;\n}\n\nexport class Runtime {\n async bootstrap() {\n const [, _bootstrapData] = await Promise.all([\n loadCheckLogin(),\n loadBootstrapData(),\n ]);\n bootstrapData = _bootstrapData;\n router = new Router(_bootstrapData.storyboards);\n await router.bootstrap();\n }\n\n getRecentApps() {\n return router.getRecentApps();\n }\n\n getCurrentApp() {\n return router.getRecentApps().currentApp;\n }\n\n getFeatureFlags(): FeatureFlags {\n return {\n ...bootstrapData?.settings?.featureFlags,\n ...(\n router.getRecentApps().currentApp?.config?.settings as BootstrapSettings\n )?.featureFlags,\n \"migrate-to-brick-next-v3\": true,\n };\n }\n\n getMiscSettings() {\n return {\n ...bootstrapData?.settings?.misc,\n ...(\n router.getRecentApps().currentApp?.config?.settings as BootstrapSettings\n )?.misc,\n };\n }\n\n getBrandSettings(): Record<string, string> {\n return {\n base_title: \"DevOps 管理专家\",\n ...(bootstrapData?.settings?.brand as Record<string, string>),\n // ...(kernel.getOriginFaviconHref()\n // ? { favicon: kernel.getOriginFaviconHref() }\n // : {})\n };\n }\n\n getLaunchpadSettings() {\n return {\n columns: 7,\n rows: 4,\n ...bootstrapData?.settings?.launchpad,\n };\n }\n\n getDesktops(): unknown[] {\n return bootstrapData?.desktops ?? [];\n }\n\n getLaunchpadSiteMap(): unknown[] {\n return bootstrapData?.siteSort ?? [];\n }\n\n toggleLaunchpadEffect(open: boolean): void {\n document.body.classList.toggle(\"launchpad-open\", open);\n }\n\n applyPageTitle(pageTitle: string): void {\n const baseTitle = this.getBrandSettings().base_title;\n document.title = pageTitle ? `${pageTitle} - ${baseTitle}` : baseTitle;\n }\n\n getNavConfig() {\n return router.getNavConfig();\n }\n}\n\nexport function _internalApiSetBootstrapData(data: Partial<BootstrapData>) {\n bootstrapData = data;\n}\n\nexport function getBrickPackages() {\n return bootstrapData?.brickPackages ?? [];\n}\n\nexport function _internalApiGetRenderId(): string | undefined {\n return router.getRenderId();\n}\n\nexport function _internalApiMatchStoryboard(\n pathname: string\n): RuntimeStoryboard | undefined {\n if (process.env.NODE_ENV === \"test\") {\n return;\n }\n return matchStoryboard(bootstrapData?.storyboards ?? [], pathname);\n}\n\nexport function _internalApiGetRuntimeContext() {\n return router?.getRuntimeContext();\n}\n\nexport function _internalApiGetStoryboardInBootstrapData(appId: string) {\n return bootstrapData?.storyboards?.find(\n (storyboard) => storyboard.app.id === appId\n );\n}\n\nexport function _internalApiGetAppInBootstrapData(appId: string) {\n return _internalApiGetStoryboardInBootstrapData(appId)?.app;\n}\n"],"mappings":"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"}