@next-bricks/nav 0.8.6 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/7394.c0312131.js +3 -0
- package/dist/chunks/7394.c0312131.js.map +1 -0
- package/dist/chunks/easyops-navbar-alerts.900f9c18.js +2 -0
- package/dist/chunks/easyops-navbar-alerts.900f9c18.js.map +1 -0
- package/dist/chunks/eo-launchpad-button-v2.e881ca9e.js.map +1 -1
- package/dist/chunks/eo-launchpad-button.df111053.js.map +1 -1
- package/dist/chunks/eo-launchpad-quick-access.6725ea34.js +3 -0
- package/dist/chunks/eo-launchpad-quick-access.6725ea34.js.map +1 -0
- package/dist/chunks/eo-launchpad-recent-visits.b0b1a69a.js +3 -0
- package/dist/chunks/eo-launchpad-recent-visits.b0b1a69a.js.map +1 -0
- package/dist/chunks/eo-search-launchpad.2d0cea22.js +2 -0
- package/dist/chunks/eo-search-launchpad.2d0cea22.js.map +1 -0
- package/dist/chunks/launchpad-config.8c71fa8d.js.map +1 -1
- package/dist/chunks/{main.419cf4d6.js → main.092a1375.js} +2 -2
- package/dist/chunks/{main.419cf4d6.js.map → main.092a1375.js.map} +1 -1
- package/dist/{index.c18ad686.js → index.e3a45dc9.js} +2 -2
- package/dist/{index.c18ad686.js.map → index.e3a45dc9.js.map} +1 -1
- package/dist/manifest.json +14 -7
- package/dist/types.json +23 -23
- package/dist-types/easyops-navbar-alerts/index.d.ts +1 -0
- package/dist-types/launchpad/index.d.ts +1 -0
- package/dist-types/launchpad-button-v2/index.d.ts +1 -0
- package/dist-types/launchpad-config/index.d.ts +1 -0
- package/dist-types/launchpad-quick-access/index.d.ts +1 -0
- package/dist-types/launchpad-recent-visits/index.d.ts +1 -0
- package/dist-types/search-launchpad/index.d.ts +1 -0
- package/package.json +3 -3
- package/dist/chunks/7394.5869099a.js +0 -3
- package/dist/chunks/7394.5869099a.js.map +0 -1
- package/dist/chunks/easyops-navbar-alerts.3bc41a39.js +0 -2
- package/dist/chunks/easyops-navbar-alerts.3bc41a39.js.map +0 -1
- package/dist/chunks/eo-launchpad-quick-access.88d845a7.js +0 -3
- package/dist/chunks/eo-launchpad-quick-access.88d845a7.js.map +0 -1
- package/dist/chunks/eo-launchpad-recent-visits.487f236d.js +0 -3
- package/dist/chunks/eo-launchpad-recent-visits.487f236d.js.map +0 -1
- package/dist/chunks/eo-search-launchpad.5a6a04aa.js +0 -2
- package/dist/chunks/eo-search-launchpad.5a6a04aa.js.map +0 -1
- /package/dist/chunks/{7394.5869099a.js.LICENSE.txt → 7394.c0312131.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-launchpad-quick-access.88d845a7.js.LICENSE.txt → eo-launchpad-quick-access.6725ea34.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-launchpad-recent-visits.487f236d.js.LICENSE.txt → eo-launchpad-recent-visits.b0b1a69a.js.LICENSE.txt} +0 -0
package/dist/bricks.json
CHANGED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 7394.c0312131.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[7394],{7203:(e,t,n)=>{n.r(t);var a,r,i,o,l,c,s,m,u,d=n(4795),p=n(3395),h=n(381),v=n(687),g=n(2604),f=n(7896),b=n(8657),x=n.n(b),y=n(2462),k=n(7267),w=n(2354),E=n(9800),Z=n(3808),N=n(7993),C=(n(9234),n(2779)),T=n.n(C),S=n(1880),R=n(641),D=n(2598),_=n(8462),A=n(8101),{defineElement:I,property:M}=(n(441),(0,y.createDecorators)()),z=(0,w.wrapBrick)("eo-menu-item"),V=(0,w.wrapBrick)("eo-popover",{onVisibleChange:"visible.change",beforeVisibleChange:"before.visible.change"});function K(e){var{item:t}=e;return(0,Z.cl)(t,e.topData)?x().createElement(P,(0,f.Z)({},e,{item:t})):(0,Z.ty)(t)?x().createElement(q,(0,f.Z)({},e,{item:t})):x().createElement(B,(0,f.Z)({},e,{item:t}))}function B(e){var{item:t,index:n,hidden:a,showTooltip:r,selectedKey:i=[]}=e;return x().createElement(z,{"data-index":n,className:a?"overflow-menu-item":"",key:t.key,title:r?t.text:"",active:!!t.key&&i.includes(t.key)},(0,Z.nC)(t,{width:"100%"}))}var F,L=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 P(e){var t,{index:n,hidden:a,item:r,topData:i,showTooltip:o,selectedKey:l=[],overflow:c}=e;return(null===(t=r.items)||void 0===t?void 0:t.length)>0?x().createElement(V,{"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"},x().createElement(z,{className:"sub-menu-item-label",key:r.key,slot:"anchor",title:o?r.title:""},(0,Z.cx)(r,!i)),x().createElement("div",{className:T()("sub-menu-wrapper",{"overflow-menu-wrapper":c})},r.items.map((e=>x().createElement(x().Fragment,{key:e.key},x().createElement(K,{item:e,selectedKey:l,showTooltip:o})))))):null}function q(e){var t,{item:n,showTooltip:a,selectedKey:r=[]}=e;return(null===(t=n.items)||void 0===t?void 0:t.length)>0?"category"===n.childLayout?x().createElement(G,{item:n,selectedKey:r,showTooltip:a,placement:"right-start",anchorDisplay:"block"}):"siteMap"===n.childLayout?x().createElement(W,{item:n,selectedKey:r,showTooltip:a,placement:"right-start",anchorDisplay:"block",topData:!1}):x().createElement(x().Fragment,null,x().createElement("div",{className:"group-label"},n.title),x().createElement("div",{className:"group-wrapper"},n.items.map((e=>x().createElement(x().Fragment,{key:e.key},x().createElement(K,{item:e,showTooltip:a,selectedKey:r})))))):null}function G(e){var t,{index:n,hidden:a,item:r,selectedKey:i=[],showTooltip:o,placement:l="bottom-start",anchorDisplay:c}=e;return(null===(t=r.items)||void 0===t?void 0:t.length)>0?x().createElement(V,{"data-index":n,className:T()("three-level-menu-popover","popover",{"overflow-menu-item":a}),trigger:"hover",placement:l,distance:0,key:r.key,strategy:"fixed",anchorDisplay:c,beforeVisibleChange:L},x().createElement(z,{className:"sub-menu-item-label",key:r.key,slot:"anchor",title:o?r.title:""},(0,Z.cx)(r)),x().createElement("div",{className:"sub-menu-wrapper"},x().createElement(S.m,{menuItem:r,selectedKey:i}))):null}function W(e){var t,{index:n,hidden:a,item:r,selectedKey:i=[],showTooltip:o,placement:l="bottom-start",anchorDisplay:c,topData:s}=e,[m,u]=(0,b.useState)();return(null===(t=r.items)||void 0===t?void 0:t.length)>0?x().createElement(V,{"data-index":n,className:T()("popover",{"overflow-menu-item":a}),trigger:"hover",placement:l,distance:0,key:r.key,strategy:"fixed",anchorDisplay:c,beforeVisibleChange:e=>{u(e.detail),L(e)}},x().createElement(z,{className:"sub-menu-item-label",key:r.key,slot:"anchor",title:o?r.title:""},(0,Z.cx)(r)),x().createElement("div",{className:T()("sub-menu-sit-map-wrapper",{"in-group-site-map":!s}),onClick:e=>e.stopPropagation()},x().createElement(R.hX,{menuGroup:r,selectedKey:i,visible:m}))):null}r=I("eo-nav-menu",{styleTexts:[D.Z,_.Z,A.Z,E.Z]}),i=M({attribute:!1}),l=M({type:Boolean});var j=new WeakMap,U=new WeakMap;class Q extends w.ReactNextElement{constructor(){super(...arguments),(0,p.Z)(this,j,{writable:!0,value:(s(this),o(this))}),(0,p.Z)(this,U,{writable:!0,value:c(this)})}get menu(){return(0,v.Z)(this,j)}set menu(e){(0,h.Z)(this,j,e)}get showTooltip(){return(0,v.Z)(this,U)}set showTooltip(e){(0,h.Z)(this,U,e)}render(){return x().createElement($,{menu:this.menu,showTooltip:this.showTooltip})}}function $(e){var t,n,{menu:a,showTooltip:r}=e,i=(0,k.getHistory)(),o=(0,b.useRef)(null),[l,c]=(0,b.useState)(i.location),[s,m]=(0,b.useState)(Number.MAX_SAFE_INTEGER),{pathname:u,search:p}=l,[h,v]=(0,b.useState)([]),g=function(){var e=(0,d.Z)((function*(){var e,{selectedKeys:t}=(0,N.OZ)(null!==(e=null==a?void 0:a.menuItems)&&void 0!==e?e:[],u,p,"");v(t)}));return function(){return e.apply(this,arguments)}}();(0,b.useEffect)((()=>{var e=i.listen((e=>{c(e)}));return g(),e}),[]),(0,b.useEffect)((()=>{if(o.current){var e=new ResizeObserver((()=>{if(o.current){var e,{width:t}=null!==(e=o.current.getClientRects()[0])&&void 0!==e?e:{},n=o.current.childNodes;if(n.length&&t){for(var a=t,r=n.length,i=0;i<n.length;i++){var{width:l,height:c}=n[i].getClientRects()[0];if(!c&&a-40<0){r=i-1;break}if((a=a-l-(i>0?8:0))<0){r=i;break}}m(r<0?0:r)}}}));return e.observe(o.current),()=>{e.disconnect()}}}),[]);var f=(0,b.useMemo)((()=>({type:"subMenu",title:"···",items:null==a?void 0:a.menuItems.slice(s,a.menuItems.length)})),[null==a?void 0:a.menuItems,s]);return x().createElement("div",{ref:o,className:"nav-menu-wrapper"},null==a?void 0:a.menuItems.map(((e,t)=>{var n,a=s<=t;return x().createElement(x().Fragment,{key:e.key},(0,Z.cl)(e,!0)&&"category"===e.childLayout&&null!==(n=e.items)&&void 0!==n&&n.length?x().createElement(G,{index:t,hidden:a,item:e,showTooltip:r,selectedKey:h}):"group"===e.type&&"siteMap"===e.childLayout?x().createElement(W,{index:t,hidden:a,item:e,showTooltip:r,selectedKey:h,topData:!0}):x().createElement(K,{index:t,hidden:a,item:e,showTooltip:r,selectedKey:h,topData:!0}))})),x().createElement(K,{hidden:s>(null!==(t=null==a||null===(n=a.menuItems)||void 0===n?void 0:n.length)&&void 0!==t?t:0),item:f,showTooltip:r,selectedKey:h,overflow:!0,topData:!0}))}m=Q,({e:[o,c,s],c:[F,a]}=(0,g.Z)(m,[[i,1,"menu"],[l,1,"showTooltip"]],[r],0,void 0,w.ReactNextElement)),a();var H,O,X,J=n(8470),Y=n(2433),ee=n(4497),te=n(2152);(0,Y.initializeReactI18n)(ee.NS,ee.k);var ne,{defineElement:ae}=(0,y.createDecorators)();O=ae("eo-launchpad-button",{styleTexts:[te.Z]});class re extends w.ReactNextElement{render(){return x().createElement(J.L,null)}}X=re,[ne,H]=(0,g.Z)(X,[],[O],0,void 0,w.ReactNextElement).c,H();var ie=n(9171),oe=n(7370),le=n(5366),ce=n(6976),se=n(2892),me=n(6176),ue=n(3697),de=n(3132);function pe(e){var{active:t}=e,n=(0,b.useRef)(null),a=(0,b.useCallback)((()=>{var e;null===(e=n.current)||void 0===e||e.focus()}),[]),{loading:r,q:i,setQ:o,menuGroups:l,favorites:c,loadingFavorites:s,recentVisits:m,pushRecentVisit:u,toggleStar:d,isStarred:p}=(0,me.m1)(t),h=!!i,v=(0,b.useCallback)((e=>{o(e.target.value)}),[o]),g=(0,b.useCallback)((()=>{o("")}),[o]);return(0,b.useEffect)((()=>{var e;t&&(null===(e=n.current)||void 0===e||e.focus())}),[t]),x().createElement("div",{className:T()("launchpad",{active:t})},x().createElement(de.Z.Provider,{value:{searching:h,loadingFavorites:s,pushRecentVisit:u,toggleStar:d,isStarred:p}},x().createElement("div",{className:"sidebar"},x().createElement("div",{className:"quick-nav"},x().createElement("div",{className:"quick-nav-label"},"快捷访问"),x().createElement("ul",{className:"sidebar-menu"},c.map(((e,t)=>x().createElement(ue.L,{key:t,item:e})))))),x().createElement("div",{className:T()("content",{loading:r})},x().createElement(he,{loading:r}),x().createElement("div",{className:"search-box",onClick:a},x().createElement(se.V3,{lib:"fa",icon:"magnifying-glass",className:"search-icon"}),x().createElement("input",{ref:n,placeholder:"通过关键字搜索",value:i,onChange:v,className:"search-input"}),x().createElement(se.V3,{lib:"antd",theme:"filled",icon:"close-circle",className:T()("search-clear",{searching:h}),onClick:g})),x().createElement("div",{className:T()({empty:0===m.length})},x().createElement("div",{className:"recent-visits-label"},"最近访问"),x().createElement("ul",{className:"recent-visits"},m.map(((e,t)=>x().createElement("li",{key:t},x().createElement(se.kk,(0,f.Z)({onClick:()=>u(e)},"app"===e.type?{url:e.url}:{href:e.url,target:"_blank"}),x().createElement("span",null,e.name))))))),x().createElement("ul",{className:"menu-groups"},l.map((e=>x().createElement(ue.k,{key:e.name,name:e.name,items:e.items})))))))}function he(e){var{loading:t}=e;return t&&x().createElement("div",{className:"spinner"},x().createElement(se.V3,{lib:"fa",icon:"spinner",spinning:!0}))}var ve=n(6062),ge=n.n(ve),fe=n(4036),be=n.n(fe),xe=n(6793),ye=n.n(xe),ke=n(7892),we=n.n(ke),Ee=n(1173),Ze=n.n(Ee),Ne=n(2464),Ce=n.n(Ne),Te=n(7756),Se={};Se.styleTagTransform=Ce(),Se.setAttributes=we(),Se.insert=ye().bind(null,"head"),Se.domAPI=be(),Se.insertStyleElement=Ze(),ge()(Te.Z,Se),Te.Z&&Te.Z.locals&&Te.Z.locals;var Re,De,_e,Ae,{defineElement:Ie}=(0,y.createDecorators)(),Me=(0,ie.unwrapProvider)("basic.lock-body-scroll");De=Ie("eo-launchpad-button-v2",{styleTexts:[ce.Z]});class ze extends w.ReactNextElement{disconnectedCallback(){super.disconnectedCallback(),Me(this,!1)}render(){return x().createElement(Ve,{host:this})}}function Ve(e){var{host:t}=e,[n,a]=(0,b.useState)(!1),[r,i]=(0,b.useState)(!1),o=()=>{i((e=>!e))};return(0,b.useEffect)((()=>(0,k.getHistory)().listen((()=>{i(!1)}))),[]),(0,b.useEffect)((()=>{r&&!n&&a(!0)}),[r,n]),(0,b.useEffect)((()=>(oe.Z.filter=function(){return!0},(0,oe.Z)("alt+l",(e=>{e.preventDefault(),i((e=>!e))})),(0,oe.Z)("esc",(()=>{i(!1)})),()=>{oe.Z.unbind("alt+l"),oe.Z.unbind("esc")})),[]),(0,b.useEffect)((()=>{Me(t,r)}),[r,t]),(0,b.useEffect)((()=>{me.yp.schedulePrefetch(),me.sK.schedulePrefetch()}),[]),x().createElement(x().Fragment,null,x().createElement("a",{role:"button",className:T()("launchpad-button",{active:r}),onClick:o},x().createElement(le.Z,null)),x().createElement("div",{className:T()("mask",{active:r}),onClick:o}),n&&x().createElement(pe,{active:r}))}_e=ze,[Ae,Re]=(0,g.Z)(_e,[],[De],0,void 0,w.ReactNextElement).c,Re();var Ke=n(1815),Be=n(5178),Fe=(0,w.wrapBrick)("eo-icon"),Le=(0,w.wrapBrick)("eo-link"),Pe=(0,w.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),qe=((0,ie.unwrapProvider)("basic.show-dialog"),n(107));function Ge(e){var{data:t,actions:n,onActionClick:a}=e,{name:r,items:i}=t,[o,l]=(0,b.useState)(!1),c=(0,b.useMemo)((()=>null==n?void 0:n.filter((e=>(0,k.checkIfByTransform)(e,{type:"group"})))),[n]),s=(0,b.useCallback)((e=>{null==a||a({data:t,action:e.detail})}),[t,a]);return x().createElement("li",{className:T()("menu-group",{empty:0===i.length})},x().createElement("div",{className:"menu-group-label-wrapper"},x().createElement("span",{className:"menu-group-label"},r),x().createElement(Pe,{actions:c,onVisibleChange:e=>{l(e.detail)},onActionClick:s},x().createElement(Fe,{lib:"fa",icon:"gear",className:T()("menu-config",{active:o})}))),x().createElement("ul",{className:"menu"},i.map((e=>"dir"===e.type?x().createElement(je,{key:e.instanceId,data:e,actions:n,onActionClick:a}):x().createElement(We,{key:"".concat(e.type,"-").concat(e.id),data:e,actions:n,onActionClick:a})))))}function We(e){var t,{data:n,actions:a,onActionClick:r}=e,i=(0,b.useMemo)((()=>"app"===n.type?(0,qe.d)(n.locales,n.name):n.name),[n]),[o,l]=(0,b.useState)(!1),c=(0,b.useMemo)((()=>null==a?void 0:a.filter((e=>(0,k.checkIfByTransform)(e,n)))),[a,n]),s=(0,b.useCallback)((e=>{null==r||r({data:n,action:e.detail})}),[n,r]);return x().createElement("li",{className:"menu-item"},x().createElement(Le,null,x().createElement(Fe,(0,f.Z)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(t=n.menuIcon)&&void 0!==t&&t.lib&&n.menuIcon.icon?(0,Be.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),x().createElement("span",{className:"menu-item-label"},i)),x().createElement(Pe,{actions:c,onVisibleChange:e=>{l(e.detail)},onActionClick:s},x().createElement(Fe,{lib:"fa",icon:"gear",className:T()("menu-config",{active:o})})))}function je(e){var{data:t,actions:n,onActionClick:a}=e,{name:r,items:i}=t,[o,l]=(0,b.useState)(!1),[c,s]=(0,b.useState)(!1),m=(0,b.useMemo)((()=>null==n?void 0:n.filter((e=>(0,k.checkIfByTransform)(e,{type:"dir"})))),[n]),u=(0,b.useCallback)((()=>{s((e=>!e))}),[]),d=(0,b.useCallback)((e=>{null==a||a({data:t,action:e.detail})}),[t,a]);return x().createElement("li",{className:T()("menu-item folder",{empty:0===i.length})},x().createElement("div",{className:"menu-folder-label-wrapper"},x().createElement(Le,{onClick:u},x().createElement(Fe,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),x().createElement("span",{className:"menu-item-label"},r),x().createElement(Fe,{lib:"antd",icon:c?"up":"down",className:"menu-item-toggle"})),x().createElement(Pe,{actions:m,onVisibleChange:e=>{l(e.detail)},onActionClick:d},x().createElement(Fe,{lib:"fa",icon:"gear",className:T()("menu-config",{active:o})}))),x().createElement("ul",{className:T()("sub-menu",{expanded:c})},i.map((e=>x().createElement(We,{key:e.instanceId,data:e,actions:n,onActionClick:a})))))}var Ue,Qe,$e,He,Oe,Xe,Je,Ye,et,tt,nt,at,rt,it=n(9534),{defineElement:ot,property:lt,event:ct}=(0,y.createDecorators)();Qe=ot("nav.launchpad-config",{styleTexts:[it.Z]}),$e=lt({attribute:!1}),Oe=lt({attribute:!1}),Je=ct({type:"action.click"});var st=new WeakMap,mt=new WeakMap,ut=new WeakMap,dt=new WeakMap,pt=new WeakMap;class ht extends w.ReactNextElement{constructor(){super(...arguments),(0,p.Z)(this,dt,{get:gt,set:vt}),(0,p.Z)(this,st,{writable:!0,value:(nt(this),He(this))}),(0,p.Z)(this,mt,{writable:!0,value:Xe(this)}),(0,p.Z)(this,ut,{writable:!0,value:Ye(this)}),(0,p.Z)(this,pt,{writable:!0,value:e=>{(0,v.Z)(this,dt).emit(e)}})}get menuGroups(){return(0,v.Z)(this,st)}set menuGroups(e){(0,h.Z)(this,st,e)}get actions(){return(0,v.Z)(this,mt)}set actions(e){(0,h.Z)(this,mt,e)}render(){return x().createElement(ft,{menuGroups:this.menuGroups,actions:this.actions,onActionClick:(0,v.Z)(this,pt)})}}function vt(e){tt(this,e)}function gt(){return et(this)}function ft(e){var{menuGroups:t,actions:n,onActionClick:a}=e;return x().createElement("ul",{className:"menu-groups"},null==t?void 0:t.map((e=>x().createElement(Ge,{key:e.instanceId,data:e,actions:n,onActionClick:a}))))}at=ht,({e:[He,Xe,Ye,et,tt,nt],c:[rt,Ue]}=(0,g.Z)(at,[[$e,1,"menuGroups"],[Oe,1,"actions"],[Je,1,"actionClickEvent",e=>(0,v.Z)(e,ut),(e,t)=>(0,h.Z)(e,ut,t)]],[Qe],0,(e=>pt.has((0,Ke.Z)(e))),w.ReactNextElement)),Ue();var bt,xt,yt,kt,wt=n(1150),Et=n(6446),Zt=n(2890),Nt=n(5239),Ct=n.n(Nt),Tt=n(7128),St=(0,w.wrapBrick)("eo-icon"),Rt=(0,w.wrapBrick)("eo-link"),{defineElement:Dt}=(0,y.createDecorators)();xt=Dt("nav.easyops-navbar-alerts",{styleTexts:[Tt.Z]});class _t extends w.ReactNextElement{render(){return x().createElement(It,null)}}yt=_t,[kt,bt]=(0,g.Z)(yt,[],[xt],0,void 0,w.ReactNextElement).c,bt();var At=new Zt.o(localStorage);function It(){var[e,t]=(0,b.useState)(null),[n,a]=(0,b.useState)(null),r=(0,wt.useCurrentApp)(),i=(0,b.useMemo)((()=>{var e=Et.auth.getAuth();return"license:".concat(e.org)}),[]);(0,b.useEffect)((()=>{var e,n,a=Et.auth.getAuth(),r=null===(e=a.license)||void 0===e?void 0:e.validDaysLeft;r&&r<=15&&a.isAdmin&&(!(n=At.getItem(i))||Ct()().unix()>n)&&t(r)}),[i]),(0,b.useEffect)((()=>{var e=e=>{var t=e.detail.renderTime,{loadTime:n,loadInfoPage:i}=(0,k.getRuntime)().getMiscSettings();null!=r&&r.isBuildPush&&n>0&&t>n&&a({renderTime:zt(t),suggestTime:zt(n),suggestUrl:i})};return window.addEventListener("route.render",e),()=>{window.removeEventListener("route.render",e)}}),[r]);var o=(0,b.useCallback)((()=>{At.setItem(i,Ct()().unix()+86400),t(null)}),[i]);return x().createElement(x().Fragment,null,n&&x().createElement(Mt,{text:"您的页面存在性能问题, 当前页面渲染时间 ".concat(n.renderTime," 秒, 规定阈值为: ").concat(n.suggestTime," 秒, 您已超过。请您针对该页面进行性能优化!"),type:"warning",link:n.suggestUrl?{label:"建议解决思路",url:n.suggestUrl}:void 0}),null!==e&&x().createElement(Mt,{text:"离 License 过期还有 ".concat(e," 天"),type:"info",closable:!0,onClose:o}))}function Mt(e){var{text:t,type:n,closable:a,link:r,onClose:i}=e;return x().createElement("div",{className:"alert ".concat(n)},x().createElement("span",{className:"text"},t),r&&x().createElement(Rt,{className:"link",href:r.url,target:"_blank"},r.label),a&&x().createElement(St,{lib:"antd",icon:"close",className:"icon",role:"button",onClick:i}))}function zt(e){return Math.floor(100*e)/1e5}var Vt,Kt,Bt,Ft,Lt=n(2252),{defineElement:Pt}=(0,y.createDecorators)();Kt=Pt("eo-launchpad-quick-access",{styleTexts:[Lt.Z]});class qt extends w.ReactNextElement{render(){return x().createElement(Gt,null)}}function Gt(){var{favorites:e,loadingFavorites:t,pushRecentVisit:n,toggleStar:a,isStarred:r}=(0,me.m1)(!0);return x().createElement(de.Z.Provider,{value:{searching:!1,loadingFavorites:t,pushRecentVisit:n,toggleStar:a,isStarred:r}},x().createElement("ul",{className:"quick-access-list"},e.map(((e,t)=>x().createElement(ue.L,{key:t,item:e})))))}Bt=qt,[Ft,Vt]=(0,g.Z)(Bt,[],[Kt],0,void 0,w.ReactNextElement).c,Vt();var Wt=n(2222),jt=n(1943),Ut={};Ut.styleTagTransform=Ce(),Ut.setAttributes=we(),Ut.insert=ye().bind(null,"head"),Ut.domAPI=be(),Ut.insertStyleElement=Ze(),ge()(jt.Z,Ut),jt.Z&&jt.Z.locals&&jt.Z.locals;var Qt,$t,Ht,Ot,Xt=(0,w.wrapBrick)("eo-icon"),{defineElement:Jt}=(0,y.createDecorators)();$t=Jt("eo-search-launchpad",{styleTexts:[Wt.Z]});class Yt extends w.ReactNextElement{render(){return x().createElement(en,null)}}function en(){var e=(0,b.useRef)(null),t=(0,b.useCallback)((()=>{var t;null===(t=e.current)||void 0===t||t.focus()}),[]),[n,a]=(0,b.useState)(!1),{loading:r,q:i,setQ:o,menuGroups:l,loadingFavorites:c,pushRecentVisit:s,toggleStar:m,isStarred:u}=(0,me.m1)(n),d=!!i,p=(0,b.useCallback)((e=>{o(e.target.value)}),[o]),h=(0,b.useCallback)((()=>{o("")}),[o]);return x().createElement(de.Z.Provider,{value:{searching:d,loadingFavorites:c,pushRecentVisit:s,toggleStar:m,isStarred:u}},x().createElement("div",{className:"container"},x().createElement("div",{className:"search-box",onClick:t},x().createElement(Xt,{lib:"fa",icon:"magnifying-glass",className:"search-icon"}),x().createElement("input",{ref:e,placeholder:"搜索产品/微应用",value:i,onChange:p,className:"search-input",onFocus:()=>a(!0),onBlur:()=>a(!1)}),x().createElement(Xt,{lib:"antd",theme:"filled",icon:"close-circle",className:T()("search-clear",{searching:d}),onClick:h,onMouseDown:e=>e.preventDefault()})),x().createElement("div",{className:T()("dropdown",{"dropdown-active":n}),onMouseDown:e=>e.preventDefault()},x().createElement("div",{className:T()("dropdown-content",{loading:r})},x().createElement(tn,{loading:r}),x().createElement("ul",{className:"menu-groups"},l.map((e=>x().createElement(ue.k,{key:e.name,name:e.name,items:e.items}))))))))}function tn(e){var{loading:t}=e;return t&&x().createElement("div",{className:"spinner"},x().createElement(Xt,{lib:"fa",icon:"spinner",spinning:!0}))}Ht=Yt,[Ot,Qt]=(0,g.Z)(Ht,[],[$t],0,void 0,w.ReactNextElement).c,Qt();var nn,an,rn,on,ln=n(4506),cn=(0,w.wrapBrick)("eo-link"),{defineElement:sn}=(0,y.createDecorators)();an=sn("eo-launchpad-recent-visits",{styleTexts:[ln.Z]});class mn extends w.ReactNextElement{render(){return x().createElement(un,null)}}function un(){var{recentVisits:e,pushRecentVisit:t}=(0,me.m1)(!0);return x().createElement("ul",{className:"recent-visits"},e.map(((e,n)=>x().createElement("li",{key:n},x().createElement(cn,(0,f.Z)({onClick:()=>t(e)},"app"===e.type?{url:e.url}:{href:e.url,target:"_blank"}),x().createElement("span",null,e.name))))))}rn=mn,[on,nn]=(0,g.Z)(rn,[],[an],0,void 0,w.ReactNextElement).c,nn()},7756:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(9601),r=n.n(a),i=n(2609),o=n.n(i)()(r());o.push([e.id,':root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme="dark"],\nhtml[data-theme="dark-v2"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}',""]);const l=o},1943:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(9601),r=n.n(a),i=n(2609),o=n.n(i)()(r());o.push([e.id,':root{--eo-search-launchpad-menu-icon-color:#8c8c8c}html[data-theme="dark"],\nhtml[data-theme="dark-v2"]{--eo-search-launchpad-menu-icon-color:rgba(255,255,255,0.45)}',""]);const l=o},7128:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(9601),r=n.n(a),i=n(2609),o=n.n(i)()(r());o.push([e.id,":host{display:block}:host([hidden]){display:none}.alert{height:32px;padding:0 20px;display:flex;justify-content:center;align-items:center}.text{color:var(--antd-text-color);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon{margin-left:20px;cursor:pointer;color:#8c8c8c}.info{background-color:var(--color-info-bg)}.warning{background-color:var(--color-warning-bg)}",""]);const l=o.toString()},6976:(e,t,n)=>{n.d(t,{Z:()=>d});var a=n(9601),r=n.n(a),i=n(2609),o=n.n(i),l=n(8991),c=n.n(l),s=new URL(n(2754),n.b),m=o()(r()),u=c()(s);m.push([e.id,`:host{display:inline-block;width:32px;height:32px;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 10px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);max-height:var(--eo-launchpad-v2-max-height);min-height:50vh;min-height:min(500px,var(--eo-launchpad-v2-max-height));background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;padding:20px 0 24px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-image:url(${u});background-size:205px 205px;background-repeat:no-repeat;background-position:left 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(160px,1fr))}.menu-groups{display:grid;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.sidebar-menu-item,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-launchpad-v2-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-remove,\n.menu-item-star{cursor:pointer}.menu-item-remove,\n.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.recent-visits-label{margin-bottom:12px;font-size:var(--card-title-font-size);color:var(--color-header-text);font-weight:500}.recent-visits{display:grid;grid-gap:8px;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.content,\n .search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}.content > :not(:last-child){margin-bottom:24px}}`,""]);const d=m.toString()},9534:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(9601),r=n.n(a),i=n(2609),o=n.n(i)()(r());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(160px,1fr))}.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;height:24px;width:0}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-item:not(.folder):hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible;width:24px}.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)}@supports not (inset: 0){.sub-menu,\n .menu,\n .menu-group-label-wrapper,\n .menu-folder-label-wrapper,\n .menu-item:not(.folder),\n .menu-item > eo-link::part(link){gap:0}.menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.menu-icon{margin-right:8px}eo-dropdown-actions,\n .menu-item-toggle{margin-left:8px}}",""]);const l=o.toString()},2252:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(9601),r=n.n(a),i=n(2609),o=n.n(i)()(r());o.push([e.id,":host{display:block}:host([hidden]){display:none}.quick-access-list{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,1fr);list-style:none;margin:0;padding:0}.sidebar-menu-item{display:flex;align-items:center;justify-content:space-between;overflow:hidden}.sidebar-menu-item > eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link){display:flex;align-items:center;height:20px;gap:8px;color:var(--color-header-text)}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item-remove{color:var(--color-secondary-text);cursor:pointer}.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)}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon{color:var(--color-brand-hover)}@supports not (inset: 0){.sidebar-menu-item,\n .sidebar-menu-item > eo-link::part(link){gap:0}.sidebar-menu-icon{margin-right:8px}}",""]);const l=o.toString()},4506:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(9601),r=n.n(a),i=n(2609),o=n.n(i)()(r());o.push([e.id,":host{display:block}:host([hidden]){display:none}.recent-visits{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-height:56px;overflow:hidden}.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-visits eo-link{display:block;min-width:0}.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}.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}",""]);const l=o.toString()},2222:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(9601),r=n.n(a),i=n(2609),o=n.n(i)()(r());o.push([e.id,":host{display:block}:host([hidden]){display:none}.container{position:relative}.dropdown{margin-top:5px;position:absolute;top:100%;left:0px;width:100%;z-index:1050;padding:20px 24px 24px;overflow:hidden;box-sizing:border-box;background-color:var(--antd-select-dropdown-bg);border-radius:4px;box-shadow:var(--antd-box-shadow-base);display:none}.dropdown-active{display:block}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;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)}.dropdown-content{min-width:0;display:flex;flex-direction:column;gap:24px;max-height:260px;overflow-y:auto}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.loading > :not(.spinner){display:none}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-groups,\n.menu,\n.sub-menu{list-style:none;margin:0;padding:0}.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-item > eo-link{display:block;min-width:0}.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.menu-groups{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-search-launchpad-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-star{cursor:pointer}.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-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)}.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}@supports not (inset: 0){.search-box,\n .menu,\n .sub-menu,\n .menu-item:not(.folder),\n .menu-item > eo-link::part(link){gap:0}.dropdown-content{display:grid;grid-auto-flow:row}.dropdown-content:not(.loading){height:-webkit-min-content;height:-moz-min-content;height:min-content}.menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}}",""]);const l=o.toString()},8991:e=>{e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},2754:(e,t,n)=>{e.exports=n.p+"images/9879d37a.png"},5863:(e,t,n)=>{function a(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{Z:()=>a})},175:(e,t,n)=>{function a(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:()=>a})},687:(e,t,n)=>{n.d(t,{Z:()=>r});var a=n(175);function r(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,(0,a.Z)(e,t,"get"))}},3395:(e,t,n)=>{n.d(t,{Z:()=>r});var a=n(5863);function r(e,t,n){(0,a.Z)(e,t),t.set(e,n)}},381:(e,t,n)=>{n.d(t,{Z:()=>r});var a=n(175);function r(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,a.Z)(e,t,"set"),n),n}},8685:(e,t,n)=>{n.d(t,{i:()=>i});var a=n(4795),r=n(3352),i=function(){var e=(0,a.Z)((function*(e,t){return(yield r.http.post("api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}()},5003:(e,t,n)=>{n.d(t,{I:()=>r});var a=n(3352),r=(e,t)=>a.http.delete("api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/".concat(e),t)},4008:(e,t,n)=>{n.d(t,{$:()=>o});var a=n(3028),r=n(4795),i=n(3352),o=function(){var e=(0,r.Z)((function*(e,t){return(yield i.http.get("api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection",(0,a.Z)((0,a.Z)({},t),{},{params:e}))).data}));return function(t,n){return e.apply(this,arguments)}}()},3821:(e,t,n)=>{n.d(t,{i:()=>o});var a=n(3028),r=n(4795),i=n(3352),o=function(){var e=(0,r.Z)((function*(e,t){return(yield i.http.get("api/gateway/user_service.my_collection.ListMyCollection/api/v1/user_service/my_collection/collections",(0,a.Z)((0,a.Z)({},t),{},{params:e}))).data}));return function(t,n){return e.apply(this,arguments)}}()},648:(e,t,n)=>{n.d(t,{B:()=>r});var a=n(3352),r=(e,t)=>a.http.post("api/gateway/user_service.my_collection.UpsertMyCollection/api/v1/user_service/my_collection/upsert_collections",e,t)}}]);
|
|
3
|
+
//# sourceMappingURL=7394.c0312131.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/7394.c0312131.js","mappings":"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","sources":["webpack:///./src/nav-menu/index.tsx","webpack:///./src/launchpad/index.tsx","webpack:///./src/launchpad-button-v2/Launchpad.tsx","webpack:///./src/launchpad-button-v2/host-context.css?59a8","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/easyops-navbar-alerts/index.tsx","webpack:///./src/launchpad-quick-access/index.tsx","webpack:///./src/search-launchpad/host-context.css?4d0b","webpack:///./src/search-launchpad/index.tsx","webpack:///./src/launchpad-recent-visits/index.tsx","webpack:///./src/launchpad-button-v2/host-context.css","webpack:///./src/search-launchpad/host-context.css","webpack:///./src/easyops-navbar-alerts/styles.shadow.css","webpack:///./src/launchpad-button-v2/styles.shadow.css","webpack:///./src/launchpad-config/styles.shadow.css","webpack:///./src/launchpad-quick-access/styles.shadow.css","webpack:///./src/launchpad-recent-visits/styles.shadow.css","webpack:///./src/search-launchpad/styles.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.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/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/createCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/deleteCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/listCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/my_collection/listMyCollection.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/my_collection/upsertMyCollection.js"],"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 styleText from \"./nav-menu.shadow.css\";\nimport { 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 { isSubMenu, isGroup, renderLinkCom, renderSpanCom } 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\";\nimport \"./host-context.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 * @insider\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, { useCallback, useEffect, 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 useEffect(() => {\n if (active) {\n searchInputRef.current?.focus();\n }\n }, [active]);\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","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n","import 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\";\nimport \"./host-context.css\";\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 * @insider\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\";\nimport { getAppLocaleName } from \"../shared/getLocaleName\";\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\n key={`${item.type}-${item.id}`}\n data={item}\n actions={actions}\n onActionClick={onActionClick}\n />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n data: ConfigMenuItemNormal;\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuItem({ data, actions, onActionClick }: MenuItemProps) {\n const name = useMemo(\n () =>\n data.type === \"app\"\n ? getAppLocaleName(data.locales, data.name)\n : data.name,\n [data]\n );\n\n const [dropdownActive, setDropdownActive] = useState(false);\n\n const filteredActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, data)),\n [actions, data]\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=\"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\">{name}</span>\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 </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\n key={item.instanceId}\n data={item}\n actions={actions}\n onActionClick={onActionClick}\n />\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 * @insider\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 React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport { useCurrentApp } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport moment from \"moment\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport styleText from \"./styles.shadow.css\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nconst { defineElement } = createDecorators();\n\n/**\n * 构件 `nav.easyops-navbar-alerts`\n * @insider\n */\nexport\n@defineElement(\"nav.easyops-navbar-alerts\", {\n styleTexts: [styleText],\n})\nclass EasyopsNavbarAlerts extends ReactNextElement {\n render() {\n return <EasyopsNavbarAlertsComponent />;\n }\n}\n\ninterface SlowRenderInfo {\n renderTime: number;\n suggestTime: number;\n suggestUrl?: string;\n}\n\nconst storage = new JsonStorage(localStorage);\n\nexport function EasyopsNavbarAlertsComponent() {\n const [licenseDaysLeft, setLicenseDaysLeft] = useState<number | null>(null);\n const [slowRender, setSlowRender] = useState<SlowRenderInfo | null>(null);\n const currentApp = useCurrentApp();\n const licenseDismissedKey = useMemo(() => {\n const authInfo = auth.getAuth();\n return `license:${authInfo.org}`;\n }, []);\n\n useEffect(() => {\n const authInfo = auth.getAuth();\n const validDaysLeft = authInfo.license?.validDaysLeft;\n let dismissExpireAt: number;\n if (\n validDaysLeft &&\n validDaysLeft <= 15 &&\n authInfo.isAdmin &&\n ((dismissExpireAt = storage.getItem(licenseDismissedKey)),\n !dismissExpireAt || moment().unix() > dismissExpireAt)\n ) {\n setLicenseDaysLeft(validDaysLeft);\n }\n }, [licenseDismissedKey]);\n\n useEffect(() => {\n const handelRouteRender = (e: Event): void => {\n const renderTime = (e as CustomEvent<{ renderTime: number }>).detail\n .renderTime;\n const { loadTime, loadInfoPage } = getRuntime().getMiscSettings() as {\n loadTime: number;\n loadInfoPage?: string;\n };\n if (currentApp?.isBuildPush && loadTime > 0 && renderTime > loadTime) {\n setSlowRender({\n renderTime: millisecondToSecond(renderTime),\n suggestTime: millisecondToSecond(loadTime),\n suggestUrl: loadInfoPage,\n });\n }\n };\n window.addEventListener(\"route.render\", handelRouteRender);\n return () => {\n window.removeEventListener(\"route.render\", handelRouteRender);\n };\n }, [currentApp]);\n\n const handleLicenseAlertDismiss = useCallback(() => {\n // 一天内不再显示。\n storage.setItem(licenseDismissedKey, moment().unix() + 86400);\n setLicenseDaysLeft(null);\n }, [licenseDismissedKey]);\n\n return (\n <>\n {slowRender && (\n <Alert\n text={`您的页面存在性能问题, 当前页面渲染时间 ${slowRender.renderTime} 秒, 规定阈值为: ${slowRender.suggestTime} 秒, 您已超过。请您针对该页面进行性能优化!`}\n type=\"warning\"\n link={\n slowRender.suggestUrl\n ? {\n label: \"建议解决思路\",\n url: slowRender.suggestUrl,\n }\n : undefined\n }\n />\n )}\n {licenseDaysLeft !== null && (\n <Alert\n text={`离 License 过期还有 ${licenseDaysLeft} 天`}\n type=\"info\"\n closable\n onClose={handleLicenseAlertDismiss}\n />\n )}\n </>\n );\n}\n\ninterface AlertProps {\n text: string;\n type: \"info\" | \"warning\";\n closable?: boolean;\n link?: {\n label: string;\n url: string;\n };\n onClose?: () => void;\n}\n\nfunction Alert({ text, type, closable, link, onClose }: AlertProps) {\n return (\n <div className={`alert ${type}`}>\n <span className=\"text\">{text}</span>\n {link && (\n <WrappedLink className=\"link\" href={link.url} target=\"_blank\">\n {link.label}\n </WrappedLink>\n )}\n {closable && (\n <WrappedIcon\n lib=\"antd\"\n icon=\"close\"\n className=\"icon\"\n role=\"button\"\n onClick={onClose}\n />\n )}\n </div>\n );\n}\n\nfunction millisecondToSecond(millisecond: number) {\n return Math.floor(millisecond * 100) / 1e5;\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { useLaunchpadInfo } from \"../launchpad-button-v2/useLaunchpadInfo\";\nimport { LaunchpadsContext } from \"../launchpad-button-v2/LaunchpadContext\";\nimport { SidebarMenuItem } from \"../launchpad-button-v2/MenuGroup\";\nimport { SidebarMenuItemData } from \"../launchpad-button-v2/interfaces\";\n\nconst { defineElement } = createDecorators();\n\n/**\n * 快捷访问\n * @insider\n */\nexport\n@defineElement(\"eo-launchpad-quick-access\", {\n styleTexts: [styleText],\n})\nclass EoLaunchpadQuickAccess extends ReactNextElement {\n render() {\n return <EoLaunchpadQuickAccessComponent />;\n }\n}\n\nexport function EoLaunchpadQuickAccessComponent() {\n const {\n favorites,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n } = useLaunchpadInfo(true);\n\n return (\n <LaunchpadsContext.Provider\n value={{\n searching: false,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n }}\n >\n <ul className=\"quick-access-list\">\n {favorites.map((item, index) => (\n <SidebarMenuItem key={index} item={item as SidebarMenuItemData} />\n ))}\n </ul>\n </LaunchpadsContext.Provider>\n );\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useCallback, useRef, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport classNames from \"classnames\";\nimport { LaunchpadsContext } from \"../launchpad-button-v2/LaunchpadContext\";\nimport { useLaunchpadInfo } from \"../launchpad-button-v2/useLaunchpadInfo\";\nimport { MenuGroup } from \"../launchpad-button-v2/MenuGroup\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport \"./host-context.css\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst { defineElement } = createDecorators();\n\n/**\n * launchpad 搜索\n * @insider\n */\nexport\n@defineElement(\"eo-search-launchpad\", {\n styleTexts: [styleText],\n})\nclass EoSearchLaunchpad extends ReactNextElement {\n render() {\n return <EoSearchLaunchpadComponent />;\n }\n}\n\nexport function EoSearchLaunchpadComponent() {\n const searchInputRef = useRef<HTMLInputElement>(null);\n const handleClickSearchBox = useCallback(() => {\n searchInputRef.current?.focus();\n }, []);\n\n const [active, setActive] = useState(false);\n\n const {\n loading,\n q,\n setQ,\n menuGroups,\n loadingFavorites,\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 <LaunchpadsContext.Provider\n value={{\n searching,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n }}\n >\n <div className=\"container\">\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 onFocus={() => setActive(true)}\n onBlur={() => setActive(false)}\n />\n <WrappedIcon\n lib=\"antd\"\n theme=\"filled\"\n icon=\"close-circle\"\n className={classNames(\"search-clear\", { searching })}\n onClick={clearSearch}\n onMouseDown={(e) => e.preventDefault()}\n />\n </div>\n <div\n className={classNames(\"dropdown\", { \"dropdown-active\": active })}\n onMouseDown={(e) => e.preventDefault()}\n >\n <div className={classNames(\"dropdown-content\", { loading })}>\n <Loading loading={loading} />\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 </div>\n </div>\n </LaunchpadsContext.Provider>\n );\n}\n\nfunction Loading({ loading }: { loading: boolean }) {\n return (\n loading && (\n <div className=\"spinner\">\n <WrappedIcon lib=\"fa\" icon=\"spinner\" spinning />\n </div>\n )\n );\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { useLaunchpadInfo } from \"../launchpad-button-v2/useLaunchpadInfo\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nconst { defineElement } = createDecorators();\n\n/**\n * launchpad 最近访问\n * @insider\n */\nexport\n@defineElement(\"eo-launchpad-recent-visits\", {\n styleTexts: [styleText],\n})\nclass EoLaunchpadRecentVisits extends ReactNextElement {\n render() {\n return <EoLaunchpadRecentVisitsComponent />;\n }\n}\n\nexport function EoLaunchpadRecentVisitsComponent() {\n const { recentVisits, pushRecentVisit } = useLaunchpadInfo(true);\n\n return (\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 );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--eo-search-launchpad-menu-icon-color:#8c8c8c}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-search-launchpad-menu-icon-color:rgba(255,255,255,0.45)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.alert{height:32px;padding:0 20px;display:flex;justify-content:center;align-items:center}.text{color:var(--antd-text-color);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon{margin-left:20px;cursor:pointer;color:#8c8c8c}.info{background-color:var(--color-info-bg)}.warning{background-color:var(--color-warning-bg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\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;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 10px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);max-height:var(--eo-launchpad-v2-max-height);min-height:50vh;min-height:min(500px,var(--eo-launchpad-v2-max-height));background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;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(160px,1fr))}.menu-groups{display:grid;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.sidebar-menu-item,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-launchpad-v2-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-remove,\n.menu-item-star{cursor:pointer}.menu-item-remove,\n.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.recent-visits-label{margin-bottom:12px;font-size:var(--card-title-font-size);color:var(--color-header-text);font-weight:500}.recent-visits{display:grid;grid-gap:8px;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.content,\n .search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}.content > :not(:last-child){margin-bottom:24px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// 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(160px,1fr))}.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;height:24px;width:0}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-item:not(.folder):hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible;width:24px}.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)}@supports not (inset: 0){.sub-menu,\n .menu,\n .menu-group-label-wrapper,\n .menu-folder-label-wrapper,\n .menu-item:not(.folder),\n .menu-item > eo-link::part(link){gap:0}.menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.menu-icon{margin-right:8px}eo-dropdown-actions,\n .menu-item-toggle{margin-left:8px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.quick-access-list{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,1fr);list-style:none;margin:0;padding:0}.sidebar-menu-item{display:flex;align-items:center;justify-content:space-between;overflow:hidden}.sidebar-menu-item > eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link){display:flex;align-items:center;height:20px;gap:8px;color:var(--color-header-text)}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item-remove{color:var(--color-secondary-text);cursor:pointer}.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)}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon{color:var(--color-brand-hover)}@supports not (inset: 0){.sidebar-menu-item,\n .sidebar-menu-item > eo-link::part(link){gap:0}.sidebar-menu-icon{margin-right:8px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.recent-visits{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-height:56px;overflow:hidden}.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-visits eo-link{display:block;min-width:0}.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}.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.container{position:relative}.dropdown{margin-top:5px;position:absolute;top:100%;left:0px;width:100%;z-index:1050;padding:20px 24px 24px;overflow:hidden;box-sizing:border-box;background-color:var(--antd-select-dropdown-bg);border-radius:4px;box-shadow:var(--antd-box-shadow-base);display:none}.dropdown-active{display:block}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;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)}.dropdown-content{min-width:0;display:flex;flex-direction:column;gap:24px;max-height:260px;overflow-y:auto}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.loading > :not(.spinner){display:none}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-groups,\n.menu,\n.sub-menu{list-style:none;margin:0;padding:0}.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-item > eo-link{display:block;min-width:0}.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.menu-groups{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-search-launchpad-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-star{cursor:pointer}.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-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)}.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}@supports not (inset: 0){.search-box,\n .menu,\n .sub-menu,\n .menu-item:not(.folder),\n .menu-item > eo-link::part(link){gap:0}.dropdown-content{display:grid;grid-auto-flow:row}.dropdown-content:not(.loading){height:-webkit-min-content;height:-moz-min-content;height:min-content}.menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-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};","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}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 新增我的收藏V2\n * @endpoint POST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_createCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.user_service.launchpad.CreateCollectionV2@1.0.0 */(yield http.post(\"api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection\", data, options)).data\n );\n });\n return function LaunchpadApi_createCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=createCollectionV2.js.map","import { http } from \"@next-core/http\";\n\n/**\n * @description 删除我的收藏V2\n * @endpoint DELETE /api/v2/launchpad/collection/:instanceId\n */\nexport var LaunchpadApi_deleteCollectionV2 = (instanceId, options) => /**! @contract easyops.api.user_service.launchpad.DeleteCollectionV2@1.0.0 */http.delete(\"api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/\".concat(instanceId), options);\n//# sourceMappingURL=deleteCollectionV2.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取我的收藏列表V2\n * @endpoint LIST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_listCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.launchpad.ListCollectionV2@1.0.0 */(yield http.get(\"api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function LaunchpadApi_listCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listCollectionV2.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取我的收藏列表\n * @endpoint GET /api/v1/user_service/my_collection/collections\n */\nexport var MyCollectionApi_listMyCollection = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.my_collection.ListMyCollection@1.0.0 */(yield http.get(\"api/gateway/user_service.my_collection.ListMyCollection/api/v1/user_service/my_collection/collections\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function MyCollectionApi_listMyCollection(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listMyCollection.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 更新/新增我的收藏,这个接口用于全量更新单实例\n * @endpoint POST /api/v1/user_service/my_collection/upsert_collections\n */\nexport var MyCollectionApi_upsertMyCollection = (data, options) => /**! @contract easyops.api.user_service.my_collection.UpsertMyCollection@1.0.0 */http.post(\"api/gateway/user_service.my_collection.UpsertMyCollection/api/v1/user_service/my_collection/upsert_collections\", data, options);\n//# sourceMappingURL=upsertMyCollection.js.map"],"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","Launchpad","searchInputRef","handleClickSearchBox","useCallback","_searchInputRef$curre","focus","loading","q","setQ","menuGroups","favorites","loadingFavorites","recentVisits","pushRecentVisit","toggleStar","isStarred","useLaunchpadInfo","searching","handleSearch","target","clearSearch","_searchInputRef$curre2","classNames","LaunchpadsContext","Provider","SidebarMenuItem","Loading","WrappedIcon","lib","icon","placeholder","onChange","theme","empty","WrappedLink","url","href","name","group","MenuGroup","spinning","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_EoLaunchpadButtonV","lockBodyScroll","unwrapProvider","EoLaunchpadButtonV2","disconnectedCallback","super","EoLaunchpadButtonV2Component","host","initialized","setInitialized","setActive","toggleLaunchpad","previous","hotkeys","filter","preventDefault","unbind","deferredLaunchpadInfo","schedulePrefetch","deferredFavorites","role","LaunchpadSvg","WrappedDropdownActions","onActionClick","data","actions","dropdownActive","setDropdownActive","filteredActions","checkIfByTransform","handleActionClick","action","MenuItemFolder","instanceId","MenuItem","concat","id","_data$menuIcon","getAppLocaleName","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","LaunchpadConfigComponent","_set_actionClickEvent","_get_actionClickEvent","o","_","has","_checkInRHS","_EasyopsNavbarAlerts","EasyopsNavbarAlerts","EasyopsNavbarAlertsComponent","storage","JsonStorage","localStorage","licenseDaysLeft","setLicenseDaysLeft","slowRender","setSlowRender","currentApp","useCurrentApp","licenseDismissedKey","authInfo","auth","getAuth","org","_authInfo$license","dismissExpireAt","validDaysLeft","license","isAdmin","getItem","moment","unix","handelRouteRender","renderTime","loadTime","loadInfoPage","getRuntime","getMiscSettings","isBuildPush","millisecondToSecond","suggestTime","suggestUrl","addEventListener","removeEventListener","handleLicenseAlertDismiss","setItem","Alert","link","label","undefined","closable","onClose","millisecond","Math","floor","_EoLaunchpadQuickAcce","EoLaunchpadQuickAccess","EoLaunchpadQuickAccessComponent","_EoSearchLaunchpad","EoSearchLaunchpad","EoSearchLaunchpadComponent","onFocus","onBlur","onMouseDown","_EoLaunchpadRecentVis","EoLaunchpadRecentVisits","EoLaunchpadRecentVisitsComponent","___CSS_LOADER_EXPORT___","push","module","toString","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","exports","String","__esModule","default","test","hash","needQuotes","replace","_checkPrivateRedeclaration","obj","privateCollection","TypeError","_classExtractFieldDescriptor","receiver","privateMap","descriptor","call","classExtractFieldDescriptor","LaunchpadApi_createCollectionV2","http","post","_x","_x2","LaunchpadApi_deleteCollectionV2","delete","LaunchpadApi_listCollectionV2","params","MyCollectionApi_listMyCollection","MyCollectionApi_upsertMyCollection"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[6681,6522,5628],{5074:(e,t,n)=>{n.r(t),n.d(t,{EasyopsNavbarAlerts:()=>i,EasyopsNavbarAlertsComponent:()=>S,WrappedIcon:()=>b,WrappedLink:()=>w});var r,o,a,i,c=n(2604),s=n(8657),l=n.n(s),u=n(2462),f=n(2354),d=n(7267),v=n(1150),p=n(6446),g=(n(9234),n(2890)),m=n(5239),h=n.n(m),y=n(7128),b=(0,f.wrapBrick)("eo-icon"),w=(0,f.wrapBrick)("eo-link"),{defineElement:x}=(0,u.createDecorators)();o=x("nav.easyops-navbar-alerts",{styleTexts:[y.Z]});class E extends f.ReactNextElement{render(){return l().createElement(S,null)}}a=E,[i,r]=(0,c.Z)(a,[],[o],0,void 0,f.ReactNextElement).c,r();var k=new g.o(localStorage);function S(){var[e,t]=(0,s.useState)(null),[n,r]=(0,s.useState)(null),o=(0,v.useCurrentApp)(),a=(0,s.useMemo)((()=>{var e=p.auth.getAuth();return"license:".concat(e.org)}),[]);(0,s.useEffect)((()=>{var e,n,r=p.auth.getAuth(),o=null===(e=r.license)||void 0===e?void 0:e.validDaysLeft;o&&o<=15&&r.isAdmin&&(!(n=k.getItem(a))||h()().unix()>n)&&t(o)}),[a]),(0,s.useEffect)((()=>{var e=e=>{var t=e.detail.renderTime,{loadTime:n,loadInfoPage:a}=(0,d.getRuntime)().getMiscSettings();null!=o&&o.isBuildPush&&n>0&&t>n&&r({renderTime:I(t),suggestTime:I(n),suggestUrl:a})};return window.addEventListener("route.render",e),()=>{window.removeEventListener("route.render",e)}}),[o]);var i=(0,s.useCallback)((()=>{k.setItem(a,h()().unix()+86400),t(null)}),[a]);return l().createElement(l().Fragment,null,n&&l().createElement(A,{text:"您的页面存在性能问题, 当前页面渲染时间 ".concat(n.renderTime," 秒, 规定阈值为: ").concat(n.suggestTime," 秒, 您已超过。请您针对该页面进行性能优化!"),type:"warning",link:n.suggestUrl?{label:"建议解决思路",url:n.suggestUrl}:void 0}),null!==e&&l().createElement(A,{text:"离 License 过期还有 ".concat(e," 天"),type:"info",closable:!0,onClose:i}))}function A(e){var{text:t,type:n,closable:r,link:o,onClose:a}=e;return l().createElement("div",{className:"alert ".concat(n)},l().createElement("span",{className:"text"},t),o&&l().createElement(w,{className:"link",href:o.url,target:"_blank"},o.label),r&&l().createElement(b,{lib:"antd",icon:"close",className:"icon",role:"button",onClick:a}))}function I(e){return Math.floor(100*e)/1e5}},7128:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(9601),o=n.n(r),a=n(2609),i=n.n(a)()(o());i.push([e.id,":host{display:block}:host([hidden]){display:none}.alert{height:32px;padding:0 20px;display:flex;justify-content:center;align-items:center}.text{color:var(--antd-text-color);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon{margin-left:20px;cursor:pointer;color:#8c8c8c}.info{background-color:var(--color-info-bg)}.warning{background-color:var(--color-warning-bg)}",""]);const c=i.toString()},2609:e=>{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,o,a){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var c=0;c<this.length;c++){var s=this[c][0];null!=s&&(i[s]=!0)}for(var l=0;l<e.length;l++){var u=[].concat(e[l]);r&&i[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),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},9601:e=>{e.exports=function(e){return e[1]}},2604:(e,t,n)=>{n.d(t,{Z:()=>d});var r=n(6522),o=n(1815);function a(e,t){return function(n,r){return e[t].call(n,r)}}function i(e,t){return function(n){if(t.v)throw new Error("attempted to call addInitializer after decoration was finished");s(n,"An initializer",!0),e.push(n)}}function c(e,t,n,r,o,c,s,l,u,f,d){function v(e){return function(t,n){if(!f(t))throw new TypeError("Attempted to access private element on non-instance");return e(t,n)}}var p,g,m={v:!1},h={kind:["field","accessor","method","getter","setter","field"][c],name:l?"#"+n:n,static:s,private:l,metadata:d,addInitializer:i(o,m)};if(l||0!==c&&2!==c)if(2===c)p=v((function(){return r.value}));else{var y=0===c||1===c;(y||3===c)&&(p=a(r,"get"),l&&(p=v(p))),(y||4===c)&&(g=a(r,"set"),l&&(g=v(g)))}else p=function(e){return e[n]},0===c&&(g=function(e,t){e[n]=t});var b=l?f.bind():function(e){return n in e},w=h.access={has:b};p&&(w.get=p),g&&(w.set=g);try{return e.call(t,u,h)}finally{m.v=!0}}function s(e,t,n){if("function"!=typeof e&&(n||void 0!==e))throw new TypeError(t+" must be a function")}function l(e,t){var n=(0,r.Z)(t);if(1===e){if("object"!==n||!t)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");s(t.get,"accessor.get"),s(t.set,"accessor.set"),s(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,t,n,r,o,i,s,u,f,d,v){var p,g,m,h,y=n[0],b=n[3];r||Array.isArray(y)||(y=[y]),u?p=0===i||1===i?{get:function(){return b(this)},set:function(e){n[4](this,e)}}:3===i?{get:b}:4===i?{set:b}:{value:b}:0!==i&&(p=Object.getOwnPropertyDescriptor(t,o)),1===i?m={get:p.get,set:p.set}:2===i?m=p.value:3===i?m=p.get:4===i&&(m=p.set);for(var w=r?2:1,x=y.length-1;x>=0;x-=w){var E;void 0!==(h=c(y[x],r?y[x-1]:void 0,o,p,f,i,s,u,m,d,v))&&(l(i,h),0===i?E=h:1===i?(E=h.init,m={get:h.get||m.get,set:h.set||m.set}):m=h,void 0!==E&&(void 0===g?g=E:"function"==typeof g?g=[g,E]:g.push(E)))}if(0===i||1===i){if(void 0===g)g=function(e,t){return t};else if("function"!=typeof g){var k=g;g=function(e,t){for(var n=t,r=k.length-1;r>=0;r--)n=k[r].call(e,n);return n}}else{var S=g;g=g.call.bind(S)}e.push(g)}0!==i&&(1===i?(p.get=m.get,p.set=m.set):2===i?p.value=m:3===i?p.get=m:4===i&&(p.set=m),u?1===i?e.push(a(p,"get"),a(p,"set")):e.push(2===i?m:Function.call.bind(m)):Object.defineProperty(t,o,p))}function f(e,t){return Object.defineProperty(e,Symbol.metadata||Symbol.for("Symbol.metadata"),{configurable:!0,enumerable:!0,value:t})}function d(e,t,n,r,a,c){if(arguments.length>=6)var s=c[Symbol.metadata||Symbol.for("Symbol.metadata")];var d=Object.create(void 0===s?null:s),v=function(e,t,n,r){var a,i,c,s=[],l=new Map,f=new Map;function d(e){e&&s.push((function(t){for(var n=0;n<e.length;n++)e[n].call(t);return t}))}for(var v=0;v<t.length;v++){var p=t[v];if(Array.isArray(p)){var g,m,h=p[1],y=p[2],b=p.length>3,w=16&h,x=!!(8&h),E=n;if(h&=7,x?(g=e,m=i=i||[],b&&!c&&(c=function(t){return(0,o.Z)(t)===e}),E=c):(g=e.prototype,m=a=a||[]),0!==h&&!b){var k=x?f:l,S=k.get(y)||0;if(!0===S||3===S&&4!==h||4===S&&3!==h)throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+y);k.set(y,!(!S&&h>2)||h)}u(s,g,p,w,y,h,x,b,m,E,r)}}return d(a),d(i),s}(e,t,a,d);return n.length||f(e,d),{e:v,get c(){return function(e,t,n,r){if(t.length){for(var o=[],a=e,c=e.name,s=n?2:1,u=t.length-1;u>=0;u-=s){var d={v:!1};try{var v=t[u].call(n?t[u-1]:void 0,a,{kind:"class",name:c,addInitializer:i(o,d),metadata:r})}finally{d.v=!0}void 0!==v&&(l(5,v),a=v)}return[f(a,r),function(){for(var e=0;e<o.length;e++)o[e].call(a)}]}}(e,n,r,d)}}}},1815:(e,t,n)=>{n.d(t,{Z:()=>o});var r=n(6522);function o(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}},6522:(e,t,n)=>{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})},2890:(e,t,n)=>{n.d(t,{o:()=>r});class r{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"brick-next-";this.storage=e,this.prefix=t}setItem(e,t){this.storage.setItem(this.prefix+e,JSON.stringify(t))}getItem(e){return JSON.parse(this.storage.getItem(this.prefix+e))}removeItem(e){return this.storage.removeItem(this.prefix+e)}clear(){return this.storage.clear()}}}}]);
|
|
2
|
+
//# sourceMappingURL=easyops-navbar-alerts.900f9c18.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/easyops-navbar-alerts.900f9c18.js","mappings":"yPA4BEA,E,gIAZWC,GAAcC,EAAAA,EAAAA,WAAyC,WACvDC,GAAcD,EAAAA,EAAAA,WAA2B,YAEhD,cAAEE,IAAkBC,EAAAA,EAAAA,oBAE1BC,EAKCF,EAAc,4BAA6B,CAC1CG,WAAY,CAACC,EAAAA,KADf,MAAAC,UAGkCC,EAAAA,iBAChCC,SACE,OAAOC,IAAAA,cAACC,EAA4B,KACtC,EACDC,EAAAL,GAAAT,EAAAe,IAAAC,EAAAA,EAAAA,GAAAF,EAAA,IAAAR,GAAA,SAJiCI,EAAAA,kBAAgBO,EAAAF,IAYlD,IAAMG,EAAU,IAAIC,EAAAA,EAAYC,cAEzB,SAASP,IACd,IAAOQ,EAAiBC,IAAsBC,EAAAA,EAAAA,UAAwB,OAC/DC,EAAYC,IAAiBF,EAAAA,EAAAA,UAAgC,MAC9DG,GAAaC,EAAAA,EAAAA,iBACbC,GAAsBC,EAAAA,EAAAA,UAAQ,KAClC,IAAMC,EAAWC,EAAAA,KAAKC,UACtB,MAAO,WAAPC,OAAkBH,EAASI,IAAG,GAC7B,KAEHC,EAAAA,EAAAA,YAAU,KAAM,IAAAC,EAGVC,EAFEP,EAAWC,EAAAA,KAAKC,UAChBM,EAAgC,QAAnBF,EAAGN,EAASS,eAAO,IAAAH,OAAA,EAAhBA,EAAkBE,cAGtCA,GACAA,GAAiB,IACjBR,EAASU,YACPH,EAAkBnB,EAAQuB,QAAQb,KAChBc,MAASC,OAASN,IAEtCf,EAAmBgB,EACrB,GACC,CAACV,KAEJO,EAAAA,EAAAA,YAAU,KACR,IAAMS,EAAqBC,IACzB,IAAMC,EAAcD,EAA0CE,OAC3DD,YACG,SAAEE,EAAQ,aAAEC,IAAiBC,EAAAA,EAAAA,cAAaC,kBAI5CzB,SAAAA,EAAY0B,aAAeJ,EAAW,GAAKF,EAAaE,GAC1DvB,EAAc,CACZqB,WAAYO,EAAoBP,GAChCQ,YAAaD,EAAoBL,GACjCO,WAAYN,GAEhB,EAGF,OADAO,OAAOC,iBAAiB,eAAgBb,GACjC,KACLY,OAAOE,oBAAoB,eAAgBd,EAAkB,CAC9D,GACA,CAAClB,IAEJ,IAAMiC,GAA4BC,EAAAA,EAAAA,cAAY,KAE5C1C,EAAQ2C,QAAQjC,EAAqBc,MAASC,OAAS,OACvDrB,EAAmB,KAAK,GACvB,CAACM,IAEJ,OACEhB,IAAAA,cAAAA,IAAAA,SAAA,KACGY,GACCZ,IAAAA,cAACkD,EAAK,CACJC,KAAI,wBAAA9B,OAA0BT,EAAWsB,WAAU,eAAAb,OAAcT,EAAW8B,YAAW,2BACvFU,KAAK,UACLC,KACEzC,EAAW+B,WACP,CACEW,MAAO,SACPC,IAAK3C,EAAW+B,iBAElBa,IAIW,OAApB/C,GACCT,IAAAA,cAACkD,EAAK,CACJC,KAAI,kBAAA9B,OAAoBZ,EAAe,MACvC2C,KAAK,OACLK,UAAQ,EACRC,QAASX,IAKnB,CAaA,SAASG,EAAKS,GAAsD,IAArD,KAAER,EAAI,KAAEC,EAAI,SAAEK,EAAQ,KAAEJ,EAAI,QAAEK,GAAqBC,EAChE,OACE3D,IAAAA,cAAA,OAAK4D,UAAS,SAAAvC,OAAW+B,IACvBpD,IAAAA,cAAA,QAAM4D,UAAU,QAAQT,GACvBE,GACCrD,IAAAA,cAACT,EAAW,CAACqE,UAAU,OAAOC,KAAMR,EAAKE,IAAKO,OAAO,UAClDT,EAAKC,OAGTG,GACCzD,IAAAA,cAACX,EAAW,CACV0E,IAAI,OACJC,KAAK,QACLJ,UAAU,OACVK,KAAK,SACLC,QAASR,IAKnB,CAEA,SAASjB,EAAoB0B,GAC3B,OAAOC,KAAKC,MAAoB,IAAdF,GAAqB,GACzC,C,mEC3JIG,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,wYAAyY,KAElb,QAAeH,EAAwBI,U,WCDvCF,EAAOG,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA4EX,OAzEAA,EAAKH,SAAW,WACd,OAAOI,KAAKC,KAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GAoB5B,OAnBIA,EAAK,KACPC,GAAW,cAAc5D,OAAO2D,EAAK,GAAI,QAEvCA,EAAK,KACPC,GAAW,UAAU5D,OAAO2D,EAAK,GAAI,OAEnCE,IACFD,GAAW,SAAS5D,OAAO2D,EAAK,GAAGG,OAAS,EAAI,IAAI9D,OAAO2D,EAAK,IAAM,GAAI,OAE5EC,GAAWL,EAAuBI,GAC9BE,IACFD,GAAW,KAETD,EAAK,KACPC,GAAW,KAETD,EAAK,KACPC,GAAW,KAENA,CACT,IAAGG,KAAK,GACV,EAGAP,EAAKQ,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAAS9B,KAE7B,IAAImC,EAAyB,CAAC,EAC9B,GAAIH,EACF,IAAK,IAAII,EAAI,EAAGA,EAAId,KAAKK,OAAQS,IAAK,CACpC,IAAInB,EAAKK,KAAKc,GAAG,GACP,MAANnB,IACFkB,EAAuBlB,IAAM,EAEjC,CAEF,IAAK,IAAIoB,EAAK,EAAGA,EAAKP,EAAQH,OAAQU,IAAM,CAC1C,IAAIb,EAAO,GAAG3D,OAAOiE,EAAQO,IACzBL,GAAUG,EAAuBX,EAAK,WAGrB,IAAVU,SACc,IAAZV,EAAK,KAGdA,EAAK,GAAK,SAAS3D,OAAO2D,EAAK,GAAGG,OAAS,EAAI,IAAI9D,OAAO2D,EAAK,IAAM,GAAI,MAAM3D,OAAO2D,EAAK,GAAI,MAF/FA,EAAK,GAAKU,GAMVH,IACGP,EAAK,IAGRA,EAAK,GAAK,UAAU3D,OAAO2D,EAAK,GAAI,MAAM3D,OAAO2D,EAAK,GAAI,KAC1DA,EAAK,GAAKO,GAHVP,EAAK,GAAKO,GAMVE,IACGT,EAAK,IAGRA,EAAK,GAAK,cAAc3D,OAAO2D,EAAK,GAAI,OAAO3D,OAAO2D,EAAK,GAAI,KAC/DA,EAAK,GAAKS,GAHVT,EAAK,GAAK,GAAG3D,OAAOoE,IAMxBZ,EAAKN,KAAKS,GACZ,CACF,EACOH,CACT,C,WClFAL,EAAOG,QAAU,SAAUU,GACzB,OAAOA,EAAE,EACX,C,0DCFA,SAASS,EAAc7D,EAAG8D,GACxB,OAAO,SAAUC,EAAGC,GAClB,OAAOhE,EAAE8D,GAAGG,KAAKF,EAAGC,EACtB,CACF,CACA,SAASE,EAA2BlE,EAAG8D,GACrC,OAAO,SAAUC,GACf,GAAID,EAAEK,EAAG,MAAM,IAAIC,MAAM,kEACzBC,EAAeN,EAAG,kBAAkB,GAAK/D,EAAEsC,KAAKyB,EAClD,CACF,CACA,SAASO,EAAUtE,EAAG8D,EAAGC,EAAGC,EAAGO,EAAGnB,EAAGoB,EAAGC,EAAGC,EAAGtG,EAAGuG,GAC/C,SAASC,EAAwB5E,GAC/B,OAAO,SAAU8D,EAAGC,GAClB,IAAK3F,EAAE0F,GAAI,MAAM,IAAIe,UAAU,uDAC/B,OAAO7E,EAAE8D,EAAGC,EACd,CACF,CACA,IAAIe,EACFC,EACAC,EAAI,CACFb,GAAG,GAELA,EAAI,CACFc,KAAM,CAAC,QAAS,WAAY,SAAU,SAAU,SAAU,SAAS7B,GACnE8B,KAAMT,EAAI,IAAMV,EAAIA,EACpB,OAAUS,EACV,QAAWC,EACXU,SAAUR,EACVS,eAAgBlB,EAA2BK,EAAGS,IAElD,GAAIP,GAAK,IAAMrB,GAAK,IAAMA,EACxB,GAAI,IAAMA,EAAG0B,EAAIF,GAAwB,WACvC,OAAOZ,EAAEqB,KACX,QAAQ,CACN,IAAIC,EAAI,IAAMlC,GAAK,IAAMA,GACxBkC,GAAK,IAAMlC,KAAO0B,EAAIjB,EAAcG,EAAG,OAAQS,IAAMK,EAAIF,EAAwBE,MAAOQ,GAAK,IAAMlC,KAAO2B,EAAIlB,EAAcG,EAAG,OAAQS,IAAMM,EAAIH,EAAwBG,IAC5K,MACKD,EAAI,SAAW9E,GACpB,OAAOA,EAAE+D,EACX,EAAG,IAAMX,IAAM2B,EAAI,SAAW/E,EAAG8D,GAC/B9D,EAAE+D,GAAKD,CACT,GACA,IAAIyB,EAAId,EAAIrG,EAAEoH,OAAS,SAAUxF,GAC7B,OAAO+D,KAAK/D,CACd,EACAyF,EAAItB,EAAEuB,OAAS,CACbC,IAAKJ,GAETT,IAAMW,EAAEG,IAAMd,GAAIC,IAAMU,EAAEI,IAAMd,GAChC,IACE,OAAO/E,EAAEiE,KAAKH,EAAGY,EAAGP,EACtB,CAAE,QACAa,EAAEb,GAAI,CACR,CACF,CACA,SAASE,EAAerE,EAAG8D,EAAGC,GAC5B,GAAI,mBAAqB/D,IAAM+D,QAAK,IAAW/D,GAAI,MAAM,IAAI6E,UAAUf,EAAI,sBAC7E,CACA,SAASgC,EAAuB9F,EAAG8D,GACjC,IAAIC,GAAI,OAAQD,GAChB,GAAI,IAAM9D,EAAG,CACX,GAAI,WAAa+D,IAAMD,EAAG,MAAM,IAAIe,UAAU,yFAC9CR,EAAeP,EAAE8B,IAAK,gBAAiBvB,EAAeP,EAAE+B,IAAK,gBAAiBxB,EAAeP,EAAEiC,KAAM,gBACvG,MAAO,GAAI,aAAehC,EAAG,MAAM,IAAIc,WAAW,IAAM7E,EAAI,QAAU,IAAMA,EAAI,QAAU,UAAY,+CACxG,CACA,SAASgG,EAAehG,EAAG8D,EAAGC,EAAGC,EAAGO,EAAGnB,EAAGoB,EAAGC,EAAGC,EAAGtG,EAAGuG,GACpD,IAAIG,EACFC,EACAC,EACAb,EACAmB,EAAIvB,EAAE,GACNwB,EAAIxB,EAAE,GACRC,GAAKiC,MAAMC,QAAQZ,KAAOA,EAAI,CAACA,IAAKb,EAAIK,EAAI,IAAM1B,GAAK,IAAMA,EAAI,CAC/DwC,IAAK,WACH,OAAOL,EAAE1C,KACX,EACAgD,IAAK,SAAa7F,GAChB+D,EAAE,GAAGlB,KAAM7C,EACb,GACE,IAAMoD,EAAI,CACZwC,IAAKL,GACH,IAAMnC,EAAI,CACZyC,IAAKN,GACH,CACFF,MAAOE,GACL,IAAMnC,IAAM0B,EAAIqB,OAAOC,yBAAyBtC,EAAGS,IAAK,IAAMnB,EAAI4B,EAAI,CACxEY,IAAKd,EAAEc,IACPC,IAAKf,EAAEe,KACL,IAAMzC,EAAI4B,EAAIF,EAAEO,MAAQ,IAAMjC,EAAI4B,EAAIF,EAAEc,IAAM,IAAMxC,IAAM4B,EAAIF,EAAEe,KACpE,IAAK,IAAIJ,EAAIzB,EAAI,EAAI,EAAGqC,EAAIf,EAAEpC,OAAS,EAAGmD,GAAK,EAAGA,GAAKZ,EAAG,CACxD,IAAIa,OACA,KAAYnC,EAAIG,EAAUgB,EAAEe,GAAIrC,EAAIsB,EAAEe,EAAI,QAAK,EAAQ9B,EAAGO,EAAGJ,EAAGtB,EAAGoB,EAAGC,EAAGO,EAAG5G,EAAGuG,MAAKmB,EAAuB1C,EAAGe,GAAI,IAAMf,EAAIkD,EAAInC,EAAI,IAAMf,GAAKkD,EAAInC,EAAE4B,KAAMf,EAAI,CACjKY,IAAKzB,EAAEyB,KAAOZ,EAAEY,IAChBC,IAAK1B,EAAE0B,KAAOb,EAAEa,MACbb,EAAIb,OAAG,IAAWmC,SAAM,IAAWvB,EAAIA,EAAIuB,EAAI,mBAAqBvB,EAAIA,EAAI,CAACA,EAAGuB,GAAKvB,EAAEzC,KAAKgE,IACnG,CACA,GAAI,IAAMlD,GAAK,IAAMA,EAAG,CACtB,QAAI,IAAW2B,EAAGA,EAAI,SAAW/E,EAAG8D,GAClC,OAAOA,CACT,OAAO,GAAI,mBAAqBiB,EAAG,CACjC,IAAIwB,EAAIxB,EACRA,EAAI,SAAW/E,EAAG8D,GAChB,IAAK,IAAIC,EAAID,EAAGE,EAAIuC,EAAErD,OAAS,EAAGc,GAAK,EAAGA,IAAKD,EAAIwC,EAAEvC,GAAGC,KAAKjE,EAAG+D,GAChE,OAAOA,CACT,CACF,KAAO,CACL,IAAIyC,EAAIzB,EACRA,EAAIA,EAAEd,KAAKuB,KAAKgB,EAClB,CACAxG,EAAEsC,KAAKyC,EACT,CACA,IAAM3B,IAAM,IAAMA,GAAK0B,EAAEc,IAAMZ,EAAEY,IAAKd,EAAEe,IAAMb,EAAEa,KAAO,IAAMzC,EAAI0B,EAAEO,MAAQL,EAAI,IAAM5B,EAAI0B,EAAEc,IAAMZ,EAAI,IAAM5B,IAAM0B,EAAEe,IAAMb,GAAIP,EAAI,IAAMrB,EAAIpD,EAAEsC,KAAKuB,EAAciB,EAAG,OAAQjB,EAAciB,EAAG,QAAU9E,EAAEsC,KAAK,IAAMc,EAAI4B,EAAIyB,SAASxC,KAAKuB,KAAKR,IAAMmB,OAAOO,eAAe5C,EAAGS,EAAGO,GAClR,CA6DA,SAAS6B,EAAe3G,EAAG8D,GACzB,OAAOqC,OAAOO,eAAe1G,EAAG4G,OAAOzB,UAAYyB,OAAY,IAAE,mBAAoB,CACnFC,cAAc,EACdC,YAAY,EACZzB,MAAOvB,GAEX,CACe,SAASiD,EAAc/G,EAAG8D,EAAGC,EAAGC,EAAGO,EAAGnB,GACnD,GAAI4D,UAAU9D,QAAU,EAAG,IAAIsB,EAAIpB,EAAEwD,OAAOzB,UAAYyB,OAAY,IAAE,oBACtE,IAAInC,EAAI0B,OAAOc,YAAO,IAAWzC,EAAI,KAAOA,GAC1CE,EAtEJ,SAAyB1E,EAAG8D,EAAGC,EAAGC,GAChC,IAAIO,EACFnB,EACAoB,EACAC,EAAI,GACJC,EAAI,IAAIwC,IACR9I,EAAI,IAAI8I,IACV,SAASC,EAAiBnH,GACxBA,GAAKyE,EAAEnC,MAAK,SAAUwB,GACpB,IAAK,IAAIC,EAAI,EAAGA,EAAI/D,EAAEkD,OAAQa,IAAK/D,EAAE+D,GAAGE,KAAKH,GAC7C,OAAOA,CACT,GACF,CACA,IAAK,IAAIa,EAAI,EAAGA,EAAIb,EAAEZ,OAAQyB,IAAK,CACjC,IAAIG,EAAIhB,EAAEa,GACV,GAAIsB,MAAMC,QAAQpB,GAAI,CACpB,IAAIC,EACFC,EACAb,EAAIW,EAAE,GACNQ,EAAIR,EAAE,GACNS,EAAIT,EAAE5B,OAAS,EACfuC,EAAI,GAAKtB,EACTkC,KAAO,EAAIlC,GACXmC,EAAIvC,EACN,GAAII,GAAK,EAAGkC,GAAKtB,EAAI/E,EAAGgF,EAAI5B,EAAIA,GAAK,GAAImC,IAAMf,IAAMA,EAAI,SAAWV,GAClE,OAAO,OAAWA,KAAO9D,CAC3B,GAAIsG,EAAI9B,IAAMO,EAAI/E,EAAEoH,UAAWpC,EAAIT,EAAIA,GAAK,IAAK,IAAMJ,IAAMoB,EAAG,CAC9D,IAAIgB,EAAIF,EAAIjI,EAAIsG,EACd8B,EAAID,EAAEX,IAAIN,IAAM,EAClB,IAAI,IAAOkB,GAAK,IAAMA,GAAK,IAAMrC,GAAK,IAAMqC,GAAK,IAAMrC,EAAG,MAAM,IAAIC,MAAM,wMAA0MkB,GACpRiB,EAAEV,IAAIP,KAAMkB,GAAKrC,EAAI,IAAMA,EAC7B,CACA6B,EAAevB,EAAGM,EAAGD,EAAGW,EAAGH,EAAGnB,EAAGkC,EAAGd,EAAGP,EAAGsB,EAAGtC,EAC/C,CACF,CACA,OAAOmD,EAAiB5C,GAAI4C,EAAiB/D,GAAIqB,CACnD,CAkCQ4C,CAAgBrH,EAAG8D,EAAGS,EAAGE,GAC/B,OAAOV,EAAEb,QAAUyD,EAAe3G,EAAGyE,GAAI,CACvCzE,EAAG0E,EACCtG,QACF,OArCN,SAAwB4B,EAAG8D,EAAGC,EAAGC,GAC/B,GAAIF,EAAEZ,OAAQ,CACZ,IAAK,IAAIqB,EAAI,GAAInB,EAAIpD,EAAGwE,EAAIxE,EAAEkF,KAAMT,EAAIV,EAAI,EAAI,EAAGW,EAAIZ,EAAEZ,OAAS,EAAGwB,GAAK,EAAGA,GAAKD,EAAG,CACnF,IAAIrG,EAAI,CACN+F,GAAG,GAEL,IACE,IAAIQ,EAAIb,EAAEY,GAAGT,KAAKF,EAAID,EAAEY,EAAI,QAAK,EAAQtB,EAAG,CAC1C6B,KAAM,QACNC,KAAMV,EACNY,eAAgBlB,EAA2BK,EAAGnG,GAC9C+G,SAAUnB,GAEd,CAAE,QACA5F,EAAE+F,GAAI,CACR,MACA,IAAWQ,IAAMmB,EAAuB,EAAGnB,GAAIvB,EAAIuB,EACrD,CACA,MAAO,CAACgC,EAAevD,EAAGY,GAAI,WAC5B,IAAK,IAAIhE,EAAI,EAAGA,EAAIuE,EAAErB,OAAQlD,IAAKuE,EAAEvE,GAAGiE,KAAKb,EAC/C,EACF,CACF,CAeakE,CAAetH,EAAG+D,EAAGC,EAAGS,EACjC,EAEJ,C,gDChMe,SAAS8C,EAAYvH,GAClC,GAAImG,OAAOnG,KAAOA,EAAG,MAAM6E,UAAU,qDAAuD,OAAS7E,GAAI,OAAQA,GAAK,SACtH,OAAOA,CACT,C,iBCJe,SAASwH,EAAQhD,GAG9B,OAAOgD,EAAU,mBAAqBZ,QAAU,iBAAmBA,OAAOa,SAAW,SAAUjD,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBoC,QAAUpC,EAAEkD,cAAgBd,QAAUpC,IAAMoC,OAAOQ,UAAY,gBAAkB5C,CACpH,EAAGgD,EAAQhD,EACb,C,kDCRO,MAAMlG,EACXoJ,YACUrJ,GAER,IADQsJ,EAAcX,UAAA9D,OAAA,QAAA3B,IAAAyF,UAAA,GAAAA,UAAA,GAAG,cAAa,KAD9B3I,QAAAA,EAAgB,KAChBsJ,OAAAA,CACP,CAEH3G,QAAiBkE,EAAcG,GAC7BxC,KAAKxE,QAAQ2C,QAAQ6B,KAAK8E,OAASzC,EAAM0C,KAAKC,UAAUxC,GAC1D,CAEAzF,QAAiBsF,GACf,OAAO0C,KAAKE,MAAMjF,KAAKxE,QAAQuB,QAAQiD,KAAK8E,OAASzC,GACvD,CAEA6C,WAAW7C,GACT,OAAOrC,KAAKxE,QAAQ0J,WAAWlF,KAAK8E,OAASzC,EAC/C,CAEA8C,QACE,OAAOnF,KAAKxE,QAAQ2J,OACtB,E","sources":["webpack:///./src/easyops-navbar-alerts/index.tsx","webpack:///./src/easyops-navbar-alerts/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/typeof.js","webpack:///../../src/JsonStorage.ts"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport { useCurrentApp } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport moment from \"moment\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport styleText from \"./styles.shadow.css\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nconst { defineElement } = createDecorators();\n\n/**\n * 构件 `nav.easyops-navbar-alerts`\n * @insider\n */\nexport\n@defineElement(\"nav.easyops-navbar-alerts\", {\n styleTexts: [styleText],\n})\nclass EasyopsNavbarAlerts extends ReactNextElement {\n render() {\n return <EasyopsNavbarAlertsComponent />;\n }\n}\n\ninterface SlowRenderInfo {\n renderTime: number;\n suggestTime: number;\n suggestUrl?: string;\n}\n\nconst storage = new JsonStorage(localStorage);\n\nexport function EasyopsNavbarAlertsComponent() {\n const [licenseDaysLeft, setLicenseDaysLeft] = useState<number | null>(null);\n const [slowRender, setSlowRender] = useState<SlowRenderInfo | null>(null);\n const currentApp = useCurrentApp();\n const licenseDismissedKey = useMemo(() => {\n const authInfo = auth.getAuth();\n return `license:${authInfo.org}`;\n }, []);\n\n useEffect(() => {\n const authInfo = auth.getAuth();\n const validDaysLeft = authInfo.license?.validDaysLeft;\n let dismissExpireAt: number;\n if (\n validDaysLeft &&\n validDaysLeft <= 15 &&\n authInfo.isAdmin &&\n ((dismissExpireAt = storage.getItem(licenseDismissedKey)),\n !dismissExpireAt || moment().unix() > dismissExpireAt)\n ) {\n setLicenseDaysLeft(validDaysLeft);\n }\n }, [licenseDismissedKey]);\n\n useEffect(() => {\n const handelRouteRender = (e: Event): void => {\n const renderTime = (e as CustomEvent<{ renderTime: number }>).detail\n .renderTime;\n const { loadTime, loadInfoPage } = getRuntime().getMiscSettings() as {\n loadTime: number;\n loadInfoPage?: string;\n };\n if (currentApp?.isBuildPush && loadTime > 0 && renderTime > loadTime) {\n setSlowRender({\n renderTime: millisecondToSecond(renderTime),\n suggestTime: millisecondToSecond(loadTime),\n suggestUrl: loadInfoPage,\n });\n }\n };\n window.addEventListener(\"route.render\", handelRouteRender);\n return () => {\n window.removeEventListener(\"route.render\", handelRouteRender);\n };\n }, [currentApp]);\n\n const handleLicenseAlertDismiss = useCallback(() => {\n // 一天内不再显示。\n storage.setItem(licenseDismissedKey, moment().unix() + 86400);\n setLicenseDaysLeft(null);\n }, [licenseDismissedKey]);\n\n return (\n <>\n {slowRender && (\n <Alert\n text={`您的页面存在性能问题, 当前页面渲染时间 ${slowRender.renderTime} 秒, 规定阈值为: ${slowRender.suggestTime} 秒, 您已超过。请您针对该页面进行性能优化!`}\n type=\"warning\"\n link={\n slowRender.suggestUrl\n ? {\n label: \"建议解决思路\",\n url: slowRender.suggestUrl,\n }\n : undefined\n }\n />\n )}\n {licenseDaysLeft !== null && (\n <Alert\n text={`离 License 过期还有 ${licenseDaysLeft} 天`}\n type=\"info\"\n closable\n onClose={handleLicenseAlertDismiss}\n />\n )}\n </>\n );\n}\n\ninterface AlertProps {\n text: string;\n type: \"info\" | \"warning\";\n closable?: boolean;\n link?: {\n label: string;\n url: string;\n };\n onClose?: () => void;\n}\n\nfunction Alert({ text, type, closable, link, onClose }: AlertProps) {\n return (\n <div className={`alert ${type}`}>\n <span className=\"text\">{text}</span>\n {link && (\n <WrappedLink className=\"link\" href={link.url} target=\"_blank\">\n {link.label}\n </WrappedLink>\n )}\n {closable && (\n <WrappedIcon\n lib=\"antd\"\n icon=\"close\"\n className=\"icon\"\n role=\"button\"\n onClick={onClose}\n />\n )}\n </div>\n );\n}\n\nfunction millisecondToSecond(millisecond: number) {\n return Math.floor(millisecond * 100) / 1e5;\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}:host([hidden]){display:none}.alert{height:32px;padding:0 20px;display:flex;justify-content:center;align-items:center}.text{color:var(--antd-text-color);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon{margin-left:20px;cursor:pointer;color:#8c8c8c}.info{background-color:var(--color-info-bg)}.warning{background-color:var(--color-warning-bg)}`, \"\"]);\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 _bindPropCall(e, t) {\n return function (r, a) {\n return e[t].call(r, a);\n };\n}\nfunction createAddInitializerMethod(e, t) {\n return function (r) {\n if (t.v) throw new Error(\"attempted to call addInitializer after decoration was finished\");\n assertCallable(r, \"An initializer\", !0), e.push(r);\n };\n}\nfunction memberDec(e, t, r, a, n, i, o, s, l, c, u) {\n function assertInstanceIfPrivate(e) {\n return function (t, r) {\n if (!c(t)) throw new TypeError(\"Attempted to access private element on non-instance\");\n return e(t, r);\n };\n }\n var f,\n d,\n p = {\n v: !1\n },\n v = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"field\"][i],\n name: s ? \"#\" + r : r,\n \"static\": o,\n \"private\": s,\n metadata: u,\n addInitializer: createAddInitializerMethod(n, p)\n };\n if (s || 0 !== i && 2 !== i) {\n if (2 === i) f = assertInstanceIfPrivate(function () {\n return a.value;\n });else {\n var h = 0 === i || 1 === i;\n (h || 3 === i) && (f = _bindPropCall(a, \"get\"), s && (f = assertInstanceIfPrivate(f))), (h || 4 === i) && (d = _bindPropCall(a, \"set\"), s && (d = assertInstanceIfPrivate(d)));\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 m = s ? c.bind() : function (e) {\n return r in e;\n },\n b = v.access = {\n has: m\n };\n f && (b.get = f), d && (b.set = d);\n try {\n return e.call(t, l, v);\n } finally {\n p.v = !0;\n }\n}\nfunction assertCallable(e, t, r) {\n if (\"function\" != typeof e && (r || void 0 !== 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 || !t) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or void 0\");\n assertCallable(t.get, \"accessor.get\"), assertCallable(t.set, \"accessor.set\"), assertCallable(t.init, \"accessor.init\");\n } else if (\"function\" !== r) throw new TypeError((0 === e ? \"field\" : 5 === e ? \"class\" : \"method\") + \" decorators must return a function or void 0\");\n}\nfunction applyMemberDec(e, t, r, a, n, i, o, s, l, c, u) {\n var f,\n d,\n p,\n v,\n h = r[0],\n m = r[3];\n a || Array.isArray(h) || (h = [h]), s ? f = 0 === i || 1 === i ? {\n get: function get() {\n return m(this);\n },\n set: function set(e) {\n r[4](this, e);\n }\n } : 3 === i ? {\n get: m\n } : 4 === i ? {\n set: m\n } : {\n value: m\n } : 0 !== i && (f = Object.getOwnPropertyDescriptor(t, n)), 1 === i ? p = {\n get: f.get,\n set: f.set\n } : 2 === i ? p = f.value : 3 === i ? p = f.get : 4 === i && (p = f.set);\n for (var b = a ? 2 : 1, y = h.length - 1; y >= 0; y -= b) {\n var g;\n if (void 0 !== (v = memberDec(h[y], a ? h[y - 1] : void 0, n, f, l, i, o, s, p, c, u))) assertValidReturnValue(i, v), 0 === i ? g = v : 1 === i ? (g = v.init, p = {\n get: v.get || p.get,\n set: v.set || p.set\n }) : p = v, void 0 !== g && (void 0 === d ? d = g : \"function\" == typeof d ? d = [d, g] : d.push(g));\n }\n if (0 === i || 1 === i) {\n if (void 0 === d) d = function d(e, t) {\n return t;\n };else if (\"function\" != typeof d) {\n var I = d;\n d = function d(e, t) {\n for (var r = t, a = I.length - 1; a >= 0; a--) r = I[a].call(e, r);\n return r;\n };\n } else {\n var w = d;\n d = d.call.bind(w);\n }\n e.push(d);\n }\n 0 !== i && (1 === i ? (f.get = p.get, f.set = p.set) : 2 === i ? f.value = p : 3 === i ? f.get = p : 4 === i && (f.set = p), s ? 1 === i ? e.push(_bindPropCall(f, \"get\"), _bindPropCall(f, \"set\")) : e.push(2 === i ? p : Function.call.bind(p)) : Object.defineProperty(t, n, f));\n}\nfunction applyMemberDecs(e, t, r, a) {\n var n,\n i,\n o,\n s = [],\n l = new Map(),\n c = new Map();\n function pushInitializers(e) {\n e && s.push(function (t) {\n for (var r = 0; r < e.length; r++) e[r].call(t);\n return t;\n });\n }\n for (var u = 0; u < t.length; u++) {\n var f = t[u];\n if (Array.isArray(f)) {\n var d,\n p,\n v = f[1],\n h = f[2],\n m = f.length > 3,\n b = 16 & v,\n y = !!(8 & v),\n g = r;\n if (v &= 7, y ? (d = e, p = i = i || [], m && !o && (o = function o(t) {\n return checkInRHS(t) === e;\n }), g = o) : (d = e.prototype, p = n = n || []), 0 !== v && !m) {\n var I = y ? c : l,\n w = I.get(h) || 0;\n if (!0 === w || 3 === w && 4 !== v || 4 === w && 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: \" + h);\n I.set(h, !(!w && v > 2) || v);\n }\n applyMemberDec(s, d, f, b, h, v, y, m, p, g, a);\n }\n }\n return pushInitializers(n), pushInitializers(i), s;\n}\nfunction applyClassDecs(e, t, r, a) {\n if (t.length) {\n for (var n = [], i = e, o = e.name, s = r ? 2 : 1, l = t.length - 1; l >= 0; l -= s) {\n var c = {\n v: !1\n };\n try {\n var u = t[l].call(r ? t[l - 1] : void 0, i, {\n kind: \"class\",\n name: o,\n addInitializer: createAddInitializerMethod(n, c),\n metadata: a\n });\n } finally {\n c.v = !0;\n }\n void 0 !== u && (assertValidReturnValue(5, u), i = u);\n }\n return [defineMetadata(i, a), function () {\n for (var e = 0; e < n.length; e++) n[e].call(i);\n }];\n }\n}\nfunction defineMetadata(e, t) {\n return Object.defineProperty(e, Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"), {\n configurable: !0,\n enumerable: !0,\n value: t\n });\n}\nexport default function applyDecs2305(e, t, r, a, n, i) {\n if (arguments.length >= 6) var o = i[Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\")];\n var s = Object.create(void 0 === o ? null : o),\n l = applyMemberDecs(e, t, n, s);\n return r.length || defineMetadata(e, s), {\n e: l,\n get c() {\n return applyClassDecs(e, r, a, s);\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 _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export class JsonStorage {\n constructor(\n private storage: Storage,\n private prefix: string = \"brick-next-\"\n ) {}\n\n setItem<T = any>(name: string, value: T): void {\n this.storage.setItem(this.prefix + name, JSON.stringify(value));\n }\n\n getItem<T = any>(name: string): T {\n return JSON.parse(this.storage.getItem(this.prefix + name) as string) as T;\n }\n\n removeItem(name: string): void {\n return this.storage.removeItem(this.prefix + name);\n }\n\n clear(): void {\n return this.storage.clear();\n }\n}\n"],"names":["_EasyopsNavbarAlerts","WrappedIcon","wrapBrick","WrappedLink","defineElement","createDecorators","_dec","styleTexts","styleText","EasyopsNavbarAlerts","ReactNextElement","render","React","EasyopsNavbarAlertsComponent","_class","_initClass","_applyDecs","c","storage","JsonStorage","localStorage","licenseDaysLeft","setLicenseDaysLeft","useState","slowRender","setSlowRender","currentApp","useCurrentApp","licenseDismissedKey","useMemo","authInfo","auth","getAuth","concat","org","useEffect","_authInfo$license","dismissExpireAt","validDaysLeft","license","isAdmin","getItem","moment","unix","handelRouteRender","e","renderTime","detail","loadTime","loadInfoPage","getRuntime","getMiscSettings","isBuildPush","millisecondToSecond","suggestTime","suggestUrl","window","addEventListener","removeEventListener","handleLicenseAlertDismiss","useCallback","setItem","Alert","text","type","link","label","url","undefined","closable","onClose","_ref","className","href","target","lib","icon","role","onClick","millisecond","Math","floor","___CSS_LOADER_EXPORT___","push","module","id","toString","exports","cssWithMappingToString","list","this","map","item","content","needLayer","length","join","i","modules","media","dedupe","supports","layer","alreadyImportedModules","k","_k","_bindPropCall","t","r","a","call","createAddInitializerMethod","v","Error","assertCallable","memberDec","n","o","s","l","u","assertInstanceIfPrivate","TypeError","f","d","p","kind","name","metadata","addInitializer","value","h","m","bind","b","access","has","get","set","assertValidReturnValue","init","applyMemberDec","Array","isArray","Object","getOwnPropertyDescriptor","y","g","I","w","Function","defineProperty","defineMetadata","Symbol","configurable","enumerable","applyDecs2305","arguments","create","Map","pushInitializers","prototype","applyMemberDecs","applyClassDecs","_checkInRHS","_typeof","iterator","constructor","prefix","JSON","stringify","parse","removeItem","clear"],"sourceRoot":""}
|