@next-bricks/nav 1.11.13 → 1.11.15

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 (287) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/1045.28eda4d4.js +2 -0
  3. package/dist/chunks/1045.28eda4d4.js.map +1 -0
  4. package/dist/chunks/1122.3df7e8f5.js +2 -0
  5. package/dist/chunks/1122.3df7e8f5.js.map +1 -0
  6. package/dist/chunks/114.11826e69.js +2 -0
  7. package/dist/chunks/114.11826e69.js.map +1 -0
  8. package/dist/chunks/1369.f2a1f366.js +2 -0
  9. package/dist/chunks/{1369.91ecbde7.js.map → 1369.f2a1f366.js.map} +1 -1
  10. package/dist/chunks/1370.531076d0.js +2 -0
  11. package/dist/chunks/1370.531076d0.js.map +1 -0
  12. package/dist/chunks/1889.8ae44d04.js +2 -0
  13. package/dist/chunks/1889.8ae44d04.js.map +1 -0
  14. package/dist/chunks/1940.1a947044.js +2 -0
  15. package/dist/chunks/1940.1a947044.js.map +1 -0
  16. package/dist/chunks/2052.14b1b2e4.js +2 -0
  17. package/dist/chunks/{2052.504bb76b.js.map → 2052.14b1b2e4.js.map} +1 -1
  18. package/dist/chunks/2133.e7cc599c.js +2 -0
  19. package/dist/chunks/2133.e7cc599c.js.map +1 -0
  20. package/dist/chunks/2252.84773cac.js +3 -0
  21. package/dist/chunks/2252.84773cac.js.map +1 -0
  22. package/dist/chunks/2277.a4066198.js +2 -0
  23. package/dist/chunks/2277.a4066198.js.map +1 -0
  24. package/dist/chunks/3144.7f10ba4c.js +3 -0
  25. package/dist/chunks/{3144.8f5901e6.js.map → 3144.7f10ba4c.js.map} +1 -1
  26. package/dist/chunks/3171.fd7160cf.js +2 -0
  27. package/dist/chunks/3171.fd7160cf.js.map +1 -0
  28. package/dist/chunks/3278.083af081.js +2 -0
  29. package/dist/chunks/{3278.4f438613.js.map → 3278.083af081.js.map} +1 -1
  30. package/dist/chunks/3703.029f16d4.js +3 -0
  31. package/dist/chunks/{3703.a583930d.js.map → 3703.029f16d4.js.map} +1 -1
  32. package/dist/chunks/3751.573b450c.js +2 -0
  33. package/dist/chunks/3751.573b450c.js.map +1 -0
  34. package/dist/chunks/3933.08685c12.js +2 -0
  35. package/dist/chunks/3933.08685c12.js.map +1 -0
  36. package/dist/chunks/4041.c7de4a6d.js +3 -0
  37. package/dist/chunks/{4041.e3680d33.js.map → 4041.c7de4a6d.js.map} +1 -1
  38. package/dist/chunks/4658.0954eb78.js +2 -0
  39. package/dist/chunks/4658.0954eb78.js.map +1 -0
  40. package/dist/chunks/4741.3a33a9de.js +2 -0
  41. package/dist/chunks/{4741.0f313ec4.js.map → 4741.3a33a9de.js.map} +1 -1
  42. package/dist/chunks/5250.12cae457.js +3 -0
  43. package/dist/chunks/{5250.681bb342.js.map → 5250.12cae457.js.map} +1 -1
  44. package/dist/chunks/5294.92b3255a.js +2 -0
  45. package/dist/chunks/5294.92b3255a.js.map +1 -0
  46. package/dist/chunks/5384.a93e34e9.js +2 -0
  47. package/dist/chunks/{5384.68b75bc2.js.map → 5384.a93e34e9.js.map} +1 -1
  48. package/dist/chunks/5399.e743a790.js +2 -0
  49. package/dist/chunks/5399.e743a790.js.map +1 -0
  50. package/dist/chunks/5552.4f5335c8.js +2 -0
  51. package/dist/chunks/5552.4f5335c8.js.map +1 -0
  52. package/dist/chunks/5764.962abddb.js +3 -0
  53. package/dist/chunks/{5764.5d901b1f.js.map → 5764.962abddb.js.map} +1 -1
  54. package/dist/chunks/6256.5623ff67.js +3 -0
  55. package/dist/chunks/{6256.a5ffd4a5.js.map → 6256.5623ff67.js.map} +1 -1
  56. package/dist/chunks/6314.cdbd7b25.js +2 -0
  57. package/dist/chunks/6314.cdbd7b25.js.map +1 -0
  58. package/dist/chunks/6519.88149886.js +2 -0
  59. package/dist/chunks/6519.88149886.js.map +1 -0
  60. package/dist/chunks/6773.4adb9d56.js +2 -0
  61. package/dist/chunks/{6773.ff2d90db.js.map → 6773.4adb9d56.js.map} +1 -1
  62. package/dist/chunks/7041.6b29fed9.js +3 -0
  63. package/dist/chunks/7041.6b29fed9.js.LICENSE.txt +1 -0
  64. package/dist/chunks/7041.6b29fed9.js.map +1 -0
  65. package/dist/chunks/7115.cce8508a.js +2 -0
  66. package/dist/chunks/7115.cce8508a.js.map +1 -0
  67. package/dist/chunks/726.1d2dd9fa.js +2 -0
  68. package/dist/chunks/{726.c766b8c8.js.map → 726.1d2dd9fa.js.map} +1 -1
  69. package/dist/chunks/7721.a4d4ce25.js +3 -0
  70. package/dist/chunks/{7721.1d0f13b9.js.map → 7721.a4d4ce25.js.map} +1 -1
  71. package/dist/chunks/7733.32af8f74.js +2 -0
  72. package/dist/chunks/7733.32af8f74.js.map +1 -0
  73. package/dist/chunks/8097.77f4d63c.js +2 -0
  74. package/dist/chunks/8097.77f4d63c.js.map +1 -0
  75. package/dist/chunks/8171.1db60822.js +3 -0
  76. package/dist/chunks/8171.1db60822.js.map +1 -0
  77. package/dist/chunks/8518.cd45dc30.js +2 -0
  78. package/dist/chunks/8518.cd45dc30.js.map +1 -0
  79. package/dist/chunks/871.18bf8ba5.js +2 -0
  80. package/dist/chunks/871.18bf8ba5.js.map +1 -0
  81. package/dist/chunks/8989.a9efa9f5.js +2 -0
  82. package/dist/chunks/8989.a9efa9f5.js.map +1 -0
  83. package/dist/chunks/9043.6aa5e55a.js +3 -0
  84. package/dist/chunks/9043.6aa5e55a.js.map +1 -0
  85. package/dist/chunks/9155.d295054c.js +3 -0
  86. package/dist/chunks/9155.d295054c.js.map +1 -0
  87. package/dist/chunks/9496.f739cfa1.js +2 -0
  88. package/dist/chunks/9496.f739cfa1.js.map +1 -0
  89. package/dist/chunks/9515.df23b98d.js +2 -0
  90. package/dist/chunks/{9515.dab7bf6b.js.map → 9515.df23b98d.js.map} +1 -1
  91. package/dist/chunks/9559.bbe42c08.js +2 -0
  92. package/dist/chunks/9559.bbe42c08.js.map +1 -0
  93. package/dist/chunks/9844.b58a111c.js +2 -0
  94. package/dist/chunks/{9844.34779f06.js.map → 9844.b58a111c.js.map} +1 -1
  95. package/dist/chunks/easyops-navbar-alerts.2b4a5d00.js +2 -0
  96. package/dist/chunks/easyops-navbar-alerts.2b4a5d00.js.map +1 -0
  97. package/dist/chunks/eo-app-bar-wrapper.85096d2c.js +3 -0
  98. package/dist/chunks/eo-app-bar-wrapper.85096d2c.js.map +1 -0
  99. package/dist/chunks/eo-directory-tree-internal-node.838a27ac.js +2 -0
  100. package/dist/chunks/eo-directory-tree-internal-node.838a27ac.js.map +1 -0
  101. package/dist/chunks/eo-directory-tree-leaf.733bfc05.js +2 -0
  102. package/dist/chunks/eo-directory-tree-leaf.733bfc05.js.map +1 -0
  103. package/dist/chunks/eo-directory-tree.0624e270.js +2 -0
  104. package/dist/chunks/eo-directory-tree.0624e270.js.map +1 -0
  105. package/dist/chunks/eo-directory.13024aa7.js +3 -0
  106. package/dist/chunks/eo-directory.13024aa7.js.map +1 -0
  107. package/dist/chunks/eo-frame-breadcrumb.d16d74c4.js +2 -0
  108. package/dist/chunks/eo-frame-breadcrumb.d16d74c4.js.map +1 -0
  109. package/dist/chunks/eo-launchpad-button-v2.a828b64a.js +2 -0
  110. package/dist/chunks/eo-launchpad-button-v2.a828b64a.js.map +1 -0
  111. package/dist/chunks/eo-launchpad-button.5ac991d1.js +2 -0
  112. package/dist/chunks/eo-launchpad-button.5ac991d1.js.map +1 -0
  113. package/dist/chunks/eo-launchpad-quick-access.f53f41e2.js +3 -0
  114. package/dist/chunks/eo-launchpad-quick-access.f53f41e2.js.map +1 -0
  115. package/dist/chunks/eo-launchpad-recent-visits.07947a5a.js +3 -0
  116. package/dist/chunks/eo-launchpad-recent-visits.07947a5a.js.map +1 -0
  117. package/dist/chunks/eo-nav-menu.066a516a.js +2 -0
  118. package/dist/chunks/eo-nav-menu.066a516a.js.map +1 -0
  119. package/dist/chunks/eo-search-launchpad.66c9bc11.js +2 -0
  120. package/dist/chunks/eo-search-launchpad.66c9bc11.js.map +1 -0
  121. package/dist/chunks/eo-sidebar-menu-group.90150859.js +3 -0
  122. package/dist/chunks/eo-sidebar-menu-group.90150859.js.map +1 -0
  123. package/dist/chunks/eo-sidebar-menu-item.0b7f25b4.js +2 -0
  124. package/dist/chunks/eo-sidebar-menu-item.0b7f25b4.js.map +1 -0
  125. package/dist/chunks/eo-sidebar-menu-submenu.90c1264d.js +3 -0
  126. package/dist/chunks/eo-sidebar-menu-submenu.90c1264d.js.map +1 -0
  127. package/dist/chunks/eo-sidebar-menu.dcdcd19f.js +2 -0
  128. package/dist/chunks/eo-sidebar-menu.dcdcd19f.js.map +1 -0
  129. package/dist/chunks/eo-sidebar-sub-menu.a4a052f1.js +3 -0
  130. package/dist/chunks/eo-sidebar-sub-menu.a4a052f1.js.map +1 -0
  131. package/dist/chunks/eo-sidebar.9a677b72.js +3 -0
  132. package/dist/chunks/eo-sidebar.9a677b72.js.map +1 -0
  133. package/dist/chunks/launchpad-config.1087a304.js +3 -0
  134. package/dist/chunks/launchpad-config.1087a304.js.map +1 -0
  135. package/dist/chunks/main.4ab75081.js +2 -0
  136. package/dist/chunks/main.4ab75081.js.map +1 -0
  137. package/dist/chunks/nav-logo.0d316341.js +2 -0
  138. package/dist/chunks/nav-logo.0d316341.js.map +1 -0
  139. package/dist/index.39970f8b.js +2 -0
  140. package/dist/index.39970f8b.js.map +1 -0
  141. package/package.json +4 -4
  142. package/dist/chunks/1045.298904b4.js +0 -2
  143. package/dist/chunks/1045.298904b4.js.map +0 -1
  144. package/dist/chunks/1122.a27c7c05.js +0 -2
  145. package/dist/chunks/1122.a27c7c05.js.map +0 -1
  146. package/dist/chunks/114.0062172c.js +0 -2
  147. package/dist/chunks/114.0062172c.js.map +0 -1
  148. package/dist/chunks/1369.91ecbde7.js +0 -2
  149. package/dist/chunks/1370.e5d33862.js +0 -2
  150. package/dist/chunks/1370.e5d33862.js.map +0 -1
  151. package/dist/chunks/1889.fed3f058.js +0 -2
  152. package/dist/chunks/1889.fed3f058.js.map +0 -1
  153. package/dist/chunks/1940.7350b616.js +0 -2
  154. package/dist/chunks/1940.7350b616.js.map +0 -1
  155. package/dist/chunks/2052.504bb76b.js +0 -2
  156. package/dist/chunks/2133.49936df8.js +0 -2
  157. package/dist/chunks/2133.49936df8.js.map +0 -1
  158. package/dist/chunks/2252.c03a3da6.js +0 -3
  159. package/dist/chunks/2252.c03a3da6.js.map +0 -1
  160. package/dist/chunks/2277.fbee5f61.js +0 -2
  161. package/dist/chunks/2277.fbee5f61.js.map +0 -1
  162. package/dist/chunks/2652.e28d50a3.js +0 -2
  163. package/dist/chunks/2652.e28d50a3.js.map +0 -1
  164. package/dist/chunks/3144.8f5901e6.js +0 -3
  165. package/dist/chunks/3171.7712b259.js +0 -2
  166. package/dist/chunks/3171.7712b259.js.map +0 -1
  167. package/dist/chunks/3278.4f438613.js +0 -2
  168. package/dist/chunks/3620.b675b333.js +0 -2
  169. package/dist/chunks/3620.b675b333.js.map +0 -1
  170. package/dist/chunks/3703.a583930d.js +0 -3
  171. package/dist/chunks/3750.bfdc35fc.js +0 -2
  172. package/dist/chunks/3750.bfdc35fc.js.map +0 -1
  173. package/dist/chunks/3751.80369f4a.js +0 -2
  174. package/dist/chunks/3751.80369f4a.js.map +0 -1
  175. package/dist/chunks/3933.c4783229.js +0 -2
  176. package/dist/chunks/3933.c4783229.js.map +0 -1
  177. package/dist/chunks/4041.e3680d33.js +0 -3
  178. package/dist/chunks/4658.2583c3dd.js +0 -2
  179. package/dist/chunks/4658.2583c3dd.js.map +0 -1
  180. package/dist/chunks/4741.0f313ec4.js +0 -2
  181. package/dist/chunks/5250.681bb342.js +0 -3
  182. package/dist/chunks/5384.68b75bc2.js +0 -2
  183. package/dist/chunks/5399.eb784d37.js +0 -2
  184. package/dist/chunks/5399.eb784d37.js.map +0 -1
  185. package/dist/chunks/5552.156be6c6.js +0 -2
  186. package/dist/chunks/5552.156be6c6.js.map +0 -1
  187. package/dist/chunks/5764.5d901b1f.js +0 -3
  188. package/dist/chunks/6256.a5ffd4a5.js +0 -3
  189. package/dist/chunks/6314.c52471ca.js +0 -2
  190. package/dist/chunks/6314.c52471ca.js.map +0 -1
  191. package/dist/chunks/6519.ff2a93d5.js +0 -2
  192. package/dist/chunks/6519.ff2a93d5.js.map +0 -1
  193. package/dist/chunks/6773.ff2d90db.js +0 -2
  194. package/dist/chunks/7115.50a7c8b7.js +0 -2
  195. package/dist/chunks/7115.50a7c8b7.js.map +0 -1
  196. package/dist/chunks/726.c766b8c8.js +0 -2
  197. package/dist/chunks/7721.1d0f13b9.js +0 -3
  198. package/dist/chunks/7733.2b507fec.js +0 -2
  199. package/dist/chunks/7733.2b507fec.js.map +0 -1
  200. package/dist/chunks/7780.84ea732e.js +0 -2
  201. package/dist/chunks/7780.84ea732e.js.map +0 -1
  202. package/dist/chunks/8097.adac3cfa.js +0 -2
  203. package/dist/chunks/8097.adac3cfa.js.map +0 -1
  204. package/dist/chunks/8171.26fb7065.js +0 -3
  205. package/dist/chunks/8171.26fb7065.js.map +0 -1
  206. package/dist/chunks/8518.e95d291b.js +0 -2
  207. package/dist/chunks/8518.e95d291b.js.map +0 -1
  208. package/dist/chunks/871.8ce4bf00.js +0 -2
  209. package/dist/chunks/871.8ce4bf00.js.map +0 -1
  210. package/dist/chunks/8989.2e696848.js +0 -2
  211. package/dist/chunks/8989.2e696848.js.map +0 -1
  212. package/dist/chunks/9043.3f83cb13.js +0 -3
  213. package/dist/chunks/9043.3f83cb13.js.map +0 -1
  214. package/dist/chunks/9155.702eb4eb.js +0 -3
  215. package/dist/chunks/9155.702eb4eb.js.map +0 -1
  216. package/dist/chunks/9496.d399d3eb.js +0 -2
  217. package/dist/chunks/9496.d399d3eb.js.map +0 -1
  218. package/dist/chunks/9515.dab7bf6b.js +0 -2
  219. package/dist/chunks/9559.17a50ae2.js +0 -2
  220. package/dist/chunks/9559.17a50ae2.js.map +0 -1
  221. package/dist/chunks/9844.34779f06.js +0 -2
  222. package/dist/chunks/easyops-navbar-alerts.402b684a.js +0 -2
  223. package/dist/chunks/easyops-navbar-alerts.402b684a.js.map +0 -1
  224. package/dist/chunks/eo-app-bar-wrapper.80f95013.js +0 -3
  225. package/dist/chunks/eo-app-bar-wrapper.80f95013.js.map +0 -1
  226. package/dist/chunks/eo-directory-tree-internal-node.1d72f9bd.js +0 -2
  227. package/dist/chunks/eo-directory-tree-internal-node.1d72f9bd.js.map +0 -1
  228. package/dist/chunks/eo-directory-tree-leaf.3bf3d08d.js +0 -2
  229. package/dist/chunks/eo-directory-tree-leaf.3bf3d08d.js.map +0 -1
  230. package/dist/chunks/eo-directory-tree.265041f6.js +0 -2
  231. package/dist/chunks/eo-directory-tree.265041f6.js.map +0 -1
  232. package/dist/chunks/eo-directory.dfd44d38.js +0 -3
  233. package/dist/chunks/eo-directory.dfd44d38.js.map +0 -1
  234. package/dist/chunks/eo-frame-breadcrumb.1e2b0bbc.js +0 -2
  235. package/dist/chunks/eo-frame-breadcrumb.1e2b0bbc.js.map +0 -1
  236. package/dist/chunks/eo-launchpad-button-v2.f29e18f8.js +0 -2
  237. package/dist/chunks/eo-launchpad-button-v2.f29e18f8.js.map +0 -1
  238. package/dist/chunks/eo-launchpad-button.3f44da25.js +0 -2
  239. package/dist/chunks/eo-launchpad-button.3f44da25.js.map +0 -1
  240. package/dist/chunks/eo-launchpad-quick-access.a624d8c6.js +0 -3
  241. package/dist/chunks/eo-launchpad-quick-access.a624d8c6.js.map +0 -1
  242. package/dist/chunks/eo-launchpad-recent-visits.b0f8cfa1.js +0 -3
  243. package/dist/chunks/eo-launchpad-recent-visits.b0f8cfa1.js.map +0 -1
  244. package/dist/chunks/eo-nav-menu.3e256f37.js +0 -2
  245. package/dist/chunks/eo-nav-menu.3e256f37.js.map +0 -1
  246. package/dist/chunks/eo-search-launchpad.fad47849.js +0 -2
  247. package/dist/chunks/eo-search-launchpad.fad47849.js.map +0 -1
  248. package/dist/chunks/eo-sidebar-menu-group.7bb8dc7f.js +0 -3
  249. package/dist/chunks/eo-sidebar-menu-group.7bb8dc7f.js.map +0 -1
  250. package/dist/chunks/eo-sidebar-menu-item.89ad2379.js +0 -2
  251. package/dist/chunks/eo-sidebar-menu-item.89ad2379.js.map +0 -1
  252. package/dist/chunks/eo-sidebar-menu-submenu.97ff4a5e.js +0 -3
  253. package/dist/chunks/eo-sidebar-menu-submenu.97ff4a5e.js.map +0 -1
  254. package/dist/chunks/eo-sidebar-menu.820c878d.js +0 -2
  255. package/dist/chunks/eo-sidebar-menu.820c878d.js.map +0 -1
  256. package/dist/chunks/eo-sidebar-sub-menu.57b039ce.js +0 -3
  257. package/dist/chunks/eo-sidebar-sub-menu.57b039ce.js.map +0 -1
  258. package/dist/chunks/eo-sidebar.5151a54e.js +0 -3
  259. package/dist/chunks/eo-sidebar.5151a54e.js.map +0 -1
  260. package/dist/chunks/launchpad-config.6d5f920f.js +0 -3
  261. package/dist/chunks/launchpad-config.6d5f920f.js.map +0 -1
  262. package/dist/chunks/main.1b686df4.js +0 -2
  263. package/dist/chunks/main.1b686df4.js.map +0 -1
  264. package/dist/chunks/nav-logo.6d849472.js +0 -2
  265. package/dist/chunks/nav-logo.6d849472.js.map +0 -1
  266. package/dist/index.7b8a1c44.js +0 -2
  267. package/dist/index.7b8a1c44.js.map +0 -1
  268. /package/dist/chunks/{2252.c03a3da6.js.LICENSE.txt → 2252.84773cac.js.LICENSE.txt} +0 -0
  269. /package/dist/chunks/{3144.8f5901e6.js.LICENSE.txt → 3144.7f10ba4c.js.LICENSE.txt} +0 -0
  270. /package/dist/chunks/{3703.a583930d.js.LICENSE.txt → 3703.029f16d4.js.LICENSE.txt} +0 -0
  271. /package/dist/chunks/{4041.e3680d33.js.LICENSE.txt → 4041.c7de4a6d.js.LICENSE.txt} +0 -0
  272. /package/dist/chunks/{5250.681bb342.js.LICENSE.txt → 5250.12cae457.js.LICENSE.txt} +0 -0
  273. /package/dist/chunks/{5764.5d901b1f.js.LICENSE.txt → 5764.962abddb.js.LICENSE.txt} +0 -0
  274. /package/dist/chunks/{6256.a5ffd4a5.js.LICENSE.txt → 6256.5623ff67.js.LICENSE.txt} +0 -0
  275. /package/dist/chunks/{7721.1d0f13b9.js.LICENSE.txt → 7721.a4d4ce25.js.LICENSE.txt} +0 -0
  276. /package/dist/chunks/{8171.26fb7065.js.LICENSE.txt → 8171.1db60822.js.LICENSE.txt} +0 -0
  277. /package/dist/chunks/{9043.3f83cb13.js.LICENSE.txt → 9043.6aa5e55a.js.LICENSE.txt} +0 -0
  278. /package/dist/chunks/{9155.702eb4eb.js.LICENSE.txt → 9155.d295054c.js.LICENSE.txt} +0 -0
  279. /package/dist/chunks/{eo-app-bar-wrapper.80f95013.js.LICENSE.txt → eo-app-bar-wrapper.85096d2c.js.LICENSE.txt} +0 -0
  280. /package/dist/chunks/{eo-directory.dfd44d38.js.LICENSE.txt → eo-directory.13024aa7.js.LICENSE.txt} +0 -0
  281. /package/dist/chunks/{eo-launchpad-quick-access.a624d8c6.js.LICENSE.txt → eo-launchpad-quick-access.f53f41e2.js.LICENSE.txt} +0 -0
  282. /package/dist/chunks/{eo-launchpad-recent-visits.b0f8cfa1.js.LICENSE.txt → eo-launchpad-recent-visits.07947a5a.js.LICENSE.txt} +0 -0
  283. /package/dist/chunks/{eo-sidebar-menu-group.7bb8dc7f.js.LICENSE.txt → eo-sidebar-menu-group.90150859.js.LICENSE.txt} +0 -0
  284. /package/dist/chunks/{eo-sidebar-menu-submenu.97ff4a5e.js.LICENSE.txt → eo-sidebar-menu-submenu.90c1264d.js.LICENSE.txt} +0 -0
  285. /package/dist/chunks/{eo-sidebar-sub-menu.57b039ce.js.LICENSE.txt → eo-sidebar-sub-menu.a4a052f1.js.LICENSE.txt} +0 -0
  286. /package/dist/chunks/{eo-sidebar.5151a54e.js.LICENSE.txt → eo-sidebar.9a677b72.js.LICENSE.txt} +0 -0
  287. /package/dist/chunks/{launchpad-config.6d5f920f.js.LICENSE.txt → launchpad-config.1087a304.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_nav=globalThis.webpackChunk_next_bricks_nav||[]).push([[7733,114],{5873:(t,e,n)=>{var r=n(9435);e.H=r.createRoot,r.hydrateRoot},2559:(t,e,n)=>{function r(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}n.d(e,{A:()=>r})},2016:(t,e,n)=>{function r(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(e,{A:()=>r})},829:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(2559);function s(t,e){return t.get((0,r.A)(t,e))}},918:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(2016);function s(t,e,n){(0,r.A)(t,e),e.set(t,n)}},6121:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(2559);function s(t,e,n){return t.set((0,r.A)(t,e),n),n}},4635:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(2016);function s(t,e){(0,r.A)(t,e),e.add(t)}},9575:(t,e,n)=>{function r(){return r=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},r.apply(this,arguments)}n.d(e,{A:()=>r})},114:(t,e,n)=>{n.r(e),n.d(e,{ReactNextElement:()=>p,wrapBrick:()=>y,wrapLocalBrick:()=>v});var r=n(4635),s=n(918),o=n(2559),i=n(6121),a=n(829),c=n(8769),l=n(5873),h=n(9435),d=n(3412),u=new WeakMap,f=new WeakSet;class p extends d.NextElement{constructor(){super(...arguments),(0,r.A)(this,f),(0,s.A)(this,u,void 0)}connectedCallback(){super._markConnectedCallbackCalled(),(0,o.A)(f,this,A).call(this),this._render()}disconnectedCallback(){var t;null===(t=(0,a.A)(u,this))||void 0===t||t.render(null)}_render(){const t=()=>{if(!this.isConnected||!(0,a.A)(u,this))return;const t=this.constructor;var e;t.shadowOptions?(0,a.A)(u,this).render((0,d.supportsAdoptingStyleSheets)()||null===(e=t.styleTexts)||void 0===e||!e.length?this.render():c.createElement(c.Fragment,null,c.createElement("style",null,t.styleTexts.join("\n")),this.render())):(0,a.A)(u,this).render(this.render())};window.BRICK_NEXT_VERSIONS&&!window.DISABLE_REACT_FLUSH_SYNC?(0,h.flushSync)(t):t()}}function A(){if((0,a.A)(u,this))return;const t=this.constructor;if(t.shadowOptions){const n=this.attachShadow(t.shadowOptions);var e;if((0,d.supportsAdoptingStyleSheets)()&&null!==(e=t.styleTexts)&&void 0!==e&&e.length){const e=new CSSStyleSheet;e.replaceSync(t.styleTexts.join("")),n.adoptedStyleSheets=[e]}(0,i.A)(u,this,(0,l.H)(n))}else(0,i.A)(u,this,(0,l.H)(this))}var w=n(9575);function v(t,e){return(0,c.forwardRef)((function(n,r){let{children:s,...o}=n;const i="string"==typeof t?t:t.__tagName,a=S(o,e);return c.createElement(i,(0,w.A)({},a,{ref:r}),s)}))}function y(t,e){return(0,c.forwardRef)((function(n,r){let{children:s,...o}=n;const i=S(o,e);return c.createElement(t,(0,w.A)({},i,{ref:r}),s)}))}function S(t,e){let n;if(e){n={};for(const[r,s]of Object.entries(t))Object.prototype.hasOwnProperty.call(e,r)?n[`on${e[r]}`]=s:n[r]=s}else n=t;return n}}}]);
