@next-bricks/nav 1.7.5 → 1.8.1

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 (136) hide show
  1. package/dist/bricks.json +17 -12
  2. package/dist/chunks/1303.3d18dc1f.js +2 -0
  3. package/dist/chunks/{1303.f8781f1e.js.map → 1303.3d18dc1f.js.map} +1 -1
  4. package/dist/chunks/1646.77553d12.js +2 -0
  5. package/dist/chunks/{7746.260b71d0.js.map → 1646.77553d12.js.map} +1 -1
  6. package/dist/chunks/1777.ed356823.js +3 -0
  7. package/dist/chunks/1777.ed356823.js.map +1 -0
  8. package/dist/chunks/{3458.5f964f61.js → 3458.068e1227.js} +2 -2
  9. package/dist/chunks/{3458.5f964f61.js.map → 3458.068e1227.js.map} +1 -1
  10. package/dist/chunks/4504.43f9bc64.js +2 -0
  11. package/dist/chunks/4504.43f9bc64.js.map +1 -0
  12. package/dist/chunks/4752.6990d30d.js +3 -0
  13. package/dist/chunks/{4752.711b53ac.js.map → 4752.6990d30d.js.map} +1 -1
  14. package/dist/chunks/5381.ebb9994d.js +2 -0
  15. package/dist/chunks/{5381.e4a6e23e.js.map → 5381.ebb9994d.js.map} +1 -1
  16. package/dist/chunks/{5636.5e02727d.js → 5636.ddc8f5a9.js} +2 -2
  17. package/dist/chunks/{5636.5e02727d.js.map → 5636.ddc8f5a9.js.map} +1 -1
  18. package/dist/chunks/6176.af19f99d.js +2 -0
  19. package/dist/chunks/{6176.5f1b9334.js.map → 6176.af19f99d.js.map} +1 -1
  20. package/dist/chunks/{6205.92e17c7a.js → 6205.4d1b40e8.js} +2 -2
  21. package/dist/chunks/{6205.92e17c7a.js.map → 6205.4d1b40e8.js.map} +1 -1
  22. package/dist/chunks/{6264.fdb96a4c.js → 6264.00d98962.js} +3 -3
  23. package/dist/chunks/{6264.fdb96a4c.js.map → 6264.00d98962.js.map} +1 -1
  24. package/dist/chunks/6482.be3f3ec8.js +2 -0
  25. package/dist/chunks/{6482.11a9ddd7.js.map → 6482.be3f3ec8.js.map} +1 -1
  26. package/dist/chunks/6660.20f07bce.js +2 -0
  27. package/dist/chunks/{6660.dba8103b.js.map → 6660.20f07bce.js.map} +1 -1
  28. package/dist/chunks/7067.c9943271.js +2 -0
  29. package/dist/chunks/{7067.7171bcf3.js.map → 7067.c9943271.js.map} +1 -1
  30. package/dist/chunks/{7164.cc776ab0.js → 7164.f71bebbf.js} +2 -2
  31. package/dist/chunks/{7164.cc776ab0.js.map → 7164.f71bebbf.js.map} +1 -1
  32. package/dist/chunks/7632.fff7e9f1.js +2 -0
  33. package/dist/chunks/{7632.ca8d3aec.js.map → 7632.fff7e9f1.js.map} +1 -1
  34. package/dist/chunks/7746.bc012355.js +2 -0
  35. package/dist/chunks/{1646.c6da9f79.js.map → 7746.bc012355.js.map} +1 -1
  36. package/dist/chunks/7846.6bd82b2b.js +3 -0
  37. package/dist/chunks/7846.6bd82b2b.js.map +1 -0
  38. package/dist/chunks/{7955.e48f725e.js → 7955.d87f5edc.js} +3 -3
  39. package/dist/chunks/{7955.e48f725e.js.map → 7955.d87f5edc.js.map} +1 -1
  40. package/dist/chunks/{8691.9eda91e1.js → 8691.3256ba57.js} +2 -2
  41. package/dist/chunks/{8691.9eda91e1.js.map → 8691.3256ba57.js.map} +1 -1
  42. package/dist/chunks/9549.5c342e5a.js +2 -0
  43. package/dist/chunks/{9549.96e5c40b.js.map → 9549.5c342e5a.js.map} +1 -1
  44. package/dist/chunks/easyops-navbar-alerts.c31484c3.js +2 -0
  45. package/dist/chunks/{easyops-navbar-alerts.afe56f3c.js.map → easyops-navbar-alerts.c31484c3.js.map} +1 -1
  46. package/dist/chunks/{eo-app-bar-wrapper.b4f8f999.js → eo-app-bar-wrapper.8f9dc72d.js} +3 -3
  47. package/dist/chunks/{eo-app-bar-wrapper.b4f8f999.js.map → eo-app-bar-wrapper.8f9dc72d.js.map} +1 -1
  48. package/dist/chunks/{eo-directory-tree-internal-node.d0feebd8.js → eo-directory-tree-internal-node.75902858.js} +2 -2
  49. package/dist/chunks/{eo-directory-tree-internal-node.d0feebd8.js.map → eo-directory-tree-internal-node.75902858.js.map} +1 -1
  50. package/dist/chunks/{eo-directory-tree-leaf.036d7afa.js → eo-directory-tree-leaf.7b1c43a5.js} +2 -2
  51. package/dist/chunks/{eo-directory-tree-leaf.036d7afa.js.map → eo-directory-tree-leaf.7b1c43a5.js.map} +1 -1
  52. package/dist/chunks/{eo-directory-tree.6571ebbb.js → eo-directory-tree.8f7c8196.js} +2 -2
  53. package/dist/chunks/{eo-directory-tree.6571ebbb.js.map → eo-directory-tree.8f7c8196.js.map} +1 -1
  54. package/dist/chunks/{eo-directory.cf79852a.js → eo-directory.2eb0385d.js} +3 -3
  55. package/dist/chunks/{eo-directory.cf79852a.js.map → eo-directory.2eb0385d.js.map} +1 -1
  56. package/dist/chunks/eo-frame-breadcrumb.8bfebd47.js +2 -0
  57. package/dist/chunks/{eo-frame-breadcrumb.e04ed276.js.map → eo-frame-breadcrumb.8bfebd47.js.map} +1 -1
  58. package/dist/chunks/eo-launchpad-button-v2.afd75664.js +2 -0
  59. package/dist/chunks/{eo-launchpad-button-v2.d7ae8b12.js.map → eo-launchpad-button-v2.afd75664.js.map} +1 -1
  60. package/dist/chunks/{eo-launchpad-button.3eb5a588.js → eo-launchpad-button.625f256d.js} +2 -2
  61. package/dist/chunks/{eo-launchpad-button.3eb5a588.js.map → eo-launchpad-button.625f256d.js.map} +1 -1
  62. package/dist/chunks/{eo-launchpad-quick-access.8370a05f.js → eo-launchpad-quick-access.ebd5546b.js} +3 -3
  63. package/dist/chunks/{eo-launchpad-quick-access.8370a05f.js.map → eo-launchpad-quick-access.ebd5546b.js.map} +1 -1
  64. package/dist/chunks/eo-nav-menu.16adb96a.js +2 -0
  65. package/dist/chunks/{eo-nav-menu.2bad4c25.js.map → eo-nav-menu.16adb96a.js.map} +1 -1
  66. package/dist/chunks/eo-sidebar-menu-group.cd81f3e5.js +3 -0
  67. package/dist/chunks/{eo-sidebar-menu-group.3b948901.js.map → eo-sidebar-menu-group.cd81f3e5.js.map} +1 -1
  68. package/dist/chunks/{eo-sidebar-menu-item.374bd110.js → eo-sidebar-menu-item.f151ee3c.js} +2 -2
  69. package/dist/chunks/{eo-sidebar-menu-item.374bd110.js.map → eo-sidebar-menu-item.f151ee3c.js.map} +1 -1
  70. package/dist/chunks/eo-sidebar-menu-submenu.08f9daef.js +3 -0
  71. package/dist/chunks/{eo-sidebar-menu-submenu.61d164b8.js.map → eo-sidebar-menu-submenu.08f9daef.js.map} +1 -1
  72. package/dist/chunks/eo-sidebar-menu.dabad1e9.js +2 -0
  73. package/dist/chunks/{eo-sidebar-menu.e933f391.js.map → eo-sidebar-menu.dabad1e9.js.map} +1 -1
  74. package/dist/chunks/eo-sidebar-sub-menu.9ba1f12e.js +3 -0
  75. package/dist/chunks/{eo-sidebar-sub-menu.abede88f.js.map → eo-sidebar-sub-menu.9ba1f12e.js.map} +1 -1
  76. package/dist/chunks/eo-sidebar.2f6ece40.js +3 -0
  77. package/dist/chunks/{eo-sidebar.728a6e5d.js.map → eo-sidebar.2f6ece40.js.map} +1 -1
  78. package/dist/chunks/launchpad-config.b2ac8386.js +3 -0
  79. package/dist/chunks/{launchpad-config.64204062.js.map → launchpad-config.b2ac8386.js.map} +1 -1
  80. package/dist/chunks/main.a289261f.js +2 -0
  81. package/dist/chunks/{main.2c3b67b8.js.map → main.a289261f.js.map} +1 -1
  82. package/dist/chunks/nav-logo.1be3b0ff.js +2 -0
  83. package/dist/chunks/nav-logo.1be3b0ff.js.map +1 -0
  84. package/dist/examples.json +3 -0
  85. package/dist/index.d462d4ca.js +2 -0
  86. package/dist/index.d462d4ca.js.map +1 -0
  87. package/dist/manifest.json +21 -12
  88. package/dist/types.json +135 -0
  89. package/dist-types/bootstrap.d.ts +1 -0
  90. package/dist-types/nav-logo/index.d.ts +14 -0
  91. package/dist-types/nav-logo/index.spec.d.ts +1 -0
  92. package/docs/nav-logo.md +9 -0
  93. package/package.json +3 -3
  94. package/dist/chunks/1303.f8781f1e.js +0 -2
  95. package/dist/chunks/1646.c6da9f79.js +0 -2
  96. package/dist/chunks/4282.c07e42b6.js +0 -3
  97. package/dist/chunks/4282.c07e42b6.js.map +0 -1
  98. package/dist/chunks/4504.0a34e5c5.js +0 -2
  99. package/dist/chunks/4504.0a34e5c5.js.map +0 -1
  100. package/dist/chunks/4752.711b53ac.js +0 -3
  101. package/dist/chunks/5381.e4a6e23e.js +0 -2
  102. package/dist/chunks/6176.5f1b9334.js +0 -2
  103. package/dist/chunks/6482.11a9ddd7.js +0 -2
  104. package/dist/chunks/6660.dba8103b.js +0 -2
  105. package/dist/chunks/7067.7171bcf3.js +0 -2
  106. package/dist/chunks/7632.ca8d3aec.js +0 -2
  107. package/dist/chunks/7746.260b71d0.js +0 -2
  108. package/dist/chunks/9102.1a6633c8.js +0 -3
  109. package/dist/chunks/9102.1a6633c8.js.map +0 -1
  110. package/dist/chunks/9549.96e5c40b.js +0 -2
  111. package/dist/chunks/easyops-navbar-alerts.afe56f3c.js +0 -2
  112. package/dist/chunks/eo-frame-breadcrumb.e04ed276.js +0 -2
  113. package/dist/chunks/eo-launchpad-button-v2.d7ae8b12.js +0 -2
  114. package/dist/chunks/eo-nav-menu.2bad4c25.js +0 -2
  115. package/dist/chunks/eo-sidebar-menu-group.3b948901.js +0 -3
  116. package/dist/chunks/eo-sidebar-menu-submenu.61d164b8.js +0 -3
  117. package/dist/chunks/eo-sidebar-menu.e933f391.js +0 -2
  118. package/dist/chunks/eo-sidebar-sub-menu.abede88f.js +0 -3
  119. package/dist/chunks/eo-sidebar.728a6e5d.js +0 -3
  120. package/dist/chunks/launchpad-config.64204062.js +0 -3
  121. package/dist/chunks/main.2c3b67b8.js +0 -2
  122. package/dist/index.1c46377b.js +0 -2
  123. package/dist/index.1c46377b.js.map +0 -1
  124. /package/dist/chunks/{9102.1a6633c8.js.LICENSE.txt → 1777.ed356823.js.LICENSE.txt} +0 -0
  125. /package/dist/chunks/{4752.711b53ac.js.LICENSE.txt → 4752.6990d30d.js.LICENSE.txt} +0 -0
  126. /package/dist/chunks/{6264.fdb96a4c.js.LICENSE.txt → 6264.00d98962.js.LICENSE.txt} +0 -0
  127. /package/dist/chunks/{4282.c07e42b6.js.LICENSE.txt → 7846.6bd82b2b.js.LICENSE.txt} +0 -0
  128. /package/dist/chunks/{7955.e48f725e.js.LICENSE.txt → 7955.d87f5edc.js.LICENSE.txt} +0 -0
  129. /package/dist/chunks/{eo-app-bar-wrapper.b4f8f999.js.LICENSE.txt → eo-app-bar-wrapper.8f9dc72d.js.LICENSE.txt} +0 -0
  130. /package/dist/chunks/{eo-directory.cf79852a.js.LICENSE.txt → eo-directory.2eb0385d.js.LICENSE.txt} +0 -0
  131. /package/dist/chunks/{eo-launchpad-quick-access.8370a05f.js.LICENSE.txt → eo-launchpad-quick-access.ebd5546b.js.LICENSE.txt} +0 -0
  132. /package/dist/chunks/{eo-sidebar-menu-group.3b948901.js.LICENSE.txt → eo-sidebar-menu-group.cd81f3e5.js.LICENSE.txt} +0 -0
  133. /package/dist/chunks/{eo-sidebar-menu-submenu.61d164b8.js.LICENSE.txt → eo-sidebar-menu-submenu.08f9daef.js.LICENSE.txt} +0 -0
  134. /package/dist/chunks/{eo-sidebar-sub-menu.abede88f.js.LICENSE.txt → eo-sidebar-sub-menu.9ba1f12e.js.LICENSE.txt} +0 -0
  135. /package/dist/chunks/{eo-sidebar.728a6e5d.js.LICENSE.txt → eo-sidebar.2f6ece40.js.LICENSE.txt} +0 -0
  136. /package/dist/chunks/{launchpad-config.64204062.js.LICENSE.txt → launchpad-config.b2ac8386.js.LICENSE.txt} +0 -0
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 4752.6990d30d.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[4752],{9477:(e,a,t)=>{t.d(a,{Z:()=>h});var n=t(7896),r=t(8657),l=t.n(r),i=t(2779),o=t.n(i),c=t(2892),m=t(6176),s=t(3697),p=t(3132),u=t(5178);function d(e){var a,{item:t,active:r,onClick:i}=e;return l().createElement("li",{className:"platform-category-sidebar-menu-item"},l().createElement(c.kk,{type:"plain",className:o()({active:r}),onClick:()=>null==i?void 0:i(t)},l().createElement(c.V3,(0,n.Z)({className:"platform-category-sidebar-menu-icon",lib:"easyops",category:"second-menu",icon:"serve-second-menu"},null!==(a=t.icon)&&void 0!==a&&a.lib&&t.icon.icon?(0,u.pick)(t.icon,["lib","icon","theme","category","prefix"]):null)),l().createElement("span",{className:"platform-category-sidebar-menu-item-label"},t.name)))}function v(e){var a,{item:t}=e;return l().createElement("li",null,l().createElement(c.kk,(0,n.Z)({type:"plain"},"app"===t.type?{url:t.url}:{href:t.url,target:"_blank"}),l().createElement("div",{className:"platform-item"},l().createElement("div",{className:"platform-item-title"},l().createElement(c.V3,(0,n.Z)({className:"platform-item-icon",lib:"easyops",category:"third-menu",icon:"deploy-orchestration-tasks-third-menu"},null!==(a=t.menuIcon)&&void 0!==a&&a.lib&&t.menuIcon.icon?(0,u.pick)(t.menuIcon,["lib","icon","theme","category","prefix"]):null)),l().createElement("div",{className:"platform-item-name"},t.name)),l().createElement("div",{className:"platform-item-description"},t.description))))}var g=t(175);function h(e){var{active:a}=e,t=(0,r.useRef)(null),i=(0,r.useCallback)((()=>{var e;null===(e=t.current)||void 0===e||e.focus()}),[]),[u,h]=(0,r.useState)("#all"),b=l().useMemo((()=>{var e;return null===(e=(0,g.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-platform-category"]}),[]),x=l().useMemo((()=>{var e;return null===(e=(0,g.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-scenario-center"]}),[]),k=l().useMemo((()=>{var e;return null===(e=(0,g.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-solution-center"]}),[]),y=l().useMemo((()=>{var e;return null===(e=(0,g.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-open-platform"]}),[]),{loading:E,q:N,setQ:w,menuGroups:C,favorites:V,loadingFavorites:Z,recentVisits:j,pushRecentVisit:S,toggleStar:_,isStarred:z,platformCategories:F}=(0,m.m1)(a),I=!!N,R=(0,r.useCallback)((e=>{w(e.target.value)}),[w]),q=(0,r.useCallback)((()=>{w("")}),[w]);(0,r.useEffect)((()=>{var e;a&&(null===(e=t.current)||void 0===e||e.focus())}),[a]);var L=(0,r.useCallback)((e=>{h(e.id)}),[]),M=(0,r.useMemo)((()=>F.find((e=>e.id===u))),[u,F]);return l().createElement("div",{className:o()("launchpad",{active:a})},l().createElement(p.Z.Provider,{value:{searching:I,loadingFavorites:Z,pushRecentVisit:S,toggleStar:_,isStarred:z}},l().createElement("div",{className:"sidebar"},l().createElement("div",{className:"union"},l().createElement("div",{className:"quick-nav"},l().createElement("div",{className:"quick-nav-label"},"快捷访问"),l().createElement("ul",{className:"sidebar-menu quick-nav-menu"},V.map(((e,a)=>l().createElement(s.L,{key:a,item:e}))))),b&&l().createElement("div",{className:"platform-nav"},l().createElement("div",{className:"platform-nav-label"},"平台底座"),l().createElement("ul",{className:"sidebar-menu platform-nav-menu"},F.map(((e,a)=>l().createElement(d,{key:a,onClick:L,item:e,active:u===e.id})))))),x&&l().createElement("div",{className:"jump-nav"},l().createElement(c.kk,{type:"plain",url:"/portal/scenario"},l().createElement("div",{className:"jump-nav-label"},"场景中心"),l().createElement(c.V3,{lib:"antd",icon:"right",theme:"outlined"}))),k&&l().createElement("div",{className:"jump-nav"},l().createElement(c.kk,{type:"plain",url:"/portal/solution"},l().createElement("div",{className:"jump-nav-label"},"解决方案"),l().createElement(c.V3,{lib:"antd",icon:"right",theme:"outlined"}))),y&&l().createElement("div",{className:"jump-nav"},l().createElement(c.kk,{type:"plain",url:"/developers"},l().createElement("div",{className:"jump-nav-label"},"开放平台"),l().createElement(c.V3,{lib:"antd",icon:"right",theme:"outlined"})))),l().createElement("div",{className:o()("content",{loading:E})},l().createElement(f,{loading:E}),"#all"!==u&&l().createElement("div",{className:"platform-category-name"},null==M?void 0:M.name),l().createElement("div",{className:"search-box",onClick:i},l().createElement(c.V3,{lib:"fa",icon:"magnifying-glass",className:"search-icon"}),l().createElement("input",{ref:t,placeholder:"通过关键字搜索",value:N,onChange:R,className:"search-input"}),l().createElement(c.V3,{lib:"antd",theme:"filled",icon:"close-circle",className:o()("search-clear",{searching:I}),onClick:q})),"#all"===u&&l().createElement("div",{className:o()({empty:0===j.length})},l().createElement("div",{className:"recent-visits-label"},"最近访问"),l().createElement("ul",{className:"recent-visits"},j.map(((e,a)=>l().createElement("li",{key:a},l().createElement(c.kk,(0,n.Z)({onClick:()=>S(e)},"app"===e.type?{url:e.url}:{href:e.url,target:"_blank"}),l().createElement("span",null,e.name))))))),"#all"===u&&l().createElement("ul",{className:"menu-groups"},C.map((e=>l().createElement(s.k,{key:e.name,name:e.name,items:e.items})))),"#all"!==u&&l().createElement("ul",{className:o()("platform-items",{empty:0===(null==M?void 0:M.items.length)})},null==M?void 0:M.items.map(((e,a)=>l().createElement(v,{item:e,key:a})))))))}function f(e){var{loading:a}=e;return a&&l().createElement("div",{className:"spinner"},l().createElement(c.V3,{lib:"fa",icon:"spinner",spinning:!0}))}},3132:(e,a,t)=>{t.d(a,{L:()=>i,Z:()=>l});var n=t(8657),r=t.n(n),l=r().createContext({}),i=()=>r().useContext(l)},3697:(e,a,t)=>{t.d(a,{L:()=>d,k:()=>p});var n=t(7896),r=t(8657),l=t.n(r),i=t(5178),o=t(2779),c=t.n(o),m=t(2892),s=t(3132);function p(e){var{name:a,items:t}=e;return l().createElement("li",{className:"menu-group"},l().createElement("div",{className:"menu-group-label"},a),l().createElement("ul",{className:"menu"},t.map((e=>"dir"===e.type?l().createElement(v,{key:"".concat(e.type,"-").concat(e.id),name:e.name,items:e.items}):l().createElement(u,{key:"".concat(e.type,"-").concat(e.id),item:e})))))}function u(e){var a,{item:t}=e,{loadingFavorites:o,readonly:p,pushRecentVisit:u,toggleStar:d,isStarred:v}=(0,s.L)(),g=(0,r.useMemo)((()=>v(t)),[v,t]),h=(0,r.useCallback)((()=>{d(t)}),[t,d]),f=(0,r.useCallback)((()=>{u(t)}),[t,u]);return l().createElement("li",{className:c()("menu-item",{starred:g,"can-star":!o})},l().createElement(m.kk,(0,n.Z)({onClick:f},"app"===t.type?{url:t.url}:{href:t.url,target:"_blank"}),l().createElement(m.V3,(0,n.Z)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(a=t.menuIcon)&&void 0!==a&&a.lib&&t.menuIcon.icon?(0,i.pick)(t.menuIcon,["lib","icon","theme","category","prefix"]):null)),l().createElement("span",{className:"menu-item-label"},t.name)),!p&&l().createElement(m.V3,{lib:"fa",prefix:g?"fas":"far",icon:"star",className:"menu-item-star",title:g?"取消收藏":"收藏",onClick:h}))}function d(e){var a,{item:t}=e,{readonly:o,pushRecentVisit:c,toggleStar:p}=(0,s.L)(),u=(0,r.useCallback)((()=>{"link"!==t.type&&c(t)}),[t,c]),d=(0,r.useCallback)((()=>{p(t)}),[t,p]);return l().createElement("li",{className:"sidebar-menu-item"},l().createElement(m.kk,(0,n.Z)({onClick:u},"app"===t.type?{url:t.url}:{href:t.url,target:"_blank"}),l().createElement(m.V3,(0,n.Z)({className:"sidebar-menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(a=t.menuIcon)&&void 0!==a&&a.lib&&t.menuIcon.icon?(0,i.pick)(t.menuIcon,["lib","icon","theme","category","prefix"]):null)),l().createElement("span",{className:"menu-item-label"},t.name)),!o&&l().createElement(m.V3,{lib:"fa",icon:"xmark",className:"menu-item-remove",onClick:d}))}function v(e){var{name:a,items:t}=e,{searching:n}=(0,s.L)(),[i,o]=(0,r.useState)(!1),[p,d]=(0,r.useState)(!1),v=(0,r.useCallback)((()=>{n?d((e=>!e)):o((e=>!e))}),[n]);(0,r.useEffect)((()=>{d(!0)}),[n]);var g=n?p:i;return l().createElement("li",{className:"menu-item folder"},l().createElement(m.kk,{onClick:v},l().createElement(m.V3,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),l().createElement("span",{className:"menu-item-label"},a),l().createElement(m.V3,{lib:"antd",icon:g?"up":"down",className:"menu-item-toggle"})),l().createElement("ul",{className:c()("sub-menu",{expanded:g})},t.map((e=>l().createElement(u,{key:"".concat(e.type,"-").concat(e.id),item:e})))))}},7756:(e,a,t)=>{t.d(a,{Z:()=>o});var n=t(9601),r=t.n(n),l=t(2609),i=t.n(l)()(r());i.push([e.id,':root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme="dark"],\nhtml[data-theme="dark-v2"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}',""]);const o=i},7505:(e,a,t)=>{t.d(a,{Z:()=>o});var n=t(9601),r=t.n(n),l=t(2609),i=t.n(l)()(r());i.push([e.id,".platform-category-name,\n.platform-category-sidebar-menu-item-label,\n.platform-item-name,\n.platform-item-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-category-sidebar-menu-item{display:flex;gap:8px;align-items:center;padding:0px 12px 0px 16px}.platform-category-sidebar-menu-item > eo-link{display:block;min-width:0px;color:var(--color-header-text);cursor:pointer}.platform-category-sidebar-menu-item > eo-link:hover,\n.platform-category-sidebar-menu-item\n > eo-link:hover\n .platform-category-sidebar-menu-icon{color:var(--color-brand-hover)}.platform-category-sidebar-menu-item > eo-link.active,\n.platform-category-sidebar-menu-item\n > eo-link.active\n .platform-category-sidebar-menu-icon{color:var(--color-brand-active)}.platform-category-sidebar-menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px}.platform-category-sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.platform-category-name{font-size:18px;font-weight:500;color:var(--text-color-secondary);flex-shrink:0}.platform-items{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0 54px;gap:0 54px}.platform-items > li{min-width:0}.platform-items > li > eo-link{width:100%;cursor:pointer}.platform-item{padding:12px 0;display:flex;flex-direction:column}.platform-item:hover .platform-item-icon,\n.platform-item:hover .platform-item-name{color:var(--color-brand-hover)}.platform-item-title{display:flex;align-items:center;margin-bottom:4px}.platform-item-icon{margin-right:8px;font-size:14px;color:var(--text-color-secondary);flex-shrink:0}.platform-item-name{font-weight:500;color:var(--text-color-title);line-height:18px}.platform-item-description{margin-left:22px;color:var(--text-color-secondary);line-height:18px}",""]);const o=i.toString()},6976:(e,a,t)=>{t.d(a,{Z:()=>o});var n=t(9601),r=t.n(n),l=t(2609),i=t.n(l)()(r());i.push([e.id,":host{display:inline-block;width:32px;height:32px;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 36px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);height:var(--eo-launchpad-v2-max-height);background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-size:205px 205px;background-repeat:no-repeat;background-position:left 52px bottom 27px}.sidebar > *:not(:last-child){border-bottom:1px solid var(--stroke-color-default)}.quick-nav-label,\n.platform-nav-label,\n.jump-nav-label,\n.menu-group-label,\n.menu-item-label,\n.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu,\n.menu-groups,\n.menu,\n.sub-menu,\n.recent-visits,\n.platform-items{list-style:none;margin:0;padding:0}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.sidebar-menu-item > eo-link,\n.menu-item > eo-link,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.union{flex:1;display:flex;flex-direction:column;overflow-y:auto}.quick-nav,\n.platform-nav{display:flex;flex-direction:column;padding:20px 0 24px}.platform-nav{padding:0 0 24px}.quick-nav-label,\n.platform-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.quick-nav-menu,\n.platform-nav-menu{flex:1}.jump-nav > eo-link{display:block;cursor:pointer}.jump-nav > eo-link::part(link){padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.jump-nav-label{flex:1;color:var(--color-header-text);font-weight:500}.jump-nav > eo-icon{font-size:14px;color:var(--text-color-default)}.content{flex:1;padding:20px 24px 24px;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;margin-top:-10px;cursor:text}.search-icon{color:var(--color-auxiliary-text)}.search-input{padding:0;margin:0;border:none;outline:none;color:inherit;background-color:transparent;font-size:14px;line-height:22px;flex:1;min-width:0}.search-input::placeholder{color:var(--color-disabled-text);opacity:1}.search-clear{display:none;color:var(--color-secondary-text);cursor:pointer}.search-clear.searching{display:inline-block}.search-clear:hover{color:var(--color-auxiliary-text)}.menu-groups,\n.recent-visits{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.sidebar-menu-item,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-launchpad-v2-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-remove,\n.menu-item-star{cursor:pointer}.menu-item-remove,\n.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.recent-visits-label{margin-bottom:12px;font-size:var(--card-title-font-size);color:var(--color-header-text);font-weight:500}.recent-visits{display:grid;grid-gap:8px;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.content,\n .search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}.content > :not(:last-child){margin-bottom:24px}}",""]);const o=i.toString()},7425:(e,a,t)=>{var n=t(6062),r=t.n(n),l=t(4036),i=t.n(l),o=t(6793),c=t.n(o),m=t(7892),s=t.n(m),p=t(1173),u=t.n(p),d=t(2464),v=t.n(d),g=t(7756),h={};h.styleTagTransform=v(),h.setAttributes=s(),h.insert=c().bind(null,"head"),h.domAPI=i(),h.insertStyleElement=u(),r()(g.Z,h),g.Z&&g.Z.locals&&g.Z.locals},1719:(e,a,t)=>{t.d(a,{W:()=>l});var n=t(4795),r=t(9751),l=function(){var e=(0,n.Z)((function*(e,a,t){return(yield r.http.post("api/gateway/cmdb.instance.PostSearchV3/v3/object/".concat(e,"/instance/_search"),a,t)).data}));return function(a,t,n){return e.apply(this,arguments)}}()},8685:(e,a,t)=>{t.d(a,{i:()=>l});var n=t(4795),r=t(3352),l=function(){var e=(0,n.Z)((function*(e,a){return(yield r.http.post("api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection",e,a)).data}));return function(a,t){return e.apply(this,arguments)}}()},5003:(e,a,t)=>{t.d(a,{I:()=>r});var n=t(3352),r=(e,a)=>n.http.delete("api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/".concat(e),a)},4008:(e,a,t)=>{t.d(a,{$:()=>i});var n=t(3028),r=t(4795),l=t(3352),i=function(){var e=(0,r.Z)((function*(e,a){return(yield l.http.get("api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection",(0,n.Z)((0,n.Z)({},a),{},{params:e}))).data}));return function(a,t){return e.apply(this,arguments)}}()}}]);
3
+ //# sourceMappingURL=4752.6990d30d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/4752.711b53ac.js","mappings":"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","sources":["webpack:///./src/launchpad-button-v2/PlatformCategory.tsx","webpack:///./src/launchpad-button-v2/Launchpad.tsx","webpack:///./src/launchpad-button-v2/LaunchpadContext.ts","webpack:///./src/launchpad-button-v2/MenuGroup.tsx","webpack:///./src/launchpad-button-v2/host-context.css","webpack:///./src/launchpad-button-v2/PlatformCategory.shadow.css","webpack:///./src/launchpad-button-v2/styles.shadow.css","webpack:///./src/launchpad-button-v2/host-context.css?59a8","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/postSearchV3.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/createCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/deleteCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/listCollectionV2.js"],"sourcesContent":["import React from \"react\";\nimport { WrappedLink, WrappedIcon } from \"./wrapped-bricks\";\nimport { MenuItemDataNormal, PlatformCategoryItem } from \"./interfaces\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\n\nexport interface PlatformCategorySidebarMenuItemProps {\n item: PlatformCategoryItem;\n active?: boolean;\n onClick?: (item: PlatformCategoryItem) => void;\n}\n\nexport function PlatformCategorySidebarMenuItem({\n item,\n active,\n onClick,\n}: PlatformCategorySidebarMenuItemProps) {\n return (\n <li className=\"platform-category-sidebar-menu-item\">\n <WrappedLink\n type=\"plain\"\n className={classNames({ active })}\n onClick={() => onClick?.(item)}\n >\n <WrappedIcon\n className={\"platform-category-sidebar-menu-icon\"}\n lib=\"easyops\"\n category=\"second-menu\"\n icon=\"serve-second-menu\"\n {...(item.icon?.lib && item.icon.icon\n ? (pick(item.icon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"platform-category-sidebar-menu-item-label\">\n {item.name}\n </span>\n </WrappedLink>\n </li>\n );\n}\n\nexport interface PlatformItemProps {\n item: MenuItemDataNormal;\n}\n\nexport function PlatformItem({ item }: PlatformItemProps) {\n return (\n <li>\n <WrappedLink\n type=\"plain\"\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <div className=\"platform-item\">\n <div className=\"platform-item-title\">\n <WrappedIcon\n className=\"platform-item-icon\"\n lib=\"easyops\"\n category=\"third-menu\"\n icon=\"deploy-orchestration-tasks-third-menu\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <div className=\"platform-item-name\">{item.name}</div>\n </div>\n <div className=\"platform-item-description\">{item.description}</div>\n </div>\n </WrappedLink>\n </li>\n );\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadInfo } from \"./useLaunchpadInfo.js\";\nimport { MenuGroup, SidebarMenuItem } from \"./MenuGroup.js\";\nimport { LaunchpadsContext } from \"./LaunchpadContext.js\";\nimport { PlatformCategoryItem, SidebarMenuItemData } from \"./interfaces\";\nimport {\n PlatformItem,\n PlatformCategorySidebarMenuItem,\n} from \"./PlatformCategory\";\nimport { getRuntime } from \"@next-core/runtime\";\n\nexport function Launchpad({ active }: { active?: boolean }) {\n const searchInputRef = useRef<HTMLInputElement>(null);\n const handleClickSearchBox = useCallback(() => {\n searchInputRef.current?.focus();\n }, []);\n const [platform, setPlatform] = useState(\"#all\");\n\n const showPlatformCategory = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-platform-category\"],\n []\n );\n\n const showScenarioCenter = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-scenario-center\"],\n []\n );\n\n const showSolutionCenter = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-solution-center\"],\n []\n );\n\n const showOpenPlatform = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-open-platform\"],\n []\n );\n\n const {\n loading,\n q,\n setQ,\n menuGroups,\n favorites,\n loadingFavorites,\n recentVisits,\n pushRecentVisit,\n toggleStar,\n isStarred,\n platformCategories,\n } = useLaunchpadInfo(active);\n const searching = !!q;\n\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setQ(e.target.value);\n },\n [setQ]\n );\n\n const clearSearch = useCallback(() => {\n setQ(\"\");\n }, [setQ]);\n\n useEffect(() => {\n if (active) {\n searchInputRef.current?.focus();\n }\n }, [active]);\n\n const handlePlatformCategoryClick = useCallback(\n (item: PlatformCategoryItem) => {\n setPlatform(item.id);\n },\n []\n );\n\n const curCategory = useMemo(() => {\n return platformCategories.find((v) => v.id === platform);\n }, [platform, platformCategories]);\n\n return (\n <div className={classNames(\"launchpad\", { active })}>\n <LaunchpadsContext.Provider\n value={{\n searching,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n }}\n >\n <div className=\"sidebar\">\n <div className=\"union\">\n <div className=\"quick-nav\">\n <div className=\"quick-nav-label\">快捷访问</div>\n {/* <Loading loading={loading || loadingFavorites} /> */}\n <ul className=\"sidebar-menu quick-nav-menu\">\n {favorites.map((item, index) => (\n <SidebarMenuItem\n key={index}\n item={item as SidebarMenuItemData}\n />\n ))}\n </ul>\n </div>\n\n {showPlatformCategory && (\n <div className=\"platform-nav\">\n <div className=\"platform-nav-label\">平台底座</div>\n <ul className=\"sidebar-menu platform-nav-menu\">\n {platformCategories.map((item, index) => (\n <PlatformCategorySidebarMenuItem\n key={index}\n onClick={handlePlatformCategoryClick}\n item={item}\n active={platform === item.id}\n />\n ))}\n </ul>\n </div>\n )}\n </div>\n {showScenarioCenter && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/portal/scenario\"}>\n <div className=\"jump-nav-label\">场景中心</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n\n {showSolutionCenter && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/portal/solution\"}>\n <div className=\"jump-nav-label\">解决方案</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n\n {showOpenPlatform && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/developers\"}>\n <div className=\"jump-nav-label\">开放平台</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n </div>\n <div className={classNames(\"content\", { loading })}>\n <Loading loading={loading} />\n {platform !== \"#all\" && (\n <div className=\"platform-category-name\">{curCategory?.name}</div>\n )}\n <div className=\"search-box\" onClick={handleClickSearchBox}>\n <WrappedIcon\n lib=\"fa\"\n icon=\"magnifying-glass\"\n className=\"search-icon\"\n />\n <input\n ref={searchInputRef}\n placeholder=\"通过关键字搜索\"\n value={q}\n onChange={handleSearch}\n className=\"search-input\"\n />\n <WrappedIcon\n lib=\"antd\"\n theme=\"filled\"\n icon=\"close-circle\"\n className={classNames(\"search-clear\", { searching })}\n onClick={clearSearch}\n />\n </div>\n {platform === \"#all\" && (\n <div className={classNames({ empty: recentVisits.length === 0 })}>\n <div className=\"recent-visits-label\">最近访问</div>\n <ul className=\"recent-visits\">\n {recentVisits.map((item, index) => (\n <li key={index}>\n <WrappedLink\n onClick={() => pushRecentVisit(item)}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <span>{item.name}</span>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </div>\n )}\n {platform === \"#all\" && (\n <ul className=\"menu-groups\">\n {menuGroups.map((group) => (\n <MenuGroup\n key={group.name}\n name={group.name}\n items={group.items}\n />\n ))}\n </ul>\n )}\n {platform !== \"#all\" && (\n <ul\n className={classNames(\"platform-items\", {\n empty: curCategory?.items.length === 0,\n })}\n >\n {curCategory?.items.map((item, index) => (\n <PlatformItem item={item} key={index} />\n ))}\n </ul>\n )}\n </div>\n </LaunchpadsContext.Provider>\n </div>\n );\n}\n\nfunction Loading({ loading }: { loading: boolean }) {\n return (\n loading && (\n <div className=\"spinner\">\n <WrappedIcon lib=\"fa\" icon=\"spinner\" spinning />\n </div>\n )\n );\n}\n","import React from \"react\";\nimport type { MenuItemDataLink, MenuItemDataNormal } from \"./interfaces\";\n\nexport interface LaunchpadContextData {\n searching: boolean;\n loadingFavorites: boolean;\n readonly?: boolean;\n pushRecentVisit(item: MenuItemDataNormal): void;\n toggleStar(item: MenuItemDataNormal | MenuItemDataLink): void;\n isStarred(item: MenuItemDataNormal): boolean;\n}\n\nexport const LaunchpadsContext = React.createContext<LaunchpadContextData>(\n {} as LaunchpadContextData\n);\n\nexport const useLaunchpadContext = (): LaunchpadContextData =>\n React.useContext(LaunchpadsContext);\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadContext } from \"./LaunchpadContext\";\nimport type {\n MenuItemData,\n MenuItemDataNormal,\n SidebarMenuItemData,\n} from \"./interfaces\";\n\nexport interface MenuGroupProps {\n name: string;\n items: MenuItemData[];\n}\n\nexport function MenuGroup({ name, items }: MenuGroupProps) {\n return (\n <li className=\"menu-group\">\n <div className=\"menu-group-label\">{name}</div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={`${item.type}-${item.id}`}\n name={item.name}\n items={item.items}\n />\n ) : (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n item: MenuItemDataNormal;\n}\n\nfunction MenuItem({ item }: MenuItemProps) {\n const { loadingFavorites, readonly, pushRecentVisit, toggleStar, isStarred } =\n useLaunchpadContext();\n\n const starred = useMemo(() => isStarred(item), [isStarred, item]);\n\n const handleStarClick = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n const handleClick = useCallback(() => {\n pushRecentVisit(item);\n }, [item, pushRecentVisit]);\n\n return (\n <li\n className={classNames(\"menu-item\", {\n starred,\n \"can-star\": !loadingFavorites,\n })}\n >\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <WrappedIcon\n className=\"menu-icon\"\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n prefix={starred ? \"fas\" : \"far\"}\n icon=\"star\"\n className=\"menu-item-star\"\n title={starred ? \"取消收藏\" : \"收藏\"}\n onClick={handleStarClick}\n />\n )}\n </li>\n );\n}\n\nexport interface SidebarMenuItemProps {\n item: SidebarMenuItemData;\n}\n\nexport function SidebarMenuItem({ item }: SidebarMenuItemProps) {\n const { readonly, pushRecentVisit, toggleStar } = useLaunchpadContext();\n\n const handleClick = useCallback(() => {\n if (item.type !== \"link\") {\n pushRecentVisit(item);\n }\n }, [item, pushRecentVisit]);\n\n const handleRemoveStar = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n return (\n <li className=\"sidebar-menu-item\">\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <WrappedIcon\n className={`sidebar-menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n icon=\"xmark\"\n className=\"menu-item-remove\"\n onClick={handleRemoveStar}\n />\n )}\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n name: string;\n items: MenuItemDataNormal[];\n}\n\nfunction MenuItemFolder({ name, items }: MenuItemFolderProps) {\n const { searching } = useLaunchpadContext();\n const [expanded, setExpanded] = useState(false);\n const [searchingExpanded, setSearchingExpanded] = useState(false);\n\n const toggle = useCallback(() => {\n // Use separated expanded states for searching and non-searching.\n if (searching) {\n setSearchingExpanded((previous) => !previous);\n } else {\n setExpanded((previous) => !previous);\n }\n }, [searching]);\n\n useEffect(() => {\n // Each time when start searching, set it as expanded.\n setSearchingExpanded(true);\n }, [searching]);\n\n const actualExpanded = searching ? searchingExpanded : expanded;\n\n return (\n <li className=\"menu-item folder\">\n <WrappedLink onClick={toggle}>\n <WrappedIcon\n lib=\"fa\"\n prefix=\"far\"\n icon=\"folder-open\"\n className=\"menu-icon\"\n />\n <span className=\"menu-item-label\">{name}</span>\n <WrappedIcon\n lib=\"antd\"\n icon={actualExpanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n <ul className={classNames(\"sub-menu\", { expanded: actualExpanded })}>\n {items.map((item) => (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n ))}\n </ul>\n </li>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.platform-category-name,\n.platform-category-sidebar-menu-item-label,\n.platform-item-name,\n.platform-item-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-category-sidebar-menu-item{display:flex;gap:8px;align-items:center;padding:0px 12px 0px 16px}.platform-category-sidebar-menu-item > eo-link{display:block;min-width:0px;color:var(--color-header-text);cursor:pointer}.platform-category-sidebar-menu-item > eo-link:hover,\n.platform-category-sidebar-menu-item\n > eo-link:hover\n .platform-category-sidebar-menu-icon{color:var(--color-brand-hover)}.platform-category-sidebar-menu-item > eo-link.active,\n.platform-category-sidebar-menu-item\n > eo-link.active\n .platform-category-sidebar-menu-icon{color:var(--color-brand-active)}.platform-category-sidebar-menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px}.platform-category-sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.platform-category-name{font-size:18px;font-weight:500;color:var(--text-color-secondary);flex-shrink:0}.platform-items{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0 54px;gap:0 54px}.platform-items > li{min-width:0}.platform-items > li > eo-link{width:100%;cursor:pointer}.platform-item{padding:12px 0;display:flex;flex-direction:column}.platform-item:hover .platform-item-icon,\n.platform-item:hover .platform-item-name{color:var(--color-brand-hover)}.platform-item-title{display:flex;align-items:center;margin-bottom:4px}.platform-item-icon{margin-right:8px;font-size:14px;color:var(--text-color-secondary);flex-shrink:0}.platform-item-name{font-weight:500;color:var(--text-color-title);line-height:18px}.platform-item-description{margin-left:22px;color:var(--text-color-secondary);line-height:18px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block;width:32px;height:32px;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 36px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);height:var(--eo-launchpad-v2-max-height);background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-size:205px 205px;background-repeat:no-repeat;background-position:left 52px bottom 27px}.sidebar > *:not(:last-child){border-bottom:1px solid var(--stroke-color-default)}.quick-nav-label,\n.platform-nav-label,\n.jump-nav-label,\n.menu-group-label,\n.menu-item-label,\n.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu,\n.menu-groups,\n.menu,\n.sub-menu,\n.recent-visits,\n.platform-items{list-style:none;margin:0;padding:0}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.sidebar-menu-item > eo-link,\n.menu-item > eo-link,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.union{flex:1;display:flex;flex-direction:column;overflow-y:auto}.quick-nav,\n.platform-nav{display:flex;flex-direction:column;padding:20px 0 24px}.platform-nav{padding:0 0 24px}.quick-nav-label,\n.platform-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.quick-nav-menu,\n.platform-nav-menu{flex:1}.jump-nav > eo-link{display:block;cursor:pointer}.jump-nav > eo-link::part(link){padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.jump-nav-label{flex:1;color:var(--color-header-text);font-weight:500}.jump-nav > eo-icon{font-size:14px;color:var(--text-color-default)}.content{flex:1;padding:20px 24px 24px;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;margin-top:-10px;cursor:text}.search-icon{color:var(--color-auxiliary-text)}.search-input{padding:0;margin:0;border:none;outline:none;color:inherit;background-color:transparent;font-size:14px;line-height:22px;flex:1;min-width:0}.search-input::placeholder{color:var(--color-disabled-text);opacity:1}.search-clear{display:none;color:var(--color-secondary-text);cursor:pointer}.search-clear.searching{display:inline-block}.search-clear:hover{color:var(--color-auxiliary-text)}.menu-groups,\n.recent-visits{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.sidebar-menu-item,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-launchpad-v2-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-remove,\n.menu-item-star{cursor:pointer}.menu-item-remove,\n.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.recent-visits-label{margin-bottom:12px;font-size:var(--card-title-font-size);color:var(--color-header-text);font-weight:500}.recent-visits{display:grid;grid-gap:8px;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.content,\n .search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}.content > :not(:last-child){margin-bottom:24px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 搜索实例V3 (支持多属性排序)\n * @endpoint POST /v3/object/:objectId/instance/_search\n */\nexport var InstanceApi_postSearchV3 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, data, options) {\n return (/**! @contract easyops.api.cmdb.instance.PostSearchV3@1.1.0 */(yield http.post(\"api/gateway/cmdb.instance.PostSearchV3/v3/object/\".concat(objectId, \"/instance/_search\"), data, options)).data\n );\n });\n return function InstanceApi_postSearchV3(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=postSearchV3.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 新增我的收藏V2\n * @endpoint POST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_createCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.user_service.launchpad.CreateCollectionV2@1.0.0 */(yield http.post(\"api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection\", data, options)).data\n );\n });\n return function LaunchpadApi_createCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=createCollectionV2.js.map","import { http } from \"@next-core/http\";\n\n/**\n * @description 删除我的收藏V2\n * @endpoint DELETE /api/v2/launchpad/collection/:instanceId\n */\nexport var LaunchpadApi_deleteCollectionV2 = (instanceId, options) => /**! @contract easyops.api.user_service.launchpad.DeleteCollectionV2@1.0.0 */http.delete(\"api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/\".concat(instanceId), options);\n//# sourceMappingURL=deleteCollectionV2.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取我的收藏列表V2\n * @endpoint LIST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_listCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.launchpad.ListCollectionV2@1.0.0 */(yield http.get(\"api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function LaunchpadApi_listCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listCollectionV2.js.map"],"names":["PlatformCategorySidebarMenuItem","_ref","_item$icon","item","active","onClick","React","className","WrappedLink","type","classNames","WrappedIcon","_extends","lib","category","icon","pick","name","PlatformItem","_ref2","_item$menuIcon","url","href","target","menuIcon","description","Launchpad","searchInputRef","useRef","handleClickSearchBox","useCallback","_searchInputRef$curre","current","focus","platform","setPlatform","useState","showPlatformCategory","_getRuntime","getRuntime","getFeatureFlags","showScenarioCenter","_getRuntime2","showSolutionCenter","_getRuntime3","showOpenPlatform","_getRuntime4","loading","q","setQ","menuGroups","favorites","loadingFavorites","recentVisits","pushRecentVisit","toggleStar","isStarred","platformCategories","useLaunchpadInfo","searching","handleSearch","e","value","clearSearch","useEffect","_searchInputRef$curre2","handlePlatformCategoryClick","id","curCategory","useMemo","find","v","LaunchpadsContext","Provider","map","index","SidebarMenuItem","key","theme","Loading","ref","placeholder","onChange","empty","length","group","MenuGroup","items","spinning","useLaunchpadContext","MenuItemFolder","concat","MenuItem","readonly","starred","handleStarClick","handleClick","prefix","title","_ref3","_item$menuIcon2","handleRemoveStar","_ref4","expanded","setExpanded","searchingExpanded","setSearchingExpanded","toggle","previous","actualExpanded","___CSS_LOADER_EXPORT___","push","module","toString","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","InstanceApi_postSearchV3","objectId","data","http","post","_x","_x2","_x3","apply","this","arguments","LaunchpadApi_createCollectionV2","LaunchpadApi_deleteCollectionV2","instanceId","delete","LaunchpadApi_listCollectionV2","params","get"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/4752.6990d30d.js","mappings":";2OAYO,SAASA,EAA+BC,GAIN,IAAAC,GAJO,KAC9CC,EAAI,OACJC,EAAM,QACNC,GACqCJ,EACrC,OACEK,IAAAA,cAAA,MAAIC,UAAU,uCACZD,IAAAA,cAACE,EAAAA,GAAW,CACVC,KAAK,QACLF,UAAWG,IAAW,CAAEN,WACxBC,QAASA,IAAMA,aAAO,EAAPA,EAAUF,IAEzBG,IAAAA,cAACK,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVL,UAAW,sCACXM,IAAI,UACJC,SAAS,cACTC,KAAK,qBACS,QAATb,EAAAC,EAAKY,YAAI,IAAAb,GAATA,EAAWW,KAAOV,EAAKY,KAAKA,MAC5BC,EAAAA,EAAAA,MAAKb,EAAKY,KAAM,CACf,MACA,OACA,QACA,WACA,WAEF,OAENT,IAAAA,cAAA,QAAMC,UAAU,6CACbJ,EAAKc,OAKhB,CAMO,SAASC,EAAYC,GAA8B,IAAAC,GAA7B,KAAEjB,GAAyBgB,EACtD,OACEb,IAAAA,cAAA,UACEA,IAAAA,cAACE,EAAAA,IAAWI,EAAAA,EAAAA,GAAA,CACVH,KAAK,SACc,QAAdN,EAAKM,KACN,CACEY,IAAKlB,EAAKkB,KAEZ,CACEC,KAAMnB,EAAKkB,IACXE,OAAQ,WAGdjB,IAAAA,cAAA,OAAKC,UAAU,iBACbD,IAAAA,cAAA,OAAKC,UAAU,uBACbD,IAAAA,cAACK,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVL,UAAU,qBACVM,IAAI,UACJC,SAAS,aACTC,KAAK,yCACa,QAAbK,EAAAjB,EAAKqB,gBAAQ,IAAAJ,GAAbA,EAAeP,KAAOV,EAAKqB,SAAST,MACpCC,EAAAA,EAAAA,MAAKb,EAAKqB,SAAU,CACnB,MACA,OACA,QACA,WACA,WAEF,OAENlB,IAAAA,cAAA,OAAKC,UAAU,sBAAsBJ,EAAKc,OAE5CX,IAAAA,cAAA,OAAKC,UAAU,6BAA6BJ,EAAKsB,eAK3D,cCtEO,SAASC,EAASzB,GAAmC,IAAlC,OAAEG,GAA8BH,EAClD0B,GAAiBC,EAAAA,EAAAA,QAAyB,MAC1CC,GAAuBC,EAAAA,EAAAA,cAAY,KAAM,IAAAC,EACvB,QAAtBA,EAAAJ,EAAeK,eAAO,IAAAD,GAAtBA,EAAwBE,OAAO,GAC9B,KACIC,EAAUC,IAAeC,EAAAA,EAAAA,UAAS,QAEnCC,EAAuB/B,IAAAA,SAC3B,SAAAgC,EAAA,OAAkB,QAAlBA,GAAMC,EAAAA,EAAAA,qBAAY,IAAAD,OAAA,EAAZA,EAAcE,kBAAkB,mCAAmC,GACzE,IAGIC,EAAqBnC,IAAAA,SACzB,SAAAoC,EAAA,OAAkB,QAAlBA,GAAMH,EAAAA,EAAAA,qBAAY,IAAAG,OAAA,EAAZA,EAAcF,kBAAkB,iCAAiC,GACvE,IAGIG,EAAqBrC,IAAAA,SACzB,SAAAsC,EAAA,OAAkB,QAAlBA,GAAML,EAAAA,EAAAA,qBAAY,IAAAK,OAAA,EAAZA,EAAcJ,kBAAkB,iCAAiC,GACvE,IAGIK,EAAmBvC,IAAAA,SACvB,SAAAwC,EAAA,OAAkB,QAAlBA,GAAMP,EAAAA,EAAAA,qBAAY,IAAAO,OAAA,EAAZA,EAAcN,kBAAkB,+BAA+B,GACrE,KAGI,QACJO,EAAO,EACPC,EAAC,KACDC,EAAI,WACJC,EAAU,UACVC,EAAS,iBACTC,EAAgB,aAChBC,EAAY,gBACZC,EAAe,WACfC,EAAU,UACVC,EAAS,mBACTC,IACEC,EAAAA,EAAAA,IAAiBtD,GACfuD,IAAcX,EAEdY,GAAe9B,EAAAA,EAAAA,cAClB+B,IACCZ,EAAKY,EAAEtC,OAAOuC,MAAM,GAEtB,CAACb,IAGGc,GAAcjC,EAAAA,EAAAA,cAAY,KAC9BmB,EAAK,GAAG,GACP,CAACA,KAEJe,EAAAA,EAAAA,YAAU,KACI,IAAAC,EAAR7D,IACoB,QAAtB6D,EAAAtC,EAAeK,eAAO,IAAAiC,GAAtBA,EAAwBhC,QAC1B,GACC,CAAC7B,IAEJ,IAAM8D,GAA8BpC,EAAAA,EAAAA,cACjC3B,IACCgC,EAAYhC,EAAKgE,GAAG,GAEtB,IAGIC,GAAcC,EAAAA,EAAAA,UAAQ,IACnBZ,EAAmBa,MAAMC,GAAMA,EAAEJ,KAAOjC,KAC9C,CAACA,EAAUuB,IAEd,OACEnD,IAAAA,cAAA,OAAKC,UAAWG,IAAW,YAAa,CAAEN,YACxCE,IAAAA,cAACkE,EAAAA,EAAkBC,SAAQ,CACzBX,MAAO,CACLH,YACAP,mBACAE,kBACAC,aACAC,cAGFlD,IAAAA,cAAA,OAAKC,UAAU,WACbD,IAAAA,cAAA,OAAKC,UAAU,SACbD,IAAAA,cAAA,OAAKC,UAAU,aACbD,IAAAA,cAAA,OAAKC,UAAU,mBAAkB,QAEjCD,IAAAA,cAAA,MAAIC,UAAU,+BACX4C,EAAUuB,KAAI,CAACvE,EAAMwE,IACpBrE,IAAAA,cAACsE,EAAAA,EAAe,CACdC,IAAKF,EACLxE,KAAMA,QAMbkC,GACC/B,IAAAA,cAAA,OAAKC,UAAU,gBACbD,IAAAA,cAAA,OAAKC,UAAU,sBAAqB,QACpCD,IAAAA,cAAA,MAAIC,UAAU,kCACXkD,EAAmBiB,KAAI,CAACvE,EAAMwE,IAC7BrE,IAAAA,cAACN,EAA+B,CAC9B6E,IAAKF,EACLtE,QAAS6D,EACT/D,KAAMA,EACNC,OAAQ8B,IAAa/B,EAAKgE,UAOrC1B,GACCnC,IAAAA,cAAA,OAAKC,UAAU,YACbD,IAAAA,cAACE,EAAAA,GAAW,CAACC,KAAK,QAAQY,IAAK,oBAC7Bf,IAAAA,cAAA,OAAKC,UAAU,kBAAiB,QAChCD,IAAAA,cAACK,EAAAA,GAAW,CAACE,IAAI,OAAOE,KAAK,QAAQ+D,MAAM,eAKhDnC,GACCrC,IAAAA,cAAA,OAAKC,UAAU,YACbD,IAAAA,cAACE,EAAAA,GAAW,CAACC,KAAK,QAAQY,IAAK,oBAC7Bf,IAAAA,cAAA,OAAKC,UAAU,kBAAiB,QAChCD,IAAAA,cAACK,EAAAA,GAAW,CAACE,IAAI,OAAOE,KAAK,QAAQ+D,MAAM,eAKhDjC,GACCvC,IAAAA,cAAA,OAAKC,UAAU,YACbD,IAAAA,cAACE,EAAAA,GAAW,CAACC,KAAK,QAAQY,IAAK,eAC7Bf,IAAAA,cAAA,OAAKC,UAAU,kBAAiB,QAChCD,IAAAA,cAACK,EAAAA,GAAW,CAACE,IAAI,OAAOE,KAAK,QAAQ+D,MAAM,gBAKnDxE,IAAAA,cAAA,OAAKC,UAAWG,IAAW,UAAW,CAAEqC,aACtCzC,IAAAA,cAACyE,EAAO,CAAChC,QAASA,IACJ,SAAbb,GACC5B,IAAAA,cAAA,OAAKC,UAAU,0BAA0B6D,aAAW,EAAXA,EAAanD,MAExDX,IAAAA,cAAA,OAAKC,UAAU,aAAaF,QAASwB,GACnCvB,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,KACJE,KAAK,mBACLR,UAAU,gBAEZD,IAAAA,cAAA,SACE0E,IAAKrD,EACLsD,YAAY,UACZnB,MAAOd,EACPkC,SAAUtB,EACVrD,UAAU,iBAEZD,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,OACJiE,MAAM,SACN/D,KAAK,eACLR,UAAWG,IAAW,eAAgB,CAAEiD,cACxCtD,QAAS0D,KAGC,SAAb7B,GACC5B,IAAAA,cAAA,OAAKC,UAAWG,IAAW,CAAEyE,MAA+B,IAAxB9B,EAAa+B,UAC/C9E,IAAAA,cAAA,OAAKC,UAAU,uBAAsB,QACrCD,IAAAA,cAAA,MAAIC,UAAU,iBACX8C,EAAaqB,KAAI,CAACvE,EAAMwE,IACvBrE,IAAAA,cAAA,MAAIuE,IAAKF,GACPrE,IAAAA,cAACE,EAAAA,IAAWI,EAAAA,EAAAA,GAAA,CACVP,QAASA,IAAMiD,EAAgBnD,IACZ,QAAdA,EAAKM,KACN,CACEY,IAAKlB,EAAKkB,KAEZ,CACEC,KAAMnB,EAAKkB,IACXE,OAAQ,WAGdjB,IAAAA,cAAA,YAAOH,EAAKc,YAOV,SAAbiB,GACC5B,IAAAA,cAAA,MAAIC,UAAU,eACX2C,EAAWwB,KAAKW,GACf/E,IAAAA,cAACgF,EAAAA,EAAS,CACRT,IAAKQ,EAAMpE,KACXA,KAAMoE,EAAMpE,KACZsE,MAAOF,EAAME,WAKP,SAAbrD,GACC5B,IAAAA,cAAA,MACEC,UAAWG,IAAW,iBAAkB,CACtCyE,MAAqC,KAA9Bf,aAAW,EAAXA,EAAamB,MAAMH,WAG3BhB,aAAW,EAAXA,EAAamB,MAAMb,KAAI,CAACvE,EAAMwE,IAC7BrE,IAAAA,cAACY,EAAY,CAACf,KAAMA,EAAM0E,IAAKF,SAQ/C,CAEA,SAASI,EAAO5D,GAAoC,IAAnC,QAAE4B,GAA+B5B,EAChD,OACE4B,GACEzC,IAAAA,cAAA,OAAKC,UAAU,WACbD,IAAAA,cAACK,EAAAA,GAAW,CAACE,IAAI,KAAKE,KAAK,UAAUyE,UAAQ,IAIrD,kECxOahB,EAAoBlE,IAAAA,cAC/B,CAAC,GAGUmF,EAAsBA,IACjCnF,IAAAA,WAAiBkE,8HCDZ,SAASc,EAASrF,GAAkC,IAAjC,KAAEgB,EAAI,MAAEsE,GAAuBtF,EACvD,OACEK,IAAAA,cAAA,MAAIC,UAAU,cACZD,IAAAA,cAAA,OAAKC,UAAU,oBAAoBU,GACnCX,IAAAA,cAAA,MAAIC,UAAU,QACXgF,EAAMb,KAAKvE,GACI,QAAdA,EAAKM,KACHH,IAAAA,cAACoF,EAAc,CACbb,IAAG,GAAAc,OAAKxF,EAAKM,KAAI,KAAAkF,OAAIxF,EAAKgE,IAC1BlD,KAAMd,EAAKc,KACXsE,MAAOpF,EAAKoF,QAGdjF,IAAAA,cAACsF,EAAQ,CAACf,IAAG,GAAAc,OAAKxF,EAAKM,KAAI,KAAAkF,OAAIxF,EAAKgE,IAAMhE,KAAMA,OAM5D,CAMA,SAASyF,EAAQzE,GAA0B,IAAAC,GAAzB,KAAEjB,GAAqBgB,GACjC,iBAAEiC,EAAgB,SAAEyC,EAAQ,gBAAEvC,EAAe,WAAEC,EAAU,UAAEC,IAC/DiC,EAAAA,EAAAA,KAEIK,GAAUzB,EAAAA,EAAAA,UAAQ,IAAMb,EAAUrD,IAAO,CAACqD,EAAWrD,IAErD4F,GAAkBjE,EAAAA,EAAAA,cAAY,KAClCyB,EAAWpD,EAAK,GACf,CAACA,EAAMoD,IAEJyC,GAAclE,EAAAA,EAAAA,cAAY,KAC9BwB,EAAgBnD,EAAK,GACpB,CAACA,EAAMmD,IAEV,OACEhD,IAAAA,cAAA,MACEC,UAAWG,IAAW,YAAa,CACjCoF,UACA,YAAa1C,KAGf9C,IAAAA,cAACE,EAAAA,IAAWI,EAAAA,EAAAA,GAAA,CACVP,QAAS2F,GACU,QAAd7F,EAAKM,KACN,CACEY,IAAKlB,EAAKkB,KAEZ,CACEC,KAAMnB,EAAKkB,IACXE,OAAQ,WAGdjB,IAAAA,cAACK,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVL,UAAU,YACVM,IAAI,UACJE,KAAK,oBACa,QAAbK,EAAAjB,EAAKqB,gBAAQ,IAAAJ,GAAbA,EAAeP,KAAOV,EAAKqB,SAAST,MACpCC,EAAAA,EAAAA,MAAKb,EAAKqB,SAAU,CACnB,MACA,OACA,QACA,WACA,WAEF,OAENlB,IAAAA,cAAA,QAAMC,UAAU,mBAAmBJ,EAAKc,QAExC4E,GACAvF,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,KACJoF,OAAQH,EAAU,MAAQ,MAC1B/E,KAAK,OACLR,UAAU,iBACV2F,MAAOJ,EAAU,OAAS,KAC1BzF,QAAS0F,IAKnB,CAMO,SAASnB,EAAeuB,GAAiC,IAAAC,GAAhC,KAAEjG,GAA4BgG,GACtD,SAAEN,EAAQ,gBAAEvC,EAAe,WAAEC,IAAekC,EAAAA,EAAAA,KAE5CO,GAAclE,EAAAA,EAAAA,cAAY,KACZ,SAAd3B,EAAKM,MACP6C,EAAgBnD,EAClB,GACC,CAACA,EAAMmD,IAEJ+C,GAAmBvE,EAAAA,EAAAA,cAAY,KACnCyB,EAAWpD,EAAK,GACf,CAACA,EAAMoD,IAEV,OACEjD,IAAAA,cAAA,MAAIC,UAAU,qBACZD,IAAAA,cAACE,EAAAA,IAAWI,EAAAA,EAAAA,GAAA,CACVP,QAAS2F,GACU,QAAd7F,EAAKM,KACN,CACEY,IAAKlB,EAAKkB,KAEZ,CACEC,KAAMnB,EAAKkB,IACXE,OAAQ,WAGdjB,IAAAA,cAACK,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVL,UAAS,oBACTM,IAAI,UACJE,KAAK,oBACa,QAAbqF,EAAAjG,EAAKqB,gBAAQ,IAAA4E,GAAbA,EAAevF,KAAOV,EAAKqB,SAAST,MACpCC,EAAAA,EAAAA,MAAKb,EAAKqB,SAAU,CACnB,MACA,OACA,QACA,WACA,WAEF,OAENlB,IAAAA,cAAA,QAAMC,UAAU,mBAAmBJ,EAAKc,QAExC4E,GACAvF,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,KACJE,KAAK,QACLR,UAAU,mBACVF,QAASgG,IAKnB,CAOA,SAASX,EAAcY,GAAuC,IAAtC,KAAErF,EAAI,MAAEsE,GAA4Be,GACpD,UAAE3C,IAAc8B,EAAAA,EAAAA,MACfc,EAAUC,IAAepE,EAAAA,EAAAA,WAAS,IAClCqE,EAAmBC,IAAwBtE,EAAAA,EAAAA,WAAS,GAErDuE,GAAS7E,EAAAA,EAAAA,cAAY,KAErB6B,EACF+C,GAAsBE,IAAcA,IAEpCJ,GAAaI,IAAcA,GAC7B,GACC,CAACjD,KAEJK,EAAAA,EAAAA,YAAU,KAER0C,GAAqB,EAAK,GACzB,CAAC/C,IAEJ,IAAMkD,EAAiBlD,EAAY8C,EAAoBF,EAEvD,OACEjG,IAAAA,cAAA,MAAIC,UAAU,oBACZD,IAAAA,cAACE,EAAAA,GAAW,CAACH,QAASsG,GACpBrG,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,KACJoF,OAAO,MACPlF,KAAK,cACLR,UAAU,cAEZD,IAAAA,cAAA,QAAMC,UAAU,mBAAmBU,GACnCX,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,OACJE,KAAM8F,EAAiB,KAAO,OAC9BtG,UAAU,sBAGdD,IAAAA,cAAA,MAAIC,UAAWG,IAAW,WAAY,CAAE6F,SAAUM,KAC/CtB,EAAMb,KAAKvE,GACVG,IAAAA,cAACsF,EAAQ,CAACf,IAAG,GAAAc,OAAKxF,EAAKM,KAAI,KAAAkF,OAAIxF,EAAKgE,IAAMhE,KAAMA,OAK1D,oEC/MI2G,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAO7C,GAAI,wOACmF,KAE5H,4ECLI2C,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAO7C,GAAI,0vDAU+X,KAExa,QAAe2C,EAAwBG,6ECdnCH,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAO7C,GAAI,i3LA8C+C,KAExF,QAAe2C,EAAwBG,2JC1CnCC,EAAU,CAAC,EAEfA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKJ,KAAW,IAAQM,QAAS,IAAQA,gECpB/CC,EAAwC,WACjD,IAAIxH,GAAO,QAAkB,UAAWyH,EAAUC,EAAMT,GACtD,aAA6E,EAAAU,KAAKC,KAAK,oDAAoDlC,OAAO+B,EAAU,qBAAsBC,EAAMT,IACxL,IACF,IACA,OAAO,SAAkCY,EAAIC,EAAKC,GAChD,OAAO/H,EAAKgI,MAAMC,KAAMC,UAC1B,CACF,CARmD,4DCAxCC,EAA+C,WACxD,IAAInI,GAAO,QAAkB,UAAW0H,EAAMT,GAC5C,aAA4F,EAAAU,KAAKC,KAAK,oFAAqFF,EAAMT,IACjM,IACF,IACA,OAAO,SAAyCY,EAAIC,GAClD,OAAO9H,EAAKgI,MAAMC,KAAMC,UAC1B,CACF,CAR0D,kDCA/CE,EAAkC,CAACC,EAAYpB,IAAyF,EAAAU,KAAKW,OAAO,qFAAqF5C,OAAO2C,GAAapB,sECC7PsB,EAA6C,WACtD,IAAIvI,GAAO,QAAkB,UAAWwI,EAAQvB,GAC9C,aAA0F,EAAAU,KAAKc,IAAI,mFAAmF,QAAc,OAAc,CAAC,EAAGxB,GAAU,CAAC,EAAG,CAChOuB,aAEJ,IACF,IACA,OAAO,SAAuCX,EAAIC,GAChD,OAAO9H,EAAKgI,MAAMC,KAAMC,UAC1B,CACF,CAVwD","sources":["webpack:///./src/launchpad-button-v2/PlatformCategory.tsx","webpack:///./src/launchpad-button-v2/Launchpad.tsx","webpack:///./src/launchpad-button-v2/LaunchpadContext.ts","webpack:///./src/launchpad-button-v2/MenuGroup.tsx","webpack:///./src/launchpad-button-v2/host-context.css","webpack:///./src/launchpad-button-v2/PlatformCategory.shadow.css","webpack:///./src/launchpad-button-v2/styles.shadow.css","webpack:///./src/launchpad-button-v2/host-context.css?59a8","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/postSearchV3.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/createCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/deleteCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/listCollectionV2.js"],"sourcesContent":["import React from \"react\";\nimport { WrappedLink, WrappedIcon } from \"./wrapped-bricks\";\nimport { MenuItemDataNormal, PlatformCategoryItem } from \"./interfaces\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\n\nexport interface PlatformCategorySidebarMenuItemProps {\n item: PlatformCategoryItem;\n active?: boolean;\n onClick?: (item: PlatformCategoryItem) => void;\n}\n\nexport function PlatformCategorySidebarMenuItem({\n item,\n active,\n onClick,\n}: PlatformCategorySidebarMenuItemProps) {\n return (\n <li className=\"platform-category-sidebar-menu-item\">\n <WrappedLink\n type=\"plain\"\n className={classNames({ active })}\n onClick={() => onClick?.(item)}\n >\n <WrappedIcon\n className={\"platform-category-sidebar-menu-icon\"}\n lib=\"easyops\"\n category=\"second-menu\"\n icon=\"serve-second-menu\"\n {...(item.icon?.lib && item.icon.icon\n ? (pick(item.icon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"platform-category-sidebar-menu-item-label\">\n {item.name}\n </span>\n </WrappedLink>\n </li>\n );\n}\n\nexport interface PlatformItemProps {\n item: MenuItemDataNormal;\n}\n\nexport function PlatformItem({ item }: PlatformItemProps) {\n return (\n <li>\n <WrappedLink\n type=\"plain\"\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <div className=\"platform-item\">\n <div className=\"platform-item-title\">\n <WrappedIcon\n className=\"platform-item-icon\"\n lib=\"easyops\"\n category=\"third-menu\"\n icon=\"deploy-orchestration-tasks-third-menu\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <div className=\"platform-item-name\">{item.name}</div>\n </div>\n <div className=\"platform-item-description\">{item.description}</div>\n </div>\n </WrappedLink>\n </li>\n );\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadInfo } from \"./useLaunchpadInfo.js\";\nimport { MenuGroup, SidebarMenuItem } from \"./MenuGroup.js\";\nimport { LaunchpadsContext } from \"./LaunchpadContext.js\";\nimport { PlatformCategoryItem, SidebarMenuItemData } from \"./interfaces\";\nimport {\n PlatformItem,\n PlatformCategorySidebarMenuItem,\n} from \"./PlatformCategory\";\nimport { getRuntime } from \"@next-core/runtime\";\n\nexport function Launchpad({ active }: { active?: boolean }) {\n const searchInputRef = useRef<HTMLInputElement>(null);\n const handleClickSearchBox = useCallback(() => {\n searchInputRef.current?.focus();\n }, []);\n const [platform, setPlatform] = useState(\"#all\");\n\n const showPlatformCategory = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-platform-category\"],\n []\n );\n\n const showScenarioCenter = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-scenario-center\"],\n []\n );\n\n const showSolutionCenter = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-solution-center\"],\n []\n );\n\n const showOpenPlatform = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-open-platform\"],\n []\n );\n\n const {\n loading,\n q,\n setQ,\n menuGroups,\n favorites,\n loadingFavorites,\n recentVisits,\n pushRecentVisit,\n toggleStar,\n isStarred,\n platformCategories,\n } = useLaunchpadInfo(active);\n const searching = !!q;\n\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setQ(e.target.value);\n },\n [setQ]\n );\n\n const clearSearch = useCallback(() => {\n setQ(\"\");\n }, [setQ]);\n\n useEffect(() => {\n if (active) {\n searchInputRef.current?.focus();\n }\n }, [active]);\n\n const handlePlatformCategoryClick = useCallback(\n (item: PlatformCategoryItem) => {\n setPlatform(item.id);\n },\n []\n );\n\n const curCategory = useMemo(() => {\n return platformCategories.find((v) => v.id === platform);\n }, [platform, platformCategories]);\n\n return (\n <div className={classNames(\"launchpad\", { active })}>\n <LaunchpadsContext.Provider\n value={{\n searching,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n }}\n >\n <div className=\"sidebar\">\n <div className=\"union\">\n <div className=\"quick-nav\">\n <div className=\"quick-nav-label\">快捷访问</div>\n {/* <Loading loading={loading || loadingFavorites} /> */}\n <ul className=\"sidebar-menu quick-nav-menu\">\n {favorites.map((item, index) => (\n <SidebarMenuItem\n key={index}\n item={item as SidebarMenuItemData}\n />\n ))}\n </ul>\n </div>\n\n {showPlatformCategory && (\n <div className=\"platform-nav\">\n <div className=\"platform-nav-label\">平台底座</div>\n <ul className=\"sidebar-menu platform-nav-menu\">\n {platformCategories.map((item, index) => (\n <PlatformCategorySidebarMenuItem\n key={index}\n onClick={handlePlatformCategoryClick}\n item={item}\n active={platform === item.id}\n />\n ))}\n </ul>\n </div>\n )}\n </div>\n {showScenarioCenter && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/portal/scenario\"}>\n <div className=\"jump-nav-label\">场景中心</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n\n {showSolutionCenter && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/portal/solution\"}>\n <div className=\"jump-nav-label\">解决方案</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n\n {showOpenPlatform && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/developers\"}>\n <div className=\"jump-nav-label\">开放平台</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n </div>\n <div className={classNames(\"content\", { loading })}>\n <Loading loading={loading} />\n {platform !== \"#all\" && (\n <div className=\"platform-category-name\">{curCategory?.name}</div>\n )}\n <div className=\"search-box\" onClick={handleClickSearchBox}>\n <WrappedIcon\n lib=\"fa\"\n icon=\"magnifying-glass\"\n className=\"search-icon\"\n />\n <input\n ref={searchInputRef}\n placeholder=\"通过关键字搜索\"\n value={q}\n onChange={handleSearch}\n className=\"search-input\"\n />\n <WrappedIcon\n lib=\"antd\"\n theme=\"filled\"\n icon=\"close-circle\"\n className={classNames(\"search-clear\", { searching })}\n onClick={clearSearch}\n />\n </div>\n {platform === \"#all\" && (\n <div className={classNames({ empty: recentVisits.length === 0 })}>\n <div className=\"recent-visits-label\">最近访问</div>\n <ul className=\"recent-visits\">\n {recentVisits.map((item, index) => (\n <li key={index}>\n <WrappedLink\n onClick={() => pushRecentVisit(item)}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <span>{item.name}</span>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </div>\n )}\n {platform === \"#all\" && (\n <ul className=\"menu-groups\">\n {menuGroups.map((group) => (\n <MenuGroup\n key={group.name}\n name={group.name}\n items={group.items}\n />\n ))}\n </ul>\n )}\n {platform !== \"#all\" && (\n <ul\n className={classNames(\"platform-items\", {\n empty: curCategory?.items.length === 0,\n })}\n >\n {curCategory?.items.map((item, index) => (\n <PlatformItem item={item} key={index} />\n ))}\n </ul>\n )}\n </div>\n </LaunchpadsContext.Provider>\n </div>\n );\n}\n\nfunction Loading({ loading }: { loading: boolean }) {\n return (\n loading && (\n <div className=\"spinner\">\n <WrappedIcon lib=\"fa\" icon=\"spinner\" spinning />\n </div>\n )\n );\n}\n","import React from \"react\";\nimport type { MenuItemDataLink, MenuItemDataNormal } from \"./interfaces\";\n\nexport interface LaunchpadContextData {\n searching: boolean;\n loadingFavorites: boolean;\n readonly?: boolean;\n pushRecentVisit(item: MenuItemDataNormal): void;\n toggleStar(item: MenuItemDataNormal | MenuItemDataLink): void;\n isStarred(item: MenuItemDataNormal): boolean;\n}\n\nexport const LaunchpadsContext = React.createContext<LaunchpadContextData>(\n {} as LaunchpadContextData\n);\n\nexport const useLaunchpadContext = (): LaunchpadContextData =>\n React.useContext(LaunchpadsContext);\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadContext } from \"./LaunchpadContext\";\nimport type {\n MenuItemData,\n MenuItemDataNormal,\n SidebarMenuItemData,\n} from \"./interfaces\";\n\nexport interface MenuGroupProps {\n name: string;\n items: MenuItemData[];\n}\n\nexport function MenuGroup({ name, items }: MenuGroupProps) {\n return (\n <li className=\"menu-group\">\n <div className=\"menu-group-label\">{name}</div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={`${item.type}-${item.id}`}\n name={item.name}\n items={item.items}\n />\n ) : (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n item: MenuItemDataNormal;\n}\n\nfunction MenuItem({ item }: MenuItemProps) {\n const { loadingFavorites, readonly, pushRecentVisit, toggleStar, isStarred } =\n useLaunchpadContext();\n\n const starred = useMemo(() => isStarred(item), [isStarred, item]);\n\n const handleStarClick = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n const handleClick = useCallback(() => {\n pushRecentVisit(item);\n }, [item, pushRecentVisit]);\n\n return (\n <li\n className={classNames(\"menu-item\", {\n starred,\n \"can-star\": !loadingFavorites,\n })}\n >\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <WrappedIcon\n className=\"menu-icon\"\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n prefix={starred ? \"fas\" : \"far\"}\n icon=\"star\"\n className=\"menu-item-star\"\n title={starred ? \"取消收藏\" : \"收藏\"}\n onClick={handleStarClick}\n />\n )}\n </li>\n );\n}\n\nexport interface SidebarMenuItemProps {\n item: SidebarMenuItemData;\n}\n\nexport function SidebarMenuItem({ item }: SidebarMenuItemProps) {\n const { readonly, pushRecentVisit, toggleStar } = useLaunchpadContext();\n\n const handleClick = useCallback(() => {\n if (item.type !== \"link\") {\n pushRecentVisit(item);\n }\n }, [item, pushRecentVisit]);\n\n const handleRemoveStar = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n return (\n <li className=\"sidebar-menu-item\">\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <WrappedIcon\n className={`sidebar-menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n icon=\"xmark\"\n className=\"menu-item-remove\"\n onClick={handleRemoveStar}\n />\n )}\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n name: string;\n items: MenuItemDataNormal[];\n}\n\nfunction MenuItemFolder({ name, items }: MenuItemFolderProps) {\n const { searching } = useLaunchpadContext();\n const [expanded, setExpanded] = useState(false);\n const [searchingExpanded, setSearchingExpanded] = useState(false);\n\n const toggle = useCallback(() => {\n // Use separated expanded states for searching and non-searching.\n if (searching) {\n setSearchingExpanded((previous) => !previous);\n } else {\n setExpanded((previous) => !previous);\n }\n }, [searching]);\n\n useEffect(() => {\n // Each time when start searching, set it as expanded.\n setSearchingExpanded(true);\n }, [searching]);\n\n const actualExpanded = searching ? searchingExpanded : expanded;\n\n return (\n <li className=\"menu-item folder\">\n <WrappedLink onClick={toggle}>\n <WrappedIcon\n lib=\"fa\"\n prefix=\"far\"\n icon=\"folder-open\"\n className=\"menu-icon\"\n />\n <span className=\"menu-item-label\">{name}</span>\n <WrappedIcon\n lib=\"antd\"\n icon={actualExpanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n <ul className={classNames(\"sub-menu\", { expanded: actualExpanded })}>\n {items.map((item) => (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n ))}\n </ul>\n </li>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.platform-category-name,\n.platform-category-sidebar-menu-item-label,\n.platform-item-name,\n.platform-item-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-category-sidebar-menu-item{display:flex;gap:8px;align-items:center;padding:0px 12px 0px 16px}.platform-category-sidebar-menu-item > eo-link{display:block;min-width:0px;color:var(--color-header-text);cursor:pointer}.platform-category-sidebar-menu-item > eo-link:hover,\n.platform-category-sidebar-menu-item\n > eo-link:hover\n .platform-category-sidebar-menu-icon{color:var(--color-brand-hover)}.platform-category-sidebar-menu-item > eo-link.active,\n.platform-category-sidebar-menu-item\n > eo-link.active\n .platform-category-sidebar-menu-icon{color:var(--color-brand-active)}.platform-category-sidebar-menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px}.platform-category-sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.platform-category-name{font-size:18px;font-weight:500;color:var(--text-color-secondary);flex-shrink:0}.platform-items{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0 54px;gap:0 54px}.platform-items > li{min-width:0}.platform-items > li > eo-link{width:100%;cursor:pointer}.platform-item{padding:12px 0;display:flex;flex-direction:column}.platform-item:hover .platform-item-icon,\n.platform-item:hover .platform-item-name{color:var(--color-brand-hover)}.platform-item-title{display:flex;align-items:center;margin-bottom:4px}.platform-item-icon{margin-right:8px;font-size:14px;color:var(--text-color-secondary);flex-shrink:0}.platform-item-name{font-weight:500;color:var(--text-color-title);line-height:18px}.platform-item-description{margin-left:22px;color:var(--text-color-secondary);line-height:18px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block;width:32px;height:32px;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 36px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);height:var(--eo-launchpad-v2-max-height);background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-size:205px 205px;background-repeat:no-repeat;background-position:left 52px bottom 27px}.sidebar > *:not(:last-child){border-bottom:1px solid var(--stroke-color-default)}.quick-nav-label,\n.platform-nav-label,\n.jump-nav-label,\n.menu-group-label,\n.menu-item-label,\n.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu,\n.menu-groups,\n.menu,\n.sub-menu,\n.recent-visits,\n.platform-items{list-style:none;margin:0;padding:0}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.sidebar-menu-item > eo-link,\n.menu-item > eo-link,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.union{flex:1;display:flex;flex-direction:column;overflow-y:auto}.quick-nav,\n.platform-nav{display:flex;flex-direction:column;padding:20px 0 24px}.platform-nav{padding:0 0 24px}.quick-nav-label,\n.platform-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.quick-nav-menu,\n.platform-nav-menu{flex:1}.jump-nav > eo-link{display:block;cursor:pointer}.jump-nav > eo-link::part(link){padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.jump-nav-label{flex:1;color:var(--color-header-text);font-weight:500}.jump-nav > eo-icon{font-size:14px;color:var(--text-color-default)}.content{flex:1;padding:20px 24px 24px;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;margin-top:-10px;cursor:text}.search-icon{color:var(--color-auxiliary-text)}.search-input{padding:0;margin:0;border:none;outline:none;color:inherit;background-color:transparent;font-size:14px;line-height:22px;flex:1;min-width:0}.search-input::placeholder{color:var(--color-disabled-text);opacity:1}.search-clear{display:none;color:var(--color-secondary-text);cursor:pointer}.search-clear.searching{display:inline-block}.search-clear:hover{color:var(--color-auxiliary-text)}.menu-groups,\n.recent-visits{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.sidebar-menu-item,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-launchpad-v2-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-remove,\n.menu-item-star{cursor:pointer}.menu-item-remove,\n.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.recent-visits-label{margin-bottom:12px;font-size:var(--card-title-font-size);color:var(--color-header-text);font-weight:500}.recent-visits{display:grid;grid-gap:8px;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.content,\n .search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}.content > :not(:last-child){margin-bottom:24px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 搜索实例V3 (支持多属性排序)\n * @endpoint POST /v3/object/:objectId/instance/_search\n */\nexport var InstanceApi_postSearchV3 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, data, options) {\n return (/**! @contract easyops.api.cmdb.instance.PostSearchV3@1.1.0 */(yield http.post(\"api/gateway/cmdb.instance.PostSearchV3/v3/object/\".concat(objectId, \"/instance/_search\"), data, options)).data\n );\n });\n return function InstanceApi_postSearchV3(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=postSearchV3.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 新增我的收藏V2\n * @endpoint POST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_createCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.user_service.launchpad.CreateCollectionV2@1.0.0 */(yield http.post(\"api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection\", data, options)).data\n );\n });\n return function LaunchpadApi_createCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=createCollectionV2.js.map","import { http } from \"@next-core/http\";\n\n/**\n * @description 删除我的收藏V2\n * @endpoint DELETE /api/v2/launchpad/collection/:instanceId\n */\nexport var LaunchpadApi_deleteCollectionV2 = (instanceId, options) => /**! @contract easyops.api.user_service.launchpad.DeleteCollectionV2@1.0.0 */http.delete(\"api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/\".concat(instanceId), options);\n//# sourceMappingURL=deleteCollectionV2.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取我的收藏列表V2\n * @endpoint LIST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_listCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.launchpad.ListCollectionV2@1.0.0 */(yield http.get(\"api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function LaunchpadApi_listCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listCollectionV2.js.map"],"names":["PlatformCategorySidebarMenuItem","_ref","_item$icon","item","active","onClick","React","className","WrappedLink","type","classNames","WrappedIcon","_extends","lib","category","icon","pick","name","PlatformItem","_ref2","_item$menuIcon","url","href","target","menuIcon","description","Launchpad","searchInputRef","useRef","handleClickSearchBox","useCallback","_searchInputRef$curre","current","focus","platform","setPlatform","useState","showPlatformCategory","_getRuntime","getRuntime","getFeatureFlags","showScenarioCenter","_getRuntime2","showSolutionCenter","_getRuntime3","showOpenPlatform","_getRuntime4","loading","q","setQ","menuGroups","favorites","loadingFavorites","recentVisits","pushRecentVisit","toggleStar","isStarred","platformCategories","useLaunchpadInfo","searching","handleSearch","e","value","clearSearch","useEffect","_searchInputRef$curre2","handlePlatformCategoryClick","id","curCategory","useMemo","find","v","LaunchpadsContext","Provider","map","index","SidebarMenuItem","key","theme","Loading","ref","placeholder","onChange","empty","length","group","MenuGroup","items","spinning","useLaunchpadContext","MenuItemFolder","concat","MenuItem","readonly","starred","handleStarClick","handleClick","prefix","title","_ref3","_item$menuIcon2","handleRemoveStar","_ref4","expanded","setExpanded","searchingExpanded","setSearchingExpanded","toggle","previous","actualExpanded","___CSS_LOADER_EXPORT___","push","module","toString","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","InstanceApi_postSearchV3","objectId","data","http","post","_x","_x2","_x3","apply","this","arguments","LaunchpadApi_createCollectionV2","LaunchpadApi_deleteCollectionV2","instanceId","delete","LaunchpadApi_listCollectionV2","params","get"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[5381,6660],{4795:(e,r,n)=>{function t(e,r,n,t,u,a,i){try{var c=e[a](i),s=c.value}catch(e){return void n(e)}c.done?r(s):Promise.resolve(s).then(t,u)}function u(e){return function(){var r=this,n=arguments;return new Promise((function(u,a){var i=e.apply(r,n);function c(e){t(i,u,a,c,s,"next",e)}function s(e){t(i,u,a,c,s,"throw",e)}c(void 0)}))}}n.d(r,{Z:()=>u})},6660:(e,r,n)=>{n.r(r),n.d(r,{ReactUseBrick:()=>i,ReactUseMultipleBricks:()=>c,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var t=n(4795),u=n(8657),a=n(175),i=function(e){var{useBrick:r,data:n,refCallback:i,ignoredCallback:c}=e,[s,l]=(0,u.useState)(null),o=(0,u.useRef)(),[d,v]=(0,u.useState)(),f=(0,u.useRef)(0),_=(0,u.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,u.useEffect)((()=>{var e=!1;function u(){return u=(0,t.Z)((function*(){try{var t=yield a.__secret_internals.renderUseBrick(r,n);if(e)return;l(t),v(++f.current)}catch(e){(function(e){var r,n=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!n||e===n})(_)&&(console.error("Render useBrick failed:",r,"with data:",n),(0,a.handleHttpError)(e))}})),u.apply(this,arguments)}return function(){u.apply(this,arguments)}(),()=>{e=!0}}),[n,r,_]);var p=(0,u.useCallback)((e=>{e?o.current=a.__secret_internals.mountUseBrick(s,e):(a.__secret_internals.unmountUseBrick(s,o.current),o.current=void 0),null==i||i(e)}),[i,s]);if(!s)return null;var{tagName:m}=s;if(null===m)return null==c||c(),null;var k=m;return u.createElement(k,{key:d,ref:p})},c=function(e){var{useBrick:r,data:n}=e;return Array.isArray(r)?u.createElement(u.Fragment,null,r.map(((e,r)=>u.createElement(i,{key:r,useBrick:e,data:n})))):u.createElement(i,{useBrick:r,data:n})},s=(0,a.getV2RuntimeFromDll)();if(s){var{SingleBrickAsComponentFactory:l,BrickAsComponentFactory:o}=s;l&&o&&(i=l(u),c=o(u))}function d(){var[e,r]=(0,u.useState)(a.getCurrentTheme);return(0,u.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=u.useState((()=>(0,a.getRuntime)().getRecentApps()));return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=u.useState(null);return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
+ //# sourceMappingURL=5381.ebb9994d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/5381.e4a6e23e.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data,\n refCallback,\n ignoredCallback\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n var ignore = false;\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n var newRender = yield __secret_internals.renderUseBrick(useBrick, data);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n });\n return _init.apply(this, arguments);\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId]);\n var _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n var {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n var WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n var newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nvar v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n var {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","ReactUseBrick","_ref","useBrick","data","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","_init","newRender","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/5381.ebb9994d.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data,\n refCallback,\n ignoredCallback\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n var ignore = false;\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n var newRender = yield __secret_internals.renderUseBrick(useBrick, data);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n });\n return _init.apply(this, arguments);\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId]);\n var _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n var {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n var WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n var newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nvar v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n var {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","ReactUseBrick","_ref","useBrick","data","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","_init","newRender","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[5636],{5636:(n,i,e)=>{e.r(i),e.d(i,{initializeReactI18n:()=>c,useTranslation:()=>a.useTranslation});var t=e(1065),a=e(4791),s=!1;function c(n,i){(0,t.initializeI18n)(n,i),s||(s=!0,a.initReactI18next.init(t.i18n))}}}]);
2
- //# sourceMappingURL=5636.5e02727d.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[5636],{5636:(n,i,e)=>{e.r(i),e.d(i,{initializeReactI18n:()=>c,useTranslation:()=>a.useTranslation});var t=e(2513),a=e(4791),s=!1;function c(n,i){(0,t.initializeI18n)(n,i),s||(s=!0,a.initReactI18next.init(t.i18n))}}}]);
2
+ //# sourceMappingURL=5636.ddc8f5a9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/5636.5e02727d.js","mappings":"0NAEIA,GAAc,EACX,SAASC,EAAoBC,EAAIC,IACtC,IAAAC,gBAAeF,EAAIC,GACdH,IACHA,GAAc,EACd,EAAAK,iBAAiBC,KAAK,EAAAC,MAE1B,C","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/react.js"],"sourcesContent":["import { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { initReactI18next, useTranslation } from \"react-i18next\";\nvar initialized = false;\nexport function initializeReactI18n(NS, locales) {\n initializeI18n(NS, locales);\n if (!initialized) {\n initialized = true;\n initReactI18next.init(i18n);\n }\n}\nexport { useTranslation };\n//# sourceMappingURL=react.js.map"],"names":["initialized","initializeReactI18n","NS","locales","initializeI18n","initReactI18next","init","i18n"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/5636.ddc8f5a9.js","mappings":"0NAEIA,GAAc,EACX,SAASC,EAAoBC,EAAIC,IACtC,IAAAC,gBAAeF,EAAIC,GACdH,IACHA,GAAc,EACd,EAAAK,iBAAiBC,KAAK,EAAAC,MAE1B,C","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/react.js"],"sourcesContent":["import { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { initReactI18next, useTranslation } from \"react-i18next\";\nvar initialized = false;\nexport function initializeReactI18n(NS, locales) {\n initializeI18n(NS, locales);\n if (!initialized) {\n initialized = true;\n initReactI18next.init(i18n);\n }\n}\nexport { useTranslation };\n//# sourceMappingURL=react.js.map"],"names":["initialized","initializeReactI18n","NS","locales","initializeI18n","initReactI18next","init","i18n"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[6176],{6176:(e,t,n)=>{n.d(t,{sK:()=>G,yp:()=>q,sC:()=>V,m1:()=>J});var r,i=n(3028),a=n(4795),o=n(8657),s=n(175),c=n(873),u=n(2890),p=n(2301),l=n(2892),d=n(2106),m=n(4008),f=n(8685),h=n(5003),v=n(1719),I=10,y=10,g=n(107),w=n(5178);function Z(){return(Z=(0,a.Z)((function*(){var e=yield(0,d.u)({},{interceptorParams:{ignoreLoadingBar:!0},noAbortOnRouteChange:!0}),t=new Map;for(var n of e.storyboards){var r=n.app;r.localeName=(0,g.d)(r.locales,r.name),t.set(r.id,r)}var a=[],o=new Map;for(var s of e.desktops){var c=[];for(var u of s.items)switch(u.type){case"app":var p=t.get(u.id);p&&c.push((0,i.Z)((0,i.Z)({},u),{},{name:p.localeName,url:p.homepage,menuIcon:p.menuIcon}));break;case"custom":c.push(u),o.set(u.id,u);break;case"dir":var l=[];for(var m of u.items)if("app"===m.type){var f=t.get(m.id);f&&l.push((0,i.Z)((0,i.Z)({},m),{},{name:f.localeName,url:f.homepage,menuIcon:f.menuIcon}))}else"custom"===m.type&&(l.push(m),o.set(m.id,m));l.length>0&&c.push((0,i.Z)((0,i.Z)({},u),{},{items:l}))}c.length>0&&a.push((0,i.Z)((0,i.Z)({},s),{},{items:c}))}return{menuGroups:a,microAppsById:t,customLinksById:o}}))).apply(this,arguments)}function k(){return C.apply(this,arguments)}function C(){return(C=(0,a.Z)((function*(){return(yield(0,m.$)({page:1,pageSize:I},{interceptorParams:{ignoreLoadingBar:!0},noAbortOnRouteChange:!0})).list}))).apply(this,arguments)}function b(){return(b=(0,a.Z)((function*(){var e=yield k(),t=[];for(var n of e)if("microApp"===n.type){var r=n.relatedApp;r.localeName=(0,g.d)(r.locales,r.name),t.push({favoriteId:n.instanceId,type:"app",name:r.localeName,id:r.appId,url:r.homepage,instanceId:r.instanceId,menuIcon:r.menuIcon})}else if("customItem"===n.type){var i=n.relatedCustomItem;t.push({favoriteId:n.instanceId,type:"custom",name:i.name,id:i.id,url:i.url,menuIcon:i.menuIcon})}else"link"===n.type&&t.push({favoriteId:n.instanceId,type:"link",name:n.name,url:n.link,menuIcon:n.icon});return t}))).apply(this,arguments)}function F(){return(F=(0,a.Z)((function*(e){return(0,f.i)({type:"app"===e.type?"microApp":"customItem",relatedInstanceId:e.instanceId},{interceptorParams:{ignoreLoadingBar:!0}})}))).apply(this,arguments)}function S(){return(S=(0,a.Z)((function*(e){return e.favoriteId?(0,h.I)(e.favoriteId):k().then((t=>{var n,r=null===(n=t.find((t=>{var n,r;return"app"===e.type?"microApp"===t.type&&(null===(n=t.relatedApp)||void 0===n?void 0:n.appId)===e.id:"custom"===e.type&&(null===(r=t.relatedCustomItem)||void 0===r?void 0:r.id)===e.id})))||void 0===n?void 0:n.instanceId;if(r)return(0,h.I)(r);console.error("Menu item to unstar not found:",e)}))}))).apply(this,arguments)}function A(){return(A=(0,a.Z)((function*(){var e=(yield(0,v.W)("MICRO_APP_CATEGORY@EASYOPS",{fields:["id","type","name","icon","order","platformApps.appId","platformApps.name","platformApps.homepage","platformApps.description","platformApps.menuIcon","platformApps.locales","platformApps._object_id","platformApps.@.order","platformItems.id","platformItems.name","platformItems.url","platformItems.description","platformItems.menuIcon","platformItems._object_id","platformItems.@.order"],page:1,page_size:300,query:{type:"platform"}})).list,t=null==e?void 0:e.map((e=>{var t=e.platformApps.map((e=>{var t;return{type:"app",name:(0,g.d)(e.locales,e.name),id:e.appId,url:e.homepage,menuIcon:e.menuIcon,description:e.description,instanceId:e.instanceId,order:null===(t=e["@"])||void 0===t?void 0:t.order}})),n=e.platformItems.map((e=>{var t;return{type:"custom",name:e.name,id:e.id,url:e.url,menuIcon:e.menuIcon,description:e.description,instanceId:e.instanceId,order:null===(t=e["@"])||void 0===t?void 0:t.order}})),r=(0,w.sortBy)([...t,...n],"order");return{instanceId:e.instanceId,id:e.id,name:e.name,icon:e.icon,order:e.order,items:r}}));return[{id:"#all",name:"全部",icon:{lib:"easyops",category:"second-menu",icon:"sprint-planning-second-menu"},items:[]},...(0,w.sortBy)(t,"order")]}))).apply(this,arguments)}function B(e,t){return e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description&&e.description.toLowerCase().includes(t)?e:null}function P(e,t){return e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description&&e.description.toLowerCase().includes(t)?e:null}var E="launchpad-recent-visits:".concat(null===(r=c.auth.getAuth())||void 0===r?void 0:r.org),L=new u.o(localStorage),_=[],x=new Map,O=new Map,M=!1,N=[],R=!1,T=[],j=!1,q=new p.i((0,a.Z)((function*(){({menuGroups:_,microAppsById:x,customLinksById:O}=yield function(){return Z.apply(this,arguments)}()),M=!0}))),G=new p.i((0,a.Z)((function*(){N=yield function(){return b.apply(this,arguments)}(),R=!0}))),V=new p.i((0,a.Z)((function*(){T=yield function(){return A.apply(this,arguments)}(),j=!0}))),z=e=>(0,l.c0)({type:"error",message:(0,s.httpErrorToString)(e)});function J(e){var[t,n]=(0,o.useState)(_),[r,c]=(0,o.useState)(x),[u,p]=(0,o.useState)(O),[d,m]=(0,o.useState)(""),[f,h]=(0,o.useState)(!M),[v,g]=(0,o.useState)(!R),[w,Z]=(0,o.useState)(!j),[k,C]=(0,o.useState)([]),[b,A]=(0,o.useState)([]),[J,H]=(0,o.useState)(N),[K,Q]=(0,o.useState)(T);(0,o.useEffect)((()=>{e&&!f&&(n(_),c(x),p(O))}),[e,f]),(0,o.useEffect)((()=>{e&&!v&&H(N)}),[e,v]),(0,o.useEffect)((()=>{e&&!w&&Q(T)}),[e,w]),(0,o.useEffect)((()=>{var t;e&&C(null!==(t=L.getItem(E))&&void 0!==t?t:[])}),[e]),(0,o.useEffect)((()=>{if(e){var t=function(){var e=(0,a.Z)((function*(){try{yield q.fetch(),h(!1)}catch(e){(0,s.handleHttpError)(e)}}));return function(){return e.apply(this,arguments)}}();t()}}),[e]),(0,o.useEffect)((()=>{if(e){var t=function(){var e=(0,a.Z)((function*(){try{yield G.fetch(),g(!1)}catch(e){g(!1),z(e)}}));return function(){return e.apply(this,arguments)}}();t()}}),[e]),(0,o.useEffect)((()=>{var t;if(e&&null!==(t=(0,s.getRuntime)())&&void 0!==t&&t.getFeatureFlags()["launchpad-show-platform-category"]){var n=function(){var e=(0,a.Z)((function*(){try{yield V.fetch(),Z(!1)}catch(e){Z(!1),z(e)}}));return function(){return e.apply(this,arguments)}}();n()}}),[e]),(0,o.useEffect)((()=>{if(!f){var e=k.map((e=>{if("app"===e.type){var t=r.get(e.id);return t?{type:"app",name:t.localeName,id:t.id,url:t.homepage,instanceId:t.instanceId,menuIcon:t.menuIcon}:null}return u.get(e.id)})).filter(Boolean);A(e)}}),[u,f,r,k]);var W=(0,o.useCallback)((e=>{var t,{type:n,id:r}=e,i=null!==(t=L.getItem(E))&&void 0!==t?t:[],a=i.findIndex((e=>e.type===n&&e.id===r));a>-1&&i.splice(a,1),i.unshift({type:n,id:r}),i.length>y&&i.pop(),L.setItem(E,i)}),[]),$=(0,o.useCallback)((e=>J.some((t=>Y(e,t)))),[J]),D=(0,o.useCallback)((e=>{var t,n=J.findIndex((t=>"link"===e.type?t.favoriteId===e.favoriteId:Y(e,t)));if(n>-1){var r=J[n];t=J.slice(0,n).concat(J.slice(n+1)),function(e){return S.apply(this,arguments)}(r).catch(z)}else{if(J.length>=I)return void(0,l.vC)({type:"warn",title:"收藏数量已达上限",content:"当前收藏链接数量已达上限(".concat(I,"个),请删除部分收藏后再添加。")});var a=(0,i.Z)({},e);t=J.concat(a),function(e){return F.apply(this,arguments)}(e).then((e=>{e&&(a.favoriteId=e.instanceId)}),z)}H(t),N=t}),[J]),U=(0,o.useMemo)((()=>function(e,t){if(!t)return e;var n=t.toLowerCase();return e.map((e=>(0,i.Z)((0,i.Z)({},e),{},{items:e.items.map((e=>{switch(e.type){case"app":return B(e,n);case"custom":return P(e,n);case"dir":var t=e.items.map((e=>"app"===e.type?B(e,n):"custom"===e.type?P(e,n):null)).filter(Boolean);return t.length>0?(0,i.Z)((0,i.Z)({},e),{},{items:t}):null}})).filter(Boolean)}))).filter((e=>e.items.length>0))}(t,d)),[t,d]),X=(0,o.useMemo)((()=>function(e,t){if(!t)return e;var n=t.toLowerCase();return e.map((e=>(0,i.Z)((0,i.Z)({},e),{},{items:e.items.map((e=>{switch(e.type){case"app":return B(e,n);case"custom":return P(e,n)}})).filter(Boolean)})))}(K,d)),[K,d]);return{loading:f,q:d,setQ:m,menuGroups:U,loadingFavorites:v,loadingPlatformCategories:w,favorites:J,recentVisits:b,pushRecentVisit:W,isStarred:$,toggleStar:D,platformCategories:X}}function Y(e,t){return e.instanceId&&t.instanceId?t.instanceId===e.instanceId:t.type===e.type&&t.id===e.id}},2892:(e,t,n)=>{n.d(t,{V3:()=>a,c0:()=>c,kk:()=>o,vC:()=>s});var r=n(305),i=n(9242),a=(0,r.wrapBrick)("eo-icon"),o=(0,r.wrapBrick)("eo-link"),s=(0,i.unwrapProvider)("basic.show-dialog"),c=(0,i.unwrapProvider)("basic.show-notification")},2301:(e,t,n)=>{n.d(t,{i:()=>a});var r=n(4795),i=n(6666);class a{constructor(e){(0,i.Z)(this,"preFetchId",null),(0,i.Z)(this,"preFetchScheduled",!1),(0,i.Z)(this,"firstFetchPromise",null),(0,i.Z)(this,"isFetching",!1),(0,i.Z)(this,"task",void 0),this.task=e}schedulePrefetch(){var e=this;if(!this.preFetchScheduled){this.preFetchScheduled=!0;var t=function(){var t=(0,r.Z)((function*(){e.preFetchId=null,e.fetch()}));return function(){return t.apply(this,arguments)}}();"function"==typeof window.requestIdleCallback?this.preFetchId=window.requestIdleCallback(t):this.preFetchId=setTimeout(t)}}fetch(e){var t;return this.preFetchId&&("function"==typeof window.cancelIdleCallback?cancelIdleCallback(this.preFetchId):clearTimeout(this.preFetchId),this.preFetchId=null),this.isFetching&&!e||(this.isFetching=!0,(t=this.task()).catch((e=>{console.error(e),this.firstFetchPromise=null})).finally((()=>{this.isFetching=!1})),this.firstFetchPromise||(this.firstFetchPromise=t),!e)?this.firstFetchPromise:t}}},107:(e,t,n)=>{n.d(t,{d:()=>i});var r=n(2513);function i(e,t){var n;if(!e)return t;var i=Object.fromEntries(Object.entries(e).filter((e=>{var[t,n]=e;return n.name})).map((e=>{var[t,n]=e;return[t,n.name]})));return null!==(n=(0,r.i18nText)(i))&&void 0!==n?n:t}},2890:(e,t,n)=>{n.d(t,{o:()=>r});class r{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"brick-next-";this.storage=e,this.prefix=t}setItem(e,t){this.storage.setItem(this.prefix+e,JSON.stringify(t))}getItem(e){return JSON.parse(this.storage.getItem(this.prefix+e))}removeItem(e){return this.storage.removeItem(this.prefix+e)}clear(){return this.storage.clear()}}}}]);
2
+ //# sourceMappingURL=6176.af19f99d.js.map