@next-bricks/nav 0.3.1 → 0.4.0

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 (95) hide show
  1. package/dist/bricks.json +9 -2
  2. package/dist/chunks/1303.f8781f1e.js +2 -0
  3. package/dist/chunks/{1303.ece67858.js.map → 1303.f8781f1e.js.map} +1 -1
  4. package/dist/chunks/3458.da0d9230.js +2 -0
  5. package/dist/chunks/{3458.75285f20.js.map → 3458.da0d9230.js.map} +1 -1
  6. package/dist/chunks/4443.b639b464.js +2 -0
  7. package/dist/chunks/{4443.e1182d18.js.map → 4443.b639b464.js.map} +1 -1
  8. package/dist/chunks/5713.876d2602.js +2 -0
  9. package/dist/chunks/5713.876d2602.js.map +1 -0
  10. package/dist/chunks/6482.91f76030.js +2 -0
  11. package/dist/chunks/6482.91f76030.js.map +1 -0
  12. package/dist/chunks/7067.3381af14.js +2 -0
  13. package/dist/chunks/{7067.246fba44.js.map → 7067.3381af14.js.map} +1 -1
  14. package/dist/chunks/8002.583b6e91.js +3 -0
  15. package/dist/chunks/8002.583b6e91.js.map +1 -0
  16. package/dist/chunks/8498.5b0bb4f2.js +2 -0
  17. package/dist/chunks/{8498.776c7118.js.map → 8498.5b0bb4f2.js.map} +1 -1
  18. package/dist/chunks/8629.b2b35c34.js +2 -0
  19. package/dist/chunks/8629.b2b35c34.js.map +1 -0
  20. package/dist/chunks/8691.4836dc02.js +2 -0
  21. package/dist/chunks/{8691.7d46a442.js.map → 8691.4836dc02.js.map} +1 -1
  22. package/dist/chunks/9102.ca515791.js +3 -0
  23. package/dist/chunks/9102.ca515791.js.map +1 -0
  24. package/dist/chunks/9308.85aa3672.js +2 -0
  25. package/dist/chunks/9308.85aa3672.js.map +1 -0
  26. package/dist/chunks/{9800.81774456.js → 9407.835ea347.js} +2 -2
  27. package/dist/chunks/{9800.81774456.js.map → 9407.835ea347.js.map} +1 -1
  28. package/dist/chunks/{9431.4b8f47f7.js → 9431.29d63767.js} +2 -2
  29. package/dist/chunks/{9431.4b8f47f7.js.map → 9431.29d63767.js.map} +1 -1
  30. package/dist/chunks/9816.7368ffde.js +2 -0
  31. package/dist/chunks/9816.7368ffde.js.map +1 -0
  32. package/dist/chunks/eo-launchpad-button-v2.9bf0f993.js +2 -0
  33. package/dist/chunks/eo-launchpad-button-v2.9bf0f993.js.map +1 -0
  34. package/dist/chunks/{eo-launchpad-button.6b2c839b.js → eo-launchpad-button.1f0fc34b.js} +2 -2
  35. package/dist/chunks/{eo-launchpad-button.6b2c839b.js.map → eo-launchpad-button.1f0fc34b.js.map} +1 -1
  36. package/dist/chunks/eo-nav-menu.be432fd7.js +3 -0
  37. package/dist/chunks/{eo-nav-menu.632f5a8a.js.map → eo-nav-menu.be432fd7.js.map} +1 -1
  38. package/dist/chunks/main.7557c7dd.js +2 -0
  39. package/dist/chunks/main.7557c7dd.js.map +1 -0
  40. package/dist/images/9879d37a.png +0 -0
  41. package/dist/index.fcbf3029.js +2 -0
  42. package/dist/index.fcbf3029.js.map +1 -0
  43. package/dist/manifest.json +9 -0
  44. package/dist/types.json +5 -0
  45. package/dist-types/bootstrap.d.ts +1 -0
  46. package/dist-types/index.d.ts +0 -1
  47. package/dist-types/launchpad/LaunchpadService.d.ts +0 -1
  48. package/dist-types/launchpad/index.d.ts +2 -2
  49. package/dist-types/launchpad/interfaces.d.ts +3 -1
  50. package/dist-types/launchpad-button-v2/Launchpad.d.ts +4 -0
  51. package/dist-types/launchpad-button-v2/Launchpad.spec.d.ts +1 -0
  52. package/dist-types/launchpad-button-v2/LaunchpadContext.d.ts +10 -0
  53. package/dist-types/launchpad-button-v2/MenuGroup.d.ts +16 -0
  54. package/dist-types/launchpad-button-v2/MenuGroup.spec.d.ts +1 -0
  55. package/dist-types/launchpad-button-v2/api.d.ts +6 -0
  56. package/dist-types/launchpad-button-v2/api.spec.d.ts +1 -0
  57. package/dist-types/launchpad-button-v2/getMenuGroups.d.ts +6 -0
  58. package/dist-types/launchpad-button-v2/getMenuGroups.spec.d.ts +1 -0
  59. package/dist-types/launchpad-button-v2/index.d.ts +13 -0
  60. package/dist-types/launchpad-button-v2/index.spec.d.ts +1 -0
  61. package/dist-types/launchpad-button-v2/interfaces.d.ts +7 -0
  62. package/dist-types/launchpad-button-v2/search.d.ts +2 -0
  63. package/dist-types/launchpad-button-v2/search.spec.d.ts +1 -0
  64. package/dist-types/launchpad-button-v2/useLaunchpadInfo.d.ts +25 -0
  65. package/dist-types/launchpad-button-v2/wrapped-bricks.d.ts +5 -0
  66. package/dist-types/nav-menu/index.d.ts +2 -2
  67. package/dist-types/nav-menu/site-map/ItemTag.d.ts +1 -1
  68. package/dist-types/nav-menu/site-map/SiteMapItem.d.ts +2 -2
  69. package/package.json +2 -2
  70. package/dist/chunks/1303.ece67858.js +0 -2
  71. package/dist/chunks/2737.936b7014.js +0 -2
  72. package/dist/chunks/2737.936b7014.js.map +0 -1
  73. package/dist/chunks/3458.75285f20.js +0 -2
  74. package/dist/chunks/3532.69deed83.js +0 -2
  75. package/dist/chunks/3532.69deed83.js.map +0 -1
  76. package/dist/chunks/4443.e1182d18.js +0 -2
  77. package/dist/chunks/4969.fcc12546.js +0 -2
  78. package/dist/chunks/4969.fcc12546.js.map +0 -1
  79. package/dist/chunks/6938.850b4e56.js +0 -3
  80. package/dist/chunks/6938.850b4e56.js.map +0 -1
  81. package/dist/chunks/7067.246fba44.js +0 -2
  82. package/dist/chunks/8498.776c7118.js +0 -2
  83. package/dist/chunks/8691.7d46a442.js +0 -2
  84. package/dist/chunks/9102.28271a75.js +0 -3
  85. package/dist/chunks/9102.28271a75.js.map +0 -1
  86. package/dist/chunks/9407.2352fbce.js +0 -2
  87. package/dist/chunks/9407.2352fbce.js.map +0 -1
  88. package/dist/chunks/eo-nav-menu.632f5a8a.js +0 -3
  89. package/dist/chunks/main.f6e836d9.js +0 -2
  90. package/dist/chunks/main.f6e836d9.js.map +0 -1
  91. package/dist/index.e3ed5ab6.js +0 -2
  92. package/dist/index.e3ed5ab6.js.map +0 -1
  93. /package/dist/chunks/{6938.850b4e56.js.LICENSE.txt → 8002.583b6e91.js.LICENSE.txt} +0 -0
  94. /package/dist/chunks/{9102.28271a75.js.LICENSE.txt → 9102.ca515791.js.LICENSE.txt} +0 -0
  95. /package/dist/chunks/{eo-nav-menu.632f5a8a.js.LICENSE.txt → eo-nav-menu.be432fd7.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[9816],{7694:(e,t,a)=>{a.d(t,{Z:()=>g});var n=a(8657),i=a.n(n),r=a(2779),o=a.n(r),l=a(2892),c=a(1065),s=a(7896),p=a(5178),u=i().createContext({}),m=()=>i().useContext(u);function d(e){var{name:t,items:a}=e;return i().createElement("li",{className:"menu-group"},i().createElement("div",{className:"menu-group-label"},t),i().createElement("ul",{className:"menu"},a.map((e=>"dir"===e.type?i().createElement(v,{key:"".concat(e.type,"-").concat(e.id),name:e.name,items:e.items}):i().createElement(f,{key:"".concat(e.type,"-").concat(e.id),item:e})))))}function f(e){var{item:t,isSidebar:a}=e,{pushRecentVisit:r,toggleStar:c,isStarred:u}=m(),d=(0,n.useMemo)((()=>!a&&u(t)),[a,u,t]),f=(0,n.useCallback)((()=>{c(t)}),[t,c]),v=(0,n.useCallback)((()=>{r(t)}),[t,r]),g=a?"sidebar-":"";return i().createElement("li",{className:o()("".concat(g,"menu-item"),{starred:d})},"app"===t.type?i().createElement(l.kk,{url:t.app.homepage,onClick:v},i().createElement(l.V3,(0,s.Z)({className:"".concat(g,"menu-icon")},(0,p.pick)(t.app.menuIcon,["lib","icon","theme","category","prefix"]))),i().createElement("span",{className:"menu-item-label"},t.app.localeName)):i().createElement(l.kk,{href:t.url,target:"_blank",onClick:v},i().createElement(l.V3,(0,s.Z)({className:"".concat(g,"menu-icon"),lib:"easyops",icon:"micro-app-center"},(0,p.pick)(t.menuIcon,["lib","icon","theme","category","prefix"]))),i().createElement("span",{className:"menu-item-label"},t.name)),!a&&i().createElement(l.V3,{lib:"fa",prefix:d?"fas":"far",icon:"star",className:o()("menu-item-star",{starred:d}),title:d?"取消收藏":"收藏",onClick:f}))}function v(e){var{name:t,items:a}=e,{searching:r}=m(),[c,s]=(0,n.useState)(!1),[p,u]=(0,n.useState)(!1),d=(0,n.useCallback)((()=>{r?u((e=>!e)):s((e=>!e))}),[r]);(0,n.useEffect)((()=>{u(!0)}),[r]);var v=r?p:c;return i().createElement("li",{className:"menu-item folder"},i().createElement(l.kk,{onClick:d},i().createElement(l.V3,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),i().createElement("span",{className:"menu-item-label"},t),i().createElement(l.V3,{lib:"antd",icon:v?"up":"down",className:"menu-item-toggle"})),i().createElement("ul",{className:o()("sub-menu",{expanded:v})},a.map((e=>i().createElement(f,{key:"".concat(e.type,"-").concat(e.id),item:e})))))}function g(e){var{active:t}=e,a=(0,n.useRef)(null),r=(0,n.useCallback)((()=>{var e;null===(e=a.current)||void 0===e||e.focus()}),[]),{loading:s,q:p,setQ:m,menuGroups:v,favorites:g,loadingFavorites:b,recentVisits:x,pushRecentVisit:y,toggleStar:k,isStarred:E}=(0,c.m1)(t),w=!!p,C=(0,n.useCallback)((e=>{m(e.target.value)}),[m]),N=(0,n.useCallback)((()=>{m("")}),[m]);return i().createElement("div",{className:o()("launchpad",{active:t})},i().createElement("div",{className:"sidebar"},i().createElement("div",{className:"quick-nav"},i().createElement("div",{className:"quick-nav-label"},"快捷访问"),i().createElement("ul",{className:"sidebar-menu"},g.map(((e,t)=>i().createElement(f,{key:t,item:e,isSidebar:!0})))))),i().createElement("div",{className:o()("content",{loading:s})},i().createElement(h,{loading:s}),i().createElement("div",{className:"search-box",onClick:r},i().createElement(l.V3,{lib:"fa",icon:"magnifying-glass",className:"search-icon"}),i().createElement("input",{ref:a,placeholder:"通过关键字搜索",value:p,onChange:C,className:"search-input"}),i().createElement(l.V3,{lib:"antd",theme:"filled",icon:"close-circle",className:o()("search-clear",{searching:w}),onClick:N})),i().createElement("div",{className:o()({empty:0===x.length})},i().createElement("div",{className:"recent-visits-label"},"最近访问"),i().createElement("ul",{className:"recent-visits"},x.map(((e,t)=>i().createElement("li",{key:t},"app"===e.type?i().createElement(l.kk,{url:e.app.homepage,onClick:()=>y(e)},i().createElement("span",null,e.app.localeName)):i().createElement(l.kk,{href:e.url,target:"_blank",onClick:()=>y(e)},i().createElement("span",null,e.name))))))),i().createElement(u.Provider,{value:{searching:w,pushRecentVisit:y,toggleStar:k,isStarred:E}},i().createElement("ul",{className:"menu-groups"},v.map((e=>i().createElement(d,{key:e.name,name:e.name,items:e.items})))))))}function h(e){var{loading:t}=e;return t&&i().createElement("div",{className:"spinner"},i().createElement(l.V3,{lib:"fa",icon:"spinner",spinning:!0}))}},1065:(e,t,a)=>{a.d(t,{sK:()=>M,yp:()=>L,m1:()=>P});var n=a(4795),i=a(8657),r=a(4009),o=a(9116),l=a(2890),c=a(2301),s=a(2892),p=a(2945),u=a(2106),m=a(8043),d=a(2037),f=a(2112);function v(){return(v=(0,n.Z)((function*(){var e=yield(0,u.u)({},{interceptorParams:{ignoreLoadingBar:!0},noAbortOnRouteChange:!0}),t=function*(){var e=a.app;if(e.locales){var t="$tmp-".concat(e.id);Object.entries(e.locales).forEach((e=>{var[a,n]=e;p.i18n.addResourceBundle(a,t,n)})),e.localeName=p.i18n.getFixedT(null,t)("name",e.name),Object.keys(e.locales).forEach((e=>{p.i18n.removeResourceBundle(e,t)}))}else e.localeName=e.name};for(var a of e.storyboards)yield*t();return e}))).apply(this,arguments)}function g(){return h.apply(this,arguments)}function h(){return(h=(0,n.Z)((function*(){return(yield(0,m.e)({page:1,pageSize:10},{interceptorParams:{ignoreLoadingBar:!0},noAbortOnRouteChange:!0})).list}))).apply(this,arguments)}function b(){return(b=(0,n.Z)((function*(){var e=yield g(),t=[];for(var a of e){var n,i;"microApp"===(null===(n=a.launchpadCollection)||void 0===n?void 0:n.type)&&a.microAppId&&t.push({type:"app",id:a.microAppId,favoriteId:null===(i=a.launchpadCollection)||void 0===i?void 0:i.instanceId})}return t}))).apply(this,arguments)}function x(){return(x=(0,n.Z)((function*(e){if("app"===e.type)return(0,d.H)({microAppId:e.id,launchpadCollection:{type:"microApp",name:e.app.localeName}},{interceptorParams:{ignoreLoadingBar:!0}})}))).apply(this,arguments)}function y(){return(y=(0,n.Z)((function*(e){return e.favoriteId?(0,f.m)(e.favoriteId):g().then((t=>{var a,n=null===(a=t.find((t=>{var a;return"app"===e.type&&"microApp"===(null===(a=t.launchpadCollection)||void 0===a?void 0:a.type)&&t.microAppId===e.id})))||void 0===a||null===(a=a.launchpadCollection)||void 0===a?void 0:a.instanceId;if(n)return(0,f.m)(n)}))}))).apply(this,arguments)}var k,E=a(3028);function w(e,t){return e.app.id.toLowerCase().includes(t)||e.app.localeName.toLowerCase().includes(t)?e:null}function C(e,t){return e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)?e:null}var N="launchpad-recent-visits:".concat(null===(k=o.auth.getAuth())||void 0===k?void 0:k.org),S=new l.o(localStorage),I=10,A=10,V=[],Z=new Map,_=new Map,B=!1,R=[],z=!1,L=new c.i((0,n.Z)((function*(){var e=yield function(){return v.apply(this,arguments)}();V=e.desktops,Z=e.storyboards.reduce(((e,t)=>{var{app:a}=t;return e.set(a.id,a),e}),new Map);var t=new Map;for(var a of e.desktops)for(var n of a.items)if("custom"===n.type)t.set(n.id,n);else if("dir"===n.type)for(var i of n.items)"custom"===i.type&&t.set(i.id,i);_=t,B=!0}))),M=new c.i((0,n.Z)((function*(){R=yield function(){return b.apply(this,arguments)}(),z=!0})));function P(e){var[t,a]=(0,i.useState)(V),[o,l]=(0,i.useState)(Z),[c,p]=(0,i.useState)(_),[u,m]=(0,i.useState)(""),[d,f]=(0,i.useState)(!B),[v,g]=(0,i.useState)(!z),[h,b]=(0,i.useState)([]),[k,P]=(0,i.useState)([]),[O,q]=(0,i.useState)(R),[j,D]=(0,i.useState)([]);(0,i.useEffect)((()=>{e&&!d&&(a(V),l(Z),p(_))}),[e,d]),(0,i.useEffect)((()=>{e&&!v&&q(R)}),[e,v]),(0,i.useEffect)((()=>{var t;e&&b(null!==(t=S.getItem(N))&&void 0!==t?t:[])}),[e]),(0,i.useEffect)((()=>{if(window.STANDALONE_MICRO_APPS&&e){var t=function(){var e=(0,n.Z)((function*(){try{yield L.fetch(),f(!1)}catch(e){(0,r.handleHttpError)(e)}}));return function(){return e.apply(this,arguments)}}();t()}}),[e]),(0,i.useEffect)((()=>{if(!window.STANDALONE_MICRO_APPS){var e=(0,r.getRuntime)();V=e.getDesktops(),Z=new Map;var t=e.getCurrentApp();t&&Z.set(t.id,t),f(!1)}}),[]),(0,i.useEffect)((()=>{if(e){var t=function(){var e=(0,n.Z)((function*(){try{yield M.fetch(),g(!1)}catch(e){}}));return function(){return e.apply(this,arguments)}}();t()}}),[e]),(0,i.useEffect)((()=>{if(!d){var e=h.map((e=>{if("app"===e.type){var t=o.get(e.id);return t?{type:"app",app:t}:null}return c.get(e.id)})).filter(Boolean);P(e)}}),[c,d,o,h]);var F=(0,i.useCallback)((e=>{var t,{type:a,id:n}=e,i=null!==(t=S.getItem(N))&&void 0!==t?t:[],r=i.findIndex((e=>e.type===a&&e.id===n));r>-1&&i.splice(r,1),i.unshift({type:a,id:n}),i.length>A&&i.pop(),S.setItem(N,i)}),[]);(0,i.useEffect)((()=>{if(!d&&!v){var e=O.map((e=>{if("app"===e.type){var t=o.get(e.id);return t?{type:"app",app:t}:null}return c.get(e.id)})).filter(Boolean);D(e)}}),[c,d,v,o,O]);var Q=(0,i.useCallback)((e=>{var{type:t,id:a}=e;return O.some((e=>e.type===t&&e.id===a))}),[O]),T=(0,i.useCallback)((e=>{var t,{type:a,id:n}=e,i=O.findIndex((e=>e.type===a&&e.id===n));if(i>-1){var r=O[i];t=O.slice(0,i).concat(O.slice(i+1)),function(e){y.apply(this,arguments)}(r)}else{if(O.length>=I)return void(0,s.vC)({type:"warn",title:"收藏数量已达上限",content:"当前收藏链接数量已达上限(".concat(I,"个),请删除部分收藏后再添加。")});var o={type:a,id:n};t=O.concat(o),function(e){x.apply(this,arguments)}(e)}q(t),R=t}),[O]),$=(0,i.useMemo)((()=>d?[]:function(e,t){return e.map((e=>({name:e.name,items:e.items.map((e=>{switch(e.type){case"app":var a=t.get(e.id);if(a)return{type:e.type,id:e.id,app:a};break;case"dir":var n=e.items.map((e=>{if("app"!==e.type)return e;var a=t.get(e.id);return a?{type:e.type,id:e.id,app:a}:void 0})).filter(Boolean);if(n.length>0)return{type:e.type,id:e.id,name:e.name,items:n};break;case"custom":return e}})).filter(Boolean)}))).filter((e=>e.items.length>0))}(t,o)),[d,t,o]),G=(0,i.useMemo)((()=>function(e,t){if(!t)return e;var a=t.toLowerCase();return e.map((e=>({name:e.name,items:e.items.map((e=>{switch(e.type){case"app":return w(e,a);case"custom":return C(e,a);case"dir":var t=e.items.map((e=>"app"===e.type?w(e,a):C(e,a))).filter(Boolean);return t.length>0?(0,E.Z)((0,E.Z)({},e),{},{items:t}):null}})).filter(Boolean)}))).filter((e=>e.items.length>0))}($,u)),[$,u]);return{loading:d,q:u,setQ:m,menuGroups:G,loadingFavorites:v,favorites:j,recentVisits:k,pushRecentVisit:F,isStarred:Q,toggleStar:T}}},2892:(e,t,a)=>{a.d(t,{V3:()=>r,kk:()=>o,vC:()=>l});var n=a(4511),i=a(6107),r=(0,n.wrapBrick)("eo-icon"),o=(0,n.wrapBrick)("eo-link"),l=(0,i.unwrapProvider)("basic.show-dialog")},6976:(e,t,a)=>{a.d(t,{Z:()=>m});var n=a(9601),i=a.n(n),r=a(2609),o=a.n(r),l=a(8991),c=a.n(l),s=new URL(a(2754),a.b),p=o()(i()),u=c()(s);p.push([e.id,`:host{display:inline-block;width:32px;height:32px;--local-sidebar-menu-item-active-bg:rgba(0,0,0,0.04);--local-background:#fff;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none}:host-context(html[data-theme="dark"]),\n:host-context(html[data-theme="dark-v2"]){--local-sidebar-menu-item-active-bg:rgba(255,255,255,0.04);--local-background:#26262a;--local-menu-icon-color:rgba(255,255,255,0.45)}.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}.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:1040px;max-width:calc(100vw - 100px);max-height:calc(100vh - var(--app-bar-height) - 10px);background-color:var(--local-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:160px;padding:20px 0 24px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-image:url(${u});background-size:205px 205px;background-repeat:no-repeat;background-position:left 22px bottom 27px}.quick-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{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{display:block}.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 > eo-link::part(link){padding:0 16px}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.quick-nav{overflow-y:auto;flex:1}.quick-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.content{flex:1;padding:20px 24px 24px;min-width:0;min-height:50vh;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}.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--local-menu-icon-color)}.menu-item > eo-link{max-width:100%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:0}.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-star{cursor:pointer}.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.menu-item:not(.starred) > .menu-item-star{display:none;color:var(--color-secondary-text)}.menu-item:not(.starred):hover > .menu-item-star{display:inline-block}.menu-item-star.starred{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 li{height:24px;padding:0 8px;background-color:var(--color-fill-bg-base-1);border-radius:3px;display:flex;align-items:center}.recent-visits eo-link{flex:1;min-width:0}.recent-visits eo-link::part(link){color:var(--color-header-text)}.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}`,""]);const m=p.toString()},8991:e=>{e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},2754:(e,t,a)=>{e.exports=a.p+"images/9879d37a.png"}}]);