2
+ //# sourceMappingURL=7733.32af8f74.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/7733.32af8f74.js","mappings":"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","sources":["webpack:///../../node_modules/react-dom/client.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/@next-core/react-element/dist/esm/ReactNextElement.js","webpack:///../../node_modules/@next-core/react-element/dist/esm/wrapBrick.js"],"sourcesContent":["'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\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 assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nvar _ReactNextElement;\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { flushSync } from \"react-dom\";\nimport { NextElement, supportsAdoptingStyleSheets } from \"@next-core/element\";\nvar _root = /*#__PURE__*/new WeakMap();\nvar _ReactNextElement_brand = /*#__PURE__*/new WeakSet();\nexport class ReactNextElement extends NextElement {\n constructor() {\n super(...arguments);\n _classPrivateMethodInitSpec(this, _ReactNextElement_brand);\n _classPrivateFieldInitSpec(this, _root, void 0);\n }\n connectedCallback() {\n super._markConnectedCallbackCalled();\n _assertClassBrand(_ReactNextElement_brand, this, _createRoot).call(this);\n this._render();\n }\n disconnectedCallback() {\n var _classPrivateFieldGet2;\n (_classPrivateFieldGet2 = _classPrivateFieldGet(_root, this)) === null || _classPrivateFieldGet2 === void 0 || _classPrivateFieldGet2.render(null);\n }\n _render() {\n const render = () => {\n if (!this.isConnected || !_classPrivateFieldGet(_root, this)) {\n return;\n }\n const ctor = this.constructor;\n if (ctor.shadowOptions) {\n var _ctor$styleTexts;\n _classPrivateFieldGet(_root, this).render(supportsAdoptingStyleSheets() || !((_ctor$styleTexts = ctor.styleTexts) !== null && _ctor$styleTexts !== void 0 && _ctor$styleTexts.length) ? this.render() : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"style\", null, ctor.styleTexts.join(\"\\n\")), this.render()));\n } else {\n _classPrivateFieldGet(_root, this).render(this.render());\n }\n };\n\n // In brick next container, enable flush sync for the initial mount of\n // each page, in order to avoid menu flickering.\n // Otherwise, avoid using flush sync as possible.\n if (window.BRICK_NEXT_VERSIONS && !window.DISABLE_REACT_FLUSH_SYNC) {\n flushSync(render);\n } else {\n render();\n }\n }\n}\n_ReactNextElement = ReactNextElement;\nfunction _createRoot() {\n if (_classPrivateFieldGet(_root, this)) {\n return;\n }\n const ctor = this.constructor;\n if (ctor.shadowOptions) {\n const shadowRoot = this.attachShadow(ctor.shadowOptions);\n if (supportsAdoptingStyleSheets()) {\n var _ctor$styleTexts2;\n if ((_ctor$styleTexts2 = ctor.styleTexts) !== null && _ctor$styleTexts2 !== void 0 && _ctor$styleTexts2.length) {\n const styleSheet = new CSSStyleSheet();\n styleSheet.replaceSync(ctor.styleTexts.join(\"\"));\n shadowRoot.adoptedStyleSheets = [styleSheet];\n }\n }\n _classPrivateFieldSet(_root, this, createRoot(shadowRoot));\n } else {\n var _ctor$styleTexts3;\n if (process.env.NODE_ENV !== \"production\" && (_ctor$styleTexts3 = ctor.styleTexts) !== null && _ctor$styleTexts3 !== void 0 && _ctor$styleTexts3.length) {\n throw new Error(\"Use `styleTexts` with `shadowOptions: false` is not supported\");\n }\n _classPrivateFieldSet(_root, this, createRoot(this));\n }\n}\n//# sourceMappingURL=ReactNextElement.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from \"react\";\nexport function wrapLocalBrick(brick, eventsMapping) {\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\") {\n if (typeof brick === \"string\" && !customElements.get(brick)) {\n throw new Error(`Brick ${brick} is not defined while using \\`wrapLocalBrick\\`.`);\n }\n }\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref, ref) {\n let {\n children,\n ...props\n } = _ref;\n const WebComponent = typeof brick === \"string\" ? brick : brick.__tagName;\n const properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(WebComponent, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nexport function wrapBrick(BrickName, eventsMapping) {\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref2, ref) {\n let {\n children,\n ...props\n } = _ref2;\n const properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(BrickName, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nfunction getMappedProperties(props, eventsMapping) {\n let properties;\n if (eventsMapping) {\n properties = {};\n for (const [propName, propValue] of Object.entries(props)) {\n if (Object.prototype.hasOwnProperty.call(eventsMapping, propName)) {\n properties[`on${eventsMapping[propName]}`] = propValue;\n } else {\n properties[propName] = propValue;\n }\n }\n } else {\n properties = props;\n }\n return properties;\n}\n//# sourceMappingURL=wrapBrick.js.map"],"names":["m","exports","createRoot","hydrateRoot","_assertClassBrand","e","t","n","has","arguments","length","TypeError","_checkPrivateRedeclaration","obj","privateCollection","_classPrivateFieldGet2","s","a","get","_classPrivateFieldInitSpec","privateMap","value","set","_classPrivateFieldSet2","r","_classPrivateMethodInitSpec","privateSet","add","_extends","Object","assign","bind","target","i","source","key","prototype","hasOwnProperty","call","apply","this","_root","WeakMap","_ReactNextElement_brand","WeakSet","ReactNextElement","NextElement","constructor","super","connectedCallback","_markConnectedCallbackCalled","_createRoot","_render","disconnectedCallback","render","isConnected","ctor","_ctor$styleTexts","shadowOptions","supportsAdoptingStyleSheets","styleTexts","join","window","BRICK_NEXT_VERSIONS","DISABLE_REACT_FLUSH_SYNC","flushSync","shadowRoot","attachShadow","_ctor$styleTexts2","styleSheet","CSSStyleSheet","replaceSync","adoptedStyleSheets","wrapLocalBrick","brick","eventsMapping","forwardRef","_ref","ref","children","props","WebComponent","__tagName","properties","getMappedProperties","wrapBrick","BrickName","_ref2","propName","propValue","entries"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_nav=globalThis.webpackChunk_next_bricks_nav||[]).push([[8097],{8097:(i,n,a)=>{a.r(n),a.d(n,{initializeReactI18n:()=>l,useTranslation:()=>e.useTranslation});var t=a(1586),e=a(7825);let s=!1;function l(i,n){(0,t.initializeI18n)(i,n),s||(s=!0,e.initReactI18next.init(t.i18n))}}}]);
2
+ //# sourceMappingURL=8097.77f4d63c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/8097.77f4d63c.js","mappings":"sOAEA,IAAIA,GAAc,EACX,SAASC,EAAoBC,EAAIC,IACtC,IAAAC,gBAAeF,EAAIC,GACdH,IACHA,GAAc,EACd,EAAAK,iBAAiBC,KAAK,EAAAC,MAE1B,C","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/react.js"],"sourcesContent":["import { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { initReactI18next, useTranslation } from \"react-i18next\";\nlet initialized = false;\nexport function initializeReactI18n(NS, locales) {\n initializeI18n(NS, locales);\n if (!initialized) {\n initialized = true;\n initReactI18next.init(i18n);\n }\n}\nexport { useTranslation };\n//# sourceMappingURL=react.js.map"],"names":["initialized","initializeReactI18n","NS","locales","initializeI18n","initReactI18next","init","i18n"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 8171.1db60822.js.LICENSE.txt */
2
+ "use strict";(globalThis.webpackChunk_next_bricks_nav=globalThis.webpackChunk_next_bricks_nav||[]).push([[8171],{4485:(e,t,n)=>{n.d(t,{r:()=>C});var a=n(9575),r=n(8769),i=n.n(r),l=n(3373),o=n.n(l),c=n(9393),m=n(2133),s=n(8839),u=n(8356),p=n(1030);function d(e){var t;let{item:n,active:r,onClick:l}=e;return i().createElement("li",{className:"platform-category-sidebar-menu-item"},i().createElement(c.EM,{type:"plain",className:o()({active:r}),onClick:()=>null==l?void 0:l(n)},i().createElement(c.Bj,(0,a.A)({className:"platform-category-sidebar-menu-icon",lib:"easyops",category:"second-menu",icon:"serve-second-menu"},null!==(t=n.icon)&&void 0!==t&&t.lib&&n.icon.icon?(0,p.pick)(n.icon,["lib","icon","theme","category","prefix"]):null)),i().createElement("span",{className:"platform-category-sidebar-menu-item-label"},n.name)))}function v(e){var t;let{item:n}=e;return i().createElement("li",null,i().createElement(c.EM,(0,a.A)({type:"plain"},"app"===n.type?{url:n.url}:{href:n.url,target:"_blank"}),i().createElement("div",{className:"platform-item"},i().createElement("div",{className:"platform-item-title"},i().createElement(c.Bj,(0,a.A)({className:"platform-item-icon",lib:"easyops",category:"third-menu",icon:"deploy-orchestration-tasks-third-menu"},null!==(t=n.menuIcon)&&void 0!==t&&t.lib&&n.menuIcon.icon?(0,p.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),i().createElement("div",{className:"platform-item-name"},n.name)),i().createElement("div",{className:"platform-item-description"},n.description))))}var f=n(369),h=n(7502),g=n(2474),x=n(9140),b=n(9548);function y(e,t){var n=Object.create(null);return e&&r.Children.map(e,(function(e){return e})).forEach((function(e){n[e.key]=function(e){return t&&(0,r.isValidElement)(e)?t(e):e}(e)})),n}function E(e,t,n){return null!=n[t]?n[t]:e.props[t]}function k(e,t,n){var a=y(e.children),i=function(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var a,r=Object.create(null),i=[];for(var l in e)l in t?i.length&&(r[l]=i,i=[]):i.push(l);var o={};for(var c in t){if(r[c])for(a=0;a<r[c].length;a++){var m=r[c][a];o[r[c][a]]=n(m)}o[c]=n(c)}for(a=0;a<i.length;a++)o[i[a]]=n(i[a]);return o}(t,a);return Object.keys(i).forEach((function(l){var o=i[l];if((0,r.isValidElement)(o)){var c=l in t,m=l in a,s=t[l],u=(0,r.isValidElement)(s)&&!s.props.in;!m||c&&!u?m||!c||u?m&&c&&(0,r.isValidElement)(s)&&(i[l]=(0,r.cloneElement)(o,{onExited:n.bind(null,o),in:s.props.in,exit:E(o,"exit",e),enter:E(o,"enter",e)})):i[l]=(0,r.cloneElement)(o,{in:!1}):i[l]=(0,r.cloneElement)(o,{onExited:n.bind(null,o),in:!0,exit:E(o,"exit",e),enter:E(o,"enter",e)})}})),i}var N=Object.values||function(e){return Object.keys(e).map((function(t){return e[t]}))},w=function(e){function t(t,n){var a,r=(a=e.call(this,t,n)||this).handleExited.bind((0,g.A)(a));return a.state={contextValue:{isMounting:!0},handleExited:r,firstRender:!0},a}(0,x.A)(t,e);var n=t.prototype;return n.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var n,a,i=t.children,l=t.handleExited;return{children:t.firstRender?(n=e,a=l,y(n.children,(function(e){return(0,r.cloneElement)(e,{onExited:a.bind(null,e),in:!0,appear:E(e,"appear",n),enter:E(e,"enter",n),exit:E(e,"exit",n)})}))):k(e,i,l),firstRender:!1}},n.handleExited=function(e,t){var n=y(this.props.children);e.key in n||(e.props.onExited&&e.props.onExited(t),this.mounted&&this.setState((function(t){var n=(0,a.A)({},t.children);return delete n[e.key],{children:n}})))},n.render=function(){var e=this.props,t=e.component,n=e.childFactory,a=(0,h.A)(e,["component","childFactory"]),r=this.state.contextValue,l=N(this.state.children).map(n);return delete a.appear,delete a.enter,delete a.exit,null===t?i().createElement(b.A.Provider,{value:r},l):i().createElement(b.A.Provider,{value:r},i().createElement(t,a,l))},t}(i().Component);w.propTypes={},w.defaultProps={component:"div",childFactory:function(e){return e}};const A=w;var j=n(2865);function C(e){let{active:t}=e;const n=(0,r.useRef)(null),[l,p]=(0,r.useState)([]),h=(0,r.useCallback)((()=>{var e;null===(e=n.current)||void 0===e||e.focus()}),[]),[g,x]=(0,r.useState)("#all"),b=i().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-platform-category"]}),[]),y=i().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-scenario-center"]}),[]),E=i().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-solution-center"]}),[]),{loading:k,q:N,setQ:w,menuGroups:C,favorites:M,loadingFavorites:V,recentVisits:F,pushRecentVisit:z,toggleStar:B,isStarred:_,platformCategories:R}=(0,m.sZ)(t),P=!!N,I=(0,r.useCallback)((e=>{w(e.target.value)}),[w]),q=(0,r.useCallback)((()=>{w("")}),[w]);(0,r.useEffect)((()=>{var e;t&&(null===(e=n.current)||void 0===e||e.focus())}),[t]);const D=(0,r.useCallback)((e=>{x(e.id)}),[]),T=(0,r.useMemo)((()=>R.find((e=>e.id===g))),[g,R]);return(0,r.useEffect)((()=>{M.length>l.length?p(M):setTimeout((()=>{p(M)}),300)}),[M,l.length]),i().createElement("div",{className:o()("launchpad",{active:t})},i().createElement(u.z.Provider,{value:{searching:P,loadingFavorites:V,pushRecentVisit:z,toggleStar:B,isStarred:_}},i().createElement("div",{className:"sidebar"},i().createElement("div",{className:"union"},i().createElement("div",{className:"quick-nav"},i().createElement("div",{className:"quick-nav-label"},"快捷访问"),i().createElement(A,null,i().createElement("ul",{className:"sidebar-menu quick-nav-menu"},l.map(((e,t)=>i().createElement(j.A,{key:t,timeout:300,in:!!M.find((t=>t.id===e.id)),classNames:{enter:"fadeEnter",enterActive:"fadeEnterActive",exit:"fadeExit",exitActive:"fadeExitActive",exitDone:"fadeExitDone"}},i().createElement(s.F,{key:t,item:e}))))))),b&&i().createElement("div",{className:"platform-nav"},i().createElement("div",{className:"platform-nav-label"},"平台底座"),i().createElement("ul",{className:"sidebar-menu platform-nav-menu"},R.map(((e,t)=>i().createElement(d,{key:t,onClick:D,item:e,active:g===e.id})))))),y&&i().createElement("div",{className:"jump-nav"},i().createElement(c.EM,{type:"plain",url:"/portal/scenario"},i().createElement("div",{className:"jump-nav-label"},"场景中心"),i().createElement(c.Bj,{lib:"antd",icon:"right",theme:"outlined"}))),E&&i().createElement("div",{className:"jump-nav"},i().createElement(c.EM,{type:"plain",url:"/portal/solution"},i().createElement("div",{className:"jump-nav-label"},"解决方案"),i().createElement(c.Bj,{lib:"antd",icon:"right",theme:"outlined"}))),i().createElement("div",{className:"jump-nav"},i().createElement(c.EM,{type:"plain",url:"/developers"},i().createElement("div",{className:"jump-nav-label"},"开放平台"),i().createElement(c.Bj,{lib:"antd",icon:"right",theme:"outlined"})))),i().createElement("div",{className:o()("content",{loading:k})},i().createElement(S,{loading:k}),"#all"!==g&&i().createElement("div",{className:"platform-category-name"},null==T?void 0:T.name),i().createElement("div",{className:"search-box",onClick:h},i().createElement(c.Bj,{lib:"fa",icon:"magnifying-glass",className:"search-icon"}),i().createElement("input",{ref:n,placeholder:"通过关键字搜索",value:N,onChange:I,className:"search-input"}),i().createElement(c.Bj,{lib:"antd",theme:"filled",icon:"close-circle",className:o()("search-clear",{searching:P}),onClick:q})),"#all"===g&&i().createElement("div",{className:o()({empty:0===F.length})},i().createElement("div",{className:"recent-visits-label"},"最近访问"),i().createElement("ul",{className:"recent-visits"},F.map(((e,t)=>i().createElement("li",{key:t},i().createElement(c.EM,(0,a.A)({onClick:()=>z(e)},"app"===e.type?{url:e.url}:{href:e.url,target:"_blank"}),i().createElement("span",null,e.name))))))),"#all"===g&&i().createElement("ul",{className:"menu-groups"},C.map((e=>i().createElement(s.r,{key:e.name,name:e.name,items:e.items})))),"#all"!==g&&i().createElement("ul",{className:o()("platform-items",{empty:0===(null==T?void 0:T.items.length)})},null==T?void 0:T.items.map(((e,t)=>i().createElement(v,{item:e,key:t})))))))}function S(e){let{loading:t}=e;return t&&i().createElement("div",{className:"spinner"},i().createElement(c.Bj,{lib:"fa",icon:"spinner",spinning:!0}))}},8356:(e,t,n)=>{n.d(t,{P:()=>l,z:()=>i});var a=n(8769),r=n.n(a);const i=r().createContext({}),l=()=>r().useContext(i)},8839:(e,t,n)=>{n.d(t,{F:()=>d,r:()=>u});var a=n(9575),r=n(8769),i=n.n(r),l=n(1030),o=n(3373),c=n.n(o),m=n(9393),s=n(8356);function u(e){let{name:t,items:n}=e;return i().createElement("li",{className:"menu-group"},i().createElement("div",{className:"menu-group-label"},t),i().createElement("ul",{className:"menu"},n.map((e=>"dir"===e.type?i().createElement(v,{key:`${e.type}-${e.id}`,name:e.name,items:e.items}):i().createElement(p,{key:`${e.type}-${e.id}`,item:e})))))}function p(e){var t;let{item:n}=e;const{loadingFavorites:o,readonly:u,pushRecentVisit:p,toggleStar:d,isStarred:v}=(0,s.P)(),f=(0,r.useMemo)((()=>v(n)),[v,n]),h=(0,r.useCallback)((()=>{d(n)}),[n,d]),g=(0,r.useCallback)((()=>{p(n)}),[n,p]);return i().createElement("li",{className:c()("menu-item",{starred:f,"can-star":!o})},i().createElement(m.EM,(0,a.A)({onClick:g},"app"===n.type?{url:n.url}:{href:n.url,target:"_blank"}),i().createElement(m.Bj,(0,a.A)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(t=n.menuIcon)&&void 0!==t&&t.lib&&n.menuIcon.icon?(0,l.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),i().createElement("span",{className:"menu-item-label"},n.name)),!u&&i().createElement(m.Bj,{lib:"fa",prefix:f?"fas":"far",icon:"star",className:"menu-item-star",title:f?"取消收藏":"收藏",onClick:h}))}function d(e){var t;let{item:n}=e;const{readonly:o,pushRecentVisit:c,toggleStar:u}=(0,s.P)(),p=(0,r.useCallback)((()=>{"link"!==n.type&&c(n)}),[n,c]),d=(0,r.useCallback)((()=>{u(n)}),[n,u]);return i().createElement("li",{className:"sidebar-menu-item"},i().createElement(m.EM,(0,a.A)({onClick:p},"app"===n.type?{url:n.url}:{href:n.url,target:"_blank"}),i().createElement(m.Bj,(0,a.A)({className:"sidebar-menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(t=n.menuIcon)&&void 0!==t&&t.lib&&n.menuIcon.icon?(0,l.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),i().createElement("span",{className:"menu-item-label"},n.name)),!o&&i().createElement(m.Bj,{lib:"fa",icon:"xmark",className:"menu-item-remove",onClick:d}))}function v(e){let{name:t,items:n}=e;const{searching:a}=(0,s.P)(),[l,o]=(0,r.useState)(!1),[u,d]=(0,r.useState)(!1),v=(0,r.useCallback)((()=>{a?d((e=>!e)):o((e=>!e))}),[a]);(0,r.useEffect)((()=>{d(!0)}),[a]);const f=a?u:l;return i().createElement("li",{className:"menu-item folder"},i().createElement(m.EM,{onClick:v},i().createElement(m.Bj,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),i().createElement("span",{className:"menu-item-label"},t),i().createElement(m.Bj,{lib:"antd",icon:f?"up":"down",className:"menu-item-toggle"})),i().createElement("ul",{className:c()("sub-menu",{expanded:f})},n.map((e=>i().createElement(p,{key:`${e.type}-${e.id}`,item:e})))))}},1724:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(6758),r=n.n(a),i=n(935),l=n.n(i)()(r());l.push([e.id,':root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme="dark"],\nhtml[data-theme="dark-v2"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}',""]);const o=l},8776:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(6758),r=n.n(a),i=n(935),l=n.n(i)()(r());l.push([e.id,".fadeEnter{opacity:0;transform:scale(0.95)}.fadeEnterActive{opacity:1;transform:translateX(0);transition:opacity 100ms ease-out,transform 100ms ease-out}.fadeExit{transform:translate(-30px,0)}.fadeExitActive{transform:translate(-100%,0);transition:transform 300ms ease-out}.fadeExitDone{display:none}",""]);const o=l.toString()},3693:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(6758),r=n.n(a),i=n(935),l=n.n(i)()(r());l.push([e.id,".platform-category-name,\n.platform-category-sidebar-menu-item-label,\n.platform-item-name,\n.platform-item-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-category-sidebar-menu-item{display:flex;gap:8px;align-items:center;padding:0px 12px 0px 16px}.platform-category-sidebar-menu-item > eo-link{display:block;min-width:0px;color:var(--color-header-text);cursor:pointer}.platform-category-sidebar-menu-item > eo-link:hover,\n.platform-category-sidebar-menu-item\n > eo-link:hover\n .platform-category-sidebar-menu-icon{color:var(--color-brand-hover)}.platform-category-sidebar-menu-item > eo-link.active,\n.platform-category-sidebar-menu-item\n > eo-link.active\n .platform-category-sidebar-menu-icon{color:var(--color-brand-active)}.platform-category-sidebar-menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px}.platform-category-sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.platform-category-name{font-size:18px;font-weight:500;color:var(--text-color-secondary);flex-shrink:0}.platform-items{display:grid;grid-template-columns:repeat(2,1fr);gap:0 54px}.platform-items > li{min-width:0}.platform-items > li > eo-link{width:100%;cursor:pointer}.platform-item{padding:12px 0;display:flex;flex-direction:column}.platform-item:hover .platform-item-icon,\n.platform-item:hover .platform-item-name{color:var(--color-brand-hover)}.platform-item-title{display:flex;align-items:center;margin-bottom:4px}.platform-item-icon{margin-right:8px;font-size:14px;color:var(--text-color-secondary);flex-shrink:0}.platform-item-name{font-weight:500;color:var(--text-color-title);line-height:18px}.platform-item-description{margin-left:22px;color:var(--text-color-secondary);line-height:18px}",""]);const o=l.toString()},5924:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(6758),r=n.n(a),i=n(935),l=n.n(i)()(r());l.push([e.id,":host{display:inline-block;width:32px;height:32px;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 36px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);height:var(--eo-launchpad-v2-max-height);background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-size:205px 205px;background-repeat:no-repeat;background-position:left 52px bottom 27px}.sidebar > *:not(:last-child){border-bottom:1px solid var(--stroke-color-default)}.quick-nav-label,\n.platform-nav-label,\n.jump-nav-label,\n.menu-group-label,\n.menu-item-label,\n.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu,\n.menu-groups,\n.menu,\n.sub-menu,\n.recent-visits,\n.platform-items{list-style:none;margin:0;padding:0}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.sidebar-menu-item > eo-link,\n.menu-item > eo-link,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.union{flex:1;display:flex;flex-direction:column;overflow-y:auto}.quick-nav,\n.platform-nav{display:flex;flex-direction:column;padding:20px 0 24px}.platform-nav{padding:0 0 24px}.quick-nav-label,\n.platform-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.quick-nav-menu,\n.platform-nav-menu{flex:1}.jump-nav > eo-link{display:block;cursor:pointer}.jump-nav > eo-link::part(link){padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.jump-nav-label{flex:1;color:var(--color-header-text);font-weight:500}.jump-nav > eo-icon{font-size:14px;color:var(--text-color-default)}.content{flex:1;padding:20px 24px 24px;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;margin-top:-10px;cursor:text}.search-icon{color:var(--color-auxiliary-text)}.search-input{padding:0;margin:0;border:none;outline:none;color:inherit;background-color:transparent;font-size:14px;line-height:22px;flex:1;min-width:0}.search-input::placeholder{color:var(--color-disabled-text);opacity:1}.search-clear{display:none;color:var(--color-secondary-text);cursor:pointer}.search-clear.searching{display:inline-block}.search-clear:hover{color:var(--color-auxiliary-text)}.menu-groups,\n.recent-visits{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.sidebar-menu-item,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-launchpad-v2-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-remove,\n.menu-item-star{cursor:pointer}.menu-item-remove,\n.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.recent-visits-label{margin-bottom:12px;font-size:var(--card-title-font-size);color:var(--color-header-text);font-weight:500}.recent-visits{display:grid;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.content,\n .search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}.content > :not(:last-child){margin-bottom:24px}}",""]);const o=l.toString()},9262:(e,t,n)=>{var a=n(2591),r=n.n(a),i=n(1740),l=n.n(i),o=n(8128),c=n.n(o),m=n(855),s=n.n(m),u=n(3051),p=n.n(u),d=n(3656),v=n.n(d),f=n(1724),h={};h.styleTagTransform=v(),h.setAttributes=s(),h.insert=c().bind(null,"head"),h.domAPI=l(),h.insertStyleElement=p(),r()(f.A,h),f.A&&f.A.locals&&f.A.locals},2474:(e,t,n)=>{function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.d(t,{A:()=>a})},8406:(e,t,n)=>{n.d(t,{y:()=>i});var a=n(6330),r=n(3496),i=function(){var e=(0,a.A)((function*(e,t,n){return(yield r.http.post("api/gateway/cmdb.instance.PostSearchV3/v3/object/".concat(e,"/instance/_search"),t,n)).data}));return function(t,n,a){return e.apply(this,arguments)}}()},2824:(e,t,n)=>{n.d(t,{k:()=>i});var a=n(6330),r=n(6730),i=function(){var e=(0,a.A)((function*(e,t){return(yield r.http.post("api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}()},2887:(e,t,n)=>{n.d(t,{r:()=>r});var a=n(6730),r=(e,t)=>a.http.delete("api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/".concat(e),t)},7296:(e,t,n)=>{n.d(t,{K:()=>l});var a=n(9740),r=n(6330),i=n(6730),l=function(){var e=(0,r.A)((function*(e,t){return(yield i.http.get("api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection",(0,a.A)((0,a.A)({},t),{},{params:e}))).data}));return function(t,n){return e.apply(this,arguments)}}()}}]);
3
+ //# sourceMappingURL=8171.1db60822.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/8171.1db60822.js","mappings":"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","sources":["webpack:///./src/launchpad-button-v2/PlatformCategory.tsx","webpack:///../../node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///../../node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///./src/launchpad-button-v2/Launchpad.tsx","webpack:///./src/launchpad-button-v2/LaunchpadContext.ts","webpack:///./src/launchpad-button-v2/MenuGroup.tsx","webpack:///./src/launchpad-button-v2/host-context.css","webpack:///./src/launchpad-button-v2/Launchpad.shadow.css","webpack:///./src/launchpad-button-v2/PlatformCategory.shadow.css","webpack:///./src/launchpad-button-v2/styles.shadow.css","webpack:///./src/launchpad-button-v2/host-context.css?59a8","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/postSearchV3.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/user-service-sdk/dist/esm/api/user_service/launchpad/listCollectionV2.js"],"sourcesContent":["import React from \"react\";\nimport { WrappedLink, WrappedIcon } from \"./wrapped-bricks\";\nimport { MenuItemDataNormal, PlatformCategoryItem } from \"./interfaces\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\n\nexport interface PlatformCategorySidebarMenuItemProps {\n item: PlatformCategoryItem;\n active?: boolean;\n onClick?: (item: PlatformCategoryItem) => void;\n}\n\nexport function PlatformCategorySidebarMenuItem({\n item,\n active,\n onClick,\n}: PlatformCategorySidebarMenuItemProps) {\n return (\n <li className=\"platform-category-sidebar-menu-item\">\n <WrappedLink\n type=\"plain\"\n className={classNames({ active })}\n onClick={() => onClick?.(item)}\n >\n <WrappedIcon\n className={\"platform-category-sidebar-menu-icon\"}\n lib=\"easyops\"\n category=\"second-menu\"\n icon=\"serve-second-menu\"\n {...(item.icon?.lib && item.icon.icon\n ? (pick(item.icon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"platform-category-sidebar-menu-item-label\">\n {item.name}\n </span>\n </WrappedLink>\n </li>\n );\n}\n\nexport interface PlatformItemProps {\n item: MenuItemDataNormal;\n}\n\nexport function PlatformItem({ item }: PlatformItemProps) {\n return (\n <li>\n <WrappedLink\n type=\"plain\"\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <div className=\"platform-item\">\n <div className=\"platform-item-title\">\n <WrappedIcon\n className=\"platform-item-icon\"\n lib=\"easyops\"\n category=\"third-menu\"\n icon=\"deploy-orchestration-tasks-third-menu\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <div className=\"platform-item-name\">{item.name}</div>\n </div>\n <div className=\"platform-item-description\">{item.description}</div>\n </div>\n </WrappedLink>\n </li>\n );\n}\n","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadInfo } from \"./useLaunchpadInfo.js\";\nimport { MenuGroup, SidebarMenuItem } from \"./MenuGroup.js\";\nimport { LaunchpadsContext } from \"./LaunchpadContext.js\";\nimport {\n FavMenuItem,\n PlatformCategoryItem,\n SidebarMenuItemData,\n} from \"./interfaces\";\nimport {\n PlatformItem,\n PlatformCategorySidebarMenuItem,\n} from \"./PlatformCategory\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\n\nexport function Launchpad({ active }: { active?: boolean }) {\n const searchInputRef = useRef<HTMLInputElement>(null);\n const [favorites, setFavorites] = useState<FavMenuItem[]>([]);\n const handleClickSearchBox = useCallback(() => {\n searchInputRef.current?.focus();\n }, []);\n const [platform, setPlatform] = useState(\"#all\");\n\n const showPlatformCategory = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-platform-category\"],\n []\n );\n\n const showScenarioCenter = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-scenario-center\"],\n []\n );\n\n const showSolutionCenter = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-solution-center\"],\n []\n );\n\n const {\n loading,\n q,\n setQ,\n menuGroups,\n favorites: _favorites,\n loadingFavorites,\n recentVisits,\n pushRecentVisit,\n toggleStar,\n isStarred,\n platformCategories,\n } = useLaunchpadInfo(active);\n const searching = !!q;\n\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setQ(e.target.value);\n },\n [setQ]\n );\n\n const clearSearch = useCallback(() => {\n setQ(\"\");\n }, [setQ]);\n\n useEffect(() => {\n if (active) {\n searchInputRef.current?.focus();\n }\n }, [active]);\n\n const handlePlatformCategoryClick = useCallback(\n (item: PlatformCategoryItem) => {\n setPlatform(item.id);\n },\n []\n );\n\n const curCategory = useMemo(() => {\n return platformCategories.find((v) => v.id === platform);\n }, [platform, platformCategories]);\n\n useEffect(() => {\n if (_favorites.length > favorites.length) {\n // 新增无需等待直接更新列表\n setFavorites(_favorites);\n } else {\n // 删除操作需要等待动画执行完后才更新列表数据\n setTimeout(() => {\n setFavorites(_favorites);\n }, 300);\n }\n }, [_favorites, favorites.length]);\n\n return (\n <div className={classNames(\"launchpad\", { active })}>\n <LaunchpadsContext.Provider\n value={{\n searching,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n }}\n >\n <div className=\"sidebar\">\n <div className=\"union\">\n <div className=\"quick-nav\">\n <div className=\"quick-nav-label\">快捷访问</div>\n {/* <Loading loading={loading || loadingFavorites} /> */}\n <TransitionGroup>\n <ul className=\"sidebar-menu quick-nav-menu\">\n {favorites.map((item, index) => (\n <CSSTransition\n key={index}\n timeout={300}\n in={!!_favorites.find((i) => i.id === item.id)}\n classNames={{\n enter: \"fadeEnter\",\n enterActive: \"fadeEnterActive\",\n exit: \"fadeExit\",\n exitActive: \"fadeExitActive\",\n exitDone: \"fadeExitDone\",\n }}\n >\n <SidebarMenuItem\n key={index}\n item={item as SidebarMenuItemData}\n />\n </CSSTransition>\n ))}\n </ul>\n </TransitionGroup>\n </div>\n\n {showPlatformCategory && (\n <div className=\"platform-nav\">\n <div className=\"platform-nav-label\">平台底座</div>\n <ul className=\"sidebar-menu platform-nav-menu\">\n {platformCategories.map((item, index) => (\n <PlatformCategorySidebarMenuItem\n key={index}\n onClick={handlePlatformCategoryClick}\n item={item}\n active={platform === item.id}\n />\n ))}\n </ul>\n </div>\n )}\n </div>\n {showScenarioCenter && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/portal/scenario\"}>\n <div className=\"jump-nav-label\">场景中心</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n\n {showSolutionCenter && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/portal/solution\"}>\n <div className=\"jump-nav-label\">解决方案</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/developers\"}>\n <div className=\"jump-nav-label\">开放平台</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n </div>\n <div className={classNames(\"content\", { loading })}>\n <Loading loading={loading} />\n {platform !== \"#all\" && (\n <div className=\"platform-category-name\">{curCategory?.name}</div>\n )}\n <div className=\"search-box\" onClick={handleClickSearchBox}>\n <WrappedIcon\n lib=\"fa\"\n icon=\"magnifying-glass\"\n className=\"search-icon\"\n />\n <input\n ref={searchInputRef}\n placeholder=\"通过关键字搜索\"\n value={q}\n onChange={handleSearch}\n className=\"search-input\"\n />\n <WrappedIcon\n lib=\"antd\"\n theme=\"filled\"\n icon=\"close-circle\"\n className={classNames(\"search-clear\", { searching })}\n onClick={clearSearch}\n />\n </div>\n {platform === \"#all\" && (\n <div className={classNames({ empty: recentVisits.length === 0 })}>\n <div className=\"recent-visits-label\">最近访问</div>\n <ul className=\"recent-visits\">\n {recentVisits.map((item, index) => (\n <li key={index}>\n <WrappedLink\n onClick={() => pushRecentVisit(item)}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <span>{item.name}</span>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </div>\n )}\n {platform === \"#all\" && (\n <ul className=\"menu-groups\">\n {menuGroups.map((group) => (\n <MenuGroup\n key={group.name}\n name={group.name}\n items={group.items}\n />\n ))}\n </ul>\n )}\n {platform !== \"#all\" && (\n <ul\n className={classNames(\"platform-items\", {\n empty: curCategory?.items.length === 0,\n })}\n >\n {curCategory?.items.map((item, index) => (\n <PlatformItem item={item} key={index} />\n ))}\n </ul>\n )}\n </div>\n </LaunchpadsContext.Provider>\n </div>\n );\n}\n\nfunction Loading({ loading }: { loading: boolean }) {\n return (\n loading && (\n <div className=\"spinner\">\n <WrappedIcon lib=\"fa\" icon=\"spinner\" spinning />\n </div>\n )\n );\n}\n","import React from \"react\";\nimport type { MenuItemDataLink, MenuItemDataNormal } from \"./interfaces\";\n\nexport interface LaunchpadContextData {\n searching: boolean;\n loadingFavorites: boolean;\n readonly?: boolean;\n pushRecentVisit(item: MenuItemDataNormal): void;\n toggleStar(item: MenuItemDataNormal | MenuItemDataLink): void;\n isStarred(item: MenuItemDataNormal): boolean;\n}\n\nexport const LaunchpadsContext = React.createContext<LaunchpadContextData>(\n {} as LaunchpadContextData\n);\n\nexport const useLaunchpadContext = (): LaunchpadContextData =>\n React.useContext(LaunchpadsContext);\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadContext } from \"./LaunchpadContext\";\nimport type {\n MenuItemData,\n MenuItemDataNormal,\n SidebarMenuItemData,\n} from \"./interfaces\";\n\nexport interface MenuGroupProps {\n name: string;\n items: MenuItemData[];\n}\n\nexport function MenuGroup({ name, items }: MenuGroupProps) {\n return (\n <li className=\"menu-group\">\n <div className=\"menu-group-label\">{name}</div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={`${item.type}-${item.id}`}\n name={item.name}\n items={item.items}\n />\n ) : (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n item: MenuItemDataNormal;\n}\n\nfunction MenuItem({ item }: MenuItemProps) {\n const { loadingFavorites, readonly, pushRecentVisit, toggleStar, isStarred } =\n useLaunchpadContext();\n\n const starred = useMemo(() => isStarred(item), [isStarred, item]);\n\n const handleStarClick = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n const handleClick = useCallback(() => {\n pushRecentVisit(item);\n }, [item, pushRecentVisit]);\n\n return (\n <li\n className={classNames(\"menu-item\", {\n starred,\n \"can-star\": !loadingFavorites,\n })}\n >\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <WrappedIcon\n className=\"menu-icon\"\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n prefix={starred ? \"fas\" : \"far\"}\n icon=\"star\"\n className=\"menu-item-star\"\n title={starred ? \"取消收藏\" : \"收藏\"}\n onClick={handleStarClick}\n />\n )}\n </li>\n );\n}\n\nexport interface SidebarMenuItemProps {\n item: SidebarMenuItemData;\n}\n\nexport function SidebarMenuItem({ item }: SidebarMenuItemProps) {\n const { readonly, pushRecentVisit, toggleStar } = useLaunchpadContext();\n\n const handleClick = useCallback(() => {\n if (item.type !== \"link\") {\n pushRecentVisit(item);\n }\n }, [item, pushRecentVisit]);\n\n const handleRemoveStar = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n return (\n <li className=\"sidebar-menu-item\">\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <WrappedIcon\n className={`sidebar-menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n icon=\"xmark\"\n className=\"menu-item-remove\"\n onClick={handleRemoveStar}\n />\n )}\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n name: string;\n items: MenuItemDataNormal[];\n}\n\nfunction MenuItemFolder({ name, items }: MenuItemFolderProps) {\n const { searching } = useLaunchpadContext();\n const [expanded, setExpanded] = useState(false);\n const [searchingExpanded, setSearchingExpanded] = useState(false);\n\n const toggle = useCallback(() => {\n // Use separated expanded states for searching and non-searching.\n if (searching) {\n setSearchingExpanded((previous) => !previous);\n } else {\n setExpanded((previous) => !previous);\n }\n }, [searching]);\n\n useEffect(() => {\n // Each time when start searching, set it as expanded.\n setSearchingExpanded(true);\n }, [searching]);\n\n const actualExpanded = searching ? searchingExpanded : expanded;\n\n return (\n <li className=\"menu-item folder\">\n <WrappedLink onClick={toggle}>\n <WrappedIcon\n lib=\"fa\"\n prefix=\"far\"\n icon=\"folder-open\"\n className=\"menu-icon\"\n />\n <span className=\"menu-item-label\">{name}</span>\n <WrappedIcon\n lib=\"antd\"\n icon={actualExpanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n <ul className={classNames(\"sub-menu\", { expanded: actualExpanded })}>\n {items.map((item) => (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n ))}\n </ul>\n </li>\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-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}`, \"\"]);\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, `.fadeEnter{opacity:0;transform:scale(0.95)}.fadeEnterActive{opacity:1;transform:translateX(0);transition:opacity 100ms ease-out,transform 100ms ease-out}.fadeExit{transform:translate(-30px,0)}.fadeExitActive{transform:translate(-100%,0);transition:transform 300ms ease-out}.fadeExitDone{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, `.platform-category-name,\n.platform-category-sidebar-menu-item-label,\n.platform-item-name,\n.platform-item-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-category-sidebar-menu-item{display:flex;gap:8px;align-items:center;padding:0px 12px 0px 16px}.platform-category-sidebar-menu-item > eo-link{display:block;min-width:0px;color:var(--color-header-text);cursor:pointer}.platform-category-sidebar-menu-item > eo-link:hover,\n.platform-category-sidebar-menu-item\n > eo-link:hover\n .platform-category-sidebar-menu-icon{color:var(--color-brand-hover)}.platform-category-sidebar-menu-item > eo-link.active,\n.platform-category-sidebar-menu-item\n > eo-link.active\n .platform-category-sidebar-menu-icon{color:var(--color-brand-active)}.platform-category-sidebar-menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px}.platform-category-sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.platform-category-name{font-size:18px;font-weight:500;color:var(--text-color-secondary);flex-shrink:0}.platform-items{display:grid;grid-template-columns:repeat(2,1fr);gap:0 54px}.platform-items > li{min-width:0}.platform-items > li > eo-link{width:100%;cursor:pointer}.platform-item{padding:12px 0;display:flex;flex-direction:column}.platform-item:hover .platform-item-icon,\n.platform-item:hover .platform-item-name{color:var(--color-brand-hover)}.platform-item-title{display:flex;align-items:center;margin-bottom:4px}.platform-item-icon{margin-right:8px;font-size:14px;color:var(--text-color-secondary);flex-shrink:0}.platform-item-name{font-weight:500;color:var(--text-color-title);line-height:18px}.platform-item-description{margin-left:22px;color:var(--text-color-secondary);line-height:18px}`, \"\"]);\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, `:host{display:inline-block;width:32px;height:32px;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 36px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);height:var(--eo-launchpad-v2-max-height);background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-size:205px 205px;background-repeat:no-repeat;background-position:left 52px bottom 27px}.sidebar > *:not(:last-child){border-bottom:1px solid var(--stroke-color-default)}.quick-nav-label,\n.platform-nav-label,\n.jump-nav-label,\n.menu-group-label,\n.menu-item-label,\n.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu,\n.menu-groups,\n.menu,\n.sub-menu,\n.recent-visits,\n.platform-items{list-style:none;margin:0;padding:0}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.sidebar-menu-item > eo-link,\n.menu-item > eo-link,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.union{flex:1;display:flex;flex-direction:column;overflow-y:auto}.quick-nav,\n.platform-nav{display:flex;flex-direction:column;padding:20px 0 24px}.platform-nav{padding:0 0 24px}.quick-nav-label,\n.platform-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.quick-nav-menu,\n.platform-nav-menu{flex:1}.jump-nav > eo-link{display:block;cursor:pointer}.jump-nav > eo-link::part(link){padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.jump-nav-label{flex:1;color:var(--color-header-text);font-weight:500}.jump-nav > eo-icon{font-size:14px;color:var(--text-color-default)}.content{flex:1;padding:20px 24px 24px;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;margin-top:-10px;cursor:text}.search-icon{color:var(--color-auxiliary-text)}.search-input{padding:0;margin:0;border:none;outline:none;color:inherit;background-color:transparent;font-size:14px;line-height:22px;flex:1;min-width:0}.search-input::placeholder{color:var(--color-disabled-text);opacity:1}.search-clear{display:none;color:var(--color-secondary-text);cursor:pointer}.search-clear.searching{display:inline-block}.search-clear:hover{color:var(--color-auxiliary-text)}.menu-groups,\n.recent-visits{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.sidebar-menu-item,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-launchpad-v2-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-remove,\n.menu-item-star{cursor:pointer}.menu-item-remove,\n.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.recent-visits-label{margin-bottom:12px;font-size:var(--card-title-font-size);color:var(--color-header-text);font-weight:500}.recent-visits{display:grid;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.content,\n .search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}.content > :not(:last-child){margin-bottom:24px}}`, \"\"]);\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;\noptions.insert = insertFn.bind(null, \"head\");\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","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","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 _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"],"names":["PlatformCategorySidebarMenuItem","_ref","_item$icon","item","active","onClick","React","className","WrappedLink","type","classNames","WrappedIcon","_extends","lib","category","icon","pick","name","PlatformItem","_ref2","_item$menuIcon","url","href","target","menuIcon","description","getChildMapping","children","mapFn","result","Object","create","Children","map","c","forEach","child","key","isValidElement","mapper","getProp","prop","props","getNextChildMapping","nextProps","prevChildMapping","onExited","nextChildMapping","prev","next","getValueForKey","i","nextKeysPending","pendingKeys","prevKey","length","push","childMapping","nextKey","pendingNextKey","mergeChildMappings","keys","hasPrev","hasNext","prevChild","isLeaving","in","cloneElement","bind","exit","enter","values","obj","k","TransitionGroup","_React$Component","context","_this","handleExited","call","this","state","contextValue","isMounting","firstRender","_proto","prototype","componentDidMount","mounted","setState","componentWillUnmount","getDerivedStateFromProps","appear","node","currentChildMapping","render","_this$props","Component","component","childFactory","TransitionGroupContext","Provider","value","propTypes","defaultProps","Launchpad","searchInputRef","useRef","favorites","setFavorites","useState","handleClickSearchBox","useCallback","_searchInputRef$curre","current","focus","platform","setPlatform","showPlatformCategory","_getRuntime","getRuntime","getFeatureFlags","showScenarioCenter","_getRuntime2","showSolutionCenter","_getRuntime3","loading","q","setQ","menuGroups","_favorites","loadingFavorites","recentVisits","pushRecentVisit","toggleStar","isStarred","platformCategories","useLaunchpadInfo","searching","handleSearch","e","clearSearch","useEffect","_searchInputRef$curre2","handlePlatformCategoryClick","id","curCategory","useMemo","find","v","setTimeout","LaunchpadsContext","index","CSSTransition","timeout","enterActive","exitActive","exitDone","SidebarMenuItem","theme","Loading","ref","placeholder","onChange","empty","group","MenuGroup","items","spinning","useLaunchpadContext","MenuItemFolder","MenuItem","readonly","starred","handleStarClick","handleClick","prefix","title","_ref3","_item$menuIcon2","handleRemoveStar","_ref4","expanded","setExpanded","searchingExpanded","setSearchingExpanded","toggle","previous","actualExpanded","___CSS_LOADER_EXPORT___","module","toString","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_assertThisInitialized","self","ReferenceError","InstanceApi_postSearchV3","objectId","data","http","post","concat","_x","_x2","_x3","apply","arguments","LaunchpadApi_createCollectionV2","LaunchpadApi_deleteCollectionV2","instanceId","delete","LaunchpadApi_listCollectionV2","params","get"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_nav=globalThis.webpackChunk_next_bricks_nav||[]).push([[8518],{1283:(e,t,r)=>{r.d(t,{s:()=>f});var a=r(8769),o=r.n(a),n=r(3373),i=r.n(n),l=r(9527),c=r(1030),s=r(5049),p=r(4612),u=r(7522),m=r(4647);(0,m.initializeReactI18n)(u.NS,u.I);const d=(0,s.wrapBrick)("eo-popover"),g=(0,s.wrapBrick)("eo-search",{onChange:"change",onSearch:"search"}),h=(0,s.wrapBrick)("eo-icon"),v="threeLevelCategoryMenu",x=6;function f(e){const{t}=(0,m.useTranslation)(u.NS),{menuItem:r,selectedKey:n}=e,s=r.items,[f,E]=(0,a.useState)([]),[b,y]=(0,a.useState)(""),_=(0,a.useRef)(null),k=`${v}_${r.title}`,C=(0,a.useMemo)((()=>new p.G(localStorage)),[]),w=C.getItem(k)||[],A=()=>{var e;null===(e=_.current)||void 0===e||e.click()};return o().createElement("div",{className:"three-level-menu-container"},o().createElement("div",{className:"three-level-menu-search-container",onClick:e=>{e.stopPropagation()}},o().createElement(g,{placeholder:t(u.K.SEARCH_BY_MENU_NAME),onSearch:e=>{if(y(e.detail),e.detail){const t=(0,c.uniq)([e.detail,...w]);t.length>x&&t.pop(),C.setItem(k,t),E(s.flatMap((e=>e.items||[])).filter((t=>t.text.toLowerCase().includes(e.detail.trim().toLowerCase()))))}else E([])},onFocus:A,onBlur:A}),o().createElement(d,{trigger:"click",placement:"bottom-start",anchorDisplay:"block",distance:0},o().createElement("div",{slot:"anchor",ref:_}),o().createElement("div",{className:"three-level-menu-search-result"},!!f.length&&f.map((e=>(0,l.q5)(e,{width:"100%"}))),b&&!f.length&&o().createElement("div",{style:{height:"100px",textAlign:"center",lineHeight:"100px"}},t(u.K.NO_DATA))))),!!w.length&&o().createElement("div",{className:"three-level-menu-search-history-container"},o().createElement("div",{className:"three-level-menu-search-history-title"},t(u.K.SEARCH_HISTORY),o().createElement(h,{lib:"antd",theme:"outlined",icon:"delete",className:"three-level-menu-search-history-icon"})),o().createElement("div",null,w.map((e=>o().createElement("span",{key:e,className:"three-level-menu-search-history-text"},e))))),o().createElement("div",{className:"three-level-menu-item-container",style:{gridTemplateColumns:`repeat(${s.length>4?4:s.length},1fr)`}},s.map(((e,t)=>{var r;return o().createElement("div",{key:t},o().createElement("div",{className:"three-level-menu-item-title-container"},o().createElement("span",{className:"three-level-menu-item-title-icon"}),o().createElement("span",{className:"three-level-menu-item-title"},e.title)),null===(r=e.items)||void 0===r?void 0:r.map((e=>o().createElement("span",{key:e.key,className:i()({active:!!e.key&&n.includes(e.key)})},(0,l.q5)(e,{width:"100%"})))))}))))}},7522:(e,t,r)=>{r.d(t,{I:()=>n,K:()=>a,NS:()=>o});let a=function(e){return e.SEARCH_BY_MENU_NAME="SEARCH_BY_MENU_NAME",e.SEARCH_HISTORY="SEARCH_HISTORY",e.NO_DATA="NO_DATA",e.QUICK_ACCESS="QUICK_ACCESS",e.REMOVE_ITEM_FROM_QUICK_ACCESS="REMOVE_ITEM_FROM_QUICK_ACCESS",e.ADD_ITEM_TO_QUICK_ACCESS="ADD_ITEM_TO_QUICK_ACCESS",e.NO_DATA_TIPS_IN_QUICK_ACCESS="NO_DATA_TIPS_IN_QUICK_ACCESS",e.SITE_MAP_SEARCH_RECOMMEND="SITE_MAP_SEARCH_RECOMMEND",e.MAX_COLLECT_COUNT_TIPS="MAX_COLLECT_COUNT_TIPS",e.NO_DATA_SEARCH_INFO="NO_DATA_SEARCH_INFO",e.SEARCH_ITEM_PLACEHOLDER="SEARCH_ITEM_PLACEHOLDER",e}({});const o="bricks/nav/nav-menu",n={en:{SEARCH_BY_MENU_NAME:"Search by menu name",SEARCH_HISTORY:"Search history",NO_DATA:"No data",QUICK_ACCESS:"Quick Access",REMOVE_ITEM_FROM_QUICK_ACCESS:"Remove from Quick Access",ADD_ITEM_TO_QUICK_ACCESS:"Add to Quick Access",NO_DATA_TIPS_IN_QUICK_ACCESS:"No quick access resources have been added yet. Please add from the list below or after searching",SITE_MAP_SEARCH_RECOMMEND:"Search recommend",MAX_COLLECT_COUNT_TIPS:"Need to delete some favorites in order to add",NO_DATA_SEARCH_INFO:"The search result is empty, please enter again",SEARCH_ITEM_PLACEHOLDER:"Please enter keywords to search"},zh:{SEARCH_BY_MENU_NAME:"通过菜单名称搜索",SEARCH_HISTORY:"历史搜索",NO_DATA:"暂无数据",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:"请输入关键词搜索"}}},9044:(e,t,r)=>{r.d(t,{bw:()=>L});var a=r(8769),o=r.n(a),n=r(5049),i=r(9575),l=r(3373),c=r.n(l),s=r(7522),p=r(4586),u=r(5343),m=r(4156);let d=function(e){return e.Left="left",e.Right="right",e}({});const g="sidebarMenuCollect",h=o().createContext({});var v=r(1030),x=r(369);const f=new class{constructor(e){(0,p.A)(this,"maxCollectLength",void 0),(0,p.A)(this,"collectMap",new Map),(0,p.A)(this,"collectPromise",new Map),this.maxCollectLength=e??10}getFavoritesById(e){return(0,v.cloneDeep)(this.collectMap.get(e))??[]}async fetchFavorites(e){const t=this.collectPromise.get(e);if(t){return this.collectMap.get(e)||t}const r=(0,u.Q)({module:g,collectionName:e}).then((t=>{var r;const a=null===(r=t.payloads)||void 0===r?void 0:r.map((e=>e.extInfo)).filter(Boolean);return this.collectMap.set(e,a),a}));return this.collectPromise.set(e,r),r}setItemAsFavorite(e,t){const r=this.getFavoritesById(e);r.length>=this.maxCollectLength&&r.pop(),r.unshift(t),this.updateFavoriteItems(e,r)}updateFavoriteItems(e,t){try{this.collectMap.set(e,t),(0,m.B)({module:g,collectionName:e,payloads:null==t?void 0:t.map((e=>({name:e.text,url:e.to,extInfo:e})))})}catch(e){(0,x.handleHttpError)(e)}}equalItem(e,t){return e.text===t.text&&e.to===t.to}removeItemFromFavorite(e,t){const r=this.getFavoritesById(e),a=r.findIndex((e=>this.equalItem(e,t)));-1!==a&&(r.splice(a,1),this.updateFavoriteItems(e,r))}isCollected(e,t){return this.getFavoritesById(e).some((e=>this.equalItem(e,t)))}toggleFavorite(e,t){if(this.isCollected(e,t))this.removeItemFromFavorite(e,t);else{if(this.checkMaxCapacity(e))return;this.setItemAsFavorite(e,t)}}moveFavoriteTo(e,t){const{from:r,to:a,direction:o}=t,n=this.getFavoritesById(e);if(this.equalItem(r,a))return n;const i=n.findIndex((e=>this.equalItem(e,r)));if(-1!==i){n.splice(i,1);const t=n.findIndex((e=>this.equalItem(e,a)));-1!==t&&(o===d.Left?n.splice(t,0,r):n.splice(t+1,0,r),this.updateFavoriteItems(e,n))}return n}checkMaxCapacity(e){return this.getFavoritesById(e).length>=this.maxCollectLength}};var E=r(4647);(0,E.initializeReactI18n)(s.NS,s.I);const b=(0,n.wrapBrick)("eo-link"),y=(0,n.wrapBrick)("eo-icon"),_=(0,n.wrapBrick)("eo-tooltip");function k(e){let{data:t,onDragOver:r,direction:n}=e;const{groupId:i,onFavoriteUpdate:l}=(0,a.useContext)(h);return o().createElement("div",{className:"indicate-wrapper","data-direction":n,"data-to":t.to,onDragEnter:e=>e.target.style.background="var(--palette-blue-1)",onDragLeave:e=>e.target.style.background="transparent","data-text":t.text,onDragOver:r,onDrop:e=>{const r=JSON.parse(e.dataTransfer.getData("application/json")),a=f.moveFavoriteTo(i,{from:r,to:t,direction:n});null==l||l(a)}})}function C(e){const{data:t,suffix:r,className:n}=e,{allowDrag:i,onDragStart:l,overElement:s,direction:p,onDragEnd:u,onDragOver:m}=(0,a.useContext)(h),g=(0,a.useRef)(null),[v,x]=(0,a.useState)(!1),f=(0,a.useMemo)((()=>s&&s.dataset.to==t.to&&s.dataset.text==s.dataset.text),[s,t]);return o().createElement(o().Fragment,null,f&&p===d.Left&&o().createElement(k,{data:t,onDragOver:m,direction:d.Left}),o().createElement(b,{"data-to":t.to,"data-text":t.text,ref:g,draggable:!0,onDragStart:e=>{var r;i?(x(!0),null===(r=e.dataTransfer)||void 0===r||r.setData("application/json",JSON.stringify(t)),null==l||l(e)):e.preventDefault()},onDragEnd:e=>{x(!1),null==u||u(e)},onDragOver:e=>{e.dataTransfer.dropEffect="none",null==m||m(e)},className:c()("tag-container",n,{"is-drag":v}),url:t.to,href:t.href,target:t.target},o().createElement("span",{className:"tag-text ellipsis",title:t.text},t.text),o().createElement("span",{className:"tag-suffix",onClick:e=>e.preventDefault()},r)),f&&p===d.Right&&o().createElement(k,{data:t,onDragOver:m,direction:d.Right}))}function w(e){const{t}=(0,E.useTranslation)(s.NS),{onAllowDrag:r}=(0,a.useContext)(h),{data:n,onFavorite:i,groupId:l}=e,c=(0,a.useRef)(),p=(0,a.useRef)(),u=(0,a.useCallback)((()=>{f.removeItemFromFavorite(l,n),null==i||i(f.getFavoritesById(l))}),[l,n,i]),m=()=>{null==r||r(!0)};(0,a.useEffect)((()=>{const e=p.current;return e.addEventListener("click",u),()=>{e.removeEventListener("click",u)}}),[u]),(0,a.useEffect)((()=>{const e=c.current,t=e=>{e.preventDefault()};return e.addEventListener("click",t),()=>{e.removeEventListener("click",t)}}),[]);const d=(0,a.useMemo)((()=>o().createElement("div",{className:"operation",ref:c},o().createElement(_,{content:t(s.K.REMOVE_ITEM_FROM_QUICK_ACCESS),hoist:!0,placement:"bottom",className:"close"},o().createElement(y,{lib:"antd",icon:"close",ref:p})),o().createElement("span",{className:"drag-wrapper",onMouseDown:m},":::"))),[t,u]);return o().createElement(C,{className:"visit-container",suffix:d,data:n})}function A(e){let{onFavorite:t,className:r,groupId:n,data:l,active:p}=e;const{t:u}=(0,E.useTranslation)(s.NS),m=(0,a.useRef)(),d=e=>{e.preventDefault(),f.toggleFavorite(n,l),null==t||t(f.getFavoritesById(n))};return(0,a.useEffect)((()=>{const e=m.current;return e.addEventListener("click",d),()=>{e.removeEventListener("click",d)}}),[]),o().createElement(_,{content:p?u(s.K.REMOVE_ITEM_FROM_QUICK_ACCESS):f.checkMaxCapacity(n)?u(s.K.MAX_COLLECT_COUNT_TIPS):u(s.K.ADD_ITEM_TO_QUICK_ACCESS),className:c()("star-icon",r)},o().createElement(y,(0,i.A)({ref:m,className:c()({active:p}),lib:"antd",icon:"star"},p?{theme:"filled"}:{})))}function S(e){const{data:t,className:r,groupId:n,onFavorite:i,active:l}=e,s=(0,a.useMemo)((()=>o().createElement(A,{groupId:n,active:l,className:"star",data:t,onFavorite:i})),[t,n,i,l]);return o().createElement(C,{className:c()("recommend-container",r),suffix:s,data:t})}function I(e,t){"group"===e.type&&Array.isArray(e.items)?function(e,t){for(const r of e)I(r,t)}(e.items,t):t.push(e)}const N=(0,n.wrapBrick)("eo-link"),M=240;function T(e){const{groupId:t,selectedKey:r,onFavorite:a}=e,n=function(e){const t=new Map,r=new Set;return null==e||e.forEach((e=>{const a=e.groupFrom??"default";r.add(a);const o=t.get(a);o?o.push(e):t.set(a,[e])})),Array.from(r).map((e=>({groupFrom:e,groups:t.get(e)})))}(e.groups);return o().createElement("div",{className:"group-view"},n.map(((e,n)=>o().createElement("div",{key:n},0!==n&&o().createElement("div",{className:"divider"}),"default"===e.groupFrom?o().createElement(O,{groupId:t,selectedKey:r,groups:e.groups,onFavorite:a}):o().createElement(R,{groupId:t,selectedKey:r,groups:e.groups,onFavorite:a})))))}function O(e){const{groupId:t,onFavorite:r,selectedKey:n,groups:i}=e,l=o().useRef(null),[c,s]=(0,a.useState)();return(0,a.useEffect)((()=>{const e=new ResizeObserver((e=>{for(const t of e)if(t.target===l.current){const e=t.contentRect.width;e&&s(Math.floor(e/M))}}));return e.observe(l.current),()=>e.disconnect()}),[]),o().createElement("div",{className:"group",ref:l,style:c<(null==i?void 0:i.length)?{columnCount:c,columnWidth:M}:{display:"grid",gridTemplateColumns:`repeat(auto-fit, ${M}px)`}},i.map((e=>o().createElement("div",{key:e.key,className:"group-item"},o().createElement("div",{className:"title"},e.title),o().createElement("div",{className:"content"},e.items.map((e=>o().createElement(D,{key:e.key,groupId:t,selectedKey:n,data:e,onFavorite:r}))))))))}function R(e){const{groupId:t,onFavorite:r,selectedKey:a,groups:n}=e;return o().createElement("div",{className:"custom-group"},n.map((e=>o().createElement("div",{key:e.key},o().createElement("div",{className:"title"},e.title),o().createElement("div",{className:"custom-content",style:{display:"grid",gridTemplateColumns:`repeat(auto-fit, ${M}px)`}},e.items.map((e=>o().createElement(D,{key:e.key,selectedKey:a,groupId:t,data:e,onFavorite:r}))))))))}function D(e){const{data:t,groupId:r,onFavorite:a,selectedKey:n}=e;return o().createElement(N,{key:t.key,icon:t.icon,url:t.to,href:t.href,target:t.target,className:c()("item-link",{active:null==n?void 0:n.includes(t.key)})},o().createElement("span",{className:"ellipsis",title:t.text},t.text),o().createElement("span",{className:"icon-wrapper"},o().createElement(A,{active:f.isCollected(r,t),groupId:r,data:t,onFavorite:a})))}const F=(0,n.wrapBrick)("eo-icon"),K=(0,n.wrapBrick)("eo-input",{onValueChange:"change"});function L(e){const{t}=(0,E.useTranslation)(s.NS),{menuGroup:r,selectedKey:n,visible:i}=e,l=r.groupId,[p,u]=(0,a.useState)([]),m=(0,a.useMemo)((()=>function(e){const t=[];return I(e,t),t}(r)),[r]),[g,x]=(0,a.useState)(),[b,y]=(0,a.useState)([]),[_,k]=(0,a.useState)(),[C,A]=(0,a.useState)(),[N,M]=(0,a.useState)(),[O,R]=(0,a.useState)(),[D,L]=(0,a.useState)(!1);(0,a.useEffect)((()=>{i&&!D&&L(!0)}),[i,D]);const H=e=>{u(e)},P=(0,a.useCallback)((e=>{const t=e.detail;x(e.detail),y(t?m.filter((t=>t.text.toLowerCase().includes(e.detail.toLowerCase()))):m)}),[m]),U=(0,a.useMemo)((()=>(0,v.debounce)(P,200)),[P]),B=(0,a.useMemo)((()=>(0,v.throttle)((e=>{e.preventDefault();const t=function(e){let t=e;for(;t;){if(t.draggable||"indicate-wrapper"===t.className)return t;t=t.parentElement}}(e.target);if(A(t),t&&function(e,t){return e&&t&&!(e.dataset.to===t.dataset.to&&e.dataset.text===t.dataset.text)}(t,_))if("indicate-wrapper"===t.className)R(t.dataset.direction);else{const{width:r,left:a}=t.getBoundingClientRect(),o=e.clientX>a+r/2;R(o?d.Right:d.Left)}else R(void 0)}))),[_]);return(0,a.useEffect)((()=>{(async()=>{if(i){const e=await f.fetchFavorites(l);u(e)}})()}),[l,i]),D&&o().createElement("div",{className:"site-map"},o().createElement("div",{className:"search-wrapper"},o().createElement(K,{className:"search-input",style:{width:"100%"},onValueChange:U,placeholder:t(s.K.SEARCH_ITEM_PLACEHOLDER)},o().createElement(F,{slot:"prefix",lib:"antd",icon:"search"}))),!g&&o().createElement("div",null,0!==p.length&&o().createElement("div",{className:c()("visit-access",{hasData:p.length})},o().createElement("span",{className:"title"},t(s.K.QUICK_ACCESS)),o().createElement(h.Provider,{value:{groupId:l,overElement:C,direction:O,allowDrag:N,onDragStart:e=>{k(e.target)},onDragOver:B,onDragEnd:()=>{k(void 0),R(void 0),M(!1)},onAllowDrag:e=>{M(e)},onFavoriteUpdate:H}},o().createElement("div",{className:"tag-wrapper"},p.map((e=>o().createElement(w,{onFavorite:H,groupId:l,key:e.key,data:e})))))),o().createElement(T,{groupId:l,selectedKey:n,groups:r.items,onFavorite:H})),g&&o().createElement("div",{className:"search-panel"},o().createElement("span",{className:"title"},t(s.K.SITE_MAP_SEARCH_RECOMMEND)),b.length?o().createElement("div",{className:"recommend-wrapper"},b.map((e=>o().createElement(S,{key:e.key,groupId:l,data:e,onFavorite:H,active:f.isCollected(l,e)})))):o().createElement("div",{className:"no-data-tips"},t(s.K.NO_DATA_SEARCH_INFO))))}},9527:(e,t,r)=>{r.d(t,{Gn:()=>u,IZ:()=>c,Wf:()=>s,q5:()=>p});var a=r(8769),o=r.n(a),n=r(5049);const i=(0,n.wrapBrick)("eo-icon"),l=(0,n.wrapBrick)("eo-link");function c(e){return"group"===e.type}function s(e,t){return Boolean("subMenu"===e.type||t&&"group"===e.type)}const p=(e,t)=>o().createElement(l,{type:"plain",key:e.key,url:e.to,href:e.href,target:e.target,style:t},o().createElement("span",{className:"menu-item-label"},e.text)),u=(e,t)=>o().createElement("span",{key:e.key,className:"menu-item-label"},e.title,t&&o().createElement(i,{lib:"fa",icon:"angle-right"}))},2605:(e,t,r)=>{r.d(t,{A:()=>l});var a=r(6758),o=r.n(a),n=r(935),i=r.n(n)()(o());i.push([e.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)}',""]);const l=i},6370:(e,t,r)=>{r.d(t,{A:()=>l});var a=r(6758),o=r.n(a),n=r(935),i=r.n(n)()(o());i.push([e.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(--nav-menu-item-label-color)}.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;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}",""]);const l=i.toString()},1122:(e,t,r)=>{r.d(t,{A:()=>l});var a=r(6758),o=r.n(a),n=r(935),i=r.n(n)()(o());i.push([e.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}',""]);const l=i.toString()},839:(e,t,r)=>{r.d(t,{A:()=>l});var a=r(6758),o=r.n(a),n=r(935),i=r.n(n)()(o());i.push([e.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}",""]);const l=i.toString()},9998:(e,t,r)=>{r.d(t,{A:()=>l});var a=r(6758),o=r.n(a),n=r(935),i=r.n(n)()(o());i.push([e.id,'.site-map .search-wrapper{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);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);gap:8px}',""]);const l=i.toString()},4211:(e,t,r)=>{var a=r(2591),o=r.n(a),n=r(1740),i=r.n(n),l=r(8128),c=r.n(l),s=r(855),p=r.n(s),u=r(3051),m=r.n(u),d=r(3656),g=r.n(d),h=r(2605),v={};v.styleTagTransform=g(),v.setAttributes=p(),v.insert=c().bind(null,"head"),v.domAPI=i(),v.insertStyleElement=m(),o()(h.A,v),h.A&&h.A.locals&&h.A.locals},764:(e,t,r)=>{r.d(t,{IZ:()=>n,LP:()=>l,Wf:()=>i});var a=r(1201),o=r(369);function n(e){return"group"===e.type}function i(e,t){return Boolean("subMenu"===e.type||t&&"group"===e.type)}function l(e,t,r,s){const p=[],u=[],m=[];let d=0;return e.forEach((e=>{if(e.key=""===s?`${d}`:`${s}.${d}`,n(e)||i(e)){const a=l(e.items,t,r,e.key);p.push(...a.selectedKeys),(a.selectedKeys.length||e.defaultExpanded)&&u.push(e.key),u.push(...a.openedKeys),m.push(...a.matchedKeys)}else if(function(e,t,r){if(!e.to)return!1;const n="object"==typeof e.to?e.to:(0,a.parsePath)(e.to),i=n.pathname.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1");let l=!!(0,o.matchPath)(t,{path:i,exact:e.exact});if(l&&e.activeMatchSearch&&(l=c(r,n.search)),!l&&Array.isArray(e.activeIncludes))for(const n of e.activeIncludes){var s;let e;const i=n.includes("?");if(i&&(e=(0,a.parsePath)(n)),l=!!(0,o.matchPath)(t,{path:i?e.pathname:n,exact:!0}),l&&null!==(s=e)&&void 0!==s&&s.search&&(l=c(r,e.search)),l)break}if(l&&Array.isArray(e.activeExcludes))for(const r of e.activeExcludes)if(l=!(0,o.matchPath)(t,{path:r,exact:!0}),!l)break;return l}(e,t,r)){p.push(String(e.key));const t=e.key.split(".");for(let e=0;e<t.length;e++)m.push(t.slice(0,e+1).join("."))}d+=1})),p.length&&""!==s&&u.push(s),{selectedKeys:p,openedKeys:u,matchedKeys:m}}function c(e,t){const r=new URLSearchParams(e),a=new URLSearchParams(t);for(const[e,t]of a.entries())if((r.get(e)??"")!==t)return!1;return!0}}}]);
2
+ //# sourceMappingURL=8518.cd45dc30.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/8518.cd45dc30.js","mappings":"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","sources":["webpack:///./src/nav-menu/ThreeLevelMenuPopoverContent.tsx","webpack:///./src/nav-menu/i18n.ts","webpack:///./src/nav-menu/site-map/constants.ts","webpack:///./src/nav-menu/site-map/CollectService.ts","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:///../../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 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 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(--nav-menu-item-label-color)}.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;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: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);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);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;\noptions.insert = insertFn.bind(null, \"head\");\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","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","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","DRAG_DIRECTION","collectModule","DragContext","collectService","constructor","maxCollectLength","_defineProperty","Map","this","getFavoritesById","id","cloneDeep","collectMap","get","fetchFavorites","cachedPromise","collectPromise","favoritesPromise","MyCollectionApi_listMyCollection","module","collectionName","then","result","_result$payloads","payloads","extInfo","Boolean","set","setItemAsFavorite","unshift","updateFavoriteItems","MyCollectionApi_upsertMyCollection","name","url","to","error","handleHttpError","equalItem","prevItem","removeItemFromFavorite","findIndex","row","splice","isCollected","some","toggleFavorite","checkMaxCapacity","moveFavoriteTo","option","from","direction","fromIndex","toIndex","Left","groupId","WrappedLink","WrappedTooltip","PlaceholderDropComp","_ref","data","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","groupMenus","groups","groupCategoryMap","categoryOrder","Set","forEach","groupFrom","add","value","processGroupItems","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","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","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","matchMenuItem","String","keyPath","split","slice","join","currentSearch","toSearch","URLSearchParams"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (globalThis.webpackChunk_next_bricks_nav=globalThis.webpackChunk_next_bricks_nav||[]).push([[871],{5060:function(e,t,n){var o,r;void 0===(r="function"==typeof(o=function(){"use strict";function t(e,t,n){var o=new XMLHttpRequest;o.open("GET",e),o.responseType="blob",o.onload=function(){i(o.response,t,n)},o.onerror=function(){console.error("could not download file")},o.send()}function o(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function r(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof n.g&&n.g.global===n.g?n.g:void 0,s=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),i=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!s?function(e,n,s){var i=a.URL||a.webkitURL,c=document.createElement("a");n=n||e.name||"download",c.download=n,c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?r(c):o(c.href)?t(e,n,s):r(c,c.target="_blank")):(c.href=i.createObjectURL(e),setTimeout((function(){i.revokeObjectURL(c.href)}),4e4),setTimeout((function(){r(c)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,n,a){if(n=n||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,a),n);else if(o(e))t(e,n,a);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout((function(){r(s)}))}}:function(e,n,o,r){if((r=r||open("","_blank"))&&(r.document.title=r.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,o);var i="application/octet-stream"===e.type,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||i&&c||s)&&"undefined"!=typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),r?r.location.href=e:location=e,r=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);r?r.location=f:location.href=f,r=null,setTimeout((function(){d.revokeObjectURL(f)}),4e4)}});a.saveAs=i.saveAs=i,e.exports=i})?o.apply(t,[]):o)||(e.exports=r)},871:(e,t,n)=>{"use strict";n.r(t),n.d(t,{JsonStorage:()=>w,createProviderClass:()=>r,createSSEStream:()=>d,deepFreeze:()=>v,hasOwnProperty:()=>p,isObject:()=>h,unwrapProvider:()=>b});var o=n(5060);function r(e){return class extends HTMLElement{get $$typeof(){return"provider"}resolve(){return e(...arguments)}async saveAs(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];const s=await e(...r);(0,o.saveAs)(s,t)}}}var a=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};const s="text/event-stream",i=1e3,c="last-event-id";function l(e,t){var{signal:n,headers:o,onopen:r,onmessage:l,onclose:d,onerror:f,openWhenHidden:v,fetch:p}=t,h=a(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,a)=>{const w=Object.assign({},o);let g;function b(){g.abort(),document.hidden||j()}w.accept||(w.accept=s),v||document.addEventListener("visibilitychange",b);let y=i,m=0;function O(){document.removeEventListener("visibilitychange",b),window.clearTimeout(m),g.abort()}null==n||n.addEventListener("abort",(()=>{O(),t()}));const E=null!=p?p:window.fetch,k=null!=r?r:u;async function j(){var n;g=new AbortController;try{const n=await E(e,Object.assign(Object.assign({},h),{headers:w,signal:g.signal}));await k(n),await async function(e,t){const n=e.getReader();let o;for(;!(o=await n.read()).done;)t(o.value)}(n.body,function(e){let t,n,o,r=!1;return function(a){void 0===t?(t=a,n=0,o=-1):t=function(e,t){const n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,a);const s=t.length;let i=0;for(;n<s;){r&&(10===t[n]&&(i=++n),r=!1);let a=-1;for(;n<s&&-1===a;++n)switch(t[n]){case 58:-1===o&&(o=n-i);break;case 13:r=!0;case 10:a=n}if(-1===a)break;e(t.subarray(i,a),o),i=n,o=-1}i===s?t=void 0:0!==i&&(t=t.subarray(i),n-=i)}}(function(e,t,n){let o={data:"",event:"",id:"",retry:void 0};const r=new TextDecoder;return function(e,t){if(0===e.length)null==n||n(o),o={data:"",event:"",id:"",retry:void 0};else if(t>0){const n=r.decode(e.subarray(0,t)),s=t+(32===e[t+1]?2:1),i=r.decode(e.subarray(s));switch(n){case"data":o.data=o.data?o.data+"\n"+i:i;break;case"event":o.event=i;break;case"id":(a=o.id=i)?w[c]=a:delete w[c];break;case"retry":const e=parseInt(i,10);isNaN(e)||(e=>{y=e})(o.retry=e)}}var a}}(0,0,l))),null==d||d(),O(),t()}catch(e){if(!g.signal.aborted)try{const t=null!==(n=null==f?void 0:f(e))&&void 0!==n?n:y;window.clearTimeout(m),m=window.setTimeout(j,t)}catch(e){O(),a(e)}}}j()}))}function u(e){const t=e.headers.get("content-type");if(!(null==t?void 0:t.startsWith(s)))throw new Error(`Expected content-type to be ${s}, Actual: ${t}`)}async function d(e,t){const n=[],o=[];let r=!1,a=!1;const{converter:s,...i}=t??{};function c(){o.forEach((e=>{let[t]=e;return t({value:void 0,done:!0})}))}function u(){r=!0,o.length=0,n.length=0}return await new Promise(((t,r)=>{l(e,{...i,openWhenHidden:!0,async onopen(e){if(!e.ok)throw console.error("open error",e.statusText),new Error(e.statusText);t(null)},onmessage(e){let t,r,a=!0;try{t=(s??f)(e.data,e.event)}catch(e){a=!1,r=e}if(o.length>0){const[e,n]=o.shift();a?e(t):n(r)}else n.push(a?{ok:!0,data:t}:{ok:!1,reason:r})},onclose(){a=!0,c()},onerror(e){throw e}}).catch((e=>{r(e),function(e){o.forEach((t=>{let[n,o]=t;return o(e)})),u()}(e)}))})),{next(){return r?this.return():new Promise(((e,t)=>{if(n.length>0){const o=n.shift();o.ok?e(o.data):t(o.reason)}else a?(u(),e({value:void 0,done:!0})):o.push([e,t])}))},return:()=>(c(),u(),Promise.resolve({value:void 0,done:!0})),throw:e=>(c(),u(),Promise.reject(e)),[Symbol.asyncIterator](){return this}}}function f(e,t){if("error"===t){var n;let t;console.error("Received error event:",e);try{t=JSON.parse(e)}catch{}throw new Error("string"==typeof(null===(n=t)||void 0===n?void 0:n.error)?t.error:e)}if("[DONE]"===e)return{value:void 0,done:!0};if(e.startsWith("[ERROR]"))throw console.error("Received error message:",e),new Error(e);try{return{value:JSON.parse(e),done:!1}}catch(t){throw console.error("Failed to parse message:",e),t}}function v(e){const t=Object.getOwnPropertyNames(e);for(const n of t){const t=e[n];t&&"object"==typeof t&&v(t)}return Object.freeze(e)}function p(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function h(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}class w{constructor(e){let 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)??"null")}removeItem(e){return this.storage.removeItem(this.prefix+e)}clear(){return this.storage.clear()}}const g=new Map;function b(e){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];const r=function(e){let t=g.get(e);return t||(t=document.createElement(e),g.set(e,t),t)}(e);return r.resolve(...n)}}}}]);
2
+ //# sourceMappingURL=871.18bf8ba5.js.map