@next-bricks/nav 1.14.1 → 1.14.3

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/9149.94ac2bef.js","mappings":"uPAYO,SAASA,EAA+BC,GAIN,IAAAC,EAAA,IAJO,KAC9CC,EAAI,OACJC,EAAM,QACNC,GACqCJ,EACrC,OACEK,IAAAA,cAAA,MAAIC,UAAU,uCACZD,IAAAA,cAACE,EAAAA,GAAW,CACVC,KAAK,QACLF,UAAWG,IAAW,CAAEN,WACxBC,QAASA,IAAMA,aAAO,EAAPA,EAAUF,IAEzBG,IAAAA,cAACK,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVL,UAAW,sCACXM,IAAI,UACJC,SAAS,cACTC,KAAK,qBACS,QAATb,EAAAC,EAAKY,YAAI,IAAAb,GAATA,EAAWW,KAAOV,EAAKY,KAAKA,MAC5BC,EAAAA,EAAAA,MAAKb,EAAKY,KAAM,CACf,MACA,OACA,QACA,WACA,WAEF,OAENT,IAAAA,cAAA,QAAMC,UAAU,6CACbJ,EAAKc,OAKhB,CAMO,SAASC,EAAYC,GAA8B,IAAAC,EAAA,IAA7B,KAAEjB,GAAyBgB,EACtD,OACEb,IAAAA,cAAA,UACEA,IAAAA,cAACE,EAAAA,IAAWI,EAAAA,EAAAA,GAAA,CACVH,KAAK,SACc,QAAdN,EAAKM,KACN,CACEY,IAAKlB,EAAKkB,KAEZ,CACEC,KAAMnB,EAAKkB,IACXE,OAAQ,WAGdjB,IAAAA,cAAA,OAAKC,UAAU,iBACbD,IAAAA,cAAA,OAAKC,UAAU,uBACbD,IAAAA,cAACK,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVL,UAAU,qBACVM,IAAI,UACJC,SAAS,aACTC,KAAK,yCACa,QAAbK,EAAAjB,EAAKqB,gBAAQ,IAAAJ,GAAbA,EAAeP,KAAOV,EAAKqB,SAAST,MACpCC,EAAAA,EAAAA,MAAKb,EAAKqB,SAAU,CACnB,MACA,OACA,QACA,WACA,WAEF,OAENlB,IAAAA,cAAA,OAAKC,UAAU,sBAAsBJ,EAAKc,OAE5CX,IAAAA,cAAA,OAAKC,UAAU,6BAA6BJ,EAAKsB,eAK3D,C,kCCjEO,SAASC,EAASzB,GAAmC,IAAlC,OAAEG,GAA8BH,EACxD,MAAM0B,GAAiBC,EAAAA,EAAAA,QAAyB,OACzCC,EAAWC,IAAgBC,EAAAA,EAAAA,UAAwB,IACpDC,GAAuBC,EAAAA,EAAAA,cAAY,KAAM,IAAAC,EACvB,QAAtBA,EAAAP,EAAeQ,eAAO,IAAAD,GAAtBA,EAAwBE,OAAO,GAC9B,KACIC,EAAUC,IAAeP,EAAAA,EAAAA,UAAS,QAEnCQ,EAAuBjC,IAAAA,SAC3B,SAAAkC,EAAA,OAAkB,QAAlBA,GAAMC,EAAAA,EAAAA,qBAAY,IAAAD,OAAA,EAAZA,EAAcE,kBAAkB,mCAAmC,GACzE,IAGIC,EAAqBrC,IAAAA,SACzB,SAAAsC,EAAA,OAAkB,QAAlBA,GAAMH,EAAAA,EAAAA,qBAAY,IAAAG,OAAA,EAAZA,EAAcF,kBAAkB,iCAAiC,GACvE,IAGIG,EAAqBvC,IAAAA,SACzB,SAAAwC,EAAA,OAAkB,QAAlBA,GAAML,EAAAA,EAAAA,qBAAY,IAAAK,OAAA,EAAZA,EAAcJ,kBAAkB,iCAAiC,GACvE,KAGI,QACJK,EAAO,EACPC,EAAC,KACDC,EAAI,WACJC,EACArB,UAAWsB,EAAU,iBACrBC,EAAgB,aAChBC,EAAY,gBACZC,EAAe,WACfC,EAAU,UACVC,EAAS,mBACTC,IACEC,EAAAA,EAAAA,IAAiBtD,GACfuD,IAAcX,EAEdY,GAAe3B,EAAAA,EAAAA,cAClB4B,IACCZ,EAAKY,EAAEtC,OAAOuC,MAAM,GAEtB,CAACb,IAGGc,GAAc9B,EAAAA,EAAAA,cAAY,KAC9BgB,EAAK,GAAG,GACP,CAACA,KAEJe,EAAAA,EAAAA,YAAU,KACI,IAAAC,EAAR7D,IACoB,QAAtB6D,EAAAtC,EAAeQ,eAAO,IAAA8B,GAAtBA,EAAwB7B,QAC1B,GACC,CAAChC,IAEJ,MAAM8D,GAA8BjC,EAAAA,EAAAA,cACjC9B,IACCmC,EAAYnC,EAAKgE,GAAG,GAEtB,IAGIC,GAAcC,EAAAA,EAAAA,UAAQ,IACnBZ,EAAmBa,MAAMC,GAAMA,EAAEJ,KAAO9B,KAC9C,CAACA,EAAUoB,IAcd,OAZAO,EAAAA,EAAAA,YAAU,KACJb,EAAWqB,OAAS3C,EAAU2C,OAEhC1C,EAAaqB,GAGbsB,YAAW,KACT3C,EAAaqB,EAAW,GACvB,IACL,GACC,CAACA,EAAYtB,EAAU2C,SAGxBlE,IAAAA,cAAA,OAAKC,UAAWG,IAAW,YAAa,CAAEN,YACxCE,IAAAA,cAACoE,EAAAA,EAAkBC,SAAQ,CACzBb,MAAO,CACLH,YACAP,mBACAE,kBACAC,aACAC,cAGFlD,IAAAA,cAAA,OAAKC,UAAU,WACbD,IAAAA,cAAA,OAAKC,UAAU,SACbD,IAAAA,cAAA,OAAKC,UAAU,aACbD,IAAAA,cAAA,OAAKC,UAAU,mBAAkB,QAEjCD,IAAAA,cAACsE,EAAAA,EAAe,KACdtE,IAAAA,cAAA,MAAIC,UAAU,+BACXsB,EAAUgD,KAAI,CAAC1E,EAAM2E,IACpBxE,IAAAA,cAACyE,EAAAA,EAAa,CACZC,IAAKF,EACLG,QAAS,IACTC,KAAM/B,EAAWmB,MAAMa,GAAMA,EAAEhB,KAAOhE,EAAKgE,KAC3CzD,WAAY,CACV0E,MAAO,YACPC,YAAa,kBACbC,KAAM,WACNC,WAAY,iBACZC,SAAU,iBAGZlF,IAAAA,cAACmF,EAAAA,EAAe,CACdT,IAAKF,EACL3E,KAAMA,UAQjBoC,GACCjC,IAAAA,cAAA,OAAKC,UAAU,gBACbD,IAAAA,cAAA,OAAKC,UAAU,sBAAqB,QACpCD,IAAAA,cAAA,MAAIC,UAAU,kCACXkD,EAAmBoB,KAAI,CAAC1E,EAAM2E,IAC7BxE,IAAAA,cAACN,EAA+B,CAC9BgF,IAAKF,EACLzE,QAAS6D,EACT/D,KAAMA,EACNC,OAAQiC,IAAalC,EAAKgE,UAOrCxB,GACCrC,IAAAA,cAAA,OAAKC,UAAU,YACbD,IAAAA,cAACE,EAAAA,GAAW,CAACC,KAAK,QAAQY,IAAK,oBAC7Bf,IAAAA,cAAA,OAAKC,UAAU,kBAAiB,QAChCD,IAAAA,cAACK,EAAAA,GAAW,CAACE,IAAI,OAAOE,KAAK,QAAQ2E,MAAM,eAKhD7C,GACCvC,IAAAA,cAAA,OAAKC,UAAU,YACbD,IAAAA,cAACE,EAAAA,GAAW,CAACC,KAAK,QAAQY,IAAK,oBAC7Bf,IAAAA,cAAA,OAAKC,UAAU,kBAAiB,QAChCD,IAAAA,cAACK,EAAAA,GAAW,CAACE,IAAI,OAAOE,KAAK,QAAQ2E,MAAM,eAIjDpF,IAAAA,cAAA,OAAKC,UAAU,YACbD,IAAAA,cAACE,EAAAA,GAAW,CAACC,KAAK,QAAQY,IAAK,eAC7Bf,IAAAA,cAAA,OAAKC,UAAU,kBAAiB,QAChCD,IAAAA,cAACK,EAAAA,GAAW,CAACE,IAAI,OAAOE,KAAK,QAAQ2E,MAAM,gBAIjDpF,IAAAA,cAAA,OAAKC,UAAWG,IAAW,UAAW,CAAEqC,aACtCzC,IAAAA,cAACqF,EAAO,CAAC5C,QAASA,IACJ,SAAbV,GACC/B,IAAAA,cAAA,OAAKC,UAAU,0BAA0B6D,aAAW,EAAXA,EAAanD,MAExDX,IAAAA,cAAA,OAAKC,UAAU,aAAaF,QAAS2B,GACnC1B,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,KACJE,KAAK,mBACLR,UAAU,gBAEZD,IAAAA,cAAA,SACEsF,IAAKjE,EACLkE,YAAY,UACZ/B,MAAOd,EACP8C,SAAUlC,EACVrD,UAAU,iBAEZD,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,OACJ6E,MAAM,SACN3E,KAAK,eACLR,UAAWG,IAAW,eAAgB,CAAEiD,cACxCtD,QAAS0D,KAGC,SAAb1B,GACC/B,IAAAA,cAAA,OAAKC,UAAWG,IAAW,CAAEqF,MAA+B,IAAxB1C,EAAamB,UAC/ClE,IAAAA,cAAA,OAAKC,UAAU,uBAAsB,QACrCD,IAAAA,cAAA,MAAIC,UAAU,iBACX8C,EAAawB,KAAI,CAAC1E,EAAM2E,IACvBxE,IAAAA,cAAA,MAAI0E,IAAKF,GACPxE,IAAAA,cAACE,EAAAA,IAAWI,EAAAA,EAAAA,GAAA,CACVP,QAASA,IAAMiD,EAAgBnD,IACZ,QAAdA,EAAKM,KACN,CACEY,IAAKlB,EAAKkB,KAEZ,CACEC,KAAMnB,EAAKkB,IACXE,OAAQ,WAGdjB,IAAAA,cAAA,YAAOH,EAAKc,YAOV,SAAboB,GACC/B,IAAAA,cAAA,MAAIC,UAAU,eACX2C,EAAW2B,KAAKmB,GACf1F,IAAAA,cAAC2F,EAAAA,EAAS,CACRjB,IAAKgB,EAAM/E,KACXA,KAAM+E,EAAM/E,KACZiF,MAAOF,EAAME,WAKP,SAAb7D,GACC/B,IAAAA,cAAA,MACEC,UAAWG,IAAW,iBAAkB,CACtCqF,MAAqC,KAA9B3B,aAAW,EAAXA,EAAa8B,MAAM1B,WAG3BJ,aAAW,EAAXA,EAAa8B,MAAMrB,KAAI,CAAC1E,EAAM2E,IAC7BxE,IAAAA,cAACY,EAAY,CAACf,KAAMA,EAAM6E,IAAKF,SAQ/C,CAEA,SAASa,EAAOxE,GAAoC,IAAnC,QAAE4B,GAA+B5B,EAChD,OACE4B,GACEzC,IAAAA,cAAA,OAAKC,UAAU,WACbD,IAAAA,cAACK,EAAAA,GAAW,CAACE,IAAI,KAAKE,KAAK,UAAUoF,UAAQ,IAIrD,C,iECjQO,MAAMzB,EAAoBpE,IAAAA,cAC/B,CAAC,GAGU8F,EAAsBA,IACjC9F,IAAAA,WAAiBoE,E,4HCAZ,SAASuB,EAAShG,GAAkC,IAAjC,KAAEgB,EAAI,MAAEiF,GAAuBjG,EACvD,OACEK,IAAAA,cAAA,MAAIC,UAAU,cACZD,IAAAA,cAAA,OAAKC,UAAU,oBAAoBU,GACnCX,IAAAA,cAAA,MAAIC,UAAU,QACX2F,EAAMrB,KAAK1E,GACI,QAAdA,EAAKM,KACHH,IAAAA,cAAC+F,EAAc,CACbrB,IAAK,GAAG7E,EAAKM,QAAQN,EAAKgE,KAC1BlD,KAAMd,EAAKc,KACXiF,MAAO/F,EAAK+F,QAGd5F,IAAAA,cAACgG,EAAQ,CAACtB,IAAK,GAAG7E,EAAKM,QAAQN,EAAKgE,KAAMhE,KAAMA,OAM5D,CAMA,SAASmG,EAAQnF,GAA0B,IAAAC,EAAA,IAAzB,KAAEjB,GAAqBgB,EACvC,MAAM,iBAAEiC,EAAgB,SAAEmD,EAAQ,gBAAEjD,EAAe,WAAEC,EAAU,UAAEC,IAC/D4C,EAAAA,EAAAA,KAEII,GAAUnC,EAAAA,EAAAA,UAAQ,IAAMb,EAAUrD,IAAO,CAACqD,EAAWrD,IAErDsG,GAAkBxE,EAAAA,EAAAA,cAAY,KAClCsB,EAAWpD,EAAK,GACf,CAACA,EAAMoD,IAEJmD,GAAczE,EAAAA,EAAAA,cAAY,KAC9BqB,EAAgBnD,EAAK,GACpB,CAACA,EAAMmD,IAEV,OACEhD,IAAAA,cAAA,MACEC,UAAWG,IAAW,YAAa,CACjC8F,UACA,YAAapD,KAGf9C,IAAAA,cAACE,EAAAA,IAAWI,EAAAA,EAAAA,GAAA,CACVP,QAASqG,GACU,QAAdvG,EAAKM,KACN,CACEY,IAAKlB,EAAKkB,KAEZ,CACEC,KAAMnB,EAAKkB,IACXE,OAAQ,WAGdjB,IAAAA,cAACK,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVL,UAAU,YACVM,IAAI,UACJE,KAAK,oBACa,QAAbK,EAAAjB,EAAKqB,gBAAQ,IAAAJ,GAAbA,EAAeP,KAAOV,EAAKqB,SAAST,MACpCC,EAAAA,EAAAA,MAAKb,EAAKqB,SAAU,CACnB,MACA,OACA,QACA,WACA,WAEF,OAENlB,IAAAA,cAAA,QAAMC,UAAU,mBAAmBJ,EAAKc,QAExCsF,GACAjG,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,KACJ8F,OAAQH,EAAU,MAAQ,MAC1BzF,KAAK,OACLR,UAAU,iBACVqG,MAAOJ,EAAU,OAAS,KAC1BnG,QAASoG,IAKnB,CAOO,SAAShB,EAAeoB,GAAyC,IAAAC,EAAA,IAAxC,KAAE3G,EAAI,OAAEoB,GAA8BsF,EACpE,MAAM,SAAEN,EAAQ,gBAAEjD,EAAe,WAAEC,IAAe6C,EAAAA,EAAAA,KAE5CM,GAAczE,EAAAA,EAAAA,cAAY,KACZ,SAAd9B,EAAKM,MACP6C,EAAgBnD,EAClB,GACC,CAACA,EAAMmD,IAEJyD,GAAmB9E,EAAAA,EAAAA,cAAY,KACnCsB,EAAWpD,EAAK,GACf,CAACA,EAAMoD,IAEV,OACEjD,IAAAA,cAAA,MAAIC,UAAU,qBACZD,IAAAA,cAACE,EAAAA,IAAWI,EAAAA,EAAAA,GAAA,CACVP,QAASqG,GACU,QAAdvG,EAAKM,KACN,CACEY,IAAKlB,EAAKkB,IACVE,UAEF,CACED,KAAMnB,EAAKkB,IACXE,OAAQ,WAGdjB,IAAAA,cAACK,EAAAA,IAAWC,EAAAA,EAAAA,GAAA,CACVL,UAAW,oBACXM,IAAI,UACJE,KAAK,oBACa,QAAb+F,EAAA3G,EAAKqB,gBAAQ,IAAAsF,GAAbA,EAAejG,KAAOV,EAAKqB,SAAST,MACpCC,EAAAA,EAAAA,MAAKb,EAAKqB,SAAU,CACnB,MACA,OACA,QACA,WACA,WAEF,OAENlB,IAAAA,cAAA,QAAMC,UAAU,mBAAmBJ,EAAKc,QAExCsF,GACAjG,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,KACJE,KAAK,QACLR,UAAU,mBACVF,QAAS0G,IAKnB,CAOA,SAASV,EAAcW,GAAuC,IAAtC,KAAE/F,EAAI,MAAEiF,GAA4Bc,EAC1D,MAAM,UAAErD,IAAcyC,EAAAA,EAAAA,MACfa,EAAUC,IAAenF,EAAAA,EAAAA,WAAS,IAClCoF,EAAmBC,IAAwBrF,EAAAA,EAAAA,WAAS,GAErDsF,GAASpF,EAAAA,EAAAA,cAAY,KAErB0B,EACFyD,GAAsBE,IAAcA,IAEpCJ,GAAaI,IAAcA,GAC7B,GACC,CAAC3D,KAEJK,EAAAA,EAAAA,YAAU,KAERoD,GAAqB,EAAK,GACzB,CAACzD,IAEJ,MAAM4D,EAAiB5D,EAAYwD,EAAoBF,EAEvD,OACE3G,IAAAA,cAAA,MAAIC,UAAU,oBACZD,IAAAA,cAACE,EAAAA,GAAW,CAACH,QAASgH,GACpB/G,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,KACJ8F,OAAO,MACP5F,KAAK,cACLR,UAAU,cAEZD,IAAAA,cAAA,QAAMC,UAAU,mBAAmBU,GACnCX,IAAAA,cAACK,EAAAA,GAAW,CACVE,IAAI,OACJE,KAAMwG,EAAiB,KAAO,OAC9BhH,UAAU,sBAGdD,IAAAA,cAAA,MAAIC,UAAWG,IAAW,WAAY,CAAEuG,SAAUM,KAC/CrB,EAAMrB,KAAK1E,GACVG,IAAAA,cAACgG,EAAQ,CAACtB,IAAK,GAAG7E,EAAKM,QAAQN,EAAKgE,KAAMhE,KAAMA,OAK1D,C,kEClNIqH,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOvD,GAAI,wOACmF,KAE5H,S,kECLIqD,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOvD,GAAI,+SAAgT,KAEzV,QAAeqD,EAAwBG,U,kECJnCH,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOvD,GAAI,0uDAU+X,KAExa,QAAeqD,EAAwBG,U,kECdnCH,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOvD,GAAI,4zLA8C+C,KAExF,QAAeqD,EAAwBG,U,gJC1CnCC,EAAU,CAAC,EAEfA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IACxBF,EAAQG,OAAS,SAAc,KAAM,QACrCH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKJ,KAAW,IAAQM,QAAS,IAAQA,M","sources":["webpack:///./src/launchpad-button-v2/PlatformCategory.tsx","webpack:///./src/launchpad-button-v2/Launchpad.tsx","webpack:///./src/launchpad-button-v2/LaunchpadContext.ts","webpack:///./src/launchpad-button-v2/MenuGroup.tsx","webpack:///./src/launchpad-button-v2/host-context.css","webpack:///./src/launchpad-button-v2/Launchpad.shadow.css","webpack:///./src/launchpad-button-v2/PlatformCategory.shadow.css","webpack:///./src/launchpad-button-v2/styles.shadow.css","webpack:///./src/launchpad-button-v2/host-context.css?59a8"],"sourcesContent":["import React from \"react\";\nimport { WrappedLink, WrappedIcon } from \"./wrapped-bricks\";\nimport { MenuItemDataNormal, PlatformCategoryItem } from \"./interfaces\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\n\nexport interface PlatformCategorySidebarMenuItemProps {\n item: PlatformCategoryItem;\n active?: boolean;\n onClick?: (item: PlatformCategoryItem) => void;\n}\n\nexport function PlatformCategorySidebarMenuItem({\n item,\n active,\n onClick,\n}: PlatformCategorySidebarMenuItemProps) {\n return (\n <li className=\"platform-category-sidebar-menu-item\">\n <WrappedLink\n type=\"plain\"\n className={classNames({ active })}\n onClick={() => onClick?.(item)}\n >\n <WrappedIcon\n className={\"platform-category-sidebar-menu-icon\"}\n lib=\"easyops\"\n category=\"second-menu\"\n icon=\"serve-second-menu\"\n {...(item.icon?.lib && item.icon.icon\n ? (pick(item.icon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"platform-category-sidebar-menu-item-label\">\n {item.name}\n </span>\n </WrappedLink>\n </li>\n );\n}\n\nexport interface PlatformItemProps {\n item: MenuItemDataNormal;\n}\n\nexport function PlatformItem({ item }: PlatformItemProps) {\n return (\n <li>\n <WrappedLink\n type=\"plain\"\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <div className=\"platform-item\">\n <div className=\"platform-item-title\">\n <WrappedIcon\n className=\"platform-item-icon\"\n lib=\"easyops\"\n category=\"third-menu\"\n icon=\"deploy-orchestration-tasks-third-menu\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <div className=\"platform-item-name\">{item.name}</div>\n </div>\n <div className=\"platform-item-description\">{item.description}</div>\n </div>\n </WrappedLink>\n </li>\n );\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadInfo } from \"./useLaunchpadInfo.js\";\nimport { MenuGroup, SidebarMenuItem } from \"./MenuGroup.js\";\nimport { LaunchpadsContext } from \"./LaunchpadContext.js\";\nimport {\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 {\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 <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 </div>\n <div className={classNames(\"content\", { loading })}>\n <Loading loading={loading} />\n {platform !== \"#all\" && (\n <div className=\"platform-category-name\">{curCategory?.name}</div>\n )}\n <div className=\"search-box\" onClick={handleClickSearchBox}>\n <WrappedIcon\n lib=\"fa\"\n icon=\"magnifying-glass\"\n className=\"search-icon\"\n />\n <input\n ref={searchInputRef}\n placeholder=\"通过关键字搜索\"\n value={q}\n onChange={handleSearch}\n className=\"search-input\"\n />\n <WrappedIcon\n lib=\"antd\"\n theme=\"filled\"\n icon=\"close-circle\"\n className={classNames(\"search-clear\", { searching })}\n onClick={clearSearch}\n />\n </div>\n {platform === \"#all\" && (\n <div className={classNames({ empty: recentVisits.length === 0 })}>\n <div className=\"recent-visits-label\">最近访问</div>\n <ul className=\"recent-visits\">\n {recentVisits.map((item, index) => (\n <li key={index}>\n <WrappedLink\n onClick={() => pushRecentVisit(item)}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <span>{item.name}</span>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </div>\n )}\n {platform === \"#all\" && (\n <ul className=\"menu-groups\">\n {menuGroups.map((group) => (\n <MenuGroup\n key={group.name}\n name={group.name}\n items={group.items}\n />\n ))}\n </ul>\n )}\n {platform !== \"#all\" && (\n <ul\n className={classNames(\"platform-items\", {\n empty: curCategory?.items.length === 0,\n })}\n >\n {curCategory?.items.map((item, index) => (\n <PlatformItem item={item} key={index} />\n ))}\n </ul>\n )}\n </div>\n </LaunchpadsContext.Provider>\n </div>\n );\n}\n\nfunction Loading({ loading }: { loading: boolean }) {\n return (\n loading && (\n <div className=\"spinner\">\n <WrappedIcon lib=\"fa\" icon=\"spinner\" spinning />\n </div>\n )\n );\n}\n","import React from \"react\";\nimport type { MenuItemDataLink, MenuItemDataNormal } from \"./interfaces\";\n\nexport interface LaunchpadContextData {\n searching: boolean;\n loadingFavorites: boolean;\n readonly?: boolean;\n pushRecentVisit(item: MenuItemDataNormal): void;\n toggleStar(item: MenuItemDataNormal | MenuItemDataLink): void;\n isStarred(item: MenuItemDataNormal): boolean;\n}\n\nexport const LaunchpadsContext = React.createContext<LaunchpadContextData>(\n {} as LaunchpadContextData\n);\n\nexport const useLaunchpadContext = (): LaunchpadContextData =>\n React.useContext(LaunchpadsContext);\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { WrappedIcon, WrappedLink } from \"./wrapped-bricks\";\nimport { useLaunchpadContext } from \"./LaunchpadContext\";\nimport type {\n MenuItemData,\n MenuItemDataNormal,\n SidebarMenuItemData,\n} from \"./interfaces\";\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 target: \"_blank\",\n })}\n >\n <WrappedIcon\n className=\"menu-icon\"\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n prefix={starred ? \"fas\" : \"far\"}\n icon=\"star\"\n className=\"menu-item-star\"\n title={starred ? \"取消收藏\" : \"收藏\"}\n onClick={handleStarClick}\n />\n )}\n </li>\n );\n}\n\nexport interface SidebarMenuItemProps {\n item: SidebarMenuItemData;\n 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 target,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <WrappedIcon\n className={`sidebar-menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(item.menuIcon?.lib && item.menuIcon.icon\n ? (pick(item.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{item.name}</span>\n </WrappedLink>\n {!readonly && (\n <WrappedIcon\n lib=\"fa\"\n icon=\"xmark\"\n className=\"menu-item-remove\"\n onClick={handleRemoveStar}\n />\n )}\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n name: string;\n items: MenuItemDataNormal[];\n}\n\nfunction MenuItemFolder({ name, items }: MenuItemFolderProps) {\n const { searching } = useLaunchpadContext();\n const [expanded, setExpanded] = useState(false);\n const [searchingExpanded, setSearchingExpanded] = useState(false);\n\n const toggle = useCallback(() => {\n // Use separated expanded states for searching and non-searching.\n if (searching) {\n setSearchingExpanded((previous) => !previous);\n } else {\n setExpanded((previous) => !previous);\n }\n }, [searching]);\n\n useEffect(() => {\n // Each time when start searching, set it as expanded.\n setSearchingExpanded(true);\n }, [searching]);\n\n const actualExpanded = searching ? searchingExpanded : expanded;\n\n return (\n <li className=\"menu-item folder\">\n <WrappedLink onClick={toggle}>\n <WrappedIcon\n lib=\"fa\"\n prefix=\"far\"\n icon=\"folder-open\"\n className=\"menu-icon\"\n />\n <span className=\"menu-item-label\">{name}</span>\n <WrappedIcon\n lib=\"antd\"\n icon={actualExpanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n <ul className={classNames(\"sub-menu\", { expanded: actualExpanded })}>\n {items.map((item) => (\n <MenuItem key={`${item.type}-${item.id}`} item={item} />\n ))}\n </ul>\n </li>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--eo-launchpad-v2-background:#fff;--eo-launchpad-v2-menu-icon-color:#8c8c8c}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-launchpad-v2-background:#26262a;--eo-launchpad-v2-menu-icon-color:rgba(255,255,255,0.45)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.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","// 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","\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"],"names":["PlatformCategorySidebarMenuItem","_ref","_item$icon","item","active","onClick","React","className","WrappedLink","type","classNames","WrappedIcon","_extends","lib","category","icon","pick","name","PlatformItem","_ref2","_item$menuIcon","url","href","target","menuIcon","description","Launchpad","searchInputRef","useRef","favorites","setFavorites","useState","handleClickSearchBox","useCallback","_searchInputRef$curre","current","focus","platform","setPlatform","showPlatformCategory","_getRuntime","getRuntime","getFeatureFlags","showScenarioCenter","_getRuntime2","showSolutionCenter","_getRuntime3","loading","q","setQ","menuGroups","_favorites","loadingFavorites","recentVisits","pushRecentVisit","toggleStar","isStarred","platformCategories","useLaunchpadInfo","searching","handleSearch","e","value","clearSearch","useEffect","_searchInputRef$curre2","handlePlatformCategoryClick","id","curCategory","useMemo","find","v","length","setTimeout","LaunchpadsContext","Provider","TransitionGroup","map","index","CSSTransition","key","timeout","in","i","enter","enterActive","exit","exitActive","exitDone","SidebarMenuItem","theme","Loading","ref","placeholder","onChange","empty","group","MenuGroup","items","spinning","useLaunchpadContext","MenuItemFolder","MenuItem","readonly","starred","handleStarClick","handleClick","prefix","title","_ref3","_item$menuIcon2","handleRemoveStar","_ref4","expanded","setExpanded","searchingExpanded","setSearchingExpanded","toggle","previous","actualExpanded","___CSS_LOADER_EXPORT___","push","module","toString","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals"],"sourceRoot":""}