2
+ //# sourceMappingURL=9816.7368ffde.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/9816.7368ffde.js","mappings":"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","sources":["webpack:///./src/launchpad-button-v2/LaunchpadContext.ts","webpack:///./src/launchpad-button-v2/MenuGroup.tsx","webpack:///./src/launchpad-button-v2/Launchpad.tsx","webpack:///./src/launchpad-button-v2/api.ts","webpack:///./src/launchpad-button-v2/search.ts","webpack:///./src/launchpad-button-v2/useLaunchpadInfo.ts","webpack:///./src/launchpad-button-v2/getMenuGroups.ts","webpack:///./src/launchpad-button-v2/wrapped-bricks.ts","webpack:///./src/launchpad-button-v2/styles.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js"],"sourcesContent":["import React from \"react\";\nimport type {\n DesktopItemApp,\n DesktopItemCustom,\n} from \"../launchpad/interfaces\";\n\nexport interface LaunchpadContextData {\n searching: boolean;\n pushRecentVisit(item: DesktopItemApp | DesktopItemCustom): void;\n toggleStar(item: DesktopItemApp | DesktopItemCustom): void;\n isStarred(item: DesktopItemApp | DesktopItemCustom): 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 type {\n DesktopItem,\n DesktopItemApp,\n DesktopItemCustom,\n} from \"../launchpad/interfaces\";\nimport { useLaunchpadContext } from \"./LaunchpadContext\";\n\nexport interface MenuGroupProps {\n name: string;\n items: DesktopItem[];\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: DesktopItemApp | DesktopItemCustom;\n isSidebar?: boolean;\n}\n\nexport function MenuItem({ item, isSidebar }: MenuItemProps) {\n const { pushRecentVisit, toggleStar, isStarred } = useLaunchpadContext();\n const starred = useMemo(\n () => !isSidebar && isStarred(item),\n [isSidebar, isStarred, item]\n );\n\n const handleStarClick = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n const handleClick = useCallback(() => {\n pushRecentVisit(item);\n }, [item, pushRecentVisit]);\n\n const classPrefix = isSidebar ? \"sidebar-\" : \"\";\n\n return (\n <li className={classNames(`${classPrefix}menu-item`, { starred })}>\n {item.type === \"app\" ? (\n <WrappedLink url={item.app.homepage} onClick={handleClick}>\n <WrappedIcon\n className={`${classPrefix}menu-icon`}\n {...pick(item.app.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ])}\n />\n <span className=\"menu-item-label\">{item.app.localeName}</span>\n </WrappedLink>\n ) : (\n <WrappedLink href={item.url} target=\"_blank\" onClick={handleClick}>\n <WrappedIcon\n className={`${classPrefix}menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n )}\n {!isSidebar && (\n <WrappedIcon\n lib=\"fa\"\n prefix={starred ? \"fas\" : \"far\"}\n icon=\"star\"\n className={classNames(\"menu-item-star\", { starred })}\n title={starred ? \"取消收藏\" : \"收藏\"}\n onClick={handleStarClick}\n />\n )}\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n name: string;\n items: (DesktopItemApp | DesktopItemCustom)[];\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","import React, { useCallback, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadInfo } from \"./useLaunchpadInfo.js\";\nimport { MenuGroup, MenuItem } from \"./MenuGroup.js\";\nimport { LaunchpadsContext } from \"./LaunchpadContext.js\";\n\nexport function Launchpad({ active }: { active?: boolean }) {\n const searchInputRef = useRef<HTMLInputElement>(null);\n const handleClickSearchBox = useCallback(() => {\n searchInputRef.current?.focus();\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 } = 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 return (\n <div className={classNames(\"launchpad\", { active })}>\n <div className=\"sidebar\">\n <div className=\"quick-nav\">\n <div className=\"quick-nav-label\">快捷访问</div>\n {/* <Loading loading={loading || loadingFavorites} /> */}\n <ul className=\"sidebar-menu\">\n {favorites.map((item, index) => (\n <MenuItem key={index} item={item} isSidebar />\n ))}\n </ul>\n </div>\n </div>\n <div className={classNames(\"content\", { loading })}>\n <Loading loading={loading} />\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 <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 {item.type === \"app\" ? (\n <WrappedLink\n url={item.app.homepage}\n onClick={() => pushRecentVisit(item)}\n >\n <span>{item.app.localeName}</span>\n </WrappedLink>\n ) : (\n <WrappedLink\n href={item.url}\n target=\"_blank\"\n onClick={() => pushRecentVisit(item)}\n >\n <span>{item.name}</span>\n </WrappedLink>\n )}\n </li>\n ))}\n </ul>\n </div>\n <LaunchpadsContext.Provider\n value={{ searching, pushRecentVisit, toggleStar, isStarred }}\n >\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 </LaunchpadsContext.Provider>\n </div>\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 type { MicroApp, Storyboard } from \"@next-core/types\";\nimport { i18n } from \"@next-core/i18n\";\nimport { LaunchpadApi_getLaunchpadInfo } from \"@next-api-sdk/micro-app-standalone-sdk\";\nimport {\n LaunchpadApi_createCollection,\n LaunchpadApi_deleteCollection,\n LaunchpadApi_listCollection,\n} from \"@next-api-sdk/user-service-sdk\";\nimport type {\n DesktopItemApp,\n DesktopItemCustom,\n} from \"../launchpad/interfaces\";\nimport type { FavMenuItem } from \"./interfaces\";\n\nexport async function fetchLaunchpadInfo() {\n const launchpadInfo = await LaunchpadApi_getLaunchpadInfo(\n {},\n {\n interceptorParams: { ignoreLoadingBar: true },\n noAbortOnRouteChange: true,\n }\n );\n\n for (const storyboard of launchpadInfo.storyboards as Storyboard[]) {\n const app = storyboard.app as unknown as MicroApp;\n if (app.locales) {\n // Prefix to avoid conflict between brick package's i18n namespace.\n const ns = `$tmp-${app.id}`;\n // Support any languages in `app.locales`.\n Object.entries(app.locales).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, ns, resources);\n });\n // Use `app.name` as the fallback `app.localeName`.\n app.localeName = i18n.getFixedT(null, ns)(\"name\", app.name) as string;\n // Remove the temporary i18n resource bundles.\n Object.keys(app.locales).forEach((lang) => {\n i18n.removeResourceBundle(lang, ns);\n });\n } else {\n app.localeName = app.name;\n }\n }\n\n return launchpadInfo;\n}\n\nasync function fetchRawFavorites() {\n return (\n await LaunchpadApi_listCollection(\n { page: 1, pageSize: 10 },\n {\n interceptorParams: { ignoreLoadingBar: true },\n noAbortOnRouteChange: true,\n }\n )\n ).list;\n}\n\nexport async function fetchFavorites() {\n const list = await fetchRawFavorites();\n const stored: FavMenuItem[] = [];\n for (const fav of list) {\n if (fav.launchpadCollection?.type === \"microApp\") {\n if (fav.microAppId) {\n stored.push({\n type: \"app\",\n id: fav.microAppId,\n favoriteId: fav.launchpadCollection?.instanceId,\n });\n }\n }\n // TODO: custom links\n }\n return stored;\n}\n\n// istanbul ignore next: will refactor soon\nexport async function favorite(item: DesktopItemApp | DesktopItemCustom) {\n if (item.type === \"app\") {\n return LaunchpadApi_createCollection(\n {\n microAppId: item.id,\n launchpadCollection: {\n type: \"microApp\",\n name: item.app.localeName,\n },\n },\n {\n interceptorParams: { ignoreLoadingBar: true },\n }\n );\n }\n // TODO: custom links\n}\n\n// istanbul ignore next: will refactor soon\nexport async function undoFavorite(item: FavMenuItem) {\n if (item.favoriteId) {\n return LaunchpadApi_deleteCollection(item.favoriteId);\n }\n\n return fetchRawFavorites().then((list) => {\n const foundId = list.find(\n (fav) =>\n item.type === \"app\"\n ? fav.launchpadCollection?.type === \"microApp\" &&\n fav.microAppId === item.id\n : false // TODO: custom links\n )?.launchpadCollection?.instanceId;\n\n if (foundId) {\n return LaunchpadApi_deleteCollection(foundId);\n }\n });\n}\n","import type {\n DesktopData,\n DesktopItem,\n DesktopItemApp,\n DesktopItemCustom,\n} from \"../launchpad/interfaces\";\n\nexport function search(allMenuGroups: DesktopData[], q: string): DesktopData[] {\n if (!q) {\n return allMenuGroups;\n }\n const lowerQ = q.toLowerCase();\n const groups: DesktopData[] = allMenuGroups\n .map((desktop) => ({\n name: desktop.name,\n items: desktop.items\n .map((item) => {\n switch (item.type) {\n case \"app\":\n return matchMenuItemApp(item, lowerQ);\n case \"custom\":\n return matchMenuItemCustom(item, lowerQ);\n case \"dir\": {\n const filteredSubItems = item.items\n .map((sub) =>\n sub.type === \"app\"\n ? matchMenuItemApp(sub, lowerQ)\n : matchMenuItemCustom(sub, lowerQ)\n )\n .filter(Boolean) as DesktopItem[];\n return filteredSubItems.length > 0\n ? {\n ...item,\n items: filteredSubItems,\n }\n : null;\n }\n }\n })\n // Ignore not matched items\n .filter(Boolean) as DesktopItem[],\n }))\n // ignore empty desktops\n .filter((desktop) => desktop.items.length > 0);\n return groups;\n}\n\nfunction matchMenuItemApp(item: DesktopItemApp, lowerQ: string) {\n return item.app.id.toLowerCase().includes(lowerQ) ||\n item.app.localeName!.toLowerCase().includes(lowerQ)\n ? item\n : null;\n}\n\nfunction matchMenuItemCustom(item: DesktopItemCustom, lowerQ: string) {\n return item.id.toLowerCase().includes(lowerQ) ||\n item.name.toLowerCase().includes(lowerQ)\n ? item\n : null;\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport type { MicroApp, Storyboard } from \"@next-core/types\";\nimport { getRuntime, handleHttpError } from \"@next-core/runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport type {\n DesktopData,\n DesktopItemApp,\n DesktopItemCustom,\n} from \"../launchpad/interfaces\";\nimport { DeferredService } from \"../shared/DeferredService\";\nimport { showDialog } from \"./wrapped-bricks\";\nimport type { FavMenuItem, StoredMenuItem } from \"./interfaces\";\nimport {\n favorite,\n fetchFavorites,\n fetchLaunchpadInfo,\n undoFavorite,\n} from \"./api\";\nimport { search } from \"./search\";\nimport { getMenuGroups } from \"./getMenuGroups\";\n\nconst storageKey = `launchpad-recent-visits:${(\n auth.getAuth() as Record<string, string>\n)?.org}`;\nconst storage = new JsonStorage(localStorage);\n\nconst FAVORITES_LIMIT = 10;\nconst RECENT_VISITS_LIMIT = 10;\n\nlet candidateDesktops: DesktopData[] = [];\nlet candidateMicroAppsById = new Map<string, MicroApp>();\nlet candidateCustomLinksById = new Map<string, DesktopItemCustom>();\nlet preLoaded = false;\n\nlet candidateFavorites: FavMenuItem[] = [];\nlet preLoadedFavorites = false;\n\nexport const deferredLaunchpadInfo = new DeferredService(async () => {\n const info = await fetchLaunchpadInfo();\n candidateDesktops = info.desktops as DesktopData[];\n\n candidateMicroAppsById = (info.storyboards as Storyboard[]).reduce(\n (acc, { app }) => {\n acc.set(app.id, app);\n return acc;\n },\n new Map<string, MicroApp>()\n );\n\n const linksById = new Map<string, DesktopItemCustom>();\n for (const desktop of info.desktops as DesktopData[]) {\n for (const item of desktop.items) {\n if (item.type === \"custom\") {\n linksById.set(item.id, item);\n } else if (item.type === \"dir\") {\n for (const subItem of item.items) {\n if (subItem.type === \"custom\") {\n linksById.set(subItem.id, subItem);\n }\n }\n }\n }\n }\n candidateCustomLinksById = linksById;\n preLoaded = true;\n});\n\nexport const deferredFavorites = new DeferredService(async () => {\n candidateFavorites = await fetchFavorites();\n preLoadedFavorites = true;\n});\n\n/**\n * - 页面初始化时预加载 launchpad 信息。\n * - 每次打开 launchpad 都发起请求,但该请求的数据只在下次打开 launchpad 时使用。\n * 即每次打开 launchpad 使用的都是上一次获取的数据,以便达到两个效果:\n * - 每次打开 launchpad 都能立即显示菜单列表;\n * - 同时当用户在 launchpad 上操作时,不会出现数据突然更新(新数据请求完成)。\n */\nexport function useLaunchpadInfo(active?: boolean) {\n const [desktops, setDesktops] = useState(candidateDesktops);\n const [microAppsById, setMicroAppsById] = useState(candidateMicroAppsById);\n const [customLinksById, setCustomLinksById] = useState(\n candidateCustomLinksById\n );\n\n const [q, setQ] = useState(\"\");\n\n const [loading, setLoading] = useState(!preLoaded);\n const [loadingFavorites, setLoadingFavorites] = useState(!preLoadedFavorites);\n\n const [storedRecentVisits, setStoredRecentVisits] = useState<\n StoredMenuItem[]\n >([]);\n\n const [recentVisits, setRecentVisits] = useState<\n (DesktopItemApp | DesktopItemCustom)[]\n >([]);\n\n const [storedFavorites, setStoredFavorites] =\n useState<FavMenuItem[]>(candidateFavorites);\n const [favorites, setFavorites] = useState<\n (DesktopItemApp | DesktopItemCustom)[]\n >([]);\n\n useEffect(() => {\n // 仅当首次加载完成或重新打开 launchpad 时更新一次数据。\n if (active && !loading) {\n setDesktops(candidateDesktops);\n setMicroAppsById(candidateMicroAppsById);\n setCustomLinksById(candidateCustomLinksById);\n }\n }, [active, loading]);\n\n useEffect(() => {\n if (active && !loadingFavorites) {\n setStoredFavorites(candidateFavorites);\n }\n }, [active, loadingFavorites]);\n\n useEffect(() => {\n if (active) {\n setStoredRecentVisits(storage.getItem(storageKey) ?? []);\n }\n }, [active]);\n\n useEffect(() => {\n if (window.STANDALONE_MICRO_APPS && active) {\n const startFetchLaunchpadInfo = async (): Promise<void> => {\n try {\n await deferredLaunchpadInfo.fetch();\n setLoading(false);\n } catch (error) {\n // props.onWillClose?.();\n handleHttpError(error);\n }\n };\n startFetchLaunchpadInfo();\n }\n }, [active]);\n\n useEffect(() => {\n if (!window.STANDALONE_MICRO_APPS) {\n const runtime = getRuntime();\n candidateDesktops = runtime.getDesktops() as DesktopData[];\n candidateMicroAppsById = new Map();\n const currentApp = runtime.getCurrentApp();\n if (currentApp) {\n candidateMicroAppsById.set(currentApp.id, currentApp);\n }\n setLoading(false);\n }\n }, []);\n\n useEffect(() => {\n if (active) {\n const startFetchFavorites = async (): Promise<void> => {\n try {\n await deferredFavorites.fetch();\n setLoadingFavorites(false);\n } catch (error) {\n // props.onWillClose?.();\n // handleHttpError(error);\n }\n };\n startFetchFavorites();\n }\n }, [active]);\n\n useEffect(() => {\n if (loading) {\n return;\n }\n const visits = storedRecentVisits\n .map((item) => {\n if (item.type === \"app\") {\n const app = microAppsById.get(item.id);\n return app ? { type: \"app\", app } : null;\n }\n return customLinksById.get(item.id);\n })\n .filter(Boolean) as (DesktopItemApp | DesktopItemCustom)[];\n setRecentVisits(visits);\n }, [customLinksById, loading, microAppsById, storedRecentVisits]);\n\n const pushRecentVisit = useCallback(({ type, id }: StoredMenuItem) => {\n const visits: StoredMenuItem[] = storage.getItem(storageKey) ?? [];\n const index = visits.findIndex(\n (visit) => visit.type === type && visit.id === id\n );\n if (index > -1) {\n visits.splice(index, 1);\n }\n visits.unshift({ type, id });\n if (visits.length > RECENT_VISITS_LIMIT) {\n visits.pop();\n }\n // setStoredRecentVisits(visits);\n storage.setItem(storageKey, visits);\n }, []);\n\n useEffect(() => {\n if (loading || loadingFavorites) {\n return;\n }\n const list = storedFavorites\n .map((item) => {\n if (item.type === \"app\") {\n const app = microAppsById.get(item.id);\n return app ? { type: \"app\", app } : null;\n }\n return customLinksById.get(item.id);\n })\n .filter(Boolean) as (DesktopItemApp | DesktopItemCustom)[];\n setFavorites(list);\n }, [\n customLinksById,\n loading,\n loadingFavorites,\n microAppsById,\n storedFavorites,\n ]);\n\n const isStarred = useCallback(\n ({ type, id }: FavMenuItem) => {\n return storedFavorites.some(\n (item) => item.type === type && item.id === id\n );\n },\n [storedFavorites]\n );\n\n const toggleStar = useCallback(\n (item: DesktopItemApp | DesktopItemCustom) => {\n const { type, id } = item;\n const index = storedFavorites.findIndex(\n (item) => item.type === type && item.id === id\n );\n let newFavorites: StoredMenuItem[];\n if (index > -1) {\n const removed = storedFavorites[index];\n newFavorites = storedFavorites\n .slice(0, index)\n .concat(storedFavorites.slice(index + 1));\n undoFavorite(removed);\n } else {\n if (storedFavorites.length >= FAVORITES_LIMIT) {\n showDialog({\n type: \"warn\",\n title: \"收藏数量已达上限\",\n content: `当前收藏链接数量已达上限(${FAVORITES_LIMIT}个),请删除部分收藏后再添加。`,\n });\n return;\n }\n const fav: FavMenuItem = { type, id };\n newFavorites = storedFavorites.concat(fav);\n favorite(item);\n }\n setStoredFavorites(newFavorites);\n candidateFavorites = newFavorites;\n },\n [storedFavorites]\n );\n\n const allMenuGroups: DesktopData[] = useMemo(() => {\n if (loading) {\n return [];\n }\n return getMenuGroups(desktops, microAppsById);\n }, [loading, desktops, microAppsById]);\n\n const menuGroups: DesktopData[] = useMemo(\n () => search(allMenuGroups, q),\n [allMenuGroups, q]\n );\n\n return {\n loading,\n q,\n setQ,\n menuGroups,\n loadingFavorites,\n favorites,\n recentVisits,\n pushRecentVisit,\n isStarred,\n toggleStar,\n };\n}\n","import type { MicroApp } from \"@next-core/types\";\nimport type { DesktopData, DesktopItem } from \"../launchpad/interfaces\";\n\nexport function getMenuGroups(\n desktops: DesktopData[],\n microAppsById: Map<string, MicroApp>\n) {\n return (\n desktops\n .map((desktop) => ({\n name: desktop.name,\n items: desktop.items\n .map((item) => {\n switch (item.type) {\n case \"app\": {\n const app = microAppsById.get(item.id);\n if (app) {\n return {\n type: item.type,\n id: item.id,\n app,\n };\n }\n break;\n }\n case \"dir\": {\n const items = item.items\n .map((item) => {\n if (item.type === \"app\") {\n const app = microAppsById.get(item.id);\n if (app) {\n return {\n type: item.type,\n id: item.id,\n app,\n };\n }\n } else {\n return item;\n }\n })\n .filter(Boolean);\n // ignore empty dirs\n if (items.length > 0) {\n return {\n type: item.type,\n id: item.id,\n name: item.name,\n items,\n };\n }\n break;\n }\n case \"custom\":\n return item;\n }\n })\n .filter(Boolean) as DesktopItem[],\n }))\n // ignore empty desktops\n .filter((desktop) => desktop.items.length > 0)\n );\n}\n","import { wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\n// Use `unwrapProvider` to get the original function of a provider\nexport const showDialog =\n unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n","// 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\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../images/launchpad-sidebar.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block;width:32px;height:32px;--local-sidebar-menu-item-active-bg:rgba(0,0,0,0.04);--local-background:#fff;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none}:host-context(html[data-theme=\"dark\"]),\n:host-context(html[data-theme=\"dark-v2\"]){--local-sidebar-menu-item-active-bg:rgba(255,255,255,0.04);--local-background:#26262a;--local-menu-icon-color:rgba(255,255,255,0.45)}.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}.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:1040px;max-width:calc(100vw - 100px);max-height:calc(100vh - var(--app-bar-height) - 10px);background-color:var(--local-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:160px;padding:20px 0 24px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:205px 205px;background-repeat:no-repeat;background-position:left 22px bottom 27px}.quick-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{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{display:block}.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 > eo-link::part(link){padding:0 16px}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.quick-nav{overflow-y:auto;flex:1}.quick-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.content{flex:1;padding:20px 24px 24px;min-width:0;min-height:50vh;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}.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--local-menu-icon-color)}.menu-item > eo-link{max-width:100%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:0}.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-star{cursor:pointer}.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.menu-item:not(.starred) > .menu-item-star{display:none;color:var(--color-secondary-text)}.menu-item:not(.starred):hover > .menu-item-star{display:inline-block}.menu-item-star.starred{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 li{height:24px;padding:0 8px;background-color:var(--color-fill-bg-base-1);border-radius:3px;display:flex;align-items:center}.recent-visits eo-link{flex:1;min-width:0}.recent-visits eo-link::part(link){color:var(--color-header-text)}.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}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};"],"names":["LaunchpadsContext","React","useLaunchpadContext","MenuGroup","_ref","name","items","className","map","item","type","MenuItemFolder","key","concat","id","MenuItem","_ref2","isSidebar","pushRecentVisit","toggleStar","isStarred","starred","useMemo","handleStarClick","useCallback","handleClick","classPrefix","classNames","WrappedLink","url","app","homepage","onClick","WrappedIcon","_extends","pick","menuIcon","localeName","href","target","lib","icon","prefix","title","_ref3","searching","expanded","setExpanded","useState","searchingExpanded","setSearchingExpanded","toggle","previous","useEffect","actualExpanded","Launchpad","active","searchInputRef","useRef","handleClickSearchBox","_searchInputRef$curre","current","focus","loading","q","setQ","menuGroups","favorites","loadingFavorites","recentVisits","useLaunchpadInfo","handleSearch","e","value","clearSearch","index","Loading","ref","placeholder","onChange","theme","empty","length","Provider","group","spinning","_fetchLaunchpadInfo","_asyncToGenerator","launchpadInfo","LaunchpadApi_getLaunchpadInfo","interceptorParams","ignoreLoadingBar","noAbortOnRouteChange","_loop","storyboard","locales","ns","Object","entries","forEach","lang","resources","i18n","addResourceBundle","getFixedT","keys","removeResourceBundle","storyboards","apply","arguments","fetchRawFavorites","_fetchRawFavorites","LaunchpadApi_listCollection","page","pageSize","list","_fetchFavorites","stored","fav","_fav$launchpadCollect","_fav$launchpadCollect2","launchpadCollection","microAppId","push","favoriteId","instanceId","_favorite","LaunchpadApi_createCollection","_undoFavorite","LaunchpadApi_deleteCollection","then","_list$find","foundId","find","_fav$launchpadCollect3","matchMenuItemApp","lowerQ","toLowerCase","includes","matchMenuItemCustom","storageKey","_auth$getAuth","auth","getAuth","org","storage","JsonStorage","localStorage","FAVORITES_LIMIT","RECENT_VISITS_LIMIT","candidateDesktops","candidateMicroAppsById","Map","candidateCustomLinksById","preLoaded","candidateFavorites","preLoadedFavorites","deferredLaunchpadInfo","DeferredService","info","fetchLaunchpadInfo","desktops","reduce","acc","set","linksById","desktop","subItem","deferredFavorites","fetchFavorites","setDesktops","microAppsById","setMicroAppsById","customLinksById","setCustomLinksById","setLoading","setLoadingFavorites","storedRecentVisits","setStoredRecentVisits","setRecentVisits","storedFavorites","setStoredFavorites","setFavorites","_storage$getItem","getItem","window","STANDALONE_MICRO_APPS","startFetchLaunchpadInfo","_ref4","fetch","error","handleHttpError","runtime","getRuntime","getDesktops","currentApp","getCurrentApp","startFetchFavorites","_ref5","visits","get","filter","Boolean","_ref6","_storage$getItem2","findIndex","visit","splice","unshift","pop","setItem","_ref7","some","newFavorites","removed","slice","_x2","undoFavorite","showDialog","content","_x","favorite","allMenuGroups","getMenuGroups","filteredSubItems","sub","_objectSpread","search","wrapBrick","unwrapProvider","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","module","toString","exports","options","String","__esModule","default","test","hash","needQuotes","replace"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[8207],{658:(e,t,s)=>{s.r(t),s.d(t,{EoLaunchpadButtonV2:()=>n,EoLaunchpadButtonV2Component:()=>w});var r,c,i,n,h=s(8390),l=s(8657),a=s.n(l),o=s(5366),u=s(4511),d=s(6107),f=(s(2230),s(4009)),v=s(7370),p=s(2779),m=s.n(p),F=s(4758),g=s(6976),k=s(7694),E=s(1065),{defineElement:b}=(0,o.createDecorators)(),I=(0,d.unwrapProvider)("basic.lock-body-scroll");c=b("eo-launchpad-button-v2",{styleTexts:[g.Z]});class Z extends u.ReactNextElement{disconnectedCallback(){super.disconnectedCallback(),I(this,!1)}render(){return a().createElement(w,{host:this})}}function w(e){var{host:t}=e,[s,r]=(0,l.useState)(!1),[c,i]=(0,l.useState)(!1),n=()=>{i((e=>!e))};return(0,l.useEffect)((()=>(0,f.getHistory)().listen((()=>{i(!1)}))),[]),(0,l.useEffect)((()=>{c&&!s&&r(!0)}),[c,s]),(0,l.useEffect)((()=>(v.Z.filter=function(){return!0},(0,v.Z)("alt+l",(e=>{e.preventDefault(),i((e=>!e))})),(0,v.Z)("esc",(()=>{i(!1)})),()=>{v.Z.unbind("alt+l"),v.Z.unbind("esc")})),[]),(0,l.useEffect)((()=>{I(t,c)}),[c,t]),(0,l.useEffect)((()=>{E.yp.schedulePrefetch(),E.sK.schedulePrefetch()}),[]),a().createElement(a().Fragment,null,a().createElement("a",{role:"button",className:m()("launchpad-button",{active:c}),onClick:n},a().createElement(F.Z,null)),a().createElement("div",{className:m()("mask",{active:c}),onClick:n}),s&&a().createElement(k.Z,{active:c}))}i=Z,[n,r]=(0,h.Z)(i,[],[c],0,void 0,u.ReactNextElement).c,r()},2301:(e,t,s)=>{s.d(t,{i:()=>i});var r=s(4795),c=s(6666);class i{constructor(e){(0,c.Z)(this,"preFetchId",null),(0,c.Z)(this,"preFetchScheduled",!1),(0,c.Z)(this,"firstFetchPromise",null),(0,c.Z)(this,"isFetching",!1),(0,c.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}}},4758:(e,t,s)=>{s.d(t,{Z:()=>i});var r=s(7896),c=s(8657);const i=e=>c.createElement("svg",(0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 16 16"},e),c.createElement("g",{fill:"currentColor",fillRule:"nonzero"},c.createElement("path",{d:"M0 0h4v4H0zM0 6h4v4H0zM6 0h4v4H6zM6 6h4v4H6zM12 0h4v4h-4zM12 6h4v4h-4zM0 12h4v4H0zM6 12h4v4H6zM12 12h4v4h-4z"})))},2890:(e,t,s)=>{s.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=eo-launchpad-button-v2.9bf0f993.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/eo-launchpad-button-v2.9bf0f993.js","mappings":"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","sources":["webpack:///./src/launchpad-button-v2/index.tsx","webpack:///./src/shared/DeferredService.ts","webpack:///./src/images/launchpad.svg","webpack:///../../src/JsonStorage.ts"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport \"@next-core/theme\";\nimport { getHistory } from \"@next-core/runtime\";\nimport type { lockBodyScroll as _lockBodyScroll } from \"@next-bricks/basic/data-providers/lock-body-scroll/lock-body-scroll\";\n// import { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport hotkeys from \"hotkeys-js\";\nimport classNames from \"classnames\";\n// import { K, NS, locales } from \"./i18n.js\";\nimport LaunchpadSvg from \"../images/launchpad.svg\";\nimport styleText from \"./styles.shadow.css\";\nimport { Launchpad } from \"./Launchpad\";\nimport { deferredFavorites, deferredLaunchpadInfo } from \"./useLaunchpadInfo\";\n\n// initializeReactI18n(NS, locales);\n\nconst { defineElement } = createDecorators();\n\nconst lockBodyScroll = unwrapProvider<typeof _lockBodyScroll>(\n \"basic.lock-body-scroll\"\n);\n\n/**\n * 构件 `eo-launchpad-button-v2`\n */\nexport\n@defineElement(\"eo-launchpad-button-v2\", {\n styleTexts: [styleText],\n})\nclass EoLaunchpadButtonV2 extends ReactNextElement {\n disconnectedCallback(): void {\n super.disconnectedCallback();\n lockBodyScroll(this, false);\n }\n\n render() {\n return <EoLaunchpadButtonV2Component host={this} />;\n }\n}\n\nexport function EoLaunchpadButtonV2Component({ host }: { host: HTMLElement }) {\n const [initialized, setInitialized] = useState(false);\n const [active, setActive] = useState(false);\n const toggleLaunchpad = (): void => {\n setActive((previous) => !previous);\n };\n\n useEffect(() => {\n // 当切换页面时,关闭 Launchpad。\n const unlisten = getHistory().listen(() => {\n setActive(false);\n });\n return unlisten;\n }, []);\n\n useEffect(() => {\n // 打开一次 launchpad 后,保留 DOM。\n if (active && !initialized) {\n setInitialized(true);\n }\n }, [active, initialized]);\n\n // istanbul ignore next\n useEffect(() => {\n hotkeys.filter = function () {\n return true;\n };\n\n // 快捷打开/关闭 Launchpad\n hotkeys(\"alt+l\", (event) => {\n event.preventDefault();\n setActive((previous) => !previous);\n });\n\n // 按 Esc 关闭 Launchpad\n hotkeys(\"esc\", () => {\n setActive(false);\n });\n\n return () => {\n hotkeys.unbind(\"alt+l\");\n hotkeys.unbind(\"esc\");\n };\n }, []);\n\n useEffect(() => {\n lockBodyScroll(host, active);\n }, [active, host]);\n\n useEffect(() => {\n deferredLaunchpadInfo.schedulePrefetch();\n deferredFavorites.schedulePrefetch();\n }, []);\n\n return (\n <>\n <a\n role=\"button\"\n className={classNames(\"launchpad-button\", { active })}\n onClick={toggleLaunchpad}\n >\n <LaunchpadSvg />\n </a>\n <div\n className={classNames(\"mask\", { active })}\n onClick={toggleLaunchpad}\n ></div>\n {initialized && <Launchpad active={active} />}\n </>\n );\n}\n","export class DeferredService {\n private preFetchId: number | null = null;\n private preFetchScheduled = false;\n private firstFetchPromise: Promise<unknown> | null = null;\n private isFetching = false;\n private readonly task: () => Promise<unknown>;\n\n constructor(task: () => Promise<unknown>) {\n this.task = task;\n }\n\n schedulePrefetch(): void {\n if (!this.preFetchScheduled) {\n this.preFetchScheduled = true;\n const preFetchLaunchpadInfo = async (): Promise<void> => {\n this.preFetchId = null;\n this.fetch();\n };\n // istanbul ignore if\n if (typeof window.requestIdleCallback === \"function\") {\n this.preFetchId = window.requestIdleCallback(preFetchLaunchpadInfo);\n } else {\n this.preFetchId = setTimeout(\n preFetchLaunchpadInfo\n ) as unknown as number;\n }\n }\n }\n\n fetch(eager?: boolean): Promise<unknown> {\n if (this.preFetchId) {\n // istanbul ignore if\n if (typeof window.cancelIdleCallback === \"function\") {\n cancelIdleCallback(this.preFetchId);\n } else {\n clearTimeout(this.preFetchId);\n }\n this.preFetchId = null;\n }\n\n let promise: Promise<unknown>;\n if (!this.isFetching || eager) {\n this.isFetching = true;\n promise = this.task();\n promise\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error(error);\n this.firstFetchPromise = null;\n })\n .finally(() => {\n this.isFetching = false;\n });\n if (!this.firstFetchPromise) {\n this.firstFetchPromise = promise;\n }\n if (eager) {\n return promise;\n }\n }\n return this.firstFetchPromise!;\n }\n}\n","import * as React from \"react\";\nconst SvgLaunchpad = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} viewBox=\"0 0 16 16\" {...props}><g fill=\"currentColor\" fillRule=\"nonzero\"><path d=\"M0 0h4v4H0zM0 6h4v4H0zM6 0h4v4H6zM6 6h4v4H6zM12 0h4v4h-4zM12 6h4v4h-4zM0 12h4v4H0zM6 12h4v4H6zM12 12h4v4h-4z\" /></g></svg>;\nexport default SvgLaunchpad;","export class JsonStorage {\n constructor(\n private storage: Storage,\n private prefix: string = \"brick-next-\"\n ) {}\n\n setItem<T = any>(name: string, value: T): void {\n this.storage.setItem(this.prefix + name, JSON.stringify(value));\n }\n\n getItem<T = any>(name: string): T {\n return JSON.parse(this.storage.getItem(this.prefix + name) as string) as T;\n }\n\n removeItem(name: string): void {\n return this.storage.removeItem(this.prefix + name);\n }\n\n clear(): void {\n return this.storage.clear();\n }\n}\n"],"names":["_EoLaunchpadButtonV","defineElement","createDecorators","lockBodyScroll","unwrapProvider","_dec","styleTexts","styleText","EoLaunchpadButtonV2","ReactNextElement","disconnectedCallback","super","this","render","React","EoLaunchpadButtonV2Component","host","_ref","initialized","setInitialized","useState","active","setActive","toggleLaunchpad","previous","useEffect","getHistory","listen","hotkeys","filter","event","preventDefault","unbind","deferredLaunchpadInfo","schedulePrefetch","deferredFavorites","role","className","classNames","onClick","LaunchpadSvg","Launchpad","_class","_initClass","_applyDecs","c","DeferredService","constructor","task","_defineProperty","_this","preFetchScheduled","preFetchLaunchpadInfo","_asyncToGenerator","preFetchId","fetch","apply","arguments","window","requestIdleCallback","setTimeout","eager","promise","cancelIdleCallback","clearTimeout","isFetching","catch","error","console","firstFetchPromise","finally","props","_extends","xmlns","width","height","viewBox","fill","fillRule","d","JsonStorage","storage","prefix","length","undefined","setItem","name","value","JSON","stringify","getItem","parse","removeItem","clear"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[2517],{6404:(e,t,n)=>{n.r(t),n.d(t,{LaunchpadButton:()=>b});var a,c,r,s=n(8390),l=n(8657),u=n.n(l),i=n(5366),d=n(4511),k=n(7947),o=n(5830),x=(n(2230),n(4497)),_=n(2152);(0,o.initializeReactI18n)(x.NS,x.k);var b,{defineElement:h}=(0,i.createDecorators)();c=h("eo-launchpad-button",{styleTexts:[_.Z]});class p extends d.ReactNextElement{render(){return u().createElement(k.L,null)}}r=p,[b,a]=(0,s.Z)(r,[],[c],0,void 0,d.ReactNextElement).c,a()}}]);
2
- //# sourceMappingURL=eo-launchpad-button.6b2c839b.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[2517],{6404:(e,t,n)=>{n.r(t),n.d(t,{LaunchpadButton:()=>b});var a,c,r,s=n(8390),l=n(8657),u=n.n(l),i=n(5366),d=n(4511),k=n(8470),o=n(5830),x=(n(2230),n(4497)),_=n(2152);(0,o.initializeReactI18n)(x.NS,x.k);var b,{defineElement:h}=(0,i.createDecorators)();c=h("eo-launchpad-button",{styleTexts:[_.Z]});class p extends d.ReactNextElement{render(){return u().createElement(k.L,null)}}r=p,[b,a]=(0,s.Z)(r,[],[c],0,void 0,d.ReactNextElement).c,a()}}]);
2
+ //# sourceMappingURL=eo-launchpad-button.1f0fc34b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/eo-launchpad-button.6b2c839b.js","mappings":"wQASAA,EAAAA,EAAAA,qBAAoBC,EAAAA,GAAIC,EAAAA,GAExB,IAEAC,GAFM,cAAEC,IAAkBC,EAAAA,EAAAA,oBAE1BC,EAICF,EAAc,sBAAuB,CACpCG,WAAY,CAACC,EAAAA,KADf,MAAAC,UAG8BC,EAAAA,iBAC5BC,SACE,OAAOC,IAAAA,cAACC,EAAAA,EAAwB,KAClC,EACDC,EAAAL,GAAAN,EAAAY,IAAAC,EAAAA,EAAAA,GAAAF,EAAA,IAAAR,GAAA,SAJ6BI,EAAAA,kBAAgBO,EAAAF,G","sources":["webpack:///./src/launchpad/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { LaunchpadButton as LaunchpadButtonComponent } from \"./LaunchpadButton/LaunchpadButton.js\";\nimport { initializeReactI18n } from \"@next-core/i18n/react\";\nimport \"@next-core/theme\";\nimport { NS, locales } from \"./i18n.js\";\nimport styleText from \"./LaunchpadButton/LaunchpadButton.shadow.css\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement } = createDecorators();\n\n/**\n * Launchpad 按钮构件\n * @author sailor\n */\n@defineElement(\"eo-launchpad-button\", {\n styleTexts: [styleText],\n})\nclass LaunchpadButton extends ReactNextElement {\n render() {\n return <LaunchpadButtonComponent />;\n }\n}\n\nexport { LaunchpadButton };\n"],"names":["initializeReactI18n","NS","locales","_LaunchpadButton","defineElement","createDecorators","_dec","styleTexts","styleText","LaunchpadButton","ReactNextElement","render","React","LaunchpadButtonComponent","_class","_initClass","_applyDecs","c"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/eo-launchpad-button.1f0fc34b.js","mappings":"wQASAA,EAAAA,EAAAA,qBAAoBC,EAAAA,GAAIC,EAAAA,GAExB,IAEAC,GAFM,cAAEC,IAAkBC,EAAAA,EAAAA,oBAE1BC,EAICF,EAAc,sBAAuB,CACpCG,WAAY,CAACC,EAAAA,KADf,MAAAC,UAG8BC,EAAAA,iBAC5BC,SACE,OAAOC,IAAAA,cAACC,EAAAA,EAAwB,KAClC,EACDC,EAAAL,GAAAN,EAAAY,IAAAC,EAAAA,EAAAA,GAAAF,EAAA,IAAAR,GAAA,SAJ6BI,EAAAA,kBAAgBO,EAAAF,G","sources":["webpack:///./src/launchpad/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { LaunchpadButton as LaunchpadButtonComponent } from \"./LaunchpadButton/LaunchpadButton.js\";\nimport { initializeReactI18n } from \"@next-core/i18n/react\";\nimport \"@next-core/theme\";\nimport { NS, locales } from \"./i18n.js\";\nimport styleText from \"./LaunchpadButton/LaunchpadButton.shadow.css\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement } = createDecorators();\n\n/**\n * Launchpad 按钮构件\n * @author sailor\n */\n@defineElement(\"eo-launchpad-button\", {\n styleTexts: [styleText],\n})\nclass LaunchpadButton extends ReactNextElement {\n render() {\n return <LaunchpadButtonComponent />;\n }\n}\n\nexport { LaunchpadButton };\n"],"names":["initializeReactI18n","NS","locales","_LaunchpadButton","defineElement","createDecorators","_dec","styleTexts","styleText","LaunchpadButton","ReactNextElement","render","React","LaunchpadButtonComponent","_class","_initClass","_applyDecs","c"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see eo-nav-menu.be432fd7.js.LICENSE.txt */
2
+ (self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[1163,4443,5713,5628],{2041:(e,t,r)=>{"use strict";r.r(t),r.d(t,{NavMenu:()=>z});var n,i,o,a,s,c,l,u,p,m=r(4795),d=r(3395),f=r(381),h=r(687),v=r(8390),y=r(7896),g=r(8657),b=r.n(g),w=r(5366),E=r(4009),k=r(4511),x=r(9800),O=r(3808),Z=r(7993),T=(r(2230),r(2779)),j=r.n(T),S=r(1880),N=r(9705),D=r(2598),P=r(8462),I=r(8101),{defineElement:K,property:A}=(0,w.createDecorators)(),C=(0,k.wrapBrick)("eo-menu-item"),M=(0,k.wrapBrick)("eo-popover",{onVisibleChange:"visible.change",beforeVisibleChange:"before.visible.change"});function R(e){var{item:t}=e;return(0,O.cl)(t,e.topData)?b().createElement(L,(0,y.Z)({},e,{item:t})):(0,O.ty)(t)?b().createElement(V,(0,y.Z)({},e,{item:t})):b().createElement(_,(0,y.Z)({},e,{item:t}))}function _(e){var{item:t,index:r,hidden:n,showTooltip:i,selectedKey:o=[]}=e;return b().createElement(C,{"data-index":r,className:n?"overflow-menu-item":"",key:t.key,title:i?t.text:"",active:!!t.key&&o.includes(t.key)},(0,O.nC)(t,{width:"100%"}))}var z,F=e=>{var t,r=null!==(t=p)&&void 0!==t?t:p=window.innerWidth-document.body.clientWidth;document.body.style.paddingRight=e.detail?r+"px":"",document.body.style.overflow=e.detail?"hidden":"",document.body.style.touchAction=e.detail?"none":""};function L(e){var t,{index:r,hidden:n,item:i,topData:o,showTooltip:a,selectedKey:s=[],overflow:c}=e;return(null===(t=i.items)||void 0===t?void 0:t.length)>0?b().createElement(M,{"data-index":r,className:j()("popover",{subprime:!o,"overflow-menu-item":n}),trigger:"hover",placement:o?"bottom-start":"right-start",distance:0,anchorDisplay:"block",strategy:"fixed"},b().createElement(C,{className:"sub-menu-item-label",key:i.key,slot:"anchor",title:a?i.title:""},(0,O.cx)(i,!o)),b().createElement("div",{className:j()("sub-menu-wrapper",{"overflow-menu-wrapper":c})},i.items.map((e=>b().createElement(b().Fragment,{key:e.key},b().createElement(R,{item:e,selectedKey:s,showTooltip:a})))))):null}function V(e){var t,{item:r,showTooltip:n,selectedKey:i=[]}=e;return(null===(t=r.items)||void 0===t?void 0:t.length)>0?"category"===r.childLayout?b().createElement(W,{item:r,selectedKey:i,showTooltip:n,placement:"right-start",anchorDisplay:"block"}):"siteMap"===r.childLayout?b().createElement(B,{item:r,selectedKey:i,showTooltip:n,placement:"right-start",anchorDisplay:"block",topData:!1}):b().createElement(b().Fragment,null,b().createElement("div",{className:"group-label"},r.title),b().createElement("div",{className:"group-wrapper"},r.items.map((e=>b().createElement(b().Fragment,{key:e.key},b().createElement(R,{item:e,showTooltip:n,selectedKey:i})))))):null}function W(e){var t,{index:r,hidden:n,item:i,selectedKey:o=[],showTooltip:a,placement:s="bottom-start",anchorDisplay:c}=e;return(null===(t=i.items)||void 0===t?void 0:t.length)>0?b().createElement(M,{"data-index":r,className:j()("three-level-menu-popover","popover",{"overflow-menu-item":n}),trigger:"hover",placement:s,distance:0,key:i.key,strategy:"fixed",anchorDisplay:c,beforeVisibleChange:F},b().createElement(C,{className:"sub-menu-item-label",key:i.key,slot:"anchor",title:a?i.title:""},(0,O.cx)(i)),b().createElement("div",{className:"sub-menu-wrapper"},b().createElement(S.m,{menuItem:i,selectedKey:o}))):null}function B(e){var t,{index:r,hidden:n,item:i,selectedKey:o=[],showTooltip:a,placement:s="bottom-start",anchorDisplay:c,topData:l}=e,[u,p]=(0,g.useState)();return(null===(t=i.items)||void 0===t?void 0:t.length)>0?b().createElement(M,{"data-index":r,className:j()("popover",{"overflow-menu-item":n}),trigger:"hover",placement:s,distance:0,key:i.key,strategy:"fixed",anchorDisplay:c,beforeVisibleChange:e=>{p(e.detail),F(e)}},b().createElement(C,{className:"sub-menu-item-label",key:i.key,slot:"anchor",title:a?i.title:""},(0,O.cx)(i)),b().createElement("div",{className:j()("sub-menu-sit-map-wrapper",{"in-group-site-map":!l}),onClick:e=>e.stopPropagation()},b().createElement(N.hX,{menuGroup:i,selectedKey:o,visible:u}))):null}i=K("eo-nav-menu",{styleTexts:[D.Z,P.Z,I.Z,x.Z]}),o=A({attribute:!1}),s=A({type:Boolean});var G=new WeakMap,J=new WeakMap;class X extends k.ReactNextElement{constructor(){super(...arguments),(0,d.Z)(this,G,{writable:!0,value:(l(this),a(this))}),(0,d.Z)(this,J,{writable:!0,value:c(this)})}get menu(){return(0,h.Z)(this,G)}set menu(e){(0,f.Z)(this,G,e)}get showTooltip(){return(0,h.Z)(this,J)}set showTooltip(e){(0,f.Z)(this,J,e)}render(){return b().createElement(H,{menu:this.menu,showTooltip:this.showTooltip})}}function H(e){var t,r,{menu:n,showTooltip:i}=e,o=(0,E.getHistory)(),a=(0,g.useRef)(null),[s,c]=(0,g.useState)(o.location),[l,u]=(0,g.useState)(Number.MAX_SAFE_INTEGER),{pathname:p,search:d}=s,[f,h]=(0,g.useState)([]),v=function(){var e=(0,m.Z)((function*(){var e,{selectedKeys:t}=(0,Z.OZ)(null!==(e=null==n?void 0:n.menuItems)&&void 0!==e?e:[],p,d,"");h(t)}));return function(){return e.apply(this,arguments)}}();(0,g.useEffect)((()=>{var e=o.listen((e=>{c(e)}));return v(),e}),[]),(0,g.useEffect)((()=>{if(a.current){var e=new ResizeObserver((()=>{if(a.current){var e,{width:t}=null!==(e=a.current.getClientRects()[0])&&void 0!==e?e:{},r=a.current.childNodes;if(r.length&&t){for(var n=t,i=r.length,o=0;o<r.length;o++){var{width:s,height:c}=r[o].getClientRects()[0];if(!c&&n-40<0){i=o-1;break}if((n=n-s-(o>0?8:0))<0){i=o;break}}u(i<0?0:i)}}}));return e.observe(a.current),()=>{e.disconnect()}}}),[]);var y=(0,g.useMemo)((()=>({type:"subMenu",title:"···",items:null==n?void 0:n.menuItems.slice(l,n.menuItems.length)})),[null==n?void 0:n.menuItems,l]);return b().createElement("div",{ref:a,className:"nav-menu-wrapper"},null==n?void 0:n.menuItems.map(((e,t)=>{var r,n=l<=t;return b().createElement(b().Fragment,{key:e.key},(0,O.cl)(e,!0)&&"category"===e.childLayout&&null!==(r=e.items)&&void 0!==r&&r.length?b().createElement(W,{index:t,hidden:n,item:e,showTooltip:i,selectedKey:f}):"group"===e.type&&"siteMap"===e.childLayout?b().createElement(B,{index:t,hidden:n,item:e,showTooltip:i,selectedKey:f,topData:!0}):b().createElement(R,{index:t,hidden:n,item:e,showTooltip:i,selectedKey:f,topData:!0}))})),b().createElement(R,{hidden:l>(null!==(t=null==n||null===(r=n.menuItems)||void 0===r?void 0:r.length)&&void 0!==t?t:0),item:y,showTooltip:i,selectedKey:f,overflow:!0,topData:!0}))}u=X,({e:[a,c,l],c:[z,n]}=(0,v.Z)(u,[[o,1,"menu"],[s,1,"showTooltip"]],[i],0,void 0,k.ReactNextElement)),n()},2779:(e,t)=>{var r;!function(){"use strict";var n={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)){if(r.length){var a=i.apply(null,r);a&&e.push(a)}}else if("object"===o){if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]")){e.push(r.toString());continue}for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(r=function(){return i}.apply(t,[]))||(e.exports=r)}()},2609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,n,i,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(n)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(a[c]=!0)}for(var l=0;l<e.length;l++){var u=[].concat(e[l]);n&&a[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),t.push(u))}},t}},9601:e=>{"use strict";e.exports=function(e){return e[1]}},8390:(e,t,r)=>{"use strict";r.d(t,{Z:()=>h});var n=r(6522);function i(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,n.Z)(e):"null"));return e}function o(e,t){return function(r){(function(e,t){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished")})(t),c(r,"An initializer"),e.push(r)}}function a(e,t){if(!e(t))throw new TypeError("Attempted to access private element on non-instance")}function s(e,t,r,n,i,s,c,l,u,p){var m;switch(s){case 1:m="accessor";break;case 2:m="method";break;case 3:m="getter";break;case 4:m="setter";break;default:m="field"}var d,f,h={kind:m,name:l?"#"+r:r,static:c,private:l},v={v:!1};if(0!==s&&(h.addInitializer=o(i,v)),l||0!==s&&2!==s)if(2===s)d=function(e){return a(p,e),n.value};else{var y=0===s||1===s;(y||3===s)&&(d=l?function(e){return a(p,e),n.get.call(e)}:function(e){return n.get.call(e)}),(y||4===s)&&(f=l?function(e,t){a(p,e),n.set.call(e,t)}:function(e,t){n.set.call(e,t)})}else d=function(e){return e[r]},0===s&&(f=function(e,t){e[r]=t});var g=l?p.bind():function(e){return r in e};h.access=d&&f?{get:d,set:f,has:g}:d?{get:d,has:g}:{set:f,has:g};try{return e.call(t,u,h)}finally{v.v=!0}}function c(e,t){if("function"!=typeof e)throw new TypeError(t+" must be a function")}function l(e,t){var r=(0,n.Z)(t);if(1===e){if("object"!==r||null===t)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==t.get&&c(t.get,"accessor.get"),void 0!==t.set&&c(t.set,"accessor.set"),void 0!==t.init&&c(t.init,"accessor.init")}else if("function"!==r)throw new TypeError((0===e?"field":5===e?"class":"method")+" decorators must return a function or void 0")}function u(e){return function(){return e(this)}}function p(e){return function(t){e(this,t)}}function m(e,t,r,n,i,o,a,c,m,d){var f,h,v,y,g,b,w=r[0];n||Array.isArray(w)||(w=[w]),c?f=0===o||1===o?{get:u(r[3]),set:p(r[4])}:3===o?{get:r[3]}:4===o?{set:r[3]}:{value:r[3]}:0!==o&&(f=Object.getOwnPropertyDescriptor(t,i)),1===o?v={get:f.get,set:f.set}:2===o?v=f.value:3===o?v=f.get:4===o&&(v=f.set);for(var E=n?2:1,k=w.length-1;k>=0;k-=E){var x;void 0!==(y=s(w[k],n?w[k-1]:void 0,i,f,m,o,a,c,v,d))&&(l(o,y),0===o?x=y:1===o?(x=y.init,g=y.get||v.get,b=y.set||v.set,v={get:g,set:b}):v=y,void 0!==x&&(void 0===h?h=x:"function"==typeof h?h=[h,x]:h.push(x)))}if(0===o||1===o){if(void 0===h)h=function(e,t){return t};else if("function"!=typeof h){var O=h;h=function(e,t){for(var r=t,n=O.length-1;n>=0;n--)r=O[n].call(e,r);return r}}else{var Z=h;h=function(e,t){return Z.call(e,t)}}e.push(h)}0!==o&&(1===o?(f.get=v.get,f.set=v.set):2===o?f.value=v:3===o?f.get=v:4===o&&(f.set=v),c?1===o?(e.push((function(e,t){return v.get.call(e,t)})),e.push((function(e,t){return v.set.call(e,t)}))):2===o?e.push(v):e.push((function(e,t){return v.call(e,t)})):Object.defineProperty(t,i,f))}function d(e,t,r){for(var n,o,a,s=[],c=new Map,l=new Map,u=0;u<t.length;u++){var p=t[u];if(Array.isArray(p)){var d,h,v=p[1],y=p[2],g=p.length>3,b=16&v,w=!!(8&v),E=r;if(v&=7,w?(d=e,0!==v&&(h=o=o||[]),g&&!a&&(a=function(t){return i(t)===e}),E=a):(d=e.prototype,0!==v&&(h=n=n||[])),0!==v&&!g){var k=w?l:c,x=k.get(y)||0;if(!0===x||3===x&&4!==v||4===x&&3!==v)throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+y);k.set(y,!(!x&&v>2)||v)}m(s,d,p,b,y,v,w,g,h,E)}}return f(s,n),f(s,o),s}function f(e,t){t&&e.push((function(e){for(var r=0;r<t.length;r++)t[r].call(e);return e}))}function h(e,t,r,n,i){return{e:d(e,t,i),get c(){return function(e,t,r){if(t.length){for(var n=[],i=e,a=e.name,s=r?2:1,c=t.length-1;c>=0;c-=s){var u={v:!1};try{var p=t[c].call(r?t[c-1]:void 0,i,{kind:"class",name:a,addInitializer:o(n,u)})}finally{u.v=!0}void 0!==p&&(l(5,p),i=p)}return[i,function(){for(var e=0;e<n.length;e++)n[e].call(i)}]}}(e,r,n)}}}},4795:(e,t,r)=>{"use strict";function n(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,i)}function i(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var a=e.apply(t,r);function s(e){n(a,i,o,s,c,"next",e)}function c(e){n(a,i,o,s,c,"throw",e)}s(void 0)}))}}r.d(t,{Z:()=>i})},6666:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(5850);function i(e,t,r){return(t=(0,n.Z)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},7896:(e,t,r)=>{"use strict";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},n.apply(this,arguments)}r.d(t,{Z:()=>n})},3028:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(6666);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}},5850:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(6522);function i(e){var t=function(e,t){if("object"!==(0,n.Z)(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!==(0,n.Z)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===(0,n.Z)(t)?t:String(t)}},6522:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{Z:()=>n})},2890:(e,t,r)=>{"use strict";r.d(t,{o:()=>n});class n{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"brick-next-";this.storage=e,this.prefix=t}setItem(e,t){this.storage.setItem(this.prefix+e,JSON.stringify(t))}getItem(e){return JSON.parse(this.storage.getItem(this.prefix+e))}removeItem(e){return this.storage.removeItem(this.prefix+e)}clear(){return this.storage.clear()}}}}]);
3
+ //# sourceMappingURL=eo-nav-menu.be432fd7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/eo-nav-menu.632f5a8a.js","mappings":"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","sources":["webpack:///./src/nav-menu/index.tsx","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2305.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../src/JsonStorage.ts"],"sourcesContent":["import React, {\n CSSProperties,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { getHistory } from \"@next-core/runtime\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport styleText from \"./nav-menu.shadow.css\";\nimport { LocationDescriptor, UnregisterCallback } from \"history\";\nimport type { SidebarMenu } from \"@next-bricks/basic/menu\";\nimport type {\n MenuItem as MenuItemComponent,\n MenuComponentProps,\n} from \"@next-bricks/basic/menu-item\";\nimport {\n isSimple,\n isSubMenu,\n isGroup,\n renderLinkCom,\n renderSpanCom,\n} from \"./utils.js\";\nimport { initMenuItemAndMatchCurrentPathKeys } from \"@next-shared/general/menu\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport type {\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping,\n Placement,\n} from \"@next-bricks/basic/popover\";\nimport \"@next-core/theme\";\nimport classnames from \"classnames\";\nimport { ThreeLevelMenuPopoverContent } from \"./ThreeLevelMenuPopoverContent.js\";\nimport { SiteMapItem } from \"./site-map/SiteMapItem.js\";\nimport SiteMapStyleText from \"../nav-menu/site-map/SiteMapItem.shadow.css\";\nimport ItemTagStyleText from \"../nav-menu/site-map/ItemTag.shadow.css\";\nimport GroupItemStyleText from \"../nav-menu/site-map/GroupItem.shadow.css\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrappedMenuItem = wrapBrick<MenuItemComponent, MenuComponentProps>(\n \"eo-menu-item\"\n);\nconst WrappedPopover = wrapBrick<\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping\n>(\"eo-popover\", {\n onVisibleChange: \"visible.change\",\n beforeVisibleChange: \"before.visible.change\",\n});\n\nconst GAP_WIDTH = 8;\n\ninterface NavMenuProps {\n menu?: SidebarMenu;\n showTooltip?: boolean;\n}\n\ninterface MenuItemComProps {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuItem;\n topData?: boolean;\n selectedKey?: string[];\n showTooltip?: boolean;\n overflow?: boolean;\n}\ninterface SimpleMenuItemComProps extends MenuItemComProps {\n item: SidebarMenuSimpleItem;\n}\ninterface MenuGroupComProps extends MenuItemComProps {\n item: SidebarMenuGroup;\n}\nfunction RenderMenuItemCom(props: MenuItemComProps) {\n const { item } = props;\n return isSubMenu(item as SidebarMenuGroup, props.topData) ? (\n <SubMenuItemCom {...props} item={item as SidebarMenuGroup}></SubMenuItemCom>\n ) : isGroup(item) ? (\n <GroupMenuItemCom {...props} item={item as SidebarMenuGroup} />\n ) : (\n <SimpleMenuItemCom\n {...props}\n item={item as SidebarMenuSimpleItem}\n ></SimpleMenuItemCom>\n );\n}\nfunction SimpleMenuItemCom(props: SimpleMenuItemComProps) {\n const { item, index, hidden, showTooltip, selectedKey = [] } = props;\n return (\n <WrappedMenuItem\n data-index={index}\n className={hidden ? \"overflow-menu-item\" : \"\"}\n key={item.key}\n title={showTooltip ? item.text : \"\"}\n active={item.key ? selectedKey.includes(item.key) : false}\n >\n {renderLinkCom(item, { width: \"100%\" })}\n </WrappedMenuItem>\n );\n}\n\nlet scrollWidth: number;\n// istanbul ignore next;\nconst handlePopupVisibleChange = (event: CustomEvent<boolean>) => {\n // 当用户设置滚动条一直显示时,来回切换 overflow: hidden 会导致滚动条显示或隐藏\n // 造成页面宽度变化而导致的抖动的问题\n const paddingRight =\n scrollWidth ??\n (scrollWidth = window.innerWidth - document.body.clientWidth);\n\n document.body.style.paddingRight = event.detail ? paddingRight + \"px\" : \"\";\n document.body.style.overflow = event.detail ? \"hidden\" : \"\";\n document.body.style.touchAction = event.detail ? \"none\" : \"\";\n};\n\nfunction SubMenuItemCom({\n index,\n hidden,\n item,\n topData,\n showTooltip,\n selectedKey = [],\n overflow,\n}: MenuGroupComProps) {\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"popover\", {\n subprime: !topData,\n \"overflow-menu-item\": hidden,\n })}\n trigger=\"hover\"\n placement={topData ? \"bottom-start\" : \"right-start\"}\n distance={0}\n anchorDisplay=\"block\"\n strategy=\"fixed\"\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item, !topData)}\n </WrappedMenuItem>\n <div\n className={classnames(\"sub-menu-wrapper\", {\n \"overflow-menu-wrapper\": overflow,\n })}\n >\n {item.items.map((innerItem) => (\n <React.Fragment key={innerItem.key}>\n <RenderMenuItemCom\n item={innerItem}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n />\n </React.Fragment>\n ))}\n </div>\n </WrappedPopover>\n ) : null;\n}\n\nfunction GroupMenuItemCom({\n item,\n showTooltip,\n selectedKey = [],\n}: MenuGroupComProps) {\n return item.items?.length > 0 ? (\n item.childLayout === \"category\" ? (\n <ThreeLevelMenuCom\n item={item}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n placement=\"right-start\"\n anchorDisplay=\"block\"\n />\n ) : (item as SidebarMenuGroup).childLayout === \"siteMap\" ? (\n <SitMapMenCom\n item={item}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n placement=\"right-start\"\n anchorDisplay=\"block\"\n topData={false}\n />\n ) : (\n <>\n <div className=\"group-label\">{item.title}</div>\n <div className=\"group-wrapper\">\n {item.items.map((innerItem) => {\n return (\n <React.Fragment key={innerItem.key}>\n <RenderMenuItemCom\n item={innerItem}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n />\n </React.Fragment>\n );\n })}\n </div>\n </>\n )\n ) : null;\n}\n\nfunction ThreeLevelMenuCom({\n index,\n hidden,\n item,\n selectedKey = [],\n showTooltip,\n placement = \"bottom-start\",\n anchorDisplay,\n}: {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuGroup;\n selectedKey?: string[];\n showTooltip?: boolean;\n placement?: Placement;\n anchorDisplay?: CSSProperties[\"display\"];\n}) {\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"three-level-menu-popover\", \"popover\", {\n \"overflow-menu-item\": hidden,\n })}\n trigger={\"hover\"}\n placement={placement}\n distance={0}\n key={item.key}\n strategy=\"fixed\"\n anchorDisplay={anchorDisplay}\n beforeVisibleChange={handlePopupVisibleChange}\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item)}\n </WrappedMenuItem>\n <div className=\"sub-menu-wrapper\">\n <ThreeLevelMenuPopoverContent\n menuItem={item}\n selectedKey={selectedKey}\n ></ThreeLevelMenuPopoverContent>\n </div>\n </WrappedPopover>\n ) : null;\n}\n\nfunction SitMapMenCom({\n index,\n hidden,\n item,\n selectedKey = [],\n showTooltip,\n placement = \"bottom-start\",\n anchorDisplay,\n topData,\n}: {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuGroup;\n selectedKey?: string[];\n showTooltip?: boolean;\n placement?: Placement;\n anchorDisplay?: CSSProperties[\"display\"];\n topData?: boolean;\n}) {\n const [visible, setVisible] = useState<boolean>();\n\n const handleVisibleChange = (event: CustomEvent<boolean>): void => {\n setVisible(event.detail);\n handlePopupVisibleChange(event);\n };\n\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"popover\", {\n \"overflow-menu-item\": hidden,\n })}\n trigger={\"hover\"}\n placement={placement}\n distance={0}\n key={item.key}\n strategy=\"fixed\"\n anchorDisplay={anchorDisplay}\n beforeVisibleChange={handleVisibleChange}\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item)}\n </WrappedMenuItem>\n <div\n className={classnames(\"sub-menu-sit-map-wrapper\", {\n \"in-group-site-map\": !topData,\n })}\n onClick={(e) => e.stopPropagation()}\n >\n <SiteMapItem\n menuGroup={item}\n selectedKey={selectedKey}\n visible={visible}\n />\n </div>\n </WrappedPopover>\n ) : null;\n}\n\n/**\n * 菜单构件\n * @author sailor\n *\n */\n@defineElement(\"eo-nav-menu\", {\n styleTexts: [\n SiteMapStyleText,\n ItemTagStyleText,\n GroupItemStyleText,\n styleText,\n ],\n})\nclass NavMenu extends ReactNextElement {\n /**\n * 菜单项\n */\n @property({\n attribute: false,\n })\n accessor menu: SidebarMenu | undefined;\n\n /**\n * 是否显示 tooltip\n */\n @property({\n type: Boolean,\n })\n accessor showTooltip: boolean | undefined;\n\n render() {\n return <NavMenuComponent menu={this.menu} showTooltip={this.showTooltip} />;\n }\n}\n\nfunction NavMenuComponent(props: NavMenuProps) {\n const { menu, showTooltip } = props;\n\n const history = getHistory();\n const navMenuWrapperRef = useRef<HTMLDivElement>(null);\n const [location, setLocation] = useState(history.location);\n const [overflowIndex, setOverflowIndex] = useState<number>(\n Number.MAX_SAFE_INTEGER\n );\n const { pathname, search } = location;\n\n const [selectedKey, setSelectedKey] = useState<string[]>([]);\n\n const setSelected = async (): Promise<void> => {\n const { selectedKeys } = initMenuItemAndMatchCurrentPathKeys(\n menu?.menuItems ?? [],\n pathname,\n search,\n \"\"\n );\n setSelectedKey(selectedKeys);\n };\n\n useEffect(() => {\n const unListen: UnregisterCallback = history.listen((location) => {\n setLocation(location);\n });\n setSelected();\n return unListen;\n }, []);\n\n useEffect(() => {\n if (navMenuWrapperRef.current) {\n const resizeObserver = new ResizeObserver(() => {\n if (navMenuWrapperRef.current) {\n const { width } = navMenuWrapperRef.current.getClientRects()[0] ?? {};\n const childNodes = navMenuWrapperRef.current.childNodes;\n\n if (childNodes.length && width) {\n let wrapperWidth = width;\n let overflowIndex = childNodes.length;\n\n for (let i = 0; i < childNodes.length; i++) {\n const { width: childWidth, height: childHeight } = (\n childNodes[i] as HTMLElement\n ).getClientRects()[0];\n\n if (!childHeight && wrapperWidth - 40 < 0) {\n overflowIndex = i - 1;\n break;\n }\n\n wrapperWidth =\n wrapperWidth - childWidth - (i > 0 ? GAP_WIDTH : 0);\n if (wrapperWidth < 0) {\n overflowIndex = i;\n break;\n }\n }\n\n setOverflowIndex(overflowIndex < 0 ? 0 : overflowIndex);\n }\n }\n });\n resizeObserver.observe(navMenuWrapperRef.current);\n\n return () => {\n resizeObserver.disconnect();\n };\n }\n }, []);\n\n const overflowMenu = useMemo(\n (): SidebarMenuItem => ({\n type: \"subMenu\",\n title: \"···\",\n items: menu?.menuItems.slice(\n overflowIndex,\n menu.menuItems.length\n ) as SidebarMenuItem[],\n }),\n [menu?.menuItems, overflowIndex]\n );\n\n return (\n <div ref={navMenuWrapperRef} className=\"nav-menu-wrapper\">\n {menu?.menuItems.map((item, index) => {\n const isHidden = overflowIndex <= index;\n return (\n <React.Fragment key={item.key}>\n {isSubMenu(item as SidebarMenuGroup, true) &&\n (item as SidebarMenuGroup).childLayout === \"category\" &&\n (item as SidebarMenuGroup).items?.length ? (\n <ThreeLevelMenuCom\n index={index}\n hidden={isHidden}\n item={item as SidebarMenuGroup}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n />\n ) : (item as SidebarMenuGroup).type === \"group\" &&\n (item as SidebarMenuGroup).childLayout === \"siteMap\" ? (\n <SitMapMenCom\n index={index}\n hidden={isHidden}\n item={item as SidebarMenuGroup}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n topData={true}\n />\n ) : (\n <RenderMenuItemCom\n index={index}\n hidden={isHidden}\n item={item}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n topData={true}\n />\n )}\n </React.Fragment>\n );\n })}\n <RenderMenuItemCom\n hidden={overflowIndex > (menu?.menuItems?.length ?? 0)}\n item={overflowMenu}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n overflow={true}\n topData={true}\n />\n </div>\n );\n}\n\nexport { NavMenu };\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nfunction createAddInitializerMethod(e, t) {\n return function (r) {\n assertNotFinished(t, \"addInitializer\"), assertCallable(r, \"An initializer\"), e.push(r);\n };\n}\nfunction assertInstanceIfPrivate(e, t) {\n if (!e(t)) throw new TypeError(\"Attempted to access private element on non-instance\");\n}\nfunction memberDec(e, t, r, n, a, i, s, o, c, l) {\n var u;\n switch (i) {\n case 1:\n u = \"accessor\";\n break;\n case 2:\n u = \"method\";\n break;\n case 3:\n u = \"getter\";\n break;\n case 4:\n u = \"setter\";\n break;\n default:\n u = \"field\";\n }\n var f,\n d,\n p = {\n kind: u,\n name: o ? \"#\" + r : r,\n \"static\": s,\n \"private\": o\n },\n h = {\n v: !1\n };\n if (0 !== i && (p.addInitializer = createAddInitializerMethod(a, h)), o || 0 !== i && 2 !== i) {\n if (2 === i) f = function f(e) {\n return assertInstanceIfPrivate(l, e), n.value;\n };else {\n var v = 0 === i || 1 === i;\n (v || 3 === i) && (f = o ? function (e) {\n return assertInstanceIfPrivate(l, e), n.get.call(e);\n } : function (e) {\n return n.get.call(e);\n }), (v || 4 === i) && (d = o ? function (e, t) {\n assertInstanceIfPrivate(l, e), n.set.call(e, t);\n } : function (e, t) {\n n.set.call(e, t);\n });\n }\n } else f = function f(e) {\n return e[r];\n }, 0 === i && (d = function d(e, t) {\n e[r] = t;\n });\n var y = o ? l.bind() : function (e) {\n return r in e;\n };\n p.access = f && d ? {\n get: f,\n set: d,\n has: y\n } : f ? {\n get: f,\n has: y\n } : {\n set: d,\n has: y\n };\n try {\n return e.call(t, c, p);\n } finally {\n h.v = !0;\n }\n}\nfunction assertNotFinished(e, t) {\n if (e.v) throw new Error(\"attempted to call \" + t + \" after decoration was finished\");\n}\nfunction assertCallable(e, t) {\n if (\"function\" != typeof e) throw new TypeError(t + \" must be a function\");\n}\nfunction assertValidReturnValue(e, t) {\n var r = _typeof(t);\n if (1 === e) {\n if (\"object\" !== r || null === t) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or void 0\");\n void 0 !== t.get && assertCallable(t.get, \"accessor.get\"), void 0 !== t.set && assertCallable(t.set, \"accessor.set\"), void 0 !== t.init && assertCallable(t.init, \"accessor.init\");\n } else if (\"function\" !== r) {\n var n;\n throw n = 0 === e ? \"field\" : 5 === e ? \"class\" : \"method\", new TypeError(n + \" decorators must return a function or void 0\");\n }\n}\nfunction curryThis1(e) {\n return function () {\n return e(this);\n };\n}\nfunction curryThis2(e) {\n return function (t) {\n e(this, t);\n };\n}\nfunction applyMemberDec(e, t, r, n, a, i, s, o, c, l) {\n var u,\n f,\n d,\n p,\n h,\n v,\n y = r[0];\n n || Array.isArray(y) || (y = [y]), o ? u = 0 === i || 1 === i ? {\n get: curryThis1(r[3]),\n set: curryThis2(r[4])\n } : 3 === i ? {\n get: r[3]\n } : 4 === i ? {\n set: r[3]\n } : {\n value: r[3]\n } : 0 !== i && (u = Object.getOwnPropertyDescriptor(t, a)), 1 === i ? d = {\n get: u.get,\n set: u.set\n } : 2 === i ? d = u.value : 3 === i ? d = u.get : 4 === i && (d = u.set);\n for (var g = n ? 2 : 1, m = y.length - 1; m >= 0; m -= g) {\n var b;\n if (void 0 !== (p = memberDec(y[m], n ? y[m - 1] : void 0, a, u, c, i, s, o, d, l))) assertValidReturnValue(i, p), 0 === i ? b = p : 1 === i ? (b = p.init, h = p.get || d.get, v = p.set || d.set, d = {\n get: h,\n set: v\n }) : d = p, void 0 !== b && (void 0 === f ? f = b : \"function\" == typeof f ? f = [f, b] : f.push(b));\n }\n if (0 === i || 1 === i) {\n if (void 0 === f) f = function f(e, t) {\n return t;\n };else if (\"function\" != typeof f) {\n var I = f;\n f = function f(e, t) {\n for (var r = t, n = I.length - 1; n >= 0; n--) r = I[n].call(e, r);\n return r;\n };\n } else {\n var w = f;\n f = function f(e, t) {\n return w.call(e, t);\n };\n }\n e.push(f);\n }\n 0 !== i && (1 === i ? (u.get = d.get, u.set = d.set) : 2 === i ? u.value = d : 3 === i ? u.get = d : 4 === i && (u.set = d), o ? 1 === i ? (e.push(function (e, t) {\n return d.get.call(e, t);\n }), e.push(function (e, t) {\n return d.set.call(e, t);\n })) : 2 === i ? e.push(d) : e.push(function (e, t) {\n return d.call(e, t);\n }) : Object.defineProperty(t, a, u));\n}\nfunction applyMemberDecs(e, t, r) {\n for (var n, a, i, s = [], o = new Map(), c = new Map(), l = 0; l < t.length; l++) {\n var u = t[l];\n if (Array.isArray(u)) {\n var f,\n d,\n p = u[1],\n h = u[2],\n v = u.length > 3,\n y = 16 & p,\n g = !!(8 & p),\n m = r;\n if (p &= 7, g ? (f = e, 0 !== p && (d = a = a || []), v && !i && (i = function i(t) {\n return checkInRHS(t) === e;\n }), m = i) : (f = e.prototype, 0 !== p && (d = n = n || [])), 0 !== p && !v) {\n var b = g ? c : o,\n I = b.get(h) || 0;\n if (!0 === I || 3 === I && 4 !== p || 4 === I && 3 !== p) throw new Error(\"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \" + h);\n b.set(h, !(!I && p > 2) || p);\n }\n applyMemberDec(s, f, u, y, h, p, g, v, d, m);\n }\n }\n return pushInitializers(s, n), pushInitializers(s, a), s;\n}\nfunction pushInitializers(e, t) {\n t && e.push(function (e) {\n for (var r = 0; r < t.length; r++) t[r].call(e);\n return e;\n });\n}\nfunction applyClassDecs(e, t, r) {\n if (t.length) {\n for (var n = [], a = e, i = e.name, s = r ? 2 : 1, o = t.length - 1; o >= 0; o -= s) {\n var c = {\n v: !1\n };\n try {\n var l = t[o].call(r ? t[o - 1] : void 0, a, {\n kind: \"class\",\n name: i,\n addInitializer: createAddInitializerMethod(n, c)\n });\n } finally {\n c.v = !0;\n }\n void 0 !== l && (assertValidReturnValue(5, l), a = l);\n }\n return [a, function () {\n for (var e = 0; e < n.length; e++) n[e].call(a);\n }];\n }\n}\nexport default function applyDecs2305(e, t, r, n, a) {\n return {\n e: applyMemberDecs(e, t, a),\n get c() {\n return applyClassDecs(e, r, n);\n }\n };\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export class JsonStorage {\n constructor(\n private storage: Storage,\n private prefix: string = \"brick-next-\"\n ) {}\n\n setItem<T = any>(name: string, value: T): void {\n this.storage.setItem(this.prefix + name, JSON.stringify(value));\n }\n\n getItem<T = any>(name: string): T {\n return JSON.parse(this.storage.getItem(this.prefix + name) as string) as T;\n }\n\n removeItem(name: string): void {\n return this.storage.removeItem(this.prefix + name);\n }\n\n clear(): void {\n return this.storage.clear();\n }\n}\n"],"names":["scrollWidth","defineElement","property","createDecorators","WrappedMenuItem","wrapBrick","WrappedPopover","onVisibleChange","beforeVisibleChange","RenderMenuItemCom","props","item","isSubMenu","topData","React","SubMenuItemCom","_extends","isGroup","GroupMenuItemCom","SimpleMenuItemCom","index","hidden","showTooltip","selectedKey","className","key","title","text","active","includes","renderLinkCom","width","_NavMenu","handlePopupVisibleChange","event","_scrollWidth","paddingRight","window","innerWidth","document","body","clientWidth","style","detail","overflow","touchAction","_ref","_item$items","items","length","classnames","subprime","trigger","placement","distance","anchorDisplay","strategy","slot","renderSpanCom","map","innerItem","_ref2","_item$items2","childLayout","ThreeLevelMenuCom","SitMapMenCom","_ref3","_item$items3","ThreeLevelMenuPopoverContent","menuItem","_ref4","_item$items4","visible","setVisible","useState","onClick","e","stopPropagation","SiteMapItem","menuGroup","_dec","styleTexts","SiteMapStyleText","ItemTagStyleText","GroupItemStyleText","styleText","_dec2","attribute","_dec3","type","Boolean","_A","WeakMap","_B","NavMenu","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","writable","value","_initProto","_init_menu","_init_showTooltip","menu","_classPrivateFieldGet","v","_classPrivateFieldSet","render","NavMenuComponent","this","_menu$menuItems$lengt","_menu$menuItems2","history","getHistory","navMenuWrapperRef","useRef","location","setLocation","overflowIndex","setOverflowIndex","Number","MAX_SAFE_INTEGER","pathname","search","setSelectedKey","setSelected","_ref5","_asyncToGenerator","_menu$menuItems","selectedKeys","initMenuItemAndMatchCurrentPathKeys","menuItems","apply","useEffect","unListen","listen","current","resizeObserver","ResizeObserver","_navMenuWrapperRef$cu","getClientRects","childNodes","wrapperWidth","i","childWidth","height","childHeight","observe","disconnect","overflowMenu","useMemo","slice","ref","_items","isHidden","_class","c","_initClass","_applyDecs","hasOwn","hasOwnProperty","classNames","classes","arg","argType","push","Array","isArray","inner","toString","Object","prototype","call","join","module","exports","default","cssWithMappingToString","list","content","needLayer","concat","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","_checkInRHS","TypeError","createAddInitializerMethod","t","r","Error","assertNotFinished","assertCallable","assertInstanceIfPrivate","memberDec","n","a","s","o","l","u","f","d","p","kind","name","h","addInitializer","get","set","y","bind","access","has","assertValidReturnValue","init","curryThis1","curryThis2","applyMemberDec","getOwnPropertyDescriptor","g","m","b","I","w","defineProperty","applyMemberDecs","Map","pushInitializers","applyDecs2305","applyClassDecs","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","done","Promise","then","fn","self","args","err","_defineProperty","obj","enumerable","configurable","assign","target","source","ownKeys","keys","getOwnPropertySymbols","filter","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","input","hint","prim","Symbol","toPrimitive","res","String","_typeof","iterator","JsonStorage","storage","prefix","setItem","JSON","stringify","getItem","parse","removeItem","clear"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/eo-nav-menu.be432fd7.js","mappings":"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","sources":["webpack:///./src/nav-menu/index.tsx","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2305.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../src/JsonStorage.ts"],"sourcesContent":["import React, {\n CSSProperties,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { getHistory } from \"@next-core/runtime\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport styleText from \"./nav-menu.shadow.css\";\nimport { LocationDescriptor, UnregisterCallback } from \"history\";\nimport type { SidebarMenu } from \"@next-bricks/basic/menu\";\nimport type {\n MenuItem as MenuItemComponent,\n MenuComponentProps,\n} from \"@next-bricks/basic/menu-item\";\nimport {\n isSimple,\n isSubMenu,\n isGroup,\n renderLinkCom,\n renderSpanCom,\n} from \"./utils.js\";\nimport { initMenuItemAndMatchCurrentPathKeys } from \"@next-shared/general/menu\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport type {\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping,\n Placement,\n} from \"@next-bricks/basic/popover\";\nimport \"@next-core/theme\";\nimport classnames from \"classnames\";\nimport { ThreeLevelMenuPopoverContent } from \"./ThreeLevelMenuPopoverContent.js\";\nimport { SiteMapItem } from \"./site-map/SiteMapItem.js\";\nimport SiteMapStyleText from \"../nav-menu/site-map/SiteMapItem.shadow.css\";\nimport ItemTagStyleText from \"../nav-menu/site-map/ItemTag.shadow.css\";\nimport GroupItemStyleText from \"../nav-menu/site-map/GroupItem.shadow.css\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrappedMenuItem = wrapBrick<MenuItemComponent, MenuComponentProps>(\n \"eo-menu-item\"\n);\nconst WrappedPopover = wrapBrick<\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping\n>(\"eo-popover\", {\n onVisibleChange: \"visible.change\",\n beforeVisibleChange: \"before.visible.change\",\n});\n\nconst GAP_WIDTH = 8;\n\ninterface NavMenuProps {\n menu?: SidebarMenu;\n showTooltip?: boolean;\n}\n\ninterface MenuItemComProps {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuItem;\n topData?: boolean;\n selectedKey?: string[];\n showTooltip?: boolean;\n overflow?: boolean;\n}\ninterface SimpleMenuItemComProps extends MenuItemComProps {\n item: SidebarMenuSimpleItem;\n}\ninterface MenuGroupComProps extends MenuItemComProps {\n item: SidebarMenuGroup;\n}\nfunction RenderMenuItemCom(props: MenuItemComProps) {\n const { item } = props;\n return isSubMenu(item as SidebarMenuGroup, props.topData) ? (\n <SubMenuItemCom {...props} item={item as SidebarMenuGroup}></SubMenuItemCom>\n ) : isGroup(item) ? (\n <GroupMenuItemCom {...props} item={item as SidebarMenuGroup} />\n ) : (\n <SimpleMenuItemCom\n {...props}\n item={item as SidebarMenuSimpleItem}\n ></SimpleMenuItemCom>\n );\n}\nfunction SimpleMenuItemCom(props: SimpleMenuItemComProps) {\n const { item, index, hidden, showTooltip, selectedKey = [] } = props;\n return (\n <WrappedMenuItem\n data-index={index}\n className={hidden ? \"overflow-menu-item\" : \"\"}\n key={item.key}\n title={showTooltip ? item.text : \"\"}\n active={item.key ? selectedKey.includes(item.key) : false}\n >\n {renderLinkCom(item, { width: \"100%\" })}\n </WrappedMenuItem>\n );\n}\n\nlet scrollWidth: number;\n// istanbul ignore next;\nconst handlePopupVisibleChange = (event: CustomEvent<boolean>) => {\n // 当用户设置滚动条一直显示时,来回切换 overflow: hidden 会导致滚动条显示或隐藏\n // 造成页面宽度变化而导致的抖动的问题\n const paddingRight =\n scrollWidth ??\n (scrollWidth = window.innerWidth - document.body.clientWidth);\n\n document.body.style.paddingRight = event.detail ? paddingRight + \"px\" : \"\";\n document.body.style.overflow = event.detail ? \"hidden\" : \"\";\n document.body.style.touchAction = event.detail ? \"none\" : \"\";\n};\n\nfunction SubMenuItemCom({\n index,\n hidden,\n item,\n topData,\n showTooltip,\n selectedKey = [],\n overflow,\n}: MenuGroupComProps) {\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"popover\", {\n subprime: !topData,\n \"overflow-menu-item\": hidden,\n })}\n trigger=\"hover\"\n placement={topData ? \"bottom-start\" : \"right-start\"}\n distance={0}\n anchorDisplay=\"block\"\n strategy=\"fixed\"\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item, !topData)}\n </WrappedMenuItem>\n <div\n className={classnames(\"sub-menu-wrapper\", {\n \"overflow-menu-wrapper\": overflow,\n })}\n >\n {item.items.map((innerItem) => (\n <React.Fragment key={innerItem.key}>\n <RenderMenuItemCom\n item={innerItem}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n />\n </React.Fragment>\n ))}\n </div>\n </WrappedPopover>\n ) : null;\n}\n\nfunction GroupMenuItemCom({\n item,\n showTooltip,\n selectedKey = [],\n}: MenuGroupComProps) {\n return item.items?.length > 0 ? (\n item.childLayout === \"category\" ? (\n <ThreeLevelMenuCom\n item={item}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n placement=\"right-start\"\n anchorDisplay=\"block\"\n />\n ) : (item as SidebarMenuGroup).childLayout === \"siteMap\" ? (\n <SitMapMenCom\n item={item}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n placement=\"right-start\"\n anchorDisplay=\"block\"\n topData={false}\n />\n ) : (\n <>\n <div className=\"group-label\">{item.title}</div>\n <div className=\"group-wrapper\">\n {item.items.map((innerItem) => {\n return (\n <React.Fragment key={innerItem.key}>\n <RenderMenuItemCom\n item={innerItem}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n />\n </React.Fragment>\n );\n })}\n </div>\n </>\n )\n ) : null;\n}\n\nfunction ThreeLevelMenuCom({\n index,\n hidden,\n item,\n selectedKey = [],\n showTooltip,\n placement = \"bottom-start\",\n anchorDisplay,\n}: {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuGroup;\n selectedKey?: string[];\n showTooltip?: boolean;\n placement?: Placement;\n anchorDisplay?: CSSProperties[\"display\"];\n}) {\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"three-level-menu-popover\", \"popover\", {\n \"overflow-menu-item\": hidden,\n })}\n trigger={\"hover\"}\n placement={placement}\n distance={0}\n key={item.key}\n strategy=\"fixed\"\n anchorDisplay={anchorDisplay}\n beforeVisibleChange={handlePopupVisibleChange}\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item)}\n </WrappedMenuItem>\n <div className=\"sub-menu-wrapper\">\n <ThreeLevelMenuPopoverContent\n menuItem={item}\n selectedKey={selectedKey}\n ></ThreeLevelMenuPopoverContent>\n </div>\n </WrappedPopover>\n ) : null;\n}\n\nfunction SitMapMenCom({\n index,\n hidden,\n item,\n selectedKey = [],\n showTooltip,\n placement = \"bottom-start\",\n anchorDisplay,\n topData,\n}: {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuGroup;\n selectedKey?: string[];\n showTooltip?: boolean;\n placement?: Placement;\n anchorDisplay?: CSSProperties[\"display\"];\n topData?: boolean;\n}) {\n const [visible, setVisible] = useState<boolean>();\n\n const handleVisibleChange = (event: CustomEvent<boolean>): void => {\n setVisible(event.detail);\n handlePopupVisibleChange(event);\n };\n\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"popover\", {\n \"overflow-menu-item\": hidden,\n })}\n trigger={\"hover\"}\n placement={placement}\n distance={0}\n key={item.key}\n strategy=\"fixed\"\n anchorDisplay={anchorDisplay}\n beforeVisibleChange={handleVisibleChange}\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item)}\n </WrappedMenuItem>\n <div\n className={classnames(\"sub-menu-sit-map-wrapper\", {\n \"in-group-site-map\": !topData,\n })}\n onClick={(e) => e.stopPropagation()}\n >\n <SiteMapItem\n menuGroup={item}\n selectedKey={selectedKey}\n visible={visible}\n />\n </div>\n </WrappedPopover>\n ) : null;\n}\n\n/**\n * 菜单构件\n * @author sailor\n *\n */\n@defineElement(\"eo-nav-menu\", {\n styleTexts: [\n SiteMapStyleText,\n ItemTagStyleText,\n GroupItemStyleText,\n styleText,\n ],\n})\nclass NavMenu extends ReactNextElement {\n /**\n * 菜单项\n */\n @property({\n attribute: false,\n })\n accessor menu: SidebarMenu | undefined;\n\n /**\n * 是否显示 tooltip\n */\n @property({\n type: Boolean,\n })\n accessor showTooltip: boolean | undefined;\n\n render() {\n return <NavMenuComponent menu={this.menu} showTooltip={this.showTooltip} />;\n }\n}\n\nfunction NavMenuComponent(props: NavMenuProps) {\n const { menu, showTooltip } = props;\n\n const history = getHistory();\n const navMenuWrapperRef = useRef<HTMLDivElement>(null);\n const [location, setLocation] = useState(history.location);\n const [overflowIndex, setOverflowIndex] = useState<number>(\n Number.MAX_SAFE_INTEGER\n );\n const { pathname, search } = location;\n\n const [selectedKey, setSelectedKey] = useState<string[]>([]);\n\n const setSelected = async (): Promise<void> => {\n const { selectedKeys } = initMenuItemAndMatchCurrentPathKeys(\n menu?.menuItems ?? [],\n pathname,\n search,\n \"\"\n );\n setSelectedKey(selectedKeys);\n };\n\n useEffect(() => {\n const unListen: UnregisterCallback = history.listen((location) => {\n setLocation(location);\n });\n setSelected();\n return unListen;\n }, []);\n\n useEffect(() => {\n if (navMenuWrapperRef.current) {\n const resizeObserver = new ResizeObserver(() => {\n if (navMenuWrapperRef.current) {\n const { width } = navMenuWrapperRef.current.getClientRects()[0] ?? {};\n const childNodes = navMenuWrapperRef.current.childNodes;\n\n if (childNodes.length && width) {\n let wrapperWidth = width;\n let overflowIndex = childNodes.length;\n\n for (let i = 0; i < childNodes.length; i++) {\n const { width: childWidth, height: childHeight } = (\n childNodes[i] as HTMLElement\n ).getClientRects()[0];\n\n if (!childHeight && wrapperWidth - 40 < 0) {\n overflowIndex = i - 1;\n break;\n }\n\n wrapperWidth =\n wrapperWidth - childWidth - (i > 0 ? GAP_WIDTH : 0);\n if (wrapperWidth < 0) {\n overflowIndex = i;\n break;\n }\n }\n\n setOverflowIndex(overflowIndex < 0 ? 0 : overflowIndex);\n }\n }\n });\n resizeObserver.observe(navMenuWrapperRef.current);\n\n return () => {\n resizeObserver.disconnect();\n };\n }\n }, []);\n\n const overflowMenu = useMemo(\n (): SidebarMenuItem => ({\n type: \"subMenu\",\n title: \"···\",\n items: menu?.menuItems.slice(\n overflowIndex,\n menu.menuItems.length\n ) as SidebarMenuItem[],\n }),\n [menu?.menuItems, overflowIndex]\n );\n\n return (\n <div ref={navMenuWrapperRef} className=\"nav-menu-wrapper\">\n {menu?.menuItems.map((item, index) => {\n const isHidden = overflowIndex <= index;\n return (\n <React.Fragment key={item.key}>\n {isSubMenu(item as SidebarMenuGroup, true) &&\n (item as SidebarMenuGroup).childLayout === \"category\" &&\n (item as SidebarMenuGroup).items?.length ? (\n <ThreeLevelMenuCom\n index={index}\n hidden={isHidden}\n item={item as SidebarMenuGroup}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n />\n ) : (item as SidebarMenuGroup).type === \"group\" &&\n (item as SidebarMenuGroup).childLayout === \"siteMap\" ? (\n <SitMapMenCom\n index={index}\n hidden={isHidden}\n item={item as SidebarMenuGroup}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n topData={true}\n />\n ) : (\n <RenderMenuItemCom\n index={index}\n hidden={isHidden}\n item={item}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n topData={true}\n />\n )}\n </React.Fragment>\n );\n })}\n <RenderMenuItemCom\n hidden={overflowIndex > (menu?.menuItems?.length ?? 0)}\n item={overflowMenu}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n overflow={true}\n topData={true}\n />\n </div>\n );\n}\n\nexport { NavMenu };\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nfunction createAddInitializerMethod(e, t) {\n return function (r) {\n assertNotFinished(t, \"addInitializer\"), assertCallable(r, \"An initializer\"), e.push(r);\n };\n}\nfunction assertInstanceIfPrivate(e, t) {\n if (!e(t)) throw new TypeError(\"Attempted to access private element on non-instance\");\n}\nfunction memberDec(e, t, r, n, a, i, s, o, c, l) {\n var u;\n switch (i) {\n case 1:\n u = \"accessor\";\n break;\n case 2:\n u = \"method\";\n break;\n case 3:\n u = \"getter\";\n break;\n case 4:\n u = \"setter\";\n break;\n default:\n u = \"field\";\n }\n var f,\n d,\n p = {\n kind: u,\n name: o ? \"#\" + r : r,\n \"static\": s,\n \"private\": o\n },\n h = {\n v: !1\n };\n if (0 !== i && (p.addInitializer = createAddInitializerMethod(a, h)), o || 0 !== i && 2 !== i) {\n if (2 === i) f = function f(e) {\n return assertInstanceIfPrivate(l, e), n.value;\n };else {\n var v = 0 === i || 1 === i;\n (v || 3 === i) && (f = o ? function (e) {\n return assertInstanceIfPrivate(l, e), n.get.call(e);\n } : function (e) {\n return n.get.call(e);\n }), (v || 4 === i) && (d = o ? function (e, t) {\n assertInstanceIfPrivate(l, e), n.set.call(e, t);\n } : function (e, t) {\n n.set.call(e, t);\n });\n }\n } else f = function f(e) {\n return e[r];\n }, 0 === i && (d = function d(e, t) {\n e[r] = t;\n });\n var y = o ? l.bind() : function (e) {\n return r in e;\n };\n p.access = f && d ? {\n get: f,\n set: d,\n has: y\n } : f ? {\n get: f,\n has: y\n } : {\n set: d,\n has: y\n };\n try {\n return e.call(t, c, p);\n } finally {\n h.v = !0;\n }\n}\nfunction assertNotFinished(e, t) {\n if (e.v) throw new Error(\"attempted to call \" + t + \" after decoration was finished\");\n}\nfunction assertCallable(e, t) {\n if (\"function\" != typeof e) throw new TypeError(t + \" must be a function\");\n}\nfunction assertValidReturnValue(e, t) {\n var r = _typeof(t);\n if (1 === e) {\n if (\"object\" !== r || null === t) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or void 0\");\n void 0 !== t.get && assertCallable(t.get, \"accessor.get\"), void 0 !== t.set && assertCallable(t.set, \"accessor.set\"), void 0 !== t.init && assertCallable(t.init, \"accessor.init\");\n } else if (\"function\" !== r) {\n var n;\n throw n = 0 === e ? \"field\" : 5 === e ? \"class\" : \"method\", new TypeError(n + \" decorators must return a function or void 0\");\n }\n}\nfunction curryThis1(e) {\n return function () {\n return e(this);\n };\n}\nfunction curryThis2(e) {\n return function (t) {\n e(this, t);\n };\n}\nfunction applyMemberDec(e, t, r, n, a, i, s, o, c, l) {\n var u,\n f,\n d,\n p,\n h,\n v,\n y = r[0];\n n || Array.isArray(y) || (y = [y]), o ? u = 0 === i || 1 === i ? {\n get: curryThis1(r[3]),\n set: curryThis2(r[4])\n } : 3 === i ? {\n get: r[3]\n } : 4 === i ? {\n set: r[3]\n } : {\n value: r[3]\n } : 0 !== i && (u = Object.getOwnPropertyDescriptor(t, a)), 1 === i ? d = {\n get: u.get,\n set: u.set\n } : 2 === i ? d = u.value : 3 === i ? d = u.get : 4 === i && (d = u.set);\n for (var g = n ? 2 : 1, m = y.length - 1; m >= 0; m -= g) {\n var b;\n if (void 0 !== (p = memberDec(y[m], n ? y[m - 1] : void 0, a, u, c, i, s, o, d, l))) assertValidReturnValue(i, p), 0 === i ? b = p : 1 === i ? (b = p.init, h = p.get || d.get, v = p.set || d.set, d = {\n get: h,\n set: v\n }) : d = p, void 0 !== b && (void 0 === f ? f = b : \"function\" == typeof f ? f = [f, b] : f.push(b));\n }\n if (0 === i || 1 === i) {\n if (void 0 === f) f = function f(e, t) {\n return t;\n };else if (\"function\" != typeof f) {\n var I = f;\n f = function f(e, t) {\n for (var r = t, n = I.length - 1; n >= 0; n--) r = I[n].call(e, r);\n return r;\n };\n } else {\n var w = f;\n f = function f(e, t) {\n return w.call(e, t);\n };\n }\n e.push(f);\n }\n 0 !== i && (1 === i ? (u.get = d.get, u.set = d.set) : 2 === i ? u.value = d : 3 === i ? u.get = d : 4 === i && (u.set = d), o ? 1 === i ? (e.push(function (e, t) {\n return d.get.call(e, t);\n }), e.push(function (e, t) {\n return d.set.call(e, t);\n })) : 2 === i ? e.push(d) : e.push(function (e, t) {\n return d.call(e, t);\n }) : Object.defineProperty(t, a, u));\n}\nfunction applyMemberDecs(e, t, r) {\n for (var n, a, i, s = [], o = new Map(), c = new Map(), l = 0; l < t.length; l++) {\n var u = t[l];\n if (Array.isArray(u)) {\n var f,\n d,\n p = u[1],\n h = u[2],\n v = u.length > 3,\n y = 16 & p,\n g = !!(8 & p),\n m = r;\n if (p &= 7, g ? (f = e, 0 !== p && (d = a = a || []), v && !i && (i = function i(t) {\n return checkInRHS(t) === e;\n }), m = i) : (f = e.prototype, 0 !== p && (d = n = n || [])), 0 !== p && !v) {\n var b = g ? c : o,\n I = b.get(h) || 0;\n if (!0 === I || 3 === I && 4 !== p || 4 === I && 3 !== p) throw new Error(\"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \" + h);\n b.set(h, !(!I && p > 2) || p);\n }\n applyMemberDec(s, f, u, y, h, p, g, v, d, m);\n }\n }\n return pushInitializers(s, n), pushInitializers(s, a), s;\n}\nfunction pushInitializers(e, t) {\n t && e.push(function (e) {\n for (var r = 0; r < t.length; r++) t[r].call(e);\n return e;\n });\n}\nfunction applyClassDecs(e, t, r) {\n if (t.length) {\n for (var n = [], a = e, i = e.name, s = r ? 2 : 1, o = t.length - 1; o >= 0; o -= s) {\n var c = {\n v: !1\n };\n try {\n var l = t[o].call(r ? t[o - 1] : void 0, a, {\n kind: \"class\",\n name: i,\n addInitializer: createAddInitializerMethod(n, c)\n });\n } finally {\n c.v = !0;\n }\n void 0 !== l && (assertValidReturnValue(5, l), a = l);\n }\n return [a, function () {\n for (var e = 0; e < n.length; e++) n[e].call(a);\n }];\n }\n}\nexport default function applyDecs2305(e, t, r, n, a) {\n return {\n e: applyMemberDecs(e, t, a),\n get c() {\n return applyClassDecs(e, r, n);\n }\n };\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export class JsonStorage {\n constructor(\n private storage: Storage,\n private prefix: string = \"brick-next-\"\n ) {}\n\n setItem<T = any>(name: string, value: T): void {\n this.storage.setItem(this.prefix + name, JSON.stringify(value));\n }\n\n getItem<T = any>(name: string): T {\n return JSON.parse(this.storage.getItem(this.prefix + name) as string) as T;\n }\n\n removeItem(name: string): void {\n return this.storage.removeItem(this.prefix + name);\n }\n\n clear(): void {\n return this.storage.clear();\n }\n}\n"],"names":["scrollWidth","defineElement","property","createDecorators","WrappedMenuItem","wrapBrick","WrappedPopover","onVisibleChange","beforeVisibleChange","RenderMenuItemCom","props","item","isSubMenu","topData","React","SubMenuItemCom","_extends","isGroup","GroupMenuItemCom","SimpleMenuItemCom","index","hidden","showTooltip","selectedKey","className","key","title","text","active","includes","renderLinkCom","width","_NavMenu","handlePopupVisibleChange","event","_scrollWidth","paddingRight","window","innerWidth","document","body","clientWidth","style","detail","overflow","touchAction","_ref","_item$items","items","length","classnames","subprime","trigger","placement","distance","anchorDisplay","strategy","slot","renderSpanCom","map","innerItem","_ref2","_item$items2","childLayout","ThreeLevelMenuCom","SitMapMenCom","_ref3","_item$items3","ThreeLevelMenuPopoverContent","menuItem","_ref4","_item$items4","visible","setVisible","useState","onClick","e","stopPropagation","SiteMapItem","menuGroup","_dec","styleTexts","SiteMapStyleText","ItemTagStyleText","GroupItemStyleText","styleText","_dec2","attribute","_dec3","type","Boolean","_A","WeakMap","_B","NavMenu","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","writable","value","_initProto","_init_menu","_init_showTooltip","menu","_classPrivateFieldGet","v","_classPrivateFieldSet","render","NavMenuComponent","this","_menu$menuItems$lengt","_menu$menuItems2","history","getHistory","navMenuWrapperRef","useRef","location","setLocation","overflowIndex","setOverflowIndex","Number","MAX_SAFE_INTEGER","pathname","search","setSelectedKey","setSelected","_ref5","_asyncToGenerator","_menu$menuItems","selectedKeys","initMenuItemAndMatchCurrentPathKeys","menuItems","apply","useEffect","unListen","listen","current","resizeObserver","ResizeObserver","_navMenuWrapperRef$cu","getClientRects","childNodes","wrapperWidth","i","childWidth","height","childHeight","observe","disconnect","overflowMenu","useMemo","slice","ref","_items","isHidden","_class","c","_initClass","_applyDecs","hasOwn","hasOwnProperty","classNames","classes","arg","argType","push","Array","isArray","inner","toString","Object","prototype","call","join","module","exports","default","cssWithMappingToString","list","content","needLayer","concat","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","_checkInRHS","TypeError","createAddInitializerMethod","t","r","Error","assertNotFinished","assertCallable","assertInstanceIfPrivate","memberDec","n","a","s","o","l","u","f","d","p","kind","name","h","addInitializer","get","set","y","bind","access","has","assertValidReturnValue","init","curryThis1","curryThis2","applyMemberDec","getOwnPropertyDescriptor","g","m","b","I","w","defineProperty","applyMemberDecs","Map","pushInitializers","applyDecs2305","applyClassDecs","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","done","Promise","then","fn","self","args","err","_defineProperty","obj","enumerable","configurable","assign","target","source","ownKeys","keys","getOwnPropertySymbols","filter","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","input","hint","prim","Symbol","toPrimitive","res","String","_typeof","iterator","JsonStorage","storage","prefix","setItem","JSON","stringify","getItem","parse","removeItem","clear"],"sourceRoot":""}