@next-bricks/nav 1.14.7 → 1.14.9

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 (154) hide show
  1. package/dist/bricks.json +20 -20
  2. package/dist/chunks/1122.2174d8eb.js +2 -0
  3. package/dist/chunks/1122.2174d8eb.js.map +1 -0
  4. package/dist/chunks/1491.97fa1ded.js +3 -0
  5. package/dist/chunks/1491.97fa1ded.js.map +1 -0
  6. package/dist/chunks/1889.e4ee6503.js +2 -0
  7. package/dist/chunks/1889.e4ee6503.js.map +1 -0
  8. package/dist/chunks/1940.c77fc820.js +2 -0
  9. package/dist/chunks/1940.c77fc820.js.map +1 -0
  10. package/dist/chunks/2133.49a735c2.js +2 -0
  11. package/dist/chunks/2133.49a735c2.js.map +1 -0
  12. package/dist/chunks/2252.ea991945.js +3 -0
  13. package/dist/chunks/2252.ea991945.js.map +1 -0
  14. package/dist/chunks/2277.d774e4c4.js +2 -0
  15. package/dist/chunks/2277.d774e4c4.js.map +1 -0
  16. package/dist/chunks/3171.bf134c77.js +2 -0
  17. package/dist/chunks/3171.bf134c77.js.map +1 -0
  18. package/dist/chunks/3933.a7d045ca.js +2 -0
  19. package/dist/chunks/3933.a7d045ca.js.map +1 -0
  20. package/dist/chunks/4658.226b7328.js +2 -0
  21. package/dist/chunks/4658.226b7328.js.map +1 -0
  22. package/dist/chunks/4837.129ff052.js +2 -0
  23. package/dist/chunks/4837.129ff052.js.map +1 -0
  24. package/dist/chunks/5399.9f6a36a0.js +2 -0
  25. package/dist/chunks/5399.9f6a36a0.js.map +1 -0
  26. package/dist/chunks/5552.a395e3e7.js +2 -0
  27. package/dist/chunks/5552.a395e3e7.js.map +1 -0
  28. package/dist/chunks/6314.72a8afba.js +2 -0
  29. package/dist/chunks/6314.72a8afba.js.map +1 -0
  30. package/dist/chunks/6595.f55f1474.js +2 -0
  31. package/dist/chunks/6595.f55f1474.js.map +1 -0
  32. package/dist/chunks/7218.5a7eb066.js +2 -0
  33. package/dist/chunks/7218.5a7eb066.js.map +1 -0
  34. package/dist/chunks/{8097.97a89ad6.js → 8097.d19b8f60.js} +2 -2
  35. package/dist/chunks/{8097.97a89ad6.js.map → 8097.d19b8f60.js.map} +1 -1
  36. package/dist/chunks/8518.cadb4ae4.js +2 -0
  37. package/dist/chunks/8518.cadb4ae4.js.map +1 -0
  38. package/dist/chunks/{871.18bf8ba5.js → 871.dd7f6814.js} +2 -2
  39. package/dist/chunks/871.dd7f6814.js.map +1 -0
  40. package/dist/chunks/884.b3c85cf8.js +2 -0
  41. package/dist/chunks/884.b3c85cf8.js.map +1 -0
  42. package/dist/chunks/{9149.bc3f89b9.js → 9149.5afa9dc4.js} +2 -2
  43. package/dist/chunks/{9149.bc3f89b9.js.map → 9149.5afa9dc4.js.map} +1 -1
  44. package/dist/chunks/9559.3956978c.js +2 -0
  45. package/dist/chunks/9559.3956978c.js.map +1 -0
  46. package/dist/chunks/easyops-navbar-alerts.f058179c.js +2 -0
  47. package/dist/chunks/{easyops-navbar-alerts.2a7aa348.js.map → easyops-navbar-alerts.f058179c.js.map} +1 -1
  48. package/dist/chunks/eo-directory-tree-internal-node.eb2044aa.js +2 -0
  49. package/dist/chunks/{eo-directory-tree-internal-node.a400a546.js.map → eo-directory-tree-internal-node.eb2044aa.js.map} +1 -1
  50. package/dist/chunks/eo-directory-tree-leaf.8fc6c903.js +2 -0
  51. package/dist/chunks/{eo-directory-tree-leaf.c2052cb2.js.map → eo-directory-tree-leaf.8fc6c903.js.map} +1 -1
  52. package/dist/chunks/{eo-directory-tree.32e06471.js → eo-directory-tree.875e9246.js} +2 -2
  53. package/dist/chunks/{eo-directory-tree.32e06471.js.map → eo-directory-tree.875e9246.js.map} +1 -1
  54. package/dist/chunks/{eo-directory.a2873340.js → eo-directory.173acb10.js} +3 -3
  55. package/dist/chunks/{eo-directory.a2873340.js.map → eo-directory.173acb10.js.map} +1 -1
  56. package/dist/chunks/eo-frame-breadcrumb.10dc9e7c.js +2 -0
  57. package/dist/chunks/eo-frame-breadcrumb.10dc9e7c.js.map +1 -0
  58. package/dist/chunks/{eo-launchpad-button-v2.b742d6be.js → eo-launchpad-button-v2.4f0d4076.js} +3 -3
  59. package/dist/chunks/{eo-launchpad-button-v2.b742d6be.js.map → eo-launchpad-button-v2.4f0d4076.js.map} +1 -1
  60. package/dist/chunks/{eo-launchpad-button.fcc4d860.js → eo-launchpad-button.f1433197.js} +3 -3
  61. package/dist/chunks/{eo-launchpad-button.fcc4d860.js.map → eo-launchpad-button.f1433197.js.map} +1 -1
  62. package/dist/chunks/eo-nav-menu.a17bd52a.js +2 -0
  63. package/dist/chunks/eo-nav-menu.a17bd52a.js.map +1 -0
  64. package/dist/chunks/{eo-sidebar-menu-group.39f75a04.js → eo-sidebar-menu-group.19c9b720.js} +3 -3
  65. package/dist/chunks/{eo-sidebar-menu-group.39f75a04.js.map → eo-sidebar-menu-group.19c9b720.js.map} +1 -1
  66. package/dist/chunks/eo-sidebar-menu-submenu.c0afedee.js +3 -0
  67. package/dist/chunks/{eo-sidebar-menu-submenu.370de8ce.js.map → eo-sidebar-menu-submenu.c0afedee.js.map} +1 -1
  68. package/dist/chunks/{eo-sidebar-menu.a3df6b8b.js → eo-sidebar-menu.2e1bf36a.js} +2 -2
  69. package/dist/chunks/{eo-sidebar-menu.a3df6b8b.js.map → eo-sidebar-menu.2e1bf36a.js.map} +1 -1
  70. package/dist/chunks/eo-sidebar-sub-menu.3963d157.js +3 -0
  71. package/dist/chunks/eo-sidebar-sub-menu.3963d157.js.map +1 -0
  72. package/dist/chunks/eo-sidebar.cfbcaab8.js +3 -0
  73. package/dist/chunks/eo-sidebar.cfbcaab8.js.map +1 -0
  74. package/dist/chunks/launchpad-config.044a21bf.js +3 -0
  75. package/dist/chunks/launchpad-config.044a21bf.js.map +1 -0
  76. package/dist/chunks/main.84bb7e92.js +2 -0
  77. package/dist/chunks/{main.5e61f189.js.map → main.84bb7e92.js.map} +1 -1
  78. package/dist/chunks/{nav-logo.c765ac7d.js → nav-logo.ddf8ef91.js} +2 -2
  79. package/dist/chunks/{nav-logo.c765ac7d.js.map → nav-logo.ddf8ef91.js.map} +1 -1
  80. package/dist/chunks/{poll-announce.e41a9d31.js → poll-announce.10652f30.js} +3 -3
  81. package/dist/chunks/{poll-announce.e41a9d31.js.map → poll-announce.10652f30.js.map} +1 -1
  82. package/dist/examples.json +3 -3
  83. package/dist/index.13d3a4bd.js +2 -0
  84. package/dist/index.13d3a4bd.js.map +1 -0
  85. package/dist/manifest.json +37 -37
  86. package/dist/types.json +11 -11
  87. package/package.json +3 -3
  88. package/dist/chunks/1122.46c08d5f.js +0 -2
  89. package/dist/chunks/1122.46c08d5f.js.map +0 -1
  90. package/dist/chunks/1889.812b9ca5.js +0 -2
  91. package/dist/chunks/1889.812b9ca5.js.map +0 -1
  92. package/dist/chunks/1940.ea2c72ec.js +0 -2
  93. package/dist/chunks/1940.ea2c72ec.js.map +0 -1
  94. package/dist/chunks/2133.4b32eda4.js +0 -2
  95. package/dist/chunks/2133.4b32eda4.js.map +0 -1
  96. package/dist/chunks/2252.09da952a.js +0 -3
  97. package/dist/chunks/2252.09da952a.js.map +0 -1
  98. package/dist/chunks/2277.d2d6504b.js +0 -2
  99. package/dist/chunks/2277.d2d6504b.js.map +0 -1
  100. package/dist/chunks/3171.1db1673f.js +0 -2
  101. package/dist/chunks/3171.1db1673f.js.map +0 -1
  102. package/dist/chunks/3933.7a137140.js +0 -2
  103. package/dist/chunks/3933.7a137140.js.map +0 -1
  104. package/dist/chunks/4235.f5095d57.js +0 -3
  105. package/dist/chunks/4235.f5095d57.js.map +0 -1
  106. package/dist/chunks/4658.caf2d3b4.js +0 -2
  107. package/dist/chunks/4658.caf2d3b4.js.map +0 -1
  108. package/dist/chunks/4837.a82d955e.js +0 -2
  109. package/dist/chunks/4837.a82d955e.js.map +0 -1
  110. package/dist/chunks/5399.77e45ce2.js +0 -2
  111. package/dist/chunks/5399.77e45ce2.js.map +0 -1
  112. package/dist/chunks/5552.0ff35510.js +0 -2
  113. package/dist/chunks/5552.0ff35510.js.map +0 -1
  114. package/dist/chunks/6314.2b837619.js +0 -2
  115. package/dist/chunks/6314.2b837619.js.map +0 -1
  116. package/dist/chunks/6595.2dc9edb6.js +0 -2
  117. package/dist/chunks/6595.2dc9edb6.js.map +0 -1
  118. package/dist/chunks/7218.6b600db7.js +0 -2
  119. package/dist/chunks/7218.6b600db7.js.map +0 -1
  120. package/dist/chunks/8518.1e9320e3.js +0 -2
  121. package/dist/chunks/8518.1e9320e3.js.map +0 -1
  122. package/dist/chunks/871.18bf8ba5.js.map +0 -1
  123. package/dist/chunks/884.370187c6.js +0 -2
  124. package/dist/chunks/884.370187c6.js.map +0 -1
  125. package/dist/chunks/9559.1f660b3f.js +0 -2
  126. package/dist/chunks/9559.1f660b3f.js.map +0 -1
  127. package/dist/chunks/easyops-navbar-alerts.2a7aa348.js +0 -2
  128. package/dist/chunks/eo-directory-tree-internal-node.a400a546.js +0 -2
  129. package/dist/chunks/eo-directory-tree-leaf.c2052cb2.js +0 -2
  130. package/dist/chunks/eo-frame-breadcrumb.67d9af17.js +0 -2
  131. package/dist/chunks/eo-frame-breadcrumb.67d9af17.js.map +0 -1
  132. package/dist/chunks/eo-nav-menu.52a92ebe.js +0 -2
  133. package/dist/chunks/eo-nav-menu.52a92ebe.js.map +0 -1
  134. package/dist/chunks/eo-sidebar-menu-submenu.370de8ce.js +0 -3
  135. package/dist/chunks/eo-sidebar-sub-menu.ea3c5fd7.js +0 -3
  136. package/dist/chunks/eo-sidebar-sub-menu.ea3c5fd7.js.map +0 -1
  137. package/dist/chunks/eo-sidebar.ea770742.js +0 -3
  138. package/dist/chunks/eo-sidebar.ea770742.js.map +0 -1
  139. package/dist/chunks/launchpad-config.4efddc8e.js +0 -3
  140. package/dist/chunks/launchpad-config.4efddc8e.js.map +0 -1
  141. package/dist/chunks/main.5e61f189.js +0 -2
  142. package/dist/index.0eec50d6.js +0 -2
  143. package/dist/index.0eec50d6.js.map +0 -1
  144. /package/dist/chunks/{4235.f5095d57.js.LICENSE.txt → 1491.97fa1ded.js.LICENSE.txt} +0 -0
  145. /package/dist/chunks/{2252.09da952a.js.LICENSE.txt → 2252.ea991945.js.LICENSE.txt} +0 -0
  146. /package/dist/chunks/{eo-directory.a2873340.js.LICENSE.txt → eo-directory.173acb10.js.LICENSE.txt} +0 -0
  147. /package/dist/chunks/{eo-launchpad-button-v2.b742d6be.js.LICENSE.txt → eo-launchpad-button-v2.4f0d4076.js.LICENSE.txt} +0 -0
  148. /package/dist/chunks/{eo-launchpad-button.fcc4d860.js.LICENSE.txt → eo-launchpad-button.f1433197.js.LICENSE.txt} +0 -0
  149. /package/dist/chunks/{eo-sidebar-menu-group.39f75a04.js.LICENSE.txt → eo-sidebar-menu-group.19c9b720.js.LICENSE.txt} +0 -0
  150. /package/dist/chunks/{eo-sidebar-menu-submenu.370de8ce.js.LICENSE.txt → eo-sidebar-menu-submenu.c0afedee.js.LICENSE.txt} +0 -0
  151. /package/dist/chunks/{eo-sidebar-sub-menu.ea3c5fd7.js.LICENSE.txt → eo-sidebar-sub-menu.3963d157.js.LICENSE.txt} +0 -0
  152. /package/dist/chunks/{eo-sidebar.ea770742.js.LICENSE.txt → eo-sidebar.cfbcaab8.js.LICENSE.txt} +0 -0
  153. /package/dist/chunks/{launchpad-config.4efddc8e.js.LICENSE.txt → launchpad-config.044a21bf.js.LICENSE.txt} +0 -0
  154. /package/dist/chunks/{poll-announce.e41a9d31.js.LICENSE.txt → poll-announce.10652f30.js.LICENSE.txt} +0 -0
