@next-bricks/nav 1.22.3 → 1.22.4
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 +18 -18
- package/dist/chunks/{1889.1c81b9a6.js → 1889.2cc36eb0.js} +2 -2
- package/dist/chunks/{1889.1c81b9a6.js.map → 1889.2cc36eb0.js.map} +1 -1
- package/dist/chunks/{2133.f1181811.js → 2133.b3f42995.js} +2 -2
- package/dist/chunks/{2133.f1181811.js.map → 2133.b3f42995.js.map} +1 -1
- package/dist/chunks/2252.d3da24a8.js +3 -0
- package/dist/chunks/2252.d3da24a8.js.map +1 -0
- package/dist/chunks/{3171.8c0808db.js → 3171.37902a27.js} +2 -2
- package/dist/chunks/{3171.8c0808db.js.map → 3171.37902a27.js.map} +1 -1
- package/dist/chunks/3796.8022978a.js +3 -0
- package/dist/chunks/{3796.6828d229.js.map → 3796.8022978a.js.map} +1 -1
- package/dist/chunks/{3933.659a4e40.js → 3933.928cded4.js} +2 -2
- package/dist/chunks/{3933.659a4e40.js.map → 3933.928cded4.js.map} +1 -1
- package/dist/chunks/{4433.d15788e1.js → 4433.8a2db39c.js} +2 -2
- package/dist/chunks/{4433.d15788e1.js.map → 4433.8a2db39c.js.map} +1 -1
- package/dist/chunks/{4727.6fb0beff.js → 4727.04c7f61d.js} +2 -2
- package/dist/chunks/{4727.6fb0beff.js.map → 4727.04c7f61d.js.map} +1 -1
- package/dist/chunks/4837.8de8edba.js +2 -0
- package/dist/chunks/{7218.6a0d03bf.js.map → 4837.8de8edba.js.map} +1 -1
- package/dist/chunks/{5552.5757666c.js → 5552.075020be.js} +2 -2
- package/dist/chunks/{5552.5757666c.js.map → 5552.075020be.js.map} +1 -1
- package/dist/chunks/{6314.a92d20d9.js → 6314.b04ccf93.js} +2 -2
- package/dist/chunks/{6314.a92d20d9.js.map → 6314.b04ccf93.js.map} +1 -1
- package/dist/chunks/{6595.f6bad476.js → 6595.e9199ff8.js} +2 -2
- package/dist/chunks/{6595.f6bad476.js.map → 6595.e9199ff8.js.map} +1 -1
- package/dist/chunks/7218.d98e4c1e.js +2 -0
- package/dist/chunks/{4837.4464bee6.js.map → 7218.d98e4c1e.js.map} +1 -1
- package/dist/chunks/{8097.77afb7bb.js → 8097.3603bfee.js} +2 -2
- package/dist/chunks/{8097.77afb7bb.js.map → 8097.3603bfee.js.map} +1 -1
- package/dist/chunks/871.6937a15d.js +2 -0
- package/dist/chunks/871.6937a15d.js.map +1 -0
- package/dist/chunks/9140.7835c9bd.js +3 -0
- package/dist/chunks/9140.7835c9bd.js.map +1 -0
- package/dist/chunks/{9149.6a8b907d.js → 9149.0c92a507.js} +2 -2
- package/dist/chunks/{9149.6a8b907d.js.map → 9149.0c92a507.js.map} +1 -1
- package/dist/chunks/9363.fc28662e.js +3 -0
- package/dist/chunks/{9363.65310518.js.map → 9363.fc28662e.js.map} +1 -1
- package/dist/chunks/{9515.e5c4f96a.js → 9515.e919ad47.js} +2 -2
- package/dist/chunks/9515.e919ad47.js.map +1 -0
- package/dist/chunks/{easyops-navbar-alerts.e2efe363.js → easyops-navbar-alerts.bc939a72.js} +2 -2
- package/dist/chunks/{easyops-navbar-alerts.e2efe363.js.map → easyops-navbar-alerts.bc939a72.js.map} +1 -1
- package/dist/chunks/{eo-directory-tree.c9c39164.js → eo-directory-tree.bf18dc76.js} +3 -3
- package/dist/chunks/{eo-directory-tree.c9c39164.js.map → eo-directory-tree.bf18dc76.js.map} +1 -1
- package/dist/chunks/{eo-directory.9edb0684.js → eo-directory.f5a87fa2.js} +3 -3
- package/dist/chunks/{eo-directory.9edb0684.js.map → eo-directory.f5a87fa2.js.map} +1 -1
- package/dist/chunks/{eo-frame-breadcrumb.add0104b.js → eo-frame-breadcrumb.bf819fbc.js} +2 -2
- package/dist/chunks/{eo-frame-breadcrumb.add0104b.js.map → eo-frame-breadcrumb.bf819fbc.js.map} +1 -1
- package/dist/chunks/eo-launchpad-button-v2.e81da15c.js +3 -0
- package/dist/chunks/{eo-launchpad-button-v2.dd3cff9e.js.map → eo-launchpad-button-v2.e81da15c.js.map} +1 -1
- package/dist/chunks/{eo-launchpad-button.e5d75002.js → eo-launchpad-button.c7990f0e.js} +3 -3
- package/dist/chunks/{eo-launchpad-button.e5d75002.js.map → eo-launchpad-button.c7990f0e.js.map} +1 -1
- package/dist/chunks/eo-nav-menu.1bb0aba1.js +2 -0
- package/dist/chunks/{eo-nav-menu.fd8231d3.js.map → eo-nav-menu.1bb0aba1.js.map} +1 -1
- package/dist/chunks/eo-sidebar-menu-group.a35ec0d3.js +3 -0
- package/dist/chunks/{eo-sidebar-menu-group.8864f4d9.js.map → eo-sidebar-menu-group.a35ec0d3.js.map} +1 -1
- package/dist/chunks/eo-sidebar-menu-submenu.669ac870.js +3 -0
- package/dist/chunks/{eo-sidebar-menu-submenu.a1ab5f7a.js.map → eo-sidebar-menu-submenu.669ac870.js.map} +1 -1
- package/dist/chunks/{eo-sidebar-menu.6a44ad80.js → eo-sidebar-menu.9c8bfe04.js} +2 -2
- package/dist/chunks/{eo-sidebar-menu.6a44ad80.js.map → eo-sidebar-menu.9c8bfe04.js.map} +1 -1
- package/dist/chunks/eo-sidebar-sub-menu.2e382908.js +3 -0
- package/dist/chunks/{eo-sidebar-sub-menu.5b2c1c1d.js.map → eo-sidebar-sub-menu.2e382908.js.map} +1 -1
- package/dist/chunks/eo-sidebar.4895576a.js +3 -0
- package/dist/chunks/eo-sidebar.4895576a.js.map +1 -0
- package/dist/chunks/{get-menu-config-options.14762ff7.js → get-menu-config-options.b141a9e3.js} +2 -2
- package/dist/chunks/{get-menu-config-options.14762ff7.js.map → get-menu-config-options.b141a9e3.js.map} +1 -1
- package/dist/chunks/{get-menu-config-tree.1dc2b9f2.js → get-menu-config-tree.d659b581.js} +2 -2
- package/dist/chunks/{get-menu-config-tree.1dc2b9f2.js.map → get-menu-config-tree.d659b581.js.map} +1 -1
- package/dist/chunks/{launchpad-config.75391f5e.js → launchpad-config.822d8f06.js} +3 -3
- package/dist/chunks/{launchpad-config.75391f5e.js.map → launchpad-config.822d8f06.js.map} +1 -1
- package/dist/chunks/main.3b673ac6.js +2 -0
- package/dist/chunks/{main.0bf1a675.js.map → main.3b673ac6.js.map} +1 -1
- package/dist/chunks/{nav-logo.3ede00ce.js → nav-logo.07efbab1.js} +2 -2
- package/dist/chunks/{nav-logo.3ede00ce.js.map → nav-logo.07efbab1.js.map} +1 -1
- package/dist/chunks/{poll-announce.f19d278d.js → poll-announce.97676990.js} +3 -3
- package/dist/chunks/{poll-announce.f19d278d.js.map → poll-announce.97676990.js.map} +1 -1
- package/dist/chunks/{query-search.14d7cb12.js → query-search.f47848f6.js} +3 -3
- package/dist/chunks/{query-search.14d7cb12.js.map → query-search.f47848f6.js.map} +1 -1
- package/dist/index.e563bd3f.js +2 -0
- package/dist/index.e563bd3f.js.map +1 -0
- package/dist/manifest.json +32 -32
- package/dist/types.json +41 -41
- package/package.json +2 -2
- package/dist/chunks/2252.d2fb0bb2.js +0 -3
- package/dist/chunks/2252.d2fb0bb2.js.map +0 -1
- package/dist/chunks/3796.6828d229.js +0 -3
- package/dist/chunks/4837.4464bee6.js +0 -2
- package/dist/chunks/7218.6a0d03bf.js +0 -2
- package/dist/chunks/871.e41dac4c.js +0 -2
- package/dist/chunks/871.e41dac4c.js.map +0 -1
- package/dist/chunks/9140.7338091c.js +0 -3
- package/dist/chunks/9140.7338091c.js.map +0 -1
- package/dist/chunks/9363.65310518.js +0 -3
- package/dist/chunks/9515.e5c4f96a.js.map +0 -1
- package/dist/chunks/eo-launchpad-button-v2.dd3cff9e.js +0 -3
- package/dist/chunks/eo-nav-menu.fd8231d3.js +0 -2
- package/dist/chunks/eo-sidebar-menu-group.8864f4d9.js +0 -3
- package/dist/chunks/eo-sidebar-menu-submenu.a1ab5f7a.js +0 -3
- package/dist/chunks/eo-sidebar-sub-menu.5b2c1c1d.js +0 -3
- package/dist/chunks/eo-sidebar.5120d756.js +0 -3
- package/dist/chunks/eo-sidebar.5120d756.js.map +0 -1
- package/dist/chunks/main.0bf1a675.js +0 -2
- package/dist/index.3f6f38c9.js +0 -2
- package/dist/index.3f6f38c9.js.map +0 -1
- /package/dist/chunks/{2252.d2fb0bb2.js.LICENSE.txt → 2252.d3da24a8.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{3796.6828d229.js.LICENSE.txt → 3796.8022978a.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9140.7338091c.js.LICENSE.txt → 9140.7835c9bd.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9363.65310518.js.LICENSE.txt → 9363.fc28662e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-directory-tree.c9c39164.js.LICENSE.txt → eo-directory-tree.bf18dc76.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-directory.9edb0684.js.LICENSE.txt → eo-directory.f5a87fa2.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-launchpad-button-v2.dd3cff9e.js.LICENSE.txt → eo-launchpad-button-v2.e81da15c.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-launchpad-button.e5d75002.js.LICENSE.txt → eo-launchpad-button.c7990f0e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar-menu-group.8864f4d9.js.LICENSE.txt → eo-sidebar-menu-group.a35ec0d3.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar-menu-submenu.a1ab5f7a.js.LICENSE.txt → eo-sidebar-menu-submenu.669ac870.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar-sub-menu.5b2c1c1d.js.LICENSE.txt → eo-sidebar-sub-menu.2e382908.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar.5120d756.js.LICENSE.txt → eo-sidebar.4895576a.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{launchpad-config.75391f5e.js.LICENSE.txt → launchpad-config.822d8f06.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{poll-announce.f19d278d.js.LICENSE.txt → poll-announce.97676990.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{query-search.14d7cb12.js.LICENSE.txt → query-search.f47848f6.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_nav=globalThis.webpackChunk_next_bricks_nav||[]).push([[9149],{1724:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),l=a.n(n),r=a(935),i=a.n(r)()(l());i.push([e.id,':root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme="dark"],\nhtml[data-theme="dark-v2"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}',""]);const o=i},3693:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),l=a.n(n),r=a(935),i=a.n(r)()(l());i.push([e.id,".platform-category-name,\n.platform-category-sidebar-menu-item-label,\n.platform-item-name,\n.platform-item-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-category-sidebar-menu-item{display:flex;gap:8px;align-items:center;padding:0px 12px 0px 16px}.platform-category-sidebar-menu-item > eo-link{display:block;min-width:0px;color:var(--color-header-text);cursor:pointer}.platform-category-sidebar-menu-item > eo-link:hover,\n.platform-category-sidebar-menu-item\n > eo-link:hover\n .platform-category-sidebar-menu-icon{color:var(--color-brand-hover)}.platform-category-sidebar-menu-item > eo-link.active,\n.platform-category-sidebar-menu-item\n > eo-link.active\n .platform-category-sidebar-menu-icon{color:var(--color-brand-active)}.platform-category-sidebar-menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px}.platform-category-sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.platform-category-name{font-size:18px;font-weight:500;color:var(--text-color-secondary);flex-shrink:0}.platform-items{display:grid;grid-template-columns:repeat(2,1fr);gap:0 54px}.platform-items > li{min-width:0}.platform-items > li > eo-link{width:100%;cursor:pointer}.platform-item{padding:12px 0;display:flex;flex-direction:column}.platform-item:hover .platform-item-icon,\n.platform-item:hover .platform-item-name{color:var(--color-brand-hover)}.platform-item-title{display:flex;align-items:center;margin-bottom:4px}.platform-item-icon{margin-right:8px;font-size:14px;color:var(--text-color-secondary);flex-shrink:0}.platform-item-name{font-weight:500;color:var(--text-color-title);line-height:18px}.platform-item-description{margin-left:22px;color:var(--text-color-secondary);line-height:18px}",""]);const o=i.toString()},5924:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),l=a.n(n),r=a(935),i=a.n(r)()(l());i.push([e.id,":host{display:inline-block;width:32px;height:32px;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 36px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);height:var(--eo-launchpad-v2-max-height);background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-size:205px 205px;background-repeat:no-repeat;background-position:left 52px bottom 27px}.sidebar > *:not(:last-child){border-bottom:1px solid var(--stroke-color-default)}.quick-nav-label,\n.platform-nav-label,\n.jump-nav-label,\n.menu-group-label,\n.menu-item-label,\n.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu,\n.menu-groups,\n.menu,\n.sub-menu,\n.recent-visits,\n.platform-items{list-style:none;margin:0;padding:0}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.sidebar-menu-item > eo-link,\n.menu-item > eo-link,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.union{flex:1;display:flex;flex-direction:column;overflow-y:auto}.quick-nav,\n.platform-nav{display:flex;flex-direction:column;padding:20px 0 24px}.platform-nav{padding:0 0 24px}.quick-nav-label,\n.platform-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.quick-nav-menu,\n.platform-nav-menu{flex:1}.jump-nav > eo-link{display:block;cursor:pointer}.jump-nav > eo-link::part(link){padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.jump-nav-label{flex:1;color:var(--color-header-text);font-weight:500}.jump-nav > eo-icon{font-size:14px;color:var(--text-color-default)}.content{flex:1;padding:20px 24px 24px;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;margin-top:-10px;cursor:text}.search-icon{color:var(--color-auxiliary-text)}.search-input{padding:0;margin:0;border:none;outline:none;color:inherit;background-color:transparent;font-size:14px;line-height:22px;flex:1;min-width:0}.search-input::placeholder{color:var(--color-disabled-text);opacity:1}.search-clear{display:none;color:var(--color-secondary-text);cursor:pointer}.search-clear.searching{display:inline-block}.search-clear:hover{color:var(--color-auxiliary-text)}.menu-groups,\n.recent-visits{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;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;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.content,\n .search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}.content > :not(:last-child){margin-bottom:24px}}",""]);const o=i.toString()},8356:(e,t,a)=>{a.d(t,{P:()=>i,z:()=>r});var n=a(8769),l=a.n(n);const r=l().createContext({}),i=()=>l().useContext(r)},8776:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),l=a.n(n),r=a(935),i=a.n(r)()(l());i.push([e.id,".fadeEnter{opacity:0;transform:scale(0.95)}.fadeEnterActive{opacity:1;transform:translateX(0);transition:opacity 100ms ease-out,transform 100ms ease-out}.fadeExit{transform:translate(-30px,0)}.fadeExitActive{transform:translate(-100%,0);transition:transform 300ms ease-out}.fadeExitDone{display:none}",""]);const o=i.toString()},8839:(e,t,a)=>{a.d(t,{F:()=>d,r:()=>p});var n=a(9575),l=a(8769),r=a.n(l),i=a(1030),o=a(3373),c=a.n(o),m=a(9393),s=a(8356);function p(e){let{name:t,items:a}=e;return r().createElement("li",{className:"menu-group"},r().createElement("div",{className:"menu-group-label"},t),r().createElement("ul",{className:"menu"},a.map((e=>"dir"===e.type?r().createElement(v,{key:`${e.type}-${e.id}`,name:e.name,items:e.items}):r().createElement(u,{key:`${e.type}-${e.id}`,item:e})))))}function u(e){var t;let{item:a}=e;const{loadingFavorites:o,readonly:p,pushRecentVisit:u,toggleStar:d,isStarred:v}=(0,s.P)(),f=(0,l.useMemo)((()=>v(a)),[v,a]),g=(0,l.useCallback)((()=>{d(a)}),[a,d]),h=(0,l.useCallback)((()=>{u(a)}),[a,u]);return r().createElement("li",{className:c()("menu-item",{starred:f,"can-star":!o})},r().createElement(m.EM,(0,n.A)({onClick:h},"app"===a.type?{url:a.url}:{href:a.url}),r().createElement(m.Bj,(0,n.A)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(t=a.menuIcon)&&void 0!==t&&t.lib&&a.menuIcon.icon?(0,i.pick)(a.menuIcon,["lib","icon","theme","category","prefix"]):null)),r().createElement("span",{className:"menu-item-label"},a.name)),!p&&r().createElement(m.Bj,{lib:"fa",prefix:f?"fas":"far",icon:"star",className:"menu-item-star",title:f?"取消收藏":"收藏",onClick:g}))}function d(e){var t;let{item:a,target:o}=e;const{readonly:c,pushRecentVisit:p,toggleStar:u}=(0,s.P)(),d=(0,l.useCallback)((()=>{"link"!==a.type&&p(a)}),[a,p]),v=(0,l.useCallback)((()=>{u(a)}),[a,u]);return r().createElement("li",{className:"sidebar-menu-item"},r().createElement(m.EM,(0,n.A)({onClick:d},"app"===a.type?{url:a.url}:{href:a.url},o?{target:o}:null),r().createElement(m.Bj,(0,n.A)({className:"sidebar-menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(t=a.menuIcon)&&void 0!==t&&t.lib&&a.menuIcon.icon?(0,i.pick)(a.menuIcon,["lib","icon","theme","category","prefix"]):null)),r().createElement("span",{className:"menu-item-label"},a.name)),!c&&r().createElement(m.Bj,{lib:"fa",icon:"xmark",className:"menu-item-remove",onClick:v}))}function v(e){let{name:t,items:a}=e;const{searching:n}=(0,s.P)(),[i,o]=(0,l.useState)(!1),[p,d]=(0,l.useState)(!1),v=(0,l.useCallback)((()=>{n?d((e=>!e)):o((e=>!e))}),[n]);(0,l.useEffect)((()=>{d(!0)}),[n]);const f=n?p:i;return r().createElement("li",{className:"menu-item folder"},r().createElement(m.EM,{onClick:v},r().createElement(m.Bj,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),r().createElement("span",{className:"menu-item-label"},t),r().createElement(m.Bj,{lib:"antd",icon:f?"up":"down",className:"menu-item-toggle"})),r().createElement("ul",{className:c()("sub-menu",{expanded:f})},a.map((e=>r().createElement(u,{key:`${e.type}-${e.id}`,item:e})))))}},9262:(e,t,a)=>{var n=a(2591),l=a.n(n),r=a(1740),i=a.n(r),o=a(8128),c=a.n(o),m=a(855),s=a.n(m),p=a(3051),u=a.n(p),d=a(3656),v=a.n(d),f=a(1724),g={};g.styleTagTransform=v(),g.setAttributes=s(),g.insert=c().bind(null,"head"),g.domAPI=i(),g.insertStyleElement=u(),l()(f.A,g),f.A&&f.A.locals&&f.A.locals},9302:(e,t,a)=>{a.d(t,{r:()=>b});var n=a(9575),l=a(8769),r=a.n(l),i=a(3373),o=a.n(i),c=a(9393),m=a(2133),s=a(8839),p=a(8356),u=a(1030);function d(e){var t;let{item:a,active:l,onClick:i}=e;return r().createElement("li",{className:"platform-category-sidebar-menu-item"},r().createElement(c.EM,{type:"plain",className:o()({active:l}),onClick:()=>null==i?void 0:i(a)},r().createElement(c.Bj,(0,n.A)({className:"platform-category-sidebar-menu-icon",lib:"easyops",category:"second-menu",icon:"serve-second-menu"},null!==(t=a.icon)&&void 0!==t&&t.lib&&a.icon.icon?(0,u.pick)(a.icon,["lib","icon","theme","category","prefix"]):null)),r().createElement("span",{className:"platform-category-sidebar-menu-item-label"},a.name)))}function v(e){var t;let{item:a}=e;return r().createElement("li",null,r().createElement(c.EM,(0,n.A)({type:"plain"},"app"===a.type?{url:a.url}:{href:a.url,target:"_blank"}),r().createElement("div",{className:"platform-item"},r().createElement("div",{className:"platform-item-title"},r().createElement(c.Bj,(0,n.A)({className:"platform-item-icon",lib:"easyops",category:"third-menu",icon:"deploy-orchestration-tasks-third-menu"},null!==(t=a.menuIcon)&&void 0!==t&&t.lib&&a.menuIcon.icon?(0,u.pick)(a.menuIcon,["lib","icon","theme","category","prefix"]):null)),r().createElement("div",{className:"platform-item-name"},a.name)),r().createElement("div",{className:"platform-item-description"},a.description))))}var f=a(8974),g=a(1675),h=a(2865);function b(e){let{active:t}=e;const a=(0,l.useRef)(null),[i,u]=(0,l.useState)([]),b=(0,l.useCallback)((()=>{var e;null===(e=a.current)||void 0===e||e.focus()}),[]),[y,k]=(0,l.useState)("#all"),E=r().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-platform-category"]}),[]),N=r().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-scenario-center"]}),[]),w=r().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-solution-center"]}),[]),j=r().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-open-platform"]}),[]),{loading:A,q:C,setQ:M,menuGroups:S,favorites:z,loadingFavorites:B,recentVisits:F,pushRecentVisit:I,toggleStar:R,isStarred:q,platformCategories:_}=(0,m.sZ)(t),P=!!C,$=(0,l.useCallback)((e=>{M(e.target.value)}),[M]),T=(0,l.useCallback)((()=>{M("")}),[M]);(0,l.useEffect)((()=>{var e;t&&(null===(e=a.current)||void 0===e||e.focus())}),[t]);const V=(0,l.useCallback)((e=>{k(e.id)}),[]),D=(0,l.useMemo)((()=>_.find((e=>e.id===y))),[y,_]);return(0,l.useEffect)((()=>{z.length>i.length?u(z):setTimeout((()=>{u(z)}),300)}),[z,i.length]),r().createElement("div",{className:o()("launchpad",{active:t})},r().createElement(p.z.Provider,{value:{searching:P,loadingFavorites:B,pushRecentVisit:I,toggleStar:R,isStarred:q}},r().createElement("div",{className:"sidebar"},r().createElement("div",{className:"union"},r().createElement("div",{className:"quick-nav"},r().createElement("div",{className:"quick-nav-label"},"快捷访问"),r().createElement(g.A,null,r().createElement("ul",{className:"sidebar-menu quick-nav-menu"},i.map(((e,t)=>r().createElement(h.A,{key:t,timeout:300,in:!!z.find((t=>t.id===e.id)),classNames:{enter:"fadeEnter",enterActive:"fadeEnterActive",exit:"fadeExit",exitActive:"fadeExitActive",exitDone:"fadeExitDone"}},r().createElement(s.F,{key:t,item:e}))))))),E&&r().createElement("div",{className:"platform-nav"},r().createElement("div",{className:"platform-nav-label"},"平台底座"),r().createElement("ul",{className:"sidebar-menu platform-nav-menu"},_.map(((e,t)=>r().createElement(d,{key:t,onClick:V,item:e,active:y===e.id})))))),N&&r().createElement("div",{className:"jump-nav"},r().createElement(c.EM,{type:"plain",url:"/portal/scenario"},r().createElement("div",{className:"jump-nav-label"},"场景中心"),r().createElement(c.Bj,{lib:"antd",icon:"right",theme:"outlined"}))),w&&r().createElement("div",{className:"jump-nav"},r().createElement(c.EM,{type:"plain",url:"/portal/solution"},r().createElement("div",{className:"jump-nav-label"},"解决方案"),r().createElement(c.Bj,{lib:"antd",icon:"right",theme:"outlined"}))),j&&r().createElement("div",{className:"jump-nav"},r().createElement(c.EM,{type:"plain",url:"/developers"},r().createElement("div",{className:"jump-nav-label"},"开放平台"),r().createElement(c.Bj,{lib:"antd",icon:"right",theme:"outlined"})))),r().createElement("div",{className:o()("content",{loading:A})},r().createElement(x,{loading:A}),"#all"!==y&&r().createElement("div",{className:"platform-category-name"},null==D?void 0:D.name),r().createElement("div",{className:"search-box",onClick:b},r().createElement(c.Bj,{lib:"fa",icon:"magnifying-glass",className:"search-icon"}),r().createElement("input",{ref:a,placeholder:"通过关键字搜索",value:C,onChange:$,className:"search-input"}),r().createElement(c.Bj,{lib:"antd",theme:"filled",icon:"close-circle",className:o()("search-clear",{searching:P}),onClick:T})),"#all"===y&&r().createElement("div",{className:o()({empty:0===F.length})},r().createElement("div",{className:"recent-visits-label"},"最近访问"),r().createElement("ul",{className:"recent-visits"},F.map(((e,t)=>r().createElement("li",{key:t},r().createElement(c.EM,(0,n.A)({onClick:()=>I(e)},"app"===e.type?{url:e.url}:{href:e.url,target:"_blank"}),r().createElement("span",null,e.name))))))),"#all"===y&&r().createElement("ul",{className:"menu-groups"},S.map((e=>r().createElement(s.r,{key:e.name,name:e.name,items:e.items})))),"#all"!==y&&r().createElement("ul",{className:o()("platform-items",{empty:0===(null==D?void 0:D.items.length)})},null==D?void 0:D.items.map(((e,t)=>r().createElement(v,{item:e,key:t})))))))}function x(e){let{loading:t}=e;return t&&r().createElement("div",{className:"spinner"},r().createElement(c.Bj,{lib:"fa",icon:"spinner",spinning:!0}))}}}]);
|
|
2
|
-
//# sourceMappingURL=9149.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_nav=globalThis.webpackChunk_next_bricks_nav||[]).push([[9149],{1724:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),l=a.n(n),r=a(935),i=a.n(r)()(l());i.push([e.id,':root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme="dark"],\nhtml[data-theme="dark-v2"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}',""]);const o=i},3693:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),l=a.n(n),r=a(935),i=a.n(r)()(l());i.push([e.id,".platform-category-name,\n.platform-category-sidebar-menu-item-label,\n.platform-item-name,\n.platform-item-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-category-sidebar-menu-item{display:flex;gap:8px;align-items:center;padding:0px 12px 0px 16px}.platform-category-sidebar-menu-item > eo-link{display:block;min-width:0px;color:var(--color-header-text);cursor:pointer}.platform-category-sidebar-menu-item > eo-link:hover,\n.platform-category-sidebar-menu-item\n > eo-link:hover\n .platform-category-sidebar-menu-icon{color:var(--color-brand-hover)}.platform-category-sidebar-menu-item > eo-link.active,\n.platform-category-sidebar-menu-item\n > eo-link.active\n .platform-category-sidebar-menu-icon{color:var(--color-brand-active)}.platform-category-sidebar-menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px}.platform-category-sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.platform-category-name{font-size:18px;font-weight:500;color:var(--text-color-secondary);flex-shrink:0}.platform-items{display:grid;grid-template-columns:repeat(2,1fr);gap:0 54px}.platform-items > li{min-width:0}.platform-items > li > eo-link{width:100%;cursor:pointer}.platform-item{padding:12px 0;display:flex;flex-direction:column}.platform-item:hover .platform-item-icon,\n.platform-item:hover .platform-item-name{color:var(--color-brand-hover)}.platform-item-title{display:flex;align-items:center;margin-bottom:4px}.platform-item-icon{margin-right:8px;font-size:14px;color:var(--text-color-secondary);flex-shrink:0}.platform-item-name{font-weight:500;color:var(--text-color-title);line-height:18px}.platform-item-description{margin-left:22px;color:var(--text-color-secondary);line-height:18px}",""]);const o=i.toString()},5924:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),l=a.n(n),r=a(935),i=a.n(r)()(l());i.push([e.id,":host{display:inline-block;width:32px;height:32px;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 36px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);height:var(--eo-launchpad-v2-max-height);background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-size:205px 205px;background-repeat:no-repeat;background-position:left 52px bottom 27px}.sidebar > *:not(:last-child){border-bottom:1px solid var(--stroke-color-default)}.quick-nav-label,\n.platform-nav-label,\n.jump-nav-label,\n.menu-group-label,\n.menu-item-label,\n.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu,\n.menu-groups,\n.menu,\n.sub-menu,\n.recent-visits,\n.platform-items{list-style:none;margin:0;padding:0}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.sidebar-menu-item > eo-link,\n.menu-item > eo-link,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.union{flex:1;display:flex;flex-direction:column;overflow-y:auto}.quick-nav,\n.platform-nav{display:flex;flex-direction:column;padding:20px 0 24px}.platform-nav{padding:0 0 24px}.quick-nav-label,\n.platform-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.quick-nav-menu,\n.platform-nav-menu{flex:1}.jump-nav > eo-link{display:block;cursor:pointer}.jump-nav > eo-link::part(link){padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.jump-nav-label{flex:1;color:var(--color-header-text);font-weight:500}.jump-nav > eo-icon{font-size:14px;color:var(--text-color-default)}.content{flex:1;padding:20px 24px 24px;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;margin-top:-10px;cursor:text}.search-icon{color:var(--color-auxiliary-text)}.search-input{padding:0;margin:0;border:none;outline:none;color:inherit;background-color:transparent;font-size:14px;line-height:22px;flex:1;min-width:0}.search-input::placeholder{color:var(--color-disabled-text);opacity:1}.search-clear{display:none;color:var(--color-secondary-text);cursor:pointer}.search-clear.searching{display:inline-block}.search-clear:hover{color:var(--color-auxiliary-text)}.menu-groups,\n.recent-visits{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;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;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.content,\n .search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}.content > :not(:last-child){margin-bottom:24px}}",""]);const o=i.toString()},8356:(e,t,a)=>{a.d(t,{P:()=>i,z:()=>r});var n=a(8769),l=a.n(n);const r=l().createContext({}),i=()=>l().useContext(r)},8776:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),l=a.n(n),r=a(935),i=a.n(r)()(l());i.push([e.id,".fadeEnter{opacity:0;transform:scale(0.95)}.fadeEnterActive{opacity:1;transform:translateX(0);transition:opacity 100ms ease-out,transform 100ms ease-out}.fadeExit{transform:translate(-30px,0)}.fadeExitActive{transform:translate(-100%,0);transition:transform 300ms ease-out}.fadeExitDone{display:none}",""]);const o=i.toString()},8839:(e,t,a)=>{a.d(t,{F:()=>d,r:()=>p});var n=a(9575),l=a(8769),r=a.n(l),i=a(1030),o=a(3373),c=a.n(o),m=a(9393),s=a(8356);function p(e){let{name:t,items:a}=e;return r().createElement("li",{className:"menu-group"},r().createElement("div",{className:"menu-group-label"},t),r().createElement("ul",{className:"menu"},a.map((e=>"dir"===e.type?r().createElement(v,{key:`${e.type}-${e.id}`,name:e.name,items:e.items}):r().createElement(u,{key:`${e.type}-${e.id}`,item:e})))))}function u(e){var t;let{item:a}=e;const{loadingFavorites:o,readonly:p,pushRecentVisit:u,toggleStar:d,isStarred:v}=(0,s.P)(),f=(0,l.useMemo)((()=>v(a)),[v,a]),g=(0,l.useCallback)((()=>{d(a)}),[a,d]),h=(0,l.useCallback)((()=>{u(a)}),[a,u]);return r().createElement("li",{className:c()("menu-item",{starred:f,"can-star":!o})},r().createElement(m.EM,(0,n.A)({onClick:h},"app"===a.type?{url:a.url}:{href:a.url}),r().createElement(m.Bj,(0,n.A)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(t=a.menuIcon)&&void 0!==t&&t.lib&&a.menuIcon.icon?(0,i.pick)(a.menuIcon,["lib","icon","theme","category","prefix"]):null)),r().createElement("span",{className:"menu-item-label"},a.name)),!p&&r().createElement(m.Bj,{lib:"fa",prefix:f?"fas":"far",icon:"star",className:"menu-item-star",title:f?"取消收藏":"收藏",onClick:g}))}function d(e){var t;let{item:a,target:o}=e;const{readonly:c,pushRecentVisit:p,toggleStar:u}=(0,s.P)(),d=(0,l.useCallback)((()=>{"link"!==a.type&&p(a)}),[a,p]),v=(0,l.useCallback)((()=>{u(a)}),[a,u]);return r().createElement("li",{className:"sidebar-menu-item"},r().createElement(m.EM,(0,n.A)({onClick:d},"app"===a.type?{url:a.url}:{href:a.url},o?{target:o}:null),r().createElement(m.Bj,(0,n.A)({className:"sidebar-menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(t=a.menuIcon)&&void 0!==t&&t.lib&&a.menuIcon.icon?(0,i.pick)(a.menuIcon,["lib","icon","theme","category","prefix"]):null)),r().createElement("span",{className:"menu-item-label"},a.name)),!c&&r().createElement(m.Bj,{lib:"fa",icon:"xmark",className:"menu-item-remove",onClick:v}))}function v(e){let{name:t,items:a}=e;const{searching:n}=(0,s.P)(),[i,o]=(0,l.useState)(!1),[p,d]=(0,l.useState)(!1),v=(0,l.useCallback)((()=>{n?d((e=>!e)):o((e=>!e))}),[n]);(0,l.useEffect)((()=>{d(!0)}),[n]);const f=n?p:i;return r().createElement("li",{className:"menu-item folder"},r().createElement(m.EM,{onClick:v},r().createElement(m.Bj,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),r().createElement("span",{className:"menu-item-label"},t),r().createElement(m.Bj,{lib:"antd",icon:f?"up":"down",className:"menu-item-toggle"})),r().createElement("ul",{className:c()("sub-menu",{expanded:f})},a.map((e=>r().createElement(u,{key:`${e.type}-${e.id}`,item:e})))))}},9262:(e,t,a)=>{var n=a(2591),l=a.n(n),r=a(1740),i=a.n(r),o=a(8128),c=a.n(o),m=a(855),s=a.n(m),p=a(3051),u=a.n(p),d=a(3656),v=a.n(d),f=a(1724),g={};g.styleTagTransform=v(),g.setAttributes=s(),g.insert=c().bind(null,"head"),g.domAPI=i(),g.insertStyleElement=u(),l()(f.A,g),f.A&&f.A.locals&&f.A.locals},9302:(e,t,a)=>{a.d(t,{r:()=>b});var n=a(9575),l=a(8769),r=a.n(l),i=a(3373),o=a.n(i),c=a(9393),m=a(2133),s=a(8839),p=a(8356),u=a(1030);function d(e){var t;let{item:a,active:l,onClick:i}=e;return r().createElement("li",{className:"platform-category-sidebar-menu-item"},r().createElement(c.EM,{type:"plain",className:o()({active:l}),onClick:()=>null==i?void 0:i(a)},r().createElement(c.Bj,(0,n.A)({className:"platform-category-sidebar-menu-icon",lib:"easyops",category:"second-menu",icon:"serve-second-menu"},null!==(t=a.icon)&&void 0!==t&&t.lib&&a.icon.icon?(0,u.pick)(a.icon,["lib","icon","theme","category","prefix"]):null)),r().createElement("span",{className:"platform-category-sidebar-menu-item-label"},a.name)))}function v(e){var t;let{item:a}=e;return r().createElement("li",null,r().createElement(c.EM,(0,n.A)({type:"plain"},"app"===a.type?{url:a.url}:{href:a.url,target:"_blank"}),r().createElement("div",{className:"platform-item"},r().createElement("div",{className:"platform-item-title"},r().createElement(c.Bj,(0,n.A)({className:"platform-item-icon",lib:"easyops",category:"third-menu",icon:"deploy-orchestration-tasks-third-menu"},null!==(t=a.menuIcon)&&void 0!==t&&t.lib&&a.menuIcon.icon?(0,u.pick)(a.menuIcon,["lib","icon","theme","category","prefix"]):null)),r().createElement("div",{className:"platform-item-name"},a.name)),r().createElement("div",{className:"platform-item-description"},a.description))))}var f=a(140),g=a(1675),h=a(2865);function b(e){let{active:t}=e;const a=(0,l.useRef)(null),[i,u]=(0,l.useState)([]),b=(0,l.useCallback)((()=>{var e;null===(e=a.current)||void 0===e||e.focus()}),[]),[y,k]=(0,l.useState)("#all"),E=r().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-platform-category"]}),[]),N=r().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-scenario-center"]}),[]),w=r().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-solution-center"]}),[]),j=r().useMemo((()=>{var e;return null===(e=(0,f.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-open-platform"]}),[]),{loading:A,q:C,setQ:M,menuGroups:S,favorites:z,loadingFavorites:B,recentVisits:F,pushRecentVisit:I,toggleStar:R,isStarred:q,platformCategories:_}=(0,m.sZ)(t),P=!!C,$=(0,l.useCallback)((e=>{M(e.target.value)}),[M]),T=(0,l.useCallback)((()=>{M("")}),[M]);(0,l.useEffect)((()=>{var e;t&&(null===(e=a.current)||void 0===e||e.focus())}),[t]);const V=(0,l.useCallback)((e=>{k(e.id)}),[]),D=(0,l.useMemo)((()=>_.find((e=>e.id===y))),[y,_]);return(0,l.useEffect)((()=>{z.length>i.length?u(z):setTimeout((()=>{u(z)}),300)}),[z,i.length]),r().createElement("div",{className:o()("launchpad",{active:t})},r().createElement(p.z.Provider,{value:{searching:P,loadingFavorites:B,pushRecentVisit:I,toggleStar:R,isStarred:q}},r().createElement("div",{className:"sidebar"},r().createElement("div",{className:"union"},r().createElement("div",{className:"quick-nav"},r().createElement("div",{className:"quick-nav-label"},"快捷访问"),r().createElement(g.A,null,r().createElement("ul",{className:"sidebar-menu quick-nav-menu"},i.map(((e,t)=>r().createElement(h.A,{key:t,timeout:300,in:!!z.find((t=>t.id===e.id)),classNames:{enter:"fadeEnter",enterActive:"fadeEnterActive",exit:"fadeExit",exitActive:"fadeExitActive",exitDone:"fadeExitDone"}},r().createElement(s.F,{key:t,item:e}))))))),E&&r().createElement("div",{className:"platform-nav"},r().createElement("div",{className:"platform-nav-label"},"平台底座"),r().createElement("ul",{className:"sidebar-menu platform-nav-menu"},_.map(((e,t)=>r().createElement(d,{key:t,onClick:V,item:e,active:y===e.id})))))),N&&r().createElement("div",{className:"jump-nav"},r().createElement(c.EM,{type:"plain",url:"/portal/scenario"},r().createElement("div",{className:"jump-nav-label"},"场景中心"),r().createElement(c.Bj,{lib:"antd",icon:"right",theme:"outlined"}))),w&&r().createElement("div",{className:"jump-nav"},r().createElement(c.EM,{type:"plain",url:"/portal/solution"},r().createElement("div",{className:"jump-nav-label"},"解决方案"),r().createElement(c.Bj,{lib:"antd",icon:"right",theme:"outlined"}))),j&&r().createElement("div",{className:"jump-nav"},r().createElement(c.EM,{type:"plain",url:"/developers"},r().createElement("div",{className:"jump-nav-label"},"开放平台"),r().createElement(c.Bj,{lib:"antd",icon:"right",theme:"outlined"})))),r().createElement("div",{className:o()("content",{loading:A})},r().createElement(x,{loading:A}),"#all"!==y&&r().createElement("div",{className:"platform-category-name"},null==D?void 0:D.name),r().createElement("div",{className:"search-box",onClick:b},r().createElement(c.Bj,{lib:"fa",icon:"magnifying-glass",className:"search-icon"}),r().createElement("input",{ref:a,placeholder:"通过关键字搜索",value:C,onChange:$,className:"search-input"}),r().createElement(c.Bj,{lib:"antd",theme:"filled",icon:"close-circle",className:o()("search-clear",{searching:P}),onClick:T})),"#all"===y&&r().createElement("div",{className:o()({empty:0===F.length})},r().createElement("div",{className:"recent-visits-label"},"最近访问"),r().createElement("ul",{className:"recent-visits"},F.map(((e,t)=>r().createElement("li",{key:t},r().createElement(c.EM,(0,n.A)({onClick:()=>I(e)},"app"===e.type?{url:e.url}:{href:e.url,target:"_blank"}),r().createElement("span",null,e.name))))))),"#all"===y&&r().createElement("ul",{className:"menu-groups"},S.map((e=>r().createElement(s.r,{key:e.name,name:e.name,items:e.items})))),"#all"!==y&&r().createElement("ul",{className:o()("platform-items",{empty:0===(null==D?void 0:D.items.length)})},null==D?void 0:D.items.map(((e,t)=>r().createElement(v,{item:e,key:t})))))))}function x(e){let{loading:t}=e;return t&&r().createElement("div",{className:"spinner"},r().createElement(c.Bj,{lib:"fa",icon:"spinner",spinning:!0}))}}}]);
|
|
2
|
+
//# sourceMappingURL=9149.0c92a507.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/9149.6a8b907d.js","mappings":"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","sources":["webpack:///./src/launchpad-button-v2/host-context.css","webpack:///./src/launchpad-button-v2/PlatformCategory.shadow.css","webpack:///./src/launchpad-button-v2/styles.shadow.css","webpack:///./src/launchpad-button-v2/LaunchpadContext.ts","webpack:///./src/launchpad-button-v2/Launchpad.shadow.css","webpack:///./src/launchpad-button-v2/MenuGroup.tsx","webpack:///./src/launchpad-button-v2/host-context.css?59a8","webpack:///./src/launchpad-button-v2/PlatformCategory.tsx","webpack:///./src/launchpad-button-v2/Launchpad.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.platform-category-name,\n.platform-category-sidebar-menu-item-label,\n.platform-item-name,\n.platform-item-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-category-sidebar-menu-item{display:flex;gap:8px;align-items:center;padding:0px 12px 0px 16px}.platform-category-sidebar-menu-item > eo-link{display:block;min-width:0px;color:var(--color-header-text);cursor:pointer}.platform-category-sidebar-menu-item > eo-link:hover,\n.platform-category-sidebar-menu-item\n > eo-link:hover\n .platform-category-sidebar-menu-icon{color:var(--color-brand-hover)}.platform-category-sidebar-menu-item > eo-link.active,\n.platform-category-sidebar-menu-item\n > eo-link.active\n .platform-category-sidebar-menu-icon{color:var(--color-brand-active)}.platform-category-sidebar-menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px}.platform-category-sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.platform-category-name{font-size:18px;font-weight:500;color:var(--text-color-secondary);flex-shrink:0}.platform-items{display:grid;grid-template-columns:repeat(2,1fr);gap:0 54px}.platform-items > li{min-width:0}.platform-items > li > eo-link{width:100%;cursor:pointer}.platform-item{padding:12px 0;display:flex;flex-direction:column}.platform-item:hover .platform-item-icon,\n.platform-item:hover .platform-item-name{color:var(--color-brand-hover)}.platform-item-title{display:flex;align-items:center;margin-bottom:4px}.platform-item-icon{margin-right:8px;font-size:14px;color:var(--text-color-secondary);flex-shrink:0}.platform-item-name{font-weight:500;color:var(--text-color-title);line-height:18px}.platform-item-description{margin-left:22px;color:var(--text-color-secondary);line-height:18px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block;width:32px;height:32px;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 36px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);height:var(--eo-launchpad-v2-max-height);background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-size:205px 205px;background-repeat:no-repeat;background-position:left 52px bottom 27px}.sidebar > *:not(:last-child){border-bottom:1px solid var(--stroke-color-default)}.quick-nav-label,\n.platform-nav-label,\n.jump-nav-label,\n.menu-group-label,\n.menu-item-label,\n.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu,\n.menu-groups,\n.menu,\n.sub-menu,\n.recent-visits,\n.platform-items{list-style:none;margin:0;padding:0}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.sidebar-menu-item > eo-link,\n.menu-item > eo-link,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.union{flex:1;display:flex;flex-direction:column;overflow-y:auto}.quick-nav,\n.platform-nav{display:flex;flex-direction:column;padding:20px 0 24px}.platform-nav{padding:0 0 24px}.quick-nav-label,\n.platform-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.quick-nav-menu,\n.platform-nav-menu{flex:1}.jump-nav > eo-link{display:block;cursor:pointer}.jump-nav > eo-link::part(link){padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.jump-nav-label{flex:1;color:var(--color-header-text);font-weight:500}.jump-nav > eo-icon{font-size:14px;color:var(--text-color-default)}.content{flex:1;padding:20px 24px 24px;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;margin-top:-10px;cursor:text}.search-icon{color:var(--color-auxiliary-text)}.search-input{padding:0;margin:0;border:none;outline:none;color:inherit;background-color:transparent;font-size:14px;line-height:22px;flex:1;min-width:0}.search-input::placeholder{color:var(--color-disabled-text);opacity:1}.search-clear{display:none;color:var(--color-secondary-text);cursor:pointer}.search-clear.searching{display:inline-block}.search-clear:hover{color:var(--color-auxiliary-text)}.menu-groups,\n.recent-visits{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;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;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","import React from \"react\";\nimport type { MenuItemDataLink, MenuItemDataNormal } from \"./interfaces\";\n\nexport interface LaunchpadContextData {\n searching: boolean;\n loadingFavorites: boolean;\n readonly?: boolean;\n pushRecentVisit(item: MenuItemDataNormal): void;\n toggleStar(item: MenuItemDataNormal | MenuItemDataLink): void;\n isStarred(item: MenuItemDataNormal): boolean;\n}\n\nexport const LaunchpadsContext = React.createContext<LaunchpadContextData>(\n {} as LaunchpadContextData\n);\n\nexport const useLaunchpadContext = (): LaunchpadContextData =>\n React.useContext(LaunchpadsContext);\n","// 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, `.fadeEnter{opacity:0;transform:scale(0.95)}.fadeEnterActive{opacity:1;transform:translateX(0);transition:opacity 100ms ease-out,transform 100ms ease-out}.fadeExit{transform:translate(-30px,0)}.fadeExitActive{transform:translate(-100%,0);transition:transform 300ms ease-out}.fadeExitDone{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadContext } from \"./LaunchpadContext\";\nimport type {\n MenuItemData,\n MenuItemDataNormal,\n SidebarMenuItemData,\n} from \"./interfaces\";\nimport { Target } from \"@next-bricks/basic/link\";\n\nexport interface MenuGroupProps {\n name: string;\n items: MenuItemData[];\n}\n\nexport function MenuGroup({ name, items }: MenuGroupProps) {\n return (\n <li className=\"menu-group\">\n <div className=\"menu-group-label\">{name}</div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={`${item.type}-${item.id}`}\n name={item.name}\n items={item.items}\n />\n ) : (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n item: MenuItemDataNormal;\n}\n\nfunction MenuItem({ item }: MenuItemProps) {\n const { loadingFavorites, readonly, pushRecentVisit, toggleStar, isStarred } =\n useLaunchpadContext();\n\n const starred = useMemo(() => isStarred(item), [isStarred, item]);\n\n const handleStarClick = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n const handleClick = useCallback(() => {\n pushRecentVisit(item);\n }, [item, pushRecentVisit]);\n\n return (\n <li\n className={classNames(\"menu-item\", {\n starred,\n \"can-star\": !loadingFavorites,\n })}\n >\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n })}\n >\n <WrappedIcon\n className=\"menu-icon\"\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n prefix={starred ? \"fas\" : \"far\"}\n icon=\"star\"\n className=\"menu-item-star\"\n title={starred ? \"取消收藏\" : \"收藏\"}\n onClick={handleStarClick}\n />\n )}\n </li>\n );\n}\n\nexport interface SidebarMenuItemProps {\n item: SidebarMenuItemData;\n target?: Target;\n}\n\nexport function SidebarMenuItem({ item, target }: SidebarMenuItemProps) {\n const { readonly, pushRecentVisit, toggleStar } = useLaunchpadContext();\n\n const handleClick = useCallback(() => {\n if (item.type !== \"link\") {\n pushRecentVisit(item);\n }\n }, [item, pushRecentVisit]);\n\n const handleRemoveStar = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n return (\n <li className=\"sidebar-menu-item\">\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n })}\n {...(target\n ? {\n target,\n }\n : null)}\n >\n <WrappedIcon\n className={`sidebar-menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n icon=\"xmark\"\n className=\"menu-item-remove\"\n onClick={handleRemoveStar}\n />\n )}\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n name: string;\n items: MenuItemDataNormal[];\n}\n\nfunction MenuItemFolder({ name, items }: MenuItemFolderProps) {\n const { searching } = useLaunchpadContext();\n const [expanded, setExpanded] = useState(false);\n const [searchingExpanded, setSearchingExpanded] = useState(false);\n\n const toggle = useCallback(() => {\n // Use separated expanded states for searching and non-searching.\n if (searching) {\n setSearchingExpanded((previous) => !previous);\n } else {\n setExpanded((previous) => !previous);\n }\n }, [searching]);\n\n useEffect(() => {\n // Each time when start searching, set it as expanded.\n setSearchingExpanded(true);\n }, [searching]);\n\n const actualExpanded = searching ? searchingExpanded : expanded;\n\n return (\n <li className=\"menu-item folder\">\n <WrappedLink onClick={toggle}>\n <WrappedIcon\n lib=\"fa\"\n prefix=\"far\"\n icon=\"folder-open\"\n className=\"menu-icon\"\n />\n <span className=\"menu-item-label\">{name}</span>\n <WrappedIcon\n lib=\"antd\"\n icon={actualExpanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n <ul className={classNames(\"sub-menu\", { expanded: actualExpanded })}>\n {items.map((item) => (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n ))}\n </ul>\n </li>\n );\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { WrappedLink, WrappedIcon } from \"./wrapped-bricks\";\nimport { MenuItemDataNormal, PlatformCategoryItem } from \"./interfaces\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\n\nexport interface PlatformCategorySidebarMenuItemProps {\n item: PlatformCategoryItem;\n active?: boolean;\n onClick?: (item: PlatformCategoryItem) => void;\n}\n\nexport function PlatformCategorySidebarMenuItem({\n item,\n active,\n onClick,\n}: PlatformCategorySidebarMenuItemProps) {\n return (\n <li className=\"platform-category-sidebar-menu-item\">\n <WrappedLink\n type=\"plain\"\n className={classNames({ active })}\n onClick={() => onClick?.(item)}\n >\n <WrappedIcon\n className={\"platform-category-sidebar-menu-icon\"}\n lib=\"easyops\"\n category=\"second-menu\"\n icon=\"serve-second-menu\"\n {...(item.icon?.lib && item.icon.icon\n ? (pick(item.icon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"platform-category-sidebar-menu-item-label\">\n {item.name}\n </span>\n </WrappedLink>\n </li>\n );\n}\n\nexport interface PlatformItemProps {\n item: MenuItemDataNormal;\n}\n\nexport function PlatformItem({ item }: PlatformItemProps) {\n return (\n <li>\n <WrappedLink\n type=\"plain\"\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <div className=\"platform-item\">\n <div className=\"platform-item-title\">\n <WrappedIcon\n className=\"platform-item-icon\"\n lib=\"easyops\"\n category=\"third-menu\"\n icon=\"deploy-orchestration-tasks-third-menu\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <div className=\"platform-item-name\">{item.name}</div>\n </div>\n <div className=\"platform-item-description\">{item.description}</div>\n </div>\n </WrappedLink>\n </li>\n );\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadInfo } from \"./useLaunchpadInfo.js\";\nimport { MenuGroup, SidebarMenuItem } from \"./MenuGroup.js\";\nimport { LaunchpadsContext } from \"./LaunchpadContext.js\";\nimport {\n FavMenuItem,\n PlatformCategoryItem,\n SidebarMenuItemData,\n} from \"./interfaces\";\nimport {\n PlatformItem,\n PlatformCategorySidebarMenuItem,\n} from \"./PlatformCategory\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\n\nexport function Launchpad({ active }: { active?: boolean }) {\n const searchInputRef = useRef<HTMLInputElement>(null);\n const [favorites, setFavorites] = useState<FavMenuItem[]>([]);\n const handleClickSearchBox = useCallback(() => {\n searchInputRef.current?.focus();\n }, []);\n const [platform, setPlatform] = useState(\"#all\");\n\n const showPlatformCategory = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-platform-category\"],\n []\n );\n\n const showScenarioCenter = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-scenario-center\"],\n []\n );\n\n const showSolutionCenter = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-solution-center\"],\n []\n );\n\n const showOpenPlatform = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-open-platform\"],\n []\n );\n\n const {\n loading,\n q,\n setQ,\n menuGroups,\n favorites: _favorites,\n loadingFavorites,\n recentVisits,\n pushRecentVisit,\n toggleStar,\n isStarred,\n platformCategories,\n } = useLaunchpadInfo(active);\n const searching = !!q;\n\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setQ(e.target.value);\n },\n [setQ]\n );\n\n const clearSearch = useCallback(() => {\n setQ(\"\");\n }, [setQ]);\n\n useEffect(() => {\n if (active) {\n searchInputRef.current?.focus();\n }\n }, [active]);\n\n const handlePlatformCategoryClick = useCallback(\n (item: PlatformCategoryItem) => {\n setPlatform(item.id);\n },\n []\n );\n\n const curCategory = useMemo(() => {\n return platformCategories.find((v) => v.id === platform);\n }, [platform, platformCategories]);\n\n useEffect(() => {\n if (_favorites.length > favorites.length) {\n // 新增无需等待直接更新列表\n setFavorites(_favorites);\n } else {\n // 删除操作需要等待动画执行完后才更新列表数据\n setTimeout(() => {\n setFavorites(_favorites);\n }, 300);\n }\n }, [_favorites, favorites.length]);\n\n return (\n <div className={classNames(\"launchpad\", { active })}>\n <LaunchpadsContext.Provider\n value={{\n searching,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n }}\n >\n <div className=\"sidebar\">\n <div className=\"union\">\n <div className=\"quick-nav\">\n <div className=\"quick-nav-label\">快捷访问</div>\n {/* <Loading loading={loading || loadingFavorites} /> */}\n <TransitionGroup>\n <ul className=\"sidebar-menu quick-nav-menu\">\n {favorites.map((item, index) => (\n <CSSTransition\n key={index}\n timeout={300}\n in={!!_favorites.find((i) => i.id === item.id)}\n classNames={{\n enter: \"fadeEnter\",\n enterActive: \"fadeEnterActive\",\n exit: \"fadeExit\",\n exitActive: \"fadeExitActive\",\n exitDone: \"fadeExitDone\",\n }}\n >\n <SidebarMenuItem\n key={index}\n item={item as SidebarMenuItemData}\n />\n </CSSTransition>\n ))}\n </ul>\n </TransitionGroup>\n </div>\n\n {showPlatformCategory && (\n <div className=\"platform-nav\">\n <div className=\"platform-nav-label\">平台底座</div>\n <ul className=\"sidebar-menu platform-nav-menu\">\n {platformCategories.map((item, index) => (\n <PlatformCategorySidebarMenuItem\n key={index}\n onClick={handlePlatformCategoryClick}\n item={item}\n active={platform === item.id}\n />\n ))}\n </ul>\n </div>\n )}\n </div>\n {showScenarioCenter && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/portal/scenario\"}>\n <div className=\"jump-nav-label\">场景中心</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n\n {showSolutionCenter && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/portal/solution\"}>\n <div className=\"jump-nav-label\">解决方案</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n {showOpenPlatform && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/developers\"}>\n <div className=\"jump-nav-label\">开放平台</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n </div>\n <div className={classNames(\"content\", { loading })}>\n <Loading loading={loading} />\n {platform !== \"#all\" && (\n <div className=\"platform-category-name\">{curCategory?.name}</div>\n )}\n <div className=\"search-box\" onClick={handleClickSearchBox}>\n <WrappedIcon\n lib=\"fa\"\n icon=\"magnifying-glass\"\n className=\"search-icon\"\n />\n <input\n ref={searchInputRef}\n placeholder=\"通过关键字搜索\"\n value={q}\n onChange={handleSearch}\n className=\"search-input\"\n />\n <WrappedIcon\n lib=\"antd\"\n theme=\"filled\"\n icon=\"close-circle\"\n className={classNames(\"search-clear\", { searching })}\n onClick={clearSearch}\n />\n </div>\n {platform === \"#all\" && (\n <div className={classNames({ empty: recentVisits.length === 0 })}>\n <div className=\"recent-visits-label\">最近访问</div>\n <ul className=\"recent-visits\">\n {recentVisits.map((item, index) => (\n <li key={index}>\n <WrappedLink\n onClick={() => pushRecentVisit(item)}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <span>{item.name}</span>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </div>\n )}\n {platform === \"#all\" && (\n <ul className=\"menu-groups\">\n {menuGroups.map((group) => (\n <MenuGroup\n key={group.name}\n name={group.name}\n items={group.items}\n />\n ))}\n </ul>\n )}\n {platform !== \"#all\" && (\n <ul\n className={classNames(\"platform-items\", {\n empty: curCategory?.items.length === 0,\n })}\n >\n {curCategory?.items.map((item, index) => (\n <PlatformItem item={item} key={index} />\n ))}\n </ul>\n )}\n </div>\n </LaunchpadsContext.Provider>\n </div>\n );\n}\n\nfunction Loading({ loading }: { loading: boolean }) {\n return (\n loading && (\n <div className=\"spinner\">\n <WrappedIcon lib=\"fa\" icon=\"spinner\" spinning />\n </div>\n )\n );\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","LaunchpadsContext","React","useLaunchpadContext","MenuGroup","_ref","name","items","className","map","item","type","MenuItemFolder","key","MenuItem","_ref2","_item$menuIcon","loadingFavorites","readonly","pushRecentVisit","toggleStar","isStarred","starred","useMemo","handleStarClick","useCallback","handleClick","classNames","WrappedLink","_extends","onClick","url","href","WrappedIcon","lib","icon","menuIcon","pick","prefix","title","SidebarMenuItem","_ref3","_item$menuIcon2","target","handleRemoveStar","_ref4","searching","expanded","setExpanded","useState","searchingExpanded","setSearchingExpanded","toggle","previous","useEffect","actualExpanded","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","PlatformCategorySidebarMenuItem","_item$icon","active","category","PlatformItem","description","Launchpad","searchInputRef","useRef","favorites","setFavorites","handleClickSearchBox","_searchInputRef$curre","current","focus","platform","setPlatform","showPlatformCategory","_getRuntime","getRuntime","getFeatureFlags","showScenarioCenter","_getRuntime2","showSolutionCenter","_getRuntime3","showOpenPlatform","_getRuntime4","loading","q","setQ","menuGroups","_favorites","recentVisits","platformCategories","useLaunchpadInfo","handleSearch","e","value","clearSearch","_searchInputRef$curre2","handlePlatformCategoryClick","curCategory","find","v","length","setTimeout","Provider","TransitionGroup","index","CSSTransition","timeout","in","i","enter","enterActive","exit","exitActive","exitDone","theme","Loading","ref","placeholder","onChange","empty","group","spinning"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/9149.0c92a507.js","mappings":"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","sources":["webpack:///./src/launchpad-button-v2/host-context.css","webpack:///./src/launchpad-button-v2/PlatformCategory.shadow.css","webpack:///./src/launchpad-button-v2/styles.shadow.css","webpack:///./src/launchpad-button-v2/LaunchpadContext.ts","webpack:///./src/launchpad-button-v2/Launchpad.shadow.css","webpack:///./src/launchpad-button-v2/MenuGroup.tsx","webpack:///./src/launchpad-button-v2/host-context.css?59a8","webpack:///./src/launchpad-button-v2/PlatformCategory.tsx","webpack:///./src/launchpad-button-v2/Launchpad.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.platform-category-name,\n.platform-category-sidebar-menu-item-label,\n.platform-item-name,\n.platform-item-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-category-sidebar-menu-item{display:flex;gap:8px;align-items:center;padding:0px 12px 0px 16px}.platform-category-sidebar-menu-item > eo-link{display:block;min-width:0px;color:var(--color-header-text);cursor:pointer}.platform-category-sidebar-menu-item > eo-link:hover,\n.platform-category-sidebar-menu-item\n > eo-link:hover\n .platform-category-sidebar-menu-icon{color:var(--color-brand-hover)}.platform-category-sidebar-menu-item > eo-link.active,\n.platform-category-sidebar-menu-item\n > eo-link.active\n .platform-category-sidebar-menu-icon{color:var(--color-brand-active)}.platform-category-sidebar-menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px}.platform-category-sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.platform-category-name{font-size:18px;font-weight:500;color:var(--text-color-secondary);flex-shrink:0}.platform-items{display:grid;grid-template-columns:repeat(2,1fr);gap:0 54px}.platform-items > li{min-width:0}.platform-items > li > eo-link{width:100%;cursor:pointer}.platform-item{padding:12px 0;display:flex;flex-direction:column}.platform-item:hover .platform-item-icon,\n.platform-item:hover .platform-item-name{color:var(--color-brand-hover)}.platform-item-title{display:flex;align-items:center;margin-bottom:4px}.platform-item-icon{margin-right:8px;font-size:14px;color:var(--text-color-secondary);flex-shrink:0}.platform-item-name{font-weight:500;color:var(--text-color-title);line-height:18px}.platform-item-description{margin-left:22px;color:var(--text-color-secondary);line-height:18px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block;width:32px;height:32px;--eo-launchpad-v2-max-height:calc(100vh - var(--app-bar-height) - 36px)}:host([hidden]){display:none}.launchpad-button{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#999;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);height:var(--eo-launchpad-v2-max-height);background-color:var(--eo-launchpad-v2-background);border:1px solid var(--color-text-divider-line);border-radius:6px;box-shadow:var(--fullscreen-overlay-shadow)}.launchpad.active{display:flex}.sidebar{width:190px;display:flex;flex-direction:column;background:var(--color-fill-bg-base-3);min-width:0;background-size:205px 205px;background-repeat:no-repeat;background-position:left 52px bottom 27px}.sidebar > *:not(:last-child){border-bottom:1px solid var(--stroke-color-default)}.quick-nav-label,\n.platform-nav-label,\n.jump-nav-label,\n.menu-group-label,\n.menu-item-label,\n.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu,\n.menu-groups,\n.menu,\n.sub-menu,\n.recent-visits,\n.platform-items{list-style:none;margin:0;padding:0}.sidebar-menu,\n.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.sidebar-menu-item > eo-link,\n.menu-item > eo-link,\n.recent-visits eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.sidebar-menu-item{padding:0 12px 0 16px;justify-content:space-between}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.union{flex:1;display:flex;flex-direction:column;overflow-y:auto}.quick-nav,\n.platform-nav{display:flex;flex-direction:column;padding:20px 0 24px}.platform-nav{padding:0 0 24px}.quick-nav-label,\n.platform-nav-label{color:var(--color-header-text);font-weight:500;margin-bottom:14px;padding:0 16px}.quick-nav-menu,\n.platform-nav-menu{flex:1}.jump-nav > eo-link{display:block;cursor:pointer}.jump-nav > eo-link::part(link){padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.jump-nav-label{flex:1;color:var(--color-header-text);font-weight:500}.jump-nav > eo-icon{font-size:14px;color:var(--text-color-default)}.content{flex:1;padding:20px 24px 24px;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;margin-top:-10px;cursor:text}.search-icon{color:var(--color-auxiliary-text)}.search-input{padding:0;margin:0;border:none;outline:none;color:inherit;background-color:transparent;font-size:14px;line-height:22px;flex:1;min-width:0}.search-input::placeholder{color:var(--color-disabled-text);opacity:1}.search-clear{display:none;color:var(--color-secondary-text);cursor:pointer}.search-clear.searching{display:inline-block}.search-clear:hover{color:var(--color-auxiliary-text)}.menu-groups,\n.recent-visits{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;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;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","import React from \"react\";\nimport type { MenuItemDataLink, MenuItemDataNormal } from \"./interfaces\";\n\nexport interface LaunchpadContextData {\n searching: boolean;\n loadingFavorites: boolean;\n readonly?: boolean;\n pushRecentVisit(item: MenuItemDataNormal): void;\n toggleStar(item: MenuItemDataNormal | MenuItemDataLink): void;\n isStarred(item: MenuItemDataNormal): boolean;\n}\n\nexport const LaunchpadsContext = React.createContext<LaunchpadContextData>(\n {} as LaunchpadContextData\n);\n\nexport const useLaunchpadContext = (): LaunchpadContextData =>\n React.useContext(LaunchpadsContext);\n","// 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, `.fadeEnter{opacity:0;transform:scale(0.95)}.fadeEnterActive{opacity:1;transform:translateX(0);transition:opacity 100ms ease-out,transform 100ms ease-out}.fadeExit{transform:translate(-30px,0)}.fadeExitActive{transform:translate(-100%,0);transition:transform 300ms ease-out}.fadeExitDone{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadContext } from \"./LaunchpadContext\";\nimport type {\n MenuItemData,\n MenuItemDataNormal,\n SidebarMenuItemData,\n} from \"./interfaces\";\nimport { Target } from \"@next-bricks/basic/link\";\n\nexport interface MenuGroupProps {\n name: string;\n items: MenuItemData[];\n}\n\nexport function MenuGroup({ name, items }: MenuGroupProps) {\n return (\n <li className=\"menu-group\">\n <div className=\"menu-group-label\">{name}</div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={`${item.type}-${item.id}`}\n name={item.name}\n items={item.items}\n />\n ) : (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n item: MenuItemDataNormal;\n}\n\nfunction MenuItem({ item }: MenuItemProps) {\n const { loadingFavorites, readonly, pushRecentVisit, toggleStar, isStarred } =\n useLaunchpadContext();\n\n const starred = useMemo(() => isStarred(item), [isStarred, item]);\n\n const handleStarClick = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n const handleClick = useCallback(() => {\n pushRecentVisit(item);\n }, [item, pushRecentVisit]);\n\n return (\n <li\n className={classNames(\"menu-item\", {\n starred,\n \"can-star\": !loadingFavorites,\n })}\n >\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n })}\n >\n <WrappedIcon\n className=\"menu-icon\"\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n prefix={starred ? \"fas\" : \"far\"}\n icon=\"star\"\n className=\"menu-item-star\"\n title={starred ? \"取消收藏\" : \"收藏\"}\n onClick={handleStarClick}\n />\n )}\n </li>\n );\n}\n\nexport interface SidebarMenuItemProps {\n item: SidebarMenuItemData;\n target?: Target;\n}\n\nexport function SidebarMenuItem({ item, target }: SidebarMenuItemProps) {\n const { readonly, pushRecentVisit, toggleStar } = useLaunchpadContext();\n\n const handleClick = useCallback(() => {\n if (item.type !== \"link\") {\n pushRecentVisit(item);\n }\n }, [item, pushRecentVisit]);\n\n const handleRemoveStar = useCallback(() => {\n toggleStar(item);\n }, [item, toggleStar]);\n\n return (\n <li className=\"sidebar-menu-item\">\n <WrappedLink\n onClick={handleClick}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n })}\n {...(target\n ? {\n target,\n }\n : null)}\n >\n <WrappedIcon\n className={`sidebar-menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n icon=\"xmark\"\n className=\"menu-item-remove\"\n onClick={handleRemoveStar}\n />\n )}\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n name: string;\n items: MenuItemDataNormal[];\n}\n\nfunction MenuItemFolder({ name, items }: MenuItemFolderProps) {\n const { searching } = useLaunchpadContext();\n const [expanded, setExpanded] = useState(false);\n const [searchingExpanded, setSearchingExpanded] = useState(false);\n\n const toggle = useCallback(() => {\n // Use separated expanded states for searching and non-searching.\n if (searching) {\n setSearchingExpanded((previous) => !previous);\n } else {\n setExpanded((previous) => !previous);\n }\n }, [searching]);\n\n useEffect(() => {\n // Each time when start searching, set it as expanded.\n setSearchingExpanded(true);\n }, [searching]);\n\n const actualExpanded = searching ? searchingExpanded : expanded;\n\n return (\n <li className=\"menu-item folder\">\n <WrappedLink onClick={toggle}>\n <WrappedIcon\n lib=\"fa\"\n prefix=\"far\"\n icon=\"folder-open\"\n className=\"menu-icon\"\n />\n <span className=\"menu-item-label\">{name}</span>\n <WrappedIcon\n lib=\"antd\"\n icon={actualExpanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n <ul className={classNames(\"sub-menu\", { expanded: actualExpanded })}>\n {items.map((item) => (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n ))}\n </ul>\n </li>\n );\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { WrappedLink, WrappedIcon } from \"./wrapped-bricks\";\nimport { MenuItemDataNormal, PlatformCategoryItem } from \"./interfaces\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\n\nexport interface PlatformCategorySidebarMenuItemProps {\n item: PlatformCategoryItem;\n active?: boolean;\n onClick?: (item: PlatformCategoryItem) => void;\n}\n\nexport function PlatformCategorySidebarMenuItem({\n item,\n active,\n onClick,\n}: PlatformCategorySidebarMenuItemProps) {\n return (\n <li className=\"platform-category-sidebar-menu-item\">\n <WrappedLink\n type=\"plain\"\n className={classNames({ active })}\n onClick={() => onClick?.(item)}\n >\n <WrappedIcon\n className={\"platform-category-sidebar-menu-icon\"}\n lib=\"easyops\"\n category=\"second-menu\"\n icon=\"serve-second-menu\"\n {...(item.icon?.lib && item.icon.icon\n ? (pick(item.icon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"platform-category-sidebar-menu-item-label\">\n {item.name}\n </span>\n </WrappedLink>\n </li>\n );\n}\n\nexport interface PlatformItemProps {\n item: MenuItemDataNormal;\n}\n\nexport function PlatformItem({ item }: PlatformItemProps) {\n return (\n <li>\n <WrappedLink\n type=\"plain\"\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <div className=\"platform-item\">\n <div className=\"platform-item-title\">\n <WrappedIcon\n className=\"platform-item-icon\"\n lib=\"easyops\"\n category=\"third-menu\"\n icon=\"deploy-orchestration-tasks-third-menu\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <div className=\"platform-item-name\">{item.name}</div>\n </div>\n <div className=\"platform-item-description\">{item.description}</div>\n </div>\n </WrappedLink>\n </li>\n );\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadInfo } from \"./useLaunchpadInfo.js\";\nimport { MenuGroup, SidebarMenuItem } from \"./MenuGroup.js\";\nimport { LaunchpadsContext } from \"./LaunchpadContext.js\";\nimport {\n FavMenuItem,\n PlatformCategoryItem,\n SidebarMenuItemData,\n} from \"./interfaces\";\nimport {\n PlatformItem,\n PlatformCategorySidebarMenuItem,\n} from \"./PlatformCategory\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\n\nexport function Launchpad({ active }: { active?: boolean }) {\n const searchInputRef = useRef<HTMLInputElement>(null);\n const [favorites, setFavorites] = useState<FavMenuItem[]>([]);\n const handleClickSearchBox = useCallback(() => {\n searchInputRef.current?.focus();\n }, []);\n const [platform, setPlatform] = useState(\"#all\");\n\n const showPlatformCategory = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-platform-category\"],\n []\n );\n\n const showScenarioCenter = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-scenario-center\"],\n []\n );\n\n const showSolutionCenter = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-solution-center\"],\n []\n );\n\n const showOpenPlatform = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"launchpad-show-open-platform\"],\n []\n );\n\n const {\n loading,\n q,\n setQ,\n menuGroups,\n favorites: _favorites,\n loadingFavorites,\n recentVisits,\n pushRecentVisit,\n toggleStar,\n isStarred,\n platformCategories,\n } = useLaunchpadInfo(active);\n const searching = !!q;\n\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setQ(e.target.value);\n },\n [setQ]\n );\n\n const clearSearch = useCallback(() => {\n setQ(\"\");\n }, [setQ]);\n\n useEffect(() => {\n if (active) {\n searchInputRef.current?.focus();\n }\n }, [active]);\n\n const handlePlatformCategoryClick = useCallback(\n (item: PlatformCategoryItem) => {\n setPlatform(item.id);\n },\n []\n );\n\n const curCategory = useMemo(() => {\n return platformCategories.find((v) => v.id === platform);\n }, [platform, platformCategories]);\n\n useEffect(() => {\n if (_favorites.length > favorites.length) {\n // 新增无需等待直接更新列表\n setFavorites(_favorites);\n } else {\n // 删除操作需要等待动画执行完后才更新列表数据\n setTimeout(() => {\n setFavorites(_favorites);\n }, 300);\n }\n }, [_favorites, favorites.length]);\n\n return (\n <div className={classNames(\"launchpad\", { active })}>\n <LaunchpadsContext.Provider\n value={{\n searching,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n }}\n >\n <div className=\"sidebar\">\n <div className=\"union\">\n <div className=\"quick-nav\">\n <div className=\"quick-nav-label\">快捷访问</div>\n {/* <Loading loading={loading || loadingFavorites} /> */}\n <TransitionGroup>\n <ul className=\"sidebar-menu quick-nav-menu\">\n {favorites.map((item, index) => (\n <CSSTransition\n key={index}\n timeout={300}\n in={!!_favorites.find((i) => i.id === item.id)}\n classNames={{\n enter: \"fadeEnter\",\n enterActive: \"fadeEnterActive\",\n exit: \"fadeExit\",\n exitActive: \"fadeExitActive\",\n exitDone: \"fadeExitDone\",\n }}\n >\n <SidebarMenuItem\n key={index}\n item={item as SidebarMenuItemData}\n />\n </CSSTransition>\n ))}\n </ul>\n </TransitionGroup>\n </div>\n\n {showPlatformCategory && (\n <div className=\"platform-nav\">\n <div className=\"platform-nav-label\">平台底座</div>\n <ul className=\"sidebar-menu platform-nav-menu\">\n {platformCategories.map((item, index) => (\n <PlatformCategorySidebarMenuItem\n key={index}\n onClick={handlePlatformCategoryClick}\n item={item}\n active={platform === item.id}\n />\n ))}\n </ul>\n </div>\n )}\n </div>\n {showScenarioCenter && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/portal/scenario\"}>\n <div className=\"jump-nav-label\">场景中心</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n\n {showSolutionCenter && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/portal/solution\"}>\n <div className=\"jump-nav-label\">解决方案</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n {showOpenPlatform && (\n <div className=\"jump-nav\">\n <WrappedLink type=\"plain\" url={\"/developers\"}>\n <div className=\"jump-nav-label\">开放平台</div>\n <WrappedIcon lib=\"antd\" icon=\"right\" theme=\"outlined\" />\n </WrappedLink>\n </div>\n )}\n </div>\n <div className={classNames(\"content\", { loading })}>\n <Loading loading={loading} />\n {platform !== \"#all\" && (\n <div className=\"platform-category-name\">{curCategory?.name}</div>\n )}\n <div className=\"search-box\" onClick={handleClickSearchBox}>\n <WrappedIcon\n lib=\"fa\"\n icon=\"magnifying-glass\"\n className=\"search-icon\"\n />\n <input\n ref={searchInputRef}\n placeholder=\"通过关键字搜索\"\n value={q}\n onChange={handleSearch}\n className=\"search-input\"\n />\n <WrappedIcon\n lib=\"antd\"\n theme=\"filled\"\n icon=\"close-circle\"\n className={classNames(\"search-clear\", { searching })}\n onClick={clearSearch}\n />\n </div>\n {platform === \"#all\" && (\n <div className={classNames({ empty: recentVisits.length === 0 })}>\n <div className=\"recent-visits-label\">最近访问</div>\n <ul className=\"recent-visits\">\n {recentVisits.map((item, index) => (\n <li key={index}>\n <WrappedLink\n onClick={() => pushRecentVisit(item)}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <span>{item.name}</span>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </div>\n )}\n {platform === \"#all\" && (\n <ul className=\"menu-groups\">\n {menuGroups.map((group) => (\n <MenuGroup\n key={group.name}\n name={group.name}\n items={group.items}\n />\n ))}\n </ul>\n )}\n {platform !== \"#all\" && (\n <ul\n className={classNames(\"platform-items\", {\n empty: curCategory?.items.length === 0,\n })}\n >\n {curCategory?.items.map((item, index) => (\n <PlatformItem item={item} key={index} />\n ))}\n </ul>\n )}\n </div>\n </LaunchpadsContext.Provider>\n </div>\n );\n}\n\nfunction Loading({ loading }: { loading: boolean }) {\n return (\n loading && (\n <div className=\"spinner\">\n <WrappedIcon lib=\"fa\" icon=\"spinner\" spinning />\n </div>\n )\n );\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","LaunchpadsContext","React","useLaunchpadContext","MenuGroup","_ref","name","items","className","map","item","type","MenuItemFolder","key","MenuItem","_ref2","_item$menuIcon","loadingFavorites","readonly","pushRecentVisit","toggleStar","isStarred","starred","useMemo","handleStarClick","useCallback","handleClick","classNames","WrappedLink","_extends","onClick","url","href","WrappedIcon","lib","icon","menuIcon","pick","prefix","title","SidebarMenuItem","_ref3","_item$menuIcon2","target","handleRemoveStar","_ref4","searching","expanded","setExpanded","useState","searchingExpanded","setSearchingExpanded","toggle","previous","useEffect","actualExpanded","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","PlatformCategorySidebarMenuItem","_item$icon","active","category","PlatformItem","description","Launchpad","searchInputRef","useRef","favorites","setFavorites","handleClickSearchBox","_searchInputRef$curre","current","focus","platform","setPlatform","showPlatformCategory","_getRuntime","getRuntime","getFeatureFlags","showScenarioCenter","_getRuntime2","showSolutionCenter","_getRuntime3","showOpenPlatform","_getRuntime4","loading","q","setQ","menuGroups","_favorites","recentVisits","platformCategories","useLaunchpadInfo","handleSearch","e","value","clearSearch","_searchInputRef$curre2","handlePlatformCategoryClick","curCategory","find","v","length","setTimeout","Provider","TransitionGroup","index","CSSTransition","timeout","in","i","enter","enterActive","exit","exitActive","exitDone","theme","Loading","ref","placeholder","onChange","empty","group","spinning"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 9363.fc28662e.js.LICENSE.txt */
|
|
2
|
+
"use strict";(globalThis.webpackChunk_next_bricks_nav=globalThis.webpackChunk_next_bricks_nav||[]).push([[9363],{63:(e,t,n)=>{n.d(t,{IZ:()=>c,LP:()=>l,Wf:()=>o});var a=n(1732),r=n(140),i=n(1030);function c(e){return"group"===e.type}function o(e,t){return Boolean("subMenu"===e.type||t&&"group"===e.type)}function l(e,t,n,u){const p=[],d=[],h=[];let f=0;return e&&e.forEach((e=>{if(e.key=""===u?`${f}`:`${u}.${f}`,c(e)||o(e)){const a=l(e.items,t,n,e.key);p.push(...a.selectedKeys),(a.selectedKeys.length||e.defaultExpanded)&&d.push(e.key),d.push(...a.openedKeys),h.push(...a.matchedKeys)}else if(function(e,t,n){if(!e.to)return!1;const c="object"==typeof e.to?e.to:(0,a.parsePath)(e.to),o=c.pathname.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1");let l=!!(0,r.matchPath)(t,{path:o,exact:e.exact});if(l&&e.activeMatchSearch&&(l=s(n,c.search)),!l&&Array.isArray(e.activeIncludes))for(const c of e.activeIncludes){let e,o=!0;(0,i.isObject)(c)?(e=Array.isArray(c.path)?c.path:[c.path],o=c.exact):e=[c];for(const i of e){var u;let e;const c=i.includes("?");if(c&&(e=(0,a.parsePath)(i)),l=!!(0,r.matchPath)(t,{path:c?e.pathname:i,exact:o}),l&&null!==(u=e)&&void 0!==u&&u.search&&(l=s(n,e.search)),l)break}if(l)break}if(l&&Array.isArray(e.activeExcludes))for(const c of e.activeExcludes){let e,o=!0;(0,i.isObject)(c)?(e=Array.isArray(c.path)?c.path:[c.path],o=c.exact):e=[c];for(const i of e){let e;if(i.includes("?")&&(e=(0,a.parsePath)(i)),l=!((0,r.matchPath)(t,{path:e?e.pathname:i,exact:o})&&(!e||s(n,e.search))),!l)break}if(!l)break}return l}(e,t,n)){p.push(String(e.key));const t=e.key.split(".");for(let e=0;e<t.length;e++)h.push(t.slice(0,e+1).join("."))}f+=1})),p.length&&""!==u&&d.push(u),{selectedKeys:p,openedKeys:d,matchedKeys:h}}function s(e,t){const n=new URLSearchParams(e),a=new URLSearchParams(t);for(const[e,t]of a.entries()){var r;if((null!==(r=n.get(e))&&void 0!==r?r:"")!==t)return!1}return!0}},829:(e,t,n)=>{n.d(t,{A:()=>r});var a=n(2559);function r(e,t){return e.get((0,a.A)(e,t))}},918:(e,t,n)=>{n.d(t,{A:()=>r});var a=n(2016);function r(e,t,n){(0,a.A)(e,t),t.set(e,n)}},1644:(e,t,n)=>{n.d(t,{a:()=>i});var a=n(6330),r=n(1361),i=function(){var e=(0,a.A)((function*(e,t){return(yield r.http.post("api/gateway/user_service.launchpad.CreateCollection/api/v1/launchpad/collection",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}()},1675:(e,t,n)=>{n.d(t,{A:()=>v});var a=n(7502),r=n(9575),i=n(2474),c=n(9140),o=n(8769),l=n.n(o),s=n(9548);function u(e,t){var n=Object.create(null);return e&&o.Children.map(e,(function(e){return e})).forEach((function(e){n[e.key]=function(e){return t&&(0,o.isValidElement)(e)?t(e):e}(e)})),n}function p(e,t,n){return null!=n[t]?n[t]:e.props[t]}function d(e,t,n){var a=u(e.children),r=function(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var a,r=Object.create(null),i=[];for(var c in e)c in t?i.length&&(r[c]=i,i=[]):i.push(c);var o={};for(var l in t){if(r[l])for(a=0;a<r[l].length;a++){var s=r[l][a];o[r[l][a]]=n(s)}o[l]=n(l)}for(a=0;a<i.length;a++)o[i[a]]=n(i[a]);return o}(t,a);return Object.keys(r).forEach((function(i){var c=r[i];if((0,o.isValidElement)(c)){var l=i in t,s=i in a,u=t[i],d=(0,o.isValidElement)(u)&&!u.props.in;!s||l&&!d?s||!l||d?s&&l&&(0,o.isValidElement)(u)&&(r[i]=(0,o.cloneElement)(c,{onExited:n.bind(null,c),in:u.props.in,exit:p(c,"exit",e),enter:p(c,"enter",e)})):r[i]=(0,o.cloneElement)(c,{in:!1}):r[i]=(0,o.cloneElement)(c,{onExited:n.bind(null,c),in:!0,exit:p(c,"exit",e),enter:p(c,"enter",e)})}})),r}var h=Object.values||function(e){return Object.keys(e).map((function(t){return e[t]}))},f=function(e){function t(t,n){var a,r=(a=e.call(this,t,n)||this).handleExited.bind((0,i.A)(a));return a.state={contextValue:{isMounting:!0},handleExited:r,firstRender:!0},a}(0,c.A)(t,e);var n=t.prototype;return n.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var n,a,r=t.children,i=t.handleExited;return{children:t.firstRender?(n=e,a=i,u(n.children,(function(e){return(0,o.cloneElement)(e,{onExited:a.bind(null,e),in:!0,appear:p(e,"appear",n),enter:p(e,"enter",n),exit:p(e,"exit",n)})}))):d(e,r,i),firstRender:!1}},n.handleExited=function(e,t){var n=u(this.props.children);e.key in n||(e.props.onExited&&e.props.onExited(t),this.mounted&&this.setState((function(t){var n=(0,r.A)({},t.children);return delete n[e.key],{children:n}})))},n.render=function(){var e=this.props,t=e.component,n=e.childFactory,r=(0,a.A)(e,["component","childFactory"]),i=this.state.contextValue,c=h(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===t?l().createElement(s.A.Provider,{value:i},c):l().createElement(s.A.Provider,{value:i},l().createElement(t,r,c))},t}(l().Component);f.propTypes={},f.defaultProps={component:"div",childFactory:function(e){return e}};const v=f},2016:(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,{A:()=>a})},2559:(e,t,n)=>{function a(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}n.d(t,{A:()=>a})},2824:(e,t,n)=>{n.d(t,{k:()=>i});var a=n(6330),r=n(1361),i=function(){var e=(0,a.A)((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)}}()},2887:(e,t,n)=>{n.d(t,{r:()=>r});var a=n(1361),r=(e,t)=>a.http.delete("api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/".concat(e),t)},3887:(e,t,n)=>{n.d(t,{j:()=>r});var a=n(1361),r=(e,t)=>a.http.delete("api/gateway/user_service.launchpad.DeleteCollection/api/v1/launchpad/collection/".concat(e),t)},4156:(e,t,n)=>{n.d(t,{B:()=>r});var a=n(1361),r=(e,t)=>a.http.post("api/gateway/user_service.my_collection.UpsertMyCollection/api/v1/user_service/my_collection/upsert_collections",e,t)},4635:(e,t,n)=>{n.d(t,{A:()=>r});var a=n(2016);function r(e,t){(0,a.A)(e,t),t.add(e)}},5343:(e,t,n)=>{n.d(t,{Q:()=>c});var a=n(9740),r=n(6330),i=n(1361),c=function(){var e=(0,r.A)((function*(e,t){return(yield i.http.get("api/gateway/user_service.my_collection.ListMyCollection/api/v1/user_service/my_collection/collections",(0,a.A)((0,a.A)({},t),{},{params:e}))).data}));return function(t,n){return e.apply(this,arguments)}}()},5536:(e,t,n)=>{n.d(t,{A:()=>r});var a=n(2559);function r(e,t,n){return n((0,a.A)(e,t))}},6121:(e,t,n)=>{n.d(t,{A:()=>r});var a=n(2559);function r(e,t,n){return e.set((0,a.A)(e,t),n),n}},7296:(e,t,n)=>{n.d(t,{K:()=>c});var a=n(9740),r=n(6330),i=n(1361),c=function(){var e=(0,r.A)((function*(e,t){return(yield i.http.get("api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection",(0,a.A)((0,a.A)({},t),{},{params:e}))).data}));return function(t,n){return e.apply(this,arguments)}}()},7439:(e,t,n)=>{n.d(t,{$:()=>r});var a=n(1361);const r=async e=>(await a.http.get("api/gateway/sys_setting.announce.PollAnnounce/api/sys_setting/v1/announce/poll",e)).data},8013:(e,t,n)=>{function a(e){let t;const n=()=>cancelAnimationFrame(t),a=function(){for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];t&&n(),t=requestAnimationFrame((()=>{e(...r)}))};return a.cancel=n,a}n.d(t,{G:()=>a})},8627:(e,t,n)=>{n.d(t,{F:()=>r});var a=n(1361);const r=async(e,t)=>(await a.http.get("api/gateway/sys_setting.announce.ListEffectiveAnnounce/api/sys_setting/v1/announce/effective",{...t,params:e})).data},9684:(e,t,n)=>{n.d(t,{o:()=>c});var a=n(9740),r=n(6330),i=n(1361),c=function(){var e=(0,r.A)((function*(e,t){return(yield i.http.get("api/gateway/user_service.launchpad.ListCollection/api/v1/launchpad/collection",(0,a.A)((0,a.A)({},t),{},{params:e}))).data}));return function(t,n){return e.apply(this,arguments)}}()},9896:(e,t,n)=>{n.d(t,{w:()=>r});var a=n(1361);const r=(e,t)=>a.http.post("api/gateway/sys_setting.announce.IgnoreAnnounce/api/sys_setting/v1/announce/ignore",e,t)}}]);
|
|
3
|
+
//# sourceMappingURL=9363.fc28662e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/9363.65310518.js","mappings":"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","sources":["webpack:///../../node_modules/@next-shared/general/dist/esm/menu.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/createCollection.js","webpack:///../../node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///../../node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.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/deleteCollection.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/my_collection/upsertMyCollection.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/my_collection/listMyCollection.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/listCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/sys-setting-sdk/dist/esm/api/sys_setting/announce/pollAnnounce.js","webpack:///../../node_modules/@next-shared/general/dist/esm/debounceByAnimationFrame.js","webpack:///../../node_modules/@next-api-sdk/sys-setting-sdk/dist/esm/api/sys_setting/announce/listEffectiveAnnounce.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/listCollection.js","webpack:///../../node_modules/@next-api-sdk/sys-setting-sdk/dist/esm/api/sys_setting/announce/ignoreAnnounce.js"],"sourcesContent":["import { parsePath } from \"history\";\nimport { matchPath } from \"@next-core/runtime\";\nimport { isObject } from \"lodash\";\nexport function isGroup(item) {\n return item.type === \"group\";\n}\nexport function isSubMenu(item, groupAsSubMenu) {\n return Boolean(item.type === \"subMenu\" || groupAsSubMenu && item.type === \"group\");\n}\nexport function initMenuItemAndMatchCurrentPathKeys(menuItems, pathname, search, parentCursor) {\n const selectedKeys = [];\n const openedKeys = [];\n const matchedKeys = [];\n let cursor = 0;\n menuItems && menuItems.forEach(item => {\n // key的格式最终为0,1,2,0.1,0.2,0.1.1,0.1.2\n item.key = parentCursor === \"\" ? `${cursor}` : `${parentCursor}.${cursor}`;\n if (isGroup(item) || isSubMenu(item)) {\n const tmp = initMenuItemAndMatchCurrentPathKeys(item.items, pathname, search, item.key);\n selectedKeys.push(...tmp.selectedKeys);\n if (tmp.selectedKeys.length || item.defaultExpanded) {\n openedKeys.push(item.key);\n }\n openedKeys.push(...tmp.openedKeys);\n matchedKeys.push(...tmp.matchedKeys);\n } else {\n if (matchMenuItem(item, pathname, search)) {\n selectedKeys.push(String(item.key));\n const keyPath = item.key.split(\".\");\n for (let i = 0; i < keyPath.length; i++) {\n matchedKeys.push(keyPath.slice(0, i + 1).join(\".\"));\n }\n }\n }\n cursor += 1;\n });\n if (selectedKeys.length && parentCursor !== \"\") {\n openedKeys.push(parentCursor);\n }\n return {\n selectedKeys: selectedKeys,\n openedKeys: openedKeys,\n matchedKeys: matchedKeys\n };\n}\nfunction getMatchOfSearch(currentSearch, toSearch) {\n const current = new URLSearchParams(currentSearch);\n const to = new URLSearchParams(toSearch);\n for (const [key, value] of to.entries()) {\n var _current$get;\n // Allow `?k=` to match `?` (when `k` doesn't exist)\n if (((_current$get = current.get(key)) !== null && _current$get !== void 0 ? _current$get : \"\") !== value) {\n return false;\n }\n }\n return true;\n}\nexport function matchMenuItem(item, pathname, search) {\n if (!item.to) return false;\n const to = typeof item.to === \"object\" ? item.to : parsePath(item.to);\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath = to.pathname.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n let match = !!matchPath(pathname, {\n path: escapedPath,\n exact: item.exact\n });\n if (match && item.activeMatchSearch) {\n match = getMatchOfSearch(search, to.search);\n }\n if (!match && Array.isArray(item.activeIncludes)) {\n for (const include of item.activeIncludes) {\n let paths;\n let exact = true;\n if (isObject(include)) {\n paths = Array.isArray(include.path) ? include.path : [include.path];\n exact = include.exact;\n } else {\n paths = [include];\n }\n for (const path of paths) {\n var _parsedPath;\n let parsedPath;\n const hasSearch = path.includes(\"?\");\n if (hasSearch) {\n parsedPath = parsePath(path);\n }\n match = !!matchPath(pathname, {\n path: hasSearch ? parsedPath.pathname : path,\n exact\n });\n if (match && (_parsedPath = parsedPath) !== null && _parsedPath !== void 0 && _parsedPath.search) {\n match = getMatchOfSearch(search, parsedPath.search);\n }\n if (match) {\n break;\n }\n }\n if (match) {\n break;\n }\n }\n }\n if (match && Array.isArray(item.activeExcludes)) {\n for (const include of item.activeExcludes) {\n let paths;\n let exact = true;\n if (isObject(include)) {\n paths = Array.isArray(include.path) ? include.path : [include.path];\n exact = include.exact;\n } else {\n paths = [include];\n }\n for (const path of paths) {\n let parsedPathWithSearch;\n if (path.includes(\"?\")) {\n parsedPathWithSearch = parsePath(path);\n }\n match = !(matchPath(pathname, {\n path: parsedPathWithSearch ? parsedPathWithSearch.pathname : path,\n exact\n }) && (!parsedPathWithSearch || getMatchOfSearch(search, parsedPathWithSearch.search)));\n if (!match) {\n break;\n }\n }\n if (!match) {\n break;\n }\n }\n }\n return match;\n}\n//# sourceMappingURL=menu.js.map","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 新增我的收藏\n * @endpoint POST /api/v1/launchpad/collection\n */\nexport var LaunchpadApi_createCollection = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.user_service.launchpad.CreateCollection@1.0.0 */(yield http.post(\"api/gateway/user_service.launchpad.CreateCollection/api/v1/launchpad/collection\", data, options)).data\n );\n });\n return function LaunchpadApi_createCollection(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=createCollection.js.map","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","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 _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\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 { http } from \"@next-core/http\";\n\n/**\n * @description 删除我的收藏\n * @endpoint DELETE /api/v1/launchpad/collection/:instanceId\n */\nexport var LaunchpadApi_deleteCollection = (instanceId, options) => /**! @contract easyops.api.user_service.launchpad.DeleteCollection@1.0.0 */http.delete(\"api/gateway/user_service.launchpad.DeleteCollection/api/v1/launchpad/collection/\".concat(instanceId), options);\n//# sourceMappingURL=deleteCollection.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","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","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 assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取我的收藏列表V2\n * @endpoint LIST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_listCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.launchpad.ListCollectionV2@1.0.0 */(yield http.get(\"api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function LaunchpadApi_listCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listCollectionV2.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 获取实时公告,长链接\n * @endpoint GET /api/sys_setting/v1/announce/poll\n */\nexport const AnnounceApi_pollAnnounce = async options => /**! @contract easyops.api.sys_setting.announce.PollAnnounce@1.0.0 */(await http.get(\"api/gateway/sys_setting.announce.PollAnnounce/api/sys_setting/v1/announce/poll\", options)).data;\n//# sourceMappingURL=pollAnnounce.js.map","// The debounce function receives our function as a parameter\nexport function debounceByAnimationFrame(fn) {\n // This holds the requestAnimationFrame reference, so we can cancel it if we wish\n let frame;\n const cancel = () => cancelAnimationFrame(frame);\n\n // The debounce function returns a new function that can receive a variable number of arguments\n const func = function () {\n for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {\n params[_key] = arguments[_key];\n }\n // If the frame variable has been defined, clear it now, and queue for next frame\n if (frame) {\n cancel();\n }\n\n // Queue our function call for the next frame\n frame = requestAnimationFrame(() => {\n // Call our function and pass any params we received\n fn(...params);\n });\n };\n func.cancel = cancel;\n return func;\n}\n//# sourceMappingURL=debounceByAnimationFrame.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 查找当前用户的有效公告\n * @endpoint LIST /api/sys_setting/v1/announce/effective\n */\nexport const AnnounceApi_listEffectiveAnnounce = async (params, options) => /**! @contract easyops.api.sys_setting.announce.ListEffectiveAnnounce@1.0.1 */(await http.get(\"api/gateway/sys_setting.announce.ListEffectiveAnnounce/api/sys_setting/v1/announce/effective\", {\n ...options,\n params\n})).data;\n//# sourceMappingURL=listEffectiveAnnounce.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 LIST /api/v1/launchpad/collection\n */\nexport var LaunchpadApi_listCollection = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.launchpad.ListCollection@1.0.0 */(yield http.get(\"api/gateway/user_service.launchpad.ListCollection/api/v1/launchpad/collection\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function LaunchpadApi_listCollection(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listCollection.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 批量忽略公告\n * @endpoint POST /api/sys_setting/v1/announce/ignore\n */\nexport const AnnounceApi_ignoreAnnounce = (data, options) => /**! @contract easyops.api.sys_setting.announce.IgnoreAnnounce@1.0.1 */http.post(\"api/gateway/sys_setting.announce.IgnoreAnnounce/api/sys_setting/v1/announce/ignore\", data, options);\n//# sourceMappingURL=ignoreAnnounce.js.map"],"names":["isGroup","item","type","isSubMenu","groupAsSubMenu","Boolean","initMenuItemAndMatchCurrentPathKeys","menuItems","pathname","search","parentCursor","selectedKeys","openedKeys","matchedKeys","cursor","forEach","key","tmp","items","push","length","defaultExpanded","to","parsePath","escapedPath","replace","match","matchPath","path","exact","activeMatchSearch","getMatchOfSearch","Array","isArray","activeIncludes","include","paths","isObject","_parsedPath","parsedPath","hasSearch","includes","activeExcludes","parsedPathWithSearch","matchMenuItem","String","keyPath","split","i","slice","join","currentSearch","toSearch","current","URLSearchParams","value","entries","_current$get","get","_classPrivateFieldGet2","s","a","_classPrivateFieldInitSpec","obj","privateMap","set","LaunchpadApi_createCollection","_ref","data","options","http","post","_x","_x2","apply","this","arguments","getChildMapping","children","mapFn","result","Object","create","Children","map","c","child","isValidElement","mapper","getProp","prop","props","getNextChildMapping","nextProps","prevChildMapping","onExited","nextChildMapping","prev","next","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","mergeChildMappings","keys","hasPrev","hasNext","prevChild","isLeaving","in","cloneElement","bind","exit","enter","values","k","TransitionGroup","_React$Component","context","_this","handleExited","call","state","contextValue","isMounting","firstRender","_proto","prototype","componentDidMount","mounted","setState","componentWillUnmount","getDerivedStateFromProps","appear","node","currentChildMapping","render","_this$props","Component","component","childFactory","TransitionGroupContext","Provider","propTypes","defaultProps","_checkPrivateRedeclaration","privateCollection","has","TypeError","_assertClassBrand","e","t","n","LaunchpadApi_createCollectionV2","LaunchpadApi_deleteCollectionV2","instanceId","delete","concat","LaunchpadApi_deleteCollection","MyCollectionApi_upsertMyCollection","_classPrivateMethodInitSpec","privateSet","add","MyCollectionApi_listMyCollection","params","_classPrivateGetter","r","_classPrivateFieldSet2","LaunchpadApi_listCollectionV2","AnnounceApi_pollAnnounce","async","debounceByAnimationFrame","fn","frame","cancel","cancelAnimationFrame","func","_len","_key","requestAnimationFrame","AnnounceApi_listEffectiveAnnounce","LaunchpadApi_listCollection","AnnounceApi_ignoreAnnounce"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/9363.fc28662e.js","mappings":"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","sources":["webpack:///../../node_modules/@next-shared/general/dist/esm/menu.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/createCollection.js","webpack:///../../node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///../../node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.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/deleteCollection.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/my_collection/upsertMyCollection.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/my_collection/listMyCollection.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/listCollectionV2.js","webpack:///../../node_modules/@next-api-sdk/sys-setting-sdk/dist/esm/api/sys_setting/announce/pollAnnounce.js","webpack:///../../node_modules/@next-shared/general/dist/esm/debounceByAnimationFrame.js","webpack:///../../node_modules/@next-api-sdk/sys-setting-sdk/dist/esm/api/sys_setting/announce/listEffectiveAnnounce.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/launchpad/listCollection.js","webpack:///../../node_modules/@next-api-sdk/sys-setting-sdk/dist/esm/api/sys_setting/announce/ignoreAnnounce.js"],"sourcesContent":["import { parsePath } from \"history\";\nimport { matchPath } from \"@next-core/runtime\";\nimport { isObject } from \"lodash\";\nexport function isGroup(item) {\n return item.type === \"group\";\n}\nexport function isSubMenu(item, groupAsSubMenu) {\n return Boolean(item.type === \"subMenu\" || groupAsSubMenu && item.type === \"group\");\n}\nexport function initMenuItemAndMatchCurrentPathKeys(menuItems, pathname, search, parentCursor) {\n const selectedKeys = [];\n const openedKeys = [];\n const matchedKeys = [];\n let cursor = 0;\n menuItems && menuItems.forEach(item => {\n // key的格式最终为0,1,2,0.1,0.2,0.1.1,0.1.2\n item.key = parentCursor === \"\" ? `${cursor}` : `${parentCursor}.${cursor}`;\n if (isGroup(item) || isSubMenu(item)) {\n const tmp = initMenuItemAndMatchCurrentPathKeys(item.items, pathname, search, item.key);\n selectedKeys.push(...tmp.selectedKeys);\n if (tmp.selectedKeys.length || item.defaultExpanded) {\n openedKeys.push(item.key);\n }\n openedKeys.push(...tmp.openedKeys);\n matchedKeys.push(...tmp.matchedKeys);\n } else {\n if (matchMenuItem(item, pathname, search)) {\n selectedKeys.push(String(item.key));\n const keyPath = item.key.split(\".\");\n for (let i = 0; i < keyPath.length; i++) {\n matchedKeys.push(keyPath.slice(0, i + 1).join(\".\"));\n }\n }\n }\n cursor += 1;\n });\n if (selectedKeys.length && parentCursor !== \"\") {\n openedKeys.push(parentCursor);\n }\n return {\n selectedKeys: selectedKeys,\n openedKeys: openedKeys,\n matchedKeys: matchedKeys\n };\n}\nfunction getMatchOfSearch(currentSearch, toSearch) {\n const current = new URLSearchParams(currentSearch);\n const to = new URLSearchParams(toSearch);\n for (const [key, value] of to.entries()) {\n var _current$get;\n // Allow `?k=` to match `?` (when `k` doesn't exist)\n if (((_current$get = current.get(key)) !== null && _current$get !== void 0 ? _current$get : \"\") !== value) {\n return false;\n }\n }\n return true;\n}\nexport function matchMenuItem(item, pathname, search) {\n if (!item.to) return false;\n const to = typeof item.to === \"object\" ? item.to : parsePath(item.to);\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath = to.pathname.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n let match = !!matchPath(pathname, {\n path: escapedPath,\n exact: item.exact\n });\n if (match && item.activeMatchSearch) {\n match = getMatchOfSearch(search, to.search);\n }\n if (!match && Array.isArray(item.activeIncludes)) {\n for (const include of item.activeIncludes) {\n let paths;\n let exact = true;\n if (isObject(include)) {\n paths = Array.isArray(include.path) ? include.path : [include.path];\n exact = include.exact;\n } else {\n paths = [include];\n }\n for (const path of paths) {\n var _parsedPath;\n let parsedPath;\n const hasSearch = path.includes(\"?\");\n if (hasSearch) {\n parsedPath = parsePath(path);\n }\n match = !!matchPath(pathname, {\n path: hasSearch ? parsedPath.pathname : path,\n exact\n });\n if (match && (_parsedPath = parsedPath) !== null && _parsedPath !== void 0 && _parsedPath.search) {\n match = getMatchOfSearch(search, parsedPath.search);\n }\n if (match) {\n break;\n }\n }\n if (match) {\n break;\n }\n }\n }\n if (match && Array.isArray(item.activeExcludes)) {\n for (const include of item.activeExcludes) {\n let paths;\n let exact = true;\n if (isObject(include)) {\n paths = Array.isArray(include.path) ? include.path : [include.path];\n exact = include.exact;\n } else {\n paths = [include];\n }\n for (const path of paths) {\n let parsedPathWithSearch;\n if (path.includes(\"?\")) {\n parsedPathWithSearch = parsePath(path);\n }\n match = !(matchPath(pathname, {\n path: parsedPathWithSearch ? parsedPathWithSearch.pathname : path,\n exact\n }) && (!parsedPathWithSearch || getMatchOfSearch(search, parsedPathWithSearch.search)));\n if (!match) {\n break;\n }\n }\n if (!match) {\n break;\n }\n }\n }\n return match;\n}\n//# sourceMappingURL=menu.js.map","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 新增我的收藏\n * @endpoint POST /api/v1/launchpad/collection\n */\nexport var LaunchpadApi_createCollection = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.user_service.launchpad.CreateCollection@1.0.0 */(yield http.post(\"api/gateway/user_service.launchpad.CreateCollection/api/v1/launchpad/collection\", data, options)).data\n );\n });\n return function LaunchpadApi_createCollection(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=createCollection.js.map","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","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 _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\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 { http } from \"@next-core/http\";\n\n/**\n * @description 删除我的收藏\n * @endpoint DELETE /api/v1/launchpad/collection/:instanceId\n */\nexport var LaunchpadApi_deleteCollection = (instanceId, options) => /**! @contract easyops.api.user_service.launchpad.DeleteCollection@1.0.0 */http.delete(\"api/gateway/user_service.launchpad.DeleteCollection/api/v1/launchpad/collection/\".concat(instanceId), options);\n//# sourceMappingURL=deleteCollection.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","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","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 assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取我的收藏列表V2\n * @endpoint LIST /api/v2/launchpad/collection\n */\nexport var LaunchpadApi_listCollectionV2 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.launchpad.ListCollectionV2@1.0.0 */(yield http.get(\"api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function LaunchpadApi_listCollectionV2(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listCollectionV2.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 获取实时公告,长链接\n * @endpoint GET /api/sys_setting/v1/announce/poll\n */\nexport const AnnounceApi_pollAnnounce = async options => /**! @contract easyops.api.sys_setting.announce.PollAnnounce@1.0.0 */(await http.get(\"api/gateway/sys_setting.announce.PollAnnounce/api/sys_setting/v1/announce/poll\", options)).data;\n//# sourceMappingURL=pollAnnounce.js.map","// The debounce function receives our function as a parameter\nexport function debounceByAnimationFrame(fn) {\n // This holds the requestAnimationFrame reference, so we can cancel it if we wish\n let frame;\n const cancel = () => cancelAnimationFrame(frame);\n\n // The debounce function returns a new function that can receive a variable number of arguments\n const func = function () {\n for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {\n params[_key] = arguments[_key];\n }\n // If the frame variable has been defined, clear it now, and queue for next frame\n if (frame) {\n cancel();\n }\n\n // Queue our function call for the next frame\n frame = requestAnimationFrame(() => {\n // Call our function and pass any params we received\n fn(...params);\n });\n };\n func.cancel = cancel;\n return func;\n}\n//# sourceMappingURL=debounceByAnimationFrame.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 查找当前用户的有效公告\n * @endpoint LIST /api/sys_setting/v1/announce/effective\n */\nexport const AnnounceApi_listEffectiveAnnounce = async (params, options) => /**! @contract easyops.api.sys_setting.announce.ListEffectiveAnnounce@1.0.1 */(await http.get(\"api/gateway/sys_setting.announce.ListEffectiveAnnounce/api/sys_setting/v1/announce/effective\", {\n ...options,\n params\n})).data;\n//# sourceMappingURL=listEffectiveAnnounce.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 LIST /api/v1/launchpad/collection\n */\nexport var LaunchpadApi_listCollection = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.launchpad.ListCollection@1.0.0 */(yield http.get(\"api/gateway/user_service.launchpad.ListCollection/api/v1/launchpad/collection\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function LaunchpadApi_listCollection(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listCollection.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 批量忽略公告\n * @endpoint POST /api/sys_setting/v1/announce/ignore\n */\nexport const AnnounceApi_ignoreAnnounce = (data, options) => /**! @contract easyops.api.sys_setting.announce.IgnoreAnnounce@1.0.1 */http.post(\"api/gateway/sys_setting.announce.IgnoreAnnounce/api/sys_setting/v1/announce/ignore\", data, options);\n//# sourceMappingURL=ignoreAnnounce.js.map"],"names":["isGroup","item","type","isSubMenu","groupAsSubMenu","Boolean","initMenuItemAndMatchCurrentPathKeys","menuItems","pathname","search","parentCursor","selectedKeys","openedKeys","matchedKeys","cursor","forEach","key","tmp","items","push","length","defaultExpanded","to","parsePath","escapedPath","replace","match","matchPath","path","exact","activeMatchSearch","getMatchOfSearch","Array","isArray","activeIncludes","include","paths","isObject","_parsedPath","parsedPath","hasSearch","includes","activeExcludes","parsedPathWithSearch","matchMenuItem","String","keyPath","split","i","slice","join","currentSearch","toSearch","current","URLSearchParams","value","entries","_current$get","get","_classPrivateFieldGet2","s","a","_classPrivateFieldInitSpec","obj","privateMap","set","LaunchpadApi_createCollection","_ref","data","options","http","post","_x","_x2","apply","this","arguments","getChildMapping","children","mapFn","result","Object","create","Children","map","c","child","isValidElement","mapper","getProp","prop","props","getNextChildMapping","nextProps","prevChildMapping","onExited","nextChildMapping","prev","next","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","mergeChildMappings","keys","hasPrev","hasNext","prevChild","isLeaving","in","cloneElement","bind","exit","enter","values","k","TransitionGroup","_React$Component","context","_this","handleExited","call","state","contextValue","isMounting","firstRender","_proto","prototype","componentDidMount","mounted","setState","componentWillUnmount","getDerivedStateFromProps","appear","node","currentChildMapping","render","_this$props","Component","component","childFactory","TransitionGroupContext","Provider","propTypes","defaultProps","_checkPrivateRedeclaration","privateCollection","has","TypeError","_assertClassBrand","e","t","n","LaunchpadApi_createCollectionV2","LaunchpadApi_deleteCollectionV2","instanceId","delete","concat","LaunchpadApi_deleteCollection","MyCollectionApi_upsertMyCollection","_classPrivateMethodInitSpec","privateSet","add","MyCollectionApi_listMyCollection","params","_classPrivateGetter","r","_classPrivateFieldSet2","LaunchpadApi_listCollectionV2","AnnounceApi_pollAnnounce","async","debounceByAnimationFrame","fn","frame","cancel","cancelAnimationFrame","func","_len","_key","requestAnimationFrame","AnnounceApi_listEffectiveAnnounce","LaunchpadApi_listCollection","AnnounceApi_ignoreAnnounce"],"sourceRoot":""}
|