@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":"computeMenuData.js","names":["asyncComputeRealValue","_internalApiGetAppInBootstrapData","symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp","computeMenuData","data","overrideAppId","runtimeContext","newRuntimeContext","app","id","overrideApp","window","STANDALONE_MICRO_APPS","_objectSpread","appendI18nNamespace","ignoreSymbols","computeMenuItems","items","Promise","all","map","_ref2","_asyncToGenerator","_ref","children","rest","_objectWithoutProperties","_excluded","computedRest","computedChildren","_x","apply","arguments"],"sources":["../../../../src/internal/menu/computeMenuData.ts"],"sourcesContent":["import { asyncComputeRealValue } from \"../compute/computeRealValue.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport type {\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport { _internalApiGetAppInBootstrapData } from \"../Runtime.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\ntype RuntimeMenuRestRawData = Omit<RuntimeMenuRawData, \"app\" | \"items\">;\ntype RuntimeMenuItemRestRawData = Omit<RuntimeMenuItemRawData, \"children\">;\n\nexport function computeMenuData<\n T extends RuntimeMenuRestRawData | RuntimeMenuItemRestRawData\n>(data: T, overrideAppId: string, runtimeContext: RuntimeContext): Promise<T> {\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n const overrideApp = window.STANDALONE_MICRO_APPS\n ? data[symbolOverrideApp]\n : _internalApiGetAppInBootstrapData(overrideAppId);\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace],\n };\n }\n return asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true,\n }) as Promise<T>;\n}\n\nexport function computeMenuItems(\n items: RuntimeMenuItemRawData[],\n runtimeContext: RuntimeContext\n): Promise<RuntimeMenuItemRawData[]> {\n return Promise.all(\n items.map(async ({ children, ...rest }) => {\n const [computedRest, computedChildren] = await Promise.all([\n computeMenuData(rest, rest[symbolAppId], runtimeContext),\n children && (await computeMenuItems(children, runtimeContext)),\n ]);\n return {\n ...computedRest,\n children: computedChildren,\n };\n })\n );\n}\n"],"mappings":";;;;AAAA,SAASA,qBAAqB,QAAQ,gCAAgC;AAMtE,SAASC,iCAAiC,QAAQ,eAAe;AACjE,SACEC,WAAW,EACXC,uBAAuB,EACvBC,iBAAiB,QACZ,gBAAgB;AAKvB,OAAO,SAASC,eAAeA,CAE7BC,IAAO,EAAEC,aAAqB,EAAEC,cAA8B,EAAc;EAC5E,IAAIC,iBAAiB,GAAGD,cAAc;EACtC,IAAID,aAAa,KAAKC,cAAc,CAACE,GAAG,CAACC,EAAE,EAAE;IAC3C,IAAMC,WAAW,GAAGC,MAAM,CAACC,qBAAqB,GAC5CR,IAAI,CAACF,iBAAiB,CAAC,GACvBH,iCAAiC,CAACM,aAAa,CAAC;IACpDE,iBAAiB,GAAAM,aAAA,CAAAA,aAAA,KACZP,cAAc;MACjBI,WAAW;MACXI,mBAAmB,EAAEV,IAAI,CAACH,uBAAuB;IAAC,EACnD;EACH;EACA,OAAOH,qBAAqB,CAACM,IAAI,EAAEG,iBAAiB,EAAE;IACpDQ,aAAa,EAAE;EACjB,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,gBAAgBA,CAC9BC,KAA+B,EAC/BX,cAA8B,EACK;EACnC,OAAOY,OAAO,CAACC,GAAG,CAChBF,KAAK,CAACG,GAAG;IAAA,IAAAC,KAAA,GAAAC,iBAAA,CAAC,WAAAC,IAAA,EAAiC;MAAA,IAA1B;UAAEC;QAAkB,CAAC,GAAAD,IAAA;QAANE,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;MAClC,IAAM,CAACC,YAAY,EAAEC,gBAAgB,CAAC,SAASX,OAAO,CAACC,GAAG,CAAC,CACzDhB,eAAe,CAACsB,IAAI,EAAEA,IAAI,CAACzB,WAAW,CAAC,EAAEM,cAAc,CAAC,EACxDkB,QAAQ,WAAWR,gBAAgB,CAACQ,QAAQ,EAAElB,cAAc,CAAC,CAAC,CAC/D,CAAC;MACF,OAAAO,aAAA,CAAAA,aAAA,KACKe,YAAY;QACfJ,QAAQ,EAAEK;MAAgB;IAE9B,CAAC;IAAA,iBAAAC,EAAA;MAAA,OAAAT,KAAA,CAAAU,KAAA,OAAAC,SAAA;IAAA;EAAA,IAAC,CACH;AACH"}
@@ -0,0 +1,4 @@
1
+ export var symbolAppId = Symbol("appId");
2
+ export var symbolMenuI18nNamespace = Symbol("menuI18nNamespace");
3
+ export var symbolOverrideApp = Symbol("overrideApp");
4
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["symbolAppId","Symbol","symbolMenuI18nNamespace","symbolOverrideApp"],"sources":["../../../../src/internal/menu/constants.ts"],"sourcesContent":["export const symbolAppId = Symbol(\"appId\");\nexport const symbolMenuI18nNamespace = Symbol(\"menuI18nNamespace\");\nexport const symbolOverrideApp = Symbol(\"overrideApp\");\n"],"mappings":"AAAA,OAAO,IAAMA,WAAW,GAAGC,MAAM,CAAC,OAAO,CAAC;AAC1C,OAAO,IAAMC,uBAAuB,GAAGD,MAAM,CAAC,mBAAmB,CAAC;AAClE,OAAO,IAAME,iBAAiB,GAAGF,MAAM,CAAC,aAAa,CAAC"}
@@ -0,0 +1,104 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
+ var _excluded = ["items", "app"];
5
+ import { InstanceApi_postSearch } from "@next-api-sdk/cmdb-sdk";
6
+ import { pick } from "lodash";
7
+ import { mergeMenu } from "./mergeMenu.js";
8
+ import { reorderMenuItems } from "./reorderMenuItems.js";
9
+ import { preCheckPermissionsForAny } from "../checkPermissions.js";
10
+ import { checkIfOfComputed } from "../compute/checkIf.js";
11
+ import { computeMenuItems, computeMenuData } from "./computeMenuData.js";
12
+ import { fetchMenuTitle } from "./fetchMenuTitle.js";
13
+ import { getMenusOfStandaloneApp } from "./getMenusOfStandaloneApp.js";
14
+ var menuPromises = new Map();
15
+ var menuCache = new Map();
16
+ export function getMenuById(menuId) {
17
+ return menuCache.get(menuId);
18
+ }
19
+ export function fetchMenuById(menuId, runtimeContext) {
20
+ var promise = menuPromises.get(menuId);
21
+ if (!promise) {
22
+ promise = _fetchMenuById(menuId, runtimeContext);
23
+ }
24
+ return promise;
25
+ }
26
+ function _fetchMenuById(_x, _x2) {
27
+ return _fetchMenuById2.apply(this, arguments);
28
+ }
29
+ function _fetchMenuById2() {
30
+ _fetchMenuById2 = _asyncToGenerator(function* (menuId, runtimeContext) {
31
+ var menuList = window.STANDALONE_MICRO_APPS ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id) : (yield InstanceApi_postSearch("EASYOPS_STORYBOARD_MENU", {
32
+ page: 1,
33
+ page_size: 200,
34
+ fields: {
35
+ menuId: true,
36
+ title: true,
37
+ icon: true,
38
+ link: true,
39
+ titleDataSource: true,
40
+ defaultCollapsed: true,
41
+ defaultCollapsedBreakpoint: true,
42
+ type: true,
43
+ injectMenuGroupId: true,
44
+ dynamicItems: true,
45
+ itemsResolve: true,
46
+ items: true,
47
+ i18n: true,
48
+ "items.children": true,
49
+ "app.appId": true
50
+ },
51
+ query: {
52
+ menuId: {
53
+ $eq: menuId
54
+ },
55
+ app: {
56
+ $size: {
57
+ $gt: 0
58
+ }
59
+ }
60
+ }
61
+ })).list;
62
+ var menuData = yield mergeMenu(menuList, runtimeContext);
63
+ if (!menuData) {
64
+ throw new Error("Menu not found: ".concat(menuId));
65
+ }
66
+ reorderMenuItems(menuData);
67
+ var {
68
+ items,
69
+ app
70
+ } = menuData,
71
+ restMenuData = _objectWithoutProperties(menuData, _excluded);
72
+ var newRuntimeContext = _objectSpread(_objectSpread({}, runtimeContext), {}, {
73
+ pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny([items, restMenuData])]
74
+ });
75
+ delete newRuntimeContext.tplStateStoreId;
76
+ delete newRuntimeContext.forEachItem;
77
+ var rootAppId = app[0].appId;
78
+ var [computedMenuData, computedMenuItems] = yield Promise.all([computeMenuData(restMenuData, rootAppId, newRuntimeContext), computeMenuItems(items, newRuntimeContext)]);
79
+ var finalMenuData = _objectSpread(_objectSpread({
80
+ title: yield fetchMenuTitle(computedMenuData)
81
+ }, pick(computedMenuData, ["icon", "link", "defaultCollapsed", "defaultCollapsedBreakpoint"])), {}, {
82
+ menuItems: computedMenuItems.filter(checkIfOfComputed).map(item => {
83
+ var _item$children;
84
+ var children = (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.filter(checkIfOfComputed);
85
+ return item.type === "group" ? {
86
+ type: "group",
87
+ title: item.text,
88
+ items: children
89
+ } : children !== null && children !== void 0 && children.length ? {
90
+ type: "subMenu",
91
+ title: item.text,
92
+ icon: item.icon,
93
+ items: children,
94
+ defaultExpanded: item.defaultExpanded
95
+ } : item;
96
+ })
97
+ });
98
+
99
+ // Todo(steve): reconsider the menu cache strategy
100
+ menuCache.set(menuId, finalMenuData);
101
+ });
102
+ return _fetchMenuById2.apply(this, arguments);
103
+ }
104
+ //# sourceMappingURL=fetchMenuById.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchMenuById.js","names":["InstanceApi_postSearch","pick","mergeMenu","reorderMenuItems","preCheckPermissionsForAny","checkIfOfComputed","computeMenuItems","computeMenuData","fetchMenuTitle","getMenusOfStandaloneApp","menuPromises","Map","menuCache","getMenuById","menuId","get","fetchMenuById","runtimeContext","promise","_fetchMenuById","_x","_x2","_fetchMenuById2","apply","arguments","_asyncToGenerator","menuList","window","STANDALONE_MICRO_APPS","app","id","page","page_size","fields","title","icon","link","titleDataSource","defaultCollapsed","defaultCollapsedBreakpoint","type","injectMenuGroupId","dynamicItems","itemsResolve","items","i18n","query","$eq","$size","$gt","list","menuData","Error","concat","restMenuData","_objectWithoutProperties","_excluded","newRuntimeContext","_objectSpread","pendingPermissionsPreCheck","tplStateStoreId","forEachItem","rootAppId","appId","computedMenuData","computedMenuItems","Promise","all","finalMenuData","menuItems","filter","map","item","_item$children","children","text","length","defaultExpanded","set"],"sources":["../../../../src/internal/menu/fetchMenuById.ts"],"sourcesContent":["import { InstanceApi_postSearch } from \"@next-api-sdk/cmdb-sdk\";\nimport { pick } from \"lodash\";\nimport { mergeMenu } from \"./mergeMenu.js\";\nimport { reorderMenuItems } from \"./reorderMenuItems.js\";\nimport { preCheckPermissionsForAny } from \"../checkPermissions.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport type { MenuRawData } from \"./interfaces.js\";\nimport { checkIfOfComputed } from \"../compute/checkIf.js\";\nimport { computeMenuItems, computeMenuData } from \"./computeMenuData.js\";\nimport { fetchMenuTitle } from \"./fetchMenuTitle.js\";\nimport { getMenusOfStandaloneApp } from \"./getMenusOfStandaloneApp.js\";\n\nconst menuPromises = new Map<string, Promise<void>>();\n\nconst menuCache = new Map<string, unknown>();\n\nexport function getMenuById(menuId: string) {\n return menuCache.get(menuId);\n}\n\nexport function fetchMenuById(menuId: string, runtimeContext: RuntimeContext) {\n let promise = menuPromises.get(menuId);\n if (!promise) {\n promise = _fetchMenuById(menuId, runtimeContext);\n }\n return promise;\n}\n\nasync function _fetchMenuById(menuId: string, runtimeContext: RuntimeContext) {\n const menuList = window.STANDALONE_MICRO_APPS\n ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id)\n : ((\n await InstanceApi_postSearch(\"EASYOPS_STORYBOARD_MENU\", {\n page: 1,\n page_size: 200,\n fields: {\n menuId: true,\n title: true,\n icon: true,\n link: true,\n titleDataSource: true,\n defaultCollapsed: true,\n defaultCollapsedBreakpoint: true,\n type: true,\n injectMenuGroupId: true,\n dynamicItems: true,\n itemsResolve: true,\n items: true,\n i18n: true,\n \"items.children\": true,\n \"app.appId\": true,\n },\n query: {\n menuId: {\n $eq: menuId,\n },\n app: {\n $size: {\n $gt: 0,\n },\n },\n },\n })\n ).list as MenuRawData[]);\n\n const menuData = await mergeMenu(menuList, runtimeContext);\n if (!menuData) {\n throw new Error(`Menu not found: ${menuId}`);\n }\n\n reorderMenuItems(menuData);\n\n const { items, app, ...restMenuData } = menuData;\n const newRuntimeContext: RuntimeContext = {\n ...runtimeContext,\n pendingPermissionsPreCheck: [\n ...runtimeContext.pendingPermissionsPreCheck,\n preCheckPermissionsForAny([items, restMenuData]),\n ],\n };\n delete newRuntimeContext.tplStateStoreId;\n delete newRuntimeContext.forEachItem;\n const rootAppId = app[0].appId;\n\n const [computedMenuData, computedMenuItems] = await Promise.all([\n computeMenuData(restMenuData, rootAppId, newRuntimeContext),\n computeMenuItems(items, newRuntimeContext),\n ]);\n\n const finalMenuData = {\n title: await fetchMenuTitle(computedMenuData),\n ...pick(computedMenuData, [\n \"icon\",\n \"link\",\n \"defaultCollapsed\",\n \"defaultCollapsedBreakpoint\",\n ]),\n menuItems: computedMenuItems.filter(checkIfOfComputed).map((item) => {\n const children = item.children?.filter(checkIfOfComputed);\n return item.type === \"group\"\n ? {\n type: \"group\",\n title: item.text,\n items: children,\n }\n : children?.length\n ? {\n type: \"subMenu\",\n title: item.text,\n icon: item.icon,\n items: children,\n defaultExpanded: item.defaultExpanded,\n }\n : item;\n }),\n };\n\n // Todo(steve): reconsider the menu cache strategy\n menuCache.set(menuId, finalMenuData);\n}\n"],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { isEmpty } from "lodash";
3
+ import { InstanceApi_getDetail } from "@next-api-sdk/cmdb-sdk";
4
+ var menuTitleCache = new Map();
5
+ export function fetchMenuTitle(_x) {
6
+ return _fetchMenuTitle.apply(this, arguments);
7
+ }
8
+ function _fetchMenuTitle() {
9
+ _fetchMenuTitle = _asyncToGenerator(function* (menuData) {
10
+ if (menuData.title || isEmpty(menuData.titleDataSource)) {
11
+ return menuData.title;
12
+ }
13
+ var cacheKey = JSON.stringify(menuData.titleDataSource);
14
+ if (menuTitleCache.has(cacheKey)) {
15
+ return menuTitleCache.get(cacheKey);
16
+ }
17
+ var {
18
+ objectId,
19
+ instanceId,
20
+ attributeId
21
+ } = menuData.titleDataSource;
22
+ var attr = attributeId !== null && attributeId !== void 0 ? attributeId : "name";
23
+ var instanceData = yield InstanceApi_getDetail(objectId, instanceId, {
24
+ fields: attr
25
+ });
26
+ var title;
27
+ if (attributeId === "#showKey" && Array.isArray(instanceData[attr])) {
28
+ var [primary, ...rest] = instanceData[attr];
29
+ title = rest.length > 0 ? "".concat(primary, "(").concat(rest.join(","), ")") : String(primary);
30
+ } else {
31
+ title = String(instanceData[attr]);
32
+ }
33
+ menuTitleCache.set(cacheKey, title);
34
+ return title;
35
+ });
36
+ return _fetchMenuTitle.apply(this, arguments);
37
+ }
38
+ //# sourceMappingURL=fetchMenuTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchMenuTitle.js","names":["isEmpty","InstanceApi_getDetail","menuTitleCache","Map","fetchMenuTitle","_x","_fetchMenuTitle","apply","arguments","_asyncToGenerator","menuData","title","titleDataSource","cacheKey","JSON","stringify","has","get","objectId","instanceId","attributeId","attr","instanceData","fields","Array","isArray","primary","rest","length","concat","join","String","set"],"sources":["../../../../src/internal/menu/fetchMenuTitle.ts"],"sourcesContent":["import { isEmpty } from \"lodash\";\nimport { InstanceApi_getDetail } from \"@next-api-sdk/cmdb-sdk\";\nimport type { MenuRawData } from \"./interfaces.js\";\n\nconst menuTitleCache = new Map<string, string>();\n\nexport async function fetchMenuTitle(\n menuData: Pick<MenuRawData, \"title\" | \"titleDataSource\">\n) {\n if (menuData.title || isEmpty(menuData.titleDataSource)) {\n return menuData.title;\n }\n const cacheKey = JSON.stringify(menuData.titleDataSource);\n if (menuTitleCache.has(cacheKey)) {\n return menuTitleCache.get(cacheKey);\n }\n const { objectId, instanceId, attributeId } = menuData.titleDataSource;\n const attr = attributeId ?? \"name\";\n const instanceData = await InstanceApi_getDetail(objectId, instanceId, {\n fields: attr,\n });\n let title: string;\n if (attributeId === \"#showKey\" && Array.isArray(instanceData[attr])) {\n const [primary, ...rest] = instanceData[attr];\n title = rest.length > 0 ? `${primary}(${rest.join(\",\")})` : String(primary);\n } else {\n title = String(instanceData[attr]);\n }\n menuTitleCache.set(cacheKey, title);\n return title;\n}\n"],"mappings":";AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SAASC,qBAAqB,QAAQ,wBAAwB;AAG9D,IAAMC,cAAc,GAAG,IAAIC,GAAG,EAAkB;AAEhD,gBAAsBC,cAAcA,CAAAC,EAAA;EAAA,OAAAC,eAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAwBnC,SAAAF,gBAAA;EAAAA,eAAA,GAAAG,iBAAA,CAxBM,WACLC,QAAwD,EACxD;IACA,IAAIA,QAAQ,CAACC,KAAK,IAAIX,OAAO,CAACU,QAAQ,CAACE,eAAe,CAAC,EAAE;MACvD,OAAOF,QAAQ,CAACC,KAAK;IACvB;IACA,IAAME,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAACL,QAAQ,CAACE,eAAe,CAAC;IACzD,IAAIV,cAAc,CAACc,GAAG,CAACH,QAAQ,CAAC,EAAE;MAChC,OAAOX,cAAc,CAACe,GAAG,CAACJ,QAAQ,CAAC;IACrC;IACA,IAAM;MAAEK,QAAQ;MAAEC,UAAU;MAAEC;IAAY,CAAC,GAAGV,QAAQ,CAACE,eAAe;IACtE,IAAMS,IAAI,GAAGD,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI,MAAM;IAClC,IAAME,YAAY,SAASrB,qBAAqB,CAACiB,QAAQ,EAAEC,UAAU,EAAE;MACrEI,MAAM,EAAEF;IACV,CAAC,CAAC;IACF,IAAIV,KAAa;IACjB,IAAIS,WAAW,KAAK,UAAU,IAAII,KAAK,CAACC,OAAO,CAACH,YAAY,CAACD,IAAI,CAAC,CAAC,EAAE;MACnE,IAAM,CAACK,OAAO,EAAE,GAAGC,IAAI,CAAC,GAAGL,YAAY,CAACD,IAAI,CAAC;MAC7CV,KAAK,GAAGgB,IAAI,CAACC,MAAM,GAAG,CAAC,MAAAC,MAAA,CAAMH,OAAO,OAAAG,MAAA,CAAIF,IAAI,CAACG,IAAI,CAAC,GAAG,CAAC,SAAMC,MAAM,CAACL,OAAO,CAAC;IAC7E,CAAC,MAAM;MACLf,KAAK,GAAGoB,MAAM,CAACT,YAAY,CAACD,IAAI,CAAC,CAAC;IACpC;IACAnB,cAAc,CAAC8B,GAAG,CAACnB,QAAQ,EAAEF,KAAK,CAAC;IACnC,OAAOA,KAAK;EACd,CAAC;EAAA,OAAAL,eAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
@@ -0,0 +1,19 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import { _internalApiGetStoryboardInBootstrapData } from "../Runtime.js";
3
+ export function getMenusOfStandaloneApp(menuId, appId) {
4
+ var _ref, _storyboard$meta$inje, _storyboard$meta, _storyboard$meta2;
5
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
6
+ var storyboard = _internalApiGetStoryboardInBootstrapData(appId);
7
+ var menus = (_ref = (_storyboard$meta$inje = (_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.injectMenus) !== null && _storyboard$meta$inje !== void 0 ? _storyboard$meta$inje : (_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.menus) !== null && _ref !== void 0 ? _ref : [];
8
+ return menus.filter(menu => menu.menuId === menuId).map(menu => {
9
+ var _menu$app, _menu$app$;
10
+ return _objectSpread(_objectSpread({}, menu), (_menu$app = menu.app) !== null && _menu$app !== void 0 && (_menu$app$ = _menu$app[0]) !== null && _menu$app$ !== void 0 && _menu$app$.appId ? {} : {
11
+ app: [{
12
+ appId
13
+ }]
14
+ });
15
+ });
16
+
17
+ // Todo: maybe: fetch menus from STANDALONE_MENU@EASYOPS
18
+ }
19
+ //# sourceMappingURL=getMenusOfStandaloneApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMenusOfStandaloneApp.js","names":["_internalApiGetStoryboardInBootstrapData","getMenusOfStandaloneApp","menuId","appId","_ref","_storyboard$meta$inje","_storyboard$meta","_storyboard$meta2","storyboard","menus","meta","injectMenus","filter","menu","map","_menu$app","_menu$app$","_objectSpread","app"],"sources":["../../../../src/internal/menu/getMenusOfStandaloneApp.ts"],"sourcesContent":["import { _internalApiGetStoryboardInBootstrapData } from \"../Runtime.js\";\nimport { MenuRawData } from \"./interfaces.js\";\n\nexport function getMenusOfStandaloneApp(\n menuId: string,\n appId: string\n): MenuRawData[] {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n const menus = (storyboard.meta?.injectMenus ??\n storyboard.meta?.menus ??\n []) as MenuRawData[];\n\n return menus\n .filter((menu) => menu.menuId === menuId)\n .map((menu) => ({\n ...menu,\n ...(menu.app?.[0]?.appId ? {} : { app: [{ appId }] }),\n }));\n\n // Todo: maybe: fetch menus from STANDALONE_MENU@EASYOPS\n}\n"],"mappings":";AAAA,SAASA,wCAAwC,QAAQ,eAAe;AAGxE,OAAO,SAASC,uBAAuBA,CACrCC,MAAc,EACdC,KAAa,EACE;EAAA,IAAAC,IAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,iBAAA;EACf;EACA,IAAMC,UAAU,GAAGR,wCAAwC,CAACG,KAAK,CAAE;EACnE,IAAMM,KAAK,IAAAL,IAAA,IAAAC,qBAAA,IAAAC,gBAAA,GAAIE,UAAU,CAACE,IAAI,cAAAJ,gBAAA,uBAAfA,gBAAA,CAAiBK,WAAW,cAAAN,qBAAA,cAAAA,qBAAA,IAAAE,iBAAA,GACzCC,UAAU,CAACE,IAAI,cAAAH,iBAAA,uBAAfA,iBAAA,CAAiBE,KAAK,cAAAL,IAAA,cAAAA,IAAA,GACtB,EAAoB;EAEtB,OAAOK,KAAK,CACTG,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAACX,MAAM,KAAKA,MAAM,CAAC,CACxCY,GAAG,CAAED,IAAI;IAAA,IAAAE,SAAA,EAAAC,UAAA;IAAA,OAAAC,aAAA,CAAAA,aAAA,KACLJ,IAAI,GACH,CAAAE,SAAA,GAAAF,IAAI,CAACK,GAAG,cAAAH,SAAA,gBAAAC,UAAA,GAARD,SAAA,CAAW,CAAC,CAAC,cAAAC,UAAA,eAAbA,UAAA,CAAeb,KAAK,GAAG,CAAC,CAAC,GAAG;MAAEe,GAAG,EAAE,CAAC;QAAEf;MAAM,CAAC;IAAE,CAAC;EAAA,CACpD,CAAC;;EAEL;AACF"}
@@ -0,0 +1,4 @@
1
+ import { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from "./constants.js";
2
+
3
+ /** 原始菜单数据。 */
4
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","names":["symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp"],"sources":["../../../../src/internal/menu/interfaces.ts"],"sourcesContent":["import type { MetaI18n, MicroApp, ResolveConf } from \"@next-core/types\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\n/** 原始菜单数据。 */\nexport interface MenuRawData {\n menuId: string;\n title: string;\n app: [\n {\n appId: string;\n }\n ];\n icon?: unknown;\n link?: string;\n titleDataSource?: TitleDataSource;\n items?: MenuItemRawData[];\n type?: \"main\" | \"inject\";\n injectMenuGroupId?: string;\n defaultCollapsed?: boolean;\n defaultCollapsedBreakpoint?: number;\n dynamicItems?: boolean;\n itemsResolve?: ResolveConf;\n i18n?: MetaI18n;\n overrideApp?: MicroApp;\n}\n\n/** 原始菜单项数据。 */\nexport type MenuItemRawData = Omit<SidebarMenuSimpleItem, \"type\"> & {\n children?: MenuItemRawData[];\n type?: \"default\" | \"group\";\n sort?: number;\n if?: string | boolean;\n defaultExpanded?: boolean;\n groupId?: string;\n};\n\ninterface TitleDataSource {\n objectId: string;\n instanceId: string;\n attributeId?: string;\n}\n\n/** 侧边栏基本菜单项的配置。 */\nexport interface SidebarMenuSimpleItem {\n /** 菜单项文本。 */\n text: string;\n\n /** 菜单项对应的系统内地址。 */\n // to?: LocationDescriptor;\n to?: unknown;\n\n /** 菜单项对应的外部链接地址。 */\n href?: string;\n\n /** 菜单项的图标。 */\n // icon?: MenuIcon;\n icon?: unknown;\n\n /** 菜单项链接打开的目标。 */\n target?: string;\n\n type?: \"default\";\n\n /** 高亮菜单项时是否使用精确匹配来对比当前地址和菜单项地址。 */\n exact?: boolean;\n\n /** 设置额外包含的匹配高亮菜单项的地址列表。 */\n activeIncludes?: string[];\n\n /** 设置需要被排除的匹配高亮菜单项的地址列表。 */\n activeExcludes?: string[];\n\n /** 设置匹配高亮菜单项时是否还对 search 参数进行比较。 */\n activeMatchSearch?: boolean;\n\n /** @internal */\n key?: string;\n}\n\nexport interface RuntimeMenuItemRawData extends MenuItemRawData {\n children?: RuntimeMenuItemRawData[];\n [symbolAppId]: string;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n\nexport interface RuntimeMenuRawData extends MenuRawData {\n items: RuntimeMenuItemRawData[];\n // [symbolShouldCache]?: boolean;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n"],"mappings":"AACA,SACEA,WAAW,EACXC,uBAAuB,EACvBC,iBAAiB,QACZ,gBAAgB;;AAEvB"}
@@ -0,0 +1,28 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import { _internalApiGetAppInBootstrapData } from "../Runtime.js";
4
+ import { resolveData } from "../data/resolveData.js";
5
+ export function loadDynamicMenuItems(_x, _x2, _x3) {
6
+ return _loadDynamicMenuItems.apply(this, arguments);
7
+ }
8
+ function _loadDynamicMenuItems() {
9
+ _loadDynamicMenuItems = _asyncToGenerator(function* (menu, runtimeContext, menuWithI18n) {
10
+ if (menu.dynamicItems && menu.itemsResolve) {
11
+ var overrideAppId = menu.app[0].appId;
12
+ var newRuntimeContext = runtimeContext;
13
+ if (overrideAppId !== runtimeContext.app.id) {
14
+ var overrideApp = window.STANDALONE_MICRO_APPS ? menu.overrideApp : _internalApiGetAppInBootstrapData(overrideAppId);
15
+ newRuntimeContext = _objectSpread(_objectSpread({}, runtimeContext), {}, {
16
+ overrideApp,
17
+ appendI18nNamespace: menuWithI18n.get(menu)
18
+ });
19
+ }
20
+ var resolved = yield resolveData(_objectSpread({
21
+ transform: "items"
22
+ }, menu.itemsResolve), newRuntimeContext);
23
+ menu.items = resolved.items;
24
+ }
25
+ });
26
+ return _loadDynamicMenuItems.apply(this, arguments);
27
+ }
28
+ //# sourceMappingURL=loadDynamicMenuItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadDynamicMenuItems.js","names":["_internalApiGetAppInBootstrapData","resolveData","loadDynamicMenuItems","_x","_x2","_x3","_loadDynamicMenuItems","apply","arguments","_asyncToGenerator","menu","runtimeContext","menuWithI18n","dynamicItems","itemsResolve","overrideAppId","app","appId","newRuntimeContext","id","overrideApp","window","STANDALONE_MICRO_APPS","_objectSpread","appendI18nNamespace","get","resolved","transform","items"],"sources":["../../../../src/internal/menu/loadDynamicMenuItems.ts"],"sourcesContent":["import type { MenuItemRawData, MenuRawData } from \"./interfaces.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { _internalApiGetAppInBootstrapData } from \"../Runtime.js\";\nimport { resolveData } from \"../data/resolveData.js\";\n\nexport async function loadDynamicMenuItems(\n menu: MenuRawData,\n runtimeContext: RuntimeContext,\n menuWithI18n: WeakMap<MenuRawData, string>\n): Promise<void> {\n if (menu.dynamicItems && menu.itemsResolve) {\n const overrideAppId = menu.app[0].appId;\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n const overrideApp = window.STANDALONE_MICRO_APPS\n ? menu.overrideApp\n : _internalApiGetAppInBootstrapData(overrideAppId);\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: menuWithI18n.get(menu),\n };\n }\n const resolved = (await resolveData(\n {\n transform: \"items\",\n ...menu.itemsResolve,\n },\n newRuntimeContext\n )) as { items: MenuItemRawData[] };\n menu.items = resolved.items;\n }\n}\n"],"mappings":";;AAEA,SAASA,iCAAiC,QAAQ,eAAe;AACjE,SAASC,WAAW,QAAQ,wBAAwB;AAEpD,gBAAsBC,oBAAoBA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,qBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AA2BzC,SAAAF,sBAAA;EAAAA,qBAAA,GAAAG,iBAAA,CA3BM,WACLC,IAAiB,EACjBC,cAA8B,EAC9BC,YAA0C,EAC3B;IACf,IAAIF,IAAI,CAACG,YAAY,IAAIH,IAAI,CAACI,YAAY,EAAE;MAC1C,IAAMC,aAAa,GAAGL,IAAI,CAACM,GAAG,CAAC,CAAC,CAAC,CAACC,KAAK;MACvC,IAAIC,iBAAiB,GAAGP,cAAc;MACtC,IAAII,aAAa,KAAKJ,cAAc,CAACK,GAAG,CAACG,EAAE,EAAE;QAC3C,IAAMC,WAAW,GAAGC,MAAM,CAACC,qBAAqB,GAC5CZ,IAAI,CAACU,WAAW,GAChBpB,iCAAiC,CAACe,aAAa,CAAC;QACpDG,iBAAiB,GAAAK,aAAA,CAAAA,aAAA,KACZZ,cAAc;UACjBS,WAAW;UACXI,mBAAmB,EAAEZ,YAAY,CAACa,GAAG,CAACf,IAAI;QAAC,EAC5C;MACH;MACA,IAAMgB,QAAQ,SAAUzB,WAAW,CAAAsB,aAAA;QAE/BI,SAAS,EAAE;MAAO,GACfjB,IAAI,CAACI,YAAY,GAEtBI,iBAAiB,CACe;MAClCR,IAAI,CAACkB,KAAK,GAAGF,QAAQ,CAACE,KAAK;IAC7B;EACF,CAAC;EAAA,OAAAtB,qBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
@@ -0,0 +1,77 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import { i18n } from "@next-core/i18n";
4
+ import { getI18nNamespace } from "../registerAppI18n.js";
5
+ import { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from "./constants.js";
6
+ import { loadDynamicMenuItems } from "./loadDynamicMenuItems.js";
7
+ export function mergeMenu(_x, _x2) {
8
+ return _mergeMenu.apply(this, arguments);
9
+ }
10
+ function _mergeMenu() {
11
+ _mergeMenu = _asyncToGenerator(function* (menuList, runtimeContext) {
12
+ var mainMenu = menuList.find(menu => menu.type !== "inject");
13
+ if (!mainMenu) {
14
+ return undefined;
15
+ }
16
+ var validMenuList = [];
17
+ var injectWithMenus = new Map();
18
+ var menuWithI18n = new WeakMap();
19
+ for (var menu of menuList) {
20
+ if (menu.i18n) {
21
+ (function () {
22
+ var menuI18nNamespace = getI18nNamespace("menu", "".concat(menu.menuId, "~").concat(menu.app[0].appId, "+").concat(menu.instanceId));
23
+ // Support any language in `menu.i18n`.
24
+ Object.entries(menu.i18n).forEach(_ref => {
25
+ var [lang, resources] = _ref;
26
+ i18n.addResourceBundle(lang, menuI18nNamespace, resources);
27
+ });
28
+ menuWithI18n.set(menu, menuI18nNamespace);
29
+ })();
30
+ }
31
+ }
32
+ yield Promise.all(menuList.map(menu => loadDynamicMenuItems(menu, runtimeContext, menuWithI18n)));
33
+ for (var _menu of menuList) {
34
+ var _menu$items;
35
+ if ((_menu$items = _menu.items) !== null && _menu$items !== void 0 && _menu$items.length) {
36
+ if (_menu.type === "inject" && _menu.injectMenuGroupId) {
37
+ var injectingMenus = injectWithMenus.get(_menu.injectMenuGroupId);
38
+ if (!injectingMenus) {
39
+ injectingMenus = [];
40
+ injectWithMenus.set(_menu.injectMenuGroupId, injectingMenus);
41
+ }
42
+ injectingMenus.push(_menu);
43
+ } else {
44
+ validMenuList.push(_menu);
45
+ }
46
+ }
47
+ }
48
+ return _objectSpread(_objectSpread({}, mainMenu), {}, {
49
+ items: validMenuList.flatMap(menu =>
50
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
51
+ processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)),
52
+ [symbolMenuI18nNamespace]: menuWithI18n.get(mainMenu),
53
+ [symbolOverrideApp]: mainMenu.overrideApp
54
+ });
55
+ });
56
+ return _mergeMenu.apply(this, arguments);
57
+ }
58
+ function processGroupInject(items, menu, injectWithMenus, menuWithI18n) {
59
+ return items === null || items === void 0 ? void 0 : items.map(item => {
60
+ var _processGroupInject;
61
+ var foundInjectingMenus = item.groupId && injectWithMenus.get(item.groupId);
62
+ if (foundInjectingMenus) {
63
+ // Each menu to be injected with should be injected only once.
64
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
65
+ injectWithMenus.delete(item.groupId);
66
+ }
67
+ return _objectSpread(_objectSpread({}, item), {}, {
68
+ children: ((_processGroupInject = processGroupInject(item.children, menu, injectWithMenus, menuWithI18n)) !== null && _processGroupInject !== void 0 ? _processGroupInject : []).concat(foundInjectingMenus ? foundInjectingMenus.flatMap(injectingMenu =>
69
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
70
+ processGroupInject(injectingMenu.items, injectingMenu, injectWithMenus, menuWithI18n)) : []),
71
+ [symbolAppId]: menu.app[0].appId,
72
+ [symbolMenuI18nNamespace]: menuWithI18n.get(menu),
73
+ [symbolOverrideApp]: menu.overrideApp
74
+ });
75
+ });
76
+ }
77
+ //# sourceMappingURL=mergeMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeMenu.js","names":["i18n","getI18nNamespace","symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp","loadDynamicMenuItems","mergeMenu","_x","_x2","_mergeMenu","apply","arguments","_asyncToGenerator","menuList","runtimeContext","mainMenu","find","menu","type","undefined","validMenuList","injectWithMenus","Map","menuWithI18n","WeakMap","menuI18nNamespace","concat","menuId","app","appId","instanceId","Object","entries","forEach","_ref","lang","resources","addResourceBundle","set","Promise","all","map","_menu$items","items","length","injectMenuGroupId","injectingMenus","get","push","_objectSpread","flatMap","processGroupInject","overrideApp","item","_processGroupInject","foundInjectingMenus","groupId","delete","children","injectingMenu"],"sources":["../../../../src/internal/menu/mergeMenu.ts"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\nimport type {\n MenuItemRawData,\n MenuRawData,\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { loadDynamicMenuItems } from \"./loadDynamicMenuItems.js\";\n\nexport async function mergeMenu(\n menuList: MenuRawData[],\n runtimeContext: RuntimeContext\n): Promise<RuntimeMenuRawData | undefined> {\n const mainMenu = menuList.find((menu) => menu.type !== \"inject\");\n if (!mainMenu) {\n return undefined;\n }\n const validMenuList: MenuRawData[] = [];\n const injectWithMenus = new Map<string, MenuRawData[]>();\n const menuWithI18n = new WeakMap<MenuRawData, string>();\n\n for (const menu of menuList) {\n if (menu.i18n) {\n const menuI18nNamespace = getI18nNamespace(\n \"menu\",\n `${menu.menuId}~${menu.app[0].appId}+${\n (menu as { instanceId?: string }).instanceId\n }`\n );\n // Support any language in `menu.i18n`.\n Object.entries(menu.i18n).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, menuI18nNamespace, resources);\n });\n menuWithI18n.set(menu, menuI18nNamespace);\n }\n }\n\n await Promise.all(\n menuList.map((menu) =>\n loadDynamicMenuItems(menu, runtimeContext, menuWithI18n)\n )\n );\n\n for (const menu of menuList) {\n if (menu.items?.length) {\n if (menu.type === \"inject\" && menu.injectMenuGroupId) {\n let injectingMenus = injectWithMenus.get(menu.injectMenuGroupId);\n if (!injectingMenus) {\n injectingMenus = [];\n injectWithMenus.set(menu.injectMenuGroupId, injectingMenus);\n }\n injectingMenus.push(menu);\n } else {\n validMenuList.push(menu);\n }\n }\n }\n\n return {\n ...mainMenu,\n items: validMenuList.flatMap(\n (menu) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)!\n ),\n [symbolMenuI18nNamespace]: menuWithI18n.get(mainMenu),\n [symbolOverrideApp]: mainMenu.overrideApp,\n };\n}\n\nfunction processGroupInject(\n items: MenuItemRawData[] | undefined,\n menu: MenuRawData,\n injectWithMenus: Map<string, MenuRawData[]>,\n menuWithI18n: WeakMap<MenuRawData, string>\n): RuntimeMenuItemRawData[] | undefined {\n return items?.map((item) => {\n const foundInjectingMenus =\n item.groupId && injectWithMenus.get(item.groupId);\n if (foundInjectingMenus) {\n // Each menu to be injected with should be injected only once.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n injectWithMenus.delete(item.groupId!);\n }\n return {\n ...item,\n children: (\n processGroupInject(\n item.children,\n menu,\n injectWithMenus,\n menuWithI18n\n ) ?? ([] as RuntimeMenuItemRawData[])\n ).concat(\n foundInjectingMenus\n ? foundInjectingMenus.flatMap(\n (injectingMenu) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(\n injectingMenu.items,\n injectingMenu,\n injectWithMenus,\n menuWithI18n\n )!\n )\n : ([] as RuntimeMenuItemRawData[])\n ),\n [symbolAppId]: menu.app[0].appId,\n [symbolMenuI18nNamespace]: menuWithI18n.get(menu),\n [symbolOverrideApp]: menu.overrideApp,\n };\n });\n}\n"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import { sortBy } from "lodash";
3
+ export function reorderMenuItems(menuData) {
4
+ menuData.items = sortMenuItems(menuData.items).map(item => _objectSpread(_objectSpread({}, item), {}, {
5
+ children: sortMenuItems(item.children)
6
+ }));
7
+ }
8
+ function sortMenuItems(list) {
9
+ return sortBy(list, item => {
10
+ var _item$sort;
11
+ return (_item$sort = item.sort) !== null && _item$sort !== void 0 ? _item$sort : -Infinity;
12
+ });
13
+ }
14
+ //# sourceMappingURL=reorderMenuItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorderMenuItems.js","names":["sortBy","reorderMenuItems","menuData","items","sortMenuItems","map","item","_objectSpread","children","list","_item$sort","sort","Infinity"],"sources":["../../../../src/internal/menu/reorderMenuItems.ts"],"sourcesContent":["import { sortBy } from \"lodash\";\nimport { MenuItemRawData, MenuRawData } from \"./interfaces.js\";\n\nexport function reorderMenuItems(menuData: MenuRawData): void {\n menuData.items = sortMenuItems(menuData.items).map((item) => ({\n ...item,\n children: sortMenuItems(item.children) as MenuItemRawData[],\n }));\n}\n\nfunction sortMenuItems(list: MenuItemRawData[] | undefined): MenuItemRawData[] {\n return sortBy(list, (item) => item.sort ?? -Infinity);\n}\n"],"mappings":";AAAA,SAASA,MAAM,QAAQ,QAAQ;AAG/B,OAAO,SAASC,gBAAgBA,CAACC,QAAqB,EAAQ;EAC5DA,QAAQ,CAACC,KAAK,GAAGC,aAAa,CAACF,QAAQ,CAACC,KAAK,CAAC,CAACE,GAAG,CAAEC,IAAI,IAAAC,aAAA,CAAAA,aAAA,KACnDD,IAAI;IACPE,QAAQ,EAAEJ,aAAa,CAACE,IAAI,CAACE,QAAQ;EAAsB,EAC3D,CAAC;AACL;AAEA,SAASJ,aAAaA,CAACK,IAAmC,EAAqB;EAC7E,OAAOT,MAAM,CAACS,IAAI,EAAGH,IAAI;IAAA,IAAAI,UAAA;IAAA,QAAAA,UAAA,GAAKJ,IAAI,CAACK,IAAI,cAAAD,UAAA,cAAAA,UAAA,GAAI,CAACE,QAAQ;EAAA,EAAC;AACvD"}
@@ -0,0 +1,83 @@
1
+ import { bindTemplateProxy } from "./CustomTemplates/bindTemplateProxy.js";
2
+ import { getTplStateStore } from "./CustomTemplates/utils.js";
3
+ import { bindListeners } from "./bindListeners.js";
4
+ import { setRealProperties } from "./compute/setRealProperties.js";
5
+ import { RenderTag } from "./enums.js";
6
+ export function unmountTree(mountPoint) {
7
+ mountPoint.innerHTML = "";
8
+ }
9
+ export function mountTree(root, initializedElement) {
10
+ var current = root.child;
11
+ var portalElements = [];
12
+ while (current) {
13
+ var tagName = current.type;
14
+ if (tagName.includes("-") && !customElements.get(tagName)) {
15
+ // eslint-disable-next-line no-console
16
+ console.error("Undefined custom element: ".concat(tagName));
17
+ }
18
+
19
+ // istanbul ignore if
20
+ if (tagName === "basic-bricks.script-brick") {
21
+ // eslint-disable-next-line no-console
22
+ console.warn("`basic-bricks.script-brick` is deprecated, please take caution when using it");
23
+ }
24
+ var element = initializedElement && current === root.child ? initializedElement : document.createElement(tagName);
25
+ current.element = element;
26
+ if (current.slotId) {
27
+ element.setAttribute("slot", current.slotId);
28
+ }
29
+ if (current.iid) {
30
+ element.dataset.iid = current.iid;
31
+ }
32
+ setRealProperties(element, current.properties);
33
+ bindListeners(element, current.events, current.runtimeContext);
34
+ if (current.tplHostMetadata) {
35
+ // 先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,
36
+ // 避免初始化的一次 state update 操作及其 onChange 事件。
37
+ element.$$tplStateStore = getTplStateStore({
38
+ tplStateStoreId: current.tplHostMetadata.tplStateStoreId,
39
+ tplStateStoreMap: current.runtimeContext.tplStateStoreMap
40
+ }, "mount");
41
+ }
42
+ bindTemplateProxy(current);
43
+ if (current.portal) {
44
+ portalElements.push(element);
45
+ } else if (current.return) {
46
+ if (!current.return.childElements) {
47
+ current.return.childElements = [];
48
+ }
49
+ current.return.childElements.push(element);
50
+ }
51
+ if (current.child) {
52
+ current = current.child;
53
+ } else if (current.sibling) {
54
+ current = current.sibling;
55
+ } else {
56
+ var _currentReturn;
57
+ var currentReturn = current.return;
58
+ while (currentReturn) {
59
+ // Append elements inside out
60
+ if (currentReturn.childElements) {
61
+ if (currentReturn.tag === RenderTag.ROOT) {
62
+ var _currentReturn$contai;
63
+ (_currentReturn$contai = currentReturn.container) === null || _currentReturn$contai === void 0 ? void 0 : _currentReturn$contai.append(...currentReturn.childElements);
64
+ if (portalElements.length > 0) {
65
+ var portal = typeof currentReturn.createPortal === "function" ? currentReturn.createPortal() : currentReturn.createPortal;
66
+ portal.append(...portalElements);
67
+ }
68
+ } else {
69
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
70
+ currentReturn.element.append(...currentReturn.childElements);
71
+ }
72
+ currentReturn.childElements = undefined;
73
+ }
74
+ if (currentReturn.sibling) {
75
+ break;
76
+ }
77
+ currentReturn = currentReturn.return;
78
+ }
79
+ current = (_currentReturn = currentReturn) === null || _currentReturn === void 0 ? void 0 : _currentReturn.sibling;
80
+ }
81
+ }
82
+ }
83
+ //# sourceMappingURL=mount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.js","names":["bindTemplateProxy","getTplStateStore","bindListeners","setRealProperties","RenderTag","unmountTree","mountPoint","innerHTML","mountTree","root","initializedElement","current","child","portalElements","tagName","type","includes","customElements","get","console","error","concat","warn","element","document","createElement","slotId","setAttribute","iid","dataset","properties","events","runtimeContext","tplHostMetadata","$$tplStateStore","tplStateStoreId","tplStateStoreMap","portal","push","return","childElements","sibling","_currentReturn","currentReturn","tag","ROOT","_currentReturn$contai","container","append","length","createPortal","undefined"],"sources":["../../../src/internal/mount.ts"],"sourcesContent":["import { bindTemplateProxy } from \"./CustomTemplates/bindTemplateProxy.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport { bindListeners } from \"./bindListeners.js\";\nimport { setRealProperties } from \"./compute/setRealProperties.js\";\nimport { RenderTag } from \"./enums.js\";\nimport type {\n RenderNode,\n RenderRoot,\n RuntimeBrickElement,\n} from \"./interfaces.js\";\n\nexport function unmountTree(mountPoint: HTMLElement) {\n mountPoint.innerHTML = \"\";\n}\n\nexport function mountTree(\n root: RenderRoot,\n initializedElement?: RuntimeBrickElement\n): void {\n let current = root.child;\n const portalElements: RuntimeBrickElement[] = [];\n while (current) {\n const tagName = current.type;\n\n if (tagName.includes(\"-\") && !customElements.get(tagName)) {\n // eslint-disable-next-line no-console\n console.error(`Undefined custom element: ${tagName}`);\n }\n\n // istanbul ignore if\n if (tagName === \"basic-bricks.script-brick\") {\n // eslint-disable-next-line no-console\n console.warn(\n \"`basic-bricks.script-brick` is deprecated, please take caution when using it\"\n );\n }\n\n const element: RuntimeBrickElement =\n initializedElement && current === root.child\n ? initializedElement\n : document.createElement(tagName);\n current.element = element;\n\n if (current.slotId) {\n element.setAttribute(\"slot\", current.slotId);\n }\n if (current.iid) {\n element.dataset.iid = current.iid;\n }\n setRealProperties(element, current.properties);\n bindListeners(element, current.events, current.runtimeContext);\n if (current.tplHostMetadata) {\n // 先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,\n // 避免初始化的一次 state update 操作及其 onChange 事件。\n element.$$tplStateStore = getTplStateStore(\n {\n tplStateStoreId: current.tplHostMetadata.tplStateStoreId,\n tplStateStoreMap: current.runtimeContext.tplStateStoreMap,\n },\n \"mount\"\n );\n }\n bindTemplateProxy(current);\n\n if (current.portal) {\n portalElements.push(element);\n } else if (current.return) {\n if (!current.return.childElements) {\n current.return.childElements = [];\n }\n current.return.childElements.push(element);\n }\n\n if (current.child) {\n current = current.child;\n } else if (current.sibling) {\n current = current.sibling;\n } else {\n let currentReturn: RenderNode | null | undefined = current.return;\n while (currentReturn) {\n // Append elements inside out\n if (currentReturn.childElements) {\n if (currentReturn.tag === RenderTag.ROOT) {\n currentReturn.container?.append(...currentReturn.childElements);\n\n if (portalElements.length > 0) {\n const portal =\n typeof currentReturn.createPortal === \"function\"\n ? currentReturn.createPortal()\n : currentReturn.createPortal;\n portal.append(...portalElements);\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n currentReturn.element!.append(...currentReturn.childElements);\n }\n currentReturn.childElements = undefined;\n }\n if (currentReturn.sibling) {\n break;\n }\n currentReturn = currentReturn.return;\n }\n current = currentReturn?.sibling;\n }\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { _internalApiGetRenderId } from "./Runtime.js";
3
+ var timeoutIdList = new Set();
4
+ export function startPoll(task, _ref, _ref2) {
5
+ var {
6
+ progress,
7
+ success,
8
+ error,
9
+ finally: finallyCallback
10
+ } = _ref;
11
+ var {
12
+ interval,
13
+ leadingRequestDelay,
14
+ continueOnError,
15
+ delegateLoadingBar,
16
+ expectPollEnd,
17
+ expectPollStopImmediately
18
+ } = _ref2;
19
+ var currentRenderId = _internalApiGetRenderId();
20
+ var currentTimeoutId;
21
+ function poll() {
22
+ return _poll.apply(this, arguments);
23
+ }
24
+ function _poll() {
25
+ _poll = _asyncToGenerator(function* () {
26
+ timeoutIdList.delete(currentTimeoutId);
27
+ var shouldStop;
28
+ try {
29
+ shouldStop = expectPollStopImmediately === null || expectPollStopImmediately === void 0 ? void 0 : expectPollStopImmediately();
30
+ // Stop polling immediately when the expectation is match before task.
31
+ if (!shouldStop) {
32
+ var _result = yield task();
33
+ // Stop polling immediately when the expectation is match or a different router
34
+ // is rendering after the task processed.
35
+ shouldStop = (expectPollStopImmediately === null || expectPollStopImmediately === void 0 ? void 0 : expectPollStopImmediately()) || currentRenderId !== _internalApiGetRenderId();
36
+ if (!shouldStop) {
37
+ progress === null || progress === void 0 ? void 0 : progress(_result);
38
+ if (expectPollEnd !== null && expectPollEnd !== void 0 && expectPollEnd(_result)) {
39
+ if (delegateLoadingBar) {
40
+ window.dispatchEvent(new Event("request.end"));
41
+ }
42
+ success === null || success === void 0 ? void 0 : success(_result);
43
+ finallyCallback === null || finallyCallback === void 0 ? void 0 : finallyCallback();
44
+ } else {
45
+ delayedPoll(interval !== null && interval !== void 0 ? interval : 3000);
46
+ }
47
+ }
48
+ }
49
+ } catch (e) {
50
+ // Stop polling immediately when the expectation is match or a different router
51
+ // is rendering after the task processed.
52
+ shouldStop = (expectPollStopImmediately === null || expectPollStopImmediately === void 0 ? void 0 : expectPollStopImmediately()) || currentRenderId !== _internalApiGetRenderId();
53
+ if (!shouldStop) {
54
+ error === null || error === void 0 ? void 0 : error(e);
55
+ if (continueOnError) {
56
+ delayedPoll(interval !== null && interval !== void 0 ? interval : 3000);
57
+ } else {
58
+ finallyCallback === null || finallyCallback === void 0 ? void 0 : finallyCallback();
59
+ }
60
+ }
61
+ } finally {
62
+ // Manually dispatch an event of `request.end` when the polling is stopped immediately.
63
+ if (delegateLoadingBar && shouldStop) {
64
+ window.dispatchEvent(new Event("request.end"));
65
+ }
66
+ }
67
+ });
68
+ return _poll.apply(this, arguments);
69
+ }
70
+ function delayedPoll(delay) {
71
+ currentTimeoutId = setTimeout(poll, delay);
72
+ timeoutIdList.add(currentTimeoutId);
73
+ }
74
+ delayedPoll(leadingRequestDelay !== null && leadingRequestDelay !== void 0 ? leadingRequestDelay : 0);
75
+ if (delegateLoadingBar) {
76
+ window.dispatchEvent(new Event("request.start"));
77
+ }
78
+ }
79
+ export function clearPollTimeout() {
80
+ for (var timeoutId of timeoutIdList) {
81
+ clearTimeout(timeoutId);
82
+ }
83
+ timeoutIdList.clear();
84
+ }
85
+ //# sourceMappingURL=poll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll.js","names":["_internalApiGetRenderId","timeoutIdList","Set","startPoll","task","_ref","_ref2","progress","success","error","finally","finallyCallback","interval","leadingRequestDelay","continueOnError","delegateLoadingBar","expectPollEnd","expectPollStopImmediately","currentRenderId","currentTimeoutId","poll","_poll","apply","arguments","_asyncToGenerator","delete","shouldStop","result","window","dispatchEvent","Event","delayedPoll","e","delay","setTimeout","add","clearPollTimeout","timeoutId","clearTimeout","clear"],"sources":["../../../src/internal/poll.ts"],"sourcesContent":["import type { ProviderPollOptions } from \"@next-core/types\";\nimport { _internalApiGetRenderId } from \"./Runtime.js\";\n\nexport type PollableCallbackFunction = (result?: unknown) => unknown;\n\nexport interface PollableCallback {\n progress?: PollableCallbackFunction;\n success?: PollableCallbackFunction;\n error?: PollableCallbackFunction;\n finally?: PollableCallbackFunction;\n}\n\nconst timeoutIdList = new Set<number>();\n\nexport function startPoll(\n task: () => unknown,\n { progress, success, error, finally: finallyCallback }: PollableCallback,\n {\n interval,\n leadingRequestDelay,\n continueOnError,\n delegateLoadingBar,\n expectPollEnd,\n expectPollStopImmediately,\n }: ProviderPollOptions\n): void {\n const currentRenderId = _internalApiGetRenderId();\n let currentTimeoutId: number;\n async function poll(): Promise<void> {\n timeoutIdList.delete(currentTimeoutId);\n let shouldStop: boolean | undefined;\n try {\n shouldStop = expectPollStopImmediately?.();\n // Stop polling immediately when the expectation is match before task.\n if (!shouldStop) {\n const result = await task();\n // Stop polling immediately when the expectation is match or a different router\n // is rendering after the task processed.\n shouldStop =\n expectPollStopImmediately?.() ||\n currentRenderId !== _internalApiGetRenderId();\n if (!shouldStop) {\n progress?.(result);\n if (expectPollEnd?.(result)) {\n if (delegateLoadingBar) {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n success?.(result);\n finallyCallback?.();\n } else {\n delayedPoll(interval ?? 3000);\n }\n }\n }\n } catch (e) {\n // Stop polling immediately when the expectation is match or a different router\n // is rendering after the task processed.\n shouldStop =\n expectPollStopImmediately?.() ||\n currentRenderId !== _internalApiGetRenderId();\n if (!shouldStop) {\n error?.(e);\n if (continueOnError) {\n delayedPoll(interval ?? 3000);\n } else {\n finallyCallback?.();\n }\n }\n } finally {\n // Manually dispatch an event of `request.end` when the polling is stopped immediately.\n if (delegateLoadingBar && shouldStop) {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n }\n }\n\n function delayedPoll(delay: number): void {\n currentTimeoutId = setTimeout(poll, delay) as unknown as number;\n timeoutIdList.add(currentTimeoutId);\n }\n\n delayedPoll(leadingRequestDelay ?? 0);\n\n if (delegateLoadingBar) {\n window.dispatchEvent(new Event(\"request.start\"));\n }\n}\n\nexport function clearPollTimeout(): void {\n for (const timeoutId of timeoutIdList) {\n clearTimeout(timeoutId);\n }\n timeoutIdList.clear();\n}\n"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { getDevHook } from "./devtools.js";
2
+
3
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
+ var THROW = () => {
5
+ throw new Error("Can't modify read-only proxy object");
6
+ };
7
+ var readOnlyHandler = {
8
+ set: THROW,
9
+ defineProperty: THROW,
10
+ deleteProperty: THROW,
11
+ setPrototypeOf: THROW
12
+ };
13
+ export function getReadOnlyProxy(object) {
14
+ return new Proxy(object, readOnlyHandler);
15
+ }
16
+
17
+ // First, we want to make accessing property of globals lazy,
18
+ // So we use *Proxy* to make a dynamic accessor for each of these globals.
19
+ // But we also want to keep them working in devtools.
20
+ export function getDynamicReadOnlyProxy(_ref) {
21
+ var {
22
+ get,
23
+ ownKeys
24
+ } = _ref;
25
+ if (getDevHook()) {
26
+ // In devtools, we extract them at beginning.
27
+ var target = Object.fromEntries(ownKeys(null).map(key => [key, get(null, key, null)]));
28
+ return getReadOnlyProxy(target);
29
+ }
30
+ return new Proxy(Object.freeze({}), {
31
+ get
32
+ });
33
+ }
34
+ //# sourceMappingURL=proxyFactories.js.map