@next-bricks/nav 0.5.4 → 0.5.5
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.
- package/dist/bricks.json +3 -2
- package/dist/chunks/{8142.4129ad4a.js → 8142.ba46baeb.js} +2 -2
- package/dist/chunks/8142.ba46baeb.js.map +1 -0
- package/dist/chunks/9816.8b4236ff.js +3 -0
- package/dist/chunks/9816.8b4236ff.js.map +1 -0
- package/dist/chunks/launchpad-config.f68804a5.js +3 -0
- package/dist/chunks/launchpad-config.f68804a5.js.map +1 -0
- package/dist/chunks/{main.f1f0361c.js → main.df455617.js} +2 -2
- package/dist/chunks/{main.f1f0361c.js.map → main.df455617.js.map} +1 -1
- package/dist/{index.0f73173e.js → index.2e29ee6a.js} +2 -2
- package/dist/{index.0f73173e.js.map → index.2e29ee6a.js.map} +1 -1
- package/dist-types/launchpad-button-v2/interfaces.d.ts +4 -4
- package/dist-types/launchpad-button-v2/wrapped-bricks.d.ts +10 -0
- package/dist-types/launchpad-config/interfaces.d.ts +2 -2
- package/package.json +2 -2
- package/dist/chunks/8142.4129ad4a.js.map +0 -1
- package/dist/chunks/9816.6982784e.js +0 -3
- package/dist/chunks/9816.6982784e.js.map +0 -1
- package/dist/chunks/launchpad-config.9ad0e318.js +0 -3
- package/dist/chunks/launchpad-config.9ad0e318.js.map +0 -1
- /package/dist/chunks/{9816.6982784e.js.LICENSE.txt → 9816.8b4236ff.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{launchpad-config.9ad0e318.js.LICENSE.txt → launchpad-config.f68804a5.js.LICENSE.txt} +0 -0
package/dist/bricks.json
CHANGED
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"basic.lock-body-scroll",
|
|
28
28
|
"eo-icon",
|
|
29
29
|
"eo-link",
|
|
30
|
-
"basic.show-dialog"
|
|
30
|
+
"basic.show-dialog",
|
|
31
|
+
"basic.show-notification"
|
|
31
32
|
],
|
|
32
33
|
"nav.launchpad-config": [
|
|
33
34
|
"eo-icon",
|
|
@@ -36,5 +37,5 @@
|
|
|
36
37
|
"basic.show-dialog"
|
|
37
38
|
]
|
|
38
39
|
},
|
|
39
|
-
"filePath": "bricks/nav/dist/index.
|
|
40
|
+
"filePath": "bricks/nav/dist/index.2e29ee6a.js"
|
|
40
41
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[8142],{8142:(e,t,n)=>{n.r(t);var a,l,i,r,o,c,s,m,u,p=n(4795),d=n(3395),h=n(381),v=n(687),f=n(2604),b=n(7896),g=n(8657),y=n.n(g),k=n(5366),w=n(777),E=n(4511),x=n(9800),Z=n(3808),N=n(7993),C=(n(2230),n(2779)),T=n.n(C),D=n(1880),K=n(9705),I=n(2598),R=n(8462),M=n(8101),{defineElement:A,property:S}=(0,k.createDecorators)(),W=(0,E.wrapBrick)("eo-menu-item"),B=(0,E.wrapBrick)("eo-popover",{onVisibleChange:"visible.change",beforeVisibleChange:"before.visible.change"});function G(e){var{item:t}=e;return(0,Z.cl)(t,e.topData)?y().createElement(z,(0,b.Z)({},e,{item:t})):(0,Z.ty)(t)?y().createElement(L,(0,b.Z)({},e,{item:t})):y().createElement(_,(0,b.Z)({},e,{item:t}))}function _(e){var{item:t,index:n,hidden:a,showTooltip:l,selectedKey:i=[]}=e;return y().createElement(W,{"data-index":n,className:a?"overflow-menu-item":"",key:t.key,title:l?t.text:"",active:!!t.key&&i.includes(t.key)},(0,Z.nC)(t,{width:"100%"}))}var V,F=e=>{var t,n=null!==(t=u)&&void 0!==t?t:u=window.innerWidth-document.body.clientWidth;document.body.style.paddingRight=e.detail?n+"px":"",document.body.style.overflow=e.detail?"hidden":"",document.body.style.touchAction=e.detail?"none":""};function z(e){var t,{index:n,hidden:a,item:l,topData:i,showTooltip:r,selectedKey:o=[],overflow:c}=e;return(null===(t=l.items)||void 0===t?void 0:t.length)>0?y().createElement(B,{"data-index":n,className:T()("popover",{subprime:!i,"overflow-menu-item":a}),trigger:"hover",placement:i?"bottom-start":"right-start",distance:0,anchorDisplay:"block",strategy:"fixed"},y().createElement(W,{className:"sub-menu-item-label",key:l.key,slot:"anchor",title:r?l.title:""},(0,Z.cx)(l,!i)),y().createElement("div",{className:T()("sub-menu-wrapper",{"overflow-menu-wrapper":c})},l.items.map((e=>y().createElement(y().Fragment,{key:e.key},y().createElement(G,{item:e,selectedKey:o,showTooltip:r})))))):null}function L(e){var t,{item:n,showTooltip:a,selectedKey:l=[]}=e;return(null===(t=n.items)||void 0===t?void 0:t.length)>0?"category"===n.childLayout?y().createElement(P,{item:n,selectedKey:l,showTooltip:a,placement:"right-start",anchorDisplay:"block"}):"siteMap"===n.childLayout?y().createElement(H,{item:n,selectedKey:l,showTooltip:a,placement:"right-start",anchorDisplay:"block",topData:!1}):y().createElement(y().Fragment,null,y().createElement("div",{className:"group-label"},n.title),y().createElement("div",{className:"group-wrapper"},n.items.map((e=>y().createElement(y().Fragment,{key:e.key},y().createElement(G,{item:e,showTooltip:a,selectedKey:l})))))):null}function P(e){var t,{index:n,hidden:a,item:l,selectedKey:i=[],showTooltip:r,placement:o="bottom-start",anchorDisplay:c}=e;return(null===(t=l.items)||void 0===t?void 0:t.length)>0?y().createElement(B,{"data-index":n,className:T()("three-level-menu-popover","popover",{"overflow-menu-item":a}),trigger:"hover",placement:o,distance:0,key:l.key,strategy:"fixed",anchorDisplay:c,beforeVisibleChange:F},y().createElement(W,{className:"sub-menu-item-label",key:l.key,slot:"anchor",title:r?l.title:""},(0,Z.cx)(l)),y().createElement("div",{className:"sub-menu-wrapper"},y().createElement(D.m,{menuItem:l,selectedKey:i}))):null}function H(e){var t,{index:n,hidden:a,item:l,selectedKey:i=[],showTooltip:r,placement:o="bottom-start",anchorDisplay:c,topData:s}=e,[m,u]=(0,g.useState)();return(null===(t=l.items)||void 0===t?void 0:t.length)>0?y().createElement(B,{"data-index":n,className:T()("popover",{"overflow-menu-item":a}),trigger:"hover",placement:o,distance:0,key:l.key,strategy:"fixed",anchorDisplay:c,beforeVisibleChange:e=>{u(e.detail),F(e)}},y().createElement(W,{className:"sub-menu-item-label",key:l.key,slot:"anchor",title:r?l.title:""},(0,Z.cx)(l)),y().createElement("div",{className:T()("sub-menu-sit-map-wrapper",{"in-group-site-map":!s}),onClick:e=>e.stopPropagation()},y().createElement(K.hX,{menuGroup:l,selectedKey:i,visible:m}))):null}l=A("eo-nav-menu",{styleTexts:[I.Z,R.Z,M.Z,x.Z]}),i=S({attribute:!1}),o=S({type:Boolean});var O=new WeakMap,X=new WeakMap;class j extends E.ReactNextElement{constructor(){super(...arguments),(0,d.Z)(this,O,{writable:!0,value:(s(this),r(this))}),(0,d.Z)(this,X,{writable:!0,value:c(this)})}get menu(){return(0,v.Z)(this,O)}set menu(e){(0,h.Z)(this,O,e)}get showTooltip(){return(0,v.Z)(this,X)}set showTooltip(e){(0,h.Z)(this,X,e)}render(){return y().createElement(q,{menu:this.menu,showTooltip:this.showTooltip})}}function q(e){var t,n,{menu:a,showTooltip:l}=e,i=(0,w.getHistory)(),r=(0,g.useRef)(null),[o,c]=(0,g.useState)(i.location),[s,m]=(0,g.useState)(Number.MAX_SAFE_INTEGER),{pathname:u,search:d}=o,[h,v]=(0,g.useState)([]),f=function(){var e=(0,p.Z)((function*(){var e,{selectedKeys:t}=(0,N.OZ)(null!==(e=null==a?void 0:a.menuItems)&&void 0!==e?e:[],u,d,"");v(t)}));return function(){return e.apply(this,arguments)}}();(0,g.useEffect)((()=>{var e=i.listen((e=>{c(e)}));return f(),e}),[]),(0,g.useEffect)((()=>{if(r.current){var e=new ResizeObserver((()=>{if(r.current){var e,{width:t}=null!==(e=r.current.getClientRects()[0])&&void 0!==e?e:{},n=r.current.childNodes;if(n.length&&t){for(var a=t,l=n.length,i=0;i<n.length;i++){var{width:o,height:c}=n[i].getClientRects()[0];if(!c&&a-40<0){l=i-1;break}if((a=a-o-(i>0?8:0))<0){l=i;break}}m(l<0?0:l)}}}));return e.observe(r.current),()=>{e.disconnect()}}}),[]);var b=(0,g.useMemo)((()=>({type:"subMenu",title:"···",items:null==a?void 0:a.menuItems.slice(s,a.menuItems.length)})),[null==a?void 0:a.menuItems,s]);return y().createElement("div",{ref:r,className:"nav-menu-wrapper"},null==a?void 0:a.menuItems.map(((e,t)=>{var n,a=s<=t;return y().createElement(y().Fragment,{key:e.key},(0,Z.cl)(e,!0)&&"category"===e.childLayout&&null!==(n=e.items)&&void 0!==n&&n.length?y().createElement(P,{index:t,hidden:a,item:e,showTooltip:l,selectedKey:h}):"group"===e.type&&"siteMap"===e.childLayout?y().createElement(H,{index:t,hidden:a,item:e,showTooltip:l,selectedKey:h,topData:!0}):y().createElement(G,{index:t,hidden:a,item:e,showTooltip:l,selectedKey:h,topData:!0}))})),y().createElement(G,{hidden:s>(null!==(t=null==a||null===(n=a.menuItems)||void 0===n?void 0:n.length)&&void 0!==t?t:0),item:b,showTooltip:l,selectedKey:h,overflow:!0,topData:!0}))}m=j,({e:[r,c,s],c:[V,a]}=(0,f.Z)(m,[[i,1,"menu"],[o,1,"showTooltip"]],[l],0,void 0,E.ReactNextElement)),a();var J,Q,U,Y=n(8470),$=n(9077),ee=n(4497),te=n(2152);(0,$.initializeReactI18n)(ee.NS,ee.k);var ne,{defineElement:ae}=(0,k.createDecorators)();Q=ae("eo-launchpad-button",{styleTexts:[te.Z]});class le extends E.ReactNextElement{render(){return y().createElement(Y.L,null)}}U=le,[ne,J]=(0,f.Z)(U,[],[Q],0,void 0,E.ReactNextElement).c,J();var ie,re,oe,ce,se=n(2413),me=n(7370),ue=n(4758),pe=n(6976),de=n(7694),he=n(2085),{defineElement:ve}=(0,k.createDecorators)(),fe=(0,se.unwrapProvider)("basic.lock-body-scroll");re=ve("eo-launchpad-button-v2",{styleTexts:[pe.Z]});class be extends E.ReactNextElement{disconnectedCallback(){super.disconnectedCallback(),fe(this,!1)}render(){return y().createElement(ge,{host:this})}}function ge(e){var{host:t}=e,[n,a]=(0,g.useState)(!1),[l,i]=(0,g.useState)(!1),r=()=>{i((e=>!e))};return(0,g.useEffect)((()=>(0,w.getHistory)().listen((()=>{i(!1)}))),[]),(0,g.useEffect)((()=>{l&&!n&&a(!0)}),[l,n]),(0,g.useEffect)((()=>(me.Z.filter=function(){return!0},(0,me.Z)("alt+l",(e=>{e.preventDefault(),i((e=>!e))})),(0,me.Z)("esc",(()=>{i(!1)})),()=>{me.Z.unbind("alt+l"),me.Z.unbind("esc")})),[]),(0,g.useEffect)((()=>{fe(t,l)}),[l,t]),(0,g.useEffect)((()=>{he.yp.schedulePrefetch(),he.sK.schedulePrefetch()}),[]),y().createElement(y().Fragment,null,y().createElement("a",{role:"button",className:T()("launchpad-button",{active:l}),onClick:r},y().createElement(ue.Z,null)),y().createElement("div",{className:T()("mask",{active:l}),onClick:r}),n&&y().createElement(de.Z,{active:l}))}oe=be,[ce,ie]=(0,f.Z)(oe,[],[re],0,void 0,E.ReactNextElement).c,ie();var ye=n(1815),ke=n(5178),we=(0,E.wrapBrick)("eo-icon"),Ee=(0,E.wrapBrick)("eo-link"),xe=(0,E.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"});function Ze(e){var{data:t,actions:n,onActionClick:a}=e,{name:l,items:i}=t,[r,o]=(0,g.useState)(!1),c=(0,g.useMemo)((()=>null==n?void 0:n.filter((e=>(0,w.checkIfByTransform)(e,{type:"group"})))),[n]),s=(0,g.useCallback)((e=>{null==a||a({data:t,action:e.detail})}),[t,a]);return y().createElement("li",{className:"menu-group"},y().createElement("div",{className:"menu-group-label-wrapper"},y().createElement("span",{className:"menu-group-label"},l),y().createElement(xe,{actions:c,onVisibleChange:e=>{o(e.detail)},onActionClick:s},y().createElement(we,{lib:"fa",icon:"gear",className:T()("menu-config",{active:r})}))),y().createElement("ul",{className:"menu"},i.map((e=>"dir"===e.type?y().createElement(Ce,{key:e.instanceId,data:e,actions:n,onActionClick:a}):y().createElement(Ne,{key:"".concat(e.type,"-").concat(e.id),data:e})))))}function Ne(e){var{data:t}=e;return y().createElement("li",{className:"menu-item"},y().createElement(Ee,null,y().createElement(we,(0,b.Z)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},(0,ke.pick)(t.menuIcon,["lib","icon","theme","category","prefix"]))),y().createElement("span",{className:"menu-item-label"},t.name)))}function Ce(e){var{data:t,actions:n,onActionClick:a}=e,{name:l,items:i}=t,[r,o]=(0,g.useState)(!1),[c,s]=(0,g.useState)(!1),m=(0,g.useMemo)((()=>null==n?void 0:n.filter((e=>(0,w.checkIfByTransform)(e,{type:"dir"})))),[n]),u=(0,g.useCallback)((()=>{s((e=>!e))}),[]),p=(0,g.useCallback)((e=>{null==a||a({data:t,action:e.detail})}),[t,a]);return y().createElement("li",{className:"menu-item folder"},y().createElement("div",{className:"menu-folder-label-wrapper"},y().createElement(Ee,{onClick:u},y().createElement(we,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),y().createElement("span",{className:"menu-item-label"},l),y().createElement(we,{lib:"antd",icon:c?"up":"down",className:"menu-item-toggle"})),y().createElement(xe,{actions:m,onVisibleChange:e=>{o(e.detail)},onActionClick:p},y().createElement(we,{lib:"fa",icon:"gear",className:T()("menu-config",{active:r})}))),y().createElement("ul",{className:T()("sub-menu",{expanded:c})},i.map((e=>y().createElement(Ne,{key:e.instanceId,data:e})))))}(0,se.unwrapProvider)("basic.show-dialog");var Te,De,Ke,Ie,Re,Me,Ae,Se,We,Be,Ge,_e,Ve,Fe=n(9534),{defineElement:ze,property:Le,event:Pe}=(0,k.createDecorators)();De=ze("nav.launchpad-config",{styleTexts:[Fe.Z]}),Ke=Le({attribute:!1}),Re=Le({attribute:!1}),Ae=Pe({type:"action.click"});var He=new WeakMap,Oe=new WeakMap,Xe=new WeakMap,je=new WeakMap,qe=new WeakMap;class Je extends E.ReactNextElement{constructor(){super(...arguments),(0,d.Z)(this,je,{get:Ue,set:Qe}),(0,d.Z)(this,He,{writable:!0,value:(Ge(this),Ie(this))}),(0,d.Z)(this,Oe,{writable:!0,value:Me(this)}),(0,d.Z)(this,Xe,{writable:!0,value:Se(this)}),(0,d.Z)(this,qe,{writable:!0,value:e=>{(0,v.Z)(this,je).emit(e)}})}get menuGroups(){return(0,v.Z)(this,He)}set menuGroups(e){(0,h.Z)(this,He,e)}get actions(){return(0,v.Z)(this,Oe)}set actions(e){(0,h.Z)(this,Oe,e)}render(){return y().createElement(Ye,{menuGroups:this.menuGroups,actions:this.actions,onActionClick:(0,v.Z)(this,qe)})}}function Qe(e){Be(this,e)}function Ue(){return We(this)}function Ye(e){var{menuGroups:t,actions:n,onActionClick:a}=e;return y().createElement("ul",{className:"menu-groups"},null==t?void 0:t.map((e=>y().createElement(Ze,{key:e.instanceId,data:e,actions:n,onActionClick:a}))))}_e=Je,({e:[Ie,Me,Se,We,Be,Ge],c:[Ve,Te]}=(0,f.Z)(_e,[[Ke,1,"menuGroups"],[Re,1,"actions"],[Ae,1,"actionClickEvent",e=>(0,v.Z)(e,Xe),(e,t)=>(0,h.Z)(e,Xe,t)]],[De],0,(e=>qe.has((0,ye.Z)(e))),E.ReactNextElement)),Te()},9534:(e,t,n)=>{n.d(t,{Z:()=>o});var a=n(9601),l=n.n(a),i=n(2609),r=n.n(i)()(l());r.push([e.id,":host{display:block;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none;--local-menu-icon-color:rgba(255,255,255,0.45)}ul{list-style:none;margin:0;padding:0}.menu-groups{display:grid;grid-gap:32px 16px;gap:32px 16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{display:block}.menu-folder-label-wrapper > 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)}.menu-group-label-wrapper,\n.menu-folder-label-wrapper,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-group-label-wrapper{margin-bottom:14px;gap:3px}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text)}.menu-icon{color:var(--local-menu-icon-color)}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{max-width:100%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:0}.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-toggle{color:var(--color-secondary-text)}.menu-config{visibility:hidden;color:var(--color-brand);cursor:pointer;display:flex;justify-content:center;align-items:center;width:24px;height:24px}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible}.menu-folder-label-wrapper > eo-dropdown-actions{margin:-3px 0}.menu-config:hover,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover::part(link),\n.menu-folder-label-wrapper > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}",""]);const o=r.toString()}}]);
|
|
2
|
-
//# sourceMappingURL=8142.
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[8142],{8142:(e,t,n)=>{n.r(t);var a,l,i,r,o,c,s,m,u,p=n(4795),d=n(3395),h=n(381),v=n(687),f=n(2604),b=n(7896),g=n(8657),y=n.n(g),k=n(5366),w=n(777),E=n(4511),x=n(9800),Z=n(3808),N=n(7993),C=(n(2230),n(2779)),T=n.n(C),D=n(1880),I=n(9705),K=n(2598),R=n(8462),M=n(8101),{defineElement:A,property:S}=(0,k.createDecorators)(),W=(0,E.wrapBrick)("eo-menu-item"),B=(0,E.wrapBrick)("eo-popover",{onVisibleChange:"visible.change",beforeVisibleChange:"before.visible.change"});function G(e){var{item:t}=e;return(0,Z.cl)(t,e.topData)?y().createElement(z,(0,b.Z)({},e,{item:t})):(0,Z.ty)(t)?y().createElement(L,(0,b.Z)({},e,{item:t})):y().createElement(_,(0,b.Z)({},e,{item:t}))}function _(e){var{item:t,index:n,hidden:a,showTooltip:l,selectedKey:i=[]}=e;return y().createElement(W,{"data-index":n,className:a?"overflow-menu-item":"",key:t.key,title:l?t.text:"",active:!!t.key&&i.includes(t.key)},(0,Z.nC)(t,{width:"100%"}))}var V,F=e=>{var t,n=null!==(t=u)&&void 0!==t?t:u=window.innerWidth-document.body.clientWidth;document.body.style.paddingRight=e.detail?n+"px":"",document.body.style.overflow=e.detail?"hidden":"",document.body.style.touchAction=e.detail?"none":""};function z(e){var t,{index:n,hidden:a,item:l,topData:i,showTooltip:r,selectedKey:o=[],overflow:c}=e;return(null===(t=l.items)||void 0===t?void 0:t.length)>0?y().createElement(B,{"data-index":n,className:T()("popover",{subprime:!i,"overflow-menu-item":a}),trigger:"hover",placement:i?"bottom-start":"right-start",distance:0,anchorDisplay:"block",strategy:"fixed"},y().createElement(W,{className:"sub-menu-item-label",key:l.key,slot:"anchor",title:r?l.title:""},(0,Z.cx)(l,!i)),y().createElement("div",{className:T()("sub-menu-wrapper",{"overflow-menu-wrapper":c})},l.items.map((e=>y().createElement(y().Fragment,{key:e.key},y().createElement(G,{item:e,selectedKey:o,showTooltip:r})))))):null}function L(e){var t,{item:n,showTooltip:a,selectedKey:l=[]}=e;return(null===(t=n.items)||void 0===t?void 0:t.length)>0?"category"===n.childLayout?y().createElement(P,{item:n,selectedKey:l,showTooltip:a,placement:"right-start",anchorDisplay:"block"}):"siteMap"===n.childLayout?y().createElement(H,{item:n,selectedKey:l,showTooltip:a,placement:"right-start",anchorDisplay:"block",topData:!1}):y().createElement(y().Fragment,null,y().createElement("div",{className:"group-label"},n.title),y().createElement("div",{className:"group-wrapper"},n.items.map((e=>y().createElement(y().Fragment,{key:e.key},y().createElement(G,{item:e,showTooltip:a,selectedKey:l})))))):null}function P(e){var t,{index:n,hidden:a,item:l,selectedKey:i=[],showTooltip:r,placement:o="bottom-start",anchorDisplay:c}=e;return(null===(t=l.items)||void 0===t?void 0:t.length)>0?y().createElement(B,{"data-index":n,className:T()("three-level-menu-popover","popover",{"overflow-menu-item":a}),trigger:"hover",placement:o,distance:0,key:l.key,strategy:"fixed",anchorDisplay:c,beforeVisibleChange:F},y().createElement(W,{className:"sub-menu-item-label",key:l.key,slot:"anchor",title:r?l.title:""},(0,Z.cx)(l)),y().createElement("div",{className:"sub-menu-wrapper"},y().createElement(D.m,{menuItem:l,selectedKey:i}))):null}function H(e){var t,{index:n,hidden:a,item:l,selectedKey:i=[],showTooltip:r,placement:o="bottom-start",anchorDisplay:c,topData:s}=e,[m,u]=(0,g.useState)();return(null===(t=l.items)||void 0===t?void 0:t.length)>0?y().createElement(B,{"data-index":n,className:T()("popover",{"overflow-menu-item":a}),trigger:"hover",placement:o,distance:0,key:l.key,strategy:"fixed",anchorDisplay:c,beforeVisibleChange:e=>{u(e.detail),F(e)}},y().createElement(W,{className:"sub-menu-item-label",key:l.key,slot:"anchor",title:r?l.title:""},(0,Z.cx)(l)),y().createElement("div",{className:T()("sub-menu-sit-map-wrapper",{"in-group-site-map":!s}),onClick:e=>e.stopPropagation()},y().createElement(I.hX,{menuGroup:l,selectedKey:i,visible:m}))):null}l=A("eo-nav-menu",{styleTexts:[K.Z,R.Z,M.Z,x.Z]}),i=S({attribute:!1}),o=S({type:Boolean});var O=new WeakMap,X=new WeakMap;class j extends E.ReactNextElement{constructor(){super(...arguments),(0,d.Z)(this,O,{writable:!0,value:(s(this),r(this))}),(0,d.Z)(this,X,{writable:!0,value:c(this)})}get menu(){return(0,v.Z)(this,O)}set menu(e){(0,h.Z)(this,O,e)}get showTooltip(){return(0,v.Z)(this,X)}set showTooltip(e){(0,h.Z)(this,X,e)}render(){return y().createElement(q,{menu:this.menu,showTooltip:this.showTooltip})}}function q(e){var t,n,{menu:a,showTooltip:l}=e,i=(0,w.getHistory)(),r=(0,g.useRef)(null),[o,c]=(0,g.useState)(i.location),[s,m]=(0,g.useState)(Number.MAX_SAFE_INTEGER),{pathname:u,search:d}=o,[h,v]=(0,g.useState)([]),f=function(){var e=(0,p.Z)((function*(){var e,{selectedKeys:t}=(0,N.OZ)(null!==(e=null==a?void 0:a.menuItems)&&void 0!==e?e:[],u,d,"");v(t)}));return function(){return e.apply(this,arguments)}}();(0,g.useEffect)((()=>{var e=i.listen((e=>{c(e)}));return f(),e}),[]),(0,g.useEffect)((()=>{if(r.current){var e=new ResizeObserver((()=>{if(r.current){var e,{width:t}=null!==(e=r.current.getClientRects()[0])&&void 0!==e?e:{},n=r.current.childNodes;if(n.length&&t){for(var a=t,l=n.length,i=0;i<n.length;i++){var{width:o,height:c}=n[i].getClientRects()[0];if(!c&&a-40<0){l=i-1;break}if((a=a-o-(i>0?8:0))<0){l=i;break}}m(l<0?0:l)}}}));return e.observe(r.current),()=>{e.disconnect()}}}),[]);var b=(0,g.useMemo)((()=>({type:"subMenu",title:"···",items:null==a?void 0:a.menuItems.slice(s,a.menuItems.length)})),[null==a?void 0:a.menuItems,s]);return y().createElement("div",{ref:r,className:"nav-menu-wrapper"},null==a?void 0:a.menuItems.map(((e,t)=>{var n,a=s<=t;return y().createElement(y().Fragment,{key:e.key},(0,Z.cl)(e,!0)&&"category"===e.childLayout&&null!==(n=e.items)&&void 0!==n&&n.length?y().createElement(P,{index:t,hidden:a,item:e,showTooltip:l,selectedKey:h}):"group"===e.type&&"siteMap"===e.childLayout?y().createElement(H,{index:t,hidden:a,item:e,showTooltip:l,selectedKey:h,topData:!0}):y().createElement(G,{index:t,hidden:a,item:e,showTooltip:l,selectedKey:h,topData:!0}))})),y().createElement(G,{hidden:s>(null!==(t=null==a||null===(n=a.menuItems)||void 0===n?void 0:n.length)&&void 0!==t?t:0),item:b,showTooltip:l,selectedKey:h,overflow:!0,topData:!0}))}m=j,({e:[r,c,s],c:[V,a]}=(0,f.Z)(m,[[i,1,"menu"],[o,1,"showTooltip"]],[l],0,void 0,E.ReactNextElement)),a();var J,Q,U,Y=n(8470),$=n(9077),ee=n(4497),te=n(2152);(0,$.initializeReactI18n)(ee.NS,ee.k);var ne,{defineElement:ae}=(0,k.createDecorators)();Q=ae("eo-launchpad-button",{styleTexts:[te.Z]});class le extends E.ReactNextElement{render(){return y().createElement(Y.L,null)}}U=le,[ne,J]=(0,f.Z)(U,[],[Q],0,void 0,E.ReactNextElement).c,J();var ie,re,oe,ce,se=n(2413),me=n(7370),ue=n(4758),pe=n(6976),de=n(7694),he=n(2085),{defineElement:ve}=(0,k.createDecorators)(),fe=(0,se.unwrapProvider)("basic.lock-body-scroll");re=ve("eo-launchpad-button-v2",{styleTexts:[pe.Z]});class be extends E.ReactNextElement{disconnectedCallback(){super.disconnectedCallback(),fe(this,!1)}render(){return y().createElement(ge,{host:this})}}function ge(e){var{host:t}=e,[n,a]=(0,g.useState)(!1),[l,i]=(0,g.useState)(!1),r=()=>{i((e=>!e))};return(0,g.useEffect)((()=>(0,w.getHistory)().listen((()=>{i(!1)}))),[]),(0,g.useEffect)((()=>{l&&!n&&a(!0)}),[l,n]),(0,g.useEffect)((()=>(me.Z.filter=function(){return!0},(0,me.Z)("alt+l",(e=>{e.preventDefault(),i((e=>!e))})),(0,me.Z)("esc",(()=>{i(!1)})),()=>{me.Z.unbind("alt+l"),me.Z.unbind("esc")})),[]),(0,g.useEffect)((()=>{fe(t,l)}),[l,t]),(0,g.useEffect)((()=>{he.yp.schedulePrefetch(),he.sK.schedulePrefetch()}),[]),y().createElement(y().Fragment,null,y().createElement("a",{role:"button",className:T()("launchpad-button",{active:l}),onClick:r},y().createElement(ue.Z,null)),y().createElement("div",{className:T()("mask",{active:l}),onClick:r}),n&&y().createElement(de.Z,{active:l}))}oe=be,[ce,ie]=(0,f.Z)(oe,[],[re],0,void 0,E.ReactNextElement).c,ie();var ye=n(1815),ke=n(5178),we=(0,E.wrapBrick)("eo-icon"),Ee=(0,E.wrapBrick)("eo-link"),xe=(0,E.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"});function Ze(e){var{data:t,actions:n,onActionClick:a}=e,{name:l,items:i}=t,[r,o]=(0,g.useState)(!1),c=(0,g.useMemo)((()=>null==n?void 0:n.filter((e=>(0,w.checkIfByTransform)(e,{type:"group"})))),[n]),s=(0,g.useCallback)((e=>{null==a||a({data:t,action:e.detail})}),[t,a]);return y().createElement("li",{className:T()("menu-group",{empty:0===i.length})},y().createElement("div",{className:"menu-group-label-wrapper"},y().createElement("span",{className:"menu-group-label"},l),y().createElement(xe,{actions:c,onVisibleChange:e=>{o(e.detail)},onActionClick:s},y().createElement(we,{lib:"fa",icon:"gear",className:T()("menu-config",{active:r})}))),y().createElement("ul",{className:"menu"},i.map((e=>"dir"===e.type?y().createElement(Ce,{key:e.instanceId,data:e,actions:n,onActionClick:a}):y().createElement(Ne,{key:"".concat(e.type,"-").concat(e.id),data:e})))))}function Ne(e){var t,{data:n}=e;return y().createElement("li",{className:"menu-item"},y().createElement(Ee,null,y().createElement(we,(0,b.Z)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(t=n.menuIcon)&&void 0!==t&&t.lib&&n.menuIcon.icon?(0,ke.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),y().createElement("span",{className:"menu-item-label"},n.name)))}function Ce(e){var{data:t,actions:n,onActionClick:a}=e,{name:l,items:i}=t,[r,o]=(0,g.useState)(!1),[c,s]=(0,g.useState)(!1),m=(0,g.useMemo)((()=>null==n?void 0:n.filter((e=>(0,w.checkIfByTransform)(e,{type:"dir"})))),[n]),u=(0,g.useCallback)((()=>{s((e=>!e))}),[]),p=(0,g.useCallback)((e=>{null==a||a({data:t,action:e.detail})}),[t,a]);return y().createElement("li",{className:T()("menu-item folder",{empty:0===i.length})},y().createElement("div",{className:"menu-folder-label-wrapper"},y().createElement(Ee,{onClick:u},y().createElement(we,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),y().createElement("span",{className:"menu-item-label"},l),y().createElement(we,{lib:"antd",icon:c?"up":"down",className:"menu-item-toggle"})),y().createElement(xe,{actions:m,onVisibleChange:e=>{o(e.detail)},onActionClick:p},y().createElement(we,{lib:"fa",icon:"gear",className:T()("menu-config",{active:r})}))),y().createElement("ul",{className:T()("sub-menu",{expanded:c})},i.map((e=>y().createElement(Ne,{key:e.instanceId,data:e})))))}(0,se.unwrapProvider)("basic.show-dialog");var Te,De,Ie,Ke,Re,Me,Ae,Se,We,Be,Ge,_e,Ve,Fe=n(9534),{defineElement:ze,property:Le,event:Pe}=(0,k.createDecorators)();De=ze("nav.launchpad-config",{styleTexts:[Fe.Z]}),Ie=Le({attribute:!1}),Re=Le({attribute:!1}),Ae=Pe({type:"action.click"});var He=new WeakMap,Oe=new WeakMap,Xe=new WeakMap,je=new WeakMap,qe=new WeakMap;class Je extends E.ReactNextElement{constructor(){super(...arguments),(0,d.Z)(this,je,{get:Ue,set:Qe}),(0,d.Z)(this,He,{writable:!0,value:(Ge(this),Ke(this))}),(0,d.Z)(this,Oe,{writable:!0,value:Me(this)}),(0,d.Z)(this,Xe,{writable:!0,value:Se(this)}),(0,d.Z)(this,qe,{writable:!0,value:e=>{(0,v.Z)(this,je).emit(e)}})}get menuGroups(){return(0,v.Z)(this,He)}set menuGroups(e){(0,h.Z)(this,He,e)}get actions(){return(0,v.Z)(this,Oe)}set actions(e){(0,h.Z)(this,Oe,e)}render(){return y().createElement(Ye,{menuGroups:this.menuGroups,actions:this.actions,onActionClick:(0,v.Z)(this,qe)})}}function Qe(e){Be(this,e)}function Ue(){return We(this)}function Ye(e){var{menuGroups:t,actions:n,onActionClick:a}=e;return y().createElement("ul",{className:"menu-groups"},null==t?void 0:t.map((e=>y().createElement(Ze,{key:e.instanceId,data:e,actions:n,onActionClick:a}))))}_e=Je,({e:[Ke,Me,Se,We,Be,Ge],c:[Ve,Te]}=(0,f.Z)(_e,[[Ie,1,"menuGroups"],[Re,1,"actions"],[Ae,1,"actionClickEvent",e=>(0,v.Z)(e,Xe),(e,t)=>(0,h.Z)(e,Xe,t)]],[De],0,(e=>qe.has((0,ye.Z)(e))),E.ReactNextElement)),Te()},9534:(e,t,n)=>{n.d(t,{Z:()=>o});var a=n(9601),l=n.n(a),i=n(2609),r=n.n(i)()(l());r.push([e.id,":host{display:block;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none;--local-menu-icon-color:rgba(255,255,255,0.45)}ul{list-style:none;margin:0;padding:0}.menu-groups{display:grid;grid-gap:32px 16px;gap:32px 16px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{display:block}.menu-folder-label-wrapper > 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)}.menu-group-label-wrapper,\n.menu-folder-label-wrapper,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-group-label-wrapper{gap:3px}.menu-group:not(.empty) .menu-group-label-wrapper{margin-bottom:14px}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text)}.menu-icon{color:var(--local-menu-icon-color)}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{max-width:100%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:0}.sub-menu:not(.expanded){display:none}.sub-menu{margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item:not(.empty) .sub-menu{margin-top:14px}.menu-item-toggle{color:var(--color-secondary-text)}.menu-config{visibility:hidden;color:var(--color-brand);cursor:pointer;display:flex;justify-content:center;align-items:center;width:24px;height:24px}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible}.menu-folder-label-wrapper > eo-dropdown-actions{margin:-3px 0}.menu-config:hover,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover::part(link),\n.menu-folder-label-wrapper > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}",""]);const o=r.toString()}}]);
|
|
2
|
+
//# sourceMappingURL=8142.ba46baeb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/8142.ba46baeb.js","mappings":"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","sources":["webpack:///./src/nav-menu/index.tsx","webpack:///./src/launchpad/index.tsx","webpack:///./src/launchpad-button-v2/index.tsx","webpack:///./src/launchpad-config/wrapped-bricks.ts","webpack:///./src/launchpad-config/MenuGroup.tsx","webpack:///./src/launchpad-config/index.tsx","webpack:///./src/launchpad-config/styles.shadow.css"],"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 * @category navigation\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","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","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","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 {\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping,\n} from \"@next-bricks/basic/dropdown-actions\";\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\");\nexport const WrappedDropdownActions = wrapBrick<\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping\n>(\"eo-dropdown-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\n\n// Use `unwrapProvider` to get the original function of a provider\nexport const showDialog =\n unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport type { SimpleAction } from \"@next-bricks/basic/dropdown-actions\";\nimport {\n WrappedDropdownActions,\n WrappedIcon,\n WrappedLink,\n} from \"./wrapped-bricks\";\nimport type {\n ConfigMenuGroup,\n ConfigMenuItemDir,\n ConfigMenuItemNormal,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\n\nexport interface MenuGroupProps {\n data: ConfigMenuGroup;\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuGroup({ data, actions, onActionClick }: MenuGroupProps) {\n const { name, items } = data;\n const [dropdownActive, setDropdownActive] = useState(false);\n\n const filteredActions = useMemo(\n () =>\n actions?.filter((item) => checkIfByTransform(item, { type: \"group\" })),\n [actions]\n );\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li className={classNames(\"menu-group\", { empty: items.length === 0 })}>\n <div className=\"menu-group-label-wrapper\">\n <span className=\"menu-group-label\">{name}</span>\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", { active: dropdownActive })}\n />\n </WrappedDropdownActions>\n </div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={item.instanceId}\n data={item}\n actions={actions}\n onActionClick={onActionClick}\n />\n ) : (\n <MenuItem key={`${item.type}-${item.id}`} data={item} />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n data: ConfigMenuItemNormal;\n}\n\nexport function MenuItem({ data }: MenuItemProps) {\n return (\n <li className=\"menu-item\">\n <WrappedLink>\n <WrappedIcon\n className={`menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(data.menuIcon?.lib && data.menuIcon.icon\n ? (pick(data.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{data.name}</span>\n </WrappedLink>\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n data: ConfigMenuItemDir;\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nfunction MenuItemFolder({ data, actions, onActionClick }: MenuItemFolderProps) {\n const { name, items } = data;\n const [dropdownActive, setDropdownActive] = useState(false);\n const [expanded, setExpanded] = useState(false);\n\n const filteredActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, { type: \"dir\" })),\n [actions]\n );\n\n const toggle = useCallback(() => {\n setExpanded((previous) => !previous);\n }, []);\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li\n className={classNames(\"menu-item folder\", { empty: items.length === 0 })}\n >\n <div className=\"menu-folder-label-wrapper\">\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={expanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", { active: dropdownActive })}\n />\n </WrappedDropdownActions>\n </div>\n <ul className={classNames(\"sub-menu\", { expanded })}>\n {items.map((item) => (\n <MenuItem key={item.instanceId} data={item} />\n ))}\n </ul>\n </li>\n );\n}\n","import React from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n ConfigMenuGroup,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\nimport { MenuGroup } from \"./MenuGroup\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 构件 `nav.launchpad-config`\n */\nexport\n@defineElement(\"nav.launchpad-config\", {\n styleTexts: [styleText],\n})\nclass LaunchpadConfig extends ReactNextElement implements LaunchpadConfigProps {\n @property({ attribute: false })\n accessor menuGroups: ConfigMenuGroup[] | undefined;\n\n @property({ attribute: false })\n accessor actions: MenuAction[] | undefined;\n\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<MenuActionEventDetail>;\n\n #onActionClick = (detail: MenuActionEventDetail) => {\n this.#actionClickEvent.emit(detail);\n };\n\n render() {\n return (\n <LaunchpadConfigComponent\n menuGroups={this.menuGroups}\n actions={this.actions}\n onActionClick={this.#onActionClick}\n />\n );\n }\n}\n\nexport interface LaunchpadConfigProps {\n menuGroups?: ConfigMenuGroup[];\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function LaunchpadConfigComponent({\n menuGroups,\n actions,\n onActionClick,\n}: LaunchpadConfigProps) {\n return (\n <ul className=\"menu-groups\">\n {menuGroups?.map((group) => (\n <MenuGroup\n key={group.instanceId}\n data={group}\n actions={actions}\n onActionClick={onActionClick}\n />\n ))}\n </ul>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none;--local-menu-icon-color:rgba(255,255,255,0.45)}ul{list-style:none;margin:0;padding:0}.menu-groups{display:grid;grid-gap:32px 16px;gap:32px 16px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{display:block}.menu-folder-label-wrapper > 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)}.menu-group-label-wrapper,\n.menu-folder-label-wrapper,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-group-label-wrapper{gap:3px}.menu-group:not(.empty) .menu-group-label-wrapper{margin-bottom:14px}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text)}.menu-icon{color:var(--local-menu-icon-color)}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{max-width:100%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:0}.sub-menu:not(.expanded){display:none}.sub-menu{margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item:not(.empty) .sub-menu{margin-top:14px}.menu-item-toggle{color:var(--color-secondary-text)}.menu-config{visibility:hidden;color:var(--color-brand);cursor:pointer;display:flex;justify-content:center;align-items:center;width:24px;height:24px}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible}.menu-folder-label-wrapper > eo-dropdown-actions{margin:-3px 0}.menu-config:hover,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover::part(link),\n.menu-folder-label-wrapper > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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","initializeReactI18n","NS","locales","_LaunchpadButton","LaunchpadButton","LaunchpadButtonComponent","_EoLaunchpadButtonV","lockBodyScroll","unwrapProvider","EoLaunchpadButtonV2","disconnectedCallback","super","EoLaunchpadButtonV2Component","host","initialized","setInitialized","setActive","toggleLaunchpad","previous","hotkeys","filter","preventDefault","unbind","deferredLaunchpadInfo","schedulePrefetch","deferredFavorites","role","classNames","LaunchpadSvg","Launchpad","WrappedIcon","WrappedLink","WrappedDropdownActions","onActionClick","MenuGroup","data","actions","name","dropdownActive","setDropdownActive","filteredActions","checkIfByTransform","handleActionClick","useCallback","action","empty","lib","icon","MenuItemFolder","instanceId","MenuItem","concat","id","_data$menuIcon","menuIcon","pick","expanded","setExpanded","toggle","prefix","_LaunchpadConfig","_dec4","_C","_actionClickEvent","_onActionClick","LaunchpadConfig","get","_get_actionClickEvent2","set","_set_actionClickEvent2","_init_menuGroups","_init_actions","_init_actionClickEvent","emit","menuGroups","LaunchpadConfigComponent","_set_actionClickEvent","_get_actionClickEvent","group","o","_","has","_checkInRHS","___CSS_LOADER_EXPORT___","push","module","toString"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 9816.8b4236ff.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[9816],{7694:(e,n,t)=>{t.d(n,{Z:()=>f});var a=t(7896),r=t(8657),i=t.n(r),o=t(2779),l=t.n(o),c=t(2892),s=t(2085),u=t(5178),m=i().createContext({}),p=()=>i().useContext(m);function d(e){var{name:n,items:t}=e;return i().createElement("li",{className:"menu-group"},i().createElement("div",{className:"menu-group-label"},n),i().createElement("ul",{className:"menu"},t.map((e=>"dir"===e.type?i().createElement(g,{key:"".concat(e.type,"-").concat(e.id),name:e.name,items:e.items}):i().createElement(v,{key:"".concat(e.type,"-").concat(e.id),item:e})))))}function v(e){var n,{item:t}=e,{loadingFavorites:o,pushRecentVisit:s,toggleStar:m,isStarred:d}=p(),v=(0,r.useMemo)((()=>d(t)),[d,t]),h=(0,r.useCallback)((()=>{m(t)}),[t,m]),g=(0,r.useCallback)((()=>{s(t)}),[t,s]);return i().createElement("li",{className:l()("menu-item",{starred:v,"can-star":!o})},i().createElement(c.kk,(0,a.Z)({onClick:g},"app"===t.type?{url:t.url}:{href:t.url,target:"_blank"}),i().createElement(c.V3,(0,a.Z)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(n=t.menuIcon)&&void 0!==n&&n.lib&&t.menuIcon.icon?(0,u.pick)(t.menuIcon,["lib","icon","theme","category","prefix"]):null)),i().createElement("span",{className:"menu-item-label"},t.name)),i().createElement(c.V3,{lib:"fa",prefix:v?"fas":"far",icon:"star",className:"menu-item-star",title:v?"取消收藏":"收藏",onClick:h}))}function h(e){var n,{item:t}=e,{pushRecentVisit:o,toggleStar:l}=p(),s=(0,r.useCallback)((()=>{"link"!==t.type&&o(t)}),[t,o]),m=(0,r.useCallback)((()=>{l(t)}),[t,l]);return i().createElement("li",{className:"sidebar-menu-item"},i().createElement(c.kk,(0,a.Z)({onClick:s},"app"===t.type?{url:t.url}:{href:t.url,target:"_blank"}),i().createElement(c.V3,(0,a.Z)({className:"sidebar-menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(n=t.menuIcon)&&void 0!==n&&n.lib&&t.menuIcon.icon?(0,u.pick)(t.menuIcon,["lib","icon","theme","category","prefix"]):null)),i().createElement("span",{className:"menu-item-label"},t.name)),i().createElement(c.V3,{lib:"fa",icon:"xmark",className:"menu-item-remove",onClick:m}))}function g(e){var{name:n,items:t}=e,{searching:a}=p(),[o,s]=(0,r.useState)(!1),[u,m]=(0,r.useState)(!1),d=(0,r.useCallback)((()=>{a?m((e=>!e)):s((e=>!e))}),[a]);(0,r.useEffect)((()=>{m(!0)}),[a]);var h=a?u:o;return i().createElement("li",{className:"menu-item folder"},i().createElement(c.kk,{onClick:d},i().createElement(c.V3,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),i().createElement("span",{className:"menu-item-label"},n),i().createElement(c.V3,{lib:"antd",icon:h?"up":"down",className:"menu-item-toggle"})),i().createElement("ul",{className:l()("sub-menu",{expanded:h})},t.map((e=>i().createElement(v,{key:"".concat(e.type,"-").concat(e.id),item:e})))))}function f(e){var{active:n}=e,t=(0,r.useRef)(null),o=(0,r.useCallback)((()=>{var e;null===(e=t.current)||void 0===e||e.focus()}),[]),{loading:u,q:p,setQ:v,menuGroups:g,favorites:f,loadingFavorites:x,recentVisits:y,pushRecentVisit:k,toggleStar:I,isStarred:w}=(0,s.m1)(n),E=!!p,C=(0,r.useCallback)((e=>{v(e.target.value)}),[v]),N=(0,r.useCallback)((()=>{v("")}),[v]);return i().createElement("div",{className:l()("launchpad",{active:n})},i().createElement(m.Provider,{value:{searching:E,loadingFavorites:x,pushRecentVisit:k,toggleStar:I,isStarred:w}},i().createElement("div",{className:"sidebar"},i().createElement("div",{className:"quick-nav"},i().createElement("div",{className:"quick-nav-label"},"快捷访问"),i().createElement("ul",{className:"sidebar-menu"},f.map(((e,n)=>i().createElement(h,{key:n,item:e})))))),i().createElement("div",{className:l()("content",{loading:u})},i().createElement(b,{loading:u}),i().createElement("div",{className:"search-box",onClick:o},i().createElement(c.V3,{lib:"fa",icon:"magnifying-glass",className:"search-icon"}),i().createElement("input",{ref:t,placeholder:"通过关键字搜索",value:p,onChange:C,className:"search-input"}),i().createElement(c.V3,{lib:"antd",theme:"filled",icon:"close-circle",className:l()("search-clear",{searching:E}),onClick:N})),i().createElement("div",{className:l()({empty:0===y.length})},i().createElement("div",{className:"recent-visits-label"},"最近访问"),i().createElement("ul",{className:"recent-visits"},y.map(((e,n)=>i().createElement("li",{key:n},i().createElement(c.kk,(0,a.Z)({onClick:()=>k(e)},"app"===e.type?{url:e.url}:{href:e.url,target:"_blank"}),i().createElement("span",null,e.name))))))),i().createElement("ul",{className:"menu-groups"},g.map((e=>i().createElement(d,{key:e.name,name:e.name,items:e.items})))))))}function b(e){var{loading:n}=e;return n&&i().createElement("div",{className:"spinner"},i().createElement(c.V3,{lib:"fa",icon:"spinner",spinning:!0}))}},2085:(e,n,t)=>{t.d(n,{sK:()=>P,yp:()=>q,m1:()=>F});var a,r=t(3028),i=t(4795),o=t(8657),l=t(777),c=t(9784),s=t(2890),u=t(2301),m=t(2892),p=t(5887),d=t(2106),v=t(3352),h=function(){var e=(0,i.Z)((function*(e,n){return(yield v.http.get("api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection",(0,r.Z)((0,r.Z)({},n),{},{params:e}))).data}));return function(n,t){return e.apply(this,arguments)}}(),g=function(){var e=(0,i.Z)((function*(e,n){return(yield v.http.post("api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection",e,n)).data}));return function(n,t){return e.apply(this,arguments)}}(),f=(e,n)=>v.http.delete("api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/".concat(e),n),b=10,x=10;function y(){return(y=(0,i.Z)((function*(){var e=yield(0,d.u)({},{interceptorParams:{ignoreLoadingBar:!0},noAbortOnRouteChange:!0}),n=new Map;for(var t of e.storyboards){var a=t.app;k(a),n.set(a.id,a)}var i=[],o=new Map;for(var l of e.desktops){var c=[];for(var s of l.items)switch(s.type){case"app":var u=n.get(s.id);u&&c.push((0,r.Z)((0,r.Z)({},s),{},{name:u.localeName,url:u.homepage,menuIcon:u.menuIcon}));break;case"custom":c.push(s),o.set(s.id,s);break;case"dir":var m=[];for(var p of s.items)if("app"===p.type){var v=n.get(p.id);v&&m.push((0,r.Z)((0,r.Z)({},p),{},{name:v.localeName,url:v.homepage,menuIcon:v.menuIcon}))}else"custom"===p.type&&(m.push(p),o.set(p.id,p));m.length>0&&c.push((0,r.Z)((0,r.Z)({},s),{},{items:m}))}c.length>0&&i.push((0,r.Z)((0,r.Z)({},l),{},{items:c}))}return{menuGroups:i,microAppsById:n,customLinksById:o}}))).apply(this,arguments)}function k(e){if(e.locales){var n,t=Object.fromEntries(Object.entries(e.locales).filter((e=>{var[n,t]=e;return t.name})).map((e=>{var[n,t]=e;return[n,t.name]})));e.localeName=null!==(n=(0,p.i18nText)(t))&&void 0!==n?n:e.name}else e.localeName=e.name}function I(){return w.apply(this,arguments)}function w(){return(w=(0,i.Z)((function*(){return(yield h({page:1,pageSize:b},{interceptorParams:{ignoreLoadingBar:!0},noAbortOnRouteChange:!0})).list}))).apply(this,arguments)}function E(){return(E=(0,i.Z)((function*(){var e=yield I(),n=[];for(var t of e)if("microApp"===t.type){var a=t.relatedApp;k(a),n.push({favoriteId:t.instanceId,type:"app",name:a.localeName,id:a.appId,url:a.homepage,instanceId:a.instanceId,menuIcon:a.menuIcon})}else if("customItem"===t.type){var r=t.relatedCustomItem;n.push({favoriteId:t.instanceId,type:"custom",name:r.name,id:r.id,url:r.url,menuIcon:r.menuIcon})}else"link"===t.type&&n.push({favoriteId:t.instanceId,type:"link",name:t.name,url:t.link,menuIcon:t.icon});return n}))).apply(this,arguments)}function C(){return(C=(0,i.Z)((function*(e){return g({type:"app"===e.type?"microApp":"customItem",relatedInstanceId:e.instanceId},{interceptorParams:{ignoreLoadingBar:!0}})}))).apply(this,arguments)}function N(){return(N=(0,i.Z)((function*(e){return e.favoriteId?f(e.favoriteId):I().then((n=>{var t,a=null===(t=n.find((n=>{var t,a;return"app"===e.type?"microApp"===n.type&&(null===(t=n.relatedApp)||void 0===t?void 0:t.appId)===e.id:"custom"===e.type&&(null===(a=n.relatedCustomItem)||void 0===a?void 0:a.id)===e.id})))||void 0===t?void 0:t.instanceId;if(a)return f(a);console.error("Menu item to unstar not found:",e)}))}))).apply(this,arguments)}function Z(e,n){return e.id.toLowerCase().includes(n)||e.name.toLowerCase().includes(n)?e:null}function S(e,n){return e.id.toLowerCase().includes(n)||e.name.toLowerCase().includes(n)?e:null}var V="launchpad-recent-visits:".concat(null===(a=c.auth.getAuth())||void 0===a?void 0:a.org),_=new s.o(localStorage),z=[],B=new Map,L=new Map,A=!1,R=[],M=!1,q=new u.i((0,i.Z)((function*(){({menuGroups:z,microAppsById:B,customLinksById:L}=yield function(){return y.apply(this,arguments)}()),A=!0}))),P=new u.i((0,i.Z)((function*(){R=yield function(){return E.apply(this,arguments)}(),M=!0}))),j=e=>(0,m.c0)({type:"error",message:(0,l.httpErrorToString)(e)});function F(e){var[n,t]=(0,o.useState)(z),[a,c]=(0,o.useState)(B),[s,u]=(0,o.useState)(L),[p,d]=(0,o.useState)(""),[v,h]=(0,o.useState)(!A),[g,f]=(0,o.useState)(!M),[y,k]=(0,o.useState)([]),[I,w]=(0,o.useState)([]),[E,F]=(0,o.useState)(R);(0,o.useEffect)((()=>{e&&!v&&(t(z),c(B),u(L))}),[e,v]),(0,o.useEffect)((()=>{e&&!g&&F(R)}),[e,g]),(0,o.useEffect)((()=>{var n;e&&k(null!==(n=_.getItem(V))&&void 0!==n?n:[])}),[e]),(0,o.useEffect)((()=>{if(e){var n=function(){var e=(0,i.Z)((function*(){try{yield q.fetch(),h(!1)}catch(e){(0,l.handleHttpError)(e)}}));return function(){return e.apply(this,arguments)}}();n()}}),[e]),(0,o.useEffect)((()=>{if(e){var n=function(){var e=(0,i.Z)((function*(){try{yield P.fetch(),f(!1)}catch(e){f(!1),j(e)}}));return function(){return e.apply(this,arguments)}}();n()}}),[e]),(0,o.useEffect)((()=>{if(!v){var e=y.map((e=>{if("app"===e.type){var n=a.get(e.id);return n?{type:"app",name:n.localeName,id:n.id,url:n.homepage,instanceId:n.instanceId,menuIcon:n.menuIcon}:null}return s.get(e.id)})).filter(Boolean);w(e)}}),[s,v,a,y]);var O=(0,o.useCallback)((e=>{var n,{type:t,id:a}=e,r=null!==(n=_.getItem(V))&&void 0!==n?n:[],i=r.findIndex((e=>e.type===t&&e.id===a));i>-1&&r.splice(i,1),r.unshift({type:t,id:a}),r.length>x&&r.pop(),_.setItem(V,r)}),[]),Q=(0,o.useCallback)((e=>E.some((n=>G(e,n)))),[E]),T=(0,o.useCallback)((e=>{var n,t=E.findIndex((n=>"link"===e.type?n.favoriteId===e.favoriteId:G(e,n)));if(t>-1){var a=E[t];n=E.slice(0,t).concat(E.slice(t+1)),function(e){return N.apply(this,arguments)}(a).catch(j)}else{if(E.length>=b)return void(0,m.vC)({type:"warn",title:"收藏数量已达上限",content:"当前收藏链接数量已达上限(".concat(b,"个),请删除部分收藏后再添加。")});var i=(0,r.Z)({},e);n=E.concat(i),function(e){return C.apply(this,arguments)}(e).then((e=>{e&&(i.favoriteId=e.instanceId)}),j)}F(n),R=n}),[E]),$=(0,o.useMemo)((()=>function(e,n){if(!n)return e;var t=n.toLowerCase();return e.map((e=>(0,r.Z)((0,r.Z)({},e),{},{items:e.items.map((e=>{switch(e.type){case"app":return Z(e,t);case"custom":return S(e,t);case"dir":var n=e.items.map((e=>"app"===e.type?Z(e,t):"custom"===e.type?S(e,t):null)).filter(Boolean);return n.length>0?(0,r.Z)((0,r.Z)({},e),{},{items:n}):null}})).filter(Boolean)}))).filter((e=>e.items.length>0))}(n,p)),[n,p]);return{loading:v,q:p,setQ:d,menuGroups:$,loadingFavorites:g,favorites:E,recentVisits:I,pushRecentVisit:O,isStarred:Q,toggleStar:T}}function G(e,n){return e.instanceId&&n.instanceId?n.instanceId===e.instanceId:n.type===e.type&&n.id===e.id}},2892:(e,n,t)=>{t.d(n,{V3:()=>i,c0:()=>c,kk:()=>o,vC:()=>l});var a=t(4511),r=t(2413),i=(0,a.wrapBrick)("eo-icon"),o=(0,a.wrapBrick)("eo-link"),l=(0,r.unwrapProvider)("basic.show-dialog"),c=(0,r.unwrapProvider)("basic.show-notification")},6976:(e,n,t)=>{t.d(n,{Z:()=>p});var a=t(9601),r=t.n(a),i=t(2609),o=t.n(i),l=t(8991),c=t.n(l),s=new URL(t(2754),t.b),u=o()(r()),m=c()(s);u.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;--local-max-height:calc(100vh - var(--app-bar-height) - 10px)}: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;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);max-height:var(--local-max-height);min-height:50vh;min-height:min(500px,var(--local-max-height));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:190px;padding:20px 0 24px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-image:url(${m});background-size:205px 205px;background-repeat:no-repeat;background-position:left 52px 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,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.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;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(168px,1fr))}.menu-groups{display:grid;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.sidebar-menu-item,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--local-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-remove,\n.menu-item-star{cursor:pointer}.menu-item-remove,\n.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.recent-visits-label{margin-bottom:12px;font-size:var(--card-title-font-size);color:var(--color-header-text);font-weight:500}.recent-visits{display:grid;grid-gap:8px;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.content{display:grid;grid-auto-flow:row}.content:not(.loading){height:-webkit-min-content;height:-moz-min-content;height:min-content}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}}`,""]);const p=u.toString()},8991:e=>{e.exports=function(e,n){return n||(n={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),n.hash&&(e+=n.hash),/["'() \t\n]|(%20)/.test(e)||n.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},2754:(e,n,t)=>{e.exports=t.p+"images/9879d37a.png"}}]);
|
|
3
|
+
//# sourceMappingURL=9816.8b4236ff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/9816.8b4236ff.js","mappings":";uNAWaA,EAAoBC,IAAAA,cAC/B,CAAC,GAGUC,EAAsBA,IACjCD,IAAAA,WAAiBD,GCAZ,SAASG,EAASC,GAAkC,IAAjC,KAAEC,EAAI,MAAEC,GAAuBF,EACvD,OACEH,IAAAA,cAAA,MAAIM,UAAU,cACZN,IAAAA,cAAA,OAAKM,UAAU,oBAAoBF,GACnCJ,IAAAA,cAAA,MAAIM,UAAU,QACXD,EAAME,KAAKC,GACI,QAAdA,EAAKC,KACHT,IAAAA,cAACU,EAAc,CACbC,IAAG,GAAAC,OAAKJ,EAAKC,KAAI,KAAAG,OAAIJ,EAAKK,IAC1BT,KAAMI,EAAKJ,KACXC,MAAOG,EAAKH,QAGdL,IAAAA,cAACc,EAAQ,CAACH,IAAG,GAAAC,OAAKJ,EAAKC,KAAI,KAAAG,OAAIJ,EAAKK,IAAML,KAAMA,OAM5D,CAMA,SAASM,EAAQC,GAA0B,IAAAC,GAAzB,KAAER,GAAqBO,GACjC,iBAAEE,EAAgB,gBAAEC,EAAe,WAAEC,EAAU,UAAEC,GACrDnB,IAEIoB,GAAUC,EAAAA,EAAAA,UAAQ,IAAMF,EAAUZ,IAAO,CAACY,EAAWZ,IAErDe,GAAkBC,EAAAA,EAAAA,cAAY,KAClCL,EAAWX,EAAK,GACf,CAACA,EAAMW,IAEJM,GAAcD,EAAAA,EAAAA,cAAY,KAC9BN,EAAgBV,EAAK,GACpB,CAACA,EAAMU,IAEV,OACElB,IAAAA,cAAA,MACEM,UAAWoB,IAAW,YAAa,CACjCL,UACA,YAAaJ,KAGfjB,IAAAA,cAAC2B,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVC,QAASJ,GACU,QAAdjB,EAAKC,KACN,CACEqB,IAAKtB,EAAKsB,KAEZ,CACEC,KAAMvB,EAAKsB,IACXE,OAAQ,WAGdhC,IAAAA,cAACiC,EAAAA,IAAWL,EAAAA,EAAAA,GAAA,CACVtB,UAAU,YACV4B,IAAI,UACJC,KAAK,oBACa,QAAbnB,EAAAR,EAAK4B,gBAAQ,IAAApB,GAAbA,EAAekB,KAAO1B,EAAK4B,SAASD,MACpCE,EAAAA,EAAAA,MAAK7B,EAAK4B,SAAU,CACnB,MACA,OACA,QACA,WACA,WAEF,OAENpC,IAAAA,cAAA,QAAMM,UAAU,mBAAmBE,EAAKJ,OAE1CJ,IAAAA,cAACiC,EAAAA,GAAW,CACVC,IAAI,KACJI,OAAQjB,EAAU,MAAQ,MAC1Bc,KAAK,OACL7B,UAAU,iBACViC,MAAOlB,EAAU,OAAS,KAC1BQ,QAASN,IAIjB,CAMO,SAASiB,EAAeC,GAAiC,IAAAC,GAAhC,KAAElC,GAA4BiC,GACtD,gBAAEvB,EAAe,WAAEC,GAAelB,IAElCwB,GAAcD,EAAAA,EAAAA,cAAY,KACZ,SAAdhB,EAAKC,MACPS,EAAgBV,EAClB,GACC,CAACA,EAAMU,IAEJyB,GAAmBnB,EAAAA,EAAAA,cAAY,KACnCL,EAAWX,EAAK,GACf,CAACA,EAAMW,IAEV,OACEnB,IAAAA,cAAA,MAAIM,UAAU,qBACZN,IAAAA,cAAC2B,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVC,QAASJ,GACU,QAAdjB,EAAKC,KACN,CACEqB,IAAKtB,EAAKsB,KAEZ,CACEC,KAAMvB,EAAKsB,IACXE,OAAQ,WAGdhC,IAAAA,cAACiC,EAAAA,IAAWL,EAAAA,EAAAA,GAAA,CACVtB,UAAS,oBACT4B,IAAI,UACJC,KAAK,oBACa,QAAbO,EAAAlC,EAAK4B,gBAAQ,IAAAM,GAAbA,EAAeR,KAAO1B,EAAK4B,SAASD,MACpCE,EAAAA,EAAAA,MAAK7B,EAAK4B,SAAU,CACnB,MACA,OACA,QACA,WACA,WAEF,OAENpC,IAAAA,cAAA,QAAMM,UAAU,mBAAmBE,EAAKJ,OAE1CJ,IAAAA,cAACiC,EAAAA,GAAW,CACVC,IAAI,KACJC,KAAK,QACL7B,UAAU,mBACVuB,QAASc,IAIjB,CAOA,SAASjC,EAAckC,GAAuC,IAAtC,KAAExC,EAAI,MAAEC,GAA4BuC,GACpD,UAAEC,GAAc5C,KACf6C,EAAUC,IAAeC,EAAAA,EAAAA,WAAS,IAClCC,EAAmBC,IAAwBF,EAAAA,EAAAA,WAAS,GAErDG,GAAS3B,EAAAA,EAAAA,cAAY,KAErBqB,EACFK,GAAsBE,IAAcA,IAEpCL,GAAaK,IAAcA,GAC7B,GACC,CAACP,KAEJQ,EAAAA,EAAAA,YAAU,KAERH,GAAqB,EAAK,GACzB,CAACL,IAEJ,IAAMS,EAAiBT,EAAYI,EAAoBH,EAEvD,OACE9C,IAAAA,cAAA,MAAIM,UAAU,oBACZN,IAAAA,cAAC2B,EAAAA,GAAW,CAACE,QAASsB,GACpBnD,IAAAA,cAACiC,EAAAA,GAAW,CACVC,IAAI,KACJI,OAAO,MACPH,KAAK,cACL7B,UAAU,cAEZN,IAAAA,cAAA,QAAMM,UAAU,mBAAmBF,GACnCJ,IAAAA,cAACiC,EAAAA,GAAW,CACVC,IAAI,OACJC,KAAMmB,EAAiB,KAAO,OAC9BhD,UAAU,sBAGdN,IAAAA,cAAA,MAAIM,UAAWoB,IAAW,WAAY,CAAEoB,SAAUQ,KAC/CjD,EAAME,KAAKC,GACVR,IAAAA,cAACc,EAAQ,CAACH,IAAG,GAAAC,OAAKJ,EAAKC,KAAI,KAAAG,OAAIJ,EAAKK,IAAML,KAAMA,OAK1D,CCtMO,SAAS+C,EAASpD,GAAmC,IAAlC,OAAEqD,GAA8BrD,EAClDsD,GAAiBC,EAAAA,EAAAA,QAAyB,MAC1CC,GAAuBnC,EAAAA,EAAAA,cAAY,KAAM,IAAAoC,EACvB,QAAtBA,EAAAH,EAAeI,eAAO,IAAAD,GAAtBA,EAAwBE,OAAO,GAC9B,KAEG,QACJC,EAAO,EACPC,EAAC,KACDC,EAAI,WACJC,EAAU,UACVC,EAAS,iBACTlD,EAAgB,aAChBmD,EAAY,gBACZlD,EAAe,WACfC,EAAU,UACVC,IACEiD,EAAAA,EAAAA,IAAiBb,GACfX,IAAcmB,EAEdM,GAAe9C,EAAAA,EAAAA,cAClB+C,IACCN,EAAKM,EAAEvC,OAAOwC,MAAM,GAEtB,CAACP,IAGGQ,GAAcjD,EAAAA,EAAAA,cAAY,KAC9ByC,EAAK,GAAG,GACP,CAACA,IAEJ,OACEjE,IAAAA,cAAA,OAAKM,UAAWoB,IAAW,YAAa,CAAE8B,YACxCxD,IAAAA,cAACD,EAAkB2E,SAAQ,CACzBF,MAAO,CACL3B,YACA5B,mBACAC,kBACAC,aACAC,cAGFpB,IAAAA,cAAA,OAAKM,UAAU,WACbN,IAAAA,cAAA,OAAKM,UAAU,aACbN,IAAAA,cAAA,OAAKM,UAAU,mBAAkB,QAEjCN,IAAAA,cAAA,MAAIM,UAAU,gBACX6D,EAAU5D,KAAI,CAACC,EAAMmE,IACpB3E,IAAAA,cAACwC,EAAe,CACd7B,IAAKgE,EACLnE,KAAMA,SAMhBR,IAAAA,cAAA,OAAKM,UAAWoB,IAAW,UAAW,CAAEqC,aACtC/D,IAAAA,cAAC4E,EAAO,CAACb,QAASA,IAClB/D,IAAAA,cAAA,OAAKM,UAAU,aAAauB,QAAS8B,GACnC3D,IAAAA,cAACiC,EAAAA,GAAW,CACVC,IAAI,KACJC,KAAK,mBACL7B,UAAU,gBAEZN,IAAAA,cAAA,SACE6E,IAAKpB,EACLqB,YAAY,UACZN,MAAOR,EACPe,SAAUT,EACVhE,UAAU,iBAEZN,IAAAA,cAACiC,EAAAA,GAAW,CACVC,IAAI,OACJ8C,MAAM,SACN7C,KAAK,eACL7B,UAAWoB,IAAW,eAAgB,CAAEmB,cACxChB,QAAS4C,KAGbzE,IAAAA,cAAA,OAAKM,UAAWoB,IAAW,CAAEuD,MAA+B,IAAxBb,EAAac,UAC/ClF,IAAAA,cAAA,OAAKM,UAAU,uBAAsB,QACrCN,IAAAA,cAAA,MAAIM,UAAU,iBACX8D,EAAa7D,KAAI,CAACC,EAAMmE,IACvB3E,IAAAA,cAAA,MAAIW,IAAKgE,GACP3E,IAAAA,cAAC2B,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVC,QAASA,IAAMX,EAAgBV,IACZ,QAAdA,EAAKC,KACN,CACEqB,IAAKtB,EAAKsB,KAEZ,CACEC,KAAMvB,EAAKsB,IACXE,OAAQ,WAGdhC,IAAAA,cAAA,YAAOQ,EAAKJ,YAMtBJ,IAAAA,cAAA,MAAIM,UAAU,eACX4D,EAAW3D,KAAK4E,GACfnF,IAAAA,cAACE,EAAS,CACRS,IAAKwE,EAAM/E,KACXA,KAAM+E,EAAM/E,KACZC,MAAO8E,EAAM9E,aAQ7B,CAEA,SAASuE,EAAO7D,GAAoC,IAAnC,QAAEgD,GAA+BhD,EAChD,OACEgD,GACE/D,IAAAA,cAAA,OAAKM,UAAU,WACbN,IAAAA,cAACiC,EAAAA,GAAW,CAACC,IAAI,KAAKC,KAAK,UAAUiD,UAAQ,IAIrD,yKC7HWC,EAA6C,WACtD,IAAIlF,GAAO,QAAkB,UAAWmF,EAAQC,GAC9C,aAA0F,EAAAC,KAAKC,IAAI,mFAAmF,QAAc,OAAc,CAAC,EAAGF,GAAU,CAAC,EAAG,CAChOD,aAEJ,IACF,IACA,OAAO,SAAuCI,EAAIC,GAChD,OAAOxF,EAAKyF,MAAMC,KAAMC,UAC1B,CACF,CAVwD,GCD7CC,EAA+C,WACxD,IAAI5F,GAAO,QAAkB,UAAW6F,EAAMT,GAC5C,aAA4F,EAAAC,KAAKS,KAAK,oFAAqFD,EAAMT,IACjM,IACF,IACA,OAAO,SAAyCG,EAAIC,GAClD,OAAOxF,EAAKyF,MAAMC,KAAMC,UAC1B,CACF,CAR0D,GCA/CI,EAAkC,CAACC,EAAYZ,IAAyF,EAAAC,KAAKY,OAAO,qFAAqFxF,OAAOuF,GAAaZ,GCN3Pc,EAAkB,GAClBC,EAAsB,GC4FlC,SAAAC,IAAA,OAAAA,GAAAC,EAAAA,EAAAA,IAzEM,YACL,IAAMC,QAAsBC,EAAAA,EAAAA,GAC1B,CAAC,EACD,CACEC,kBAAmB,CAAEC,kBAAkB,GACvCC,sBAAsB,IAIpBC,EAAgB,IAAIC,IAC1B,IAAK,IAAMC,KAAcP,EAAcQ,YAA6B,CAClE,IAAMC,EAAMF,EAAWE,IACvBC,EAAwBD,GACxBJ,EAAcM,IAAIF,EAAIrG,GAAIqG,EAC5B,CAEA,IAAMhD,EAA8B,GAC9BmD,EAAkB,IAAIN,IAE5B,IAAK,IAAM5B,KAASsB,EAAca,SAAwC,CACxE,IAAMjH,EAAwB,GAC9B,IAAK,IAAMG,KAAQ2E,EAAM9E,MACvB,OAAQG,EAAKC,MACX,IAAK,MACH,IAAMyG,EAAMJ,EAAcrB,IAAIjF,EAAKK,IAC/BqG,GACF7G,EAAMkH,MAAIC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACPhH,GAAI,IACPJ,KAAM8G,EAAIO,WACV3F,IAAKoF,EAAIQ,SACTtF,SAAU8E,EAAI9E,YAGlB,MAEF,IAAK,SACH/B,EAAMkH,KAAK/G,GACX6G,EAAgBD,IAAI5G,EAAKK,GAAIL,GAC7B,MACF,IAAK,MACH,IAAMmH,EAAiC,GACvC,IAAK,IAAMC,KAAWpH,EAAKH,MACzB,GAAqB,QAAjBuH,EAAQnH,KAAgB,CAC1B,IAAMyG,EAAMJ,EAAcrB,IAAImC,EAAQ/G,IAClCqG,GACFS,EAASJ,MAAIC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACVI,GAAO,IACVxH,KAAM8G,EAAIO,WACV3F,IAAKoF,EAAIQ,SACTtF,SAAU8E,EAAI9E,WAGpB,KAA4B,WAAjBwF,EAAQnH,OACjBkH,EAASJ,KAAKK,GACdP,EAAgBD,IAAIQ,EAAQ/G,GAAI+G,IAGhCD,EAASzC,OAAS,GACpB7E,EAAMkH,MAAIC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACPhH,GAAI,IACPH,MAAOsH,KAObtH,EAAM6E,OAAS,GACjBhB,EAAWqD,MAAIC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIrC,GAAK,IAAE9E,UAEhC,CAEA,MAAO,CAAE6D,aAAY4C,gBAAeO,kBACtC,KAACzB,MAAA,KAAAE,UAAA,CAED,SAASqB,EACPD,GAEA,GAAIA,EAAIW,QAAS,KAAAC,EACTC,EAAWC,OAAOC,YACtBD,OAAOE,QAAQhB,EAAIW,SAChBM,QAAOhI,IAAA,IAAEiI,EAAMC,GAAUlI,EAAA,OAAKkI,EAAUjI,IAAI,IAC5CG,KAAIQ,IAAA,IAAEqH,EAAMC,GAAUtH,EAAA,MAAK,CAACqH,EAAMC,EAAUjI,KAAK,KAEtD8G,EAAIO,WAA+B,QAArBK,GAAGQ,EAAAA,EAAAA,UAASP,UAAS,IAAAD,EAAAA,EAAIZ,EAAI9G,IAC7C,MACE8G,EAAIO,WAAaP,EAAI9G,IAEzB,CAAC,SAEcmI,IAAiB,OAAAC,EAAA5C,MAAC,KAADE,UAAA,UAAA0C,IAU/B,OAV+BA,GAAAhC,EAAAA,EAAAA,IAAhC,YACE,aACQnB,EACJ,CAAEoD,KAAM,EAAGC,SAAUrC,GACrB,CACEM,kBAAmB,CAAEC,kBAAkB,GACvCC,sBAAsB,KAG1B8B,IACJ,KAAC/C,MAAA,KAAAE,UAAA,CA0CA,SAAA8C,IAAA,OAAAA,GAAApC,EAAAA,EAAAA,IAxCM,YACL,IAAMmC,QAAaJ,IACbM,EAAwB,GAC9B,IAAK,IAAMC,KAAOH,EAChB,GAAiB,aAAbG,EAAIrI,KAAqB,CAC3B,IAAMyG,EAAM4B,EAAIC,WAGhB5B,EAAwBD,GACxB2B,EAAOtB,KAAK,CACVyB,WAAYF,EAAI3C,WAChB1F,KAAM,MACNL,KAAM8G,EAAIO,WACV5G,GAAIqG,EAAI+B,MACRnH,IAAKoF,EAAIQ,SACTvB,WAAYe,EAAIf,WAChB/D,SAAU8E,EAAI9E,UAElB,MAAO,GAAiB,eAAb0G,EAAIrI,KAAuB,CACpC,IAAMyI,EAAaJ,EAAIK,kBACvBN,EAAOtB,KAAK,CACVyB,WAAYF,EAAI3C,WAChB1F,KAAM,SACNL,KAAM8I,EAAW9I,KACjBS,GAAIqI,EAAWrI,GACfiB,IAAKoH,EAAWpH,IAChBM,SAAU8G,EAAW9G,UAEzB,KAAwB,SAAb0G,EAAIrI,MACboI,EAAOtB,KAAK,CACVyB,WAAYF,EAAI3C,WAChB1F,KAAM,OACNL,KAAM0I,EAAI1I,KAEV0B,IAAKgH,EAAIM,KACThH,SAAU0G,EAAI3G,OAIpB,OAAO0G,CACT,KAACjD,MAAA,KAAAE,UAAA,CAcA,SAAAuD,IAAA,OAAAA,GAAA7C,EAAAA,EAAAA,IAZM,UACLhG,GAEA,OAAOuF,EACL,CACEtF,KAAoB,QAAdD,EAAKC,KAAiB,WAAa,aACzC6I,kBAAmB9I,EAAK2F,YAE1B,CACEQ,kBAAmB,CAAEC,kBAAkB,IAG7C,KAAChB,MAAA,KAAAE,UAAA,CAoBA,SAAAyD,IAAA,OAAAA,GAAA/C,EAAAA,EAAAA,IAlBM,UAA4BhG,GACjC,OAAIA,EAAKwI,WACA9C,EAAgC1F,EAAKwI,YAGvCT,IAAoBiB,MAAMb,IAAS,IAAAc,EAClCC,EAIL,QAJYD,EAAGd,EAAKgB,MAAMb,IAAG,IAAAc,EAAAC,EAAA,MACd,QAAdrJ,EAAKC,KACY,aAAbqI,EAAIrI,OAAqC,QAAdmJ,EAAAd,EAAIC,kBAAU,IAAAa,OAAA,EAAdA,EAAgBX,SAAUzI,EAAKK,GAC5C,WAAdL,EAAKC,OAA0C,QAArBoJ,EAAAf,EAAIK,yBAAiB,IAAAU,OAAA,EAArBA,EAAuBhJ,MAAOL,EAAKK,EAAE,WACpE,IAAA4I,OAAA,EAJeA,EAIbtD,WAEH,GAAIuD,EACF,OAAOxD,EAAgCwD,GAGzCI,QAAQC,MAAM,iCAAkCvJ,EAAK,GAEzD,KAACoF,MAAA,KAAAE,UAAA,CChJD,SAASkE,EAAiBxJ,EAAuByJ,GAC/C,OAAOzJ,EAAKK,GAAGqJ,cAAcC,SAASF,IACpCzJ,EAAKJ,KAAK8J,cAAcC,SAASF,GAC/BzJ,EACA,IACN,CAEA,SAAS4J,EAAoB5J,EAA0ByJ,GACrD,OAAOzJ,EAAKK,GAAGqJ,cAAcC,SAASF,IACpCzJ,EAAKJ,KAAK8J,cAAcC,SAASF,GAC/BzJ,EACA,IACN,CCxCA,IAAM6J,EAAa,2BAAHzJ,OACA,QADA0J,EACdC,EAAAA,KAAKC,iBAAS,IAAAF,OAAA,EAD8BA,EAE3CG,KACGC,EAAU,IAAIC,EAAAA,EAAYC,cAE5BC,EAAqC,GACrCC,EAAyB,IAAI/D,IAC7BgE,EAA2B,IAAIhE,IAC/BiE,GAAY,EAEZC,EAAoC,GACpCC,GAAqB,EAEZC,EAAwB,IAAIC,EAAAA,GAAe5E,EAAAA,EAAAA,IAAC,cAErDtC,WAAY2G,EACZ/D,cAAegE,EACfzD,gBAAiB0D,SFrBd,WAAiC,OAAAxE,EAAAX,MAAC,KAADE,UAAA,CEsB5BuF,IACVL,GAAY,CACd,KAEaM,EAAoB,IAAIF,EAAAA,GAAe5E,EAAAA,EAAAA,IAAC,YACnDyE,QF2EK,WAA6B,OAAArC,EAAAhD,MAAC,KAADE,UAAA,CE3EPyF,GAC3BL,GAAqB,CACvB,KAEMM,EAA2BzB,IAC/B0B,EAAAA,EAAAA,IAAiB,CACfhL,KAAM,QACNiL,SAASC,EAAAA,EAAAA,mBAAkB5B,KAUxB,SAAS1F,EAAiBb,GAC/B,IAAO8D,EAAUsE,IAAe5I,EAAAA,EAAAA,UAAS6H,IAClC/D,EAAe+E,IAAoB7I,EAAAA,EAAAA,UAAS8H,IAC5CzD,EAAiByE,IAAsB9I,EAAAA,EAAAA,UAC5C+H,IAGK/G,EAAGC,IAAQjB,EAAAA,EAAAA,UAAS,KAEpBe,EAASgI,IAAc/I,EAAAA,EAAAA,WAAUgI,IACjC/J,EAAkB+K,IAAuBhJ,EAAAA,EAAAA,WAAUkI,IAEnDe,EAAoBC,IAAyBlJ,EAAAA,EAAAA,UAElD,KAEKoB,EAAc+H,IAAmBnJ,EAAAA,EAAAA,UAA+B,KAEhEmB,EAAWiI,IAAgBpJ,EAAAA,EAAAA,UAAwBiI,IAE1D5H,EAAAA,EAAAA,YAAU,KAEJG,IAAWO,IACb6H,EAAYf,GACZgB,EAAiBf,GACjBgB,EAAmBf,GACrB,GACC,CAACvH,EAAQO,KAEZV,EAAAA,EAAAA,YAAU,KACJG,IAAWvC,GACbmL,EAAanB,EACf,GACC,CAACzH,EAAQvC,KAEZoC,EAAAA,EAAAA,YAAU,KACI,IAAAgJ,EAAR7I,GACF0I,EAAiD,QAA5BG,EAAC3B,EAAQ4B,QAAQjC,UAAW,IAAAgC,EAAAA,EAAI,GACvD,GACC,CAAC7I,KAEJH,EAAAA,EAAAA,YAAU,KACR,GAAIG,EAAQ,CACV,IAAM+I,EAAuB,eAAA9J,GAAA+D,EAAAA,EAAAA,IAAG,YAC9B,UACQ2E,EAAsBqB,QAC5BT,GAAW,EACb,CAAE,MAAOhC,IACP0C,EAAAA,EAAAA,iBAAgB1C,EAClB,CACF,IAAC,kBAP4B,OAAAtH,EAAAmD,MAAA,KAAAE,UAAA,KAQ7ByG,GACF,IACC,CAAC/I,KAEJH,EAAAA,EAAAA,YAAU,KACR,GAAIG,EAAQ,CACV,IAAMkJ,EAAmB,eAAA9J,GAAA4D,EAAAA,EAAAA,IAAG,YAC1B,UACQ8E,EAAkBkB,QACxBR,GAAoB,EACtB,CAAE,MAAOjC,GACPiC,GAAoB,GACpBR,EAAwBzB,EAC1B,CACF,IAAC,kBARwB,OAAAnH,EAAAgD,MAAA,KAAAE,UAAA,KASzB4G,GACF,IACC,CAAClJ,KAEJH,EAAAA,EAAAA,YAAU,KACR,IAAIU,EAAJ,CAGA,IAAM4I,EAASV,EACZ1L,KAAKC,IAEJ,GAAkB,QAAdA,EAAKC,KAAgB,CACvB,IAAMyG,EAAMJ,EAAcrB,IAAIjF,EAAKK,IACnC,OAAOqG,EACH,CACEzG,KAAM,MACNL,KAAM8G,EAAIO,WACV5G,GAAIqG,EAAIrG,GACRiB,IAAKoF,EAAIQ,SACTvB,WAAYe,EAAIf,WAChB/D,SAAU8E,EAAI9E,UAEhB,IACN,CACA,OAAOiF,EAAgB5B,IAAIjF,EAAKK,GAAG,IAEpCsH,OAAOyE,SACVT,EAAgBQ,EApBhB,CAoBuB,GACtB,CAACtF,EAAiBtD,EAAS+C,EAAemF,IAE7C,IAAM/K,GAAkBM,EAAAA,EAAAA,cAAYqL,IAAkC,IAAAC,GAAjC,KAAErM,EAAI,GAAEI,GAAoBgM,EACzDF,EAAsD,QAA9BG,EAAGpC,EAAQ4B,QAAQjC,UAAW,IAAAyC,EAAAA,EAAI,GAC1DnI,EAAQgI,EAAOI,WAClBC,GAAUA,EAAMvM,OAASA,GAAQuM,EAAMnM,KAAOA,IAE7C8D,GAAS,GACXgI,EAAOM,OAAOtI,EAAO,GAEvBgI,EAAOO,QAAQ,CAAEzM,OAAMI,OACnB8L,EAAOzH,OAASoB,GAClBqG,EAAOQ,MAGTzC,EAAQ0C,QAAQ/C,EAAYsC,EAAO,GAClC,IAEGvL,GAAYI,EAAAA,EAAAA,cACfhB,GACC2D,EAAUkJ,MAAMvE,GAAQwE,EAAc9M,EAAMsI,MAC9C,CAAC3E,IAGGhD,GAAaK,EAAAA,EAAAA,cAChBhB,IACC,IAKI+M,EALE5I,EAAQR,EAAU4I,WAAWjE,GACnB,SAAdtI,EAAKC,KACDqI,EAAIE,aAAexI,EAAKwI,WACxBsE,EAAc9M,EAAMsI,KAG1B,GAAInE,GAAS,EAAG,CACd,IAAM6I,EAAUrJ,EAAUQ,GAC1B4I,EAAepJ,EACZsJ,MAAM,EAAG9I,GACT/D,OAAOuD,EAAUsJ,MAAM9I,EAAQ,IFhBnC,SAA2BgB,GAAA,OAAA4D,EAAA3D,MAAC,KAADE,UAAA,CEiB1B4H,CAAaF,GAASG,MAAMnC,EAC9B,KAAO,CACL,GAAIrH,EAAUe,QAAUmB,EAMtB,YALAuH,EAAAA,EAAAA,IAAW,CACTnN,KAAM,OACN8B,MAAO,WACPsL,QAAS,gBAAFjN,OAAkByF,EAAe,qBAK5C,IAAMyC,GAAgBtB,EAAAA,EAAAA,GAAA,GAAShH,GAC/B+M,EAAepJ,EAAUvD,OAAOkI,GF3CjC,SAAuBpD,GAAA,OAAA2D,EAAAzD,MAAC,KAADE,UAAA,CE4CtBgI,CAAStN,GAA4BgJ,MAAMuE,IACrCA,IACFjF,EAAIE,WAAa+E,EAAO5H,WAC1B,GACCqF,EACL,CACAY,EAAamB,GACbtC,EAAqBsC,CAAY,GAEnC,CAACpJ,IAGGD,GAA8B5C,EAAAA,EAAAA,UAClC,IDtNG,SACL0M,EACAhK,GAEA,IAAKA,EACH,OAAOgK,EAET,IAAM/D,EAASjG,EAAEkG,cAmCjB,OAlCgC8D,EAC7BzN,KAAK4E,IAAKqC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACNrC,GAAK,IACR9E,MAAO8E,EAAM9E,MACVE,KAAKC,IACJ,OAAQA,EAAKC,MACX,IAAK,MACH,OAAOuJ,EAAiBxJ,EAAMyJ,GAChC,IAAK,SACH,OAAOG,EAAoB5J,EAAMyJ,GACnC,IAAK,MACH,IAAMgE,EAAmBzN,EAAKH,MAC3BE,KAAK2N,GACS,QAAbA,EAAIzN,KACAuJ,EAAiBkE,EAAKjE,GACT,WAAbiE,EAAIzN,KACJ2J,EAAoB8D,EAAKjE,GACzB,OAEL9B,OAAOyE,SACV,OAAOqB,EAAiB/I,OAAS,GAACsC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAEzBhH,GAAI,IACPH,MAAO4N,IAET,KAER,IAGD9F,OAAOyE,aAGXzE,QAAQhD,GAAUA,EAAM9E,MAAM6E,OAAS,GAE5C,CC2KUiJ,CAAO7G,EAAUtD,IACvB,CAACsD,EAAUtD,IAGb,MAAO,CACLD,UACAC,IACAC,OACAC,aACAjD,mBACAkD,YACAC,eACAlD,kBACAE,YACAD,aAEJ,CAEO,SAASmM,EAAc9M,EAA0BsI,GACtD,OAAOtI,EAAK2F,YAAc2C,EAAI3C,WAC1B2C,EAAI3C,aAAe3F,EAAK2F,WACxB2C,EAAIrI,OAASD,EAAKC,MAAQqI,EAAIjI,KAAOL,EAAKK,EAChD,uFCzOaoB,GAAcmM,EAAAA,EAAAA,WAAyC,WACvDzM,GAAcyM,EAAAA,EAAAA,WAA2B,WAGzCR,GACXS,EAAAA,EAAAA,gBAAmC,qBAExB5C,GAAmB4C,EAAAA,EAAAA,gBAC9B,yHCdEC,EAAgC,IAAIC,IAAI,aACxCC,EAA0B,IAA4B,KACtDC,EAAqC,IAAgCH,GAEzEE,EAAwBjH,KAAK,CAACmH,EAAO7N,GAAI,i7CAE+sB4N,+wIAsChtB,KAExC,QAAeD,EAAwBG,qBChDvCD,EAAOE,QAAU,SAAU9M,EAAKyD,GAI9B,OAHKA,IACHA,EAAU,CAAC,GAERzD,GAGLA,EAAM+M,OAAO/M,EAAIgN,WAAahN,EAAIiN,QAAUjN,GAGxC,eAAekN,KAAKlN,KACtBA,EAAMA,EAAI2L,MAAM,GAAI,IAElBlI,EAAQ0J,OACVnN,GAAOyD,EAAQ0J,MAKb,oBAAoBD,KAAKlN,IAAQyD,EAAQ2J,WACpC,IAAKtO,OAAOkB,EAAIqN,QAAQ,KAAM,OAAOA,QAAQ,MAAO,OAAQ,KAE9DrN,GAjBEA,CAkBX","sources":["webpack:///./src/launchpad-button-v2/LaunchpadContext.ts","webpack:///./src/launchpad-button-v2/MenuGroup.tsx","webpack:///./src/launchpad-button-v2/Launchpad.tsx","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/listCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/createCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/deleteCollectionV2.js","webpack:///./src/launchpad-button-v2/constants.ts","webpack:///./src/launchpad-button-v2/api.ts","webpack:///./src/launchpad-button-v2/search.ts","webpack:///./src/launchpad-button-v2/useLaunchpadInfo.ts","webpack:///./src/launchpad-button-v2/wrapped-bricks.ts","webpack:///./src/launchpad-button-v2/styles.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js"],"sourcesContent":["import React from \"react\";\nimport type { MenuItemDataLink, MenuItemDataNormal } from \"./interfaces\";\n\nexport interface LaunchpadContextData {\n searching: boolean;\n loadingFavorites: boolean;\n pushRecentVisit(item: MenuItemDataNormal): void;\n toggleStar(item: MenuItemDataNormal | MenuItemDataLink): void;\n isStarred(item: MenuItemDataNormal): boolean;\n}\n\nexport const LaunchpadsContext = React.createContext<LaunchpadContextData>(\n {} as LaunchpadContextData\n);\n\nexport const useLaunchpadContext = (): LaunchpadContextData =>\n React.useContext(LaunchpadsContext);\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadContext } from \"./LaunchpadContext\";\nimport type {\n MenuItemData,\n MenuItemDataNormal,\n SidebarMenuItemData,\n} from \"./interfaces\";\n\nexport interface MenuGroupProps {\n name: string;\n items: MenuItemData[];\n}\n\nexport function MenuGroup({ name, items }: MenuGroupProps) {\n return (\n <li className=\"menu-group\">\n <div className=\"menu-group-label\">{name}</div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={`${item.type}-${item.id}`}\n name={item.name}\n items={item.items}\n />\n ) : (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n item: MenuItemDataNormal;\n}\n\nfunction MenuItem({ item }: MenuItemProps) {\n const { loadingFavorites, pushRecentVisit, toggleStar, isStarred } =\n useLaunchpadContext();\n\n const starred = useMemo(() => isStarred(item), [isStarred, item]);\n\n const handleStarClick = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n const handleClick = useCallback(() => {\n pushRecentVisit(item);\n }, [item, pushRecentVisit]);\n\n return (\n <li\n className={classNames(\"menu-item\", {\n starred,\n \"can-star\": !loadingFavorites,\n })}\n >\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <WrappedIcon\n className=\"menu-icon\"\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n <WrappedIcon\n lib=\"fa\"\n prefix={starred ? \"fas\" : \"far\"}\n icon=\"star\"\n className=\"menu-item-star\"\n title={starred ? \"取消收藏\" : \"收藏\"}\n onClick={handleStarClick}\n />\n </li>\n );\n}\n\nexport interface SidebarMenuItemProps {\n item: SidebarMenuItemData;\n}\n\nexport function SidebarMenuItem({ item }: SidebarMenuItemProps) {\n const { pushRecentVisit, toggleStar } = useLaunchpadContext();\n\n const handleClick = useCallback(() => {\n if (item.type !== \"link\") {\n pushRecentVisit(item);\n }\n }, [item, pushRecentVisit]);\n\n const handleRemoveStar = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n return (\n <li className=\"sidebar-menu-item\">\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <WrappedIcon\n className={`sidebar-menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n <WrappedIcon\n lib=\"fa\"\n icon=\"xmark\"\n className=\"menu-item-remove\"\n onClick={handleRemoveStar}\n />\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n name: string;\n items: MenuItemDataNormal[];\n}\n\nfunction MenuItemFolder({ name, items }: MenuItemFolderProps) {\n const { searching } = useLaunchpadContext();\n const [expanded, setExpanded] = useState(false);\n const [searchingExpanded, setSearchingExpanded] = useState(false);\n\n const toggle = useCallback(() => {\n // Use separated expanded states for searching and non-searching.\n if (searching) {\n setSearchingExpanded((previous) => !previous);\n } else {\n setExpanded((previous) => !previous);\n }\n }, [searching]);\n\n useEffect(() => {\n // Each time when start searching, set it as expanded.\n setSearchingExpanded(true);\n }, [searching]);\n\n const actualExpanded = searching ? searchingExpanded : expanded;\n\n return (\n <li className=\"menu-item folder\">\n <WrappedLink onClick={toggle}>\n <WrappedIcon\n lib=\"fa\"\n prefix=\"far\"\n icon=\"folder-open\"\n className=\"menu-icon\"\n />\n <span className=\"menu-item-label\">{name}</span>\n <WrappedIcon\n lib=\"antd\"\n icon={actualExpanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n <ul className={classNames(\"sub-menu\", { expanded: actualExpanded })}>\n {items.map((item) => (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n ))}\n </ul>\n </li>\n );\n}\n","import React, { useCallback, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadInfo } from \"./useLaunchpadInfo.js\";\nimport { MenuGroup, SidebarMenuItem } from \"./MenuGroup.js\";\nimport { LaunchpadsContext } from \"./LaunchpadContext.js\";\nimport { SidebarMenuItemData } from \"./interfaces\";\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 <LaunchpadsContext.Provider\n value={{\n searching,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n }}\n >\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 <SidebarMenuItem\n key={index}\n item={item as SidebarMenuItemData}\n />\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 <WrappedLink\n onClick={() => pushRecentVisit(item)}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <span>{item.name}</span>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </div>\n <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 </div>\n </LaunchpadsContext.Provider>\n </div>\n );\n}\n\nfunction Loading({ loading }: { loading: boolean }) {\n return (\n loading && (\n <div className=\"spinner\">\n <WrappedIcon lib=\"fa\" icon=\"spinner\" spinning />\n </div>\n )\n );\n}\n","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取我的收藏列表V2\n * @endpoint LIST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_listCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.launchpad.ListCollectionV2@1.0.0 */(yield http.get(\"api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function LaunchpadApi_listCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listCollectionV2.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 新增我的收藏V2\n * @endpoint POST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_createCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.user_service.launchpad.CreateCollectionV2@1.0.0 */(yield http.post(\"api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection\", data, options)).data\n );\n });\n return function LaunchpadApi_createCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=createCollectionV2.js.map","import { http } from \"@next-core/http\";\n\n/**\n * @description 删除我的收藏V2\n * @endpoint DELETE /api/v2/launchpad/collection/:instanceId\n */\nexport var LaunchpadApi_deleteCollectionV2 = (instanceId, options) => /**! @contract easyops.api.user_service.launchpad.DeleteCollectionV2@1.0.0 */http.delete(\"api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/\".concat(instanceId), options);\n//# sourceMappingURL=deleteCollectionV2.js.map","export const FAVORITES_LIMIT = 10;\nexport const RECENT_VISITS_LIMIT = 10;\n","import type { I18nData, MicroApp, Storyboard } from \"@next-core/types\";\nimport { i18nText } from \"@next-core/i18n\";\nimport { LaunchpadApi_getLaunchpadInfo } from \"@next-api-sdk/micro-app-standalone-sdk\";\nimport {\n LaunchpadApi_createCollectionV2,\n LaunchpadApi_deleteCollectionV2,\n LaunchpadApi_listCollectionV2,\n} from \"@next-api-sdk/user-service-sdk\";\nimport type {\n FavMenuItem,\n MenuGroupData,\n MenuItemData,\n MenuItemDataApp,\n MenuItemDataCustom,\n MenuItemDataDir,\n MenuItemDataNormal,\n MicroAppWithInstanceId,\n} from \"./interfaces\";\nimport { FAVORITES_LIMIT } from \"./constants\";\n\nexport async function fetchLaunchpadInfo() {\n const launchpadInfo = await LaunchpadApi_getLaunchpadInfo(\n {},\n {\n interceptorParams: { ignoreLoadingBar: true },\n noAbortOnRouteChange: true,\n }\n );\n\n const microAppsById = new Map<string, MicroAppWithInstanceId>();\n for (const storyboard of launchpadInfo.storyboards as Storyboard[]) {\n const app = storyboard.app as unknown as MicroAppWithInstanceId;\n initializeAppLocaleName(app);\n microAppsById.set(app.id, app);\n }\n\n const menuGroups: MenuGroupData[] = [];\n const customLinksById = new Map<string, MenuItemDataCustom>();\n\n for (const group of launchpadInfo.desktops as unknown as MenuGroupData[]) {\n const items: MenuItemData[] = [];\n for (const item of group.items) {\n switch (item.type) {\n case \"app\": {\n const app = microAppsById.get(item.id);\n if (app) {\n items.push({\n ...item,\n name: app.localeName,\n url: app.homepage,\n menuIcon: app.menuIcon,\n } as MenuItemDataApp);\n }\n break;\n }\n case \"custom\":\n items.push(item);\n customLinksById.set(item.id, item);\n break;\n case \"dir\": {\n const subItems: MenuItemDataNormal[] = [];\n for (const subItem of item.items) {\n if (subItem.type === \"app\") {\n const app = microAppsById.get(subItem.id);\n if (app) {\n subItems.push({\n ...subItem,\n name: app.localeName,\n url: app.homepage,\n menuIcon: app.menuIcon,\n } as MenuItemDataApp);\n }\n } else if (subItem.type === \"custom\") {\n subItems.push(subItem as MenuItemDataCustom);\n customLinksById.set(subItem.id, subItem);\n }\n }\n if (subItems.length > 0) {\n items.push({\n ...item,\n items: subItems,\n } as MenuItemDataDir);\n }\n break;\n }\n }\n }\n if (items.length > 0) {\n menuGroups.push({ ...group, items });\n }\n }\n\n return { menuGroups, microAppsById, customLinksById };\n}\n\nfunction initializeAppLocaleName(\n app: Pick<MicroApp, \"locales\" | \"name\" | \"localeName\">\n) {\n if (app.locales) {\n const i18nData = Object.fromEntries(\n Object.entries(app.locales)\n .filter(([lang, resources]) => resources.name)\n .map(([lang, resources]) => [lang, resources.name])\n ) as I18nData;\n app.localeName = i18nText(i18nData) ?? app.name;\n } else {\n app.localeName = app.name;\n }\n}\n\nasync function fetchRawFavorites() {\n return (\n await LaunchpadApi_listCollectionV2(\n { page: 1, pageSize: FAVORITES_LIMIT },\n {\n interceptorParams: { ignoreLoadingBar: true },\n noAbortOnRouteChange: true,\n }\n )\n ).list;\n}\n\nexport async function fetchFavorites() {\n const list = await fetchRawFavorites();\n const stored: FavMenuItem[] = [];\n for (const fav of list) {\n if (fav.type === \"microApp\") {\n const app = fav.relatedApp as Omit<MicroAppWithInstanceId, \"id\"> & {\n appId: string;\n };\n initializeAppLocaleName(app);\n stored.push({\n favoriteId: fav.instanceId,\n type: \"app\",\n name: app.localeName,\n id: app.appId,\n url: app.homepage,\n instanceId: app.instanceId,\n menuIcon: app.menuIcon,\n } as FavMenuItem);\n } else if (fav.type === \"customItem\") {\n const customItem = fav.relatedCustomItem!;\n stored.push({\n favoriteId: fav.instanceId,\n type: \"custom\",\n name: customItem.name,\n id: customItem.id,\n url: customItem.url,\n menuIcon: customItem.menuIcon,\n } as FavMenuItem);\n } else if (fav.type === \"link\") {\n stored.push({\n favoriteId: fav.instanceId,\n type: \"link\",\n name: fav.name,\n // id: fav.id,\n url: fav.link,\n menuIcon: fav.icon,\n } as FavMenuItem);\n }\n }\n return stored;\n}\n\nexport async function favorite(\n item: MenuItemDataNormal\n): Promise<{ instanceId?: string }> {\n return LaunchpadApi_createCollectionV2(\n {\n type: item.type === \"app\" ? \"microApp\" : \"customItem\",\n relatedInstanceId: item.instanceId,\n },\n {\n interceptorParams: { ignoreLoadingBar: true },\n }\n );\n}\n\nexport async function undoFavorite(item: FavMenuItem) {\n if (item.favoriteId) {\n return LaunchpadApi_deleteCollectionV2(item.favoriteId);\n }\n\n return fetchRawFavorites().then((list) => {\n const foundId = list.find((fav) =>\n item.type === \"app\"\n ? fav.type === \"microApp\" && fav.relatedApp?.appId === item.id\n : item.type === \"custom\" && fav.relatedCustomItem?.id === item.id\n )?.instanceId;\n\n if (foundId) {\n return LaunchpadApi_deleteCollectionV2(foundId);\n }\n // eslint-disable-next-line no-console\n console.error(\"Menu item to unstar not found:\", item);\n });\n}\n","import type {\n MenuGroupData,\n MenuItemData,\n MenuItemDataApp,\n MenuItemDataCustom,\n} from \"./interfaces\";\n\nexport function search(\n allMenuGroups: MenuGroupData[],\n q: string\n): MenuGroupData[] {\n if (!q) {\n return allMenuGroups;\n }\n const lowerQ = q.toLowerCase();\n const groups: MenuGroupData[] = allMenuGroups\n .map((group) => ({\n ...group,\n items: group.items\n .map((item) => {\n switch (item.type) {\n case \"app\":\n return matchMenuItemApp(item, lowerQ);\n case \"custom\":\n return matchMenuItemCustom(item, lowerQ);\n case \"dir\": {\n const filteredSubItems = item.items\n .map((sub) =>\n sub.type === \"app\"\n ? matchMenuItemApp(sub, lowerQ)\n : sub.type === \"custom\"\n ? matchMenuItemCustom(sub, lowerQ)\n : null\n )\n .filter(Boolean) as MenuItemData[];\n return filteredSubItems.length > 0\n ? {\n ...item,\n items: filteredSubItems,\n }\n : null;\n }\n }\n })\n // Ignore not matched items\n .filter(Boolean) as MenuItemData[],\n }))\n // ignore empty desktops\n .filter((group) => group.items.length > 0);\n return groups;\n}\n\nfunction matchMenuItemApp(item: MenuItemDataApp, lowerQ: string) {\n return item.id.toLowerCase().includes(lowerQ) ||\n item.name.toLowerCase().includes(lowerQ)\n ? item\n : null;\n}\n\nfunction matchMenuItemCustom(item: MenuItemDataCustom, lowerQ: string) {\n return item.id.toLowerCase().includes(lowerQ) ||\n item.name.toLowerCase().includes(lowerQ)\n ? item\n : null;\n}\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { handleHttpError, httpErrorToString } from \"@next-core/runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport { DeferredService } from \"../shared/DeferredService\";\nimport { showDialog, showNotification } from \"./wrapped-bricks\";\nimport type {\n FavMenuItem,\n MenuGroupData,\n MenuItemDataCustom,\n MenuItemDataLink,\n MenuItemDataNormal,\n MicroAppWithInstanceId,\n StoredMenuItem,\n} from \"./interfaces\";\nimport {\n favorite,\n fetchFavorites,\n fetchLaunchpadInfo,\n undoFavorite,\n} from \"./api\";\nimport { search } from \"./search\";\nimport { FAVORITES_LIMIT, RECENT_VISITS_LIMIT } from \"./constants\";\n\nconst storageKey = `launchpad-recent-visits:${(\n auth.getAuth() as Record<string, string>\n)?.org}`;\nconst storage = new JsonStorage(localStorage);\n\nlet candidateDesktops: MenuGroupData[] = [];\nlet candidateMicroAppsById = new Map<string, MicroAppWithInstanceId>();\nlet candidateCustomLinksById = new Map<string, MenuItemDataCustom>();\nlet preLoaded = false;\n\nlet candidateFavorites: FavMenuItem[] = [];\nlet preLoadedFavorites = false;\n\nexport const deferredLaunchpadInfo = new DeferredService(async () => {\n ({\n menuGroups: candidateDesktops,\n microAppsById: candidateMicroAppsById,\n customLinksById: candidateCustomLinksById,\n } = await fetchLaunchpadInfo());\n preLoaded = true;\n});\n\nexport const deferredFavorites = new DeferredService(async () => {\n candidateFavorites = await fetchFavorites();\n preLoadedFavorites = true;\n});\n\nconst showErrorAsNotification = (error: unknown) =>\n showNotification({\n type: \"error\",\n message: httpErrorToString(error),\n });\n\n/**\n * - 页面初始化时预加载 launchpad 信息。\n * - 每次打开 launchpad 都发起请求,但该请求的数据只在下次打开 launchpad 时使用。\n * 即每次打开 launchpad 使用的都是上一次获取的数据,以便达到两个效果:\n * - 每次打开 launchpad 都能立即显示菜单列表;\n * - 同时当用户在 launchpad 上操作时,不会出现数据突然更新(新数据请求完成)。\n */\nexport function useLaunchpadInfo(active?: boolean) {\n const [desktops, setDesktops] = useState(candidateDesktops);\n const [microAppsById, setMicroAppsById] = useState(candidateMicroAppsById);\n const [customLinksById, setCustomLinksById] = useState(\n candidateCustomLinksById\n );\n\n const [q, setQ] = useState(\"\");\n\n const [loading, setLoading] = useState(!preLoaded);\n const [loadingFavorites, setLoadingFavorites] = useState(!preLoadedFavorites);\n\n const [storedRecentVisits, setStoredRecentVisits] = useState<\n StoredMenuItem[]\n >([]);\n\n const [recentVisits, setRecentVisits] = useState<MenuItemDataNormal[]>([]);\n\n const [favorites, setFavorites] = useState<FavMenuItem[]>(candidateFavorites);\n\n useEffect(() => {\n // 仅当首次加载完成或重新打开 launchpad 时更新一次数据。\n if (active && !loading) {\n setDesktops(candidateDesktops);\n setMicroAppsById(candidateMicroAppsById);\n setCustomLinksById(candidateCustomLinksById);\n }\n }, [active, loading]);\n\n useEffect(() => {\n if (active && !loadingFavorites) {\n setFavorites(candidateFavorites);\n }\n }, [active, loadingFavorites]);\n\n useEffect(() => {\n if (active) {\n setStoredRecentVisits(storage.getItem(storageKey) ?? []);\n }\n }, [active]);\n\n useEffect(() => {\n if (active) {\n const startFetchLaunchpadInfo = async (): Promise<void> => {\n try {\n await deferredLaunchpadInfo.fetch();\n setLoading(false);\n } catch (error) {\n handleHttpError(error);\n }\n };\n startFetchLaunchpadInfo();\n }\n }, [active]);\n\n useEffect(() => {\n if (active) {\n const startFetchFavorites = async (): Promise<void> => {\n try {\n await deferredFavorites.fetch();\n setLoadingFavorites(false);\n } catch (error) {\n setLoadingFavorites(false);\n showErrorAsNotification(error);\n }\n };\n startFetchFavorites();\n }\n }, [active]);\n\n useEffect(() => {\n if (loading) {\n return;\n }\n const visits = storedRecentVisits\n .map((item) => {\n // Remembered recent visits maybe no longer existed in launchpad\n if (item.type === \"app\") {\n const app = microAppsById.get(item.id);\n return app\n ? {\n type: \"app\",\n name: app.localeName,\n id: app.id,\n url: app.homepage,\n instanceId: app.instanceId,\n menuIcon: app.menuIcon,\n }\n : null;\n }\n return customLinksById.get(item.id);\n })\n .filter(Boolean) as MenuItemDataNormal[];\n setRecentVisits(visits);\n }, [customLinksById, loading, microAppsById, storedRecentVisits]);\n\n const pushRecentVisit = useCallback(({ type, id }: StoredMenuItem) => {\n const visits: StoredMenuItem[] = storage.getItem(storageKey) ?? [];\n const index = visits.findIndex(\n (visit) => visit.type === type && visit.id === id\n );\n if (index > -1) {\n visits.splice(index, 1);\n }\n visits.unshift({ type, id });\n if (visits.length > RECENT_VISITS_LIMIT) {\n visits.pop();\n }\n // setStoredRecentVisits(visits);\n storage.setItem(storageKey, visits);\n }, []);\n\n const isStarred = useCallback(\n (item: MenuItemDataNormal) =>\n favorites.some((fav) => matchFavorite(item, fav)),\n [favorites]\n );\n\n const toggleStar = useCallback(\n (item: MenuItemDataNormal | MenuItemDataLink) => {\n const index = favorites.findIndex((fav) =>\n item.type === \"link\"\n ? fav.favoriteId === item.favoriteId\n : matchFavorite(item, fav)\n );\n let newFavorites: FavMenuItem[];\n if (index > -1) {\n const removed = favorites[index];\n newFavorites = favorites\n .slice(0, index)\n .concat(favorites.slice(index + 1));\n undoFavorite(removed).catch(showErrorAsNotification);\n } else {\n if (favorites.length >= FAVORITES_LIMIT) {\n showDialog({\n type: \"warn\",\n title: \"收藏数量已达上限\",\n content: `当前收藏链接数量已达上限(${FAVORITES_LIMIT}个),请删除部分收藏后再添加。`,\n });\n return;\n }\n // Assert: no link item\n const fav: FavMenuItem = { ...(item as MenuItemDataNormal) };\n newFavorites = favorites.concat(fav);\n favorite(item as MenuItemDataNormal).then((result) => {\n if (result) {\n fav.favoriteId = result.instanceId;\n }\n }, showErrorAsNotification);\n }\n setFavorites(newFavorites);\n candidateFavorites = newFavorites;\n },\n [favorites]\n );\n\n const menuGroups: MenuGroupData[] = useMemo(\n () => search(desktops, q),\n [desktops, q]\n );\n\n return {\n loading,\n q,\n setQ,\n menuGroups,\n loadingFavorites,\n favorites,\n recentVisits,\n pushRecentVisit,\n isStarred,\n toggleStar,\n };\n}\n\nexport function matchFavorite(item: MenuItemDataNormal, fav: FavMenuItem) {\n return item.instanceId && fav.instanceId\n ? fav.instanceId === item.instanceId\n : fav.type === item.type && fav.id === item.id;\n}\n","import { wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\n// Use `unwrapProvider` to get the original function of a provider\nexport const showDialog =\n unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport const showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n","// 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;--local-max-height:calc(100vh - var(--app-bar-height) - 10px)}: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;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);max-height:var(--local-max-height);min-height:50vh;min-height:min(500px,var(--local-max-height));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:190px;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 52px 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,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.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;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(168px,1fr))}.menu-groups{display:grid;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.sidebar-menu-item,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--local-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-remove,\n.menu-item-star{cursor:pointer}.menu-item-remove,\n.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.recent-visits-label{margin-bottom:12px;font-size:var(--card-title-font-size);color:var(--color-header-text);font-weight:500}.recent-visits{display:grid;grid-gap:8px;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.content{display:grid;grid-auto-flow:row}.content:not(.loading){height:-webkit-min-content;height:-moz-min-content;height:min-content}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}}`, \"\"]);\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","_item$menuIcon","loadingFavorites","pushRecentVisit","toggleStar","isStarred","starred","useMemo","handleStarClick","useCallback","handleClick","classNames","WrappedLink","_extends","onClick","url","href","target","WrappedIcon","lib","icon","menuIcon","pick","prefix","title","SidebarMenuItem","_ref3","_item$menuIcon2","handleRemoveStar","_ref4","searching","expanded","setExpanded","useState","searchingExpanded","setSearchingExpanded","toggle","previous","useEffect","actualExpanded","Launchpad","active","searchInputRef","useRef","handleClickSearchBox","_searchInputRef$curre","current","focus","loading","q","setQ","menuGroups","favorites","recentVisits","useLaunchpadInfo","handleSearch","e","value","clearSearch","Provider","index","Loading","ref","placeholder","onChange","theme","empty","length","group","spinning","LaunchpadApi_listCollectionV2","params","options","http","get","_x","_x2","apply","this","arguments","LaunchpadApi_createCollectionV2","data","post","LaunchpadApi_deleteCollectionV2","instanceId","delete","FAVORITES_LIMIT","RECENT_VISITS_LIMIT","_fetchLaunchpadInfo","_asyncToGenerator","launchpadInfo","LaunchpadApi_getLaunchpadInfo","interceptorParams","ignoreLoadingBar","noAbortOnRouteChange","microAppsById","Map","storyboard","storyboards","app","initializeAppLocaleName","set","customLinksById","desktops","push","_objectSpread","localeName","homepage","subItems","subItem","locales","_i18nText","i18nData","Object","fromEntries","entries","filter","lang","resources","i18nText","fetchRawFavorites","_fetchRawFavorites","page","pageSize","list","_fetchFavorites","stored","fav","relatedApp","favoriteId","appId","customItem","relatedCustomItem","link","_favorite","relatedInstanceId","_undoFavorite","then","_list$find","foundId","find","_fav$relatedApp","_fav$relatedCustomIte","console","error","matchMenuItemApp","lowerQ","toLowerCase","includes","matchMenuItemCustom","storageKey","_auth$getAuth","auth","getAuth","org","storage","JsonStorage","localStorage","candidateDesktops","candidateMicroAppsById","candidateCustomLinksById","preLoaded","candidateFavorites","preLoadedFavorites","deferredLaunchpadInfo","DeferredService","fetchLaunchpadInfo","deferredFavorites","fetchFavorites","showErrorAsNotification","showNotification","message","httpErrorToString","setDesktops","setMicroAppsById","setCustomLinksById","setLoading","setLoadingFavorites","storedRecentVisits","setStoredRecentVisits","setRecentVisits","setFavorites","_storage$getItem","getItem","startFetchLaunchpadInfo","fetch","handleHttpError","startFetchFavorites","visits","Boolean","_ref5","_storage$getItem2","findIndex","visit","splice","unshift","pop","setItem","some","matchFavorite","newFavorites","removed","slice","undoFavorite","catch","showDialog","content","favorite","result","allMenuGroups","filteredSubItems","sub","search","wrapBrick","unwrapProvider","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","module","toString","exports","String","__esModule","default","test","hash","needQuotes","replace"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see launchpad-config.f68804a5.js.LICENSE.txt */
|
|
2
|
+
(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[1522,6522,5628],{4999:(e,t,n)=>{"use strict";n.d(t,{k:()=>p});var r=n(7896),i=n(8657),a=n.n(i),o=n(5178),c=n(2779),l=n.n(c),s=n(777),u=n(3483);function p(e){var{data:t,actions:n,onActionClick:r}=e,{name:o,items:c}=t,[p,d]=(0,i.useState)(!1),h=(0,i.useMemo)((()=>null==n?void 0:n.filter((e=>(0,s.checkIfByTransform)(e,{type:"group"})))),[n]),v=(0,i.useCallback)((e=>{null==r||r({data:t,action:e.detail})}),[t,r]);return a().createElement("li",{className:l()("menu-group",{empty:0===c.length})},a().createElement("div",{className:"menu-group-label-wrapper"},a().createElement("span",{className:"menu-group-label"},o),a().createElement(u.rO,{actions:h,onVisibleChange:e=>{d(e.detail)},onActionClick:v},a().createElement(u.V3,{lib:"fa",icon:"gear",className:l()("menu-config",{active:p})}))),a().createElement("ul",{className:"menu"},c.map((e=>"dir"===e.type?a().createElement(f,{key:e.instanceId,data:e,actions:n,onActionClick:r}):a().createElement(m,{key:"".concat(e.type,"-").concat(e.id),data:e})))))}function m(e){var t,{data:n}=e;return a().createElement("li",{className:"menu-item"},a().createElement(u.kk,null,a().createElement(u.V3,(0,r.Z)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(t=n.menuIcon)&&void 0!==t&&t.lib&&n.menuIcon.icon?(0,o.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),a().createElement("span",{className:"menu-item-label"},n.name)))}function f(e){var{data:t,actions:n,onActionClick:r}=e,{name:o,items:c}=t,[p,f]=(0,i.useState)(!1),[d,h]=(0,i.useState)(!1),v=(0,i.useMemo)((()=>null==n?void 0:n.filter((e=>(0,s.checkIfByTransform)(e,{type:"dir"})))),[n]),g=(0,i.useCallback)((()=>{h((e=>!e))}),[]),b=(0,i.useCallback)((e=>{null==r||r({data:t,action:e.detail})}),[t,r]);return a().createElement("li",{className:l()("menu-item folder",{empty:0===c.length})},a().createElement("div",{className:"menu-folder-label-wrapper"},a().createElement(u.kk,{onClick:g},a().createElement(u.V3,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),a().createElement("span",{className:"menu-item-label"},o),a().createElement(u.V3,{lib:"antd",icon:d?"up":"down",className:"menu-item-toggle"})),a().createElement(u.rO,{actions:v,onVisibleChange:e=>{f(e.detail)},onActionClick:b},a().createElement(u.V3,{lib:"fa",icon:"gear",className:l()("menu-config",{active:p})}))),a().createElement("ul",{className:l()("sub-menu",{expanded:d})},c.map((e=>a().createElement(m,{key:e.instanceId,data:e})))))}},6204:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LaunchpadConfig:()=>h,LaunchpadConfigComponent:()=>_});var r,i,a,o,c,l,s,u,p,m,f,d,h,v=n(3395),g=n(1815),b=n(381),y=n(687),w=n(2604),k=n(8657),x=n.n(k),E=n(5366),Z=n(4511),C=(n(2230),n(4999)),A=n(9534),{defineElement:N,property:j,event:S}=(0,E.createDecorators)();i=N("nav.launchpad-config",{styleTexts:[A.Z]}),a=j({attribute:!1}),c=j({attribute:!1}),s=S({type:"action.click"});var O=new WeakMap,T=new WeakMap,I=new WeakMap,M=new WeakMap,V=new WeakMap;class z extends Z.ReactNextElement{constructor(){super(...arguments),(0,v.Z)(this,M,{get:P,set:G}),(0,v.Z)(this,O,{writable:!0,value:(f(this),o(this))}),(0,v.Z)(this,T,{writable:!0,value:l(this)}),(0,v.Z)(this,I,{writable:!0,value:u(this)}),(0,v.Z)(this,V,{writable:!0,value:e=>{(0,y.Z)(this,M).emit(e)}})}get menuGroups(){return(0,y.Z)(this,O)}set menuGroups(e){(0,b.Z)(this,O,e)}get actions(){return(0,y.Z)(this,T)}set actions(e){(0,b.Z)(this,T,e)}render(){return x().createElement(_,{menuGroups:this.menuGroups,actions:this.actions,onActionClick:(0,y.Z)(this,V)})}}function G(e){m(this,e)}function P(){return p(this)}function _(e){var{menuGroups:t,actions:n,onActionClick:r}=e;return x().createElement("ul",{className:"menu-groups"},null==t?void 0:t.map((e=>x().createElement(C.k,{key:e.instanceId,data:e,actions:n,onActionClick:r}))))}d=z,({e:[o,l,u,p,m,f],c:[h,r]}=(0,w.Z)(d,[[a,1,"menuGroups"],[c,1,"actions"],[s,1,"actionClickEvent",e=>(0,y.Z)(e,I),(e,t)=>(0,b.Z)(e,I,t)]],[i],0,(e=>V.has((0,g.Z)(e))),Z.ReactNextElement)),r()},3483:(e,t,n)=>{"use strict";n.d(t,{V3:()=>a,kk:()=>o,rO:()=>c});var r=n(4511),i=n(2413),a=(0,r.wrapBrick)("eo-icon"),o=(0,r.wrapBrick)("eo-link"),c=(0,r.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"});(0,i.unwrapProvider)("basic.show-dialog")},2779:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var a=typeof n;if("string"===a||"number"===a)e.push(n);else if(Array.isArray(n)){if(n.length){var o=i.apply(null,n);o&&e.push(o)}}else if("object"===a){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var c in n)r.call(n,c)&&n[c]&&e.push(c)}}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(n=function(){return i}.apply(t,[]))||(e.exports=n)}()},9534:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(9601),i=n.n(r),a=n(2609),o=n.n(a)()(i());o.push([e.id,":host{display:block;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none;--local-menu-icon-color:rgba(255,255,255,0.45)}ul{list-style:none;margin:0;padding:0}.menu-groups{display:grid;grid-gap:32px 16px;gap:32px 16px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{display:block}.menu-folder-label-wrapper > 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)}.menu-group-label-wrapper,\n.menu-folder-label-wrapper,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-group-label-wrapper{gap:3px}.menu-group:not(.empty) .menu-group-label-wrapper{margin-bottom:14px}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text)}.menu-icon{color:var(--local-menu-icon-color)}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{max-width:100%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:0}.sub-menu:not(.expanded){display:none}.sub-menu{margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item:not(.empty) .sub-menu{margin-top:14px}.menu-item-toggle{color:var(--color-secondary-text)}.menu-config{visibility:hidden;color:var(--color-brand);cursor:pointer;display:flex;justify-content:center;align-items:center;width:24px;height:24px}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible}.menu-folder-label-wrapper > eo-dropdown-actions{margin:-3px 0}.menu-config:hover,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover::part(link),\n.menu-folder-label-wrapper > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}",""]);const c=o.toString()},2609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,i,a){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var c=0;c<this.length;c++){var l=this[c][0];null!=l&&(o[l]=!0)}for(var s=0;s<e.length;s++){var u=[].concat(e[s]);r&&o[u[0]]||(void 0!==a&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=a),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),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]}},2604:(e,t,n)=>{"use strict";n.d(t,{Z:()=>h});var r=n(6522),i=n(1815);function a(e,t){return function(n){(function(e,t){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished")})(t),l(n,"An initializer"),e.push(n)}}function o(e,t){if(!e(t))throw new TypeError("Attempted to access private element on non-instance")}function c(e,t,n,r,i,c,l,s,u,p){var m;switch(c){case 1:m="accessor";break;case 2:m="method";break;case 3:m="getter";break;case 4:m="setter";break;default:m="field"}var f,d,h={kind:m,name:s?"#"+n:n,static:l,private:s},v={v:!1};if(0!==c&&(h.addInitializer=a(i,v)),s||0!==c&&2!==c)if(2===c)f=function(e){return o(p,e),r.value};else{var g=0===c||1===c;(g||3===c)&&(f=s?function(e){return o(p,e),r.get.call(e)}:function(e){return r.get.call(e)}),(g||4===c)&&(d=s?function(e,t){o(p,e),r.set.call(e,t)}:function(e,t){r.set.call(e,t)})}else f=function(e){return e[n]},0===c&&(d=function(e,t){e[n]=t});var b=s?p.bind():function(e){return n in e};h.access=f&&d?{get:f,set:d,has:b}:f?{get:f,has:b}:{set:d,has:b};try{return e.call(t,u,h)}finally{v.v=!0}}function l(e,t){if("function"!=typeof e)throw new TypeError(t+" must be a function")}function s(e,t){var n=(0,r.Z)(t);if(1===e){if("object"!==n||null===t)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==t.get&&l(t.get,"accessor.get"),void 0!==t.set&&l(t.set,"accessor.set"),void 0!==t.init&&l(t.init,"accessor.init")}else if("function"!==n)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,n,r,i,a,o,l,m,f){var d,h,v,g,b,y,w=n[0];r||Array.isArray(w)||(w=[w]),l?d=0===a||1===a?{get:u(n[3]),set:p(n[4])}:3===a?{get:n[3]}:4===a?{set:n[3]}:{value:n[3]}:0!==a&&(d=Object.getOwnPropertyDescriptor(t,i)),1===a?v={get:d.get,set:d.set}:2===a?v=d.value:3===a?v=d.get:4===a&&(v=d.set);for(var k=r?2:1,x=w.length-1;x>=0;x-=k){var E;void 0!==(g=c(w[x],r?w[x-1]:void 0,i,d,m,a,o,l,v,f))&&(s(a,g),0===a?E=g:1===a?(E=g.init,b=g.get||v.get,y=g.set||v.set,v={get:b,set:y}):v=g,void 0!==E&&(void 0===h?h=E:"function"==typeof h?h=[h,E]:h.push(E)))}if(0===a||1===a){if(void 0===h)h=function(e,t){return t};else if("function"!=typeof h){var Z=h;h=function(e,t){for(var n=t,r=Z.length-1;r>=0;r--)n=Z[r].call(e,n);return n}}else{var C=h;h=function(e,t){return C.call(e,t)}}e.push(h)}0!==a&&(1===a?(d.get=v.get,d.set=v.set):2===a?d.value=v:3===a?d.get=v:4===a&&(d.set=v),l?1===a?(e.push((function(e,t){return v.get.call(e,t)})),e.push((function(e,t){return v.set.call(e,t)}))):2===a?e.push(v):e.push((function(e,t){return v.call(e,t)})):Object.defineProperty(t,i,d))}function f(e,t,n){for(var r,a,o,c=[],l=new Map,s=new Map,u=0;u<t.length;u++){var p=t[u];if(Array.isArray(p)){var f,h,v=p[1],g=p[2],b=p.length>3,y=16&v,w=!!(8&v),k=n;if(v&=7,w?(f=e,0!==v&&(h=a=a||[]),b&&!o&&(o=function(t){return(0,i.Z)(t)===e}),k=o):(f=e.prototype,0!==v&&(h=r=r||[])),0!==v&&!b){var x=w?s:l,E=x.get(g)||0;if(!0===E||3===E&&4!==v||4===E&&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: "+g);x.set(g,!(!E&&v>2)||v)}m(c,f,p,y,g,v,w,b,h,k)}}return d(c,r),d(c,a),c}function d(e,t){t&&e.push((function(e){for(var n=0;n<t.length;n++)t[n].call(e);return e}))}function h(e,t,n,r,i){return{e:f(e,t,i),get c(){return function(e,t,n){if(t.length){for(var r=[],i=e,o=e.name,c=n?2:1,l=t.length-1;l>=0;l-=c){var u={v:!1};try{var p=t[l].call(n?t[l-1]:void 0,i,{kind:"class",name:o,addInitializer:a(r,u)})}finally{u.v=!0}void 0!==p&&(s(5,p),i=p)}return[i,function(){for(var e=0;e<r.length;e++)r[e].call(i)}]}}(e,n,r)}}}},1815:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(6522);function i(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,r.Z)(e):"null"));return e}},5863:(e,t,n)=>{"use strict";function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{Z:()=>r})},175:(e,t,n)=>{"use strict";function r(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}n.d(t,{Z:()=>r})},687:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(175);function i(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,(0,r.Z)(e,t,"get"))}},3395:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(5863);function i(e,t,n){(0,r.Z)(e,t),t.set(e,n)}},381:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(175);function i(e,t,n){return function(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}}(e,(0,r.Z)(e,t,"set"),n),n}},7896:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},6522:(e,t,n)=>{"use strict";function r(e){return r="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},r(e)}n.d(t,{Z:()=>r})}}]);
|
|
3
|
+
//# sourceMappingURL=launchpad-config.f68804a5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/launchpad-config.f68804a5.js","mappings":"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","sources":["webpack:///./src/launchpad-config/MenuGroup.tsx","webpack:///./src/launchpad-config/index.tsx","webpack:///./src/launchpad-config/wrapped-bricks.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/launchpad-config/styles.shadow.css","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/applyDecs2305.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport type { SimpleAction } from \"@next-bricks/basic/dropdown-actions\";\nimport {\n WrappedDropdownActions,\n WrappedIcon,\n WrappedLink,\n} from \"./wrapped-bricks\";\nimport type {\n ConfigMenuGroup,\n ConfigMenuItemDir,\n ConfigMenuItemNormal,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\n\nexport interface MenuGroupProps {\n data: ConfigMenuGroup;\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuGroup({ data, actions, onActionClick }: MenuGroupProps) {\n const { name, items } = data;\n const [dropdownActive, setDropdownActive] = useState(false);\n\n const filteredActions = useMemo(\n () =>\n actions?.filter((item) => checkIfByTransform(item, { type: \"group\" })),\n [actions]\n );\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li className={classNames(\"menu-group\", { empty: items.length === 0 })}>\n <div className=\"menu-group-label-wrapper\">\n <span className=\"menu-group-label\">{name}</span>\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", { active: dropdownActive })}\n />\n </WrappedDropdownActions>\n </div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={item.instanceId}\n data={item}\n actions={actions}\n onActionClick={onActionClick}\n />\n ) : (\n <MenuItem key={`${item.type}-${item.id}`} data={item} />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n data: ConfigMenuItemNormal;\n}\n\nexport function MenuItem({ data }: MenuItemProps) {\n return (\n <li className=\"menu-item\">\n <WrappedLink>\n <WrappedIcon\n className={`menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(data.menuIcon?.lib && data.menuIcon.icon\n ? (pick(data.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{data.name}</span>\n </WrappedLink>\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n data: ConfigMenuItemDir;\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nfunction MenuItemFolder({ data, actions, onActionClick }: MenuItemFolderProps) {\n const { name, items } = data;\n const [dropdownActive, setDropdownActive] = useState(false);\n const [expanded, setExpanded] = useState(false);\n\n const filteredActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, { type: \"dir\" })),\n [actions]\n );\n\n const toggle = useCallback(() => {\n setExpanded((previous) => !previous);\n }, []);\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li\n className={classNames(\"menu-item folder\", { empty: items.length === 0 })}\n >\n <div className=\"menu-folder-label-wrapper\">\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={expanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", { active: dropdownActive })}\n />\n </WrappedDropdownActions>\n </div>\n <ul className={classNames(\"sub-menu\", { expanded })}>\n {items.map((item) => (\n <MenuItem key={item.instanceId} data={item} />\n ))}\n </ul>\n </li>\n );\n}\n","import React from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n ConfigMenuGroup,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\nimport { MenuGroup } from \"./MenuGroup\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 构件 `nav.launchpad-config`\n */\nexport\n@defineElement(\"nav.launchpad-config\", {\n styleTexts: [styleText],\n})\nclass LaunchpadConfig extends ReactNextElement implements LaunchpadConfigProps {\n @property({ attribute: false })\n accessor menuGroups: ConfigMenuGroup[] | undefined;\n\n @property({ attribute: false })\n accessor actions: MenuAction[] | undefined;\n\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<MenuActionEventDetail>;\n\n #onActionClick = (detail: MenuActionEventDetail) => {\n this.#actionClickEvent.emit(detail);\n };\n\n render() {\n return (\n <LaunchpadConfigComponent\n menuGroups={this.menuGroups}\n actions={this.actions}\n onActionClick={this.#onActionClick}\n />\n );\n }\n}\n\nexport interface LaunchpadConfigProps {\n menuGroups?: ConfigMenuGroup[];\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function LaunchpadConfigComponent({\n menuGroups,\n actions,\n onActionClick,\n}: LaunchpadConfigProps) {\n return (\n <ul className=\"menu-groups\">\n {menuGroups?.map((group) => (\n <MenuGroup\n key={group.instanceId}\n data={group}\n actions={actions}\n onActionClick={onActionClick}\n />\n ))}\n </ul>\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 {\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping,\n} from \"@next-bricks/basic/dropdown-actions\";\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\");\nexport const WrappedDropdownActions = wrapBrick<\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping\n>(\"eo-dropdown-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\n\n// Use `unwrapProvider` to get the original function of a provider\nexport const showDialog =\n unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\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","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none;--local-menu-icon-color:rgba(255,255,255,0.45)}ul{list-style:none;margin:0;padding:0}.menu-groups{display:grid;grid-gap:32px 16px;gap:32px 16px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{display:block}.menu-folder-label-wrapper > 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)}.menu-group-label-wrapper,\n.menu-folder-label-wrapper,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-group-label-wrapper{gap:3px}.menu-group:not(.empty) .menu-group-label-wrapper{margin-bottom:14px}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text)}.menu-icon{color:var(--local-menu-icon-color)}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{max-width:100%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:0}.sub-menu:not(.expanded){display:none}.sub-menu{margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item:not(.empty) .sub-menu{margin-top:14px}.menu-item-toggle{color:var(--color-secondary-text)}.menu-config{visibility:hidden;color:var(--color-brand);cursor:pointer;display:flex;justify-content:center;align-items:center;width:24px;height:24px}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible}.menu-folder-label-wrapper > eo-dropdown-actions{margin:-3px 0}.menu-config:hover,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover::part(link),\n.menu-folder-label-wrapper > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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\";\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}","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}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\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}","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}"],"names":["MenuGroup","_ref","data","actions","onActionClick","name","items","dropdownActive","setDropdownActive","useState","filteredActions","useMemo","filter","item","checkIfByTransform","type","handleActionClick","useCallback","event","action","detail","React","className","classNames","empty","length","WrappedDropdownActions","onVisibleChange","WrappedIcon","lib","icon","active","map","MenuItemFolder","key","instanceId","MenuItem","concat","id","_ref2","_data$menuIcon","WrappedLink","_extends","menuIcon","pick","_ref3","expanded","setExpanded","toggle","previous","onClick","prefix","_LaunchpadConfig","defineElement","property","createDecorators","_dec","styleTexts","styleText","_dec2","attribute","_dec3","_dec4","_A","WeakMap","_B","_C","_actionClickEvent","_onActionClick","LaunchpadConfig","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_actionClickEvent2","set","_set_actionClickEvent2","writable","value","_initProto","_init_menuGroups","_init_actions","_init_actionClickEvent","_classPrivateFieldGet","this","emit","menuGroups","v","_classPrivateFieldSet","render","LaunchpadConfigComponent","_set_actionClickEvent","_get_actionClickEvent","group","_class","e","c","_initClass","_applyDecs","o","_","has","_checkInRHS","wrapBrick","unwrapProvider","hasOwn","hasOwnProperty","classes","i","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","includes","call","join","module","exports","default","___CSS_LOADER_EXPORT___","cssWithMappingToString","list","content","needLayer","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","createAddInitializerMethod","t","r","Error","assertNotFinished","assertCallable","assertInstanceIfPrivate","TypeError","memberDec","n","a","s","l","u","f","d","p","kind","h","addInitializer","y","bind","access","assertValidReturnValue","init","curryThis1","curryThis2","applyMemberDec","getOwnPropertyDescriptor","g","m","b","I","w","defineProperty","applyMemberDecs","Map","pushInitializers","applyDecs2305","applyClassDecs","_checkPrivateRedeclaration","obj","privateCollection","_classExtractFieldDescriptor","receiver","privateMap","descriptor","classExtractFieldDescriptor","assign","target","source","_typeof","Symbol","iterator"],"sourceRoot":""}
|