@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 @@
1
+ {"version":3,"file":"historyExtended.js","names":["_history","require","_getBasePath","_Runtime","_matchStoryboard","blocked","getUserConfirmation","message","callback","confirm","historyExtended","browserHistory","push","originalPush","replace","originalReplace","location","state","updateQueryFactory","method","updateQuery","query","options","extraQuery","clear","keepHash","urlSearchParams","URLSearchParams","search","params","Object","assign","key","value","entries","Array","isArray","delete","item","append","undefined","set","toString","hash","pushAnchor","notify","reload","blockMessage","setBlockMessage","getBlockMessage","unblock","pushQuery","replaceQuery","historyOverridden","updateFactory","update","path","pathname","pathIsString","parsePath","startsWith","isOutsideApp","_internalApiMatchStoryboard","getBasePath","substring","createHref"],"sources":["../../../src/internal/historyExtended.ts"],"sourcesContent":["import {\n History,\n LocationDescriptor,\n LocationDescriptorObject,\n parsePath,\n} from \"history\";\nimport { getBasePath } from \"../getBasePath.js\";\nimport { _internalApiMatchStoryboard } from \"./Runtime.js\";\nimport { isOutsideApp } from \"./matchStoryboard.js\";\n\nlet blocked = false;\nexport function getUserConfirmation(\n message: string,\n callback: (result: boolean) => void\n): void {\n blocked = !confirm(message);\n callback(!blocked);\n}\n\nexport function historyExtended(\n browserHistory: History<NextHistoryState>\n): ExtendedHistory {\n const { push: originalPush, replace: originalReplace } = browserHistory;\n\n function push(\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n blocked = false;\n originalPush(location, state);\n callback?.(blocked);\n }\n\n function replace(\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n blocked = false;\n originalReplace(location, state);\n callback?.(blocked);\n }\n\n function updateQueryFactory(method: \"push\" | \"replace\"): UpdateQueryFunction {\n return function updateQuery(query, options = {}, callback?): void {\n const { extraQuery, clear, keepHash, ...state } = options;\n const urlSearchParams = new URLSearchParams(\n clear ? \"\" : browserHistory.location.search\n );\n const params: Record<string, string | string[]> = {};\n Object.assign(params, query, extraQuery);\n for (const [key, value] of Object.entries(params)) {\n if (Array.isArray(value)) {\n urlSearchParams.delete(key);\n for (const item of value) {\n urlSearchParams.append(key, item);\n }\n } else if (value === undefined || value === null || value === \"\") {\n urlSearchParams.delete(key);\n } else {\n urlSearchParams.set(key, value);\n }\n }\n (method === \"push\" ? push : replace)(\n `?${urlSearchParams.toString()}${\n keepHash ? browserHistory.location.hash : \"\"\n }`,\n state,\n callback\n );\n };\n }\n\n function pushAnchor(\n hash: string,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n push(\n {\n ...browserHistory.location,\n key: undefined,\n hash,\n state: {\n // The default notify is false\n notify: false,\n ...state,\n },\n },\n undefined,\n callback\n );\n }\n\n function reload(callback?: (blocked: boolean) => void): void {\n replace(\n {\n ...browserHistory.location,\n state: {\n ...browserHistory.location.state,\n // Always notify\n notify: true,\n },\n },\n undefined,\n callback\n );\n }\n\n let blockMessage: string | undefined;\n\n function setBlockMessage(message: string | undefined): void {\n blockMessage = message;\n }\n\n function getBlockMessage(): string | undefined {\n return blockMessage;\n }\n\n function unblock(): void {\n blockMessage = undefined;\n }\n\n return {\n pushQuery: updateQueryFactory(\"push\"),\n replaceQuery: updateQueryFactory(\"replace\"),\n pushAnchor: pushAnchor,\n reload,\n setBlockMessage,\n getBlockMessage,\n unblock,\n ...historyOverridden({ ...browserHistory, push, replace }),\n };\n}\n\n/**\n * Override history for standalone micro apps.\n *\n * when `push` or `replace` to other apps, force page refresh.\n */\nfunction historyOverridden(\n browserHistory: History<NextHistoryState> &\n Pick<ExtendedHistory, \"push\" | \"replace\">\n): Pick<ExtendedHistory, \"push\" | \"replace\"> {\n const { push: originalPush, replace: originalReplace } = browserHistory;\n function updateFactory(method: \"push\" | \"replace\"): ExtendedHistory[\"push\"] {\n return function update(path, state?, callback?) {\n let pathname: string | undefined;\n const pathIsString = typeof path === \"string\";\n if (pathIsString) {\n pathname = parsePath(path).pathname;\n } else {\n pathname = path.pathname;\n }\n\n // When history.push or history.replace is performing with an absolute pathname,\n // force load the target page when it is a page of an outside app.\n if (\n typeof pathname === \"string\" &&\n pathname.startsWith(\"/\") &&\n isOutsideApp(_internalApiMatchStoryboard(pathname))\n ) {\n // Going to outside apps.\n return location[method === \"push\" ? \"assign\" : \"replace\"](\n pathIsString\n ? getBasePath() + path.substring(1)\n : browserHistory.createHref(\n path as LocationDescriptorObject<NextHistoryState>\n )\n );\n }\n\n return (method === \"push\" ? originalPush : originalReplace)(\n path as string,\n state,\n callback\n );\n };\n }\n return {\n push: updateFactory(\"push\"),\n replace: updateFactory(\"replace\"),\n };\n}\n\nexport interface NextHistoryState {\n notify?: boolean;\n from?: LocationDescriptor<NextHistoryState>;\n}\n\n/**\n * 扩展的系统会话对象。\n */\nexport interface ExtendedHistory {\n /**\n * 更新指定的 query 参数,会保留当前其它 query 参数,往浏览器会话历史栈中推入一条新记录。\n */\n pushQuery: UpdateQueryFunction;\n\n /**\n * 更新指定的 query 参数,会保留当前其它 query 参数,替换浏览器会话历史栈中最新的一条记录。\n */\n replaceQuery: UpdateQueryFunction;\n\n /** {@inheritDoc UpdateAnchorFunction} */\n pushAnchor: UpdateAnchorFunction;\n\n /** 重载当前会话,即触发页面重新渲染。与 location.reload() 不同,它不会触发浏览器页面的重载。 */\n reload: (callback?: (blocked: boolean) => void) => void;\n\n /** @internal */\n setBlockMessage: (message: string | undefined) => void;\n\n /** @internal */\n getBlockMessage: () => string | undefined;\n\n /** 取消之前设置的阻止页面离开信息的设置。 */\n unblock: () => void;\n\n /** 推入一条记录。*/\n push: (\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ) => void;\n\n /** 替换一条记录。*/\n replace: (\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ) => void;\n}\n\n/**\n * 更新指定的 query 参数。\n *\n * @param query - 要更新的 query 参数。\n * @param options - 选项。\n */\nexport type UpdateQueryFunction = (\n query: Record<string, unknown>,\n options?: UpdateQueryOptions,\n callback?: (blocked: boolean) => void\n) => void;\n\n/** 更新 query 参数时的选项 */\nexport interface UpdateQueryOptions extends NextHistoryState {\n /** 额外要更新的 query 参数。 */\n extraQuery?: Record<string, unknown>;\n /** 是否同时清除当前的所有其它 query 参数。 */\n clear?: boolean;\n /** 是否保留当前 hash 参数。 */\n keepHash?: boolean;\n}\n\n/**\n * 设置指定的 anchor (URL hash)地址,此方法默认不会触发页面重新渲染。\n * 往浏览器会话历史栈中推入一条新记录。\n *\n * @param hash - Hash 地址。\n * @param state - 会话状态设置。\n */\nexport type UpdateAnchorFunction = (\n hash: string,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n) => void;\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","names":[],"sources":["../../../src/internal/interfaces.ts"],"sourcesContent":["import type { LegacyCompatibleRuntimeContext } from \"@next-core/inject\";\nimport type {\n BrickEventHandler,\n BrickEventsMap,\n CustomTemplateProxy,\n CustomTemplateProxyBasicProperty,\n CustomTemplateProxySlot,\n SlotsConfOfBricks,\n} from \"@next-core/types\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { RenderTag } from \"./enums.js\";\n\nexport interface RuntimeContext extends LegacyCompatibleRuntimeContext {\n ctxStore: DataStore<\"CTX\">;\n tplStateStoreMap: Map<string, DataStore<\"STATE\">>;\n pendingPermissionsPreCheck: (Promise<unknown> | undefined)[];\n tplStateStoreId?: string;\n forEachItem?: unknown;\n appendI18nNamespace?: string;\n}\n\nexport type AsyncProperties = Promise<Record<string, unknown>>;\n\nexport interface ElementHolder {\n element?: HTMLElement | null;\n}\n\nexport interface RenderRoot extends BaseRenderNode {\n tag: RenderTag.ROOT;\n container?: HTMLElement | DocumentFragment;\n createPortal:\n | HTMLElement\n | DocumentFragment\n | (() => HTMLElement | DocumentFragment);\n}\n\nexport interface RenderBrick extends BaseRenderNode, RuntimeBrick {\n tag: RenderTag.BRICK;\n return: RenderNode;\n hasTrackingControls?: boolean;\n}\n\nexport interface BaseRenderNode {\n tag: RenderTag;\n child?: RenderBrick;\n sibling?: RenderBrick;\n return?: RenderNode | null;\n childElements?: HTMLElement[];\n}\n\nexport type RenderNode = RenderRoot | RenderBrick;\n\nexport interface RuntimeBrick {\n type: string;\n properties?: Record<string, unknown>;\n events?: BrickEventsMap;\n slotId?: string;\n element?: RuntimeBrickElement | null;\n iid?: string;\n runtimeContext: RuntimeContext;\n tplHostMetadata?: TemplateHostMetadata;\n portal?: boolean;\n ref?: string;\n}\n\nexport type MetaInfoOfEventListener = [\n string,\n // For compatibility of devtools, leave the second argument there.\n null | undefined,\n BrickEventHandler\n];\n\nexport type RememberedEventListener = [string, EventListener];\n\nexport interface RuntimeBrickElement extends HTMLElement {\n $$typeof?: \"brick\" | \"provider\" | \"custom-template\" | \"native\" | \"invalid\";\n /** Meta info of listeners, for devtools only */\n $$eventListeners?: MetaInfoOfEventListener[];\n /** Remembered listeners for unbinding */\n $$listeners?: RememberedEventListener[];\n /** Remembered proxy listeners for unbinding */\n $$proxyListeners?: RememberedEventListener[];\n /** Find element by ref in a custom template */\n $$getElementByRef?: (ref: string) => HTMLElement | null | undefined;\n $$tplStateStore?: DataStore<\"STATE\">;\n}\n\nexport interface TemplateHostMetadata {\n internalBricksByRef: Map<string, RuntimeBrick>;\n tplStateStoreId: string;\n proxy?: CustomTemplateProxy;\n}\n\nexport type TemplateHostBrick = RuntimeBrick & {\n tplHostMetadata: TemplateHostMetadata;\n};\n\nexport interface TemplateHostContext {\n reversedProxies: ReversedProxies;\n asyncHostProperties?: AsyncProperties;\n externalSlots?: SlotsConfOfBricks;\n tplStateStoreId: string;\n hostBrick: TemplateHostBrick;\n}\n\ninterface ReversedProxies {\n properties: Map<string, ReversedPropertyProxy[]>;\n slots: Map<string, ReversedSlotProxy[]>;\n}\n\ninterface ReversedPropertyProxy {\n from: string;\n to: CustomTemplateProxyBasicProperty;\n}\n\ninterface ReversedSlotProxy {\n from: string;\n to: CustomTemplateProxySlot;\n}\n"],"mappings":""}
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.fulfilStoryboard = fulfilStoryboard;
7
+ exports.loadBootstrapData = loadBootstrapData;
8
+ exports.safeGetRuntimeMicroAppStandalone = safeGetRuntimeMicroAppStandalone;
9
+ var _apiGatewaySdk = require("@next-api-sdk/api-gateway-sdk");
10
+ var _http = require("@next-core/http");
11
+ var _i18n = require("@next-core/i18n");
12
+ var _general = require("@next-core/utils/general");
13
+ var _lodash = require("lodash");
14
+ var _jsYaml = require("js-yaml");
15
+ var _microAppStandaloneSdk = require("@next-api-sdk/micro-app-standalone-sdk");
16
+ var _registerAppI18n = require("./registerAppI18n.js");
17
+ async function loadBootstrapData() {
18
+ const data = await (window.STANDALONE_MICRO_APPS ? standaloneBootstrap() : (0, _apiGatewaySdk.BootstrapV2Api_bootstrapV2)({
19
+ appFields: "defaultConfig,userConfig,locales,name,homepage,id,currentVersion,installStatus,internal,status,icons,standaloneMode",
20
+ ignoreTemplateFields: "templates",
21
+ ignoreBrickFields: "bricks,processors,providers,editors"
22
+ }));
23
+ for (const {
24
+ app
25
+ } of data.storyboards) {
26
+ if (app.locales) {
27
+ // Prefix to avoid conflict between brick package's i18n namespace.
28
+ const ns = `tmp/${app.id}`;
29
+ // Support any languages in `app.locales`.
30
+ Object.entries(app.locales).forEach(([lang, resources]) => {
31
+ _i18n.i18n.addResourceBundle(lang, ns, resources);
32
+ });
33
+ // Use `app.name` as the fallback `app.localeName`.
34
+ app.localeName = _i18n.i18n.getFixedT(null, ns)("name", app.name);
35
+ // Remove the temporary i18n resource bundles.
36
+ Object.keys(app.locales).forEach(lang => {
37
+ _i18n.i18n.removeResourceBundle(lang, ns);
38
+ });
39
+ } else {
40
+ app.localeName = app.name;
41
+ }
42
+ }
43
+ if ((0, _general.isObject)(data.settings)) {
44
+ (0, _general.deepFreeze)(data.settings);
45
+ }
46
+ data.brickPackages = (0, _general.deepFreeze)(data.brickPackages);
47
+ return data;
48
+ }
49
+ async function standaloneBootstrap() {
50
+ const requests = [
51
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
52
+ _http.http.get(window.BOOTSTRAP_FILE), _http.http.get(`${window.APP_ROOT}conf.yaml`, {
53
+ responseType: "text"
54
+ }), (0, _apiGatewaySdk.BootstrapStandaloneApi_runtimeStandalone)().catch(error => {
55
+ // make it not crash when the backend service is not updated.
56
+ // eslint-disable-next-line no-console
57
+ console.warn("request runtime api from api-gateway failed: ", error, ", something might went wrong running standalone micro app");
58
+ })];
59
+ if (!window.NO_AUTH_GUARD) {
60
+ let matches;
61
+ const appId = window.APP_ID || (window.APP_ROOT && (matches = window.APP_ROOT.match(/^(?:(?:\/next)?\/)?sa-static\/([^/]+)\/versions\//)) ? matches[1] : null);
62
+ if (appId) {
63
+ // No need to wait.
64
+ safeGetRuntimeMicroAppStandalone(appId);
65
+ }
66
+ }
67
+ const [bootstrapResult, confString, runtimeData] = await Promise.all(requests);
68
+ mergeConf(bootstrapResult, confString);
69
+ mergeRuntimeSettings(bootstrapResult, runtimeData === null || runtimeData === void 0 ? void 0 : runtimeData.settings);
70
+ return bootstrapResult;
71
+ }
72
+ function mergeConf(bootstrapResult, confString) {
73
+ let conf;
74
+ try {
75
+ conf = confString ? (0, _jsYaml.safeLoad)(confString, {
76
+ schema: _jsYaml.JSON_SCHEMA,
77
+ json: true
78
+ }) : undefined;
79
+ } catch (error) {
80
+ // eslint-disable-next-line no-console
81
+ console.error("Parse conf.yaml failed", error);
82
+ throw new Error("Invalid conf.yaml");
83
+ }
84
+ if (conf) {
85
+ const {
86
+ sys_settings,
87
+ user_config,
88
+ user_config_by_apps
89
+ } = conf;
90
+ if (sys_settings) {
91
+ const {
92
+ feature_flags: featureFlags,
93
+ ...rest
94
+ } = sys_settings;
95
+ bootstrapResult.settings = {
96
+ featureFlags,
97
+ ...rest
98
+ };
99
+ }
100
+ if (user_config && bootstrapResult.storyboards.length === 1) {
101
+ bootstrapResult.storyboards[0].app.userConfig = user_config;
102
+ } else if (user_config_by_apps) {
103
+ for (const {
104
+ app
105
+ } of bootstrapResult.storyboards) {
106
+ if ((0, _general.hasOwnProperty)(user_config_by_apps, app.id)) {
107
+ app.userConfig = user_config_by_apps[app.id];
108
+ }
109
+ }
110
+ }
111
+ }
112
+ }
113
+ function mergeRuntimeSettings(bootstrapResult, runtimeSettings) {
114
+ var _bootstrapResult$sett;
115
+ if (!runtimeSettings) {
116
+ return;
117
+ }
118
+ // Merge Feature Flags & Misc
119
+ const {
120
+ featureFlags,
121
+ misc,
122
+ ...rest
123
+ } = runtimeSettings;
124
+ const settings = (_bootstrapResult$sett = bootstrapResult.settings) !== null && _bootstrapResult$sett !== void 0 ? _bootstrapResult$sett : bootstrapResult.settings = {};
125
+ settings.featureFlags = {
126
+ ...settings.featureFlags,
127
+ ...featureFlags
128
+ };
129
+ settings.misc = {
130
+ ...settings.misc,
131
+ ...misc
132
+ };
133
+ Object.assign(settings, rest);
134
+ }
135
+ const appRuntimeDataMap = new Map();
136
+ async function safeGetRuntimeMicroAppStandalone(appId) {
137
+ if (appRuntimeDataMap.has(appId)) {
138
+ return appRuntimeDataMap.get(appId);
139
+ }
140
+ const promise = (0, _microAppStandaloneSdk.RuntimeApi_runtimeMicroAppStandalone)(appId).catch(error => {
141
+ // make it not crash when the backend service is not updated.
142
+ // eslint-disable-next-line no-console
143
+ console.warn("request standalone runtime api from micro-app-standalone failed: ", error, ", something might went wrong running standalone micro app");
144
+ });
145
+ appRuntimeDataMap.set(appId, promise);
146
+ return promise;
147
+ }
148
+ async function fulfilStoryboard(storyboard) {
149
+ if (storyboard.$$fulfilled) {
150
+ return;
151
+ }
152
+ if (!storyboard.$$fulfilling) {
153
+ storyboard.$$fulfilling = doFulfilStoryboard(storyboard);
154
+ }
155
+ return storyboard.$$fulfilling;
156
+ }
157
+ async function doFulfilStoryboard(storyboard) {
158
+ if (window.STANDALONE_MICRO_APPS) {
159
+ Object.assign(storyboard, {
160
+ $$fulfilled: true,
161
+ $$fulfilling: null
162
+ });
163
+ if (!window.NO_AUTH_GUARD) {
164
+ let appRuntimeData;
165
+ try {
166
+ // Note: the request maybe have fired already during bootstrap.
167
+ appRuntimeData = await safeGetRuntimeMicroAppStandalone(storyboard.app.id);
168
+ } catch (error) {
169
+ // make it not crash when the backend service is not updated.
170
+ // eslint-disable-next-line no-console
171
+ console.warn("request standalone runtime api from micro-app-standalone failed: ", error, ", something might went wrong running standalone micro app");
172
+ }
173
+ if (appRuntimeData) {
174
+ const {
175
+ userConfig,
176
+ injectMenus
177
+ } = appRuntimeData;
178
+ // Merge `app.defaultConfig` and `app.userConfig` to `app.config`.
179
+ storyboard.app.userConfig = {
180
+ ...storyboard.app.userConfig,
181
+ ...userConfig
182
+ };
183
+
184
+ // Initialize `overrideApp.config` in `injectMenus`
185
+ initializeInjectMenus(injectMenus);
186
+
187
+ // get inject menus (Actually, appRuntimeData contains both main and inject menus)
188
+ storyboard.meta = {
189
+ ...storyboard.meta,
190
+ injectMenus
191
+ };
192
+ }
193
+ }
194
+ } else {
195
+ const {
196
+ routes,
197
+ meta,
198
+ app
199
+ } = await (0, _apiGatewaySdk.BootstrapV2Api_getAppStoryboardV2)(storyboard.app.id, {});
200
+ Object.assign(storyboard, {
201
+ routes,
202
+ meta,
203
+ app: {
204
+ ...storyboard.app,
205
+ ...app
206
+ },
207
+ $$fulfilled: true,
208
+ $$fulfilling: null
209
+ });
210
+ }
211
+ (0, _registerAppI18n.registerAppI18n)(storyboard);
212
+ initializeAppConfig(storyboard.app);
213
+ }
214
+ function initializeAppConfig(app) {
215
+ app.config = (0, _general.deepFreeze)((0, _lodash.merge)({}, app.defaultConfig, app.userConfig));
216
+ }
217
+ function initializeInjectMenus(menus) {
218
+ if (!Array.isArray(menus)) {
219
+ return;
220
+ }
221
+ for (const menu of menus) {
222
+ if (menu.overrideApp) {
223
+ initializeAppConfig(menu.overrideApp);
224
+ }
225
+ }
226
+ }
227
+ //# sourceMappingURL=loadBootstrapData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadBootstrapData.js","names":["_apiGatewaySdk","require","_http","_i18n","_general","_lodash","_jsYaml","_microAppStandaloneSdk","_registerAppI18n","loadBootstrapData","data","window","STANDALONE_MICRO_APPS","standaloneBootstrap","BootstrapV2Api_bootstrapV2","appFields","ignoreTemplateFields","ignoreBrickFields","app","storyboards","locales","ns","id","Object","entries","forEach","lang","resources","i18n","addResourceBundle","localeName","getFixedT","name","keys","removeResourceBundle","isObject","settings","deepFreeze","brickPackages","requests","http","get","BOOTSTRAP_FILE","APP_ROOT","responseType","BootstrapStandaloneApi_runtimeStandalone","catch","error","console","warn","NO_AUTH_GUARD","matches","appId","APP_ID","match","safeGetRuntimeMicroAppStandalone","bootstrapResult","confString","runtimeData","Promise","all","mergeConf","mergeRuntimeSettings","conf","safeLoad","schema","JSON_SCHEMA","json","undefined","Error","sys_settings","user_config","user_config_by_apps","feature_flags","featureFlags","rest","length","userConfig","hasOwnProperty","runtimeSettings","_bootstrapResult$sett","misc","assign","appRuntimeDataMap","Map","has","promise","RuntimeApi_runtimeMicroAppStandalone","set","fulfilStoryboard","storyboard","$$fulfilled","$$fulfilling","doFulfilStoryboard","appRuntimeData","injectMenus","initializeInjectMenus","meta","routes","BootstrapV2Api_getAppStoryboardV2","registerAppI18n","initializeAppConfig","config","merge","defaultConfig","menus","Array","isArray","menu","overrideApp"],"sources":["../../../src/internal/loadBootstrapData.ts"],"sourcesContent":["import {\n BootstrapStandaloneApi_runtimeStandalone,\n BootstrapV2Api_bootstrapV2,\n BootstrapV2Api_getAppStoryboardV2,\n} from \"@next-api-sdk/api-gateway-sdk\";\nimport { http } from \"@next-core/http\";\nimport type {\n BootstrapData,\n BootstrapSettings,\n MicroApp,\n RuntimeStoryboard,\n} from \"@next-core/types\";\nimport { i18n } from \"@next-core/i18n\";\nimport { deepFreeze, hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { merge } from \"lodash\";\nimport { JSON_SCHEMA, safeLoad } from \"js-yaml\";\nimport { RuntimeApi_runtimeMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { MenuRawData } from \"./menu/interfaces.js\";\n\ninterface StandaloneConf {\n /** The same as `auth.bootstrap.sys_settings` in api gateway conf. */\n sys_settings: StandaloneSettings;\n\n /** For fully standalone micro-apps. */\n user_config?: Record<string, unknown>;\n\n /** For mixed standalone micro-apps. */\n user_config_by_apps?: UserConfigByApps;\n}\n\ntype UserConfigByApps = Record<string, Record<string, unknown>>;\n\ninterface StandaloneSettings extends Omit<BootstrapSettings, \"featureFlags\"> {\n feature_flags: Record<string, boolean>;\n}\n\nexport async function loadBootstrapData(): Promise<BootstrapData> {\n const data = await (window.STANDALONE_MICRO_APPS\n ? standaloneBootstrap()\n : (BootstrapV2Api_bootstrapV2({\n appFields:\n \"defaultConfig,userConfig,locales,name,homepage,id,currentVersion,installStatus,internal,status,icons,standaloneMode\",\n ignoreTemplateFields: \"templates\",\n ignoreBrickFields: \"bricks,processors,providers,editors\",\n }) as Promise<BootstrapData>));\n\n for (const { app } of data.storyboards) {\n if (app.locales) {\n // Prefix to avoid conflict between brick package's i18n namespace.\n const ns = `tmp/${app.id}`;\n // Support any languages in `app.locales`.\n Object.entries(app.locales).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, ns, resources);\n });\n // Use `app.name` as the fallback `app.localeName`.\n app.localeName = i18n.getFixedT(null, ns)(\"name\", app.name) as string;\n // Remove the temporary i18n resource bundles.\n Object.keys(app.locales).forEach((lang) => {\n i18n.removeResourceBundle(lang, ns);\n });\n } else {\n app.localeName = app.name;\n }\n }\n\n if (isObject(data.settings)) {\n deepFreeze(data.settings);\n }\n data.brickPackages = deepFreeze(data.brickPackages);\n\n return data;\n}\n\nasync function standaloneBootstrap(): Promise<BootstrapData> {\n const requests = [\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n http.get<BootstrapData>(window.BOOTSTRAP_FILE!),\n http.get<string>(`${window.APP_ROOT}conf.yaml`, {\n responseType: \"text\",\n }),\n BootstrapStandaloneApi_runtimeStandalone().catch((error) => {\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.warn(\n \"request runtime api from api-gateway failed: \",\n error,\n \", something might went wrong running standalone micro app\"\n );\n }),\n ] as const;\n\n if (!window.NO_AUTH_GUARD) {\n let matches: string[] | null;\n const appId =\n window.APP_ID ||\n (window.APP_ROOT &&\n (matches = window.APP_ROOT.match(\n /^(?:(?:\\/next)?\\/)?sa-static\\/([^/]+)\\/versions\\//\n ))\n ? matches[1]\n : null);\n if (appId) {\n // No need to wait.\n safeGetRuntimeMicroAppStandalone(appId);\n }\n }\n\n const [bootstrapResult, confString, runtimeData] = await Promise.all(\n requests\n );\n\n mergeConf(bootstrapResult, confString);\n\n mergeRuntimeSettings(bootstrapResult, runtimeData?.settings);\n\n return bootstrapResult;\n}\n\nfunction mergeConf(bootstrapResult: BootstrapData, confString: string) {\n let conf: StandaloneConf | undefined;\n try {\n conf = confString\n ? (safeLoad(confString, {\n schema: JSON_SCHEMA,\n json: true,\n }) as StandaloneConf)\n : undefined;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse conf.yaml failed\", error);\n throw new Error(\"Invalid conf.yaml\");\n }\n\n if (conf) {\n const { sys_settings, user_config, user_config_by_apps } = conf;\n if (sys_settings) {\n const { feature_flags: featureFlags, ...rest } = sys_settings;\n bootstrapResult.settings = {\n featureFlags,\n ...rest,\n } as BootstrapSettings;\n }\n if (user_config && bootstrapResult.storyboards.length === 1) {\n bootstrapResult.storyboards[0].app.userConfig = user_config;\n } else if (user_config_by_apps) {\n for (const { app } of bootstrapResult.storyboards) {\n if (hasOwnProperty(user_config_by_apps, app.id)) {\n app.userConfig = user_config_by_apps[app.id];\n }\n }\n }\n }\n}\n\nfunction mergeRuntimeSettings(\n bootstrapResult: BootstrapData,\n runtimeSettings: BootstrapSettings | undefined\n) {\n if (!runtimeSettings) {\n return;\n }\n // Merge Feature Flags & Misc\n const { featureFlags, misc, ...rest } = runtimeSettings;\n const settings = (bootstrapResult.settings ??= {});\n settings.featureFlags = {\n ...settings.featureFlags,\n ...featureFlags,\n };\n settings.misc = {\n ...settings.misc,\n ...misc,\n };\n Object.assign(settings, rest);\n}\n\nconst appRuntimeDataMap = new Map<\n string,\n Promise<RuntimeMicroAppStandaloneData | undefined>\n>();\n\ninterface RuntimeMicroAppStandaloneData {\n userConfig?: Record<string, unknown>;\n injectMenus?: MenuRawData[];\n}\n\nexport async function safeGetRuntimeMicroAppStandalone(appId: string) {\n if (appRuntimeDataMap.has(appId)) {\n return appRuntimeDataMap.get(appId);\n }\n const promise = RuntimeApi_runtimeMicroAppStandalone(appId).catch((error) => {\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.warn(\n \"request standalone runtime api from micro-app-standalone failed: \",\n error,\n \", something might went wrong running standalone micro app\"\n );\n }) as Promise<RuntimeMicroAppStandaloneData | undefined>;\n appRuntimeDataMap.set(appId, promise);\n return promise;\n}\n\nexport async function fulfilStoryboard(storyboard: RuntimeStoryboard) {\n if (storyboard.$$fulfilled) {\n return;\n }\n if (!storyboard.$$fulfilling) {\n storyboard.$$fulfilling = doFulfilStoryboard(storyboard);\n }\n return storyboard.$$fulfilling;\n}\n\nasync function doFulfilStoryboard(storyboard: RuntimeStoryboard) {\n if (window.STANDALONE_MICRO_APPS) {\n Object.assign(storyboard, {\n $$fulfilled: true,\n $$fulfilling: null,\n });\n if (!window.NO_AUTH_GUARD) {\n let appRuntimeData: RuntimeMicroAppStandaloneData | void;\n try {\n // Note: the request maybe have fired already during bootstrap.\n appRuntimeData = await safeGetRuntimeMicroAppStandalone(\n storyboard.app.id\n );\n } catch (error) {\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.warn(\n \"request standalone runtime api from micro-app-standalone failed: \",\n error,\n \", something might went wrong running standalone micro app\"\n );\n }\n if (appRuntimeData) {\n const { userConfig, injectMenus } = appRuntimeData;\n // Merge `app.defaultConfig` and `app.userConfig` to `app.config`.\n storyboard.app.userConfig = {\n ...storyboard.app.userConfig,\n ...userConfig,\n };\n\n // Initialize `overrideApp.config` in `injectMenus`\n initializeInjectMenus(injectMenus);\n\n // get inject menus (Actually, appRuntimeData contains both main and inject menus)\n storyboard.meta = {\n ...storyboard.meta,\n injectMenus,\n };\n }\n }\n } else {\n const { routes, meta, app } = await BootstrapV2Api_getAppStoryboardV2(\n storyboard.app.id,\n {}\n );\n Object.assign(storyboard, {\n routes,\n meta,\n app: { ...storyboard.app, ...app },\n $$fulfilled: true,\n $$fulfilling: null,\n });\n }\n\n registerAppI18n(storyboard);\n\n initializeAppConfig(storyboard.app);\n}\n\nfunction initializeAppConfig(app: MicroApp) {\n app.config = deepFreeze(merge({}, app.defaultConfig, app.userConfig));\n}\n\nfunction initializeInjectMenus(menus: MenuRawData[] | undefined) {\n if (!Array.isArray(menus)) {\n return;\n }\n for (const menu of menus) {\n if (menu.overrideApp) {\n initializeAppConfig(menu.overrideApp);\n }\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AAOA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AAoBO,eAAeQ,iBAAiBA,CAAA,EAA2B;EAChE,MAAMC,IAAI,GAAG,OAAOC,MAAM,CAACC,qBAAqB,GAC5CC,mBAAmB,EAAE,GACpB,IAAAC,yCAA0B,EAAC;IAC1BC,SAAS,EACP,qHAAqH;IACvHC,oBAAoB,EAAE,WAAW;IACjCC,iBAAiB,EAAE;EACrB,CAAC,CAA4B,CAAC;EAElC,KAAK,MAAM;IAAEC;EAAI,CAAC,IAAIR,IAAI,CAACS,WAAW,EAAE;IACtC,IAAID,GAAG,CAACE,OAAO,EAAE;MACf;MACA,MAAMC,EAAE,GAAI,OAAMH,GAAG,CAACI,EAAG,EAAC;MAC1B;MACAC,MAAM,CAACC,OAAO,CAACN,GAAG,CAACE,OAAO,CAAC,CAACK,OAAO,CAAC,CAAC,CAACC,IAAI,EAAEC,SAAS,CAAC,KAAK;QACzDC,UAAI,CAACC,iBAAiB,CAACH,IAAI,EAAEL,EAAE,EAAEM,SAAS,CAAC;MAC7C,CAAC,CAAC;MACF;MACAT,GAAG,CAACY,UAAU,GAAGF,UAAI,CAACG,SAAS,CAAC,IAAI,EAAEV,EAAE,CAAC,CAAC,MAAM,EAAEH,GAAG,CAACc,IAAI,CAAW;MACrE;MACAT,MAAM,CAACU,IAAI,CAACf,GAAG,CAACE,OAAO,CAAC,CAACK,OAAO,CAAEC,IAAI,IAAK;QACzCE,UAAI,CAACM,oBAAoB,CAACR,IAAI,EAAEL,EAAE,CAAC;MACrC,CAAC,CAAC;IACJ,CAAC,MAAM;MACLH,GAAG,CAACY,UAAU,GAAGZ,GAAG,CAACc,IAAI;IAC3B;EACF;EAEA,IAAI,IAAAG,iBAAQ,EAACzB,IAAI,CAAC0B,QAAQ,CAAC,EAAE;IAC3B,IAAAC,mBAAU,EAAC3B,IAAI,CAAC0B,QAAQ,CAAC;EAC3B;EACA1B,IAAI,CAAC4B,aAAa,GAAG,IAAAD,mBAAU,EAAC3B,IAAI,CAAC4B,aAAa,CAAC;EAEnD,OAAO5B,IAAI;AACb;AAEA,eAAeG,mBAAmBA,CAAA,EAA2B;EAC3D,MAAM0B,QAAQ,GAAG;EACf;EACAC,UAAI,CAACC,GAAG,CAAgB9B,MAAM,CAAC+B,cAAc,CAAE,EAC/CF,UAAI,CAACC,GAAG,CAAU,GAAE9B,MAAM,CAACgC,QAAS,WAAU,EAAE;IAC9CC,YAAY,EAAE;EAChB,CAAC,CAAC,EACF,IAAAC,uDAAwC,GAAE,CAACC,KAAK,CAAEC,KAAK,IAAK;IAC1D;IACA;IACAC,OAAO,CAACC,IAAI,CACV,+CAA+C,EAC/CF,KAAK,EACL,2DAA2D,CAC5D;EACH,CAAC,CAAC,CACM;EAEV,IAAI,CAACpC,MAAM,CAACuC,aAAa,EAAE;IACzB,IAAIC,OAAwB;IAC5B,MAAMC,KAAK,GACTzC,MAAM,CAAC0C,MAAM,KACZ1C,MAAM,CAACgC,QAAQ,KACfQ,OAAO,GAAGxC,MAAM,CAACgC,QAAQ,CAACW,KAAK,CAC9B,mDAAmD,CACpD,CAAC,GACEH,OAAO,CAAC,CAAC,CAAC,GACV,IAAI,CAAC;IACX,IAAIC,KAAK,EAAE;MACT;MACAG,gCAAgC,CAACH,KAAK,CAAC;IACzC;EACF;EAEA,MAAM,CAACI,eAAe,EAAEC,UAAU,EAAEC,WAAW,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAClErB,QAAQ,CACT;EAEDsB,SAAS,CAACL,eAAe,EAAEC,UAAU,CAAC;EAEtCK,oBAAoB,CAACN,eAAe,EAAEE,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEtB,QAAQ,CAAC;EAE5D,OAAOoB,eAAe;AACxB;AAEA,SAASK,SAASA,CAACL,eAA8B,EAAEC,UAAkB,EAAE;EACrE,IAAIM,IAAgC;EACpC,IAAI;IACFA,IAAI,GAAGN,UAAU,GACZ,IAAAO,gBAAQ,EAACP,UAAU,EAAE;MACpBQ,MAAM,EAAEC,mBAAW;MACnBC,IAAI,EAAE;IACR,CAAC,CAAC,GACFC,SAAS;EACf,CAAC,CAAC,OAAOrB,KAAK,EAAE;IACd;IACAC,OAAO,CAACD,KAAK,CAAC,wBAAwB,EAAEA,KAAK,CAAC;IAC9C,MAAM,IAAIsB,KAAK,CAAC,mBAAmB,CAAC;EACtC;EAEA,IAAIN,IAAI,EAAE;IACR,MAAM;MAAEO,YAAY;MAAEC,WAAW;MAAEC;IAAoB,CAAC,GAAGT,IAAI;IAC/D,IAAIO,YAAY,EAAE;MAChB,MAAM;QAAEG,aAAa,EAAEC,YAAY;QAAE,GAAGC;MAAK,CAAC,GAAGL,YAAY;MAC7Dd,eAAe,CAACpB,QAAQ,GAAG;QACzBsC,YAAY;QACZ,GAAGC;MACL,CAAsB;IACxB;IACA,IAAIJ,WAAW,IAAIf,eAAe,CAACrC,WAAW,CAACyD,MAAM,KAAK,CAAC,EAAE;MAC3DpB,eAAe,CAACrC,WAAW,CAAC,CAAC,CAAC,CAACD,GAAG,CAAC2D,UAAU,GAAGN,WAAW;IAC7D,CAAC,MAAM,IAAIC,mBAAmB,EAAE;MAC9B,KAAK,MAAM;QAAEtD;MAAI,CAAC,IAAIsC,eAAe,CAACrC,WAAW,EAAE;QACjD,IAAI,IAAA2D,uBAAc,EAACN,mBAAmB,EAAEtD,GAAG,CAACI,EAAE,CAAC,EAAE;UAC/CJ,GAAG,CAAC2D,UAAU,GAAGL,mBAAmB,CAACtD,GAAG,CAACI,EAAE,CAAC;QAC9C;MACF;IACF;EACF;AACF;AAEA,SAASwC,oBAAoBA,CAC3BN,eAA8B,EAC9BuB,eAA8C,EAC9C;EAAA,IAAAC,qBAAA;EACA,IAAI,CAACD,eAAe,EAAE;IACpB;EACF;EACA;EACA,MAAM;IAAEL,YAAY;IAAEO,IAAI;IAAE,GAAGN;EAAK,CAAC,GAAGI,eAAe;EACvD,MAAM3C,QAAQ,IAAA4C,qBAAA,GAAIxB,eAAe,CAACpB,QAAQ,cAAA4C,qBAAA,cAAAA,qBAAA,GAAxBxB,eAAe,CAACpB,QAAQ,GAAK,CAAC,CAAE;EAClDA,QAAQ,CAACsC,YAAY,GAAG;IACtB,GAAGtC,QAAQ,CAACsC,YAAY;IACxB,GAAGA;EACL,CAAC;EACDtC,QAAQ,CAAC6C,IAAI,GAAG;IACd,GAAG7C,QAAQ,CAAC6C,IAAI;IAChB,GAAGA;EACL,CAAC;EACD1D,MAAM,CAAC2D,MAAM,CAAC9C,QAAQ,EAAEuC,IAAI,CAAC;AAC/B;AAEA,MAAMQ,iBAAiB,GAAG,IAAIC,GAAG,EAG9B;AAOI,eAAe7B,gCAAgCA,CAACH,KAAa,EAAE;EACpE,IAAI+B,iBAAiB,CAACE,GAAG,CAACjC,KAAK,CAAC,EAAE;IAChC,OAAO+B,iBAAiB,CAAC1C,GAAG,CAACW,KAAK,CAAC;EACrC;EACA,MAAMkC,OAAO,GAAG,IAAAC,2DAAoC,EAACnC,KAAK,CAAC,CAACN,KAAK,CAAEC,KAAK,IAAK;IAC3E;IACA;IACAC,OAAO,CAACC,IAAI,CACV,mEAAmE,EACnEF,KAAK,EACL,2DAA2D,CAC5D;EACH,CAAC,CAAuD;EACxDoC,iBAAiB,CAACK,GAAG,CAACpC,KAAK,EAAEkC,OAAO,CAAC;EACrC,OAAOA,OAAO;AAChB;AAEO,eAAeG,gBAAgBA,CAACC,UAA6B,EAAE;EACpE,IAAIA,UAAU,CAACC,WAAW,EAAE;IAC1B;EACF;EACA,IAAI,CAACD,UAAU,CAACE,YAAY,EAAE;IAC5BF,UAAU,CAACE,YAAY,GAAGC,kBAAkB,CAACH,UAAU,CAAC;EAC1D;EACA,OAAOA,UAAU,CAACE,YAAY;AAChC;AAEA,eAAeC,kBAAkBA,CAACH,UAA6B,EAAE;EAC/D,IAAI/E,MAAM,CAACC,qBAAqB,EAAE;IAChCW,MAAM,CAAC2D,MAAM,CAACQ,UAAU,EAAE;MACxBC,WAAW,EAAE,IAAI;MACjBC,YAAY,EAAE;IAChB,CAAC,CAAC;IACF,IAAI,CAACjF,MAAM,CAACuC,aAAa,EAAE;MACzB,IAAI4C,cAAoD;MACxD,IAAI;QACF;QACAA,cAAc,GAAG,MAAMvC,gCAAgC,CACrDmC,UAAU,CAACxE,GAAG,CAACI,EAAE,CAClB;MACH,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACd;QACA;QACAC,OAAO,CAACC,IAAI,CACV,mEAAmE,EACnEF,KAAK,EACL,2DAA2D,CAC5D;MACH;MACA,IAAI+C,cAAc,EAAE;QAClB,MAAM;UAAEjB,UAAU;UAAEkB;QAAY,CAAC,GAAGD,cAAc;QAClD;QACAJ,UAAU,CAACxE,GAAG,CAAC2D,UAAU,GAAG;UAC1B,GAAGa,UAAU,CAACxE,GAAG,CAAC2D,UAAU;UAC5B,GAAGA;QACL,CAAC;;QAED;QACAmB,qBAAqB,CAACD,WAAW,CAAC;;QAElC;QACAL,UAAU,CAACO,IAAI,GAAG;UAChB,GAAGP,UAAU,CAACO,IAAI;UAClBF;QACF,CAAC;MACH;IACF;EACF,CAAC,MAAM;IACL,MAAM;MAAEG,MAAM;MAAED,IAAI;MAAE/E;IAAI,CAAC,GAAG,MAAM,IAAAiF,gDAAiC,EACnET,UAAU,CAACxE,GAAG,CAACI,EAAE,EACjB,CAAC,CAAC,CACH;IACDC,MAAM,CAAC2D,MAAM,CAACQ,UAAU,EAAE;MACxBQ,MAAM;MACND,IAAI;MACJ/E,GAAG,EAAE;QAAE,GAAGwE,UAAU,CAACxE,GAAG;QAAE,GAAGA;MAAI,CAAC;MAClCyE,WAAW,EAAE,IAAI;MACjBC,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ;EAEA,IAAAQ,gCAAe,EAACV,UAAU,CAAC;EAE3BW,mBAAmB,CAACX,UAAU,CAACxE,GAAG,CAAC;AACrC;AAEA,SAASmF,mBAAmBA,CAACnF,GAAa,EAAE;EAC1CA,GAAG,CAACoF,MAAM,GAAG,IAAAjE,mBAAU,EAAC,IAAAkE,aAAK,EAAC,CAAC,CAAC,EAAErF,GAAG,CAACsF,aAAa,EAAEtF,GAAG,CAAC2D,UAAU,CAAC,CAAC;AACvE;AAEA,SAASmB,qBAAqBA,CAACS,KAAgC,EAAE;EAC/D,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;IACzB;EACF;EACA,KAAK,MAAMG,IAAI,IAAIH,KAAK,EAAE;IACxB,IAAIG,IAAI,CAACC,WAAW,EAAE;MACpBR,mBAAmB,CAACO,IAAI,CAACC,WAAW,CAAC;IACvC;EACF;AACF"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.loadCheckLogin = loadCheckLogin;
7
+ var _apiGatewaySdk = require("@next-api-sdk/api-gateway-sdk");
8
+ var _auth = require("../auth.js");
9
+ async function loadCheckLogin() {
10
+ if (!window.NO_AUTH_GUARD) {
11
+ const auth = await (0, _apiGatewaySdk.AuthApi_checkLogin)();
12
+ if (auth.loggedIn) {
13
+ (0, _auth.authenticate)(auth);
14
+ }
15
+ }
16
+ }
17
+ //# sourceMappingURL=loadCheckLogin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadCheckLogin.js","names":["_apiGatewaySdk","require","_auth","loadCheckLogin","window","NO_AUTH_GUARD","auth","AuthApi_checkLogin","loggedIn","authenticate"],"sources":["../../../src/internal/loadCheckLogin.ts"],"sourcesContent":["import { AuthApi_checkLogin } from \"@next-api-sdk/api-gateway-sdk\";\nimport { authenticate } from \"../auth.js\";\n\nexport async function loadCheckLogin(): Promise<void> {\n if (!window.NO_AUTH_GUARD) {\n const auth = await AuthApi_checkLogin();\n if (auth.loggedIn) {\n authenticate(auth);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEO,eAAeE,cAAcA,CAAA,EAAkB;EACpD,IAAI,CAACC,MAAM,CAACC,aAAa,EAAE;IACzB,MAAMC,IAAI,GAAG,MAAM,IAAAC,iCAAkB,GAAE;IACvC,IAAID,IAAI,CAACE,QAAQ,EAAE;MACjB,IAAAC,kBAAY,EAACH,IAAI,CAAC;IACpB;EACF;AACF"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.matchPath = matchPath;
7
+ exports.toPath = toPath;
8
+ var _pathToRegexp = require("path-to-regexp");
9
+ // Ref https://github.com/ReactTraining/react-router/blob/master/packages/react-router/modules/matchPath.js
10
+
11
+ const cache = new Map();
12
+ const cacheLimit = 10000;
13
+ let cacheCount = 0;
14
+ function compilePath(path, options) {
15
+ const cacheKey = `${options.end}${options.strict}${options.sensitive}`;
16
+ let pathCache = cache.get(cacheKey);
17
+ if (!pathCache) {
18
+ cache.set(cacheKey, pathCache = new Map());
19
+ }
20
+ const cacheResult = pathCache.get(path);
21
+ if (cacheResult) {
22
+ return cacheResult;
23
+ }
24
+ const keys = [];
25
+ const regexp = (0, _pathToRegexp.pathToRegexp)(path, keys, options);
26
+ const result = {
27
+ regexp,
28
+ keys
29
+ };
30
+ if (cacheCount < cacheLimit) {
31
+ pathCache.set(path, result);
32
+ cacheCount++;
33
+ }
34
+ return result;
35
+ }
36
+
37
+ /**
38
+ * Public API for matching a URL pathname to a path.
39
+ */
40
+ function matchPath(pathname, options) {
41
+ const {
42
+ path: p,
43
+ exact = false,
44
+ strict = false,
45
+ sensitive = true
46
+ } = options;
47
+ const paths = Array.isArray(p) ? p : [p];
48
+ return paths.reduce((matched, path) => {
49
+ if (matched) {
50
+ return matched;
51
+ }
52
+ const {
53
+ regexp,
54
+ keys
55
+ } = compilePath(path, {
56
+ end: exact,
57
+ strict,
58
+ sensitive
59
+ });
60
+ const match = regexp.exec(pathname);
61
+ if (!match) {
62
+ return null;
63
+ }
64
+ const [url, ...values] = match;
65
+ const isExact = pathname === url;
66
+ if (exact && !isExact) {
67
+ return null;
68
+ }
69
+ const initialParams = {};
70
+ const result = {
71
+ path,
72
+ // the path used to match
73
+ url: path === "/" && url === "" ? "/" : url,
74
+ // the matched portion of the URL
75
+ isExact,
76
+ // whether or not we matched exactly
77
+ params: keys.reduce((memo, key, index) => {
78
+ memo[key.name] = values[index];
79
+ return memo;
80
+ }, initialParams)
81
+ };
82
+ return result;
83
+ }, null);
84
+ }
85
+ function toPath(path, pathParams) {
86
+ return (0, _pathToRegexp.compile)(path)(pathParams);
87
+ }
88
+ //# sourceMappingURL=matchPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchPath.js","names":["_pathToRegexp","require","cache","Map","cacheLimit","cacheCount","compilePath","path","options","cacheKey","end","strict","sensitive","pathCache","get","set","cacheResult","keys","regexp","pathToRegexp","result","matchPath","pathname","p","exact","paths","Array","isArray","reduce","matched","match","exec","url","values","isExact","initialParams","params","memo","key","index","name","toPath","pathParams","compile"],"sources":["../../../src/internal/matchPath.ts"],"sourcesContent":["// Ref https://github.com/ReactTraining/react-router/blob/master/packages/react-router/modules/matchPath.js\nimport type { LegacyCompatibleRuntimeContext } from \"@next-core/inject\";\nimport { pathToRegexp, Key, compile } from \"path-to-regexp\";\n\nconst cache: Map<string, Map<string, CompileResult>> = new Map();\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path: string, options: CompileOptions): CompileResult {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n let pathCache = cache.get(cacheKey);\n if (!pathCache) {\n cache.set(cacheKey, (pathCache = new Map()));\n }\n\n const cacheResult = pathCache.get(path);\n if (cacheResult) {\n return cacheResult;\n }\n\n const keys: Key[] = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache.set(path, result);\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nexport function matchPath(\n pathname: string,\n options: MatchPathOptions\n): MatchResult | null {\n const { path: p, exact = false, strict = false, sensitive = true } = options;\n\n const paths = Array.isArray(p) ? p : [p];\n\n return paths.reduce<MatchResult | null>((matched, path) => {\n if (matched) {\n return matched;\n }\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive,\n });\n const match = regexp.exec(pathname);\n\n if (!match) {\n return null;\n }\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) {\n return null;\n }\n\n const initialParams: MatchResult[\"params\"] = {};\n const result = {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, initialParams),\n };\n\n return result;\n }, null);\n}\n\nexport function toPath(\n path: string,\n pathParams?: Record<string, unknown>\n): string {\n return compile(path)(pathParams);\n}\n\ninterface CompileOptions {\n end?: boolean;\n strict?: boolean;\n sensitive?: boolean;\n}\n\ninterface CompileResult {\n regexp: RegExp;\n keys: Key[];\n}\n\ninterface MatchOptions {\n path: string | string[];\n exact?: boolean;\n}\n\nexport type MatchPathOptions = MatchOptions & CompileOptions;\n\nexport type MatchResult = Exclude<\n LegacyCompatibleRuntimeContext[\"match\"],\n undefined\n>;\n"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.matchRoutes = matchRoutes;
7
+ var _matchPath = require("./matchPath.js");
8
+ var _checkIf = require("./compute/checkIf.js");
9
+ var _auth = require("../auth.js");
10
+ async function matchRoutes(routes, runtimeContext) {
11
+ for (const route of routes) {
12
+ if (typeof route.path !== "string") {
13
+ // eslint-disable-next-line no-console
14
+ console.error("Invalid route with invalid path:", route);
15
+ throw new Error(`Invalid route with invalid type of path: ${typeof route.path}`);
16
+ }
17
+ const routePath = route.path.replace(/^\$\{APP.homepage\}/, runtimeContext.app.homepage);
18
+ const match = (0, _matchPath.matchPath)(runtimeContext.location.pathname, {
19
+ path: routePath,
20
+ exact: route.exact
21
+ });
22
+ if (match && (await (0, _checkIf.asyncCheckIf)(route, runtimeContext))) {
23
+ if (runtimeContext.app.noAuthGuard || route.public || (0, _auth.isLoggedIn)()) {
24
+ return {
25
+ match,
26
+ route
27
+ };
28
+ }
29
+ return "unauthenticated";
30
+ }
31
+ }
32
+ return "missed";
33
+ }
34
+ //# sourceMappingURL=matchRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchRoutes.js","names":["_matchPath","require","_checkIf","_auth","matchRoutes","routes","runtimeContext","route","path","console","error","Error","routePath","replace","app","homepage","match","matchPath","location","pathname","exact","asyncCheckIf","noAuthGuard","public","isLoggedIn"],"sources":["../../../src/internal/matchRoutes.ts"],"sourcesContent":["import type { RouteConf } from \"@next-core/types\";\nimport { MatchResult, matchPath } from \"./matchPath.js\";\nimport { asyncCheckIf } from \"./compute/checkIf.js\";\nimport { isLoggedIn } from \"../auth.js\";\nimport type { RuntimeContext } from \"./interfaces.js\";\n\ntype MatchRoutesResult =\n | {\n match: MatchResult;\n route: RouteConf;\n }\n | \"missed\"\n | \"unauthenticated\";\n\nexport async function matchRoutes(\n routes: RouteConf[],\n runtimeContext: RuntimeContext\n): Promise<MatchRoutesResult> {\n for (const route of routes) {\n if (typeof route.path !== \"string\") {\n // eslint-disable-next-line no-console\n console.error(\"Invalid route with invalid path:\", route);\n throw new Error(\n `Invalid route with invalid type of path: ${typeof route.path}`\n );\n }\n const routePath = route.path.replace(\n /^\\$\\{APP.homepage\\}/,\n runtimeContext.app.homepage\n );\n const match = matchPath(runtimeContext.location.pathname, {\n path: routePath,\n exact: route.exact,\n });\n if (match && (await asyncCheckIf(route, runtimeContext))) {\n if (runtimeContext.app.noAuthGuard || route.public || isLoggedIn()) {\n return { match, route };\n }\n return \"unauthenticated\";\n }\n }\n return \"missed\";\n}\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAWO,eAAeG,WAAWA,CAC/BC,MAAmB,EACnBC,cAA8B,EACF;EAC5B,KAAK,MAAMC,KAAK,IAAIF,MAAM,EAAE;IAC1B,IAAI,OAAOE,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;MAClC;MACAC,OAAO,CAACC,KAAK,CAAC,kCAAkC,EAAEH,KAAK,CAAC;MACxD,MAAM,IAAII,KAAK,CACZ,4CAA2C,OAAOJ,KAAK,CAACC,IAAK,EAAC,CAChE;IACH;IACA,MAAMI,SAAS,GAAGL,KAAK,CAACC,IAAI,CAACK,OAAO,CAClC,qBAAqB,EACrBP,cAAc,CAACQ,GAAG,CAACC,QAAQ,CAC5B;IACD,MAAMC,KAAK,GAAG,IAAAC,oBAAS,EAACX,cAAc,CAACY,QAAQ,CAACC,QAAQ,EAAE;MACxDX,IAAI,EAAEI,SAAS;MACfQ,KAAK,EAAEb,KAAK,CAACa;IACf,CAAC,CAAC;IACF,IAAIJ,KAAK,KAAK,MAAM,IAAAK,qBAAY,EAACd,KAAK,EAAED,cAAc,CAAC,CAAC,EAAE;MACxD,IAAIA,cAAc,CAACQ,GAAG,CAACQ,WAAW,IAAIf,KAAK,CAACgB,MAAM,IAAI,IAAAC,gBAAU,GAAE,EAAE;QAClE,OAAO;UAAER,KAAK;UAAET;QAAM,CAAC;MACzB;MACA,OAAO,iBAAiB;IAC1B;EACF;EACA,OAAO,QAAQ;AACjB"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isOutsideApp = isOutsideApp;
7
+ exports.matchStoryboard = matchStoryboard;
8
+ var _lodash = require("lodash");
9
+ function matchStoryboard(storyboards, pathname) {
10
+ // Put apps with longer homepage before shorter ones.
11
+ // E.g., `/legacy/tool` will match first before `/legacy`.
12
+ // This enables two apps with relationship of parent-child of homepage.
13
+ const sortedStoryboards = (0, _lodash.orderBy)(storyboards, storyboard => {
14
+ var _storyboard$app$homep, _storyboard$app, _storyboard$app$homep2;
15
+ return (_storyboard$app$homep = (_storyboard$app = storyboard.app) === null || _storyboard$app === void 0 ? void 0 : (_storyboard$app$homep2 = _storyboard$app.homepage) === null || _storyboard$app$homep2 === void 0 ? void 0 : _storyboard$app$homep2.length) !== null && _storyboard$app$homep !== void 0 ? _storyboard$app$homep : 0;
16
+ }, "desc");
17
+ for (const storyboard of sortedStoryboards) {
18
+ const homepage = storyboard.app.homepage;
19
+ if (typeof homepage === "string" && homepage[0] === "/") {
20
+ if (homepage === "/" ? pathname === homepage : `${pathname.replace(/\/+$/, "")}/`.startsWith(`${homepage.replace(/\/+$/, "")}/`)) {
21
+ return storyboard;
22
+ }
23
+ }
24
+ }
25
+ }
26
+
27
+ /**
28
+ * We say it's an outside app when at least one of the below conditions are true:
29
+ * - target app is not found.
30
+ * - current app is non-standalone mode and target app is standalone mode.
31
+ *
32
+ * Note: when current app is standalone mode, other apps will not be found.
33
+ */
34
+ function isOutsideApp(storyboard) {
35
+ if (process.env.NODE_ENV === "test") {
36
+ return false;
37
+ }
38
+ return !storyboard || !window.STANDALONE_MICRO_APPS && storyboard.app.standaloneMode;
39
+ }
40
+ //# sourceMappingURL=matchStoryboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchStoryboard.js","names":["_lodash","require","matchStoryboard","storyboards","pathname","sortedStoryboards","orderBy","storyboard","_storyboard$app$homep","_storyboard$app","_storyboard$app$homep2","app","homepage","length","replace","startsWith","isOutsideApp","process","env","NODE_ENV","window","STANDALONE_MICRO_APPS","standaloneMode"],"sources":["../../../src/internal/matchStoryboard.ts"],"sourcesContent":["import type { RuntimeStoryboard } from \"@next-core/types\";\nimport { orderBy } from \"lodash\";\n\nexport function matchStoryboard(\n storyboards: RuntimeStoryboard[],\n pathname: string\n): RuntimeStoryboard | undefined {\n // Put apps with longer homepage before shorter ones.\n // E.g., `/legacy/tool` will match first before `/legacy`.\n // This enables two apps with relationship of parent-child of homepage.\n const sortedStoryboards = orderBy(\n storyboards,\n (storyboard) => storyboard.app?.homepage?.length ?? 0,\n \"desc\"\n );\n for (const storyboard of sortedStoryboards) {\n const homepage = storyboard.app.homepage;\n if (typeof homepage === \"string\" && homepage[0] === \"/\") {\n if (\n homepage === \"/\"\n ? pathname === homepage\n : `${pathname.replace(/\\/+$/, \"\")}/`.startsWith(\n `${homepage.replace(/\\/+$/, \"\")}/`\n )\n ) {\n return storyboard;\n }\n }\n }\n}\n\n/**\n * We say it's an outside app when at least one of the below conditions are true:\n * - target app is not found.\n * - current app is non-standalone mode and target app is standalone mode.\n *\n * Note: when current app is standalone mode, other apps will not be found.\n */\nexport function isOutsideApp(\n storyboard: RuntimeStoryboard | undefined\n): boolean | undefined {\n if (process.env.NODE_ENV === \"test\") {\n return false;\n }\n return (\n !storyboard ||\n (!window.STANDALONE_MICRO_APPS && storyboard.app.standaloneMode)\n );\n}\n"],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEO,SAASC,eAAeA,CAC7BC,WAAgC,EAChCC,QAAgB,EACe;EAC/B;EACA;EACA;EACA,MAAMC,iBAAiB,GAAG,IAAAC,eAAO,EAC/BH,WAAW,EACVI,UAAU;IAAA,IAAAC,qBAAA,EAAAC,eAAA,EAAAC,sBAAA;IAAA,QAAAF,qBAAA,IAAAC,eAAA,GAAKF,UAAU,CAACI,GAAG,cAAAF,eAAA,wBAAAC,sBAAA,GAAdD,eAAA,CAAgBG,QAAQ,cAAAF,sBAAA,uBAAxBA,sBAAA,CAA0BG,MAAM,cAAAL,qBAAA,cAAAA,qBAAA,GAAI,CAAC;EAAA,GACrD,MAAM,CACP;EACD,KAAK,MAAMD,UAAU,IAAIF,iBAAiB,EAAE;IAC1C,MAAMO,QAAQ,GAAGL,UAAU,CAACI,GAAG,CAACC,QAAQ;IACxC,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MACvD,IACEA,QAAQ,KAAK,GAAG,GACZR,QAAQ,KAAKQ,QAAQ,GACpB,GAAER,QAAQ,CAACU,OAAO,CAAC,MAAM,EAAE,EAAE,CAAE,GAAE,CAACC,UAAU,CAC1C,GAAEH,QAAQ,CAACE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAE,GAAE,CACnC,EACL;QACA,OAAOP,UAAU;MACnB;IACF;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASS,YAAYA,CAC1BT,UAAyC,EACpB;EACrB,IAAIU,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;IACnC,OAAO,KAAK;EACd;EACA,OACE,CAACZ,UAAU,IACV,CAACa,MAAM,CAACC,qBAAqB,IAAId,UAAU,CAACI,GAAG,CAACW,cAAe;AAEpE"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.mediaEventTarget = exports.mediaBreakpointMinWidthMap = exports.getMedia = exports.MediaBreakpoint = void 0;
8
+ var _eventTarget = _interopRequireDefault(require("@ungap/event-target"));
9
+ let MediaBreakpoint;
10
+ exports.MediaBreakpoint = MediaBreakpoint;
11
+ (function (MediaBreakpoint) {
12
+ MediaBreakpoint["xLarge"] = "xLarge";
13
+ MediaBreakpoint["large"] = "large";
14
+ MediaBreakpoint["medium"] = "medium";
15
+ MediaBreakpoint["small"] = "small";
16
+ MediaBreakpoint["xSmall"] = "xSmall";
17
+ })(MediaBreakpoint || (exports.MediaBreakpoint = MediaBreakpoint = {}));
18
+ const mediaBreakpointMinWidthMap = new Map([[MediaBreakpoint.xLarge, "1920px"], [MediaBreakpoint.large, "1600px"], [MediaBreakpoint.medium, "1280px"], [MediaBreakpoint.small, "1024px"], [MediaBreakpoint.xSmall, 0]]);
19
+ exports.mediaBreakpointMinWidthMap = mediaBreakpointMinWidthMap;
20
+ const mediaEventTarget = new _eventTarget.default();
21
+ exports.mediaEventTarget = mediaEventTarget;
22
+ const breakpointMatchesMap = {};
23
+ const MEDIA = {};
24
+ function handleMatchesChange(data, breakpoint) {
25
+ let changed = false;
26
+ breakpointMatchesMap[breakpoint] = data.matches;
27
+ for (const [breakpoint] of mediaBreakpointMinWidthMap) {
28
+ if (breakpointMatchesMap[breakpoint] && MEDIA.breakpoint !== breakpoint) {
29
+ MEDIA.breakpoint = breakpoint;
30
+ changed = true;
31
+ break;
32
+ }
33
+ }
34
+ if (changed) {
35
+ mediaEventTarget.dispatchEvent(new CustomEvent("change", {
36
+ detail: MEDIA
37
+ }));
38
+ }
39
+ }
40
+ mediaBreakpointMinWidthMap.forEach((minWidth, breakpoint) => {
41
+ const mediaQueryList = window.matchMedia(`(min-width: ${minWidth})`);
42
+ handleMatchesChange(mediaQueryList, breakpoint);
43
+ if (mediaQueryList.addEventListener) {
44
+ mediaQueryList.addEventListener("change", event => {
45
+ handleMatchesChange(event, breakpoint);
46
+ });
47
+ } else {
48
+ mediaQueryList.addListener(event => {
49
+ handleMatchesChange(event, breakpoint);
50
+ });
51
+ }
52
+ });
53
+ const getMedia = () => MEDIA;
54
+ exports.getMedia = getMedia;
55
+ //# sourceMappingURL=mediaQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaQuery.js","names":["_eventTarget","_interopRequireDefault","require","MediaBreakpoint","exports","mediaBreakpointMinWidthMap","Map","xLarge","large","medium","small","xSmall","mediaEventTarget","EventTarget","breakpointMatchesMap","MEDIA","handleMatchesChange","data","breakpoint","changed","matches","dispatchEvent","CustomEvent","detail","forEach","minWidth","mediaQueryList","window","matchMedia","addEventListener","event","addListener","getMedia"],"sources":["../../../src/internal/mediaQuery.ts"],"sourcesContent":["import EventTarget from \"@ungap/event-target\";\n\nexport interface Media {\n breakpoint?: MediaBreakpoint;\n}\n\nexport enum MediaBreakpoint {\n xLarge = \"xLarge\",\n large = \"large\",\n medium = \"medium\",\n small = \"small\",\n xSmall = \"xSmall\",\n}\n\nexport const mediaBreakpointMinWidthMap = new Map<\n MediaBreakpoint,\n string | number\n>([\n [MediaBreakpoint.xLarge, \"1920px\"],\n [MediaBreakpoint.large, \"1600px\"],\n [MediaBreakpoint.medium, \"1280px\"],\n [MediaBreakpoint.small, \"1024px\"],\n [MediaBreakpoint.xSmall, 0],\n]);\nexport const mediaEventTarget = new EventTarget();\n\nconst breakpointMatchesMap: Partial<Record<MediaBreakpoint, boolean>> = {};\nconst MEDIA: Media = {};\n\nfunction handleMatchesChange(\n data: { readonly matches: boolean; readonly media: string },\n breakpoint: MediaBreakpoint\n): void {\n let changed = false;\n breakpointMatchesMap[breakpoint] = data.matches;\n\n for (const [breakpoint] of mediaBreakpointMinWidthMap) {\n if (breakpointMatchesMap[breakpoint] && MEDIA.breakpoint !== breakpoint) {\n MEDIA.breakpoint = breakpoint;\n changed = true;\n break;\n }\n }\n\n if (changed) {\n mediaEventTarget.dispatchEvent(\n new CustomEvent(\"change\", { detail: MEDIA })\n );\n }\n}\n\nmediaBreakpointMinWidthMap.forEach((minWidth, breakpoint) => {\n const mediaQueryList = window.matchMedia(`(min-width: ${minWidth})`);\n\n handleMatchesChange(mediaQueryList, breakpoint);\n\n if (mediaQueryList.addEventListener) {\n mediaQueryList.addEventListener(\"change\", (event) => {\n handleMatchesChange(event, breakpoint);\n });\n } else {\n mediaQueryList.addListener((event) => {\n handleMatchesChange(event, breakpoint);\n });\n }\n});\n\nexport const getMedia = (): Media => MEDIA;\n"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8C,IAMlCC,eAAe;AAAAC,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAAA,WAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAAC,OAAA,CAAAD,eAAA,GAAfA,eAAe;AAQpB,MAAME,0BAA0B,GAAG,IAAIC,GAAG,CAG/C,CACA,CAACH,eAAe,CAACI,MAAM,EAAE,QAAQ,CAAC,EAClC,CAACJ,eAAe,CAACK,KAAK,EAAE,QAAQ,CAAC,EACjC,CAACL,eAAe,CAACM,MAAM,EAAE,QAAQ,CAAC,EAClC,CAACN,eAAe,CAACO,KAAK,EAAE,QAAQ,CAAC,EACjC,CAACP,eAAe,CAACQ,MAAM,EAAE,CAAC,CAAC,CAC5B,CAAC;AAACP,OAAA,CAAAC,0BAAA,GAAAA,0BAAA;AACI,MAAMO,gBAAgB,GAAG,IAAIC,oBAAW,EAAE;AAACT,OAAA,CAAAQ,gBAAA,GAAAA,gBAAA;AAElD,MAAME,oBAA+D,GAAG,CAAC,CAAC;AAC1E,MAAMC,KAAY,GAAG,CAAC,CAAC;AAEvB,SAASC,mBAAmBA,CAC1BC,IAA2D,EAC3DC,UAA2B,EACrB;EACN,IAAIC,OAAO,GAAG,KAAK;EACnBL,oBAAoB,CAACI,UAAU,CAAC,GAAGD,IAAI,CAACG,OAAO;EAE/C,KAAK,MAAM,CAACF,UAAU,CAAC,IAAIb,0BAA0B,EAAE;IACrD,IAAIS,oBAAoB,CAACI,UAAU,CAAC,IAAIH,KAAK,CAACG,UAAU,KAAKA,UAAU,EAAE;MACvEH,KAAK,CAACG,UAAU,GAAGA,UAAU;MAC7BC,OAAO,GAAG,IAAI;MACd;IACF;EACF;EAEA,IAAIA,OAAO,EAAE;IACXP,gBAAgB,CAACS,aAAa,CAC5B,IAAIC,WAAW,CAAC,QAAQ,EAAE;MAAEC,MAAM,EAAER;IAAM,CAAC,CAAC,CAC7C;EACH;AACF;AAEAV,0BAA0B,CAACmB,OAAO,CAAC,CAACC,QAAQ,EAAEP,UAAU,KAAK;EAC3D,MAAMQ,cAAc,GAAGC,MAAM,CAACC,UAAU,CAAE,eAAcH,QAAS,GAAE,CAAC;EAEpET,mBAAmB,CAACU,cAAc,EAAER,UAAU,CAAC;EAE/C,IAAIQ,cAAc,CAACG,gBAAgB,EAAE;IACnCH,cAAc,CAACG,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MACnDd,mBAAmB,CAACc,KAAK,EAAEZ,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ,CAAC,MAAM;IACLQ,cAAc,CAACK,WAAW,CAAED,KAAK,IAAK;MACpCd,mBAAmB,CAACc,KAAK,EAAEZ,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;AAEK,MAAMc,QAAQ,GAAGA,CAAA,KAAajB,KAAK;AAACX,OAAA,CAAA4B,QAAA,GAAAA,QAAA"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.computeMenuData = computeMenuData;
7
+ exports.computeMenuItems = computeMenuItems;
8
+ var _computeRealValue = require("../compute/computeRealValue.js");
9
+ var _Runtime = require("../Runtime.js");
10
+ var _constants = require("./constants.js");
11
+ function computeMenuData(data, overrideAppId, runtimeContext) {
12
+ let newRuntimeContext = runtimeContext;
13
+ if (overrideAppId !== runtimeContext.app.id) {
14
+ const overrideApp = window.STANDALONE_MICRO_APPS ? data[_constants.symbolOverrideApp] : (0, _Runtime._internalApiGetAppInBootstrapData)(overrideAppId);
15
+ newRuntimeContext = {
16
+ ...runtimeContext,
17
+ overrideApp,
18
+ appendI18nNamespace: data[_constants.symbolMenuI18nNamespace]
19
+ };
20
+ }
21
+ return (0, _computeRealValue.asyncComputeRealValue)(data, newRuntimeContext, {
22
+ ignoreSymbols: true
23
+ });
24
+ }
25
+ function computeMenuItems(items, runtimeContext) {
26
+ return Promise.all(items.map(async ({
27
+ children,
28
+ ...rest
29
+ }) => {
30
+ const [computedRest, computedChildren] = await Promise.all([computeMenuData(rest, rest[_constants.symbolAppId], runtimeContext), children && (await computeMenuItems(children, runtimeContext))]);
31
+ return {
32
+ ...computedRest,
33
+ children: computedChildren
34
+ };
35
+ }));
36
+ }
37
+ //# sourceMappingURL=computeMenuData.js.map