@@ -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(4295),p=r(4612),u=r(7522),m=r(9630);(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(4295),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(4946);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=null!=e?e:10}getFavoritesById(e){var t;return null!==(t=(0,v.cloneDeep)(this.collectMap.get(e)))&&void 0!==t?t:[]}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(9630);(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=>{var a;const o=null!==(a=e.groupFrom)&&void 0!==a?a:"default";r.add(o);const n=t.get(o);n?n.push(e):t.set(o,[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(4295);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,r)=>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",style:{...r}},e.text)),u=(e,t,r)=>o().createElement("span",{key:e.key,className:"menu-item-label",style:{...r}},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){color:var(--color-brand-hover)}.custom-group .item-link:hover::part(link){color:var(--color-brand-hover)}.group .item-link:hover::part(icon){color:var(--color-brand-hover)}.custom-group .item-link:hover::part(icon){color:var(--color-brand-hover)}.group .item-link.active::part(link){color:var(--palette-blue-8)}.custom-group .item-link.active::part(link){color:var(--palette-blue-8)}.group .item-link.active::part(icon){color:var(--palette-blue-8)}.custom-group .item-link.active::part(icon){color:var(--palette-blue-8)}.group .item-link::part(link){padding:8px 12px 8px 24px;display:flex;gap:4px;color:var(--color-header-text)}.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){color:var(--color-normal-text)}.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{content:"";position:absolute;width:6px;height:6px;top:17px;left:9px;transform:rotate(45deg);background:var(--color-secondary-text)}.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{content:"";position:absolute;width:6px;height:6px;top:10px;left:9px;border-radius:50%;background:var(--color-secondary-text)}.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.hasData{display:flex}.site-map .visit-access{margin-bottom:8px}.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:()=>i,LP:()=>c,Wf:()=>l});var a=r(1201),o=r(4946),n=r(1030);function i(e){return"group"===e.type}function l(e,t){return Boolean("subMenu"===e.type||t&&"group"===e.type)}function c(e,t,r,p){const u=[],m=[],d=[];let g=0;return e&&e.forEach((e=>{if(e.key=""===p?`${g}`:`${p}.${g}`,i(e)||l(e)){const a=c(e.items,t,r,e.key);u.push(...a.selectedKeys),(a.selectedKeys.length||e.defaultExpanded)&&m.push(e.key),m.push(...a.openedKeys),d.push(...a.matchedKeys)}else if(function(e,t,r){if(!e.to)return!1;const i="object"==typeof e.to?e.to:(0,a.parsePath)(e.to),l=i.pathname.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1");let c=!!(0,o.matchPath)(t,{path:l,exact:e.exact});if(c&&e.activeMatchSearch&&(c=s(r,i.search)),!c&&Array.isArray(e.activeIncludes))for(const i of e.activeIncludes){let e,l=!0;(0,n.isObject)(i)?(e=Array.isArray(i.path)?i.path:[i.path],l=i.exact):e=[i];for(const n of e){var p;let e;const i=n.includes("?");if(i&&(e=(0,a.parsePath)(n)),c=!!(0,o.matchPath)(t,{path:i?e.pathname:n,exact:l}),c&&null!==(p=e)&&void 0!==p&&p.search&&(c=s(r,e.search)),c)break}if(c)break}if(c&&Array.isArray(e.activeExcludes))for(const r of e.activeExcludes){let e,a=!0;(0,n.isObject)(r)?(e=Array.isArray(r.path)?r.path:[r.path],a=r.exact):e=[r];for(const r of e)if(c=!(0,o.matchPath)(t,{path:r,exact:a}),!c)break;if(!c)break}return c}(e,t,r)){u.push(String(e.key));const t=e.key.split(".");for(let e=0;e<t.length;e++)d.push(t.slice(0,e+1).join("."))}g+=1})),u.length&&""!==p&&m.push(p),{selectedKeys:u,openedKeys:m,matchedKeys:d}}function s(e,t){const r=new URLSearchParams(e),a=new URLSearchParams(t);for(const[e,t]of a.entries()){var o;if((null!==(o=r.get(e))&&void 0!==o?o:"")!==t)return!1}return!0}}}]);
2
+ //# sourceMappingURL=8518.cadb4ae4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/8518.cadb4ae4.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 labelStyle?: 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\" style={{ ...labelStyle }}>\n {item.text}\n </span>\n </WrappedLinkItem>\n );\n};\n\nexport const renderSpanCom = (\n item: SidebarMenuGroup,\n subMenu?: boolean,\n style?: React.CSSProperties\n): React.ReactElement => {\n return (\n <span key={item.key} className=\"menu-item-label\" style={{ ...style }}>\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){color:var(--color-brand-hover)}.custom-group .item-link:hover::part(link){color:var(--color-brand-hover)}.group .item-link:hover::part(icon){color:var(--color-brand-hover)}.custom-group .item-link:hover::part(icon){color:var(--color-brand-hover)}.group .item-link.active::part(link){color:var(--palette-blue-8)}.custom-group .item-link.active::part(link){color:var(--palette-blue-8)}.group .item-link.active::part(icon){color:var(--palette-blue-8)}.custom-group .item-link.active::part(icon){color:var(--palette-blue-8)}.group .item-link::part(link){padding:8px 12px 8px 24px;display:flex;gap:4px;color:var(--color-header-text)}.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){color:var(--color-normal-text)}.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{content:\"\";position:absolute;width:6px;height:6px;top:17px;left:9px;transform:rotate(45deg);background:var(--color-secondary-text)}.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{content:\"\";position:absolute;width:6px;height:6px;top:10px;left:9px;border-radius:50%;background:var(--color-secondary-text)}.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.hasData{display:flex}.site-map .visit-access{margin-bottom:8px}.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\";\nimport { isObject } from \"lodash\";\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 &&\n menuItems.forEach((item) => {\n // key的格式最终为0,1,2,0.1,0.2,0.1.1,0.1.2\n item.key =\n 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 paths: string[];\n let exact: boolean | undefined = true;\n\n if (isObject(include)) {\n paths = Array.isArray(include.path) ? include.path : [include.path];\n exact = include.exact;\n } else {\n paths = [include];\n }\n\n for (const path of paths) {\n let parsedPath: Location | undefined;\n const hasSearch = path.includes(\"?\");\n\n if (hasSearch) {\n parsedPath = parsePath(path);\n }\n match = !!matchPath(pathname, {\n path: hasSearch ? parsedPath!.pathname : path,\n exact,\n });\n\n if (match && parsedPath?.search) {\n match = getMatchOfSearch(search, parsedPath.search);\n }\n\n if (match) {\n break;\n }\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 let paths: string[];\n let exact: boolean | undefined = true;\n\n if (isObject(include)) {\n paths = Array.isArray(include.path) ? include.path : [include.path];\n exact = include.exact;\n } else {\n paths = [include];\n }\n\n for (const path of paths) {\n match = !matchPath(pathname, {\n path,\n exact,\n });\n\n if (!match) {\n break;\n }\n }\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","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","_item$groupFrom","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","labelStyle","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","paths","isObject","_parsedPath","parsedPath","hasSearch","activeExcludes","matchMenuItem","String","keyPath","split","slice","join","currentSearch","toSearch","URLSearchParams","_current$get"],"sourceRoot":""}
@@ -1,2 +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
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}=null!=t?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=(null!=s?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){var t;return JSON.parse(null!==(t=this.storage.getItem(this.prefix+e))&&void 0!==t?t:"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.dd7f6814.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/871.dd7f6814.js","mappings":"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","sources":["webpack:///../../node_modules/file-saver/dist/FileSaver.min.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/createProviderClass.js","webpack:///../../node_modules/@microsoft/fetch-event-source/lib/esm/fetch.js","webpack:///../../node_modules/@microsoft/fetch-event-source/lib/esm/parse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/createSSEStream.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/deepFreeze.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/hasOwnProperty.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/isObject.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/JsonStorage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/unwrapProvider.js"],"sourcesContent":["(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","import { saveAs } from \"file-saver\";\nexport function createProviderClass(api) {\n return class extends HTMLElement {\n get $$typeof() {\n return \"provider\";\n }\n resolve() {\n return api(...arguments);\n }\n async saveAs(filename) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n const blob = await api(...args);\n saveAs(blob, filename);\n }\n };\n}\n//# sourceMappingURL=createProviderClass.js.map","var __rest = (this && this.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\nimport { getBytes, getLines, getMessages } from './parse';\r\nexport const EventStreamContentType = 'text/event-stream';\r\nconst DefaultRetryInterval = 1000;\r\nconst LastEventId = 'last-event-id';\r\nexport function fetchEventSource(input, _a) {\r\n var { signal: inputSignal, headers: inputHeaders, onopen: inputOnOpen, onmessage, onclose, onerror, openWhenHidden, fetch: inputFetch } = _a, rest = __rest(_a, [\"signal\", \"headers\", \"onopen\", \"onmessage\", \"onclose\", \"onerror\", \"openWhenHidden\", \"fetch\"]);\r\n return new Promise((resolve, reject) => {\r\n const headers = Object.assign({}, inputHeaders);\r\n if (!headers.accept) {\r\n headers.accept = EventStreamContentType;\r\n }\r\n let curRequestController;\r\n function onVisibilityChange() {\r\n curRequestController.abort();\r\n if (!document.hidden) {\r\n create();\r\n }\r\n }\r\n if (!openWhenHidden) {\r\n document.addEventListener('visibilitychange', onVisibilityChange);\r\n }\r\n let retryInterval = DefaultRetryInterval;\r\n let retryTimer = 0;\r\n function dispose() {\r\n document.removeEventListener('visibilitychange', onVisibilityChange);\r\n window.clearTimeout(retryTimer);\r\n curRequestController.abort();\r\n }\r\n inputSignal === null || inputSignal === void 0 ? void 0 : inputSignal.addEventListener('abort', () => {\r\n dispose();\r\n resolve();\r\n });\r\n const fetch = inputFetch !== null && inputFetch !== void 0 ? inputFetch : window.fetch;\r\n const onopen = inputOnOpen !== null && inputOnOpen !== void 0 ? inputOnOpen : defaultOnOpen;\r\n async function create() {\r\n var _a;\r\n curRequestController = new AbortController();\r\n try {\r\n const response = await fetch(input, Object.assign(Object.assign({}, rest), { headers, signal: curRequestController.signal }));\r\n await onopen(response);\r\n await getBytes(response.body, getLines(getMessages(id => {\r\n if (id) {\r\n headers[LastEventId] = id;\r\n }\r\n else {\r\n delete headers[LastEventId];\r\n }\r\n }, retry => {\r\n retryInterval = retry;\r\n }, onmessage)));\r\n onclose === null || onclose === void 0 ? void 0 : onclose();\r\n dispose();\r\n resolve();\r\n }\r\n catch (err) {\r\n if (!curRequestController.signal.aborted) {\r\n try {\r\n const interval = (_a = onerror === null || onerror === void 0 ? void 0 : onerror(err)) !== null && _a !== void 0 ? _a : retryInterval;\r\n window.clearTimeout(retryTimer);\r\n retryTimer = window.setTimeout(create, interval);\r\n }\r\n catch (innerErr) {\r\n dispose();\r\n reject(innerErr);\r\n }\r\n }\r\n }\r\n }\r\n create();\r\n });\r\n}\r\nfunction defaultOnOpen(response) {\r\n const contentType = response.headers.get('content-type');\r\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.startsWith(EventStreamContentType))) {\r\n throw new Error(`Expected content-type to be ${EventStreamContentType}, Actual: ${contentType}`);\r\n }\r\n}\r\n//# sourceMappingURL=fetch.js.map","export async function getBytes(stream, onChunk) {\r\n const reader = stream.getReader();\r\n let result;\r\n while (!(result = await reader.read()).done) {\r\n onChunk(result.value);\r\n }\r\n}\r\nexport function getLines(onLine) {\r\n let buffer;\r\n let position;\r\n let fieldLength;\r\n let discardTrailingNewline = false;\r\n return function onChunk(arr) {\r\n if (buffer === undefined) {\r\n buffer = arr;\r\n position = 0;\r\n fieldLength = -1;\r\n }\r\n else {\r\n buffer = concat(buffer, arr);\r\n }\r\n const bufLength = buffer.length;\r\n let lineStart = 0;\r\n while (position < bufLength) {\r\n if (discardTrailingNewline) {\r\n if (buffer[position] === 10) {\r\n lineStart = ++position;\r\n }\r\n discardTrailingNewline = false;\r\n }\r\n let lineEnd = -1;\r\n for (; position < bufLength && lineEnd === -1; ++position) {\r\n switch (buffer[position]) {\r\n case 58:\r\n if (fieldLength === -1) {\r\n fieldLength = position - lineStart;\r\n }\r\n break;\r\n case 13:\r\n discardTrailingNewline = true;\r\n case 10:\r\n lineEnd = position;\r\n break;\r\n }\r\n }\r\n if (lineEnd === -1) {\r\n break;\r\n }\r\n onLine(buffer.subarray(lineStart, lineEnd), fieldLength);\r\n lineStart = position;\r\n fieldLength = -1;\r\n }\r\n if (lineStart === bufLength) {\r\n buffer = undefined;\r\n }\r\n else if (lineStart !== 0) {\r\n buffer = buffer.subarray(lineStart);\r\n position -= lineStart;\r\n }\r\n };\r\n}\r\nexport function getMessages(onId, onRetry, onMessage) {\r\n let message = newMessage();\r\n const decoder = new TextDecoder();\r\n return function onLine(line, fieldLength) {\r\n if (line.length === 0) {\r\n onMessage === null || onMessage === void 0 ? void 0 : onMessage(message);\r\n message = newMessage();\r\n }\r\n else if (fieldLength > 0) {\r\n const field = decoder.decode(line.subarray(0, fieldLength));\r\n const valueOffset = fieldLength + (line[fieldLength + 1] === 32 ? 2 : 1);\r\n const value = decoder.decode(line.subarray(valueOffset));\r\n switch (field) {\r\n case 'data':\r\n message.data = message.data\r\n ? message.data + '\\n' + value\r\n : value;\r\n break;\r\n case 'event':\r\n message.event = value;\r\n break;\r\n case 'id':\r\n onId(message.id = value);\r\n break;\r\n case 'retry':\r\n const retry = parseInt(value, 10);\r\n if (!isNaN(retry)) {\r\n onRetry(message.retry = retry);\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n}\r\nfunction concat(a, b) {\r\n const res = new Uint8Array(a.length + b.length);\r\n res.set(a);\r\n res.set(b, a.length);\r\n return res;\r\n}\r\nfunction newMessage() {\r\n return {\r\n data: '',\r\n event: '',\r\n id: '',\r\n retry: undefined,\r\n };\r\n}\r\n//# sourceMappingURL=parse.js.map","import { fetchEventSource } from \"@microsoft/fetch-event-source\";\n/**\n * 将 SSE 事件流转换为异步迭代器。\n */\nexport async function createSSEStream(url, options) {\n // Reference https://github.com/withspectrum/callback-to-async-iterator/blob/master/src/index.js\n const pushQueue = [];\n const pullQueue = [];\n let disposed = false;\n let closed = false;\n const {\n converter,\n ...fetchOptions\n } = options !== null && options !== void 0 ? options : {};\n await new Promise((resolve, reject) => {\n fetchEventSource(url, {\n ...fetchOptions,\n openWhenHidden: true,\n async onopen(response) {\n if (response.ok) {\n resolve(null);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"open error\", response.statusText);\n throw new Error(response.statusText);\n }\n },\n onmessage(msg) {\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\") {\n // eslint-disable-next-line no-console\n console.debug(\"[EventSource]\", msg);\n }\n let data;\n let reason;\n let ok = true;\n try {\n data = (converter !== null && converter !== void 0 ? converter : defaultConverter)(msg.data, msg.event);\n } catch (e) {\n ok = false;\n reason = e;\n }\n if (pullQueue.length > 0) {\n const [resolve, reject] = pullQueue.shift();\n ok ? resolve(data) : reject(reason);\n } else {\n pushQueue.push(ok ? {\n ok: true,\n data: data\n } : {\n ok: false,\n reason\n });\n }\n },\n onclose() {\n closed = true;\n earlyDone();\n },\n onerror(err) {\n throw err;\n }\n }).catch(reason => {\n reject(reason);\n bailout(reason);\n });\n });\n function bailout(reason) {\n pullQueue.forEach(_ref => {\n let [_resolve, reject] = _ref;\n return reject(reason);\n });\n dispose();\n }\n function earlyDone() {\n pullQueue.forEach(_ref2 => {\n let [resolve] = _ref2;\n return resolve({\n value: undefined,\n done: true\n });\n });\n }\n function dispose() {\n disposed = true;\n pullQueue.length = 0;\n pushQueue.length = 0;\n }\n return {\n next() {\n return disposed ? this.return() : new Promise((resolve, reject) => {\n if (pushQueue.length > 0) {\n const result = pushQueue.shift();\n if (result.ok) {\n resolve(result.data);\n } else {\n reject(result.reason);\n }\n } else if (closed) {\n dispose();\n resolve({\n value: undefined,\n done: true\n });\n } else {\n pullQueue.push([resolve, reject]);\n }\n });\n },\n return() {\n earlyDone();\n dispose();\n return Promise.resolve({\n value: undefined,\n done: true\n });\n },\n throw(error) {\n earlyDone();\n dispose();\n return Promise.reject(error);\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n}\nfunction defaultConverter(data, event) {\n if (event === \"error\") {\n var _value;\n // eslint-disable-next-line no-console\n console.error(\"Received error event:\", data);\n let value;\n try {\n value = JSON.parse(data);\n } catch {\n // Ignore\n }\n throw new Error(typeof ((_value = value) === null || _value === void 0 ? void 0 : _value.error) === \"string\" ? value.error : data);\n }\n\n // By default, `data: [DONE]` indicates the end of the stream\n if (data === \"[DONE]\") {\n return {\n value: undefined,\n done: true\n };\n }\n if (data.startsWith(\"[ERROR]\")) {\n // eslint-disable-next-line no-console\n console.error(\"Received error message:\", data);\n throw new Error(data);\n }\n try {\n const value = JSON.parse(data);\n return {\n value,\n done: false\n };\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to parse message:\", data);\n throw e;\n }\n}\n//# sourceMappingURL=createSSEStream.js.map","// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n\n/** @internal */\nexport function deepFreeze(object) {\n // Retrieve the property names defined on object\n const propNames = Object.getOwnPropertyNames(object);\n\n // Freeze properties before freezing self\n\n for (const name of propNames) {\n const value = object[name];\n if (value && typeof value === \"object\") {\n deepFreeze(value);\n }\n }\n return Object.freeze(object);\n}\n//# sourceMappingURL=deepFreeze.js.map","export function hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n//# sourceMappingURL=hasOwnProperty.js.map","// Ref https://github.com/lodash/lodash/blob/4.17.11/lodash.js#L11744\nexport function isObject(value) {\n const type = typeof value;\n return value != null && (type == \"object\" || type == \"function\");\n}\n//# sourceMappingURL=isObject.js.map","// This is copied from\n// [@next-libs/storage](https://github.com/easyops-cn/next-libs/tree/master/libs/storage),\n// and the types is refined.\n// The usage of JsonStorage from @next-libs/storage should be deprecated,\n// and migrated to from @next-core/brick-utils.\nexport class JsonStorage {\n constructor(storage) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"brick-next-\";\n this.storage = storage;\n this.prefix = prefix;\n }\n setItem(name, value) {\n this.storage.setItem(this.prefix + name, JSON.stringify(value));\n }\n getItem(name) {\n var _this$storage$getItem;\n return JSON.parse((_this$storage$getItem = this.storage.getItem(this.prefix + name)) !== null && _this$storage$getItem !== void 0 ? _this$storage$getItem : \"null\");\n }\n removeItem(name) {\n return this.storage.removeItem(this.prefix + name);\n }\n clear() {\n return this.storage.clear();\n }\n}\n//# sourceMappingURL=JsonStorage.js.map","const pool = new Map();\nfunction getProviderBrick(provider) {\n let brick = pool.get(provider);\n if (brick) {\n return brick;\n }\n brick = document.createElement(provider);\n pool.set(provider, brick);\n return brick;\n}\nexport function unwrapProvider(provider) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n const brick = getProviderBrick(provider);\n return brick.resolve(...args);\n };\n}\n//# sourceMappingURL=unwrapProvider.js.map"],"names":["c","a","b","d","XMLHttpRequest","open","responseType","onload","g","response","onerror","console","error","send","status","e","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","f","self","global","navigator","test","userAgent","saveAs","HTMLAnchorElement","prototype","h","i","URL","webkitURL","j","createElement","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","autoBom","warn","type","Blob","title","body","innerText","HTMLElement","safari","FileReader","k","onloadend","result","replace","readAsDataURL","l","m","module","exports","createProviderClass","api","$$typeof","resolve","arguments","filename","_len","length","args","Array","_key","blob","__rest","s","t","p","Object","hasOwnProperty","call","indexOf","getOwnPropertySymbols","propertyIsEnumerable","EventStreamContentType","DefaultRetryInterval","LastEventId","fetchEventSource","input","_a","signal","inputSignal","headers","inputHeaders","onopen","inputOnOpen","onmessage","onclose","openWhenHidden","fetch","inputFetch","rest","Promise","reject","assign","curRequestController","onVisibilityChange","abort","hidden","create","accept","addEventListener","retryInterval","retryTimer","dispose","removeEventListener","clearTimeout","defaultOnOpen","async","AbortController","stream","onChunk","reader","getReader","read","done","value","getBytes","onLine","buffer","position","fieldLength","discardTrailingNewline","arr","undefined","res","Uint8Array","set","concat","bufLength","lineStart","lineEnd","subarray","getLines","onId","onRetry","onMessage","message","data","event","id","retry","decoder","TextDecoder","line","field","decode","valueOffset","parseInt","isNaN","getMessages","err","aborted","interval","innerErr","contentType","get","startsWith","Error","createSSEStream","url","options","pushQueue","pullQueue","disposed","closed","converter","fetchOptions","earlyDone","forEach","_ref2","ok","statusText","msg","reason","defaultConverter","shift","push","catch","_ref","_resolve","bailout","next","this","return","throw","Symbol","asyncIterator","_value","JSON","parse","deepFreeze","object","propNames","getOwnPropertyNames","freeze","property","isObject","JsonStorage","constructor","storage","prefix","setItem","stringify","getItem","_this$storage$getItem","removeItem","clear","pool","Map","unwrapProvider","provider","brick","getProviderBrick"],"sourceRoot":""}