@next-bricks/nav 1.11.0 → 1.11.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 (235) hide show
  1. package/dist/bricks.json +11 -11
  2. package/dist/chunks/1045.5e06201e.js +2 -0
  3. package/dist/chunks/1045.5e06201e.js.map +1 -0
  4. package/dist/chunks/1122.5bbe54b2.js +2 -0
  5. package/dist/chunks/1122.5bbe54b2.js.map +1 -0
  6. package/dist/chunks/114.30cdc4e4.js +2 -0
  7. package/dist/chunks/114.30cdc4e4.js.map +1 -0
  8. package/dist/chunks/1369.91ecbde7.js +2 -0
  9. package/dist/chunks/1369.91ecbde7.js.map +1 -0
  10. package/dist/chunks/1370.e5d33862.js +2 -0
  11. package/dist/chunks/1370.e5d33862.js.map +1 -0
  12. package/dist/chunks/{1940.66a2bec0.js → 1940.0de568d8.js} +2 -2
  13. package/dist/chunks/{1940.66a2bec0.js.map → 1940.0de568d8.js.map} +1 -1
  14. package/dist/chunks/2133.5e1c5099.js +2 -0
  15. package/dist/chunks/2133.5e1c5099.js.map +1 -0
  16. package/dist/chunks/2252.51fbe26a.js +3 -0
  17. package/dist/chunks/2252.51fbe26a.js.map +1 -0
  18. package/dist/chunks/{2277.7e593a99.js → 2277.bea542f4.js} +2 -2
  19. package/dist/chunks/{4658.c90a8d7e.js.map → 2277.bea542f4.js.map} +1 -1
  20. package/dist/chunks/{3171.bc4f208f.js → 3171.866dd75a.js} +2 -2
  21. package/dist/chunks/{3171.bc4f208f.js.map → 3171.866dd75a.js.map} +1 -1
  22. package/dist/chunks/3278.4f438613.js +2 -0
  23. package/dist/chunks/3278.4f438613.js.map +1 -0
  24. package/dist/chunks/3620.b675b333.js +2 -0
  25. package/dist/chunks/3620.b675b333.js.map +1 -0
  26. package/dist/chunks/3703.a583930d.js +3 -0
  27. package/dist/chunks/3703.a583930d.js.LICENSE.txt +15 -0
  28. package/dist/chunks/3703.a583930d.js.map +1 -0
  29. package/dist/chunks/3750.bfdc35fc.js +2 -0
  30. package/dist/chunks/3750.bfdc35fc.js.map +1 -0
  31. package/dist/chunks/3751.80369f4a.js +2 -0
  32. package/dist/chunks/3751.80369f4a.js.map +1 -0
  33. package/dist/chunks/{3933.36366b1a.js → 3933.5967aeb9.js} +2 -2
  34. package/dist/chunks/{6314.b133727f.js.map → 3933.5967aeb9.js.map} +1 -1
  35. package/dist/chunks/{4658.c90a8d7e.js → 4658.dd4416e5.js} +2 -2
  36. package/dist/chunks/{2277.7e593a99.js.map → 4658.dd4416e5.js.map} +1 -1
  37. package/dist/chunks/5399.eb784d37.js +2 -0
  38. package/dist/chunks/5399.eb784d37.js.map +1 -0
  39. package/dist/chunks/{5552.6d3fc52f.js → 5552.1b1e7093.js} +2 -2
  40. package/dist/chunks/{5552.6d3fc52f.js.map → 5552.1b1e7093.js.map} +1 -1
  41. package/dist/chunks/5764.5d901b1f.js +3 -0
  42. package/dist/chunks/5764.5d901b1f.js.LICENSE.txt +9 -0
  43. package/dist/chunks/5764.5d901b1f.js.map +1 -0
  44. package/dist/chunks/{6778.aa9467ba.js → 6256.a5ffd4a5.js} +3 -3
  45. package/dist/chunks/6256.a5ffd4a5.js.map +1 -0
  46. package/dist/chunks/{6314.b133727f.js → 6314.3dfeed8d.js} +2 -2
  47. package/dist/chunks/{3933.36366b1a.js.map → 6314.3dfeed8d.js.map} +1 -1
  48. package/dist/chunks/{6773.45b726a0.js → 6773.ff2d90db.js} +2 -2
  49. package/dist/chunks/6773.ff2d90db.js.map +1 -0
  50. package/dist/chunks/7115.245c67ba.js +2 -0
  51. package/dist/chunks/7115.245c67ba.js.map +1 -0
  52. package/dist/chunks/726.c766b8c8.js +2 -0
  53. package/dist/chunks/726.c766b8c8.js.map +1 -0
  54. package/dist/chunks/7721.1d0f13b9.js +3 -0
  55. package/dist/chunks/7721.1d0f13b9.js.map +1 -0
  56. package/dist/chunks/7733.9a4e7100.js +2 -0
  57. package/dist/chunks/7733.9a4e7100.js.map +1 -0
  58. package/dist/chunks/{8097.9cf9575e.js → 8097.ab783b97.js} +2 -2
  59. package/dist/chunks/{8097.9cf9575e.js.map → 8097.ab783b97.js.map} +1 -1
  60. package/dist/chunks/{4130.f1722ae3.js → 8171.38a07996.js} +3 -2
  61. package/dist/chunks/8171.38a07996.js.map +1 -0
  62. package/dist/chunks/8518.4133212d.js +2 -0
  63. package/dist/chunks/8518.4133212d.js.map +1 -0
  64. package/dist/chunks/875.3c07f6e3.js +2 -0
  65. package/dist/chunks/875.3c07f6e3.js.map +1 -0
  66. package/dist/chunks/8989.2e696848.js +2 -0
  67. package/dist/chunks/8989.2e696848.js.map +1 -0
  68. package/dist/chunks/9043.31254360.js +3 -0
  69. package/dist/chunks/9043.31254360.js.map +1 -0
  70. package/dist/chunks/{9155.5c4ed17a.js → 9155.0557e167.js} +3 -3
  71. package/dist/chunks/{9155.5c4ed17a.js.map → 9155.0557e167.js.map} +1 -1
  72. package/dist/chunks/{9496.dca87b12.js → 9496.9fce4116.js} +2 -2
  73. package/dist/chunks/{9496.dca87b12.js.map → 9496.9fce4116.js.map} +1 -1
  74. package/dist/chunks/{9515.3e4e6c3f.js → 9515.2f5b19b4.js} +2 -2
  75. package/dist/chunks/{9515.3e4e6c3f.js.map → 9515.2f5b19b4.js.map} +1 -1
  76. package/dist/chunks/9559.f3c29ddd.js +2 -0
  77. package/dist/chunks/9559.f3c29ddd.js.map +1 -0
  78. package/dist/chunks/easyops-navbar-alerts.7fcadebf.js +2 -0
  79. package/dist/chunks/easyops-navbar-alerts.7fcadebf.js.map +1 -0
  80. package/dist/chunks/eo-app-bar-wrapper.c85c670d.js +3 -0
  81. package/dist/chunks/eo-app-bar-wrapper.c85c670d.js.map +1 -0
  82. package/dist/chunks/eo-directory-tree-internal-node.86ab81a5.js +2 -0
  83. package/dist/chunks/eo-directory-tree-internal-node.86ab81a5.js.map +1 -0
  84. package/dist/chunks/eo-directory-tree-leaf.cf396cbc.js +2 -0
  85. package/dist/chunks/eo-directory-tree-leaf.cf396cbc.js.map +1 -0
  86. package/dist/chunks/eo-directory-tree.e152ac8f.js +2 -0
  87. package/dist/chunks/eo-directory-tree.e152ac8f.js.map +1 -0
  88. package/dist/chunks/eo-directory.801c2fa9.js +3 -0
  89. package/dist/chunks/eo-directory.801c2fa9.js.map +1 -0
  90. package/dist/chunks/eo-frame-breadcrumb.18e5cad5.js +2 -0
  91. package/dist/chunks/eo-frame-breadcrumb.18e5cad5.js.map +1 -0
  92. package/dist/chunks/eo-launchpad-button-v2.0b565e27.js +2 -0
  93. package/dist/chunks/eo-launchpad-button-v2.0b565e27.js.map +1 -0
  94. package/dist/chunks/eo-launchpad-button.637e23d6.js +2 -0
  95. package/dist/chunks/eo-launchpad-button.637e23d6.js.map +1 -0
  96. package/dist/chunks/eo-launchpad-quick-access.6e691bb0.js +3 -0
  97. package/dist/chunks/eo-launchpad-quick-access.6e691bb0.js.LICENSE.txt +15 -0
  98. package/dist/chunks/eo-launchpad-quick-access.6e691bb0.js.map +1 -0
  99. package/dist/chunks/eo-launchpad-recent-visits.8878cd26.js +3 -0
  100. package/dist/chunks/eo-launchpad-recent-visits.8878cd26.js.LICENSE.txt +9 -0
  101. package/dist/chunks/eo-launchpad-recent-visits.8878cd26.js.map +1 -0
  102. package/dist/chunks/eo-nav-menu.719d9efc.js +2 -0
  103. package/dist/chunks/eo-nav-menu.719d9efc.js.map +1 -0
  104. package/dist/chunks/eo-search-launchpad.e48e0ef8.js +2 -0
  105. package/dist/chunks/eo-search-launchpad.e48e0ef8.js.map +1 -0
  106. package/dist/chunks/eo-sidebar-menu-group.d1ec325a.js +3 -0
  107. package/dist/chunks/eo-sidebar-menu-group.d1ec325a.js.map +1 -0
  108. package/dist/chunks/eo-sidebar-menu-item.e35a83e6.js +2 -0
  109. package/dist/chunks/eo-sidebar-menu-item.e35a83e6.js.map +1 -0
  110. package/dist/chunks/eo-sidebar-menu-submenu.050a54c9.js +3 -0
  111. package/dist/chunks/eo-sidebar-menu-submenu.050a54c9.js.map +1 -0
  112. package/dist/chunks/eo-sidebar-menu.4b38248a.js +2 -0
  113. package/dist/chunks/eo-sidebar-menu.4b38248a.js.map +1 -0
  114. package/dist/chunks/eo-sidebar-sub-menu.5b23c6bc.js +3 -0
  115. package/dist/chunks/eo-sidebar-sub-menu.5b23c6bc.js.map +1 -0
  116. package/dist/chunks/eo-sidebar.310ff53d.js +3 -0
  117. package/dist/chunks/eo-sidebar.310ff53d.js.map +1 -0
  118. package/dist/chunks/launchpad-config.640ac0e4.js +3 -0
  119. package/dist/chunks/launchpad-config.640ac0e4.js.map +1 -0
  120. package/dist/chunks/main.e9f16aab.js +2 -0
  121. package/dist/chunks/main.e9f16aab.js.map +1 -0
  122. package/dist/chunks/nav-logo.a5839bc9.js +2 -0
  123. package/dist/chunks/nav-logo.a5839bc9.js.map +1 -0
  124. package/dist/index.ada3566f.js +2 -0
  125. package/dist/index.ada3566f.js.map +1 -0
  126. package/dist/manifest.json +22 -22
  127. package/package.json +4 -4
  128. package/dist/chunks/1045.cc23a91e.js +0 -2
  129. package/dist/chunks/1045.cc23a91e.js.map +0 -1
  130. package/dist/chunks/1122.845bea34.js +0 -2
  131. package/dist/chunks/1122.845bea34.js.map +0 -1
  132. package/dist/chunks/114.afe4b336.js +0 -2
  133. package/dist/chunks/114.afe4b336.js.map +0 -1
  134. package/dist/chunks/1369.0b458421.js +0 -2
  135. package/dist/chunks/1369.0b458421.js.map +0 -1
  136. package/dist/chunks/1370.314b9f8e.js +0 -2
  137. package/dist/chunks/1370.314b9f8e.js.map +0 -1
  138. package/dist/chunks/2252.9ef602b2.js +0 -3
  139. package/dist/chunks/2252.9ef602b2.js.map +0 -1
  140. package/dist/chunks/3278.50daabfb.js +0 -2
  141. package/dist/chunks/3278.50daabfb.js.map +0 -1
  142. package/dist/chunks/3620.c016a677.js +0 -2
  143. package/dist/chunks/3620.c016a677.js.map +0 -1
  144. package/dist/chunks/3750.f687dd25.js +0 -2
  145. package/dist/chunks/3750.f687dd25.js.map +0 -1
  146. package/dist/chunks/3751.e98eeb3a.js +0 -2
  147. package/dist/chunks/3751.e98eeb3a.js.map +0 -1
  148. package/dist/chunks/4130.f1722ae3.js.map +0 -1
  149. package/dist/chunks/4204.f976de0e.js +0 -3
  150. package/dist/chunks/4204.f976de0e.js.map +0 -1
  151. package/dist/chunks/4904.ef861ea5.js +0 -3
  152. package/dist/chunks/4904.ef861ea5.js.map +0 -1
  153. package/dist/chunks/5399.96172fdf.js +0 -2
  154. package/dist/chunks/5399.96172fdf.js.map +0 -1
  155. package/dist/chunks/6773.45b726a0.js.map +0 -1
  156. package/dist/chunks/6778.aa9467ba.js.map +0 -1
  157. package/dist/chunks/7115.40600923.js +0 -2
  158. package/dist/chunks/7115.40600923.js.map +0 -1
  159. package/dist/chunks/726.50631521.js +0 -2
  160. package/dist/chunks/726.50631521.js.map +0 -1
  161. package/dist/chunks/7721.31803ef9.js +0 -3
  162. package/dist/chunks/7721.31803ef9.js.map +0 -1
  163. package/dist/chunks/7733.f832f4fd.js +0 -2
  164. package/dist/chunks/7733.f832f4fd.js.map +0 -1
  165. package/dist/chunks/875.7e27155f.js +0 -2
  166. package/dist/chunks/875.7e27155f.js.map +0 -1
  167. package/dist/chunks/8989.46dca05e.js +0 -2
  168. package/dist/chunks/8989.46dca05e.js.map +0 -1
  169. package/dist/chunks/920.f448629a.js +0 -2
  170. package/dist/chunks/920.f448629a.js.map +0 -1
  171. package/dist/chunks/9559.759777c3.js +0 -2
  172. package/dist/chunks/9559.759777c3.js.map +0 -1
  173. package/dist/chunks/easyops-navbar-alerts.e0eda0db.js +0 -2
  174. package/dist/chunks/easyops-navbar-alerts.e0eda0db.js.map +0 -1
  175. package/dist/chunks/eo-app-bar-wrapper.b9c9161d.js +0 -3
  176. package/dist/chunks/eo-app-bar-wrapper.b9c9161d.js.map +0 -1
  177. package/dist/chunks/eo-directory-tree-internal-node.023d7821.js +0 -2
  178. package/dist/chunks/eo-directory-tree-internal-node.023d7821.js.map +0 -1
  179. package/dist/chunks/eo-directory-tree-leaf.ac2c9a75.js +0 -2
  180. package/dist/chunks/eo-directory-tree-leaf.ac2c9a75.js.map +0 -1
  181. package/dist/chunks/eo-directory-tree.16c8694b.js +0 -2
  182. package/dist/chunks/eo-directory-tree.16c8694b.js.map +0 -1
  183. package/dist/chunks/eo-directory.384db20c.js +0 -3
  184. package/dist/chunks/eo-directory.384db20c.js.map +0 -1
  185. package/dist/chunks/eo-frame-breadcrumb.52448727.js +0 -2
  186. package/dist/chunks/eo-frame-breadcrumb.52448727.js.map +0 -1
  187. package/dist/chunks/eo-launchpad-button-v2.d7c94ed4.js +0 -2
  188. package/dist/chunks/eo-launchpad-button-v2.d7c94ed4.js.map +0 -1
  189. package/dist/chunks/eo-launchpad-button.7b5816db.js +0 -2
  190. package/dist/chunks/eo-launchpad-button.7b5816db.js.map +0 -1
  191. package/dist/chunks/eo-launchpad-quick-access.a5c365b8.js +0 -3
  192. package/dist/chunks/eo-launchpad-quick-access.a5c365b8.js.LICENSE.txt +0 -7
  193. package/dist/chunks/eo-launchpad-quick-access.a5c365b8.js.map +0 -1
  194. package/dist/chunks/eo-launchpad-recent-visits.b9b9123f.js +0 -3
  195. package/dist/chunks/eo-launchpad-recent-visits.b9b9123f.js.LICENSE.txt +0 -1
  196. package/dist/chunks/eo-launchpad-recent-visits.b9b9123f.js.map +0 -1
  197. package/dist/chunks/eo-nav-menu.ad0854d2.js +0 -3
  198. package/dist/chunks/eo-nav-menu.ad0854d2.js.map +0 -1
  199. package/dist/chunks/eo-search-launchpad.f8a67891.js +0 -3
  200. package/dist/chunks/eo-search-launchpad.f8a67891.js.LICENSE.txt +0 -7
  201. package/dist/chunks/eo-search-launchpad.f8a67891.js.map +0 -1
  202. package/dist/chunks/eo-sidebar-menu-group.bc53166e.js +0 -3
  203. package/dist/chunks/eo-sidebar-menu-group.bc53166e.js.map +0 -1
  204. package/dist/chunks/eo-sidebar-menu-item.a4f96baa.js +0 -2
  205. package/dist/chunks/eo-sidebar-menu-item.a4f96baa.js.map +0 -1
  206. package/dist/chunks/eo-sidebar-menu-submenu.b05ff6bd.js +0 -3
  207. package/dist/chunks/eo-sidebar-menu-submenu.b05ff6bd.js.map +0 -1
  208. package/dist/chunks/eo-sidebar-menu.c655bdb6.js +0 -2
  209. package/dist/chunks/eo-sidebar-menu.c655bdb6.js.map +0 -1
  210. package/dist/chunks/eo-sidebar-sub-menu.61ca9b3d.js +0 -3
  211. package/dist/chunks/eo-sidebar-sub-menu.61ca9b3d.js.map +0 -1
  212. package/dist/chunks/eo-sidebar.cea7eb47.js +0 -3
  213. package/dist/chunks/eo-sidebar.cea7eb47.js.map +0 -1
  214. package/dist/chunks/launchpad-config.a3437121.js +0 -3
  215. package/dist/chunks/launchpad-config.a3437121.js.LICENSE.txt +0 -5
  216. package/dist/chunks/launchpad-config.a3437121.js.map +0 -1
  217. package/dist/chunks/main.3f962beb.js +0 -2
  218. package/dist/chunks/main.3f962beb.js.map +0 -1
  219. package/dist/chunks/nav-logo.4132d5e0.js +0 -2
  220. package/dist/chunks/nav-logo.4132d5e0.js.map +0 -1
  221. package/dist/index.159678c4.js +0 -2
  222. package/dist/index.159678c4.js.map +0 -1
  223. /package/dist/chunks/{2252.9ef602b2.js.LICENSE.txt → 2252.51fbe26a.js.LICENSE.txt} +0 -0
  224. /package/dist/chunks/{6778.aa9467ba.js.LICENSE.txt → 6256.a5ffd4a5.js.LICENSE.txt} +0 -0
  225. /package/dist/chunks/{7721.31803ef9.js.LICENSE.txt → 7721.1d0f13b9.js.LICENSE.txt} +0 -0
  226. /package/dist/chunks/{4904.ef861ea5.js.LICENSE.txt → 8171.38a07996.js.LICENSE.txt} +0 -0
  227. /package/dist/chunks/{4204.f976de0e.js.LICENSE.txt → 9043.31254360.js.LICENSE.txt} +0 -0
  228. /package/dist/chunks/{9155.5c4ed17a.js.LICENSE.txt → 9155.0557e167.js.LICENSE.txt} +0 -0
  229. /package/dist/chunks/{eo-app-bar-wrapper.b9c9161d.js.LICENSE.txt → eo-app-bar-wrapper.c85c670d.js.LICENSE.txt} +0 -0
  230. /package/dist/chunks/{eo-directory.384db20c.js.LICENSE.txt → eo-directory.801c2fa9.js.LICENSE.txt} +0 -0
  231. /package/dist/chunks/{eo-nav-menu.ad0854d2.js.LICENSE.txt → eo-sidebar-menu-group.d1ec325a.js.LICENSE.txt} +0 -0
  232. /package/dist/chunks/{eo-sidebar-menu-group.bc53166e.js.LICENSE.txt → eo-sidebar-menu-submenu.050a54c9.js.LICENSE.txt} +0 -0
  233. /package/dist/chunks/{eo-sidebar-menu-submenu.b05ff6bd.js.LICENSE.txt → eo-sidebar-sub-menu.5b23c6bc.js.LICENSE.txt} +0 -0
  234. /package/dist/chunks/{eo-sidebar-sub-menu.61ca9b3d.js.LICENSE.txt → eo-sidebar.310ff53d.js.LICENSE.txt} +0 -0
  235. /package/dist/chunks/{eo-sidebar.cea7eb47.js.LICENSE.txt → launchpad-config.640ac0e4.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/4204.f976de0e.js","mappings":"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","sources":["webpack:///./src/nav-menu/ThreeLevelMenuPopoverContent.tsx","webpack:///./src/nav-menu/i18n.ts","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/my_collection/listMyCollection.js","webpack:///./src/nav-menu/site-map/constants.ts","webpack:///./src/nav-menu/site-map/CollectService.ts","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/my_collection/upsertMyCollection.js","webpack:///./src/nav-menu/site-map/ItemTag.tsx","webpack:///./src/nav-menu/site-map/processor.ts","webpack:///./src/nav-menu/site-map/GroupItem.tsx","webpack:///./src/nav-menu/site-map/SiteMapItem.tsx","webpack:///./src/nav-menu/utils.tsx","webpack:///./src/nav-menu/host-context.css","webpack:///./src/nav-menu/nav-menu.shadow.css","webpack:///./src/nav-menu/site-map/GroupItem.shadow.css","webpack:///./src/nav-menu/site-map/ItemTag.shadow.css","webpack:///./src/nav-menu/site-map/SiteMapItem.shadow.css","webpack:///./src/nav-menu/host-context.css?ac7e","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../src/menu.ts"],"sourcesContent":["import React, { useMemo, useState, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport { renderLinkCom } from \"./utils.js\";\nimport { uniq } from \"lodash\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { ReactNextElement } from \"@next-core/react-element\";\nimport type { Popover, PopoverProps } from \"@next-bricks/basic/popover\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n\ninitializeReactI18n(NS, locales);\nconst WrappedPopover = wrapBrick<Popover, PopoverProps>(\"eo-popover\");\ninterface SearchProps {\n value?: string;\n placeholder?: string;\n autoFocus?: boolean;\n clearable?: boolean;\n trim?: boolean;\n debounceTime?: number;\n}\n\ninterface SearchEvents {\n change: CustomEvent<string>;\n search: CustomEvent<string>;\n}\n\ninterface SearchEventsMap {\n onChange: \"change\";\n onSearch: \"search\";\n}\nconst WrappedSearch = wrapBrick<\n ReactNextElement,\n SearchProps,\n SearchEvents,\n SearchEventsMap\n>(\"eo-search\", {\n onChange: \"change\",\n onSearch: \"search\",\n});\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\ninterface ThreeLevelMenuPopoverContentProps {\n menuItem: SidebarMenuGroup;\n selectedKey: string[];\n}\nconst LOCAL_STORAGE_PREFIX = \"threeLevelCategoryMenu\";\nconst maxVisitorLength = 6;\nexport function ThreeLevelMenuPopoverContent(\n props: ThreeLevelMenuPopoverContentProps\n): React.ReactElement {\n const { t } = useTranslation(NS);\n const { menuItem, selectedKey } = props;\n const items = menuItem.items as SidebarMenuGroup[];\n const [searchResult, setSearchResult] = useState<SidebarMenuSimpleItem[]>([]);\n const [searchKey, setSearchKey] = useState(\"\");\n const triggerRef = useRef<HTMLDivElement>(null);\n const nameSpace = `${LOCAL_STORAGE_PREFIX}_${menuItem.title}`;\n const storage = useMemo(() => new JsonStorage(localStorage), []);\n const searchHistory = (storage.getItem(nameSpace) as string[]) || [];\n\n const handleSearch = (e: CustomEvent<string>) => {\n setSearchKey(e.detail);\n if (e.detail) {\n const list = uniq([e.detail, ...searchHistory]);\n if (list.length > maxVisitorLength) {\n list.pop();\n }\n storage.setItem(nameSpace, list);\n setSearchResult(\n items\n .flatMap((i) => (i.items as SidebarMenuSimpleItem[]) || [])\n .filter((i) =>\n (i.text as string)\n .toLowerCase()\n .includes((e.detail as string).trim().toLowerCase())\n )\n );\n } else {\n setSearchResult([]);\n }\n };\n\n const popoverTriggerClick = () => {\n triggerRef.current?.click();\n };\n\n return (\n <div className={\"three-level-menu-container\"}>\n <div\n className=\"three-level-menu-search-container\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <WrappedSearch\n placeholder={t(K.SEARCH_BY_MENU_NAME) as string}\n onSearch={handleSearch}\n onFocus={popoverTriggerClick}\n onBlur={popoverTriggerClick}\n />\n <WrappedPopover\n trigger=\"click\"\n placement={\"bottom-start\"}\n anchorDisplay=\"block\"\n distance={0}\n >\n <div slot=\"anchor\" ref={triggerRef}></div>\n {\n <div className=\"three-level-menu-search-result\">\n {!!searchResult.length &&\n searchResult.map((i) => renderLinkCom(i, { width: \"100%\" }))}\n {searchKey && !searchResult.length && (\n <div\n style={{\n height: \"100px\",\n textAlign: \"center\",\n lineHeight: \"100px\",\n }}\n >\n {t(K.NO_DATA)}\n </div>\n )}\n </div>\n }\n </WrappedPopover>\n </div>\n {!!searchHistory.length && (\n <div className=\"three-level-menu-search-history-container\">\n <div className=\"three-level-menu-search-history-title\">\n {t(K.SEARCH_HISTORY)}\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"delete\"\n className=\"three-level-menu-search-history-icon\"\n />\n </div>\n <div>\n {searchHistory.map((h) => (\n <span key={h} className=\"three-level-menu-search-history-text\">\n {h}\n </span>\n ))}\n </div>\n </div>\n )}\n <div\n className={\"three-level-menu-item-container\"}\n style={{\n gridTemplateColumns: `repeat(${\n items.length > 4 ? 4 : items.length\n },1fr)`,\n }}\n >\n {items.map((item: SidebarMenuGroup, index: number) => (\n <div key={index}>\n <div className=\"three-level-menu-item-title-container\">\n <span className=\"three-level-menu-item-title-icon\"></span>\n <span className=\"three-level-menu-item-title\">{item.title}</span>\n </div>\n {item.items?.map((i) => (\n <span\n key={i.key}\n className={classnames({\n active: i.key ? selectedKey.includes(i.key) : false,\n })}\n >\n {renderLinkCom(i as SidebarMenuSimpleItem, { width: \"100%\" })}\n </span>\n ))}\n </div>\n ))}\n </div>\n </div>\n );\n}\n","export enum K {\n SEARCH_BY_MENU_NAME = \"SEARCH_BY_MENU_NAME\",\n SEARCH_HISTORY = \"SEARCH_HISTORY\",\n NO_DATA = \"NO_DATA\",\n QUICK_ACCESS = \"QUICK_ACCESS\",\n REMOVE_ITEM_FROM_QUICK_ACCESS = \"REMOVE_ITEM_FROM_QUICK_ACCESS\",\n ADD_ITEM_TO_QUICK_ACCESS = \"ADD_ITEM_TO_QUICK_ACCESS\",\n NO_DATA_TIPS_IN_QUICK_ACCESS = \"NO_DATA_TIPS_IN_QUICK_ACCESS\",\n SITE_MAP_SEARCH_RECOMMEND = \"SITE_MAP_SEARCH_RECOMMEND\",\n MAX_COLLECT_COUNT_TIPS = \"MAX_COLLECT_COUNT_TIPS\",\n NO_DATA_SEARCH_INFO = \"NO_DATA_SEARCH_INFO\",\n SEARCH_ITEM_PLACEHOLDER = \"SEARCH_ITEM_PLACEHOLDER\",\n}\n\nconst en: Locale = {\n SEARCH_BY_MENU_NAME: \"Search by menu name\",\n SEARCH_HISTORY: \"Search history\",\n NO_DATA: \"No data\",\n QUICK_ACCESS: \"Quick Access\",\n REMOVE_ITEM_FROM_QUICK_ACCESS: \"Remove from Quick Access\",\n ADD_ITEM_TO_QUICK_ACCESS: \"Add to Quick Access\",\n NO_DATA_TIPS_IN_QUICK_ACCESS:\n \"No quick access resources have been added yet. Please add from the list below or after searching\",\n SITE_MAP_SEARCH_RECOMMEND: \"Search recommend\",\n MAX_COLLECT_COUNT_TIPS: \"Need to delete some favorites in order to add\",\n NO_DATA_SEARCH_INFO: \"The search result is empty, please enter again\",\n SEARCH_ITEM_PLACEHOLDER: \"Please enter keywords to search\",\n};\n\nconst zh: Locale = {\n SEARCH_BY_MENU_NAME: \"通过菜单名称搜索\",\n SEARCH_HISTORY: \"历史搜索\",\n NO_DATA: \"暂无数据\",\n QUICK_ACCESS: \"快捷访问\",\n REMOVE_ITEM_FROM_QUICK_ACCESS: \"从快捷访问移除\",\n ADD_ITEM_TO_QUICK_ACCESS: \"添加至快捷访问\",\n NO_DATA_TIPS_IN_QUICK_ACCESS: \"暂未添加快捷访问资源,从下方列表或搜索后添加\",\n SITE_MAP_SEARCH_RECOMMEND: \"搜索推荐\",\n MAX_COLLECT_COUNT_TIPS: \"需删除部分收藏,才能添加\",\n NO_DATA_SEARCH_INFO: \"搜索结果为空,请重新输入\",\n SEARCH_ITEM_PLACEHOLDER: \"请输入关键词搜索\",\n};\n\nexport const NS = \"bricks/nav/nav-menu\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取我的收藏列表\n * @endpoint GET /api/v1/user_service/my_collection/collections\n */\nexport var MyCollectionApi_listMyCollection = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.my_collection.ListMyCollection@1.0.0 */(yield http.get(\"api/gateway/user_service.my_collection.ListMyCollection/api/v1/user_service/my_collection/collections\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function MyCollectionApi_listMyCollection(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listMyCollection.js.map","import React from \"react\";\n\nexport enum DRAG_DIRECTION {\n Left = \"left\",\n Right = \"right\",\n}\n\nexport interface ContextOfDragProps {\n groupId: string;\n direction?: DRAG_DIRECTION;\n overElement?: HTMLElement;\n allowDrag?: boolean;\n onAllowDrag?: (enable: boolean) => void;\n onDragStart?: (e: React.DragEvent) => void;\n onDragOver?: (e: React.DragEvent) => void;\n onDragEnd?: (e: React.DragEvent) => void;\n onFavoriteUpdate?: (list: any[]) => void;\n}\n\nexport const collectModule = \"sidebarMenuCollect\";\n\nexport const DragContext = React.createContext<ContextOfDragProps>(\n {} as ContextOfDragProps\n);\n","import type { SidebarMenuSimpleItem } from \"@next-shared/general/types\";\nimport {\n MyCollectionApi_listMyCollection,\n MyCollectionApi_ListMyCollectionResponseBody,\n MyCollectionApi_upsertMyCollection,\n} from \"@next-api-sdk/user-service-sdk\";\nimport { DRAG_DIRECTION, collectModule } from \"./constants.js\";\nimport { cloneDeep } from \"lodash\";\nimport { handleHttpError } from \"@next-core/runtime\";\n\nexport class CollectService {\n private maxCollectLength: number;\n private collectMap: Map<string, SidebarMenuSimpleItem[]> = new Map();\n private collectPromise: Map<string, Promise<SidebarMenuSimpleItem[]>> =\n new Map();\n\n constructor(maxCollectLength?: number) {\n this.maxCollectLength = maxCollectLength ?? 10;\n }\n\n public getFavoritesById(id: string): SidebarMenuSimpleItem[] {\n return cloneDeep(this.collectMap.get(id)) ?? [];\n }\n\n public async fetchFavorites(id: string): Promise<SidebarMenuSimpleItem[]> {\n const cachedPromise = this.collectPromise.get(id);\n if (cachedPromise) {\n const collectList = this.collectMap.get(id);\n\n return collectList ? collectList : cachedPromise;\n }\n\n const favoritesPromise = MyCollectionApi_listMyCollection({\n module: collectModule,\n collectionName: id,\n }).then((result) => {\n const list = result.payloads\n ?.map((item) => item.extInfo)\n .filter(Boolean) as SidebarMenuSimpleItem[];\n this.collectMap.set(id, list);\n\n return list;\n }) as Promise<SidebarMenuSimpleItem[]>;\n\n this.collectPromise.set(id, favoritesPromise);\n\n return favoritesPromise;\n }\n\n public setItemAsFavorite(id: string, item: SidebarMenuSimpleItem): void {\n const list = this.getFavoritesById(id);\n\n if (list.length >= this.maxCollectLength) {\n list.pop();\n }\n\n list.unshift(item);\n this.updateFavoriteItems(id, list);\n }\n\n public updateFavoriteItems(id: string, list: SidebarMenuSimpleItem[]): void {\n try {\n this.collectMap.set(id, list);\n MyCollectionApi_upsertMyCollection({\n module: collectModule,\n collectionName: id,\n payloads: list?.map((item) => ({\n name: item.text,\n url: item.to,\n extInfo: item,\n })) as MyCollectionApi_ListMyCollectionResponseBody[\"payloads\"],\n });\n } catch (error) {\n // istanbul ignore next\n handleHttpError(error);\n }\n }\n\n private equalItem(\n prevItem: SidebarMenuSimpleItem,\n item: SidebarMenuSimpleItem\n ): boolean {\n return prevItem.text === item.text && prevItem.to === item.to;\n }\n\n public removeItemFromFavorite(id: string, item: SidebarMenuSimpleItem): void {\n const list = this.getFavoritesById(id);\n const index = list.findIndex((row) => this.equalItem(row, item));\n // istanbul ignore else\n if (index !== -1) {\n list.splice(index, 1);\n this.updateFavoriteItems(id, list);\n }\n }\n\n public isCollected(id: string, item: SidebarMenuSimpleItem): boolean {\n const list = this.getFavoritesById(id);\n return list.some((row) => this.equalItem(row, item));\n }\n\n public toggleFavorite(id: string, item: SidebarMenuSimpleItem): void {\n if (this.isCollected(id, item)) {\n this.removeItemFromFavorite(id, item);\n } else {\n if (this.checkMaxCapacity(id)) return;\n this.setItemAsFavorite(id, item);\n }\n }\n\n public moveFavoriteTo(\n id: string,\n option: {\n from: SidebarMenuSimpleItem;\n to: SidebarMenuSimpleItem;\n direction: DRAG_DIRECTION;\n }\n ): SidebarMenuSimpleItem[] {\n const { from, to, direction } = option;\n\n const list = this.getFavoritesById(id);\n if (this.equalItem(from, to)) return list;\n\n const fromIndex = list.findIndex((row) => this.equalItem(row, from));\n\n // istanbul ignore else\n if (fromIndex !== -1) {\n list.splice(fromIndex, 1);\n\n const toIndex = list.findIndex((row) => this.equalItem(row, to));\n\n // istanbul ignore else\n if (toIndex !== -1) {\n if (direction === DRAG_DIRECTION.Left) {\n list.splice(toIndex, 0, from);\n } else {\n list.splice(toIndex + 1, 0, from);\n }\n\n this.updateFavoriteItems(id, list);\n }\n }\n\n return list;\n }\n\n checkMaxCapacity(groupId: string): boolean {\n return this.getFavoritesById(groupId).length >= this.maxCollectLength;\n }\n}\n\nexport const collectService = new CollectService();\n","import { http } from \"@next-core/http\";\n/**\n * @description 更新/新增我的收藏,这个接口用于全量更新单实例\n * @endpoint POST /api/v1/user_service/my_collection/upsert_collections\n */\nexport var MyCollectionApi_upsertMyCollection = (data, options) => /**! @contract easyops.api.user_service.my_collection.UpsertMyCollection@1.0.0 */http.post(\"api/gateway/user_service.my_collection.UpsertMyCollection/api/v1/user_service/my_collection/upsert_collections\", data, options);\n//# sourceMappingURL=upsertMyCollection.js.map","import React, {\n useMemo,\n useCallback,\n useRef,\n useState,\n useEffect,\n useContext,\n DragEvent,\n} from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { Link, LinkProps } from \"@next-bricks/basic/link\";\n\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport classNames from \"classnames\";\nimport { SidebarMenuSimpleItem } from \"@next-shared/general/types\";\nimport { K, NS, locales } from \"../i18n.js\";\nimport { collectService } from \"./CollectService.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { DRAG_DIRECTION, DragContext } from \"./constants.js\";\n\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\ninitializeReactI18n(NS, locales);\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\n\ninterface CellItemProps {\n data: SidebarMenuSimpleItem;\n suffix?: React.ReactNode;\n className?: string;\n}\n\nexport type OnFavoriteCallback = (collectList: SidebarMenuSimpleItem[]) => void;\n\ninterface PlaceholderCompProps {\n data: SidebarMenuSimpleItem;\n direction: DRAG_DIRECTION;\n onDragOver?: (e: DragEvent) => void;\n}\nexport function PlaceholderDropComp({\n data,\n onDragOver,\n direction,\n}: PlaceholderCompProps) {\n const { groupId, onFavoriteUpdate } = useContext(DragContext);\n const handleDrop = (e: DragEvent) => {\n const formData = JSON.parse(e.dataTransfer.getData(\"application/json\"));\n\n const newDataList = collectService.moveFavoriteTo(groupId, {\n from: formData,\n to: data,\n direction,\n });\n\n onFavoriteUpdate?.(newDataList);\n };\n\n return (\n <div\n className=\"indicate-wrapper\"\n data-direction={direction}\n data-to={data.to}\n onDragEnter={(e) =>\n ((e.target as HTMLElement).style.background = \"var(--palette-blue-1)\")\n }\n onDragLeave={(e) =>\n ((e.target as HTMLElement).style.background = \"transparent\")\n }\n data-text={data.text}\n onDragOver={onDragOver}\n onDrop={handleDrop}\n />\n );\n}\n\nexport function ItemTag(props: CellItemProps): React.ReactElement {\n const { data, suffix, className } = props;\n\n const {\n allowDrag,\n onDragStart,\n overElement,\n direction,\n onDragEnd,\n onDragOver,\n } = useContext(DragContext);\n const containerRef = useRef<any>(null);\n\n const [isDragIng, setIsDragIng] = useState(false);\n\n const isActive = useMemo(\n () =>\n overElement &&\n overElement.dataset.to == data.to &&\n overElement.dataset.text === overElement.dataset.text,\n [overElement, data]\n );\n\n const handleDragStart = (e: React.DragEvent) => {\n if (!allowDrag) {\n e.preventDefault();\n } else {\n setIsDragIng(true);\n e.dataTransfer?.setData(\"application/json\", JSON.stringify(data));\n onDragStart?.(e);\n }\n };\n\n const handleDragEnd = (e: React.DragEvent) => {\n setIsDragIng(false);\n onDragEnd?.(e);\n };\n\n const handleOver = (e: React.DragEvent) => {\n e.dataTransfer.dropEffect = \"none\";\n onDragOver?.(e);\n };\n\n return (\n <>\n {isActive && direction === DRAG_DIRECTION.Left && (\n <PlaceholderDropComp\n data={data}\n onDragOver={onDragOver}\n direction={DRAG_DIRECTION.Left}\n />\n )}\n <WrappedLink\n data-to={data.to}\n data-text={data.text}\n ref={containerRef}\n draggable\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragOver={handleOver}\n className={classNames(\"tag-container\", className, {\n \"is-drag\": isDragIng,\n })}\n url={data.to as string}\n href={data.href}\n target={data.target as LinkProps[\"target\"]}\n >\n <span className=\"tag-text ellipsis\" title={data.text}>\n {data.text}\n </span>\n <span className=\"tag-suffix\" onClick={(e) => e.preventDefault()}>\n {suffix}\n </span>\n </WrappedLink>\n\n {isActive && direction === DRAG_DIRECTION.Right && (\n <PlaceholderDropComp\n data={data}\n onDragOver={onDragOver}\n direction={DRAG_DIRECTION.Right}\n />\n )}\n </>\n );\n}\n\ninterface QuickVisitTagProps extends CellItemProps {\n groupId: string;\n onFavorite?: OnFavoriteCallback;\n}\n\nexport function QuickVisitItem(props: QuickVisitTagProps): React.ReactElement {\n const { t } = useTranslation(NS);\n const { onAllowDrag } = useContext(DragContext);\n const { data, onFavorite, groupId } = props;\n const suffixRef = useRef<any>();\n const iconRef = useRef<any>();\n\n const handleRemove = useCallback(() => {\n collectService.removeItemFromFavorite(groupId, data);\n onFavorite?.(collectService.getFavoritesById(groupId));\n }, [groupId, data, onFavorite]);\n\n const handleMouseDown = () => {\n onAllowDrag?.(true);\n };\n\n useEffect(() => {\n const icon = iconRef.current;\n icon.addEventListener(\"click\", handleRemove);\n\n return () => {\n icon.removeEventListener(\"click\", handleRemove);\n };\n }, [handleRemove]);\n\n useEffect(() => {\n const suffix = suffixRef.current;\n const handleClick = (e: MouseEvent) => {\n e.preventDefault();\n };\n suffix.addEventListener(\"click\", handleClick);\n\n return () => {\n suffix.removeEventListener(\"click\", handleClick);\n };\n }, []);\n\n const suffixGroups = useMemo(\n () => (\n <div className=\"operation\" ref={suffixRef}>\n <WrappedTooltip\n content={t(K.REMOVE_ITEM_FROM_QUICK_ACCESS)!}\n hoist\n placement=\"bottom\"\n className=\"close\"\n >\n <WrappedIcon lib=\"antd\" icon=\"close\" ref={iconRef} />\n </WrappedTooltip>\n <span className=\"drag-wrapper\" onMouseDown={handleMouseDown}>\n :::\n </span>\n </div>\n ),\n [t, handleRemove]\n );\n\n return (\n <ItemTag className=\"visit-container\" suffix={suffixGroups} data={data} />\n );\n}\n\ninterface StarIconProps {\n onFavorite?: OnFavoriteCallback;\n className?: string;\n groupId: string;\n data: SidebarMenuSimpleItem;\n active?: boolean;\n}\n\nexport function StarIcon({\n onFavorite,\n className,\n groupId,\n data,\n active,\n}: StarIconProps): React.ReactElement {\n const { t } = useTranslation(NS);\n const iconRef = useRef<any>();\n\n const handleClick = (e: React.MouseEvent) => {\n e.preventDefault();\n collectService.toggleFavorite(groupId, data);\n onFavorite?.(collectService.getFavoritesById(groupId));\n };\n\n useEffect(() => {\n // workaround for prevent Link jump when click.\n const icon = iconRef.current;\n icon.addEventListener(\"click\", handleClick);\n\n return () => {\n icon.removeEventListener(\"click\", handleClick);\n };\n }, []);\n\n return (\n <WrappedTooltip\n content={\n active\n ? t(K.REMOVE_ITEM_FROM_QUICK_ACCESS)!\n : collectService.checkMaxCapacity(groupId)\n ? t(K.MAX_COLLECT_COUNT_TIPS)!\n : t(K.ADD_ITEM_TO_QUICK_ACCESS)!\n }\n className={classNames(\"star-icon\", className)}\n >\n <WrappedIcon\n ref={iconRef}\n className={classNames({ active })}\n lib=\"antd\"\n icon=\"star\"\n {...(active ? { theme: \"filled\" } : {})}\n />\n </WrappedTooltip>\n );\n}\n\ninterface RecommendItemProps extends CellItemProps {\n active?: boolean;\n groupId: string;\n onFavorite?: OnFavoriteCallback;\n}\n\nexport function RecommendItem(props: RecommendItemProps): React.ReactElement {\n const { data, className, groupId, onFavorite, active } = props;\n\n const suffixGroups = useMemo(\n () => (\n <StarIcon\n groupId={groupId}\n active={active}\n className=\"star\"\n data={data}\n onFavorite={onFavorite}\n />\n ),\n [data, groupId, onFavorite, active]\n );\n\n return (\n <ItemTag\n className={classNames(\"recommend-container\", className)}\n suffix={suffixGroups}\n data={data}\n />\n );\n}\n","import {\n SidebarMenuItem,\n SidebarMenuGroup,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\n\nfunction walkMenuItem(item: SidebarMenuItem, list: SidebarMenuSimpleItem[]) {\n if (\n (item as SidebarMenuGroup).type === \"group\" &&\n Array.isArray((item as SidebarMenuGroup).items)\n ) {\n walkMenuItems((item as SidebarMenuGroup).items, list);\n } else {\n list.push(item as SidebarMenuSimpleItem);\n }\n}\n\nfunction walkMenuItems(\n items: SidebarMenuItem[],\n list: SidebarMenuSimpleItem[]\n): void {\n for (const item of items) {\n walkMenuItem(item, list);\n }\n}\n\nexport function flatMenuItems(item: SidebarMenuItem): SidebarMenuSimpleItem[] {\n const list: SidebarMenuSimpleItem[] = [];\n\n walkMenuItem(item, list);\n\n return list;\n}\n\nexport function processGroupItems(groups: SidebarMenuGroup[]): Array<{\n groupFrom: string;\n groups: SidebarMenuGroup[];\n}> {\n const groupCategoryMap = new Map<string, SidebarMenuGroup[]>();\n const categoryOrder = new Set<string>();\n\n groups?.forEach((item) => {\n const from = item.groupFrom ?? \"default\";\n categoryOrder.add(from);\n\n const value = groupCategoryMap.get(from);\n\n if (!value) {\n groupCategoryMap.set(from, [item]);\n } else {\n value!.push(item);\n }\n });\n\n return Array.from(categoryOrder).map((key) => ({\n groupFrom: key,\n groups: groupCategoryMap!.get(key)!,\n }));\n}\n","import React, { useEffect, useState } from \"react\";\nimport type {\n SidebarMenuSimpleItem,\n SidebarMenuGroup,\n} from \"@next-shared/general/types\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { StarIcon, OnFavoriteCallback } from \"./ItemTag.js\";\nimport { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { collectService } from \"./CollectService.js\";\nimport { processGroupItems } from \"./processor.js\";\nimport classNames from \"classnames\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\ninterface GroupViewProps {\n groups: SidebarMenuGroup[];\n groupId: string;\n selectedKey?: string[];\n onFavorite: OnFavoriteCallback;\n}\n\nexport const itemColumnWidth = 240;\n\nexport function GroupView(props: GroupViewProps): React.ReactElement {\n const { groupId, selectedKey, onFavorite } = props;\n const groupMenus = processGroupItems(props.groups);\n\n return (\n <div className=\"group-view\">\n {groupMenus.map((item, index) => {\n return (\n <div key={index}>\n {index !== 0 && <div className=\"divider\" />}\n {item.groupFrom === \"default\" ? (\n <DefaultGroup\n groupId={groupId}\n selectedKey={selectedKey}\n groups={item.groups}\n onFavorite={onFavorite}\n />\n ) : (\n <CustomGroup\n groupId={groupId}\n selectedKey={selectedKey}\n groups={item.groups}\n onFavorite={onFavorite}\n />\n )}\n </div>\n );\n })}\n </div>\n );\n}\n\ninterface BaseGroupProps {\n groupId: string;\n selectedKey?: string[];\n onFavorite: OnFavoriteCallback;\n groups: SidebarMenuGroup[];\n}\nexport function DefaultGroup(props: BaseGroupProps): React.ReactElement {\n const { groupId, onFavorite, selectedKey, groups } = props;\n\n const groupRef = React.useRef<HTMLDivElement>(null);\n const [columnCount, setColumnCount] = useState<number>();\n\n useEffect(() => {\n // istanbul ignore next\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === groupRef.current) {\n const width = entry.contentRect.width;\n\n if (width) {\n setColumnCount(Math.floor(width / itemColumnWidth));\n }\n }\n }\n });\n\n resizeObserver.observe(groupRef.current as HTMLDivElement);\n\n return () => resizeObserver.disconnect();\n }, []);\n\n return (\n <div\n className=\"group\"\n ref={groupRef}\n style={\n (columnCount as number) < groups?.length\n ? { columnCount, columnWidth: itemColumnWidth }\n : {\n display: \"grid\",\n gridTemplateColumns: `repeat(auto-fit, ${itemColumnWidth}px)`,\n }\n }\n >\n {groups.map((group) => (\n <div key={group.key} className=\"group-item\">\n <div className=\"title\">{group.title}</div>\n <div className=\"content\">\n {group.items.map((item) => (\n <GroupItem\n key={item.key}\n groupId={groupId}\n selectedKey={selectedKey}\n data={item as SidebarMenuSimpleItem}\n onFavorite={onFavorite}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\nexport function CustomGroup(props: BaseGroupProps): React.ReactElement {\n const { groupId, onFavorite, selectedKey, groups } = props;\n\n return (\n <div className=\"custom-group\">\n {groups.map((group) => (\n <div key={group.key}>\n <div className=\"title\">{group.title}</div>\n <div\n className=\"custom-content\"\n style={{\n display: \"grid\",\n gridTemplateColumns: `repeat(auto-fit, ${itemColumnWidth}px)`,\n }}\n >\n {group.items.map((item) => (\n <GroupItem\n key={item.key}\n selectedKey={selectedKey}\n groupId={groupId}\n data={item as SidebarMenuSimpleItem}\n onFavorite={onFavorite}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\ninterface GroupItemProps {\n data: SidebarMenuSimpleItem;\n selectedKey?: string[];\n groupId: string;\n onFavorite: OnFavoriteCallback;\n}\nexport function GroupItem(props: GroupItemProps): React.ReactElement {\n const { data, groupId, onFavorite, selectedKey } = props;\n\n return (\n <WrappedLink\n key={data.key}\n icon={data.icon}\n url={data.to as string}\n href={data.href}\n target={data.target as LinkProps[\"target\"]}\n className={classNames(\"item-link\", {\n active: selectedKey?.includes(data.key as string),\n })}\n >\n <span className=\"ellipsis\" title={data.text}>\n {data.text}\n </span>\n <span className=\"icon-wrapper\">\n <StarIcon\n active={collectService.isCollected(groupId, data)}\n groupId={groupId}\n data={data}\n onFavorite={onFavorite}\n />\n </span>\n </WrappedLink>\n );\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { QuickVisitItem, RecommendItem } from \"./ItemTag.js\";\nimport { GroupView } from \"./GroupItem.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { K, NS } from \"../i18n.js\";\nimport { DragContext } from \"./constants.js\";\nimport { useTranslation } from \"@next-core/i18n/react\";\nimport { collectService } from \"./CollectService.js\";\nimport { flatMenuItems } from \"./processor.js\";\nimport { DRAG_DIRECTION } from \"./constants.js\";\nimport classNames from \"classnames\";\nimport { throttle, debounce } from \"lodash\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface InputEvents {\n change: CustomEvent<string>;\n}\n\nexport interface InputEventsMap {\n onValueChange: \"change\";\n}\n\nconst WrappedInput = wrapBrick<any, any, InputEvents, InputEventsMap>(\n \"eo-input\",\n {\n onValueChange: \"change\",\n }\n);\n\ninterface SiteMapItemProps {\n menuGroup: SidebarMenuGroup;\n selectedKey?: string[];\n visible?: boolean;\n}\n\nexport function findDropElement(element: HTMLElement): HTMLElement | undefined {\n let node = element;\n\n while (node) {\n if (node.draggable || node.className === \"indicate-wrapper\") {\n return node;\n }\n\n node = node.parentElement as HTMLElement;\n }\n}\n\nexport function isValidDragAction(\n dragElement: HTMLElement,\n dropElement: HTMLElement\n): boolean {\n return (\n dragElement &&\n dropElement &&\n !(\n dragElement.dataset.to === dropElement.dataset.to &&\n dragElement.dataset.text === dropElement.dataset.text\n )\n );\n}\n\nexport function SiteMapItem(props: SiteMapItemProps) {\n const { t } = useTranslation(NS);\n const { menuGroup, selectedKey, visible } = props;\n const groupId = menuGroup.groupId as string;\n\n const [favoriteList, setFavoriteList] = useState<SidebarMenuSimpleItem[]>([]);\n const flatItems = useMemo(() => flatMenuItems(menuGroup), [menuGroup]);\n const [q, setQ] = useState<string>();\n const [filter, setFilters] = useState<SidebarMenuSimpleItem[]>([]);\n const [dragElement, setDragElement] = useState<HTMLElement>();\n const [overElement, setOverElement] = useState<HTMLElement>();\n const [allowDrag, setAllowDrag] = useState<boolean>();\n const [direction, setDirection] = useState<DRAG_DIRECTION>();\n const [initialized, setInitialized] = useState(false);\n\n useEffect(() => {\n if (visible && !initialized) {\n setInitialized(true);\n }\n }, [visible, initialized]);\n\n const handleFavorite = (collectList: SidebarMenuSimpleItem[]) => {\n setFavoriteList(collectList);\n };\n\n const handleSearch = useCallback(\n (e: CustomEvent<string>): void => {\n const v = e.detail;\n setQ(e.detail);\n\n setFilters(\n !v\n ? flatItems\n : flatItems.filter((item) =>\n item.text.toLowerCase().includes(e.detail.toLowerCase())\n )\n );\n },\n [flatItems]\n );\n\n const debouncedHandleSearch = useMemo(\n () => debounce(handleSearch, 200),\n [handleSearch]\n );\n\n const handleDragStart = (e: React.DragEvent): void => {\n setDragElement(e.target as HTMLElement);\n };\n\n const handleDragOver = useMemo(\n () =>\n throttle((e: React.DragEvent): void => {\n e.preventDefault();\n\n const dropElement = findDropElement(e.target as HTMLElement);\n setOverElement(dropElement);\n\n if (\n dropElement &&\n isValidDragAction(dropElement, dragElement as HTMLElement)\n ) {\n if (dropElement.className === \"indicate-wrapper\") {\n setDirection(dropElement.dataset.direction as DRAG_DIRECTION);\n } else {\n const { width, left } = dropElement.getBoundingClientRect();\n\n const right = e.clientX > left + width / 2;\n setDirection(right ? DRAG_DIRECTION.Right : DRAG_DIRECTION.Left);\n }\n } else {\n setDirection(undefined);\n }\n }),\n [dragElement]\n );\n\n const handleDragEnd = (): void => {\n setDragElement(undefined);\n setDirection(undefined);\n setAllowDrag(false);\n };\n\n const handleAllowDrag = (enable: boolean): void => {\n setAllowDrag(enable);\n };\n\n useEffect(() => {\n (async () => {\n if (visible) {\n const list = await collectService.fetchFavorites(groupId);\n setFavoriteList(list);\n }\n })();\n }, [groupId, visible]);\n\n return (\n initialized && (\n <div className=\"site-map\">\n <div className=\"search-wrapper\">\n <WrappedInput\n className=\"search-input\"\n style={{ width: \"100%\" }}\n onValueChange={debouncedHandleSearch}\n placeholder={t(K.SEARCH_ITEM_PLACEHOLDER)}\n >\n <WrappedIcon slot=\"prefix\" lib=\"antd\" icon=\"search\" />\n </WrappedInput>\n </div>\n\n {!q && (\n <div>\n {favoriteList.length !== 0 && (\n <div\n className={classNames(\"visit-access\", {\n hasData: favoriteList.length,\n })}\n >\n <span className=\"title\">{t(K.QUICK_ACCESS)}</span>\n <DragContext.Provider\n value={{\n groupId,\n overElement,\n direction,\n allowDrag,\n onDragStart: handleDragStart,\n onDragOver: handleDragOver,\n onDragEnd: handleDragEnd,\n onAllowDrag: handleAllowDrag,\n onFavoriteUpdate: handleFavorite,\n }}\n >\n <div className=\"tag-wrapper\">\n {favoriteList.map((item) => (\n <QuickVisitItem\n onFavorite={handleFavorite}\n groupId={groupId}\n key={item.key}\n data={item}\n />\n ))}\n </div>\n </DragContext.Provider>\n </div>\n )}\n\n <GroupView\n groupId={groupId}\n selectedKey={selectedKey}\n groups={menuGroup.items as SidebarMenuGroup[]}\n onFavorite={handleFavorite}\n />\n </div>\n )}\n\n {q && (\n <div className=\"search-panel\">\n <span className=\"title\">{t(K.SITE_MAP_SEARCH_RECOMMEND)}</span>\n {filter.length ? (\n <div className=\"recommend-wrapper\">\n {filter.map((item) => (\n <RecommendItem\n key={item.key}\n groupId={groupId}\n data={item}\n onFavorite={handleFavorite}\n active={collectService.isCollected(groupId, item)}\n />\n ))}\n </div>\n ) : (\n <div className=\"no-data-tips\">{t(K.NO_DATA_SEARCH_INFO)}</div>\n )}\n </div>\n )}\n </div>\n )\n );\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedLinkItem = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nexport function isGroup(item: SidebarMenuItem): item is SidebarMenuGroup {\n return item.type === \"group\";\n}\n\nexport function isSubMenu(\n item: SidebarMenuGroup,\n groupAsSubMenu?: boolean\n): item is SidebarMenuGroup {\n return Boolean(\n item.type === \"subMenu\" || (groupAsSubMenu && item.type === \"group\")\n );\n}\n\nexport function isSimple(item: SidebarMenuItem): item is SidebarMenuSimpleItem {\n return item.type === \"default\" || !item.type;\n}\n\nexport const renderLinkCom = (\n item: SidebarMenuSimpleItem,\n linkStyle?: React.CSSProperties\n): React.ReactElement => {\n return (\n <WrappedLinkItem\n type=\"plain\"\n key={item.key}\n url={item.to as string}\n href={item.href}\n target={item.target as LinkProps[\"target\"]}\n style={linkStyle}\n >\n <span className=\"menu-item-label\">{item.text}</span>\n </WrappedLinkItem>\n );\n};\n\nexport const renderSpanCom = (\n item: SidebarMenuGroup,\n subMenu?: boolean\n): React.ReactElement => {\n return (\n <span key={item.key} className=\"menu-item-label\">\n {item.title}\n {subMenu && <WrappedIcon lib=\"fa\" icon=\"angle-right\" />}\n </span>\n );\n};\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--eo-three-level-menu-search-input-background:linear-gradient(90deg,#e8eef6 0%,rgba(233,234,243,0) 100%);--eo-three-level-menu-hover-color:#6bb3ff;--eo-three-level-menu-title-color:#0b5ad9;--eo-three-level-menu-active-color:#1a7aff;--eo-three-level-menu-search-tag-color:rgb(89,89,89);--eo-three-level-menu-search-tag-background:rgb(245,245,245)}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-three-level-menu-search-input-background:linear-gradient(124deg,rgba(255,255,255,0.36) 0%,rgba(255,255,255,0) 100%);--eo-three-level-menu-hover-color:rgba(54,95,175,0.85);--eo-three-level-menu-title-color:#6597e8;--eo-three-level-menu-active-color:#3f75dd;--eo-three-level-menu-search-tag-color:rgb(140,140,140);--eo-three-level-menu-search-tag-background:rgb(107,107,107)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block;background:none}:host::part(menu-item),\neo-link{display:block}eo-menu-item{margin:4px 0}.sub-menu-wrapper eo-menu-item:first-child,\n.group-wrapper eo-menu-item:first-child{margin-top:0}.sub-menu-wrapper eo-menu-item:last-child{margin-bottom:0}.nav-menu-wrapper{display:flex;align-items:center;gap:8px;white-space:nowrap}.popover .sub-menu-item-label{padding:2px 0px;color:var(--color-normal-text)}.popover.subprime{display:block;width:100%}.sub-menu-wrapper{min-width:160px;max-height:calc(100vh - 100px);background-color:var(--antd-dropdown-menu-bg);padding:12px 0;border-radius:6px;box-shadow:0px 4px 12px 0px rgba(17,37,64,0.08);overflow-x:hidden;overflow-y:auto}.overflow-menu-wrapper{display:flex;flex-direction:column}.sub-menu-wrapper > eo-menu-item{display:block;width:100%}.sub-menu-wrapper > eo-menu-item .menu-item-label,\n.sub-menu-wrapper > eo-popover .menu-item-label,\n.sub-menu-wrapper > .group-wrapper > eo-popover .menu-item-label,\n.sub-menu-wrapper > .group-wrapper > eo-menu-item .menu-item-label{display:block;width:100%;padding:7px 24px;box-sizing:border-box;line-height:22px;color:var(--color-normal-text)}.sub-menu-wrapper > eo-popover.subprime .menu-item-label,\n.sub-menu-wrapper > .group-wrapper > eo-popover.subprime .menu-item-label{display:flex;justify-content:space-between;align-items:center}.sub-menu-wrapper .menu-item-label{border-radius:0}.menu-item-label{display:inline-block;cursor:pointer;border-radius:4px;padding:1px 8px;line-height:22px;color:var(--color-normal-text)}.menu-item-label:hover{background-color:var(--top-menu-item-hover-bg)}.group-label{padding-left:16px;font-size:12px;color:var(--palette-gray-7);padding:8px 16px;line-height:20px;margin-top:4px}.sub-menu-wrapper .group-label:first-child{margin-top:0px}.sub-menu-wrapper eo-menu-item[active] .menu-item-label{background:var(--top-menu-item-selected-bg);color:var(--color-brand);font-weight:500}.three-level-menu-container{max-width:980px;max-height:510px;overflow:auto;min-width:160px}.three-level-menu-item-container{display:grid;grid-gap:20px;gap:20px;margin-top:13px;padding:5px 10px}.three-level-menu-item-title-container{display:flex;align-items:center}.three-level-menu-item-title-icon{width:4px;height:4px;background-color:var(--eo-three-level-menu-title-color);margin-right:4px;transform:rotate(45deg)}.three-level-menu-item-title{font-size:14px;font-family:PingFang-SC-Medium,PingFang-SC;font-weight:500;color:var(--eo-three-level-menu-title-color)}.three-level-menu-container .menu-item-label{margin-top:4px;margin-left:4px;padding:4px;width:100%}.three-level-menu-container .active .menu-item-label{color:var(--eo-three-level-menu-active-color)}.three-level-menu-search-result .menu-item-label{margin:0px}.three-level-menu-container .menu-item-label:hover{color:var(--eo-three-level-menu-hover-color)}.three-level-menu-popover .sub-menu-wrapper{padding-top:0px}.three-level-menu-search-container{background:var(--eo-three-level-menu-search-input-background);padding:5px 10px}.three-level-menu-search-result{min-width:187px;max-width:328px;max-height:324px;background-color:var(--antd-dropdown-menu-bg);box-shadow:0px 4px 12px 0px rgba(17,37,64,0.08);overflow:scroll}.three-level-menu-search-history-container{padding:5px 10px}.three-level-menu-search-history-text{background:var(--eo-three-level-menu-search-tag-background);border-radius:2px;font-size:7px;line-height:11px;display:inline-block;height:11px;padding:4px;color:var(--eo-three-level-menu-search-tag-color);margin-right:8px}.three-level-menu-search-history-title{color:#8c8c8c;margin:10px 0;display:flex;align-items:center}.three-level-menu-search-history-icon{margin-left:5px}.sub-menu-sit-map-wrapper{box-sizing:border-box;width:calc(100vw);padding:0 60px 24px;max-height:520px;background-color:var(--antd-dropdown-menu-bg);border-radius:6px;box-shadow:0px 4px 12px 0px rgba(17,37,64,0.08);overflow-x:hidden;overflow-y:auto}.overflow-menu-item{position:absolute;opacity:0;height:0;pointer-events:none}.in-group-site-map{width:auto;padding:0 20px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.group .item-link, .custom-group .item-link{font-weight:400}.group .item-link:hover, .custom-group .item-link:hover{background-color:var(--color-fill-bg-base-1)}.group .item-link:hover::part(link), .custom-group .item-link:hover::part(link){color:var(--color-brand-hover)}.group .item-link:hover::part(icon), .custom-group .item-link:hover::part(icon){color:var(--color-brand-hover)}.group .item-link.active::part(link),\n .custom-group .item-link.active::part(link),\n .group .item-link.active::part(icon),\n .custom-group .item-link.active::part(icon){color:var(--palette-blue-8)}.group .item-link::part(link), .custom-group .item-link::part(link){padding:8px 12px 8px 24px;display:flex;gap:4px;color:var(--color-header-text)}.group .item-link::part(icon), .custom-group .item-link::part(icon){color:var(--color-normal-text)}.group .title, .custom-group .title{padding:8px 16px 8px 24px;font-size:16px;font-weight:500;position:relative}.group .title::before, .custom-group .title::before{content:\"\";position:absolute;width:6px;height:6px;top:17px;left:9px;transform:rotate(45deg);background:var(--color-secondary-text)}.group .content .icon-wrapper, .custom-group .content .icon-wrapper, .group .custom-content .icon-wrapper, .custom-group .custom-content .icon-wrapper{color:var(--color-secondary-text);font-size:16px;display:none;margin-left:auto}.group .content .item-link:hover .icon-wrapper, .custom-group .content .item-link:hover .icon-wrapper, .group .custom-content .item-link:hover .icon-wrapper, .custom-group .custom-content .item-link:hover .icon-wrapper{display:block}.group .content .item-link:hover .icon-wrapper:hover, .custom-group .content .item-link:hover .icon-wrapper:hover, .group .custom-content .item-link:hover .icon-wrapper:hover, .custom-group .custom-content .item-link:hover .icon-wrapper:hover{color:var(--color-brand-hover)}.group .content, .custom-group .content{display:flex;flex-direction:column}.group .group-item, .custom-group .group-item{page-break-inside:avoid;break-inside:avoid}.group-view{min-height:300px}.group-view .divider{height:2px;background:var(--color-text-divider-line);margin:16px 0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tag-container::part(link){display:flex;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-moz-user-select:none;justify-content:space-between;background-color:var(--color-fill-bg-base-1);border-radius:2px;padding:1px 6px}.tag-container .tag-text{color:var(--color-normal-text);font-weight:400}.tag-container:hover .tag-text{color:var(--color-brand-hover)}.tag-container .tag-suffix{display:inline-flex;font-size:12px;gap:4px;align-items:center;color:var(--color-secondary-text)}.tag-container.is-drag{opacity:0.4}.indicate-wrapper{border:1px dashed var(--color-brand-hover);border-radius:4px;height:20px;margin:2px 0}.close{display:inline-flex;margin-top:2px;padding:0 2px}.close:hover{color:var(--color-error)}.drag-wrapper{cursor:move}.drag-wrapper:hover{color:var(--color-brand-hover)}.star-icon{display:flex;alignitems:center;color:var(--color-secondary-text)}.star-icon:hover{color:var(--color-brand-hover)}.star-icon .active{color:var(--palette-yellow-6)}.recommend-container:hover .star{display:inline-flex}.recommend-container .star{font-size:13px;display:none}.visit-container:hover .operation{display:inline-flex;align-items:center}.visit-container .operation{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.site-map .search-wrapper{position:-webkit-sticky;position:sticky;top:0;z-index:9999;padding-top:24px;padding-bottom:16px;background:var(--antd-dropdown-menu-bg)}.site-map .search-input::part(affix-wrapper){border:none;border-bottom:1px solid var(--antd-input-border-color);border-radius:0px;background:transparent}.site-map .visit-access .title, .site-map .search-panel .title{display:inline-block;padding:2px 16px 2px 24px;font-weight:500;line-height:24px;position:relative}.site-map .visit-access .title::before, .site-map .search-panel .title::before{content:\"\";position:absolute;width:6px;height:6px;top:10px;left:9px;border-radius:50%;background:var(--color-secondary-text)}.site-map .visit-access .no-data-tips, .site-map .search-panel .no-data-tips{display:flex;margin:16px 0 32px;align-items:center;justify-content:center;color:var(--color-secondary-text)}.site-map .visit-access{margin-bottom:8px}.site-map .visit-access.hasData{display:flex}.site-map .visit-access .tag-wrapper{flex:1;display:grid;grid-template-columns:repeat(auto-fit,200px);grid-gap:8px;gap:8px}.site-map .ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-map .search-panel .recommend-wrapper{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,200px);grid-gap:8px;gap:8px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import { Location, parsePath } from \"history\";\nimport { matchPath } from \"@next-core/runtime\";\nimport type {\n SidebarMenuSimpleItem,\n SidebarMenuItem,\n SidebarMenuGroup,\n} from \"./types.js\";\n\nexport function isGroup(item: SidebarMenuItem): item is SidebarMenuGroup {\n return item.type === \"group\";\n}\n\nexport function isSubMenu(\n item: SidebarMenuItem,\n groupAsSubMenu?: boolean\n): item is SidebarMenuGroup {\n return Boolean(\n item.type === \"subMenu\" || (groupAsSubMenu && item.type === \"group\")\n );\n}\n\nexport function initMenuItemAndMatchCurrentPathKeys(\n menuItems: SidebarMenuItem[],\n pathname: string,\n search: string,\n parentCursor: string\n): {\n selectedKeys: string[];\n openedKeys: string[];\n matchedKeys: string[];\n} {\n const selectedKeys: string[] = [];\n const openedKeys: string[] = [];\n const matchedKeys: string[] = [];\n\n let cursor = 0;\n menuItems.forEach((item) => {\n // key的格式最终为0,1,2,0.1,0.2,0.1.1,0.1.2\n item.key = parentCursor === \"\" ? `${cursor}` : `${parentCursor}.${cursor}`;\n if (isGroup(item) || isSubMenu(item)) {\n const tmp = initMenuItemAndMatchCurrentPathKeys(\n item.items,\n pathname,\n search,\n item.key\n );\n selectedKeys.push(...tmp.selectedKeys);\n if (tmp.selectedKeys.length || item.defaultExpanded) {\n openedKeys.push(item.key);\n }\n openedKeys.push(...tmp.openedKeys);\n matchedKeys.push(...tmp.matchedKeys);\n } else {\n if (matchMenuItem(item, pathname, search)) {\n selectedKeys.push(String(item.key));\n\n const keyPath = item.key.split(\".\");\n\n for (let i = 0; i < keyPath.length; i++) {\n matchedKeys.push(keyPath.slice(0, i + 1).join(\".\"));\n }\n }\n }\n cursor += 1;\n });\n if (selectedKeys.length && parentCursor !== \"\") {\n openedKeys.push(parentCursor);\n }\n return {\n selectedKeys: selectedKeys,\n openedKeys: openedKeys,\n matchedKeys: matchedKeys,\n };\n}\n\nfunction getMatchOfSearch(\n currentSearch: string,\n toSearch: string | undefined\n): boolean {\n const current = new URLSearchParams(currentSearch);\n const to = new URLSearchParams(toSearch);\n for (const [key, value] of to.entries()) {\n // Allow `?k=` to match `?` (when `k` doesn't exist)\n if ((current.get(key) ?? \"\") !== value) {\n return false;\n }\n }\n return true;\n}\n\nexport function matchMenuItem(\n item: SidebarMenuSimpleItem,\n pathname: string,\n search: string\n): boolean {\n if (!item.to) return false;\n const to = typeof item.to === \"object\" ? item.to : parsePath(item.to);\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath = to.pathname!.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n let match = !!matchPath(pathname, {\n path: escapedPath,\n exact: item.exact,\n });\n\n if (match && item.activeMatchSearch) {\n match = getMatchOfSearch(search, to.search);\n }\n\n if (!match && Array.isArray(item.activeIncludes)) {\n for (const include of item.activeIncludes) {\n let parseInclude: Location | undefined;\n const hasSearch = include.includes(\"?\");\n\n if (hasSearch) {\n parseInclude = parsePath(include);\n }\n match = !!matchPath(pathname, {\n path: hasSearch ? parseInclude!.pathname : include,\n exact: true,\n });\n\n if (match && parseInclude?.search) {\n match = getMatchOfSearch(search, parseInclude.search);\n }\n\n if (match) {\n break;\n }\n }\n }\n\n if (match && Array.isArray(item.activeExcludes)) {\n for (const include of item.activeExcludes) {\n match = !matchPath(pathname, {\n path: include,\n exact: true,\n });\n if (!match) {\n break;\n }\n }\n }\n\n return match;\n}\n"],"names":["initializeReactI18n","NS","locales","WrappedPopover","wrapBrick","WrappedSearch","onChange","onSearch","WrappedIcon","LOCAL_STORAGE_PREFIX","maxVisitorLength","ThreeLevelMenuPopoverContent","props","useTranslation","menuItem","selectedKey","items","searchResult","setSearchResult","useState","searchKey","setSearchKey","triggerRef","useRef","nameSpace","concat","title","storage","useMemo","JsonStorage","localStorage","searchHistory","getItem","popoverTriggerClick","_triggerRef$current","current","click","React","className","onClick","e","stopPropagation","placeholder","t","K","SEARCH_BY_MENU_NAME","detail","list","uniq","length","pop","setItem","flatMap","i","filter","text","toLowerCase","includes","trim","onFocus","onBlur","trigger","placement","anchorDisplay","distance","slot","ref","map","renderLinkCom","width","style","height","textAlign","lineHeight","NO_DATA","SEARCH_HISTORY","lib","theme","icon","h","key","gridTemplateColumns","item","index","_item$items","classnames","active","en","QUICK_ACCESS","REMOVE_ITEM_FROM_QUICK_ACCESS","ADD_ITEM_TO_QUICK_ACCESS","NO_DATA_TIPS_IN_QUICK_ACCESS","SITE_MAP_SEARCH_RECOMMEND","MAX_COLLECT_COUNT_TIPS","NO_DATA_SEARCH_INFO","SEARCH_ITEM_PLACEHOLDER","zh","MyCollectionApi_listMyCollection","_ref","params","options","http","get","_x","_x2","apply","this","arguments","DRAG_DIRECTION","collectModule","DragContext","collectService","constructor","maxCollectLength","_defineProperty","Map","getFavoritesById","id","_cloneDeep","cloneDeep","collectMap","fetchFavorites","_this","_asyncToGenerator","cachedPromise","collectPromise","favoritesPromise","module","collectionName","then","result","_result$payloads","payloads","extInfo","Boolean","set","setItemAsFavorite","unshift","updateFavoriteItems","data","name","url","to","post","error","handleHttpError","equalItem","prevItem","removeItemFromFavorite","findIndex","row","splice","isCollected","some","toggleFavorite","checkMaxCapacity","moveFavoriteTo","option","from","direction","fromIndex","toIndex","Left","groupId","WrappedLink","WrappedTooltip","PlaceholderDropComp","onDragOver","onFavoriteUpdate","useContext","onDragEnter","target","background","onDragLeave","onDrop","formData","JSON","parse","dataTransfer","getData","newDataList","ItemTag","suffix","allowDrag","onDragStart","overElement","onDragEnd","containerRef","isDragIng","setIsDragIng","isActive","dataset","draggable","_e$dataTransfer","setData","stringify","preventDefault","dropEffect","classNames","href","Right","QuickVisitItem","onAllowDrag","onFavorite","suffixRef","iconRef","handleRemove","useCallback","handleMouseDown","useEffect","addEventListener","removeEventListener","handleClick","suffixGroups","content","hoist","onMouseDown","StarIcon","_ref2","_extends","RecommendItem","walkMenuItem","type","Array","isArray","walkMenuItems","push","itemColumnWidth","GroupView","groups","groupCategoryMap","categoryOrder","groupMenus","Set","forEach","_item$groupFrom","groupFrom","add","value","DefaultGroup","CustomGroup","groupRef","columnCount","setColumnCount","resizeObserver","ResizeObserver","entries","entry","contentRect","Math","floor","observe","disconnect","columnWidth","display","group","GroupItem","WrappedInput","onValueChange","SiteMapItem","menuGroup","visible","favoriteList","setFavoriteList","flatItems","flatMenuItems","q","setQ","setFilters","dragElement","setDragElement","setOverElement","setAllowDrag","setDirection","initialized","setInitialized","handleFavorite","collectList","handleSearch","v","debouncedHandleSearch","debounce","handleDragOver","throttle","dropElement","element","node","parentElement","findDropElement","isValidDragAction","left","getBoundingClientRect","right","clientX","undefined","hasData","Provider","handleDragEnd","enable","WrappedLinkItem","isGroup","isSubMenu","groupAsSubMenu","linkStyle","renderSpanCom","subMenu","___CSS_LOADER_EXPORT___","toString","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_checkPrivateRedeclaration","obj","privateCollection","has","TypeError","_classPrivateFieldInitSpec","privateMap","initMenuItemAndMatchCurrentPathKeys","menuItems","pathname","search","parentCursor","selectedKeys","openedKeys","matchedKeys","cursor","tmp","defaultExpanded","parsePath","escapedPath","replace","match","matchPath","path","exact","activeMatchSearch","getMatchOfSearch","activeIncludes","include","_parseInclude","parseInclude","hasSearch","activeExcludes","_include","matchMenuItem","String","keyPath","split","slice","join","currentSearch","toSearch","URLSearchParams","_current$get"],"sourceRoot":""}
@@ -1,3 +0,0 @@
1
- /*! For license information please see 4904.ef861ea5.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[4904],{4904:(e,t,n)=>{n.d(t,{fm:()=>z,ir:()=>D,pU:()=>J,sZ:()=>H});var r,i=n(9740),a=n(6330),o=n(8769),s=n(3500),c=n(9289),u=n(4612),p=n(4864),l=n(9393),d=n(3346),m=n(6730),f=function(){var e=(0,a.A)((function*(e,t){return(yield m.http.get("api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection",(0,i.A)((0,i.A)({},t),{},{params:e}))).data}));return function(t,n){return e.apply(this,arguments)}}(),h=function(){var e=(0,a.A)((function*(e,t){return(yield m.http.post("api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}(),v=(e,t)=>m.http.delete("api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/".concat(e),t),I=n(3496),y=function(){var e=(0,a.A)((function*(e,t,n){return(yield I.http.post("api/gateway/cmdb.instance.PostSearchV3/v3/object/".concat(e,"/instance/_search"),t,n)).data}));return function(t,n,r){return e.apply(this,arguments)}}(),g=10,A=10,w=n(6659),k=n(1030);function C(){return(C=(0,a.A)((function*(){var e=yield(0,d.i)({},{interceptorParams:{ignoreLoadingBar:!0},noAbortOnRouteChange:!0}),t=new Map;for(var n of e.storyboards){var r=n.app;r.localeName=(0,w.F)(r.locales,r.name),t.set(r.id,r)}var a=[],o=new Map;for(var s of e.desktops){var c=[];for(var u of s.items)switch(u.type){case"app":var p=t.get(u.id);p&&c.push((0,i.A)((0,i.A)({},u),{},{name:p.localeName,url:p.homepage,menuIcon:p.menuIcon}));break;case"custom":c.push(u),o.set(u.id,u);break;case"dir":var l=[];for(var m of u.items)if("app"===m.type){var f=t.get(m.id);f&&l.push((0,i.A)((0,i.A)({},m),{},{name:f.localeName,url:f.homepage,menuIcon:f.menuIcon}))}else"custom"===m.type&&(l.push(m),o.set(m.id,m));l.length>0&&c.push((0,i.A)((0,i.A)({},u),{},{items:l}))}c.length>0&&a.push((0,i.A)((0,i.A)({},s),{},{items:c}))}return{menuGroups:a,microAppsById:t,customLinksById:o}}))).apply(this,arguments)}function F(){return b.apply(this,arguments)}function b(){return(b=(0,a.A)((function*(){return(yield f({page:1,pageSize:g},{interceptorParams:{ignoreLoadingBar:!0},noAbortOnRouteChange:!0})).list}))).apply(this,arguments)}function S(){return(S=(0,a.A)((function*(){var e=yield F(),t=[];for(var n of e)if("microApp"===n.type){var r=n.relatedApp;r.localeName=(0,w.F)(r.locales,r.name),t.push({favoriteId:n.instanceId,type:"app",name:r.localeName,id:r.appId,url:r.homepage,instanceId:r.instanceId,menuIcon:r.menuIcon})}else if("customItem"===n.type){var i=n.relatedCustomItem;t.push({favoriteId:n.instanceId,type:"custom",name:i.name,id:i.id,url:i.url,menuIcon:i.menuIcon})}else"link"===n.type&&t.push({favoriteId:n.instanceId,type:"link",name:n.name,url:n.link,menuIcon:n.icon});return t}))).apply(this,arguments)}function _(){return(_=(0,a.A)((function*(e){return h({type:"app"===e.type?"microApp":"customItem",relatedInstanceId:e.instanceId},{interceptorParams:{ignoreLoadingBar:!0}})}))).apply(this,arguments)}function B(){return(B=(0,a.A)((function*(e){return e.favoriteId?v(e.favoriteId):F().then((t=>{var n,r=null===(n=t.find((t=>{var n,r;return"app"===e.type?"microApp"===t.type&&(null===(n=t.relatedApp)||void 0===n?void 0:n.appId)===e.id:"custom"===e.type&&(null===(r=t.relatedCustomItem)||void 0===r?void 0:r.id)===e.id})))||void 0===n?void 0:n.instanceId;if(r)return v(r);console.error("Menu item to unstar not found:",e)}))}))).apply(this,arguments)}function P(){return(P=(0,a.A)((function*(){var e=(yield y("MICRO_APP_CATEGORY@EASYOPS",{fields:["id","type","name","icon","order","platformApps.appId","platformApps.name","platformApps.homepage","platformApps.description","platformApps.menuIcon","platformApps.locales","platformApps._object_id","platformApps.@.order","platformItems.id","platformItems.name","platformItems.url","platformItems.description","platformItems.menuIcon","platformItems._object_id","platformItems.@.order"],page:1,page_size:300,query:{type:"platform"}})).list,t=null==e?void 0:e.map((e=>{var t=e.platformApps.map((e=>{var t;return{type:"app",name:(0,w.F)(e.locales,e.name),id:e.appId,url:e.homepage,menuIcon:e.menuIcon,description:e.description,instanceId:e.instanceId,order:null===(t=e["@"])||void 0===t?void 0:t.order}})),n=e.platformItems.map((e=>{var t;return{type:"custom",name:e.name,id:e.id,url:e.url,menuIcon:e.menuIcon,description:e.description,instanceId:e.instanceId,order:null===(t=e["@"])||void 0===t?void 0:t.order}})),r=(0,k.sortBy)([...t,...n],"order");return{instanceId:e.instanceId,id:e.id,name:e.name,icon:e.icon,order:e.order,items:r}}));return[{id:"#all",name:"全部",icon:{lib:"easyops",category:"second-menu",icon:"sprint-planning-second-menu"},items:[]},...(0,k.sortBy)(t,"order")]}))).apply(this,arguments)}function x(e,t){return e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description&&e.description.toLowerCase().includes(t)?e:null}function E(e,t){return e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description&&e.description.toLowerCase().includes(t)?e:null}var L="launchpad-recent-visits:".concat(null===(r=c.auth.getAuth())||void 0===r?void 0:r.org),M=new u.G(localStorage),O=[],N=new Map,j=new Map,G=!1,R=[],V=!1,T=[],q=!1,D=new p.x((0,a.A)((function*(){({menuGroups:O,microAppsById:N,customLinksById:j}=yield function(){return C.apply(this,arguments)}()),G=!0}))),z=new p.x((0,a.A)((function*(){R=yield function(){return S.apply(this,arguments)}(),V=!0}))),J=new p.x((0,a.A)((function*(){T=yield function(){return P.apply(this,arguments)}(),q=!0}))),Y=e=>(0,l.Ds)({type:"error",message:(0,s.httpErrorToString)(e)});function H(e){var[t,n]=(0,o.useState)(O),[r,c]=(0,o.useState)(N),[u,p]=(0,o.useState)(j),[d,m]=(0,o.useState)(""),[f,h]=(0,o.useState)(!G),[v,I]=(0,o.useState)(!V),[y,w]=(0,o.useState)(!q),[k,C]=(0,o.useState)([]),[F,b]=(0,o.useState)([]),[S,P]=(0,o.useState)(R),[H,U]=(0,o.useState)(T);(0,o.useEffect)((()=>{e&&!f&&(n(O),c(N),p(j))}),[e,f]),(0,o.useEffect)((()=>{e&&!v&&P(R)}),[e,v]),(0,o.useEffect)((()=>{e&&!y&&U(T)}),[e,y]),(0,o.useEffect)((()=>{var t;e&&C(null!==(t=M.getItem(L))&&void 0!==t?t:[])}),[e]),(0,o.useEffect)((()=>{if(e){var t=function(){var e=(0,a.A)((function*(){try{yield D.fetch(),h(!1)}catch(e){(0,s.handleHttpError)(e)}}));return function(){return e.apply(this,arguments)}}();t()}}),[e]),(0,o.useEffect)((()=>{if(e){var t=function(){var e=(0,a.A)((function*(){try{yield z.fetch(),I(!1)}catch(e){I(!1),Y(e)}}));return function(){return e.apply(this,arguments)}}();t()}}),[e]),(0,o.useEffect)((()=>{var t;if(e&&null!==(t=(0,s.getRuntime)())&&void 0!==t&&t.getFeatureFlags()["launchpad-show-platform-category"]){var n=function(){var e=(0,a.A)((function*(){try{yield J.fetch(),w(!1)}catch(e){w(!1),Y(e)}}));return function(){return e.apply(this,arguments)}}();n()}}),[e]),(0,o.useEffect)((()=>{if(!f){var e=k.map((e=>{if("app"===e.type){var t=r.get(e.id);return t?{type:"app",name:t.localeName,id:t.id,url:t.homepage,instanceId:t.instanceId,menuIcon:t.menuIcon}:null}return u.get(e.id)})).filter(Boolean);b(e)}}),[u,f,r,k]);var Z=(0,o.useCallback)((e=>{var t,{type:n,id:r}=e,i=null!==(t=M.getItem(L))&&void 0!==t?t:[],a=i.findIndex((e=>e.type===n&&e.id===r));a>-1&&i.splice(a,1),i.unshift({type:n,id:r}),i.length>A&&i.pop(),M.setItem(L,i)}),[]),K=(0,o.useCallback)((e=>S.some((t=>Q(e,t)))),[S]),W=(0,o.useCallback)((e=>{var t,n=S.findIndex((t=>"link"===e.type?t.favoriteId===e.favoriteId:Q(e,t)));if(n>-1){var r=S[n];t=S.slice(0,n).concat(S.slice(n+1)),function(e){return B.apply(this,arguments)}(r).catch(Y)}else{if(S.length>=g)return void(0,l.ui)({type:"warn",title:"收藏数量已达上限",content:"当前收藏链接数量已达上限(".concat(g,"个),请删除部分收藏后再添加。")});var a=(0,i.A)({},e);t=S.concat(a),function(e){return _.apply(this,arguments)}(e).then((e=>{e&&(a.favoriteId=e.instanceId)}),Y)}P(t),R=t}),[S]),X=(0,o.useMemo)((()=>function(e,t){if(!t)return e;var n=t.toLowerCase();return e.map((e=>(0,i.A)((0,i.A)({},e),{},{items:e.items.map((e=>{switch(e.type){case"app":return x(e,n);case"custom":return E(e,n);case"dir":var t=e.items.map((e=>"app"===e.type?x(e,n):"custom"===e.type?E(e,n):null)).filter(Boolean);return t.length>0?(0,i.A)((0,i.A)({},e),{},{items:t}):null}})).filter(Boolean)}))).filter((e=>e.items.length>0))}(t,d)),[t,d]),$=(0,o.useMemo)((()=>function(e,t){if(!t)return e;var n=t.toLowerCase();return e.map((e=>(0,i.A)((0,i.A)({},e),{},{items:e.items.map((e=>{switch(e.type){case"app":return x(e,n);case"custom":return E(e,n)}})).filter(Boolean)})))}(H,d)),[H,d]);return{loading:f,q:d,setQ:m,menuGroups:X,loadingFavorites:v,loadingPlatformCategories:y,favorites:S,recentVisits:F,pushRecentVisit:Z,isStarred:K,toggleStar:W,platformCategories:$}}function Q(e,t){return e.instanceId&&t.instanceId?t.instanceId===e.instanceId:t.type===e.type&&t.id===e.id}},9393:(e,t,n)=>{n.d(t,{Bj:()=>a,Ds:()=>c,EM:()=>o,ui:()=>s});var r=n(9938),i=n(9523),a=(0,r.wrapBrick)("eo-icon"),o=(0,r.wrapBrick)("eo-link"),s=(0,i.unwrapProvider)("basic.show-dialog"),c=(0,i.unwrapProvider)("basic.show-notification")},4864:(e,t,n)=>{n.d(t,{x:()=>a});var r=n(6330),i=n(4586);class a{constructor(e){(0,i.A)(this,"preFetchId",null),(0,i.A)(this,"preFetchScheduled",!1),(0,i.A)(this,"firstFetchPromise",null),(0,i.A)(this,"isFetching",!1),(0,i.A)(this,"task",void 0),this.task=e}schedulePrefetch(){var e=this;if(!this.preFetchScheduled){this.preFetchScheduled=!0;var t=function(){var t=(0,r.A)((function*(){e.preFetchId=null,e.fetch()}));return function(){return t.apply(this,arguments)}}();"function"==typeof window.requestIdleCallback?this.preFetchId=window.requestIdleCallback(t):this.preFetchId=setTimeout(t)}}fetch(e){var t;return this.preFetchId&&("function"==typeof window.cancelIdleCallback?cancelIdleCallback(this.preFetchId):clearTimeout(this.preFetchId),this.preFetchId=null),this.isFetching&&!e||(this.isFetching=!0,(t=this.task()).catch((e=>{console.error(e),this.firstFetchPromise=null})).finally((()=>{this.isFetching=!1})),this.firstFetchPromise||(this.firstFetchPromise=t),!e)?this.firstFetchPromise:t}}},6659:(e,t,n)=>{n.d(t,{F:()=>i});var r=n(5386);function i(e,t){var n;if(!e)return t;var i=Object.fromEntries(Object.entries(e).filter((e=>{var[t,n]=e;return n.name})).map((e=>{var[t,n]=e;return[t,n.name]})));return null!==(n=(0,r.i18nText)(i))&&void 0!==n?n:t}},4612:(e,t,n)=>{n.d(t,{G:()=>r});class r{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"brick-next-";this.storage=e,this.prefix=t}setItem(e,t){this.storage.setItem(this.prefix+e,JSON.stringify(t))}getItem(e){return JSON.parse(this.storage.getItem(this.prefix+e))}removeItem(e){return this.storage.removeItem(this.prefix+e)}clear(){return this.storage.clear()}}}}]);
3
- //# sourceMappingURL=4904.ef861ea5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/4904.ef861ea5.js","mappings":"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","sources":["webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/listCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/createCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/deleteCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/postSearchV3.js","webpack:///./src/launchpad-button-v2/constants.ts","webpack:///./src/launchpad-button-v2/api.ts","webpack:///./src/launchpad-button-v2/search.ts","webpack:///./src/launchpad-button-v2/useLaunchpadInfo.ts","webpack:///./src/launchpad-button-v2/wrapped-bricks.ts","webpack:///./src/shared/DeferredService.ts","webpack:///./src/shared/getLocaleName.ts","webpack:///../../src/JsonStorage.ts"],"sourcesContent":["import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取我的收藏列表V2\n * @endpoint LIST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_listCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.launchpad.ListCollectionV2@1.0.0 */(yield http.get(\"api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function LaunchpadApi_listCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listCollectionV2.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 新增我的收藏V2\n * @endpoint POST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_createCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.user_service.launchpad.CreateCollectionV2@1.0.0 */(yield http.post(\"api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection\", data, options)).data\n );\n });\n return function LaunchpadApi_createCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=createCollectionV2.js.map","import { http } from \"@next-core/http\";\n\n/**\n * @description 删除我的收藏V2\n * @endpoint DELETE /api/v2/launchpad/collection/:instanceId\n */\nexport var LaunchpadApi_deleteCollectionV2 = (instanceId, options) => /**! @contract easyops.api.user_service.launchpad.DeleteCollectionV2@1.0.0 */http.delete(\"api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/\".concat(instanceId), options);\n//# sourceMappingURL=deleteCollectionV2.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 搜索实例V3 (支持多属性排序)\n * @endpoint POST /v3/object/:objectId/instance/_search\n */\nexport var InstanceApi_postSearchV3 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, data, options) {\n return (/**! @contract easyops.api.cmdb.instance.PostSearchV3@1.1.0 */(yield http.post(\"api/gateway/cmdb.instance.PostSearchV3/v3/object/\".concat(objectId, \"/instance/_search\"), data, options)).data\n );\n });\n return function InstanceApi_postSearchV3(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=postSearchV3.js.map","export const FAVORITES_LIMIT = 10;\nexport const RECENT_VISITS_LIMIT = 10;\n","import type { Storyboard } from \"@next-core/types\";\nimport { LaunchpadApi_getLaunchpadInfo } from \"@next-api-sdk/micro-app-standalone-sdk\";\nimport {\n LaunchpadApi_createCollectionV2,\n LaunchpadApi_deleteCollectionV2,\n LaunchpadApi_listCollectionV2,\n} from \"@next-api-sdk/user-service-sdk\";\nimport { InstanceApi_postSearchV3 } from \"@next-api-sdk/cmdb-sdk\";\nimport type {\n FavMenuItem,\n MenuGroupData,\n MenuItemData,\n MenuItemDataApp,\n MenuItemDataCustom,\n MenuItemDataDir,\n MenuItemDataNormal,\n MicroAppWithInstanceId,\n PlatformCategoryItem,\n} from \"./interfaces\";\nimport { FAVORITES_LIMIT } from \"./constants\";\nimport { getAppLocaleName } from \"../shared/getLocaleName\";\nimport { sortBy } from \"lodash\";\n\nexport async function fetchLaunchpadInfo() {\n const launchpadInfo = await LaunchpadApi_getLaunchpadInfo(\n {},\n {\n interceptorParams: { ignoreLoadingBar: true },\n noAbortOnRouteChange: true,\n }\n );\n\n const microAppsById = new Map<string, MicroAppWithInstanceId>();\n for (const storyboard of launchpadInfo.storyboards as Storyboard[]) {\n const app = storyboard.app as unknown as MicroAppWithInstanceId;\n app.localeName = getAppLocaleName(app.locales, app.name);\n microAppsById.set(app.id, app);\n }\n\n const menuGroups: MenuGroupData[] = [];\n const customLinksById = new Map<string, MenuItemDataCustom>();\n\n for (const group of launchpadInfo.desktops as unknown as MenuGroupData[]) {\n const items: MenuItemData[] = [];\n for (const item of group.items) {\n switch (item.type) {\n case \"app\": {\n const app = microAppsById.get(item.id);\n if (app) {\n items.push({\n ...item,\n name: app.localeName,\n url: app.homepage,\n menuIcon: app.menuIcon,\n } as MenuItemDataApp);\n }\n break;\n }\n case \"custom\":\n items.push(item);\n customLinksById.set(item.id, item);\n break;\n case \"dir\": {\n const subItems: MenuItemDataNormal[] = [];\n for (const subItem of item.items) {\n if (subItem.type === \"app\") {\n const app = microAppsById.get(subItem.id);\n if (app) {\n subItems.push({\n ...subItem,\n name: app.localeName,\n url: app.homepage,\n menuIcon: app.menuIcon,\n } as MenuItemDataApp);\n }\n } else if (subItem.type === \"custom\") {\n subItems.push(subItem as MenuItemDataCustom);\n customLinksById.set(subItem.id, subItem);\n }\n }\n if (subItems.length > 0) {\n items.push({\n ...item,\n items: subItems,\n } as MenuItemDataDir);\n }\n break;\n }\n }\n }\n if (items.length > 0) {\n menuGroups.push({ ...group, items });\n }\n }\n\n return { menuGroups, microAppsById, customLinksById };\n}\n\nasync function fetchRawFavorites() {\n return (\n await LaunchpadApi_listCollectionV2(\n { page: 1, pageSize: FAVORITES_LIMIT },\n {\n interceptorParams: { ignoreLoadingBar: true },\n noAbortOnRouteChange: true,\n }\n )\n ).list;\n}\n\nexport async function fetchFavorites() {\n const list = await fetchRawFavorites();\n const stored: FavMenuItem[] = [];\n for (const fav of list) {\n if (fav.type === \"microApp\") {\n const app = fav.relatedApp as Omit<MicroAppWithInstanceId, \"id\"> & {\n appId: string;\n };\n app.localeName = getAppLocaleName(app.locales, app.name);\n stored.push({\n favoriteId: fav.instanceId,\n type: \"app\",\n name: app.localeName,\n id: app.appId,\n url: app.homepage,\n instanceId: app.instanceId,\n menuIcon: app.menuIcon,\n } as FavMenuItem);\n } else if (fav.type === \"customItem\") {\n const customItem = fav.relatedCustomItem!;\n stored.push({\n favoriteId: fav.instanceId,\n type: \"custom\",\n name: customItem.name,\n id: customItem.id,\n url: customItem.url,\n menuIcon: customItem.menuIcon,\n } as FavMenuItem);\n } else if (fav.type === \"link\") {\n stored.push({\n favoriteId: fav.instanceId,\n type: \"link\",\n name: fav.name,\n // id: fav.id,\n url: fav.link,\n menuIcon: fav.icon,\n } as FavMenuItem);\n }\n }\n return stored;\n}\n\nexport async function favorite(\n item: MenuItemDataNormal\n): Promise<{ instanceId?: string }> {\n return LaunchpadApi_createCollectionV2(\n {\n type: item.type === \"app\" ? \"microApp\" : \"customItem\",\n relatedInstanceId: item.instanceId,\n },\n {\n interceptorParams: { ignoreLoadingBar: true },\n }\n );\n}\n\nexport async function undoFavorite(item: FavMenuItem) {\n if (item.favoriteId) {\n return LaunchpadApi_deleteCollectionV2(item.favoriteId);\n }\n\n return fetchRawFavorites().then((list) => {\n const foundId = list.find((fav) =>\n item.type === \"app\"\n ? fav.type === \"microApp\" && fav.relatedApp?.appId === item.id\n : item.type === \"custom\" && fav.relatedCustomItem?.id === item.id\n )?.instanceId;\n\n if (foundId) {\n return LaunchpadApi_deleteCollectionV2(foundId);\n }\n // eslint-disable-next-line no-console\n console.error(\"Menu item to unstar not found:\", item);\n });\n}\n\nexport async function fetchPlatformCategories(): Promise<\n PlatformCategoryItem[]\n> {\n const categories = (\n await InstanceApi_postSearchV3(\"MICRO_APP_CATEGORY@EASYOPS\", {\n fields: [\n \"id\",\n \"type\",\n \"name\",\n \"icon\",\n \"order\",\n \"platformApps.appId\",\n \"platformApps.name\",\n \"platformApps.homepage\",\n \"platformApps.description\",\n \"platformApps.menuIcon\",\n \"platformApps.locales\",\n \"platformApps._object_id\",\n \"platformApps.@.order\",\n \"platformItems.id\",\n \"platformItems.name\",\n \"platformItems.url\",\n \"platformItems.description\",\n \"platformItems.menuIcon\",\n \"platformItems._object_id\",\n \"platformItems.@.order\",\n ],\n page: 1,\n page_size: 300,\n query: {\n type: \"platform\",\n },\n })\n ).list;\n\n const _categories = categories?.map((category) => {\n const apps = category.platformApps.map((app: Record<string, any>) => {\n return {\n type: \"app\",\n name: getAppLocaleName(app.locales, app.name),\n id: app.appId,\n url: app.homepage,\n menuIcon: app.menuIcon,\n description: app.description,\n instanceId: app.instanceId,\n order: app[\"@\"]?.order,\n };\n }) as MenuItemDataApp[];\n const customItems = category.platformItems.map(\n (item: Record<string, any>) => {\n return {\n type: \"custom\",\n name: item.name,\n id: item.id,\n url: item.url,\n menuIcon: item.menuIcon,\n description: item.description,\n instanceId: item.instanceId,\n order: item[\"@\"]?.order,\n };\n }\n ) as MenuItemDataCustom[];\n\n const items = sortBy([...apps, ...customItems], \"order\");\n return {\n instanceId: category.instanceId,\n id: category.id,\n name: category.name,\n icon: category.icon,\n order: category.order,\n items,\n } as PlatformCategoryItem;\n });\n\n return [\n {\n id: \"#all\",\n name: \"全部\",\n icon: {\n lib: \"easyops\",\n category: \"second-menu\",\n icon: \"sprint-planning-second-menu\",\n },\n items: [],\n },\n ...sortBy(_categories, \"order\"),\n ];\n}\n","import type {\n MenuGroupData,\n MenuItemData,\n MenuItemDataApp,\n MenuItemDataCustom,\n MenuItemDataNormal,\n PlatformCategoryItem,\n} from \"./interfaces\";\n\nexport function search(\n allMenuGroups: MenuGroupData[],\n q: string\n): MenuGroupData[] {\n if (!q) {\n return allMenuGroups;\n }\n const lowerQ = q.toLowerCase();\n const groups: MenuGroupData[] = allMenuGroups\n .map((group) => ({\n ...group,\n items: group.items\n .map((item) => {\n switch (item.type) {\n case \"app\":\n return matchMenuItemApp(item, lowerQ);\n case \"custom\":\n return matchMenuItemCustom(item, lowerQ);\n case \"dir\": {\n const filteredSubItems = item.items\n .map((sub) =>\n sub.type === \"app\"\n ? matchMenuItemApp(sub, lowerQ)\n : sub.type === \"custom\"\n ? matchMenuItemCustom(sub, lowerQ)\n : null\n )\n .filter(Boolean) as MenuItemData[];\n return filteredSubItems.length > 0\n ? {\n ...item,\n items: filteredSubItems,\n }\n : null;\n }\n }\n })\n // Ignore not matched items\n .filter(Boolean) as MenuItemData[],\n }))\n // ignore empty desktops\n .filter((group) => group.items.length > 0);\n return groups;\n}\n\nexport function searchCategories(\n categories: PlatformCategoryItem[],\n q: string\n): PlatformCategoryItem[] {\n if (!q) {\n return categories;\n }\n\n const lowerQ = q.toLowerCase();\n const _categories = categories.map((category) => ({\n ...category,\n items: category.items\n .map((item) => {\n switch (item.type) {\n case \"app\":\n return matchMenuItemApp(item, lowerQ);\n case \"custom\":\n return matchMenuItemCustom(item, lowerQ);\n }\n })\n // Ignore not matched items\n .filter(Boolean) as MenuItemDataNormal[],\n }));\n return _categories;\n}\n\nfunction matchMenuItemApp(item: MenuItemDataApp, lowerQ: string) {\n return item.id.toLowerCase().includes(lowerQ) ||\n item.name.toLowerCase().includes(lowerQ) ||\n (item.description && item.description.toLowerCase().includes(lowerQ))\n ? item\n : null;\n}\n\nfunction matchMenuItemCustom(item: MenuItemDataCustom, lowerQ: string) {\n return item.id.toLowerCase().includes(lowerQ) ||\n item.name.toLowerCase().includes(lowerQ) ||\n (item.description && item.description.toLowerCase().includes(lowerQ))\n ? item\n : null;\n}\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n getRuntime,\n handleHttpError,\n httpErrorToString,\n} from \"@next-core/runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport { DeferredService } from \"../shared/DeferredService\";\nimport { showDialog, showNotification } from \"./wrapped-bricks\";\nimport type {\n FavMenuItem,\n MenuGroupData,\n MenuItemDataCustom,\n MenuItemDataLink,\n MenuItemDataNormal,\n MicroAppWithInstanceId,\n PlatformCategoryItem,\n StoredMenuItem,\n} from \"./interfaces\";\nimport {\n favorite,\n fetchFavorites,\n fetchLaunchpadInfo,\n fetchPlatformCategories,\n undoFavorite,\n} from \"./api\";\nimport { search, searchCategories } from \"./search\";\nimport { FAVORITES_LIMIT, RECENT_VISITS_LIMIT } from \"./constants\";\n\nconst storageKey = `launchpad-recent-visits:${(\n auth.getAuth() as Record<string, string>\n)?.org}`;\nconst storage = new JsonStorage(localStorage);\n\nlet candidateDesktops: MenuGroupData[] = [];\nlet candidateMicroAppsById = new Map<string, MicroAppWithInstanceId>();\nlet candidateCustomLinksById = new Map<string, MenuItemDataCustom>();\nlet preLoaded = false;\n\nlet candidateFavorites: FavMenuItem[] = [];\nlet preLoadedFavorites = false;\n\nlet candidatePlatformCategories: PlatformCategoryItem[] = [];\nlet preLoadedPlatformCategories = false;\n\nexport const deferredLaunchpadInfo = new DeferredService(async () => {\n ({\n menuGroups: candidateDesktops,\n microAppsById: candidateMicroAppsById,\n customLinksById: candidateCustomLinksById,\n } = await fetchLaunchpadInfo());\n preLoaded = true;\n});\n\nexport const deferredFavorites = new DeferredService(async () => {\n candidateFavorites = await fetchFavorites();\n preLoadedFavorites = true;\n});\n\nexport const deferredPlatformCategories = new DeferredService(async () => {\n candidatePlatformCategories = await fetchPlatformCategories();\n preLoadedPlatformCategories = true;\n});\n\nconst showErrorAsNotification = (error: unknown) =>\n showNotification({\n type: \"error\",\n message: httpErrorToString(error),\n });\n\n/**\n * - 页面初始化时预加载 launchpad 信息。\n * - 每次打开 launchpad 都发起请求,但该请求的数据只在下次打开 launchpad 时使用。\n * 即每次打开 launchpad 使用的都是上一次获取的数据,以便达到两个效果:\n * - 每次打开 launchpad 都能立即显示菜单列表;\n * - 同时当用户在 launchpad 上操作时,不会出现数据突然更新(新数据请求完成)。\n */\nexport function useLaunchpadInfo(active?: boolean) {\n const [desktops, setDesktops] = useState(candidateDesktops);\n const [microAppsById, setMicroAppsById] = useState(candidateMicroAppsById);\n const [customLinksById, setCustomLinksById] = useState(\n candidateCustomLinksById\n );\n\n const [q, setQ] = useState(\"\");\n\n const [loading, setLoading] = useState(!preLoaded);\n const [loadingFavorites, setLoadingFavorites] = useState(!preLoadedFavorites);\n const [loadingPlatformCategories, setLoadingPlatformCategories] = useState(\n !preLoadedPlatformCategories\n );\n\n const [storedRecentVisits, setStoredRecentVisits] = useState<\n StoredMenuItem[]\n >([]);\n\n const [recentVisits, setRecentVisits] = useState<MenuItemDataNormal[]>([]);\n\n const [favorites, setFavorites] = useState<FavMenuItem[]>(candidateFavorites);\n const [platformCategories, setPlatformCategories] = useState<\n PlatformCategoryItem[]\n >(candidatePlatformCategories);\n\n useEffect(() => {\n // 仅当首次加载完成或重新打开 launchpad 时更新一次数据。\n if (active && !loading) {\n setDesktops(candidateDesktops);\n setMicroAppsById(candidateMicroAppsById);\n setCustomLinksById(candidateCustomLinksById);\n }\n }, [active, loading]);\n\n useEffect(() => {\n if (active && !loadingFavorites) {\n setFavorites(candidateFavorites);\n }\n }, [active, loadingFavorites]);\n\n useEffect(() => {\n if (active && !loadingPlatformCategories) {\n setPlatformCategories(candidatePlatformCategories);\n }\n }, [active, loadingPlatformCategories]);\n\n useEffect(() => {\n if (active) {\n setStoredRecentVisits(storage.getItem(storageKey) ?? []);\n }\n }, [active]);\n\n useEffect(() => {\n if (active) {\n const startFetchLaunchpadInfo = async (): Promise<void> => {\n try {\n await deferredLaunchpadInfo.fetch();\n setLoading(false);\n } catch (error) {\n handleHttpError(error);\n }\n };\n startFetchLaunchpadInfo();\n }\n }, [active]);\n\n useEffect(() => {\n if (active) {\n const startFetchFavorites = async (): Promise<void> => {\n try {\n await deferredFavorites.fetch();\n setLoadingFavorites(false);\n } catch (error) {\n setLoadingFavorites(false);\n showErrorAsNotification(error);\n }\n };\n startFetchFavorites();\n }\n }, [active]);\n\n useEffect(() => {\n if (\n active &&\n getRuntime()?.getFeatureFlags()[\"launchpad-show-platform-category\"]\n ) {\n const startFetchPlatformCategories = async (): Promise<void> => {\n try {\n await deferredPlatformCategories.fetch();\n setLoadingPlatformCategories(false);\n } catch (error) {\n setLoadingPlatformCategories(false);\n showErrorAsNotification(error);\n }\n };\n startFetchPlatformCategories();\n }\n }, [active]);\n\n useEffect(() => {\n if (loading) {\n return;\n }\n const visits = storedRecentVisits\n .map((item) => {\n // Remembered recent visits maybe no longer existed in launchpad\n if (item.type === \"app\") {\n const app = microAppsById.get(item.id);\n return app\n ? {\n type: \"app\",\n name: app.localeName,\n id: app.id,\n url: app.homepage,\n instanceId: app.instanceId,\n menuIcon: app.menuIcon,\n }\n : null;\n }\n return customLinksById.get(item.id);\n })\n .filter(Boolean) as MenuItemDataNormal[];\n setRecentVisits(visits);\n }, [customLinksById, loading, microAppsById, storedRecentVisits]);\n\n const pushRecentVisit = useCallback(({ type, id }: StoredMenuItem) => {\n const visits: StoredMenuItem[] = storage.getItem(storageKey) ?? [];\n const index = visits.findIndex(\n (visit) => visit.type === type && visit.id === id\n );\n if (index > -1) {\n visits.splice(index, 1);\n }\n visits.unshift({ type, id });\n if (visits.length > RECENT_VISITS_LIMIT) {\n visits.pop();\n }\n // setStoredRecentVisits(visits);\n storage.setItem(storageKey, visits);\n }, []);\n\n const isStarred = useCallback(\n (item: MenuItemDataNormal) =>\n favorites.some((fav) => matchFavorite(item, fav)),\n [favorites]\n );\n\n const toggleStar = useCallback(\n (item: MenuItemDataNormal | MenuItemDataLink) => {\n const index = favorites.findIndex((fav) =>\n item.type === \"link\"\n ? fav.favoriteId === item.favoriteId\n : matchFavorite(item, fav)\n );\n let newFavorites: FavMenuItem[];\n if (index > -1) {\n const removed = favorites[index];\n newFavorites = favorites\n .slice(0, index)\n .concat(favorites.slice(index + 1));\n undoFavorite(removed).catch(showErrorAsNotification);\n } else {\n if (favorites.length >= FAVORITES_LIMIT) {\n showDialog({\n type: \"warn\",\n title: \"收藏数量已达上限\",\n content: `当前收藏链接数量已达上限(${FAVORITES_LIMIT}个),请删除部分收藏后再添加。`,\n });\n return;\n }\n // Assert: no link item\n const fav: FavMenuItem = { ...(item as MenuItemDataNormal) };\n newFavorites = favorites.concat(fav);\n favorite(item as MenuItemDataNormal).then((result) => {\n if (result) {\n fav.favoriteId = result.instanceId;\n }\n }, showErrorAsNotification);\n }\n setFavorites(newFavorites);\n candidateFavorites = newFavorites;\n },\n [favorites]\n );\n\n const menuGroups: MenuGroupData[] = useMemo(\n () => search(desktops, q),\n [desktops, q]\n );\n\n const filteredPlatformCategories: PlatformCategoryItem[] = useMemo(\n () => searchCategories(platformCategories, q),\n [platformCategories, q]\n );\n\n return {\n loading,\n q,\n setQ,\n menuGroups,\n loadingFavorites,\n loadingPlatformCategories,\n favorites,\n recentVisits,\n pushRecentVisit,\n isStarred,\n toggleStar,\n platformCategories: filteredPlatformCategories,\n };\n}\n\nexport function matchFavorite(item: MenuItemDataNormal, fav: FavMenuItem) {\n return item.instanceId && fav.instanceId\n ? fav.instanceId === item.instanceId\n : fav.type === item.type && fav.id === item.id;\n}\n","import { wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\n// Use `unwrapProvider` to get the original function of a provider\nexport const showDialog =\n unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport const showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n","export class DeferredService {\n private preFetchId: number | null = null;\n private preFetchScheduled = false;\n private firstFetchPromise: Promise<unknown> | null = null;\n private isFetching = false;\n private readonly task: () => Promise<unknown>;\n\n constructor(task: () => Promise<unknown>) {\n this.task = task;\n }\n\n schedulePrefetch(): void {\n if (!this.preFetchScheduled) {\n this.preFetchScheduled = true;\n const preFetchLaunchpadInfo = async (): Promise<void> => {\n this.preFetchId = null;\n this.fetch();\n };\n // istanbul ignore if\n if (typeof window.requestIdleCallback === \"function\") {\n this.preFetchId = window.requestIdleCallback(preFetchLaunchpadInfo);\n } else {\n this.preFetchId = setTimeout(\n preFetchLaunchpadInfo\n ) as unknown as number;\n }\n }\n }\n\n fetch(eager?: boolean): Promise<unknown> {\n if (this.preFetchId) {\n // istanbul ignore if\n if (typeof window.cancelIdleCallback === \"function\") {\n cancelIdleCallback(this.preFetchId);\n } else {\n clearTimeout(this.preFetchId);\n }\n this.preFetchId = null;\n }\n\n let promise: Promise<unknown>;\n if (!this.isFetching || eager) {\n this.isFetching = true;\n promise = this.task();\n promise\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error(error);\n this.firstFetchPromise = null;\n })\n .finally(() => {\n this.isFetching = false;\n });\n if (!this.firstFetchPromise) {\n this.firstFetchPromise = promise;\n }\n if (eager) {\n return promise;\n }\n }\n return this.firstFetchPromise!;\n }\n}\n","import { i18nText } from \"@next-core/i18n\";\nimport type { AppLocales, I18nData } from \"@next-core/types\";\n\nexport function getAppLocaleName(\n locales: AppLocales | undefined,\n name: string\n) {\n if (!locales) {\n return name;\n }\n const i18nData = Object.fromEntries(\n Object.entries(locales)\n .filter(([lang, resources]) => resources.name)\n .map(([lang, resources]) => [lang, resources.name])\n ) as I18nData;\n return i18nText(i18nData) ?? name;\n}\n","export class JsonStorage {\n constructor(\n private storage: Storage,\n private prefix: string = \"brick-next-\"\n ) {}\n\n setItem<T = any>(name: string, value: T): void {\n this.storage.setItem(this.prefix + name, JSON.stringify(value));\n }\n\n getItem<T = any>(name: string): T {\n return JSON.parse(this.storage.getItem(this.prefix + name) as string) as T;\n }\n\n removeItem(name: string): void {\n return this.storage.removeItem(this.prefix + name);\n }\n\n clear(): void {\n return this.storage.clear();\n }\n}\n"],"names":["LaunchpadApi_listCollectionV2","_ref","params","options","http","get","_x","_x2","apply","this","arguments","LaunchpadApi_createCollectionV2","data","post","LaunchpadApi_deleteCollectionV2","instanceId","delete","concat","InstanceApi_postSearchV3","objectId","_x3","FAVORITES_LIMIT","RECENT_VISITS_LIMIT","_fetchLaunchpadInfo","_asyncToGenerator","launchpadInfo","LaunchpadApi_getLaunchpadInfo","interceptorParams","ignoreLoadingBar","noAbortOnRouteChange","microAppsById","Map","storyboard","storyboards","app","localeName","getAppLocaleName","locales","name","set","id","menuGroups","customLinksById","group","desktops","items","item","type","push","_objectSpread","url","homepage","menuIcon","subItems","subItem","length","fetchRawFavorites","_fetchRawFavorites","page","pageSize","list","_fetchFavorites","stored","fav","relatedApp","favoriteId","appId","customItem","relatedCustomItem","link","icon","_favorite","relatedInstanceId","_undoFavorite","then","_list$find","foundId","find","_fav$relatedApp","_fav$relatedCustomIte","console","error","_fetchPlatformCategories","categories","fields","page_size","query","_categories","map","category","apps","platformApps","_app$","description","order","customItems","platformItems","_item$","sortBy","lib","matchMenuItemApp","lowerQ","toLowerCase","includes","matchMenuItemCustom","storageKey","_auth$getAuth","auth","getAuth","org","storage","JsonStorage","localStorage","candidateDesktops","candidateMicroAppsById","candidateCustomLinksById","preLoaded","candidateFavorites","preLoadedFavorites","candidatePlatformCategories","preLoadedPlatformCategories","deferredLaunchpadInfo","DeferredService","fetchLaunchpadInfo","deferredFavorites","fetchFavorites","deferredPlatformCategories","fetchPlatformCategories","showErrorAsNotification","showNotification","message","httpErrorToString","useLaunchpadInfo","active","setDesktops","useState","setMicroAppsById","setCustomLinksById","q","setQ","loading","setLoading","loadingFavorites","setLoadingFavorites","loadingPlatformCategories","setLoadingPlatformCategories","storedRecentVisits","setStoredRecentVisits","recentVisits","setRecentVisits","favorites","setFavorites","platformCategories","setPlatformCategories","useEffect","_storage$getItem","getItem","startFetchLaunchpadInfo","_ref4","fetch","handleHttpError","startFetchFavorites","_ref5","_getRuntime","getRuntime","getFeatureFlags","startFetchPlatformCategories","_ref6","visits","filter","Boolean","pushRecentVisit","useCallback","_ref7","_storage$getItem2","index","findIndex","visit","splice","unshift","pop","setItem","isStarred","some","matchFavorite","toggleStar","newFavorites","removed","slice","undoFavorite","catch","showDialog","title","content","favorite","result","useMemo","allMenuGroups","filteredSubItems","sub","search","filteredPlatformCategories","searchCategories","WrappedIcon","wrapBrick","WrappedLink","unwrapProvider","constructor","task","_defineProperty","schedulePrefetch","_this","preFetchScheduled","preFetchLaunchpadInfo","preFetchId","window","requestIdleCallback","setTimeout","eager","promise","cancelIdleCallback","clearTimeout","isFetching","firstFetchPromise","finally","_i18nText","i18nData","Object","fromEntries","entries","lang","resources","_ref2","i18nText","prefix","undefined","value","JSON","stringify","parse","removeItem","clear"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[5399,1369,3750,7780],{6330:(e,r,t)=>{function n(e,r,t,n,o,i,a){try{var c=e[i](a),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,o)}function o(e){return function(){var r=this,t=arguments;return new Promise((function(o,i){var a=e.apply(r,t);function c(e){n(a,o,i,c,s,"next",e)}function s(e){n(a,o,i,c,s,"throw",e)}c(void 0)}))}}t.d(r,{A:()=>o})},4586:(e,r,t)=>{t.d(r,{A:()=>o});var n=t(1369);function o(e,r,t){return(r=(0,n.A)(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}},9740:(e,r,t)=>{t.d(r,{A:()=>i});var n=t(4586);function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){(0,n.A)(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}},1369:(e,r,t)=>{t.d(r,{A:()=>o});var n=t(7545);function o(e){var r=function(e,r){if("object"!=(0,n.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,"string");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,n.A)(r)?r:String(r)}},7545:(e,r,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.d(r,{A:()=>n})},5399:(e,r,t)=>{t.r(r),t.d(r,{enqueueStableLoadBricks:()=>h,enqueueStableLoadProcessors:()=>m,flushStableLoadBricks:()=>y,loadBricksImperatively:()=>b,loadProcessorsImperatively:()=>P,loadScript:()=>a,loadSharedModule:()=>l,loadStyle:()=>c});var n=t(9740),o=new Map;function i(e,r,t,a){if(Array.isArray(r))return Promise.all(r.map((r=>i(e,r,t))));var c=t&&!/^https?:/.test(r)?"".concat(t).concat(r):r,s=o.get(c);if(s)return s;var u=new Promise(((r,t)=>{var o=()=>{window.dispatchEvent(new Event("request.end"))},i=document.createElement("style"===e?"link":"script");"script"===e?Object.assign(i,(0,n.A)((0,n.A)({type:"text/javascript",async:!0},a),{},{src:c})):Object.assign(i,(0,n.A)((0,n.A)({rel:"stylesheet"},a),{},{href:c})),i.onload=()=>{r(c),o()},i.onerror=e=>{t(e),o()};var s=document.currentScript||document.getElementsByTagName("script")[0];s.parentNode.insertBefore(i,s),window.dispatchEvent(new Event("request.start"))}));return o.set(c,u),u}function a(e,r,t){return i("script",e,r,t)}function c(e,r,t){return i("style",e,r,t)}var s,u=t(6330);function l(e,r){return f.apply(this,arguments)}function f(){return(f=(0,u.A)((function*(e,r){yield t.I("default");var n=window[e];return yield n.init(t.S.default),(yield n.get(r))()}))).apply(this,arguments)}var p,v=!1,d=new Promise((e=>{s=e}));function y(){v||s()}function h(e,r){return _(j("bricks",e,r))}function m(e,r){return _(j("processors",e,r))}function b(e,r){return w.apply(this,arguments)}function w(){return(w=(0,u.A)((function*(e,r){var t=j("bricks",e,r);return y(),_(t)}))).apply(this,arguments)}function P(e,r){var t=j("processors",e,r);return y(),_(t)}var g="v2-adapter.load-bricks";function k(e,r,t){var n=new Map,o=new Set,i=r=>{var a;if(!o.has(r)){var c,s,u;if(o.add(r),"processors"===e||r.includes(".")){[s,u]=r.split(".");var l="bricks/".concat("processors"===e?s.replace(/[A-Z]/g,(e=>"-".concat(e[0].toLocaleLowerCase()))).replace(/_[0-9]/g,(e=>"-".concat(e[1]))):s);c=t.get(l)}else{var f;for(var p of(u=r,t.values())){var v;if(null!==(v=p.elements)&&void 0!==v&&v.some((e=>e===u))){var d;if(null===(d=p.deprecatedElements)||void 0===d||!d.includes(r)){c=p;break}f=p}}!c&&f&&(c=f)}if(c){var y=n.get(c);y||(y=[],n.set(c,y)),y.push({fullName:r,lastName:u});var h=null===(a=c.dependencies)||void 0===a?void 0:a[r];if(h)for(var m of h)i(m)}else console.error("Package for ".concat(r," not found."))}};for(var a of r)i(a);return n}function A(e,r,t){return O.apply(this,arguments)}function O(){return(O=(0,u.A)((function*(e,r,t){var n="".concat("processors"===e?"./processors/":"./").concat(t.lastName);try{yield l(r,n)}catch(r){throw console.error(r),new Error("Load ".concat(e,' of "').concat(t.fullName,'" failed'))}}))).apply(this,arguments)}function S(e,r,t){return r.map(function(){var r=(0,u.A)((function*(r){var n;return yield a(r.filePath,null!==(n=window.PUBLIC_ROOT)&&void 0!==n?n:""),yield d,Promise.all(t.get(r).map((t=>A(e,r.id,t))))}));return function(e){return r.apply(this,arguments)}}())}function j(e,r,t){return E.apply(this,arguments)}function E(){return E=(0,u.A)((function*(e,r,t){var n=new Map;for(var o of t){var i,c=null!==(i=o.id)&&void 0!==i?i:B(o.filePath);n.set(c,o)}var l,f,d=k(e,r,n),y=[],h=[];for(var m of d.keys())if(m.id)"bricks/basic"===m.id?l=m:h.push(m);else if(y.push(m),!(f=n.get("bricks/v2-adapter")))throw new Error("Using v2 bricks, but v2-adapter not found");var b,w=f,P=l;if(P){var O,j=a(P.filePath,null!==(O=window.PUBLIC_ROOT)&&void 0!==O?O:"");v||(v=!0,j.then((()=>Promise.resolve())).then(s)),b=j.then((()=>Promise.all(d.get(P).map((r=>A(e,P.id,r))))))}var E=[b].concat(S(e,h,d));if(w&&y.length>0){if(!p){var _=k("bricks",[g],n),L=[..._.keys()],N=function(){var e=(0,u.A)((function*(){return yield Promise.all(S("bricks",L,_)),document.createElement(g)}));return function(){return e.apply(this,arguments)}}();p=N()}E.push(p.then((r=>Promise.all(y.map((n=>{var o=B(n.filePath).split("/")[1];return r.resolve(w.filePath,n.filePath,"bricks"===e?d.get(n).map((e=>"".concat(o,".").concat(e.lastName))):[],n.dll,t)}))))))}yield Promise.all(E)})),E.apply(this,arguments)}function _(e){return L.apply(this,arguments)}function L(){return(L=(0,u.A)((function*(e){window.dispatchEvent(new Event("request.start"));try{yield e}finally{window.dispatchEvent(new Event("request.end"))}}))).apply(this,arguments)}function B(e){return e.split("/").slice(0,2).join("/")}}}]);
2
- //# sourceMappingURL=5399.96172fdf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/5399.96172fdf.js","mappings":"mIAAA,SAASA,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQC,EAAKC,GACpE,IACE,IAAIC,EAAOP,EAAIK,GAAKC,GAChBE,EAAQD,EAAKC,KACnB,CAAE,MAAOC,GAEP,YADAP,EAAOO,EAET,CACIF,EAAKG,KACPT,EAAQO,GAERG,QAAQV,QAAQO,GAAOI,KAAKT,EAAOC,EAEvC,CACe,SAASS,EAAkBC,GACxC,OAAO,WACL,IAAIC,EAAOC,KACTC,EAAOC,UACT,OAAO,IAAIP,SAAQ,SAAUV,EAASC,GACpC,IAAIF,EAAMc,EAAGK,MAAMJ,EAAME,GACzB,SAASd,EAAMK,GACbT,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,OAAQI,EAClE,CACA,SAASJ,EAAOgB,GACdrB,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,QAASgB,EACnE,CACAjB,OAAMkB,EACR,GACF,CACF,C,gEC5Be,SAASC,EAAgBC,EAAKlB,EAAKG,GAYhD,OAXAH,GAAM,OAAcA,MACTkB,EACTC,OAAOC,eAAeF,EAAKlB,EAAK,CAC9BG,MAAOA,EACPkB,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZL,EAAIlB,GAAOG,EAENe,CACT,C,gDCbA,SAASM,EAAQC,EAAGC,GAClB,IAAIC,EAAIR,OAAOS,KAAKH,GACpB,GAAIN,OAAOU,sBAAuB,CAChC,IAAIC,EAAIX,OAAOU,sBAAsBJ,GACrCC,IAAMI,EAAIA,EAAEC,QAAO,SAAUL,GAC3B,OAAOP,OAAOa,yBAAyBP,EAAGC,GAAGL,UAC/C,KAAKM,EAAEM,KAAKnB,MAAMa,EAAGG,EACvB,CACA,OAAOH,CACT,CACe,SAASO,EAAeT,GACrC,IAAK,IAAIC,EAAI,EAAGA,EAAIb,UAAUsB,OAAQT,IAAK,CACzC,IAAIC,EAAI,MAAQd,UAAUa,GAAKb,UAAUa,GAAK,CAAC,EAC/CA,EAAI,EAAIF,EAAQL,OAAOQ,IAAI,GAAIS,SAAQ,SAAUV,IAC/C,OAAeD,EAAGC,EAAGC,EAAED,GACzB,IAAKP,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBb,EAAGN,OAAOkB,0BAA0BV,IAAMH,EAAQL,OAAOQ,IAAIS,SAAQ,SAAUV,GAC7IP,OAAOC,eAAeK,EAAGC,EAAGP,OAAOa,yBAAyBL,EAAGD,GACjE,GACF,CACA,OAAOD,CACT,C,gDCnBe,SAASc,EAAcZ,GACpC,IAAIa,ECFS,SAAqBb,EAAGD,GACrC,GAAI,WAAY,OAAQC,KAAOA,EAAG,OAAOA,EACzC,IAAIF,EAAIE,EAAEc,OAAOC,aACjB,QAAI,IAAWjB,EAAG,CAChB,IAAIe,EAAIf,EAAEkB,KAAKhB,EAAGD,UAClB,GAAI,WAAY,OAAQc,GAAI,OAAOA,EACnC,MAAM,IAAII,UAAU,+CACtB,CACA,OAAyBC,OAAiBlB,EAC5C,CDPUe,CAAYf,GACpB,MAAO,WAAY,OAAQa,GAAKA,EAAIK,OAAOL,EAC7C,C,iBELe,SAASM,EAAQhB,GAG9B,OAAOgB,EAAU,mBAAqBL,QAAU,iBAAmBA,OAAOM,SAAW,SAAUjB,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBW,QAAUX,EAAEkB,cAAgBP,QAAUX,IAAMW,OAAOQ,UAAY,gBAAkBnB,CACpH,EAAGgB,EAAQhB,EACb,C,iRCPIoB,EAAQ,IAAIC,IACD,SAASC,EAAkBC,EAAMC,EAAKC,EAAQC,GAC3D,GAAIC,MAAMC,QAAQJ,GAChB,OAAOhD,QAAQqD,IAAIL,EAAIM,KAAIC,GAAQT,EAAkBC,EAAMQ,EAAMN,MAEnE,IAAIO,EAAWP,IAAW,WAAWQ,KAAKT,GAAO,GAAGU,OAAOT,GAAQS,OAAOV,GAAOA,EAC7EW,EAAgBf,EAAMgB,IAAIJ,GAC9B,GAAIG,EACF,OAAOA,EAET,IAAIE,EAAU,IAAI7D,SAAQ,CAACV,EAASC,KAClC,IAAIuE,EAAM,KACRC,OAAOC,cAAc,IAAIC,MAAM,eAAe,EAE5CC,EAAUC,SAASC,cAAuB,UAATrB,EAAmB,OAAS,UACpD,WAATA,EACFlC,OAAOwD,OAAOH,GAAS,QAAc,OAAc,CACjDnB,KAAM,kBACNuB,OAAO,GACNpB,GAAQ,CAAC,EAAG,CACbF,IAAKQ,KAGP3C,OAAOwD,OAAOH,GAAS,QAAc,OAAc,CACjDK,IAAK,cACJrB,GAAQ,CAAC,EAAG,CACbsB,KAAMhB,KAGVU,EAAQO,OAAS,KACfnF,EAAQkE,GACRM,GAAK,EAEPI,EAAQQ,QAAUvD,IAChB5B,EAAO4B,GACP2C,GAAK,EAEP,IAAIa,EAAcR,SAASS,eAAiBT,SAASU,qBAAqB,UAAU,GACpFF,EAAYG,WAAWC,aAAab,EAASS,GAC7CZ,OAAOC,cAAc,IAAIC,MAAM,iBAAiB,IAGlD,OADArB,EAAMoC,IAAIxB,EAAUK,GACbA,CACT,CC3Ce,SAASoB,EAAWjC,EAAKC,EAAQC,GAC9C,OAAOJ,EAAkB,SAAUE,EAAKC,EAAQC,EAClD,CCFe,SAASgC,EAAUlC,EAAKC,EAAQC,GAC7C,OAAOJ,EAAkB,QAASE,EAAKC,EAAQC,EACjD,C,ICAIiC,E,UCDW,SAASC,EAAiBC,EAAIC,GAC3C,OAAOC,EAAkB/E,MAAMH,KAAME,UACvC,CACA,SAASgF,IAUP,OATAA,GAAoB,QAAkB,UAAWC,EAAOC,SAEhD,IAAyB,WAC/B,IAAIC,EAAY3B,OAAOyB,GAIvB,aAFME,EAAUC,KAAK,IAAyBC,gBAC1BF,EAAU9B,IAAI6B,KAEpC,KACyBjF,MAAMH,KAAME,UACvC,CDZA,IA8CIsF,EA9CAC,GAAyB,EACzBC,EAAe,IAAI/F,SAAQV,IAC7B6F,EAAkB7F,CAAO,IAEpB,SAAS0G,IACTF,GACHX,GAEJ,CAcO,SAASc,EAAwBC,EAAQC,GAE9C,OAAOC,EADOC,EAAkB,SAAUH,EAAQC,GAEpD,CACO,SAASG,EAA4BC,EAAYJ,GAEtD,OAAOC,EADOC,EAAkB,aAAcE,EAAYJ,GAE5D,CACO,SAASK,EAAuBnB,EAAIC,GACzC,OAAOmB,EAAwBjG,MAAMH,KAAME,UAC7C,CACA,SAASkG,IAMP,OALAA,GAA0B,QAAkB,UAAWP,EAAQC,GAC7D,IAAItC,EAAUwC,EAAkB,SAAUH,EAAQC,GAElD,OADAH,IACOI,EAAsBvC,EAC/B,KAC+BrD,MAAMH,KAAME,UAC7C,CACO,SAASmG,EAA2BH,EAAYJ,GACrD,IAAItC,EAAUwC,EAAkB,aAAcE,EAAYJ,GAE1D,OADAH,IACOI,EAAsBvC,EAC/B,CAEA,IAAI8C,EAAyB,yBAE7B,SAASC,EAAc7D,EAAM8D,EAAMC,GACjC,IAAIC,EAAa,IAAIlE,IACjBmE,EAAa,IAAIC,IACjBC,EAAM3D,IACR,IAAI4D,EACJ,IAAIH,EAAWI,IAAI7D,GAAnB,CAIA,IAAI8D,EACAC,EACAC,EACJ,GAJAP,EAAWE,IAAI3D,GAIF,eAATR,GAAyBQ,EAAKiE,SAAS,KAAM,EAC9CF,EAAWC,GAAYhE,EAAKkE,MAAM,KACnC,IAAIC,EAAQ,UAAUhE,OAAgB,eAATX,EAAgDuE,EA6KzDK,QAAQ,UAAUC,GAAS,IAAIlE,OAAOkE,EAAM,GAAGC,uBAAsBF,QAAQ,WAAWC,GAAS,IAAIlE,OAAOkE,EAAM,MA7K5CN,GAC1FD,EAAMP,EAAiBlD,IAAI8D,EAC7B,KAAO,CAEL,IAAII,EACJ,IAAK,IAAIC,KAFTR,EAAWhE,EAEGuD,EAAiBkB,UAAU,CACvC,IAAIC,EACJ,GAAmC,QAA9BA,EAAcF,EAAEG,gBAAsC,IAAhBD,GAA0BA,EAAYE,MAAKhH,GAAKA,IAAMoG,IAAW,CAC1G,IAAIa,EACJ,GAAuD,QAAlDA,EAAwBL,EAAEM,0BAA0D,IAA1BD,IAAoCA,EAAsBZ,SAASjE,GAE3H,CACL8D,EAAMU,EACN,KACF,CAJED,EAA2BC,CAK/B,CACF,EACKV,GAAOS,IACVT,EAAMS,EAEV,CACA,GAAKT,EAAL,CAKA,IAAIiB,EAAavB,EAAWnD,IAAIyD,GAC3BiB,IACHA,EAAa,GACbvB,EAAW/B,IAAIqC,EAAKiB,IAEtBA,EAAW3G,KAAK,CACd4G,SAAUhF,EACVgE,aAIF,IAAIiB,EAAkD,QAA1CrB,EAAoBE,EAAIoB,oBAAgD,IAAtBtB,OAA+B,EAASA,EAAkB5D,GACxH,GAAIiF,EACF,IAAK,IAAIE,KAAOF,EACdtB,EAAIwB,EAfR,MAFEC,QAAQ7I,MAAM,eAAe4D,OAAOH,EAAM,eA9B5C,CAiDA,EAEF,IAAK,IAAIA,KAAQsD,EACfK,EAAI3D,GAEN,OAAOwD,CACT,CACA,SAAS6B,EAAgBC,EAAKC,EAAKC,GACjC,OAAOC,EAAiBxI,MAAMH,KAAME,UACtC,CACA,SAASyI,IAWP,OAVAA,GAAmB,QAAkB,UAAWjG,EAAM2E,EAAOnE,GAC3D,IAAI0F,EAAa,GAAGvF,OAAgB,eAATX,EAAwB,gBAAkB,MAAMW,OAAOH,EAAKgE,UACvF,UACQnC,EAAiBsC,EAAOuB,EAChC,CAAE,MAAOnJ,GAGP,MADA6I,QAAQ7I,MAAMA,GACR,IAAIoJ,MAAM,QAAQxF,OAAOX,EAAM,SAAUW,OAAOH,EAAKgF,SAAU,YACvE,CACF,KACwB/H,MAAMH,KAAME,UACtC,CACA,SAAS4I,EAAepG,EAAMqG,EAAMC,GAClC,OAAOD,EAAK9F,IAAkB,WAC5B,IAAIgG,GAAO,QAAkB,UAAWjC,GACtC,IAAIkC,EAGJ,aAFMtE,EAAWoC,EAAImC,SAAyD,QAA9CD,EAAsBxF,OAAO0F,mBAAiD,IAAxBF,EAAiCA,EAAsB,UACvIxD,EACC/F,QAAQqD,IAEfgG,EAASzF,IAAIyD,GAAK/D,KAAIC,GAAQqF,EAAgB7F,EAAMsE,EAAIqC,GAAInG,KAC9D,IACA,OAAO,SAAUoG,GACf,OAAOL,EAAK9I,MAAMH,KAAME,UAC1B,CACF,CAZ8B,GAahC,CACA,SAAS8F,EAAkBuD,EAAKC,EAAKC,GACnC,OAAOC,EAAmBvJ,MAAMH,KAAME,UACxC,CACA,SAASwJ,IAyEP,OAxEAA,GAAqB,QAAkB,UAAWhH,EAAM8D,EAAMV,GAC5D,IAAIW,EAAmB,IAAIjE,IAC3B,IAAK,IAAIwE,KAAOlB,EAAe,CAC7B,IAAI6D,EACAtC,EAA+B,QAAtBsC,EAAU3C,EAAIqC,UAA4B,IAAZM,EAAqBA,EAAUC,EAAmB5C,EAAImC,UACjG1C,EAAiB9B,IAAI0C,EAAOL,EAC9B,CACA,IACI6C,EAGAC,EAJApD,EAAaH,EAAc7D,EAAM8D,EAAMC,GAEvCsD,EAAa,GACbC,EAA2B,GAE/B,IAAK,IAAIC,KAAQvD,EAAWzF,OAC1B,GAAIgJ,EAAKZ,GACS,iBAAZY,EAAKZ,GACPQ,EAAgBI,EAEhBD,EAAyB1I,KAAK2I,QAMhC,GAFAF,EAAWzI,KAAK2I,KAChBH,EAAiBrD,EAAiBlD,IAAI,sBAEpC,MAAM,IAAIsF,MAAM,6CAItB,IACIqB,EADAC,EAAYL,EAEZM,EAAWP,EACf,GAAIO,EAAU,CACZ,IAAIC,EACAC,EAAc1F,EAAWwF,EAASjB,SAA0D,QAA/CkB,EAAuB3G,OAAO0F,mBAAkD,IAAzBiB,EAAkCA,EAAuB,IAE5J5E,IACHA,GAAyB,EACzB6E,EAAY1K,MAAK,IAAMD,QAAQV,YAAWW,KAAKkF,IAEjDoF,EAAkBI,EAAY1K,MAAK,IAAMD,QAAQqD,IAEjD0D,EAAWnD,IAAI6G,GAAUnH,KAAIC,GAAQqF,EAAgB7F,EAAM0H,EAASf,GAAInG,OAC1E,CACA,IAAIqH,EAAc,CAACL,GAAiB7G,OAAOyF,EAAepG,EAAMsH,EAA0BtD,IAC1F,GAAIyD,GAAaJ,EAAWvI,OAAS,EAAG,CACtC,IAAKgE,EAAkB,CAErB,IAAIgF,EAAsBjE,EAAc,SAAU,CAACD,GAAyBG,GACxEgE,EAAoB,IAAID,EAAoBvJ,QAC5CyJ,EAA6B,WAC/B,IAAIC,GAAQ,QAAkB,YAE5B,aADMhL,QAAQqD,IAAI8F,EAAe,SAAU2B,EAAmBD,IACvD1G,SAASC,cAAcuC,EAChC,IACA,OAAO,WACL,OAAOqE,EAAMxK,MAAMH,KAAME,UAC3B,CACF,CARiC,GASjCsF,EAAmBkF,GACrB,CACAH,EAAYjJ,KAAKkE,EAAiB5F,MAAKgL,GAAWjL,QAAQqD,IAAI+G,EAAW9G,KAAI+D,IAC3E,IACI6D,EADQjB,EAAmB5C,EAAImC,UACV/B,MAAM,KAAK,GACpC,OAAOwD,EAAQ3L,QAAQkL,EAAUhB,SAAUnC,EAAImC,SAAmB,WAATzG,EAEzDgE,EAAWnD,IAAIyD,GAAK/D,KAAIC,GAAQ,GAAGG,OAAOwH,EAAc,KAAKxH,OAAOH,EAAKgE,YAAa,GAAIF,EAAI8D,IAE9FhF,EAAc,OAElB,OACMnG,QAAQqD,IAAIuH,EACpB,IACOb,EAAmBvJ,MAAMH,KAAME,UACxC,CACA,SAAS6F,EAAsBgF,GAC7B,OAAOC,EAAuB7K,MAAMH,KAAME,UAC5C,CACA,SAAS8K,IASP,OARAA,GAAyB,QAAkB,UAAWxH,GACpDE,OAAOC,cAAc,IAAIC,MAAM,kBAC/B,UACQJ,CACR,CAAE,QACAE,OAAOC,cAAc,IAAIC,MAAM,eACjC,CACF,KAC8BzD,MAAMH,KAAME,UAC5C,CAIA,SAAS0J,EAAmBT,GAC1B,OAAOA,EAAS/B,MAAM,KAAK6D,MAAM,EAAG,GAAGC,KAAK,IAC9C,C","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadScriptOrStyle.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadScript.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadStyle.js","webpack:///../../node_modules/@next-core/loader/dist/esm/stableLoadBricks.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadSharedModule.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar cache = new Map();\nexport default function loadScriptOrStyle(type, src, prefix, attrs) {\n if (Array.isArray(src)) {\n return Promise.all(src.map(item => loadScriptOrStyle(type, item, prefix)));\n }\n var fixedSrc = prefix && !/^https?:/.test(src) ? \"\".concat(prefix).concat(src) : src;\n var cachedPromise = cache.get(fixedSrc);\n if (cachedPromise) {\n return cachedPromise;\n }\n var promise = new Promise((resolve, reject) => {\n var end = () => {\n window.dispatchEvent(new Event(\"request.end\"));\n };\n var element = document.createElement(type === \"style\" ? \"link\" : \"script\");\n if (type === \"script\") {\n Object.assign(element, _objectSpread(_objectSpread({\n type: \"text/javascript\",\n async: true\n }, attrs), {}, {\n src: fixedSrc\n }));\n } else {\n Object.assign(element, _objectSpread(_objectSpread({\n rel: \"stylesheet\"\n }, attrs), {}, {\n href: fixedSrc\n }));\n }\n element.onload = () => {\n resolve(fixedSrc);\n end();\n };\n element.onerror = e => {\n reject(e);\n end();\n };\n var firstScript = document.currentScript || document.getElementsByTagName(\"script\")[0];\n firstScript.parentNode.insertBefore(element, firstScript);\n window.dispatchEvent(new Event(\"request.start\"));\n });\n cache.set(fixedSrc, promise);\n return promise;\n}\n//# sourceMappingURL=loadScriptOrStyle.js.map","import loadScriptOrStyle from \"./loadScriptOrStyle.js\";\nexport default function loadScript(src, prefix, attrs) {\n return loadScriptOrStyle(\"script\", src, prefix, attrs);\n}\n//# sourceMappingURL=loadScript.js.map","import loadScriptOrStyle from \"./loadScriptOrStyle.js\";\nexport default function loadStyle(src, prefix, attrs) {\n return loadScriptOrStyle(\"style\", src, prefix, attrs);\n}\n//# sourceMappingURL=loadStyle.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport loadScript from \"./loadScript.js\";\nimport loadSharedModule from \"./loadSharedModule.js\";\nvar resolveBasicPkg;\nvar basicPkgWillBeResolved = false;\nvar waitBasicPkg = new Promise(resolve => {\n resolveBasicPkg = resolve;\n});\nexport function flushStableLoadBricks() {\n if (!basicPkgWillBeResolved) {\n resolveBasicPkg();\n }\n}\n\n/**\n * When loading bundles with webpack module federation concurrently, if\n * these bundles share some modules, webpack will load a singleton module\n * if versions are matched. Webpack will use the first bundle who started\n * to init the shared scope. Generally which bundle to use for a specific\n * module, does not matter. However, it may cause flaky result since the\n * shared module may from different bundles which maybe not exactly the\n * same, especially developers declare dependencies incorrectly sometimes.\n * So in order to make it less flaky, we try to make a BASIC package takes\n * precedence over others. We will always load the shared modules from the\n * basic package bundle if it contains the shared modules.\n */\nexport function enqueueStableLoadBricks(bricks, brickPackages) {\n var promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function enqueueStableLoadProcessors(processors, brickPackages) {\n var promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function loadBricksImperatively(_x, _x2) {\n return _loadBricksImperatively.apply(this, arguments);\n}\nfunction _loadBricksImperatively() {\n _loadBricksImperatively = _asyncToGenerator(function* (bricks, brickPackages) {\n var promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n });\n return _loadBricksImperatively.apply(this, arguments);\n}\nexport function loadProcessorsImperatively(processors, brickPackages) {\n var promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n}\nvar v2AdapterPromise;\nvar V2_ADAPTER_LOAD_BRICKS = \"v2-adapter.load-bricks\";\n// Get brick/processor items including their dependencies\nfunction getItemsByPkg(type, list, brickPackagesMap) {\n var itemsByPkg = new Map();\n var listToLoad = new Set();\n var add = item => {\n var _pkg$dependencies;\n if (listToLoad.has(item)) {\n return;\n }\n listToLoad.add(item);\n var pkg;\n var namespace;\n var lastName;\n if (type === \"processors\" || item.includes(\".\")) {\n [namespace, lastName] = item.split(\".\");\n var pkgId = \"bricks/\".concat(type === \"processors\" ? getProcessorPackageName(namespace) : namespace);\n pkg = brickPackagesMap.get(pkgId);\n } else {\n lastName = item;\n var deprecatedBrickInThisPkg;\n for (var p of brickPackagesMap.values()) {\n var _p$elements;\n if ((_p$elements = p.elements) !== null && _p$elements !== void 0 && _p$elements.some(e => e === lastName)) {\n var _p$deprecatedElements;\n if ((_p$deprecatedElements = p.deprecatedElements) !== null && _p$deprecatedElements !== void 0 && _p$deprecatedElements.includes(item)) {\n deprecatedBrickInThisPkg = p;\n } else {\n pkg = p;\n break;\n }\n }\n }\n if (!pkg && deprecatedBrickInThisPkg) {\n pkg = deprecatedBrickInThisPkg;\n }\n }\n if (!pkg) {\n // eslint-disable-next-line no-console\n console.error(\"Package for \".concat(item, \" not found.\"));\n return;\n }\n var groupItems = itemsByPkg.get(pkg);\n if (!groupItems) {\n groupItems = [];\n itemsByPkg.set(pkg, groupItems);\n }\n groupItems.push({\n fullName: item,\n lastName\n });\n\n // Load their dependencies too\n var deps = (_pkg$dependencies = pkg.dependencies) === null || _pkg$dependencies === void 0 ? void 0 : _pkg$dependencies[item];\n if (deps) {\n for (var dep of deps) {\n add(dep);\n }\n }\n };\n for (var item of list) {\n add(item);\n }\n return itemsByPkg;\n}\nfunction loadBrickModule(_x3, _x4, _x5) {\n return _loadBrickModule.apply(this, arguments);\n}\nfunction _loadBrickModule() {\n _loadBrickModule = _asyncToGenerator(function* (type, pkgId, item) {\n var moduleName = \"\".concat(type === \"processors\" ? \"./processors/\" : \"./\").concat(item.lastName);\n try {\n yield loadSharedModule(pkgId, moduleName);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n throw new Error(\"Load \".concat(type, \" of \\\"\").concat(item.fullName, \"\\\" failed\"));\n }\n });\n return _loadBrickModule.apply(this, arguments);\n}\nfunction loadRestBricks(type, pkgs, itemsMap) {\n return pkgs.map( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (pkg) {\n var _window$PUBLIC_ROOT;\n yield loadScript(pkg.filePath, (_window$PUBLIC_ROOT = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT !== void 0 ? _window$PUBLIC_ROOT : \"\");\n yield waitBasicPkg;\n return Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsMap.get(pkg).map(item => loadBrickModule(type, pkg.id, item)));\n });\n return function (_x6) {\n return _ref.apply(this, arguments);\n };\n }());\n}\nfunction enqueueStableLoad(_x7, _x8, _x9) {\n return _enqueueStableLoad.apply(this, arguments);\n}\nfunction _enqueueStableLoad() {\n _enqueueStableLoad = _asyncToGenerator(function* (type, list, brickPackages) {\n var brickPackagesMap = new Map();\n for (var pkg of brickPackages) {\n var _pkg$id;\n var pkgId = (_pkg$id = pkg.id) !== null && _pkg$id !== void 0 ? _pkg$id : getPkgIdByFilePath(pkg.filePath);\n brickPackagesMap.set(pkgId, pkg);\n }\n var itemsByPkg = getItemsByPkg(type, list, brickPackagesMap);\n var foundBasicPkg;\n var v2Packages = [];\n var v3PackagesOtherThanBasic = [];\n var maybeV2Adapter;\n for (var _pkg of itemsByPkg.keys()) {\n if (_pkg.id) {\n if (_pkg.id === \"bricks/basic\") {\n foundBasicPkg = _pkg;\n } else {\n v3PackagesOtherThanBasic.push(_pkg);\n }\n } else {\n // Brick packages of v2 has no `id`\n v2Packages.push(_pkg);\n maybeV2Adapter = brickPackagesMap.get(\"bricks/v2-adapter\");\n if (!maybeV2Adapter) {\n throw new Error(\"Using v2 bricks, but v2-adapter not found\");\n }\n }\n }\n var v2Adapter = maybeV2Adapter;\n var basicPkgPromise;\n var basicPkg = foundBasicPkg;\n if (basicPkg) {\n var _window$PUBLIC_ROOT2;\n var tempPromise = loadScript(basicPkg.filePath, (_window$PUBLIC_ROOT2 = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT2 !== void 0 ? _window$PUBLIC_ROOT2 : \"\");\n // Packages other than BASIC will wait for an extra micro-task tick.\n if (!basicPkgWillBeResolved) {\n basicPkgWillBeResolved = true;\n tempPromise.then(() => Promise.resolve()).then(resolveBasicPkg);\n }\n basicPkgPromise = tempPromise.then(() => Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(basicPkg).map(item => loadBrickModule(type, basicPkg.id, item))));\n }\n var pkgPromises = [basicPkgPromise].concat(loadRestBricks(type, v3PackagesOtherThanBasic, itemsByPkg));\n if (v2Adapter && v2Packages.length > 0) {\n if (!v2AdapterPromise) {\n // Load `v2-adapter.load-bricks` and its dependencies\n var v2AdapterItemsByPkg = getItemsByPkg(\"bricks\", [V2_ADAPTER_LOAD_BRICKS], brickPackagesMap);\n var v2AdapterPackages = [...v2AdapterItemsByPkg.keys()];\n var loadV2Adapter = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* () {\n yield Promise.all(loadRestBricks(\"bricks\", v2AdapterPackages, v2AdapterItemsByPkg));\n return document.createElement(V2_ADAPTER_LOAD_BRICKS);\n });\n return function loadV2Adapter() {\n return _ref2.apply(this, arguments);\n };\n }();\n v2AdapterPromise = loadV2Adapter();\n }\n pkgPromises.push(v2AdapterPromise.then(adapter => Promise.all(v2Packages.map(pkg => {\n var pkgId = getPkgIdByFilePath(pkg.filePath);\n var pkgNamespace = pkgId.split(\"/\")[1];\n return adapter.resolve(v2Adapter.filePath, pkg.filePath, type === \"bricks\" ?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(pkg).map(item => \"\".concat(pkgNamespace, \".\").concat(item.lastName)) : [], pkg.dll,\n // Todo: remove `brickPackages` as an argument\n brickPackages);\n }))));\n }\n yield Promise.all(pkgPromises);\n });\n return _enqueueStableLoad.apply(this, arguments);\n}\nfunction dispatchRequestStatus(_x10) {\n return _dispatchRequestStatus.apply(this, arguments);\n}\nfunction _dispatchRequestStatus() {\n _dispatchRequestStatus = _asyncToGenerator(function* (promise) {\n window.dispatchEvent(new Event(\"request.start\"));\n try {\n yield promise;\n } finally {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n });\n return _dispatchRequestStatus.apply(this, arguments);\n}\nfunction getProcessorPackageName(camelPackageName) {\n return camelPackageName.replace(/[A-Z]/g, match => \"-\".concat(match[0].toLocaleLowerCase())).replace(/_[0-9]/g, match => \"-\".concat(match[1]));\n}\nfunction getPkgIdByFilePath(filePath) {\n return filePath.split(\"/\").slice(0, 2).join(\"/\");\n}\n//# sourceMappingURL=stableLoadBricks.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\n// https://github.com/module-federation/module-federation-examples/blob/eda9493f3991a423479fd834cfb1d7b241d9d1f0/advanced-api/dynamic-remotes/app1/src/App.js\nexport default function loadSharedModule(_x, _x2) {\n return _loadSharedModule.apply(this, arguments);\n}\nfunction _loadSharedModule() {\n _loadSharedModule = _asyncToGenerator(function* (scope, module) {\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n yield __webpack_init_sharing__(\"default\");\n var container = window[scope]; // or get the container somewhere else\n // Initialize the container, it may provide shared modules\n yield container.init(__webpack_share_scopes__.default);\n var factory = yield container.get(module);\n return factory();\n });\n return _loadSharedModule.apply(this, arguments);\n}\n//# sourceMappingURL=loadSharedModule.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_defineProperty","obj","Object","defineProperty","enumerable","configurable","writable","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","push","_objectSpread2","length","forEach","getOwnPropertyDescriptors","defineProperties","toPropertyKey","i","Symbol","toPrimitive","call","TypeError","String","_typeof","iterator","constructor","prototype","cache","Map","loadScriptOrStyle","type","src","prefix","attrs","Array","isArray","all","map","item","fixedSrc","test","concat","cachedPromise","get","promise","end","window","dispatchEvent","Event","element","document","createElement","assign","async","rel","href","onload","onerror","firstScript","currentScript","getElementsByTagName","parentNode","insertBefore","set","loadScript","loadStyle","resolveBasicPkg","loadSharedModule","_x","_x2","_loadSharedModule","scope","module","container","init","default","v2AdapterPromise","basicPkgWillBeResolved","waitBasicPkg","flushStableLoadBricks","enqueueStableLoadBricks","bricks","brickPackages","dispatchRequestStatus","enqueueStableLoad","enqueueStableLoadProcessors","processors","loadBricksImperatively","_loadBricksImperatively","loadProcessorsImperatively","V2_ADAPTER_LOAD_BRICKS","getItemsByPkg","list","brickPackagesMap","itemsByPkg","listToLoad","Set","add","_pkg$dependencies","has","pkg","namespace","lastName","includes","split","pkgId","replace","match","toLocaleLowerCase","deprecatedBrickInThisPkg","p","values","_p$elements","elements","some","_p$deprecatedElements","deprecatedElements","groupItems","fullName","deps","dependencies","dep","console","loadBrickModule","_x3","_x4","_x5","_loadBrickModule","moduleName","Error","loadRestBricks","pkgs","itemsMap","_ref","_window$PUBLIC_ROOT","filePath","PUBLIC_ROOT","id","_x6","_x7","_x8","_x9","_enqueueStableLoad","_pkg$id","getPkgIdByFilePath","foundBasicPkg","maybeV2Adapter","v2Packages","v3PackagesOtherThanBasic","_pkg","basicPkgPromise","v2Adapter","basicPkg","_window$PUBLIC_ROOT2","tempPromise","pkgPromises","v2AdapterItemsByPkg","v2AdapterPackages","loadV2Adapter","_ref2","adapter","pkgNamespace","dll","_x10","_dispatchRequestStatus","slice","join"],"sourceRoot":""}