@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,448 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Router = void 0;
8
+ var _classPrivateMethodInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateMethodInitSpec"));
9
+ var _classPrivateFieldInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldInitSpec"));
10
+ var _classPrivateFieldGet6 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldGet"));
11
+ var _classPrivateMethodGet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateMethodGet"));
12
+ var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldSet"));
13
+ var _history2 = require("history");
14
+ var _loader = require("@next-core/loader");
15
+ var _http = require("@next-core/http");
16
+ var _lodash = require("lodash");
17
+ var _history3 = require("../history.js");
18
+ var _Renderer = require("./Renderer.js");
19
+ var _DataStore = require("./data/DataStore.js");
20
+ var _resolveData = require("./data/resolveData.js");
21
+ var _mount = require("./mount.js");
22
+ var _matchStoryboard = require("./matchStoryboard.js");
23
+ var _StoryboardFunctions = require("./compute/StoryboardFunctions.js");
24
+ var _checkPermissions = require("./checkPermissions.js");
25
+ var _RendererContext = require("./RendererContext.js");
26
+ var _themeAndMode = require("../themeAndMode.js");
27
+ var _Runtime = require("./Runtime.js");
28
+ var _auth = require("../auth.js");
29
+ var _getPageInfo = require("../getPageInfo.js");
30
+ var _markAsComputed = require("./compute/markAsComputed.js");
31
+ var _handleHttpError = require("../handleHttpError.js");
32
+ var _abortController = require("./abortController.js");
33
+ var _registerCustomTemplates = require("./registerCustomTemplates.js");
34
+ var _CollectContracts = require("./data/CollectContracts.js");
35
+ var _loadBootstrapData = require("./loadBootstrapData.js");
36
+ var _enums = require("./enums.js");
37
+ var _checkInstalledApps = require("./checkInstalledApps.js");
38
+ var _storyboards = /*#__PURE__*/new WeakMap();
39
+ var _rendering = /*#__PURE__*/new WeakMap();
40
+ var _prevLocation = /*#__PURE__*/new WeakMap();
41
+ var _nextLocation = /*#__PURE__*/new WeakMap();
42
+ var _runtimeContext = /*#__PURE__*/new WeakMap();
43
+ var _rendererContext = /*#__PURE__*/new WeakMap();
44
+ var _rendererContextTrashCan = /*#__PURE__*/new WeakMap();
45
+ var _redirectCount = /*#__PURE__*/new WeakMap();
46
+ var _renderId = /*#__PURE__*/new WeakMap();
47
+ var _currentApp = /*#__PURE__*/new WeakMap();
48
+ var _previousApp = /*#__PURE__*/new WeakMap();
49
+ var _navConfig = /*#__PURE__*/new WeakMap();
50
+ var _getBlockMessageBeforePageLave = /*#__PURE__*/new WeakSet();
51
+ var _checkInfiniteRedirect = /*#__PURE__*/new WeakSet();
52
+ var _queuedRender = /*#__PURE__*/new WeakSet();
53
+ var _render = /*#__PURE__*/new WeakSet();
54
+ class Router {
55
+ constructor(storyboards) {
56
+ (0, _classPrivateMethodInitSpec2.default)(this, _render);
57
+ (0, _classPrivateMethodInitSpec2.default)(this, _queuedRender);
58
+ (0, _classPrivateMethodInitSpec2.default)(this, _checkInfiniteRedirect);
59
+ (0, _classPrivateMethodInitSpec2.default)(this, _getBlockMessageBeforePageLave);
60
+ (0, _classPrivateFieldInitSpec2.default)(this, _storyboards, {
61
+ writable: true,
62
+ value: void 0
63
+ });
64
+ (0, _classPrivateFieldInitSpec2.default)(this, _rendering, {
65
+ writable: true,
66
+ value: false
67
+ });
68
+ (0, _classPrivateFieldInitSpec2.default)(this, _prevLocation, {
69
+ writable: true,
70
+ value: void 0
71
+ });
72
+ (0, _classPrivateFieldInitSpec2.default)(this, _nextLocation, {
73
+ writable: true,
74
+ value: void 0
75
+ });
76
+ (0, _classPrivateFieldInitSpec2.default)(this, _runtimeContext, {
77
+ writable: true,
78
+ value: void 0
79
+ });
80
+ (0, _classPrivateFieldInitSpec2.default)(this, _rendererContext, {
81
+ writable: true,
82
+ value: void 0
83
+ });
84
+ (0, _classPrivateFieldInitSpec2.default)(this, _rendererContextTrashCan, {
85
+ writable: true,
86
+ value: new Set()
87
+ });
88
+ (0, _classPrivateFieldInitSpec2.default)(this, _redirectCount, {
89
+ writable: true,
90
+ value: 0
91
+ });
92
+ (0, _classPrivateFieldInitSpec2.default)(this, _renderId, {
93
+ writable: true,
94
+ value: void 0
95
+ });
96
+ (0, _classPrivateFieldInitSpec2.default)(this, _currentApp, {
97
+ writable: true,
98
+ value: void 0
99
+ });
100
+ (0, _classPrivateFieldInitSpec2.default)(this, _previousApp, {
101
+ writable: true,
102
+ value: void 0
103
+ });
104
+ (0, _classPrivateFieldInitSpec2.default)(this, _navConfig, {
105
+ writable: true,
106
+ value: void 0
107
+ });
108
+ (0, _classPrivateFieldSet2.default)(this, _storyboards, storyboards);
109
+ const _history = (0, _history3.getHistory)();
110
+ window.addEventListener("beforeunload", event => {
111
+ const message = (0, _classPrivateMethodGet2.default)(this, _getBlockMessageBeforePageLave, _getBlockMessageBeforePageLave2).call(this, {});
112
+ // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload
113
+ if (message) {
114
+ // Cancel the event
115
+ // If you prevent default behavior in Mozilla Firefox prompt will always be shown
116
+ event.preventDefault();
117
+ // Chrome requires returnValue to be set
118
+ event.returnValue = "";
119
+ } else {
120
+ // the absence of a returnValue property on the event will guarantee the browser unload happens
121
+ delete event.returnValue;
122
+ }
123
+ });
124
+ _history.block((location, action) => (0, _classPrivateMethodGet2.default)(this, _getBlockMessageBeforePageLave, _getBlockMessageBeforePageLave2).call(this, {
125
+ location,
126
+ action
127
+ }));
128
+ }
129
+ getRenderId() {
130
+ return (0, _classPrivateFieldGet6.default)(this, _renderId);
131
+ }
132
+ getRuntimeContext() {
133
+ return (0, _classPrivateFieldGet6.default)(this, _runtimeContext);
134
+ }
135
+ getRecentApps() {
136
+ return {
137
+ currentApp: (0, _classPrivateFieldGet6.default)(this, _currentApp),
138
+ previousApp: (0, _classPrivateFieldGet6.default)(this, _previousApp)
139
+ };
140
+ }
141
+ getNavConfig() {
142
+ return (0, _classPrivateFieldGet6.default)(this, _navConfig);
143
+ }
144
+ bootstrap() {
145
+ (0, _abortController.initAbortController)();
146
+ const history = (0, _history3.getHistory)();
147
+ (0, _classPrivateFieldSet2.default)(this, _prevLocation, history.location);
148
+ history.listen((location, action) => {
149
+ var _classPrivateFieldGet2, _location$state, _classPrivateFieldGet3;
150
+ let ignoreRendering = false;
151
+ const omittedLocationProps = {
152
+ hash: undefined,
153
+ state: undefined
154
+ };
155
+ // Omit the "key" when checking whether locations are equal in certain situations.
156
+ if (
157
+ // When current location is triggered by browser action of hash link.
158
+ location.key === undefined ||
159
+ // When current location is triggered by browser action of non-push-or-replace,
160
+ // such as goBack or goForward,
161
+ action === "POP" && (
162
+ // and the previous location was triggered by hash link,
163
+ (0, _classPrivateFieldGet6.default)(this, _prevLocation).key === undefined ||
164
+ // or the previous location specified notify false.
165
+ ((_classPrivateFieldGet2 = (0, _classPrivateFieldGet6.default)(this, _prevLocation).state) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.notify) === false)) {
166
+ omittedLocationProps.key = undefined;
167
+ }
168
+ if ((0, _history2.locationsAreEqual)({
169
+ ...(0, _classPrivateFieldGet6.default)(this, _prevLocation),
170
+ ...omittedLocationProps
171
+ }, {
172
+ ...location,
173
+ ...omittedLocationProps
174
+ }) || action !== "POP" && ((_location$state = location.state) === null || _location$state === void 0 ? void 0 : _location$state.notify) === false) {
175
+ // Ignore rendering if location not changed except hash, state and optional key.
176
+ // Ignore rendering if notify is `false`.
177
+ ignoreRendering = true;
178
+ }
179
+ if (ignoreRendering) {
180
+ (0, _classPrivateFieldSet2.default)(this, _prevLocation, location);
181
+ return;
182
+ }
183
+ (0, _abortController.abortPendingRequest)();
184
+ (0, _classPrivateFieldSet2.default)(this, _prevLocation, location);
185
+ (_classPrivateFieldGet3 = (0, _classPrivateFieldGet6.default)(this, _rendererContext)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.dispatchPageLeave();
186
+ // this.locationContext.messageDispatcher.reset();
187
+
188
+ if (action === "POP") {
189
+ const storyboard = (0, _matchStoryboard.matchStoryboard)((0, _classPrivateFieldGet6.default)(this, _storyboards), location.pathname);
190
+ // When a browser action of goBack or goForward is performing,
191
+ // force reload when the target page is a page of an outside app.
192
+ if ((0, _matchStoryboard.isOutsideApp)(storyboard)) {
193
+ window.location.reload();
194
+ return;
195
+ }
196
+ }
197
+ if ((0, _classPrivateFieldGet6.default)(this, _rendering)) {
198
+ (0, _classPrivateFieldSet2.default)(this, _nextLocation, location);
199
+ } else {
200
+ // devtoolsHookEmit("locationChange");
201
+ (0, _classPrivateMethodGet2.default)(this, _queuedRender, _queuedRender2).call(this, location).catch(_handleHttpError.handleHttpError);
202
+ }
203
+ });
204
+ return (0, _classPrivateMethodGet2.default)(this, _queuedRender, _queuedRender2).call(this, history.location);
205
+ }
206
+ }
207
+ exports.Router = Router;
208
+ function _getBlockMessageBeforePageLave2(detail) {
209
+ var _classPrivateFieldGet4;
210
+ const history = (0, _history3.getHistory)();
211
+ const previousMessage = history.getBlockMessage();
212
+ (_classPrivateFieldGet4 = (0, _classPrivateFieldGet6.default)(this, _rendererContext)) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.dispatchBeforePageLeave(detail);
213
+ const message = history.getBlockMessage();
214
+ if (!previousMessage && message) {
215
+ // Auto unblock only if new block was introduced by `onBeforePageLeave`.
216
+ history.unblock();
217
+ }
218
+ return message;
219
+ }
220
+ function _checkInfiniteRedirect2(from, to) {
221
+ var _this$redirectCount, _this$redirectCount2;
222
+ if (((0, _classPrivateFieldSet2.default)(this, _redirectCount, (_this$redirectCount = (0, _classPrivateFieldGet6.default)(this, _redirectCount), _this$redirectCount2 = _this$redirectCount++, _this$redirectCount)), _this$redirectCount2) > 10) {
223
+ throw new Error(`Infinite redirect detected: from "${from.pathname}${from.search}${from.hash}" to "${to}"`);
224
+ }
225
+ }
226
+ async function _queuedRender2(location) {
227
+ (0, _classPrivateFieldSet2.default)(this, _rendering, true);
228
+ try {
229
+ await (0, _classPrivateMethodGet2.default)(this, _render, _render2).call(this, location);
230
+ } finally {
231
+ (0, _classPrivateFieldSet2.default)(this, _rendering, false);
232
+ if ((0, _classPrivateFieldGet6.default)(this, _nextLocation)) {
233
+ const nextLocation = (0, _classPrivateFieldGet6.default)(this, _nextLocation);
234
+ (0, _classPrivateFieldSet2.default)(this, _nextLocation, undefined);
235
+ await (0, _classPrivateMethodGet2.default)(this, _queuedRender, _queuedRender2).call(this, nextLocation);
236
+ }
237
+ }
238
+ }
239
+ async function _render2(location) {
240
+ var _classPrivateFieldGet5;
241
+ (0, _classPrivateFieldSet2.default)(this, _renderId, (0, _lodash.uniqueId)("render-id-1"));
242
+ (0, _markAsComputed.resetAllComputedMarks)();
243
+ (0, _resolveData.clearResolveCache)();
244
+ (0, _CollectContracts.clearCollectWidgetContract)();
245
+ const history = (0, _history3.getHistory)();
246
+ history.unblock();
247
+ const storyboard = (0, _matchStoryboard.matchStoryboard)((0, _classPrivateFieldGet6.default)(this, _storyboards), location.pathname);
248
+ const previousApp = (_classPrivateFieldGet5 = (0, _classPrivateFieldGet6.default)(this, _runtimeContext)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.app;
249
+ if (storyboard !== null && storyboard !== void 0 && storyboard.app) {
250
+ await (0, _loadBootstrapData.fulfilStoryboard)(storyboard);
251
+ }
252
+ const currentApp = (0, _classPrivateFieldSet2.default)(this, _currentApp, storyboard === null || storyboard === void 0 ? void 0 : storyboard.app);
253
+
254
+ // Storyboard maybe re-assigned, e.g. when open launchpad.
255
+ const appChanged = previousApp && currentApp ? previousApp.id !== currentApp.id : previousApp !== currentApp;
256
+
257
+ // TODO: handle favicon
258
+
259
+ // Set `Router::#currentApp` before calling `getFeatureFlags()`
260
+ const flags = (0, _Runtime.getRuntime)().getFeatureFlags();
261
+ const prevRendererContext = (0, _classPrivateFieldGet6.default)(this, _rendererContext);
262
+ const redirectTo = (to, state) => {
263
+ (0, _classPrivateFieldGet6.default)(this, _rendererContextTrashCan).add(prevRendererContext);
264
+ (0, _classPrivateMethodGet2.default)(this, _checkInfiniteRedirect, _checkInfiniteRedirect2).call(this, location, to);
265
+ history.replace(to, state);
266
+ };
267
+ const redirectToLogin = () => {
268
+ const to = flags["sso-enabled"] ? "/sso-auth/login" : "/auth/login";
269
+ redirectTo(to, {
270
+ from: location
271
+ });
272
+ };
273
+ const main = document.querySelector("#main-mount-point");
274
+ const portal = document.querySelector("#portal-mount-point");
275
+ const renderRoot = {
276
+ tag: _enums.RenderTag.ROOT,
277
+ container: main,
278
+ createPortal: portal
279
+ };
280
+ const cleanUpPreviousRender = () => {
281
+ (0, _mount.unmountTree)(main);
282
+ (0, _mount.unmountTree)(portal);
283
+
284
+ // Note: redirects can lead to multiple trash renderer contexts.
285
+ (0, _classPrivateFieldGet6.default)(this, _rendererContextTrashCan).add(prevRendererContext);
286
+ for (const item of (0, _classPrivateFieldGet6.default)(this, _rendererContextTrashCan)) {
287
+ if (item) {
288
+ item.dispatchOnUnmount();
289
+ item.dispose();
290
+ }
291
+ }
292
+ (0, _classPrivateFieldGet6.default)(this, _rendererContextTrashCan).clear();
293
+ (0, _themeAndMode.setTheme)(currentApp && ((0, _themeAndMode.getLocalAppsTheme)()[currentApp.id] || currentApp.theme) || "light");
294
+ (0, _themeAndMode.setMode)("default");
295
+ if (appChanged) {
296
+ (0, _classPrivateFieldSet2.default)(this, _previousApp, previousApp);
297
+ window.dispatchEvent(new CustomEvent("app.change", {
298
+ detail: {
299
+ previousApp,
300
+ currentApp
301
+ }
302
+ }));
303
+ }
304
+ };
305
+ if (currentApp) {
306
+ var _storyboard$meta, _storyboard$meta2;
307
+ (0, _checkInstalledApps.preCheckInstalledApps)(storyboard);
308
+ const runtimeContext = (0, _classPrivateFieldSet2.default)(this, _runtimeContext, {
309
+ app: currentApp,
310
+ location,
311
+ query: new URLSearchParams(location.search),
312
+ flags,
313
+ sys: {
314
+ ...(0, _auth.getAuth)(),
315
+ ...(0, _getPageInfo.getPageInfo)()
316
+ },
317
+ ctxStore: new _DataStore.DataStore("CTX"),
318
+ pendingPermissionsPreCheck: [(0, _checkPermissions.preCheckPermissions)(storyboard)],
319
+ tplStateStoreMap: new Map()
320
+ });
321
+ const rendererContext = (0, _classPrivateFieldSet2.default)(this, _rendererContext, new _RendererContext.RendererContext("router"));
322
+ (0, _classPrivateFieldSet2.default)(this, _navConfig, undefined);
323
+ (0, _registerCustomTemplates.registerCustomTemplates)(storyboard);
324
+ (0, _StoryboardFunctions.registerStoryboardFunctions)((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.functions, currentApp);
325
+ (0, _CollectContracts.collectContract)((_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.contracts);
326
+ let failed = false;
327
+ let output;
328
+ try {
329
+ output = await (0, _Renderer.renderRoutes)(renderRoot, storyboard.routes, runtimeContext, rendererContext);
330
+ if (output.unauthenticated) {
331
+ redirectToLogin();
332
+ return;
333
+ }
334
+ if (output.redirect) {
335
+ redirectTo(output.redirect.path, output.redirect.state);
336
+ return;
337
+ }
338
+ // Reset redirect count if no redirect is set.
339
+ (0, _classPrivateFieldSet2.default)(this, _redirectCount, 0);
340
+ (0, _loader.flushStableLoadBricks)();
341
+ await Promise.all([...output.blockingList, runtimeContext.ctxStore.waitForAll(), ...[...runtimeContext.tplStateStoreMap.values()].map(store => store.waitForAll()),
342
+ // Todo: load processors only when they would used in current rendering.
343
+ // loadProcessorsImperatively(
344
+ // strictCollectMemberUsage(
345
+ // [storyboard.routes, storyboard.meta?.customTemplates],
346
+ // "PROCESSORS",
347
+ // 2
348
+ // ),
349
+ // getBrickPackages()
350
+ // ),
351
+ ...runtimeContext.pendingPermissionsPreCheck]);
352
+ const menuConfs = await Promise.all(output.menuRequests);
353
+ (0, _classPrivateFieldSet2.default)(this, _navConfig, mergeMenuConfs(menuConfs));
354
+ } catch (error) {
355
+ // eslint-disable-next-line no-console
356
+ console.error("Router failed:", error);
357
+ if ((0, _handleHttpError.isUnauthenticatedError)(error) && !window.NO_AUTH_GUARD) {
358
+ redirectToLogin();
359
+ return;
360
+ } else if (error instanceof _http.HttpAbortError) {
361
+ (0, _classPrivateFieldGet6.default)(this, _rendererContextTrashCan).add(prevRendererContext);
362
+ return;
363
+ } else {
364
+ failed = true;
365
+ output = {
366
+ node: {
367
+ tag: _enums.RenderTag.BRICK,
368
+ type: "div",
369
+ properties: {
370
+ textContent: (0, _handleHttpError.httpErrorToString)(error)
371
+ },
372
+ runtimeContext: null,
373
+ return: renderRoot
374
+ },
375
+ blockingList: [],
376
+ menuRequests: []
377
+ };
378
+ }
379
+ }
380
+ renderRoot.child = output.node;
381
+ cleanUpPreviousRender();
382
+ if (output.route && output.route.type !== "routes" || failed) {
383
+ if (!failed) {
384
+ // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.
385
+ rendererContext.dispatchBeforePageLoad();
386
+ }
387
+ (0, _themeAndMode.applyTheme)();
388
+ (0, _themeAndMode.applyMode)();
389
+ (0, _mount.mountTree)(renderRoot);
390
+
391
+ // Scroll to top after each rendering.
392
+ // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md
393
+ window.scrollTo(0, 0);
394
+ if (!failed) {
395
+ rendererContext.dispatchPageLoad();
396
+ rendererContext.dispatchAnchorLoad();
397
+ rendererContext.dispatchOnMount();
398
+ rendererContext.initializeScrollIntoView();
399
+ rendererContext.initializeMediaChange();
400
+ }
401
+ return;
402
+ }
403
+ } else if (!window.NO_AUTH_GUARD && !(0, _auth.isLoggedIn)()) {
404
+ // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.
405
+ // Redirect to login if no storyboard is matched.
406
+ redirectToLogin();
407
+ return;
408
+ } else {
409
+ cleanUpPreviousRender();
410
+ }
411
+ (0, _themeAndMode.applyTheme)();
412
+ (0, _themeAndMode.applyMode)();
413
+ const node = {
414
+ tag: _enums.RenderTag.BRICK,
415
+ type: "div",
416
+ properties: {
417
+ textContent: "Page not found"
418
+ },
419
+ runtimeContext: null,
420
+ return: renderRoot
421
+ };
422
+ renderRoot.child = node;
423
+ (0, _mount.mountTree)(renderRoot);
424
+
425
+ // Scroll to top after each rendering.
426
+ window.scrollTo(0, 0);
427
+ }
428
+ function mergeMenuConfs(menuConfs) {
429
+ const navConfig = {
430
+ breadcrumb: []
431
+ };
432
+ for (const menuConf of menuConfs) {
433
+ if (menuConf) {
434
+ const {
435
+ breadcrumb
436
+ } = menuConf;
437
+ if (breadcrumb) {
438
+ if (breadcrumb.overwrite) {
439
+ navConfig.breadcrumb = breadcrumb.items;
440
+ } else {
441
+ navConfig.breadcrumb.push(...breadcrumb.items);
442
+ }
443
+ }
444
+ }
445
+ }
446
+ return navConfig;
447
+ }
448
+ //# sourceMappingURL=Router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Router.js","names":["_history2","require","_loader","_http","_lodash","_history3","_Renderer","_DataStore","_resolveData","_mount","_matchStoryboard","_StoryboardFunctions","_checkPermissions","_RendererContext","_themeAndMode","_Runtime","_auth","_getPageInfo","_markAsComputed","_handleHttpError","_abortController","_registerCustomTemplates","_CollectContracts","_loadBootstrapData","_enums","_checkInstalledApps","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_getBlockMessageBeforePageLave","WeakSet","_checkInfiniteRedirect","_queuedRender","_render","Router","constructor","storyboards","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","writable","value","Set","_classPrivateFieldSet2","history","getHistory","window","addEventListener","event","message","_classPrivateMethodGet2","_getBlockMessageBeforePageLave2","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet6","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","initAbortController","listen","_classPrivateFieldGet2","_location$state","_classPrivateFieldGet3","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","locationsAreEqual","abortPendingRequest","dispatchPageLeave","storyboard","matchStoryboard","pathname","isOutsideApp","reload","_queuedRender2","catch","handleHttpError","exports","detail","_classPrivateFieldGet4","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_checkInfiniteRedirect2","from","to","_this$redirectCount","_this$redirectCount2","Error","search","_render2","nextLocation","_classPrivateFieldGet5","uniqueId","resetAllComputedMarks","clearResolveCache","clearCollectWidgetContract","app","fulfilStoryboard","appChanged","id","flags","getRuntime","getFeatureFlags","prevRendererContext","redirectTo","add","replace","redirectToLogin","main","document","querySelector","portal","renderRoot","tag","RenderTag","ROOT","container","createPortal","cleanUpPreviousRender","unmountTree","item","dispatchOnUnmount","dispose","clear","setTheme","getLocalAppsTheme","theme","setMode","dispatchEvent","CustomEvent","_storyboard$meta","_storyboard$meta2","preCheckInstalledApps","runtimeContext","query","URLSearchParams","sys","getAuth","getPageInfo","ctxStore","DataStore","pendingPermissionsPreCheck","preCheckPermissions","tplStateStoreMap","Map","rendererContext","RendererContext","registerCustomTemplates","registerStoryboardFunctions","meta","functions","collectContract","contracts","failed","output","renderRoutes","routes","unauthenticated","redirect","path","flushStableLoadBricks","Promise","all","blockingList","waitForAll","values","map","store","menuConfs","menuRequests","mergeMenuConfs","error","console","isUnauthenticatedError","NO_AUTH_GUARD","HttpAbortError","node","BRICK","type","properties","textContent","httpErrorToString","return","child","route","dispatchBeforePageLoad","applyTheme","applyMode","mountTree","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","isLoggedIn","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":"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"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Runtime = void 0;
8
+ exports._internalApiGetAppInBootstrapData = _internalApiGetAppInBootstrapData;
9
+ exports._internalApiGetRenderId = _internalApiGetRenderId;
10
+ exports._internalApiGetRuntimeContext = _internalApiGetRuntimeContext;
11
+ exports._internalApiGetStoryboardInBootstrapData = _internalApiGetStoryboardInBootstrapData;
12
+ exports._internalApiMatchStoryboard = _internalApiMatchStoryboard;
13
+ exports._internalApiSetBootstrapData = _internalApiSetBootstrapData;
14
+ exports.createRuntime = createRuntime;
15
+ exports.getBrickPackages = getBrickPackages;
16
+ exports.getRuntime = getRuntime;
17
+ var _i18n = require("@next-core/i18n");
18
+ var _moment = _interopRequireDefault(require("moment"));
19
+ require("moment/locale/zh-cn.js");
20
+ var _history = require("../history.js");
21
+ var _matchStoryboard = require("./matchStoryboard.js");
22
+ var _Router = require("./Router.js");
23
+ var _loadCheckLogin = require("./loadCheckLogin.js");
24
+ var _loadBootstrapData = require("./loadBootstrapData.js");
25
+ let runtime;
26
+ let bootstrapData;
27
+ let router;
28
+ function createRuntime() {
29
+ if (runtime) {
30
+ throw new Error("Cannot create multiple runtimes");
31
+ }
32
+ (0, _i18n.initializeI18n)();
33
+ _moment.default.locale(_i18n.i18n.language);
34
+ _i18n.i18n.on("languageChanged", () => {
35
+ _moment.default.locale(_i18n.i18n.language);
36
+ });
37
+ (0, _history.createHistory)();
38
+ runtime = new Runtime();
39
+ return runtime;
40
+ }
41
+ function getRuntime() {
42
+ return runtime;
43
+ }
44
+ class Runtime {
45
+ async bootstrap() {
46
+ const [, _bootstrapData] = await Promise.all([(0, _loadCheckLogin.loadCheckLogin)(), (0, _loadBootstrapData.loadBootstrapData)()]);
47
+ bootstrapData = _bootstrapData;
48
+ router = new _Router.Router(_bootstrapData.storyboards);
49
+ await router.bootstrap();
50
+ }
51
+ getRecentApps() {
52
+ return router.getRecentApps();
53
+ }
54
+ getCurrentApp() {
55
+ return router.getRecentApps().currentApp;
56
+ }
57
+ getFeatureFlags() {
58
+ var _bootstrapData2, _bootstrapData2$setti, _router$getRecentApps, _router$getRecentApps2, _router$getRecentApps3;
59
+ return {
60
+ ...((_bootstrapData2 = bootstrapData) === null || _bootstrapData2 === void 0 ? void 0 : (_bootstrapData2$setti = _bootstrapData2.settings) === null || _bootstrapData2$setti === void 0 ? void 0 : _bootstrapData2$setti.featureFlags),
61
+ ...((_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),
62
+ "migrate-to-brick-next-v3": true
63
+ };
64
+ }
65
+ getMiscSettings() {
66
+ var _bootstrapData3, _bootstrapData3$setti, _router$getRecentApps4, _router$getRecentApps5, _router$getRecentApps6;
67
+ return {
68
+ ...((_bootstrapData3 = bootstrapData) === null || _bootstrapData3 === void 0 ? void 0 : (_bootstrapData3$setti = _bootstrapData3.settings) === null || _bootstrapData3$setti === void 0 ? void 0 : _bootstrapData3$setti.misc),
69
+ ...((_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)
70
+ };
71
+ }
72
+ getBrandSettings() {
73
+ var _bootstrapData4, _bootstrapData4$setti;
74
+ return {
75
+ base_title: "DevOps 管理专家",
76
+ ...((_bootstrapData4 = bootstrapData) === null || _bootstrapData4 === void 0 ? void 0 : (_bootstrapData4$setti = _bootstrapData4.settings) === null || _bootstrapData4$setti === void 0 ? void 0 : _bootstrapData4$setti.brand)
77
+ // ...(kernel.getOriginFaviconHref()
78
+ // ? { favicon: kernel.getOriginFaviconHref() }
79
+ // : {})
80
+ };
81
+ }
82
+
83
+ getLaunchpadSettings() {
84
+ var _bootstrapData5, _bootstrapData5$setti;
85
+ return {
86
+ columns: 7,
87
+ rows: 4,
88
+ ...((_bootstrapData5 = bootstrapData) === null || _bootstrapData5 === void 0 ? void 0 : (_bootstrapData5$setti = _bootstrapData5.settings) === null || _bootstrapData5$setti === void 0 ? void 0 : _bootstrapData5$setti.launchpad)
89
+ };
90
+ }
91
+ getDesktops() {
92
+ var _bootstrapData$deskto, _bootstrapData6;
93
+ return (_bootstrapData$deskto = (_bootstrapData6 = bootstrapData) === null || _bootstrapData6 === void 0 ? void 0 : _bootstrapData6.desktops) !== null && _bootstrapData$deskto !== void 0 ? _bootstrapData$deskto : [];
94
+ }
95
+ getLaunchpadSiteMap() {
96
+ var _bootstrapData$siteSo, _bootstrapData7;
97
+ return (_bootstrapData$siteSo = (_bootstrapData7 = bootstrapData) === null || _bootstrapData7 === void 0 ? void 0 : _bootstrapData7.siteSort) !== null && _bootstrapData$siteSo !== void 0 ? _bootstrapData$siteSo : [];
98
+ }
99
+ toggleLaunchpadEffect(open) {
100
+ document.body.classList.toggle("launchpad-open", open);
101
+ }
102
+ applyPageTitle(pageTitle) {
103
+ const baseTitle = this.getBrandSettings().base_title;
104
+ document.title = pageTitle ? `${pageTitle} - ${baseTitle}` : baseTitle;
105
+ }
106
+ getNavConfig() {
107
+ return router.getNavConfig();
108
+ }
109
+ }
110
+ exports.Runtime = Runtime;
111
+ function _internalApiSetBootstrapData(data) {
112
+ bootstrapData = data;
113
+ }
114
+ function getBrickPackages() {
115
+ var _bootstrapData$brickP, _bootstrapData8;
116
+ return (_bootstrapData$brickP = (_bootstrapData8 = bootstrapData) === null || _bootstrapData8 === void 0 ? void 0 : _bootstrapData8.brickPackages) !== null && _bootstrapData$brickP !== void 0 ? _bootstrapData$brickP : [];
117
+ }
118
+ function _internalApiGetRenderId() {
119
+ return router.getRenderId();
120
+ }
121
+ function _internalApiMatchStoryboard(pathname) {
122
+ var _bootstrapData$storyb, _bootstrapData9;
123
+ if (process.env.NODE_ENV === "test") {
124
+ return;
125
+ }
126
+ return (0, _matchStoryboard.matchStoryboard)((_bootstrapData$storyb = (_bootstrapData9 = bootstrapData) === null || _bootstrapData9 === void 0 ? void 0 : _bootstrapData9.storyboards) !== null && _bootstrapData$storyb !== void 0 ? _bootstrapData$storyb : [], pathname);
127
+ }
128
+ function _internalApiGetRuntimeContext() {
129
+ var _router;
130
+ return (_router = router) === null || _router === void 0 ? void 0 : _router.getRuntimeContext();
131
+ }
132
+ function _internalApiGetStoryboardInBootstrapData(appId) {
133
+ var _bootstrapData10, _bootstrapData10$stor;
134
+ 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);
135
+ }
136
+ function _internalApiGetAppInBootstrapData(appId) {
137
+ var _internalApiGetStoryb;
138
+ return (_internalApiGetStoryb = _internalApiGetStoryboardInBootstrapData(appId)) === null || _internalApiGetStoryb === void 0 ? void 0 : _internalApiGetStoryb.app;
139
+ }
140
+ //# sourceMappingURL=Runtime.js.map