@next-bricks/nav 0.10.6 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +19 -19
- package/dist/chunks/1303.9880a064.js +2 -0
- package/dist/chunks/{1303.f8781f1e.js.map → 1303.9880a064.js.map} +1 -1
- package/dist/chunks/1646.5764a643.js +2 -0
- package/dist/chunks/{7746.1fc9418c.js.map → 1646.5764a643.js.map} +1 -1
- package/dist/chunks/3981.c3292c49.js +3 -0
- package/dist/chunks/3981.c3292c49.js.map +1 -0
- package/dist/chunks/4504.2a665ca8.js +2 -0
- package/dist/chunks/4504.2a665ca8.js.map +1 -0
- package/dist/chunks/4752.091d3058.js +3 -0
- package/dist/chunks/{4752.ee488116.js.map → 4752.091d3058.js.map} +1 -1
- package/dist/chunks/5381.abf38edb.js +2 -0
- package/dist/chunks/5381.abf38edb.js.map +1 -0
- package/dist/chunks/{6176.1b27c498.js → 6176.15b21c9d.js} +2 -2
- package/dist/chunks/{6176.1b27c498.js.map → 6176.15b21c9d.js.map} +1 -1
- package/dist/chunks/{6482.c7623657.js → 6482.f2574c4c.js} +2 -2
- package/dist/chunks/{6482.c7623657.js.map → 6482.f2574c4c.js.map} +1 -1
- package/dist/chunks/6660.c18ba804.js +2 -0
- package/dist/chunks/6660.c18ba804.js.map +1 -0
- package/dist/chunks/7067.21d8d391.js +2 -0
- package/dist/chunks/{7067.7171bcf3.js.map → 7067.21d8d391.js.map} +1 -1
- package/dist/chunks/7632.4f9753ef.js +2 -0
- package/dist/chunks/{7632.ad5479fc.js.map → 7632.4f9753ef.js.map} +1 -1
- package/dist/chunks/7746.3cfb4cdd.js +2 -0
- package/dist/chunks/{1646.c77cdec5.js.map → 7746.3cfb4cdd.js.map} +1 -1
- package/dist/chunks/{7955.997c03c5.js → 7955.386dd09d.js} +3 -3
- package/dist/chunks/{7955.997c03c5.js.map → 7955.386dd09d.js.map} +1 -1
- package/dist/chunks/9102.d997788a.js +3 -0
- package/dist/chunks/{9102.cc9fd915.js.map → 9102.d997788a.js.map} +1 -1
- package/dist/chunks/9407.6ccc9cda.js +2 -0
- package/dist/chunks/{9407.835ea347.js.map → 9407.6ccc9cda.js.map} +1 -1
- package/dist/chunks/{9431.29d63767.js → 9431.24347b60.js} +2 -2
- package/dist/chunks/{9431.29d63767.js.map → 9431.24347b60.js.map} +1 -1
- package/dist/chunks/9549.a3ef422f.js +2 -0
- package/dist/chunks/9549.a3ef422f.js.map +1 -0
- package/dist/chunks/{easyops-navbar-alerts.f9bc8b9e.js → easyops-navbar-alerts.f5fd0398.js} +2 -2
- package/dist/chunks/{easyops-navbar-alerts.f9bc8b9e.js.map → easyops-navbar-alerts.f5fd0398.js.map} +1 -1
- package/dist/chunks/eo-app-bar-wrapper.34c1682e.js +3 -0
- package/dist/chunks/{eo-app-bar-wrapper.1b939974.js.map → eo-app-bar-wrapper.34c1682e.js.map} +1 -1
- package/dist/chunks/{eo-frame-breadcrumb.71faa917.js → eo-frame-breadcrumb.ab7ded04.js} +2 -2
- package/dist/chunks/{eo-frame-breadcrumb.71faa917.js.map → eo-frame-breadcrumb.ab7ded04.js.map} +1 -1
- package/dist/chunks/eo-launchpad-button-v2.59f08739.js +2 -0
- package/dist/chunks/{eo-launchpad-button-v2.22cf8aed.js.map → eo-launchpad-button-v2.59f08739.js.map} +1 -1
- package/dist/chunks/{eo-launchpad-button.bd939038.js → eo-launchpad-button.f6c221a3.js} +2 -2
- package/dist/chunks/{eo-launchpad-button.bd939038.js.map → eo-launchpad-button.f6c221a3.js.map} +1 -1
- package/dist/chunks/{eo-launchpad-quick-access.cbce109c.js → eo-launchpad-quick-access.39e333de.js} +3 -3
- package/dist/chunks/{eo-launchpad-quick-access.cbce109c.js.map → eo-launchpad-quick-access.39e333de.js.map} +1 -1
- package/dist/chunks/{eo-launchpad-recent-visits.54974d26.js → eo-launchpad-recent-visits.bc62312f.js} +3 -3
- package/dist/chunks/{eo-launchpad-recent-visits.54974d26.js.map → eo-launchpad-recent-visits.bc62312f.js.map} +1 -1
- package/dist/chunks/eo-nav-menu.f0ab4b6b.js +2 -0
- package/dist/chunks/eo-nav-menu.f0ab4b6b.js.map +1 -0
- package/dist/chunks/{eo-search-launchpad.f9bbeec0.js → eo-search-launchpad.ac49c91b.js} +2 -2
- package/dist/chunks/{eo-search-launchpad.f9bbeec0.js.map → eo-search-launchpad.ac49c91b.js.map} +1 -1
- package/dist/chunks/eo-sidebar-menu-group.cc4872fa.js +3 -0
- package/dist/chunks/eo-sidebar-menu-group.cc4872fa.js.map +1 -0
- package/dist/chunks/eo-sidebar-menu-item.719f407b.js +2 -0
- package/dist/chunks/eo-sidebar-menu-item.719f407b.js.map +1 -0
- package/dist/chunks/eo-sidebar-menu-submenu.30222d50.js +3 -0
- package/dist/chunks/eo-sidebar-menu-submenu.30222d50.js.map +1 -0
- package/dist/chunks/eo-sidebar-menu.26376775.js +2 -0
- package/dist/chunks/eo-sidebar-menu.26376775.js.map +1 -0
- package/dist/chunks/eo-sidebar-sub-menu.0b84fb52.js +3 -0
- package/dist/chunks/{eo-sidebar-sub-menu.692184b2.js.map → eo-sidebar-sub-menu.0b84fb52.js.map} +1 -1
- package/dist/chunks/eo-sidebar.295d6cf6.js +3 -0
- package/dist/chunks/eo-sidebar.295d6cf6.js.map +1 -0
- package/dist/chunks/{launchpad-config.275af331.js → launchpad-config.0a738235.js} +3 -3
- package/dist/chunks/{launchpad-config.275af331.js.map → launchpad-config.0a738235.js.map} +1 -1
- package/dist/chunks/main.b5cef846.js +2 -0
- package/dist/chunks/{main.95b5b1fd.js.map → main.b5cef846.js.map} +1 -1
- package/dist/examples.json +8 -8
- package/dist/index.1b6d788e.js +2 -0
- package/dist/index.1b6d788e.js.map +1 -0
- package/dist/manifest.json +32 -28
- package/dist/types.json +7 -0
- package/dist-types/sidebar/sidebar-menu-group/index.d.ts +1 -1
- package/dist-types/sidebar/sidebar-menu-item/index.d.ts +5 -0
- package/docs/eo-sidebar-menu-group.md +10 -10
- package/docs/eo-sidebar-menu-item.md +4 -4
- package/docs/eo-sidebar-menu-submenu.md +13 -10
- package/docs/eo-sidebar-menu.md +28 -25
- package/docs/eo-sidebar-sub-menu.md +17 -16
- package/docs/eo-sidebar.md +36 -31
- package/package.json +2 -2
- package/dist/chunks/1303.f8781f1e.js +0 -2
- package/dist/chunks/1646.c77cdec5.js +0 -2
- package/dist/chunks/3981.826a47ba.js +0 -3
- package/dist/chunks/3981.826a47ba.js.map +0 -1
- package/dist/chunks/4752.ee488116.js +0 -3
- package/dist/chunks/5381.2e6572a5.js +0 -2
- package/dist/chunks/5381.2e6572a5.js.map +0 -1
- package/dist/chunks/6660.73cf4fb1.js +0 -2
- package/dist/chunks/6660.73cf4fb1.js.map +0 -1
- package/dist/chunks/7067.7171bcf3.js +0 -2
- package/dist/chunks/7632.ad5479fc.js +0 -2
- package/dist/chunks/7746.1fc9418c.js +0 -2
- package/dist/chunks/8561.0f34de2b.js +0 -2
- package/dist/chunks/8561.0f34de2b.js.map +0 -1
- package/dist/chunks/9102.cc9fd915.js +0 -3
- package/dist/chunks/9407.835ea347.js +0 -2
- package/dist/chunks/9549.0f90debb.js +0 -2
- package/dist/chunks/9549.0f90debb.js.map +0 -1
- package/dist/chunks/eo-app-bar-wrapper.1b939974.js +0 -3
- package/dist/chunks/eo-launchpad-button-v2.22cf8aed.js +0 -2
- package/dist/chunks/eo-nav-menu.5599c5bf.js +0 -2
- package/dist/chunks/eo-nav-menu.5599c5bf.js.map +0 -1
- package/dist/chunks/eo-sidebar-menu-group.39cae815.js +0 -3
- package/dist/chunks/eo-sidebar-menu-group.39cae815.js.map +0 -1
- package/dist/chunks/eo-sidebar-menu-item.310b94f2.js +0 -2
- package/dist/chunks/eo-sidebar-menu-item.310b94f2.js.map +0 -1
- package/dist/chunks/eo-sidebar-menu-submenu.6495af5f.js +0 -3
- package/dist/chunks/eo-sidebar-menu-submenu.6495af5f.js.map +0 -1
- package/dist/chunks/eo-sidebar-menu.e945b3c3.js +0 -2
- package/dist/chunks/eo-sidebar-menu.e945b3c3.js.map +0 -1
- package/dist/chunks/eo-sidebar-sub-menu.692184b2.js +0 -3
- package/dist/chunks/eo-sidebar.17b65d13.js +0 -3
- package/dist/chunks/eo-sidebar.17b65d13.js.map +0 -1
- package/dist/chunks/main.95b5b1fd.js +0 -2
- package/dist/index.2ea846d4.js +0 -2
- package/dist/index.2ea846d4.js.map +0 -1
- /package/dist/chunks/{3981.826a47ba.js.LICENSE.txt → 3981.c3292c49.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{4752.ee488116.js.LICENSE.txt → 4752.091d3058.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{7955.997c03c5.js.LICENSE.txt → 7955.386dd09d.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9102.cc9fd915.js.LICENSE.txt → 9102.d997788a.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-app-bar-wrapper.1b939974.js.LICENSE.txt → eo-app-bar-wrapper.34c1682e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-launchpad-quick-access.cbce109c.js.LICENSE.txt → eo-launchpad-quick-access.39e333de.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-launchpad-recent-visits.54974d26.js.LICENSE.txt → eo-launchpad-recent-visits.bc62312f.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar-menu-group.39cae815.js.LICENSE.txt → eo-sidebar-menu-group.cc4872fa.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar-menu-submenu.6495af5f.js.LICENSE.txt → eo-sidebar-menu-submenu.30222d50.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar-sub-menu.692184b2.js.LICENSE.txt → eo-sidebar-sub-menu.0b84fb52.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar.17b65d13.js.LICENSE.txt → eo-sidebar.295d6cf6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{launchpad-config.275af331.js.LICENSE.txt → launchpad-config.0a738235.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/3981.826a47ba.js","mappings":"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","sources":["webpack:///./src/nav-menu/index.tsx","webpack:///./src/launchpad/index.tsx","webpack:///./src/launchpad-button-v2/index.tsx","webpack:///./src/launchpad-config/wrapped-bricks.ts","webpack:///./src/launchpad-config/MenuGroup.tsx","webpack:///./src/launchpad-config/index.tsx","webpack:///./src/easyops-navbar-alerts/index.tsx","webpack:///./src/launchpad-quick-access/index.tsx","webpack:///./src/search-launchpad/host-context.css?4d0b","webpack:///./src/search-launchpad/index.tsx","webpack:///./src/launchpad-recent-visits/index.tsx","webpack:///./src/app-bar-wrapper/index.tsx","webpack:///./src/frame-breadcrumb/index.tsx","webpack:///./src/sidebar/sidebar-menu-item/index.tsx","webpack:///./src/sidebar/utils.tsx","webpack:///./src/sidebar/sidebar-menu-group/index.tsx","webpack:///./src/sidebar/sidebar-menu-submenu/index.tsx","webpack:///./src/sidebar/sidebar-menu/index.tsx","webpack:///./src/images/fixed.svg","webpack:///./src/images/toFixed.svg","webpack:///./src/sidebar/i18n.ts","webpack:///./src/sidebar/index.tsx","webpack:///../../src/debounceByAnimationFrame.ts","webpack:///./src/sidebar-sub-menu/index.tsx","webpack:///./src/search-launchpad/host-context.css","webpack:///./src/app-bar-wrapper/styles.shadow.css","webpack:///./src/easyops-navbar-alerts/styles.shadow.css","webpack:///./src/frame-breadcrumb/styles.shadow.css","webpack:///./src/launchpad-config/styles.shadow.css","webpack:///./src/launchpad-quick-access/styles.shadow.css","webpack:///./src/launchpad-recent-visits/styles.shadow.css","webpack:///./src/search-launchpad/styles.shadow.css","webpack:///./src/sidebar-sub-menu/styles.shadow.css","webpack:///./src/sidebar/sidebar-menu-group/styles.shadow.css","webpack:///./src/sidebar/sidebar-menu-item/styles.shadow.css","webpack:///./src/sidebar/sidebar-menu-submenu/styles.shadow.css","webpack:///./src/sidebar/sidebar-menu/styles.shadow.css","webpack:///./src/sidebar/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/my_collection/listMyCollection.js","webpack:///../../node_modules/@next-api-sdk/user-service-sdk/dist/esm/api/user_service/my_collection/upsertMyCollection.js"],"sourcesContent":["import React, {\n CSSProperties,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { getHistory } from \"@next-core/runtime\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport styleText from \"./nav-menu.shadow.css\";\nimport { UnregisterCallback } from \"history\";\nimport type { SidebarMenu } from \"@next-bricks/basic/menu\";\nimport type {\n MenuItem as MenuItemComponent,\n MenuComponentProps,\n} from \"@next-bricks/basic/menu-item\";\nimport { isSubMenu, isGroup, renderLinkCom, renderSpanCom } from \"./utils.js\";\nimport { initMenuItemAndMatchCurrentPathKeys } from \"@next-shared/general/menu\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport type {\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping,\n Placement,\n} from \"@next-bricks/basic/popover\";\nimport \"@next-core/theme\";\nimport classnames from \"classnames\";\nimport { ThreeLevelMenuPopoverContent } from \"./ThreeLevelMenuPopoverContent.js\";\nimport { SiteMapItem } from \"./site-map/SiteMapItem.js\";\nimport SiteMapStyleText from \"../nav-menu/site-map/SiteMapItem.shadow.css\";\nimport ItemTagStyleText from \"../nav-menu/site-map/ItemTag.shadow.css\";\nimport GroupItemStyleText from \"../nav-menu/site-map/GroupItem.shadow.css\";\nimport \"./host-context.css\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrappedMenuItem = wrapBrick<MenuItemComponent, MenuComponentProps>(\n \"eo-menu-item\"\n);\nconst WrappedPopover = wrapBrick<\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping\n>(\"eo-popover\", {\n onVisibleChange: \"visible.change\",\n beforeVisibleChange: \"before.visible.change\",\n});\n\nconst GAP_WIDTH = 8;\n\ninterface NavMenuProps {\n menu?: SidebarMenu;\n showTooltip?: boolean;\n}\n\ninterface MenuItemComProps {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuItem;\n topData?: boolean;\n selectedKey?: string[];\n showTooltip?: boolean;\n overflow?: boolean;\n}\ninterface SimpleMenuItemComProps extends MenuItemComProps {\n item: SidebarMenuSimpleItem;\n}\ninterface MenuGroupComProps extends MenuItemComProps {\n item: SidebarMenuGroup;\n}\nfunction RenderMenuItemCom(props: MenuItemComProps) {\n const { item } = props;\n return isSubMenu(item as SidebarMenuGroup, props.topData) ? (\n <SubMenuItemCom {...props} item={item as SidebarMenuGroup}></SubMenuItemCom>\n ) : isGroup(item) ? (\n <GroupMenuItemCom {...props} item={item as SidebarMenuGroup} />\n ) : (\n <SimpleMenuItemCom\n {...props}\n item={item as SidebarMenuSimpleItem}\n ></SimpleMenuItemCom>\n );\n}\nfunction SimpleMenuItemCom(props: SimpleMenuItemComProps) {\n const { item, index, hidden, showTooltip, selectedKey = [] } = props;\n return (\n <WrappedMenuItem\n data-index={index}\n className={hidden ? \"overflow-menu-item\" : \"\"}\n key={item.key}\n title={showTooltip ? item.text : \"\"}\n active={item.key ? selectedKey.includes(item.key) : false}\n >\n {renderLinkCom(item, { width: \"100%\" })}\n </WrappedMenuItem>\n );\n}\n\nlet scrollWidth: number;\n// istanbul ignore next;\nconst handlePopupVisibleChange = (event: CustomEvent<boolean>) => {\n // 当用户设置滚动条一直显示时,来回切换 overflow: hidden 会导致滚动条显示或隐藏\n // 造成页面宽度变化而导致的抖动的问题\n const paddingRight =\n scrollWidth ??\n (scrollWidth = window.innerWidth - document.body.clientWidth);\n\n document.body.style.paddingRight = event.detail ? paddingRight + \"px\" : \"\";\n document.body.style.overflow = event.detail ? \"hidden\" : \"\";\n document.body.style.touchAction = event.detail ? \"none\" : \"\";\n};\n\nfunction SubMenuItemCom({\n index,\n hidden,\n item,\n topData,\n showTooltip,\n selectedKey = [],\n overflow,\n}: MenuGroupComProps) {\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"popover\", {\n subprime: !topData,\n \"overflow-menu-item\": hidden,\n })}\n trigger=\"hover\"\n placement={topData ? \"bottom-start\" : \"right-start\"}\n distance={0}\n anchorDisplay=\"block\"\n strategy=\"fixed\"\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item, !topData)}\n </WrappedMenuItem>\n <div\n className={classnames(\"sub-menu-wrapper\", {\n \"overflow-menu-wrapper\": overflow,\n })}\n >\n {item.items.map((innerItem) => (\n <React.Fragment key={innerItem.key}>\n <RenderMenuItemCom\n item={innerItem}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n />\n </React.Fragment>\n ))}\n </div>\n </WrappedPopover>\n ) : null;\n}\n\nfunction GroupMenuItemCom({\n item,\n showTooltip,\n selectedKey = [],\n}: MenuGroupComProps) {\n return item.items?.length > 0 ? (\n item.childLayout === \"category\" ? (\n <ThreeLevelMenuCom\n item={item}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n placement=\"right-start\"\n anchorDisplay=\"block\"\n />\n ) : (item as SidebarMenuGroup).childLayout === \"siteMap\" ? (\n <SitMapMenCom\n item={item}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n placement=\"right-start\"\n anchorDisplay=\"block\"\n topData={false}\n />\n ) : (\n <>\n <div className=\"group-label\">{item.title}</div>\n <div className=\"group-wrapper\">\n {item.items.map((innerItem) => {\n return (\n <React.Fragment key={innerItem.key}>\n <RenderMenuItemCom\n item={innerItem}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n />\n </React.Fragment>\n );\n })}\n </div>\n </>\n )\n ) : null;\n}\n\nfunction ThreeLevelMenuCom({\n index,\n hidden,\n item,\n selectedKey = [],\n showTooltip,\n placement = \"bottom-start\",\n anchorDisplay,\n}: {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuGroup;\n selectedKey?: string[];\n showTooltip?: boolean;\n placement?: Placement;\n anchorDisplay?: CSSProperties[\"display\"];\n}) {\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"three-level-menu-popover\", \"popover\", {\n \"overflow-menu-item\": hidden,\n })}\n trigger={\"hover\"}\n placement={placement}\n distance={0}\n key={item.key}\n strategy=\"fixed\"\n anchorDisplay={anchorDisplay}\n beforeVisibleChange={handlePopupVisibleChange}\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item)}\n </WrappedMenuItem>\n <div className=\"sub-menu-wrapper\">\n <ThreeLevelMenuPopoverContent\n menuItem={item}\n selectedKey={selectedKey}\n ></ThreeLevelMenuPopoverContent>\n </div>\n </WrappedPopover>\n ) : null;\n}\n\nfunction SitMapMenCom({\n index,\n hidden,\n item,\n selectedKey = [],\n showTooltip,\n placement = \"bottom-start\",\n anchorDisplay,\n topData,\n}: {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuGroup;\n selectedKey?: string[];\n showTooltip?: boolean;\n placement?: Placement;\n anchorDisplay?: CSSProperties[\"display\"];\n topData?: boolean;\n}) {\n const [visible, setVisible] = useState<boolean>();\n\n const handleVisibleChange = (event: CustomEvent<boolean>): void => {\n setVisible(event.detail);\n handlePopupVisibleChange(event);\n };\n\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"popover\", {\n \"overflow-menu-item\": hidden,\n })}\n trigger={\"hover\"}\n placement={placement}\n distance={0}\n key={item.key}\n strategy=\"fixed\"\n anchorDisplay={anchorDisplay}\n beforeVisibleChange={handleVisibleChange}\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item)}\n </WrappedMenuItem>\n <div\n className={classnames(\"sub-menu-sit-map-wrapper\", {\n \"in-group-site-map\": !topData,\n })}\n onClick={(e) => e.stopPropagation()}\n >\n <SiteMapItem\n menuGroup={item}\n selectedKey={selectedKey}\n visible={visible}\n />\n </div>\n </WrappedPopover>\n ) : null;\n}\n\n/**\n * 菜单构件\n * @author sailor\n * @category navigation\n */\n@defineElement(\"eo-nav-menu\", {\n styleTexts: [\n SiteMapStyleText,\n ItemTagStyleText,\n GroupItemStyleText,\n styleText,\n ],\n})\nclass NavMenu extends ReactNextElement {\n /**\n * 菜单项\n */\n @property({\n attribute: false,\n })\n accessor menu: SidebarMenu | undefined;\n\n /**\n * 是否显示 tooltip\n */\n @property({\n type: Boolean,\n })\n accessor showTooltip: boolean | undefined;\n\n render() {\n return <NavMenuComponent menu={this.menu} showTooltip={this.showTooltip} />;\n }\n}\n\nfunction NavMenuComponent(props: NavMenuProps) {\n const { menu, showTooltip } = props;\n\n const history = getHistory();\n const navMenuWrapperRef = useRef<HTMLDivElement>(null);\n const [location, setLocation] = useState(history.location);\n const [overflowIndex, setOverflowIndex] = useState<number>(\n Number.MAX_SAFE_INTEGER\n );\n const { pathname, search } = location;\n\n const [selectedKey, setSelectedKey] = useState<string[]>([]);\n\n const setSelected = async (): Promise<void> => {\n const { selectedKeys } = initMenuItemAndMatchCurrentPathKeys(\n menu?.menuItems ?? [],\n pathname,\n search,\n \"\"\n );\n setSelectedKey(selectedKeys);\n };\n\n useEffect(() => {\n const unListen: UnregisterCallback = history.listen((location) => {\n setLocation(location);\n });\n setSelected();\n return unListen;\n }, []);\n\n useEffect(() => {\n if (navMenuWrapperRef.current) {\n const resizeObserver = new ResizeObserver(() => {\n if (navMenuWrapperRef.current) {\n const { width } = navMenuWrapperRef.current.getClientRects()[0] ?? {};\n const childNodes = navMenuWrapperRef.current.childNodes;\n\n if (childNodes.length && width) {\n let wrapperWidth = width;\n let overflowIndex = childNodes.length;\n\n for (let i = 0; i < childNodes.length; i++) {\n const { width: childWidth, height: childHeight } = (\n childNodes[i] as HTMLElement\n ).getClientRects()[0];\n\n if (!childHeight && wrapperWidth - 40 < 0) {\n overflowIndex = i - 1;\n break;\n }\n\n wrapperWidth =\n wrapperWidth - childWidth - (i > 0 ? GAP_WIDTH : 0);\n if (wrapperWidth < 0) {\n overflowIndex = i;\n break;\n }\n }\n\n setOverflowIndex(overflowIndex < 0 ? 0 : overflowIndex);\n }\n }\n });\n resizeObserver.observe(navMenuWrapperRef.current);\n\n return () => {\n resizeObserver.disconnect();\n };\n }\n }, []);\n\n const overflowMenu = useMemo(\n (): SidebarMenuItem => ({\n type: \"subMenu\",\n title: \"···\",\n items: menu?.menuItems.slice(\n overflowIndex,\n menu.menuItems.length\n ) as SidebarMenuItem[],\n }),\n [menu?.menuItems, overflowIndex]\n );\n\n return (\n <div ref={navMenuWrapperRef} className=\"nav-menu-wrapper\">\n {menu?.menuItems.map((item, index) => {\n const isHidden = overflowIndex <= index;\n return (\n <React.Fragment key={item.key}>\n {isSubMenu(item as SidebarMenuGroup, true) &&\n (item as SidebarMenuGroup).childLayout === \"category\" &&\n (item as SidebarMenuGroup).items?.length ? (\n <ThreeLevelMenuCom\n index={index}\n hidden={isHidden}\n item={item as SidebarMenuGroup}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n />\n ) : (item as SidebarMenuGroup).type === \"group\" &&\n (item as SidebarMenuGroup).childLayout === \"siteMap\" ? (\n <SitMapMenCom\n index={index}\n hidden={isHidden}\n item={item as SidebarMenuGroup}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n topData={true}\n />\n ) : (\n <RenderMenuItemCom\n index={index}\n hidden={isHidden}\n item={item}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n topData={true}\n />\n )}\n </React.Fragment>\n );\n })}\n <RenderMenuItemCom\n hidden={overflowIndex > (menu?.menuItems?.length ?? 0)}\n item={overflowMenu}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n overflow={true}\n topData={true}\n />\n </div>\n );\n}\n\nexport { NavMenu };\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { LaunchpadButton as LaunchpadButtonComponent } from \"./LaunchpadButton/LaunchpadButton.js\";\nimport { initializeReactI18n } from \"@next-core/i18n/react\";\nimport \"@next-core/theme\";\nimport { NS, locales } from \"./i18n.js\";\nimport styleText from \"./LaunchpadButton/LaunchpadButton.shadow.css\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement } = createDecorators();\n\n/**\n * Launchpad 按钮构件\n * @author sailor\n * @insider\n */\n@defineElement(\"eo-launchpad-button\", {\n styleTexts: [styleText],\n})\nclass LaunchpadButton extends ReactNextElement {\n render() {\n return <LaunchpadButtonComponent />;\n }\n}\n\nexport { LaunchpadButton };\n","import React, { useEffect, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport \"@next-core/theme\";\nimport { getHistory, getRuntime } from \"@next-core/runtime\";\nimport type { lockBodyScroll as _lockBodyScroll } from \"@next-bricks/basic/data-providers/lock-body-scroll/lock-body-scroll\";\n// import { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport hotkeys from \"hotkeys-js\";\nimport classNames from \"classnames\";\n// import { K, NS, locales } from \"./i18n.js\";\nimport LaunchpadSvg from \"../images/launchpad.svg\";\nimport styleText from \"./styles.shadow.css\";\nimport platformCategoryStyleText from \"./PlatformCategory.shadow.css\";\nimport { Launchpad } from \"./Launchpad\";\nimport {\n deferredFavorites,\n deferredLaunchpadInfo,\n deferredPlatformCategories,\n} from \"./useLaunchpadInfo\";\nimport \"./host-context.css\";\n\n// initializeReactI18n(NS, locales);\n\nconst { defineElement } = createDecorators();\n\nconst lockBodyScroll = unwrapProvider<typeof _lockBodyScroll>(\n \"basic.lock-body-scroll\"\n);\n\n/**\n * 构件 `eo-launchpad-button-v2`\n * @insider\n */\nexport\n@defineElement(\"eo-launchpad-button-v2\", {\n styleTexts: [styleText, platformCategoryStyleText],\n})\nclass EoLaunchpadButtonV2 extends ReactNextElement {\n disconnectedCallback(): void {\n super.disconnectedCallback();\n lockBodyScroll(this, false);\n }\n\n render() {\n return <EoLaunchpadButtonV2Component host={this} />;\n }\n}\n\nexport function EoLaunchpadButtonV2Component({ host }: { host: HTMLElement }) {\n const [initialized, setInitialized] = useState(false);\n const [active, setActive] = useState(false);\n const toggleLaunchpad = (): void => {\n setActive((previous) => !previous);\n };\n\n useEffect(() => {\n // 当切换页面时,关闭 Launchpad。\n const unlisten = getHistory().listen(() => {\n setActive(false);\n });\n return unlisten;\n }, []);\n\n useEffect(() => {\n // 打开一次 launchpad 后,保留 DOM。\n if (active && !initialized) {\n setInitialized(true);\n }\n }, [active, initialized]);\n\n // istanbul ignore next\n useEffect(() => {\n hotkeys.filter = function () {\n return true;\n };\n\n // 快捷打开/关闭 Launchpad\n hotkeys(\"alt+l\", (event) => {\n event.preventDefault();\n setActive((previous) => !previous);\n });\n\n // 按 Esc 关闭 Launchpad\n hotkeys(\"esc\", () => {\n setActive(false);\n });\n\n return () => {\n hotkeys.unbind(\"alt+l\");\n hotkeys.unbind(\"esc\");\n };\n }, []);\n\n useEffect(() => {\n lockBodyScroll(host, active);\n }, [active, host]);\n\n useEffect(() => {\n deferredLaunchpadInfo.schedulePrefetch();\n deferredFavorites.schedulePrefetch();\n getRuntime()?.getFeatureFlags()[\"launchpad-show-platform-category\"] &&\n deferredPlatformCategories.schedulePrefetch();\n }, []);\n\n return (\n <>\n <a\n role=\"button\"\n className={classNames(\"launchpad-button\", { active })}\n onClick={toggleLaunchpad}\n >\n <LaunchpadSvg />\n </a>\n <div\n className={classNames(\"mask\", { active })}\n onClick={toggleLaunchpad}\n ></div>\n {initialized && <Launchpad active={active} />}\n </>\n );\n}\n","import { wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping,\n} from \"@next-bricks/basic/dropdown-actions\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nexport const WrappedDropdownActions = wrapBrick<\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping\n>(\"eo-dropdown-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\n\n// Use `unwrapProvider` to get the original function of a provider\nexport const showDialog =\n unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport type { SimpleAction } from \"@next-bricks/basic/dropdown-actions\";\nimport {\n WrappedDropdownActions,\n WrappedIcon,\n WrappedLink,\n} from \"./wrapped-bricks\";\nimport type {\n ConfigMenuGroup,\n ConfigMenuItemDir,\n ConfigMenuItemNormal,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\nimport { getAppLocaleName } from \"../shared/getLocaleName\";\n\nexport interface MenuGroupProps {\n data: ConfigMenuGroup;\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuGroup({ data, actions, onActionClick }: MenuGroupProps) {\n const { name, items } = data;\n const [dropdownActive, setDropdownActive] = useState(false);\n\n const filteredActions = useMemo(\n () =>\n actions?.filter((item) => checkIfByTransform(item, { type: \"group\" })),\n [actions]\n );\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li className={classNames(\"menu-group\", { empty: items.length === 0 })}>\n <div className=\"menu-group-label-wrapper\">\n <span className=\"menu-group-label\">{name}</span>\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", { active: dropdownActive })}\n />\n </WrappedDropdownActions>\n </div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={item.instanceId}\n data={item}\n actions={actions}\n onActionClick={onActionClick}\n />\n ) : (\n <MenuItem\n key={`${item.type}-${item.id}`}\n data={item}\n actions={actions}\n onActionClick={onActionClick}\n />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n data: ConfigMenuItemNormal;\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuItem({ data, actions, onActionClick }: MenuItemProps) {\n const name = useMemo(\n () =>\n data.type === \"app\"\n ? getAppLocaleName(data.locales, data.name)\n : data.name,\n [data]\n );\n\n const [dropdownActive, setDropdownActive] = useState(false);\n\n const filteredActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, data)),\n [actions, data]\n );\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li className=\"menu-item\">\n <WrappedLink>\n <WrappedIcon\n className={`menu-icon`}\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(data.menuIcon?.lib && data.menuIcon.icon\n ? (pick(data.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{name}</span>\n </WrappedLink>\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", { active: dropdownActive })}\n />\n </WrappedDropdownActions>\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n data: ConfigMenuItemDir;\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nfunction MenuItemFolder({ data, actions, onActionClick }: MenuItemFolderProps) {\n const { name, items } = data;\n const [dropdownActive, setDropdownActive] = useState(false);\n const [expanded, setExpanded] = useState(false);\n\n const filteredActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, { type: \"dir\" })),\n [actions]\n );\n\n const toggle = useCallback(() => {\n setExpanded((previous) => !previous);\n }, []);\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li\n className={classNames(\"menu-item folder\", { empty: items.length === 0 })}\n >\n <div className=\"menu-folder-label-wrapper\">\n <WrappedLink onClick={toggle}>\n <WrappedIcon\n lib=\"fa\"\n prefix=\"far\"\n icon=\"folder-open\"\n className=\"menu-icon\"\n />\n <span className=\"menu-item-label\">{name}</span>\n <WrappedIcon\n lib=\"antd\"\n icon={expanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", { active: dropdownActive })}\n />\n </WrappedDropdownActions>\n </div>\n <ul className={classNames(\"sub-menu\", { expanded })}>\n {items.map((item) => (\n <MenuItem\n key={item.instanceId}\n data={item}\n actions={actions}\n onActionClick={onActionClick}\n />\n ))}\n </ul>\n </li>\n );\n}\n","import React from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n ConfigMenuGroup,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\nimport { MenuGroup } from \"./MenuGroup\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 构件 `nav.launchpad-config`\n * @insider\n */\nexport\n@defineElement(\"nav.launchpad-config\", {\n styleTexts: [styleText],\n})\nclass LaunchpadConfig extends ReactNextElement implements LaunchpadConfigProps {\n @property({ attribute: false })\n accessor menuGroups: ConfigMenuGroup[] | undefined;\n\n @property({ attribute: false })\n accessor actions: MenuAction[] | undefined;\n\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<MenuActionEventDetail>;\n\n #onActionClick = (detail: MenuActionEventDetail) => {\n this.#actionClickEvent.emit(detail);\n };\n\n render() {\n return (\n <LaunchpadConfigComponent\n menuGroups={this.menuGroups}\n actions={this.actions}\n onActionClick={this.#onActionClick}\n />\n );\n }\n}\n\nexport interface LaunchpadConfigProps {\n menuGroups?: ConfigMenuGroup[];\n actions?: MenuAction[];\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function LaunchpadConfigComponent({\n menuGroups,\n actions,\n onActionClick,\n}: LaunchpadConfigProps) {\n return (\n <ul className=\"menu-groups\">\n {menuGroups?.map((group) => (\n <MenuGroup\n key={group.instanceId}\n data={group}\n actions={actions}\n onActionClick={onActionClick}\n />\n ))}\n </ul>\n );\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport { useCurrentApp } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport moment from \"moment\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport styleText from \"./styles.shadow.css\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nconst { defineElement } = createDecorators();\n\n/**\n * 构件 `nav.easyops-navbar-alerts`\n * @insider\n */\nexport\n@defineElement(\"nav.easyops-navbar-alerts\", {\n styleTexts: [styleText],\n})\nclass EasyopsNavbarAlerts extends ReactNextElement {\n render() {\n return <EasyopsNavbarAlertsComponent />;\n }\n}\n\ninterface SlowRenderInfo {\n renderTime: number;\n suggestTime: number;\n suggestUrl?: string;\n}\n\nconst storage = new JsonStorage(localStorage);\n\nexport function EasyopsNavbarAlertsComponent() {\n const [licenseDaysLeft, setLicenseDaysLeft] = useState<number | null>(null);\n const [slowRender, setSlowRender] = useState<SlowRenderInfo | null>(null);\n const currentApp = useCurrentApp();\n const licenseDismissedKey = useMemo(() => {\n const authInfo = auth.getAuth();\n return `license:${authInfo.org}`;\n }, []);\n\n useEffect(() => {\n const authInfo = auth.getAuth();\n const validDaysLeft = authInfo.license?.validDaysLeft;\n let dismissExpireAt: number;\n if (\n validDaysLeft &&\n validDaysLeft <= 15 &&\n authInfo.isAdmin &&\n ((dismissExpireAt = storage.getItem(licenseDismissedKey)),\n !dismissExpireAt || moment().unix() > dismissExpireAt)\n ) {\n setLicenseDaysLeft(validDaysLeft);\n }\n }, [licenseDismissedKey]);\n\n useEffect(() => {\n const handelRouteRender = (e: Event): void => {\n const renderTime = (e as CustomEvent<{ renderTime: number }>).detail\n .renderTime;\n const { loadTime, loadInfoPage } = getRuntime().getMiscSettings() as {\n loadTime: number;\n loadInfoPage?: string;\n };\n if (currentApp?.isBuildPush && loadTime > 0 && renderTime > loadTime) {\n setSlowRender({\n renderTime: millisecondToSecond(renderTime),\n suggestTime: millisecondToSecond(loadTime),\n suggestUrl: loadInfoPage,\n });\n }\n };\n window.addEventListener(\"route.render\", handelRouteRender);\n return () => {\n window.removeEventListener(\"route.render\", handelRouteRender);\n };\n }, [currentApp]);\n\n const handleLicenseAlertDismiss = useCallback(() => {\n // 一天内不再显示。\n storage.setItem(licenseDismissedKey, moment().unix() + 86400);\n setLicenseDaysLeft(null);\n }, [licenseDismissedKey]);\n\n return (\n <>\n {slowRender && (\n <Alert\n text={`您的页面存在性能问题, 当前页面渲染时间 ${slowRender.renderTime} 秒, 规定阈值为: ${slowRender.suggestTime} 秒, 您已超过。请您针对该页面进行性能优化!`}\n type=\"warning\"\n link={\n slowRender.suggestUrl\n ? {\n label: \"建议解决思路\",\n url: slowRender.suggestUrl,\n }\n : undefined\n }\n />\n )}\n {licenseDaysLeft !== null && (\n <Alert\n text={`离 License 过期还有 ${licenseDaysLeft} 天`}\n type=\"info\"\n closable\n onClose={handleLicenseAlertDismiss}\n />\n )}\n </>\n );\n}\n\ninterface AlertProps {\n text: string;\n type: \"info\" | \"warning\";\n closable?: boolean;\n link?: {\n label: string;\n url: string;\n };\n onClose?: () => void;\n}\n\nfunction Alert({ text, type, closable, link, onClose }: AlertProps) {\n return (\n <div className={`alert ${type}`}>\n <span className=\"text\">{text}</span>\n {link && (\n <WrappedLink className=\"link\" href={link.url} target=\"_blank\">\n {link.label}\n </WrappedLink>\n )}\n {closable && (\n <WrappedIcon\n lib=\"antd\"\n icon=\"close\"\n className=\"icon\"\n role=\"button\"\n onClick={onClose}\n />\n )}\n </div>\n );\n}\n\nfunction millisecondToSecond(millisecond: number) {\n return Math.floor(millisecond * 100) / 1e5;\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { useLaunchpadInfo } from \"../launchpad-button-v2/useLaunchpadInfo\";\nimport { LaunchpadsContext } from \"../launchpad-button-v2/LaunchpadContext\";\nimport { SidebarMenuItem } from \"../launchpad-button-v2/MenuGroup\";\nimport { SidebarMenuItemData } from \"../launchpad-button-v2/interfaces\";\n\nconst { defineElement } = createDecorators();\n\n/**\n * 快捷访问\n * @insider\n */\nexport\n@defineElement(\"eo-launchpad-quick-access\", {\n styleTexts: [styleText],\n})\nclass EoLaunchpadQuickAccess extends ReactNextElement {\n render() {\n return <EoLaunchpadQuickAccessComponent />;\n }\n}\n\nexport function EoLaunchpadQuickAccessComponent() {\n const {\n favorites,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n } = useLaunchpadInfo(true);\n\n return (\n <LaunchpadsContext.Provider\n value={{\n searching: false,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n }}\n >\n <ul className=\"quick-access-list\">\n {favorites.map((item, index) => (\n <SidebarMenuItem key={index} item={item as SidebarMenuItemData} />\n ))}\n </ul>\n </LaunchpadsContext.Provider>\n );\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useCallback, useRef, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport classNames from \"classnames\";\nimport { LaunchpadsContext } from \"../launchpad-button-v2/LaunchpadContext\";\nimport { useLaunchpadInfo } from \"../launchpad-button-v2/useLaunchpadInfo\";\nimport { MenuGroup } from \"../launchpad-button-v2/MenuGroup\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport \"./host-context.css\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst { defineElement } = createDecorators();\n\n/**\n * launchpad 搜索\n * @insider\n */\nexport\n@defineElement(\"eo-search-launchpad\", {\n styleTexts: [styleText],\n})\nclass EoSearchLaunchpad extends ReactNextElement {\n render() {\n return <EoSearchLaunchpadComponent />;\n }\n}\n\nexport function EoSearchLaunchpadComponent() {\n const searchInputRef = useRef<HTMLInputElement>(null);\n const handleClickSearchBox = useCallback(() => {\n searchInputRef.current?.focus();\n }, []);\n\n const [active, setActive] = useState(false);\n\n const {\n loading,\n q,\n setQ,\n menuGroups,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n } = useLaunchpadInfo(active);\n const searching = !!q;\n\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setQ(e.target.value);\n },\n [setQ]\n );\n\n const clearSearch = useCallback(() => {\n setQ(\"\");\n }, [setQ]);\n\n return (\n <LaunchpadsContext.Provider\n value={{\n searching,\n loadingFavorites,\n pushRecentVisit,\n toggleStar,\n isStarred,\n }}\n >\n <div className=\"container\">\n <div className=\"search-box\" onClick={handleClickSearchBox}>\n <WrappedIcon\n lib=\"fa\"\n icon=\"magnifying-glass\"\n className=\"search-icon\"\n />\n <input\n ref={searchInputRef}\n placeholder=\"搜索产品/微应用\"\n value={q}\n onChange={handleSearch}\n className=\"search-input\"\n onFocus={() => setActive(true)}\n onBlur={() => setActive(false)}\n />\n <WrappedIcon\n lib=\"antd\"\n theme=\"filled\"\n icon=\"close-circle\"\n className={classNames(\"search-clear\", { searching })}\n onClick={clearSearch}\n onMouseDown={(e) => e.preventDefault()}\n />\n </div>\n <div\n className={classNames(\"dropdown\", { \"dropdown-active\": active })}\n onMouseDown={(e) => e.preventDefault()}\n >\n <div className={classNames(\"dropdown-content\", { loading })}>\n <Loading loading={loading} />\n <ul className=\"menu-groups\">\n {menuGroups.map((group) => (\n <MenuGroup\n key={group.name}\n name={group.name}\n items={group.items}\n />\n ))}\n </ul>\n </div>\n </div>\n </div>\n </LaunchpadsContext.Provider>\n );\n}\n\nfunction Loading({ loading }: { loading: boolean }) {\n return (\n loading && (\n <div className=\"spinner\">\n <WrappedIcon lib=\"fa\" icon=\"spinner\" spinning />\n </div>\n )\n );\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { useLaunchpadInfo } from \"../launchpad-button-v2/useLaunchpadInfo\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nconst { defineElement } = createDecorators();\n\n/**\n * launchpad 最近访问\n * @insider\n */\nexport\n@defineElement(\"eo-launchpad-recent-visits\", {\n styleTexts: [styleText],\n})\nclass EoLaunchpadRecentVisits extends ReactNextElement {\n render() {\n return <EoLaunchpadRecentVisitsComponent />;\n }\n}\n\nexport function EoLaunchpadRecentVisitsComponent() {\n const { recentVisits, pushRecentVisit } = useLaunchpadInfo(true);\n\n return (\n <ul className=\"recent-visits\">\n {recentVisits.map((item, index) => (\n <li key={index}>\n <WrappedLink\n onClick={() => pushRecentVisit(item)}\n {...(item.type === \"app\"\n ? {\n url: item.url,\n }\n : {\n href: item.url,\n target: \"_blank\",\n })}\n >\n <span>{item.name}</span>\n </WrappedLink>\n </li>\n ))}\n </ul>\n );\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport classNames from \"classnames\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property } = createDecorators();\n\nexport interface AppBarWrapperProps {\n isFixed?: boolean;\n position?: \"static\" | \"fixed\";\n displayCenter?: boolean;\n extraAppBarContentStyle?: React.CSSProperties;\n}\n\n/**\n * 应用顶部容器\n * @slot left - 左侧内容区\n * @slot right - 右侧内容区\n */\nexport\n@defineElement(\"eo-app-bar-wrapper\", {\n styleTexts: [styleText],\n alias: [\"basic.app-bar-wrapper\"],\n})\nclass EoAppBarWrapper extends ReactNextElement implements AppBarWrapperProps {\n /**\n * 是否固定定位。\n *\n * @default true\n * @deprecated 使用 `position` 属性代替\n */\n @property({\n type: Boolean,\n })\n accessor isFixed: boolean | undefined;\n\n /**\n * 设置定位方式:静态定位或固定定位。\n *\n * 设置时优先级高于 `isFixed`。\n *\n * @default \"fixed\"\n */\n @property()\n accessor position: \"static\" | \"fixed\" | undefined;\n\n /**\n * 居中显示\n * @default false\n */\n @property({\n type: Boolean,\n })\n accessor displayCenter: boolean | undefined;\n\n /** 自定义样式 */\n @property({\n attribute: false,\n })\n accessor extraAppBarContentStyle: React.CSSProperties | undefined;\n\n render() {\n return (\n <EoAppBarWrapperComponent\n displayCenter={this.displayCenter}\n isFixed={this.isFixed}\n position={this.position}\n extraAppBarContentStyle={this.extraAppBarContentStyle}\n />\n );\n }\n}\n\nexport function EoAppBarWrapperComponent({\n isFixed = true,\n position,\n displayCenter = false,\n extraAppBarContentStyle = {},\n}: AppBarWrapperProps) {\n React.useEffect(() => {\n const mainElement = document.getElementById(\"main-mount-point\");\n const iframeMainElement = document.getElementById(\n \"legacy-iframe-mount-point\"\n );\n mainElement && (mainElement.style.marginTop = \"\");\n iframeMainElement && (iframeMainElement.style.marginTop = \"\");\n }, []);\n\n return (\n <div className=\"app-bar-container\">\n <div\n className={classNames(\n \"app-bar\",\n position === \"static\"\n ? \"static\"\n : position === \"fixed\" || isFixed\n ? \"fixed\"\n : \"absolute\"\n )}\n >\n {/* TODO: need AppBarTips */}\n <div\n className=\"app-bar-content\"\n style={{\n justifyContent: displayCenter ? \"space-around\" : \"space-between\",\n ...extraAppBarContentStyle,\n }}\n >\n <div className=\"left\">\n <slot name=\"left\" />\n </div>\n <div className=\"right\">\n <slot name=\"right\" />\n </div>\n </div>\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport { useCurrentApp } from \"@next-core/react-runtime\";\nimport { BreadcrumbItemConf } from \"@next-core/types\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport type { EoBreadcrumb } from \"@next-bricks/basic/breadcrumb\";\nimport type {\n EoBreadcrumbItem,\n BreadcrumbItemProps,\n} from \"@next-bricks/basic/breadcrumb-item\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { ExtendedLocationDescriptor } from \"@next-bricks/basic/link\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrappedBreadcrumb = wrapBrick<EoBreadcrumb, unknown>(\"eo-breadcrumb\");\nconst WrappedBreadcrumbItem = wrapBrick<EoBreadcrumbItem, BreadcrumbItemProps>(\n \"eo-breadcrumb-item\"\n);\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface Menu {\n title: string;\n icon?: GeneralIconProps;\n link?: ExtendedLocationDescriptor;\n}\n\nexport interface EoFrameBreadcrumbProps {\n breadcrumb?: BreadcrumbItemConf[];\n noCurrentApp?: boolean;\n menu?: Menu;\n}\n\n/**\n * 面包屑\n */\nexport\n@defineElement(\"eo-frame-breadcrumb\", {\n styleTexts: [styleText],\n})\nclass EoFrameBreadcrumb\n extends ReactNextElement\n implements EoFrameBreadcrumbProps\n{\n /**\n * 面包屑配置\n */\n @property({\n attribute: false,\n })\n accessor breadcrumb: BreadcrumbItemConf[] | undefined;\n\n /**\n * 是否隐藏当前应用名称\n */\n @property({ type: Boolean })\n accessor noCurrentApp: boolean | undefined;\n\n /**\n * 菜单配置\n */\n @property({\n attribute: false,\n })\n accessor menu: Menu | undefined;\n\n render() {\n return (\n <EoFrameBreadcrumbComponent\n breadcrumb={this.breadcrumb}\n noCurrentApp={this.noCurrentApp}\n menu={this.menu}\n />\n );\n }\n}\n\nexport function EoFrameBreadcrumbComponent(props: EoFrameBreadcrumbProps) {\n const { menu } = props;\n\n const navConfig = getRuntime().getNavConfig();\n const currentApp = useCurrentApp();\n const curAppBreadcrumb = currentApp?.breadcrumb;\n\n const currentAppBreadcrumbItems = curAppBreadcrumb?.items;\n const breadcrumbItems = props.breadcrumb?.length\n ? props.breadcrumb\n : navConfig?.breadcrumb;\n\n const noCurrentApp = props.noCurrentApp ?? curAppBreadcrumb?.noCurrentApp;\n const useCurrentMenuTitle = curAppBreadcrumb?.useCurrentMenuTitle;\n\n return (\n <WrappedBreadcrumb>\n <span slot=\"separator\">/</span>\n {currentAppBreadcrumbItems?.map((item, index) => {\n return (\n <WrappedBreadcrumbItem key={index} url={item.to}>\n {index === 0 && (\n <WrappedIcon\n className=\"breadcrumb-item-prefix-icon\"\n slot=\"prefix\"\n lib=\"antd\"\n icon=\"home\"\n theme=\"outlined\"\n />\n )}\n {item.text}\n </WrappedBreadcrumbItem>\n );\n })}\n {currentApp && !noCurrentApp ? (\n <WrappedBreadcrumbItem\n url={\n breadcrumbItems?.length &&\n currentApp.homepage &&\n !currentApp.internal\n ? currentApp.homepage\n : undefined\n }\n >\n {!currentAppBreadcrumbItems?.length && (\n <WrappedIcon\n {...currentApp.menuIcon}\n slot=\"prefix\"\n className=\"breadcrumb-item-prefix-icon\"\n />\n )}\n {currentApp.localeName}\n </WrappedBreadcrumbItem>\n ) : null}\n {useCurrentMenuTitle && menu ? (\n <WrappedBreadcrumbItem url={menu.link}>\n {menu.icon && (\n <WrappedIcon\n {...menu.icon}\n className=\"breadcrumb-item-prefix-icon\"\n slot=\"prefix\"\n />\n )}\n {menu.title}\n </WrappedBreadcrumbItem>\n ) : null}\n {breadcrumbItems?.map((item, index) => (\n <WrappedBreadcrumbItem key={index} url={item.to}>\n {item.text}\n </WrappedBreadcrumbItem>\n ))}\n </WrappedBreadcrumb>\n );\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface EoSidebarMenuItemProps {\n url?: LinkProps[\"url\"];\n href?: LinkProps[\"href\"];\n icon?: GeneralIconProps;\n target?: LinkProps[\"target\"];\n selected?: boolean;\n menuCollapsed?: boolean;\n}\n\n/**\n * 侧栏菜单项\n * @category navigation\n */\nexport\n@defineElement(\"eo-sidebar-menu-item\", {\n styleTexts: [styleText],\n})\nclass EoSidebarMenuItem\n extends ReactNextElement\n implements EoSidebarMenuItemProps\n{\n /**\n * 菜单项对应的系统内地址\n */\n @property({ attribute: false })\n accessor url: LinkProps[\"url\"] | undefined;\n\n /**\n * 菜单项对应的外部链接地址\n */\n @property()\n accessor href: LinkProps[\"href\"] | undefined;\n\n /**\n * 菜单项链接打开的目标\n */\n @property()\n accessor target: LinkProps[\"target\"] | undefined;\n\n /**\n * 菜单项的图标\n */\n @property({ attribute: false })\n accessor icon: GeneralIconProps | undefined;\n\n /**\n * 是否选中\n */\n @property({ type: Boolean })\n accessor selected: boolean | undefined;\n\n /**\n * 菜单整体是否收起状态\n */\n @property({ type: Boolean })\n accessor menuCollapsed: boolean | undefined;\n\n render() {\n return (\n <EoSidebarMenuItemComponent\n url={this.url}\n href={this.href}\n target={this.target}\n icon={this.icon}\n selected={this.selected}\n />\n );\n }\n}\n\nexport function EoSidebarMenuItemComponent(props: EoSidebarMenuItemProps) {\n const { url, href, target, icon, selected } = props;\n\n return (\n <WrappedLink type=\"plain\" url={url} href={href} target={target}>\n <div className={\"menu-item\"}>\n <span className=\"menu-item-icon-container\">\n <WrappedIcon\n {...icon}\n className=\"menu-item-icon\"\n {...(icon && \"imgSrc\" in icon\n ? { imgStyle: { filter: selected ? \"brightness(7)\" : undefined } }\n : {})}\n />\n </span>\n <span className=\"menu-item-text\">\n <slot />\n </span>\n </div>\n </WrappedLink>\n );\n}\n","import React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useRef,\n} from \"react\";\nimport { getCssPropertyValue } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n SidebarMenu as SidebarMenuType,\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport type {\n EoSidebarMenu,\n EoSidebarMenuProps,\n} from \"./sidebar-menu/index.js\";\nimport type {\n EoSidebarMenuItem,\n EoSidebarMenuItemProps,\n} from \"./sidebar-menu-item/index.js\";\nimport type {\n EoSidebarMenuGroup,\n EoSidebarMenuGroupProps,\n} from \"./sidebar-menu-group/index.js\";\nimport type {\n EoSidebarMenuSubmenu,\n EoSidebarMenuSubmenuProps,\n} from \"./sidebar-menu-submenu/index.js\";\n\nconst sidebarMenuItemTagNameSet = new Set([\n \"EO-SIDEBAR-MENU-ITEM\",\n \"EO-SIDEBAR-MENU-GROUP\",\n \"EO-SIDEBAR-MENU-SUBMENU\",\n]);\n\nconst isSidebarMenuItem = (element: Element) =>\n sidebarMenuItemTagNameSet.has(element.tagName);\n\nexport function useUpdateMenuCollapsedState(menuCollapsed?: boolean) {\n const slotRef = useRef<HTMLSlotElement>(null);\n\n const updateChildrenMenuCollapsedState = useCallback(() => {\n slotRef.current?.assignedElements().forEach((ele) => {\n if (isSidebarMenuItem(ele)) {\n (ele as any).menuCollapsed = menuCollapsed;\n }\n });\n }, [menuCollapsed]);\n\n useEffect(() => {\n updateChildrenMenuCollapsedState();\n }, [menuCollapsed, updateChildrenMenuCollapsedState]);\n\n useEffect(() => {\n const slotElem = slotRef.current;\n const handleSlotchange = () => {\n updateChildrenMenuCollapsedState();\n };\n slotElem?.addEventListener(\"slotchange\", handleSlotchange);\n\n return () => {\n slotElem?.removeEventListener(\"slotchange\", handleSlotchange);\n };\n }, [updateChildrenMenuCollapsedState]);\n\n return [slotRef];\n}\n\nexport const SIDE_BAR_HAS_BEEN_USED = \"side-bar-has-been-used\";\nexport const SIDE_BAR_EXPAND_STATE = \"side-bar-expand-state\";\nexport const SIDE_BAR_RESIZE_WIDTH = \"side-bar-resize-width\";\n\nexport enum ExpandedState {\n Collapsed = \"collapsed\",\n Hovered = \"hovered\",\n Expanded = \"expanded\",\n}\n\nexport const sideBarWidth =\n parseInt(getCssPropertyValue(\"--side-bar-width\", document.body), 10) || 220;\nexport const sideBarCollapsedWidth =\n parseInt(\n getCssPropertyValue(\"--side-bar-collapsed-width\", document.body),\n 10\n ) || 60;\n\ninterface ContextOfSidebarMenu {\n selectedKeys: string[];\n openedKeys: string[];\n matchedKeys: string[];\n}\n\nconst SidebarMenuContext = createContext<ContextOfSidebarMenu>({\n selectedKeys: [],\n openedKeys: [],\n matchedKeys: [],\n});\n\nconst WrappedSidebarMenu = wrapBrick<EoSidebarMenu, EoSidebarMenuProps>(\n \"eo-sidebar-menu\"\n);\nconst WrappedSidebarMenuItem = wrapBrick<\n EoSidebarMenuItem,\n EoSidebarMenuItemProps\n>(\"eo-sidebar-menu-item\");\nconst WrappedSidebarMenuGroup = wrapBrick<\n EoSidebarMenuGroup,\n EoSidebarMenuGroupProps\n>(\"eo-sidebar-menu-group\");\nconst WrappedSidebarMenuSubmenu = wrapBrick<\n EoSidebarMenuSubmenu,\n EoSidebarMenuSubmenuProps\n>(\"eo-sidebar-menu-submenu\");\n\nfunction MenuSimpleItem(props: SidebarMenuSimpleItem & { id?: string }) {\n const { to, href, target, icon, text, id } = props;\n const { selectedKeys } = useContext(SidebarMenuContext);\n\n return (\n <WrappedSidebarMenuItem\n url={to as any}\n href={href}\n target={target as any}\n icon={icon}\n selected={selectedKeys.includes(id!)}\n >\n {text}\n </WrappedSidebarMenuItem>\n );\n}\n\nfunction MenuGroup(props: SidebarMenuGroup & { id?: string; top?: boolean }) {\n const { title, items, id, top } = props;\n const { matchedKeys } = useContext(SidebarMenuContext);\n const isSelected = id && matchedKeys.includes(id);\n\n if (items?.length > 0) {\n return (\n <WrappedSidebarMenuGroup selected={!!isSelected} collapsable={!top}>\n <span slot=\"title\">{title}</span>\n {props.items.map((item) => {\n return (\n <MenuItem key={item.key} {...item} id={item.key} top={false} />\n );\n })}\n </WrappedSidebarMenuGroup>\n );\n }\n return null;\n}\n\nfunction MenuSubmenu(props: SidebarMenuGroup & { id?: string }) {\n const { title, icon, items, id } = props;\n const { openedKeys, matchedKeys } = useContext(SidebarMenuContext);\n const isSelected = id && matchedKeys.includes(id);\n\n if (items?.length > 0) {\n return (\n <WrappedSidebarMenuSubmenu\n icon={icon}\n collapsed={!openedKeys.includes(id!)}\n selected={!!isSelected}\n >\n <span slot=\"title\">{title}</span>\n {props.items.map((item) => {\n return (\n <MenuItem key={item.key} {...item} id={item.key} top={false} />\n );\n })}\n </WrappedSidebarMenuSubmenu>\n );\n }\n return null;\n}\n\nfunction MenuItem(props: SidebarMenuItem & { id?: string; top?: boolean }) {\n if (props.type === \"subMenu\") {\n return <MenuSubmenu {...props} />;\n } else if (props.type === \"group\") {\n return <MenuGroup {...props} />;\n } else {\n return <MenuSimpleItem {...(props as SidebarMenuSimpleItem)} />;\n }\n}\n\nexport function SidebarMenu(props: {\n menu?: SidebarMenuType;\n expandedState: ExpandedState;\n selectedKeys?: string[];\n openedKeys?: string[];\n matchedKeys?: string[];\n}) {\n const { menu, expandedState, selectedKeys, openedKeys, matchedKeys } = props;\n\n return (\n <SidebarMenuContext.Provider\n value={{\n selectedKeys: selectedKeys || [],\n openedKeys: openedKeys || [],\n matchedKeys: matchedKeys || [],\n }}\n >\n <WrappedSidebarMenu\n menuCollapsed={expandedState === ExpandedState.Collapsed}\n >\n {menu?.menuItems?.map((item) => {\n return <MenuItem key={item.key} {...item} id={item.key} top={true} />;\n })}\n </WrappedSidebarMenu>\n </SidebarMenuContext.Provider>\n );\n}\n","import React, { useCallback, useEffect, useRef } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { useUpdateMenuCollapsedState } from \"../utils.js\";\nimport classNames from \"classnames\";\n\nconst { defineElement, property } = createDecorators();\n\nexport interface EoSidebarMenuGroupProps {\n selected?: boolean;\n collapsable?: boolean;\n collapsed?: boolean;\n menuCollapsed?: boolean;\n}\n\n/**\n * 侧栏菜单分组\n * @slot title - 分组标题\n * @category navigation\n */\nexport\n@defineElement(\"eo-sidebar-menu-group\", {\n styleTexts: [styleText],\n})\nclass EoSidebarMenuGroup\n extends ReactNextElement\n implements EoSidebarMenuGroupProps\n{\n /**\n * 是否允许折叠\n */\n @property({ type: Boolean })\n accessor collapsable: boolean = true;\n\n /**\n * 是否折叠\n */\n @property({ type: Boolean })\n accessor collapsed: boolean | undefined;\n\n /**\n * 是否选中\n * */\n @property({ type: Boolean })\n accessor selected: boolean | undefined;\n\n /**\n * 菜单整体是否收起状态\n */\n @property({ type: Boolean })\n accessor menuCollapsed: boolean | undefined;\n\n #handleCollapseChang = (collapsed: boolean) => {\n this.collapsed = collapsed;\n };\n\n render() {\n return (\n <EoSidebarMenuGroupComponent\n collapsable={this.collapsable}\n selected={this.selected}\n collapsed={this.collapsed}\n menuCollapsed={this.menuCollapsed}\n onCollapseChange={this.#handleCollapseChang}\n />\n );\n }\n}\n\ninterface EoSidebarMenuGroupComponentProps extends EoSidebarMenuGroupProps {\n onCollapseChange?: (collapsed: boolean) => void;\n}\n\nexport function EoSidebarMenuGroupComponent(\n props: EoSidebarMenuGroupComponentProps\n) {\n const { collapsable, collapsed, menuCollapsed, onCollapseChange } = props;\n\n const [slotRef] = useUpdateMenuCollapsedState(menuCollapsed);\n\n const titleRef = useRef<HTMLDivElement>(null);\n\n const handleClick = useCallback(() => {\n !menuCollapsed && onCollapseChange?.(!collapsed);\n }, [menuCollapsed, onCollapseChange, collapsed]);\n\n useEffect(() => {\n const titleElem = titleRef.current;\n titleElem?.addEventListener(\"click\", handleClick);\n\n return () => {\n titleElem?.removeEventListener(\"click\", handleClick);\n };\n }, [handleClick]);\n\n return (\n <div\n className={classNames(\"menu-group\", {\n \"menu-group-collapsed\": menuCollapsed ? true : collapsed,\n })}\n >\n <div className=\"menu-group-title\" ref={titleRef}>\n <span className=\"menu-group-title-icon-container\">\n <span className=\"menu-group-title-icon\"></span>\n </span>\n <div className=\"menu-group-title-text\">\n <slot name=\"title\" />\n </div>\n {collapsable && <span className=\"menu-group-arrow\" />}\n </div>\n <div className=\"menu-group-list\">\n <div className=\"menu-group-list-inner\">\n <slot ref={slotRef} />\n </div>\n </div>\n </div>\n );\n}\n","import React, { useCallback, useEffect, useRef } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport classNames from \"classnames\";\nimport { useUpdateMenuCollapsedState } from \"../utils.js\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface EoSidebarMenuSubmenuProps {\n icon?: GeneralIconProps;\n selected?: boolean;\n collapsed?: boolean;\n menuCollapsed?: boolean;\n}\n\n/**\n * 侧栏菜单子菜单\n * @slot title - 子菜单标题\n * @category navigation\n */\nexport\n@defineElement(\"eo-sidebar-menu-submenu\", {\n styleTexts: [styleText],\n})\nclass EoSidebarMenuSubmenu\n extends ReactNextElement\n implements EoSidebarMenuSubmenuProps\n{\n /**\n * 菜单的图标\n */\n @property({ attribute: false })\n accessor icon: GeneralIconProps | undefined;\n\n /**\n * 是否选中\n * */\n @property({ type: Boolean })\n accessor selected: boolean | undefined;\n\n /**\n * 是否折叠\n */\n @property({ type: Boolean })\n accessor collapsed: boolean | undefined;\n\n /**\n * 菜单整体是否收起状态\n */\n @property({ type: Boolean })\n accessor menuCollapsed: boolean | undefined;\n\n #handleCollapseChang = (collapsed: boolean) => {\n this.collapsed = collapsed;\n };\n\n render() {\n return (\n <EoSidebarMenuSubmenuComponent\n icon={this.icon}\n selected={this.selected}\n collapsed={this.collapsed}\n menuCollapsed={this.menuCollapsed}\n onCollapseChange={this.#handleCollapseChang}\n />\n );\n }\n}\n\ninterface EoSidebarMenuSubmenuComponentProps extends EoSidebarMenuSubmenuProps {\n onCollapseChange?: (collapsed: boolean) => void;\n}\n\nexport function EoSidebarMenuSubmenuComponent(\n props: EoSidebarMenuSubmenuComponentProps\n) {\n const { icon, collapsed, menuCollapsed, onCollapseChange } = props;\n\n const [slotRef] = useUpdateMenuCollapsedState(menuCollapsed);\n\n const titleRef = useRef<HTMLDivElement>(null);\n\n const handleClick = useCallback(() => {\n !menuCollapsed && onCollapseChange?.(!collapsed);\n }, [menuCollapsed, onCollapseChange, collapsed]);\n\n useEffect(() => {\n const titleElem = titleRef.current;\n titleElem?.addEventListener(\"click\", handleClick);\n\n return () => {\n titleElem?.removeEventListener(\"click\", handleClick);\n };\n }, [handleClick]);\n\n return (\n <div\n className={classNames(\"menu-submenu\", {\n \"menu-submenu-collapsed\": menuCollapsed ? true : collapsed,\n })}\n >\n <div className=\"menu-submenu-title\" ref={titleRef}>\n <span className=\"menu-submenu-title-icon-container\">\n <WrappedIcon {...icon!} className=\"menu-submenu-title-icon\" />\n </span>\n <span className=\"menu-submenu-title-text\">\n <slot name=\"title\" />\n </span>\n <span className=\"menu-submenu-arrow\" />\n </div>\n <div className=\"menu-sub\">\n <div className=\"menu-sub-inner\">\n <slot ref={slotRef} />\n </div>\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { useUpdateMenuCollapsedState } from \"../utils.js\";\n\nconst { defineElement, property } = createDecorators();\n\nexport interface EoSidebarMenuProps {\n menuCollapsed?: boolean;\n}\n\n/**\n * 侧栏菜单\n *\n * @category navigation\n */\nexport\n@defineElement(\"eo-sidebar-menu\", {\n styleTexts: [styleText],\n})\nclass EoSidebarMenu extends ReactNextElement implements EoSidebarMenuProps {\n /**\n * 菜单整体是否收起状态\n */\n @property({ type: Boolean })\n accessor menuCollapsed: boolean | undefined;\n\n render() {\n return <EoSidebarMenuComponent menuCollapsed={this.menuCollapsed} />;\n }\n}\n\nexport function EoSidebarMenuComponent(props: EoSidebarMenuProps) {\n const { menuCollapsed } = props;\n\n const [slotRef] = useUpdateMenuCollapsedState(menuCollapsed);\n\n return (\n <div className=\"sidebar-menu\">\n <div className=\"sidebar-menu-item-list\">\n <slot ref={slotRef} />\n </div>\n </div>\n );\n}\n","import * as React from \"react\";\nconst SvgFixed = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} viewBox=\"0 0 20 20\" {...props}><g fill=\"none\" fillRule=\"evenodd\"><path d=\"M0 0h20v20H0z\" /><path fill=\"#595959\" fillRule=\"nonzero\" d=\"m14.599 11.59-1.685-1.606-.348-4.876.93-1.044s.617-.93-.62-1.045L7.323 3s-.85.657-.097 1.296l.754.755-.385 4.76-1.49 1.683s-.388.774.328 1.065l2.961-.02.668 3.887H6.388V17h7.832v-.574h-3.743l.6-3.946 3.154.097s.812-.464.368-.986\" /></g></svg>;\nexport default SvgFixed;","import * as React from \"react\";\nconst SvgToFixed = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} viewBox=\"0 0 20 20\" {...props}><g fill=\"none\" fillRule=\"evenodd\"><path d=\"M0 0h20v20H0z\" /><path fill=\"#595959\" fillRule=\"nonzero\" d=\"m13.06 3.765 3.22 3.08c.42.28.42.84.14 1.26-.42.42-.98.42-1.26.14l-.14-.14-.28-.28-3.22 4.62.98.98c.28.42.28.98-.14 1.26-.28.28-.7.28-1.12 0l-5.88-6.02c-.28-.42-.28-.84 0-1.26.28-.28.84-.28 1.12 0l.98.98 4.62-3.22-.14-.14c-.42-.42-.42-.84-.14-1.26.28-.28.84-.42 1.26 0m-4.76 9.1-1.12-1.12c-.98 1.12-2.52 2.8-2.8 3.22-.42.42-.7.98-.98 1.54.7-.14 1.26-.42 1.68-.84.42-.28 2.1-1.82 3.22-2.8\" /></g></svg>;\nexport default SvgToFixed;","export enum K {\n CLICK_TO_FIX_NAVIGATION = \"CLICK_TO_FIX_NAVIGATION\",\n UNPIN_NAVIGATION = \"UNPIN_NAVIGATION\",\n FIXED_NAVIGATION = \"FIXED_NAVIGATION\",\n}\n\nconst en: Locale = {\n UNPIN_NAVIGATION: \"Unpin navigation\",\n FIXED_NAVIGATION: \"Fixed navigation\",\n CLICK_TO_FIX_NAVIGATION: \"Click to {{action}}\",\n};\n\nconst zh: Locale = {\n UNPIN_NAVIGATION: \"取消固定\",\n FIXED_NAVIGATION: \"固定导航\",\n CLICK_TO_FIX_NAVIGATION: \"点击{{action}}\",\n};\n\nexport const NS = \"bricks/nav/eo-sidebar\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import React, {\n MouseEventHandler,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { SidebarMenu as SidebarMenuType } from \"@next-shared/general/types\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport FixedSvg from \"../images/fixed.svg\";\nimport ToFixedSvg from \"../images/toFixed.svg\";\nimport { debounceByAnimationFrame } from \"@next-shared/general/debounceByAnimationFrame\";\nimport { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport {\n ExpandedState,\n SIDE_BAR_EXPAND_STATE,\n SIDE_BAR_HAS_BEEN_USED,\n SIDE_BAR_RESIZE_WIDTH,\n SidebarMenu,\n sideBarCollapsedWidth,\n sideBarWidth,\n} from \"./utils.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport classNames from \"classnames\";\nimport { initMenuItemAndMatchCurrentPathKeys } from \"@next-shared/general/menu\";\nimport { UnregisterCallback } from \"history\";\nimport { getHistory, getRuntime } from \"@next-core/runtime\";\nimport { useCurrentApp } from \"@next-core/react-runtime\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface EoSidebarProps {\n menu: SidebarMenuType;\n expandedState?: ExpandedState;\n hiddenFixedIcon?: boolean;\n position?: \"static\" | \"fixed\";\n}\n\nexport interface EoSidebarEvents {\n \"actual.width.change\": CustomEvent<number>;\n \"expanded.state.change\": CustomEvent<ExpandedState>;\n}\n\nexport interface EoSidebarEventsMapping {\n onActualWidthChange: \"actual.width.change\";\n onExpandedStateChange: \"expanded.state.change\";\n}\n\n/**\n * 侧边栏\n *\n * @category navigation\n */\nexport\n@defineElement(\"eo-sidebar\", {\n styleTexts: [styleText],\n})\nclass EoSidebar extends ReactNextElement implements EoSidebarProps {\n /**\n * 菜单数据\n */\n @property({ attribute: false })\n accessor menu!: SidebarMenuType;\n\n /**\n * 是否隐藏固定按钮\n */\n @property({ type: Boolean })\n accessor hiddenFixedIcon: boolean | undefined;\n\n /**\n * 侧栏状态\n */\n @property()\n accessor expandedState: ExpandedState | undefined;\n\n /**\n * 设置定位方式:静态定位或固定定位。\n *\n * @default \"fixed\"\n */\n @property()\n accessor position: \"static\" | \"fixed\" | undefined;\n\n /**\n * 宽度变化时触发\n * @detail 当前宽度\n */\n @event({ type: \"actual.width.change\" })\n accessor #actualWidthChangeEvent!: EventEmitter<number>;\n #handleActualWidthChange = (actualWidth: number): void => {\n this.#actualWidthChangeEvent.emit(actualWidth);\n };\n\n /**\n * 侧栏状态变化时触发\n * @detail 侧栏状态\n */\n @event({ type: \"expanded.state.change\" })\n accessor #expandedStateChangeEvent!: EventEmitter<ExpandedState>;\n #handleExpandedStateChange = (state: ExpandedState): void => {\n this.expandedState = state;\n this.#expandedStateChangeEvent.emit(state);\n };\n\n render() {\n return (\n <EoSidebarComponent\n menu={this.menu}\n expandedState={this.expandedState}\n hiddenFixedIcon={this.hiddenFixedIcon}\n position={this.position}\n onActualWidthChange={this.#handleActualWidthChange}\n onExpandedStateChange={this.#handleExpandedStateChange}\n />\n );\n }\n}\n\ninterface EoSidebarComponentProps extends EoSidebarProps {\n onActualWidthChange?: (actualWidth: number) => void;\n onExpandedStateChange?: (state: ExpandedState) => void;\n}\n\nexport function EoSidebarComponent(props: EoSidebarComponentProps) {\n const { t } = useTranslation(NS);\n const {\n hiddenFixedIcon,\n position,\n onActualWidthChange,\n onExpandedStateChange,\n } = props;\n\n const showUserDefinedIcon = React.useMemo(\n () => getRuntime()?.getFeatureFlags()[\"sidebar-show-user-defined-icon\"],\n []\n );\n\n const storage = useMemo(() => new JsonStorage(localStorage), []);\n const history = getHistory();\n const currentApp = useCurrentApp();\n const [location, setLocation] = useState(history.location);\n const { pathname, search } = location;\n\n const [isFirstUsedTooltip, setIsFirstUsedTooltip] = useState<boolean>(\n !storage.getItem(SIDE_BAR_HAS_BEEN_USED)\n );\n const [showContentShadow, setShowContentShadow] = useState<boolean>();\n const [dragging, setDragging] = useState<boolean>();\n const [expandedState, setExpandedState] = useState<ExpandedState>(\n props.expandedState ||\n storage.getItem(SIDE_BAR_EXPAND_STATE) ||\n ExpandedState.Collapsed\n );\n const [menu, setMenu] = useState<SidebarMenuType>();\n const [selectedKeys, setSelectedKeys] = useState<string[]>([]);\n const [openedKeys, setOpenedKeys] = useState<string[]>([]);\n const [matchedKeys, setmatchedKeys] = useState<string[]>([]);\n\n const titleIcon = showUserDefinedIcon ? menu?.icon : currentApp?.menuIcon;\n\n useEffect(() => {\n const { selectedKeys, openedKeys, matchedKeys } =\n initMenuItemAndMatchCurrentPathKeys(\n props.menu?.menuItems ?? [],\n pathname,\n search,\n \"\"\n );\n setMenu(props.menu);\n setSelectedKeys(selectedKeys);\n setOpenedKeys(openedKeys);\n setmatchedKeys(matchedKeys);\n }, [props.menu, pathname, search]);\n\n useEffect(() => {\n const unListen: UnregisterCallback = history.listen((location) => {\n setLocation(location);\n });\n return unListen;\n }, [history]);\n\n const contentBottomPlaceholderRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (contentBottomPlaceholderRef.current) {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.target === contentBottomPlaceholderRef.current) {\n setShowContentShadow(!entry.isIntersecting);\n }\n });\n },\n { threshold: 1 }\n );\n\n observer.observe(contentBottomPlaceholderRef.current);\n\n return () => {\n observer.disconnect();\n };\n }\n }, []);\n\n useEffect(() => {\n setExpandedState(\n props.expandedState ||\n storage.getItem(SIDE_BAR_EXPAND_STATE) ||\n ExpandedState.Collapsed\n );\n }, [props.expandedState]);\n\n useEffect(() => {\n storage.setItem(\n SIDE_BAR_EXPAND_STATE,\n expandedState === ExpandedState.Expanded\n ? ExpandedState.Expanded\n : ExpandedState.Collapsed\n );\n }, [expandedState]);\n\n const handleFixedIconClick = (): void => {\n setIsFirstUsedTooltip(false);\n storage.setItem(SIDE_BAR_HAS_BEEN_USED, true);\n\n setExpandedState((state) => {\n const newState =\n state === ExpandedState.Expanded\n ? ExpandedState.Collapsed\n : ExpandedState.Expanded;\n\n newState !== state && onExpandedStateChange?.(newState);\n return newState;\n });\n };\n\n const [expandedWidth, setExpandedWidth] = useState<number>(() => {\n // Use parseInt to compatible non-number types\n let memorizedWidth = parseInt(storage.getItem(SIDE_BAR_RESIZE_WIDTH), 10);\n if (memorizedWidth < sideBarWidth || Number.isNaN(memorizedWidth)) {\n memorizedWidth = sideBarWidth;\n }\n return memorizedWidth;\n });\n\n useEffect(() => {\n storage.setItem(SIDE_BAR_RESIZE_WIDTH, expandedWidth);\n }, [expandedWidth]);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleResizeDown: MouseEventHandler = (e) => {\n setDragging(true);\n\n // Prevent text selection when dragging\n if (e.cancelable) {\n e.preventDefault();\n }\n\n const offsetX = containerRef.current?.getBoundingClientRect().left ?? 0;\n\n const drag = debounceByAnimationFrame((e: MouseEvent) => {\n const x = e.clientX - offsetX;\n const width = x >= sideBarWidth ? x : sideBarWidth;\n\n setExpandedWidth(width);\n });\n const dragEnd = (e: MouseEvent) => {\n setDragging(false);\n e.preventDefault();\n\n window.removeEventListener(\"mousemove\", drag);\n window.removeEventListener(\"mouseup\", dragEnd);\n };\n\n window.addEventListener(\"mousemove\", drag, { passive: true });\n window.addEventListener(\"mouseup\", dragEnd);\n };\n\n const handleMouseEnter = (): void => {\n setExpandedState((state) => {\n const newState =\n state === ExpandedState.Expanded\n ? ExpandedState.Expanded\n : ExpandedState.Hovered;\n\n newState !== state && onExpandedStateChange?.(newState);\n return newState;\n });\n };\n\n const handleMouseLeave = (): void => {\n setExpandedState((state) => {\n const newState =\n state === ExpandedState.Expanded\n ? ExpandedState.Expanded\n : ExpandedState.Collapsed;\n\n newState !== state && onExpandedStateChange?.(newState);\n return newState;\n });\n };\n\n const sidebarActualWidth = useMemo(() => {\n return expandedState === ExpandedState.Expanded\n ? expandedWidth\n : sideBarCollapsedWidth;\n }, [expandedState, expandedWidth]);\n\n useEffect(() => {\n onActualWidthChange?.(sidebarActualWidth);\n }, [onActualWidthChange, sidebarActualWidth]);\n\n const getContainerWidth = (inner?: boolean) => {\n // With static position, when not expanded, the outer container will keep\n // collapsed even if hovered, while only the inner container will expand.\n if (position === \"static\") {\n return expandedState === ExpandedState.Expanded ||\n (inner && expandedState === ExpandedState.Hovered)\n ? expandedWidth\n : sideBarCollapsedWidth;\n }\n return expandedState === ExpandedState.Collapsed\n ? sideBarCollapsedWidth\n : expandedWidth;\n };\n\n useEffect(() => {\n const container = containerRef.current;\n container?.addEventListener(\"mouseenter\", handleMouseEnter);\n container?.addEventListener(\"mouseleave\", handleMouseLeave);\n\n return () => {\n container?.removeEventListener(\"mouseenter\", handleMouseEnter);\n container?.removeEventListener(\"mouseleave\", handleMouseLeave);\n };\n }, []);\n\n return (\n <div\n className={classNames(\"sidebar-container\", `state-${expandedState}`, {\n dragging,\n })}\n style={{ width: getContainerWidth() }}\n ref={containerRef}\n data-testid=\"side-bar\"\n >\n <div className=\"inner\" style={{ width: getContainerWidth(true) }}>\n <div className=\"header\">\n <div className=\"menu-title\">\n <div className={classNames(\"menu-title-icon-container\")}>\n {titleIcon ? (\n <WrappedIcon\n {...(titleIcon as GeneralIconProps)}\n className=\"menu-title-icon\"\n />\n ) : (\n <span className=\"menu-title-point\" />\n )}\n </div>\n <div className=\"menu-title-text\" title={menu?.title}>\n {menu?.title}\n </div>\n </div>\n </div>\n\n <div\n className={classNames(\"content\", {\n \"show-shadow\": showContentShadow,\n })}\n >\n <SidebarMenu\n selectedKeys={selectedKeys}\n openedKeys={openedKeys}\n matchedKeys={matchedKeys}\n menu={menu}\n expandedState={expandedState}\n />\n <div ref={contentBottomPlaceholderRef} />\n </div>\n\n <div className=\"footer\">\n {!hiddenFixedIcon && (\n <WrappedTooltip\n content={\n (expandedState === ExpandedState.Expanded\n ? isFirstUsedTooltip\n ? t(K.CLICK_TO_FIX_NAVIGATION, {\n action: t(K.UNPIN_NAVIGATION),\n })\n : t(K.UNPIN_NAVIGATION)\n : isFirstUsedTooltip\n ? t(K.CLICK_TO_FIX_NAVIGATION, {\n action: t(K.FIXED_NAVIGATION),\n })\n : t(K.FIXED_NAVIGATION)) as string\n }\n >\n <i className=\"fixed-icon\" onClick={handleFixedIconClick}>\n <FixedSvg\n style={{\n display:\n expandedState === ExpandedState.Expanded\n ? undefined\n : \"none\",\n }}\n />\n <ToFixedSvg\n style={{\n display:\n expandedState === ExpandedState.Expanded\n ? \"none\"\n : undefined,\n }}\n />\n </i>\n </WrappedTooltip>\n )}\n </div>\n {expandedState === ExpandedState.Expanded && (\n <span className=\"resize-line\" onMouseDown={handleResizeDown} />\n )}\n </div>\n </div>\n );\n}\n","export type SimpleFunction<P extends unknown[] = unknown[], R = unknown> = (\n ...args: P\n) => R;\n\n// The debounce function receives our function as a parameter\nexport function debounceByAnimationFrame<P extends unknown[]>(\n fn: SimpleFunction<P, void>\n): SimpleFunction<P, void> & { cancel: () => void } {\n // This holds the requestAnimationFrame reference, so we can cancel it if we wish\n let frame: number;\n\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 = (...params: P) => {\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\n func.cancel = cancel;\n\n return func;\n}\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { getHistory } from \"@next-core/runtime\";\nimport { UnregisterCallback } from \"history\";\nimport \"@next-core/theme\";\nimport {\n SidebarMenuSimpleItem,\n SidebarMenuGroup,\n SidebarMenuItem,\n} from \"@next-shared/general/types\";\nimport {\n initMenuItemAndMatchCurrentPathKeys,\n isGroup,\n isSubMenu,\n} from \"@next-shared/general/menu\";\nimport { Menu as MenuComponent, SidebarMenu } from \"@next-bricks/basic/menu\";\nimport { Link, LinkProps, Target } from \"@next-bricks/basic/link\";\nimport {\n EoMenuItemSubMenu,\n EoMenuSubMenuProps,\n} from \"@next-bricks/basic/menu-item-sub-menu\";\nimport { EoMenuGroup } from \"@next-bricks/basic/menu-group\";\nimport { MenuComponentProps, MenuItem } from \"@next-bricks/basic/menu-item\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport classNames from \"classnames\";\n\n// --- NOTE: uncomment these lines below to enable i18n for your brick ---\n// import { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n// import { K, NS, locales } from \"./i18n.js\";\n// initializeReactI18n(NS, locales);\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedMenu = wrapBrick<MenuComponent, any>(\"eo-menu\");\n\nconst WrappedMenuGroup = wrapBrick<EoMenuGroup, any>(\"eo-menu-group\");\n\nconst WrapperMenuItemSubMenu = wrapBrick<EoMenuItemSubMenu, EoMenuSubMenuProps>(\n \"eo-menu-item-sub-menu\"\n);\n\nconst WrappedMenuItem = wrapBrick<MenuItem, MenuComponentProps>(\"eo-menu-item\");\n\nconst WrappedLinkItem = wrapBrick<Link, LinkProps>(\"eo-link\");\n\ninterface SidebarSubMenuProps {\n menu?: SidebarMenu;\n showTooltip?: boolean;\n}\n\nconst { defineElement, property } = createDecorators();\n\n/**\n * 构件 `eo-sidebar-sub-menu`\n * @category navigation\n */\nexport\n@defineElement(\"eo-sidebar-sub-menu\", {\n styleTexts: [styleText],\n})\nclass EoSidebarSubMenu extends ReactNextElement {\n /**\n * 菜单项\n */\n @property({\n attribute: false,\n })\n accessor menu: SidebarMenu | undefined;\n\n render() {\n return <EoSidebarSubMenuComponent menu={this.menu} />;\n }\n}\n\nexport function EoSidebarSubMenuComponent(props: SidebarSubMenuProps) {\n // const { t } = useTranslation(NS);\n // const hello = t(K.HELLO);\n const { menu } = props;\n\n const history = getHistory();\n const [location, setLocation] = useState(history.location);\n const { pathname, search } = location;\n\n const [selectedKey, setSelectedKey] = useState<string[]>([]);\n const [openedKeys, setOpenedKeys] = useState<string[]>([]);\n\n const setSelected = useCallback((): void => {\n const { selectedKeys, openedKeys } = initMenuItemAndMatchCurrentPathKeys(\n menu?.menuItems ?? [],\n pathname,\n search,\n \"\"\n );\n setSelectedKey(selectedKeys);\n setOpenedKeys(openedKeys);\n }, [menu?.menuItems, pathname, search]);\n\n useEffect(() => {\n const unListen: UnregisterCallback = history.listen((location) => {\n setLocation(location);\n });\n setSelected();\n return unListen;\n }, [history, setSelected]);\n\n const getMenuItemIndent = useCallback((item: SidebarMenuItem): number => {\n return ((item.key?.split(\".\")?.length as number) - 1) * 16;\n }, []);\n\n const renderSimpleMenuItem = (item: SidebarMenuSimpleItem) => {\n return (\n <WrappedMenuItem\n className=\"menu-item\"\n style={{ paddingLeft: getMenuItemIndent(item) || 16 }}\n icon={item.icon}\n active={item.key ? selectedKey.includes(item.key) : false}\n >\n <WrappedLinkItem\n className=\"menu-item-link\"\n type=\"plain\"\n url={item.to as string}\n href={item.href}\n title={item.text}\n target={item.target as Target}\n >\n <span\n className={classNames(\"menu-item-text\", {\n \"item-has-icon\": item.icon,\n })}\n >\n {item.text}\n </span>\n </WrappedLinkItem>\n </WrappedMenuItem>\n );\n };\n\n const renderSubMenuItem = (item: SidebarMenuGroup) => {\n // istanbul ignore else\n if (item.items?.length > 0) {\n return (\n <WrapperMenuItemSubMenu\n className=\"menu-sub-item\"\n icon={item.icon}\n titleStyle={{ paddingLeft: getMenuItemIndent(item) }}\n collapsed={!openedKeys.includes(item.key!)}\n >\n <span slot=\"title\">{item.title}</span>\n {item.items.map((innerItem) => (\n <React.Fragment key={innerItem.key}>\n {renderMenuItem(innerItem)}\n </React.Fragment>\n ))}\n </WrapperMenuItemSubMenu>\n );\n }\n };\n\n const renderGroupMenuItem = (item: SidebarMenuGroup) => {\n // istanbul ignore else\n if (item.items?.length > 0) {\n return (\n <WrappedMenuGroup>\n <span slot=\"title\">{item.title}</span>\n\n {item.items.map((innerItem) => {\n return (\n <React.Fragment key={innerItem.key}>\n {renderMenuItem(innerItem)}\n </React.Fragment>\n );\n })}\n </WrappedMenuGroup>\n );\n }\n };\n\n function renderMenuItem(item: SidebarMenuItem) {\n return isSubMenu(item as SidebarMenuGroup)\n ? renderSubMenuItem(item as SidebarMenuGroup)\n : isGroup(item)\n ? renderGroupMenuItem(item)\n : renderSimpleMenuItem(item);\n }\n\n return (\n <WrappedMenu className=\"menu-container\" mode=\"vertical\">\n {menu?.title && (\n <div className=\"header\">\n {menu?.icon && <WrappedIcon {...(menu?.icon as GeneralIconProps)} />}\n <span className=\"title\">{menu?.title}</span>\n </div>\n )}\n <div className=\"content\">\n {menu?.menuItems.map((item) => {\n return (\n <React.Fragment key={item.key}>\n {renderMenuItem(item)}\n </React.Fragment>\n );\n })}\n </div>\n </WrappedMenu>\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-search-launchpad-menu-icon-color:#8c8c8c}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-search-launchpad-menu-icon-color:rgba(255,255,255,0.45)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.app-bar-container{height:var(--app-bar-height)}.app-bar{position:relative;z-index:1000;box-shadow:var(--top-nav-shadow)}.app-bar.fixed,\n.app-bar.absolute{right:0;left:0;top:0}.app-bar.fixed{position:fixed}.app-bar.absolute{position:absolute}.app-bar-content{display:flex;justify-content:space-between;align-items:center;height:var(--app-bar-height);background-color:var(--top-navigation-bg);padding:0 16px;transition:var(--launchpad-backdrop-transition)}.left{display:flex;flex:1}.right{display:flex;justify-content:end}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.alert{height:32px;padding:0 20px;display:flex;justify-content:center;align-items:center}.text{color:var(--antd-text-color);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon{margin-left:20px;cursor:pointer;color:#8c8c8c}.info{background-color:var(--palette-blue-1)}.warning{background-color:var(--palette-amber-1)}`, \"\"]);\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:flex;height:22px;align-items:center}:host([hidden]){display:none}.breadcrumb-item-prefix-icon{font-size:14px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none;--local-menu-icon-color:rgba(255,255,255,0.45)}ul{list-style:none;margin:0;padding:0}.menu-groups{display:grid;grid-gap:32px 16px;gap:32px 16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{display:block}.menu-folder-label-wrapper > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.menu-group-label-wrapper,\n.menu-folder-label-wrapper,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-group-label-wrapper{gap:3px}.menu-group:not(.empty) .menu-group-label-wrapper{margin-bottom:14px}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text)}.menu-icon{color:var(--local-menu-icon-color)}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{max-width:100%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:0}.sub-menu:not(.expanded){display:none}.sub-menu{margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item:not(.empty) .sub-menu{margin-top:14px}.menu-item-toggle{color:var(--color-secondary-text)}.menu-config{visibility:hidden;color:var(--color-brand);cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;width:0}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-item:not(.folder):hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible;width:24px}.menu-config:hover,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover::part(link),\n.menu-folder-label-wrapper > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}@supports not (inset: 0){.sub-menu,\n .menu,\n .menu-group-label-wrapper,\n .menu-folder-label-wrapper,\n .menu-item:not(.folder),\n .menu-item > eo-link::part(link){gap:0}.menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.menu-icon{margin-right:8px}eo-dropdown-actions,\n .menu-item-toggle{margin-left:8px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.quick-access-list{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,1fr);list-style:none;margin:0;padding:0}.sidebar-menu-item{display:flex;align-items:center;justify-content:space-between;overflow:hidden}.sidebar-menu-item > eo-link{display:block;min-width:0}.sidebar-menu-item > eo-link::part(link){display:flex;align-items:center;height:20px;gap:8px;color:var(--color-header-text)}.sidebar-menu-icon{color:var(--left-sidebar-item-collapsed-icon-color)}.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item-remove{color:var(--color-secondary-text);cursor:pointer}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon{color:var(--color-brand-hover)}@supports not (inset: 0){.sidebar-menu-item,\n .sidebar-menu-item > eo-link::part(link){gap:0}.sidebar-menu-icon{margin-right:8px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.recent-visits{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-height:56px;overflow:hidden}.recent-visits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-visits eo-link{display:block;min-width:0}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.container{position:relative}.dropdown{margin-top:5px;position:absolute;top:100%;left:0px;width:100%;z-index:1050;padding:20px 24px 24px;overflow:hidden;box-sizing:border-box;background-color:var(--antd-select-dropdown-bg);border-radius:4px;box-shadow:var(--antd-box-shadow-base);display:none}.dropdown-active{display:block}.search-box{border-bottom:1px solid var(--color-text-divider-line);display:flex;gap:8px;align-items:center;padding:10px 0;cursor:text}.search-icon{color:var(--color-auxiliary-text)}.search-input{padding:0;margin:0;border:none;outline:none;color:inherit;background-color:transparent;font-size:14px;line-height:22px;flex:1;min-width:0}.search-input::placeholder{color:var(--color-disabled-text);opacity:1}.search-clear{display:none;color:var(--color-secondary-text);cursor:pointer}.search-clear.searching{display:inline-block}.search-clear:hover{color:var(--color-auxiliary-text)}.dropdown-content{min-width:0;display:flex;flex-direction:column;gap:24px;max-height:260px;overflow-y:auto}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.loading > :not(.spinner){display:none}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-groups,\n.menu,\n.sub-menu{list-style:none;margin:0;padding:0}.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-item > eo-link{display:block;min-width:0}.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.menu-groups{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu-groups{display:grid;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-search-launchpad-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-star{cursor:pointer}.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}@supports not (inset: 0){.search-box,\n .menu,\n .sub-menu,\n .menu-item:not(.folder),\n .menu-item > eo-link::part(link){gap:0}.dropdown-content{display:grid;grid-auto-flow:row}.dropdown-content:not(.loading){height:-webkit-min-content;height:-moz-min-content;height:min-content}.menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.menu-container{box-sizing:border-box;background:var(--third-menu-default-bg);border:1px solid var(--stroke-color-default);border-width:0 1px 0 0;border-radius:0px;padding:20px 0px;height:100%}.menu-container .header{display:flex;gap:10px;align-items:center;font-size:var(--title-font-size);padding:0 24px 16px 24px;line-height:26px;color:var(--color-header-text)}.menu-container .header .title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-wrap:break-word}.menu-container .content{padding:0 12px}.menu-container .menu-item,\n .menu-container .menu-sub-item::part(sub-menu-item-title){margin:0;padding-right:16px;height:40px;line-height:40px;border-radius:4px;margin-bottom:4px}.menu-container .menu-item-link{width:100%;color:var(--color-secondary-text)}.menu-container .menu-item-text,\n .menu-container .menu-group-text,\n .menu-container .menu-item-link{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-container .menu-item-text{display:block;box-sizing:border-box;color:var(--antd-text-color)}.menu-container .menu-item:hover{background:var(--sub-menu-brick-item-hover-bg);color:var(--color-header-text)}.menu-container .menu-item:hover .menu-item-text{color:var(--color-header-text);font-weight:var(--font-weight-400)}.menu-container .menu-sub-item::part(sub-menu-item-title):hover{color:var(--color-header-text)}.menu-container .menu-item-text.item-has-icon{margin-left:10px}.menu-container .menu-item[active]{color:var(--color-brand);background-color:var(--third-menu-item-selected-bg)}.menu-container .menu-item[active] .menu-item-text{color:var(--color-brand);font-weight:var(--font-weight-500)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--menu-item-icon-size:20px}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.menu-group-title{position:relative;display:flex;align-items:center;min-height:36px;padding:8px 12px;line-height:20px;color:var(--left-secondary-text-color);border-radius:var(--larger-border-radius);transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}.menu-group-title-icon-container{flex-shrink:0;margin-right:14px;display:flex;align-items:center;justify-content:center;width:var(--menu-item-icon-size);height:var(--menu-item-icon-size);font-size:var(--menu-item-icon-size);transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}.menu-group-title-icon{width:1em;height:1em;border-bottom:2px solid var(--left-sidebar-group-border-color)}.menu-group-title-text{flex:1;font-size:12px;overflow:hidden;white-space:nowrap;margin-right:12px}.menu-group-list slot::slotted(*){margin-top:2px}.menu-group-arrow{position:absolute;top:50%;right:12px;width:10px;color:var(--left-sidebar-item-arrow-color);transform:translateY(-2px);transition:all 0.3s cubic-bezier(0.645,0.045,0.355,1)}.menu-group-arrow::before,\n.menu-group-arrow::after{content:\"\";position:absolute;width:6px;height:1.5px;background-color:currentColor;border-radius:2px;transition:all 0.3s cubic-bezier(0.645,0.045,0.355,1)}.menu-group-arrow::before{transform:rotate(45deg) translateX(2.5px)}.menu-group-arrow::after{transform:rotate(-45deg) translateX(-2.5px)}.menu-group-collapsed .menu-group-arrow{transform:translateY(-50%)}.menu-group-collapsed .menu-group-arrow::before{transform:rotate(-45deg) translateX(2.5px)}.menu-group-collapsed .menu-group-arrow::after{transform:rotate(45deg) translateX(-2.5px)}.menu-group-list{display:grid;grid-template-rows:1fr;transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}.menu-group-list-inner{overflow:hidden}:host([menu-collapsed]) .menu-group-title{padding:10px calc(50% - var(--menu-item-icon-size) / 2)}:host(:not([menu-collapsed])) .menu-group-title-icon-container{width:0;margin-right:0;opacity:0}:host([menu-collapsed]) .menu-group-title-text{opacity:0}:host([menu-collapsed]) .menu-group-arrow{opacity:0}:host(:not([menu-collapsed])) .menu-group-title-text{white-space:pre-wrap;display:-webkit-inline-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;text-overflow:ellipsis;color:#7f8ba6}:host([collapsable]) .menu-group-collapsed .menu-group-list{grid-template-rows:0fr;opacity:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--menu-item-icon-size:20px}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}eo-link{display:block}.menu-item{position:relative;display:flex;align-items:center;min-height:36px;padding:8px 12px;line-height:20px;color:var(--left-sidebar-item-normal-color);border-radius:var(--larger-border-radius);cursor:pointer;transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}.menu-item-icon-container{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--menu-item-icon-size);height:var(--menu-item-icon-size);font-size:var(--menu-item-icon-size);color:rgb(87,104,156)}.menu-item-text{flex:1;margin-left:14px;margin-right:12px;font-size:14px;overflow:hidden;white-space:nowrap;transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}.menu-item:hover{background:var(--left-sidebar-item-hover-bg)}:host([selected]) .menu-item{color:var(--left-sidebar-item-selected-color);background:var(--left-sidebar-item-selected-bg);box-shadow:0px 2px 12px 0px rgba(26,122,255,0.30196)}:host([selected]) .menu-item-icon-container{color:var(--left-sidebar-item-selected-color)}:host([selected]) .menu-item:hover{background-color:var(--left-sidebar-item-selected-hover-bg)}:host([menu-collapsed]) .menu-item{padding:10px calc(50% - var(--menu-item-icon-size) / 2)}:host([menu-collapsed]) .menu-item-text{opacity:0}:host(:not([menu-collapsed])) .menu-item-text{white-space:pre-wrap;display:-webkit-inline-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;text-overflow:ellipsis}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--menu-item-icon-size:20px}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.menu-submenu-title{position:relative;display:flex;align-items:center;min-height:36px;padding:8px 12px;line-height:20px;color:var(--left-sidebar-item-normal-color);border-radius:var(--larger-border-radius);cursor:pointer;transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}.menu-submenu-title-icon-container{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--menu-item-icon-size);height:var(--menu-item-icon-size);font-size:var(--menu-item-icon-size);color:var(--left-sidebar-item-collapsed-icon-color)}.menu-submenu-title-text{flex:1;margin-left:14px;margin-right:12px;font-size:14px;overflow:hidden;white-space:nowrap}.menu-submenu-arrow{position:absolute;top:50%;right:12px;width:10px;color:var(--left-sidebar-item-arrow-color);transform:translateY(-2px);transition:all 0.3s cubic-bezier(0.645,0.045,0.355,1)}.menu-submenu-arrow::before,\n.menu-submenu-arrow::after{content:\"\";position:absolute;width:6px;height:1.5px;background-color:currentColor;border-radius:2px;transition:all 0.3s cubic-bezier(0.645,0.045,0.355,1)}.menu-submenu-arrow::before{transform:rotate(45deg) translateX(2.5px)}.menu-submenu-arrow::after{transform:rotate(-45deg) translateX(-2.5px)}.menu-submenu-collapsed .menu-submenu-arrow{transform:translateY(-50%)}.menu-submenu-collapsed .menu-submenu-arrow::before{transform:rotate(-45deg) translateX(2.5px)}.menu-submenu-collapsed .menu-submenu-arrow::after{transform:rotate(45deg) translateX(-2.5px)}.menu-submenu-title:hover{background:var(--palette-gray-4)}.menu-sub{display:grid;grid-template-rows:1fr;transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}.menu-submenu-collapsed .menu-sub{grid-template-rows:0fr;opacity:0}.menu-sub-inner{overflow:hidden}.menu-sub-inner slot::slotted(*){margin-top:2px}:host([menu-collapsed]) .menu-submenu-title{padding:10px calc(50% - var(--menu-item-icon-size) / 2)}:host([menu-collapsed]) .menu-submenu-title-text{opacity:0}:host([menu-collapsed]) .menu-submenu-arrow{opacity:0}:host(:not([menu-collapsed])) .menu-submenu-title-text{white-space:pre-wrap;display:-webkit-inline-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;text-overflow:ellipsis}:host([selected]):host([menu-collapsed]) .menu-submenu-title, :host([selected]):host([collapsed]) .menu-submenu-title{background:var(--left-sidebar-item-selected-bg);color:var(--left-sidebar-item-selected-color)}:host([selected]):host([menu-collapsed]) .menu-submenu-title-icon-container,\n :host([selected]):host([collapsed]) .menu-submenu-title-icon-container,\n :host([selected]):host([menu-collapsed]) .menu-submenu-arrow,\n :host([selected]):host([collapsed]) .menu-submenu-arrow{color:var(--left-sidebar-item-selected-color)}:host([selected]) .menu-submenu-title-text{font-weight:var(--font-weight-500)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;transition:width var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.sidebar-menu-item-list slot::slotted(*){margin-top:6px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}:host([position=\"static\"]){height:100%}*,\n*::before,\n*::after{box-sizing:border-box}.sidebar-container{position:relative;z-index:999;height:100%}.sidebar-container,\n.inner{transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}:host(:not([position=\"static\"])) .sidebar-container{position:fixed;left:0;top:var(--app-bar-height);height:calc(100vh - var(--app-bar-height))}.inner{position:absolute;left:0;height:100%;display:flex;flex-direction:column;background-color:var(--left-menu-bg);border-right:1px solid var(--left-sidebar-border-right)}.inner:hover{background-color:var(--left-menu-hover-bg)}.inner::before{content:\"\";position:absolute;left:0;right:0;top:0;bottom:0;z-index:-1;background:var(--sidebar-bg)}.header{padding:0 12px;margin-top:14px;height:52px;flex-shrink:0}.menu-title{height:100%;display:flex;align-items:center;color:var(--left-sidebar-large-title-color)}.menu-title-icon-container{flex-shrink:0;display:flex;justify-content:center;align-items:center;width:20px;height:20px;font-size:20px;line-height:0;transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}.menu-title-icon{color:rgb(87,104,156,1)}.menu-title-point{width:4px;height:4px;background:var(--antd-text-color);border-radius:50%}.menu-title-text{font-size:16px;font-weight:var(--font-weight-500);color:var(--left-sidebar-large-title-color);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}.state-collapsed .menu-title{padding:0 calc(50% - 10px)}.state-hovered .menu-title,\n.state-expanded .menu-title{padding:0 12px}.state-collapsed .menu-title-icon-container{margin-right:12px}.state-hovered .menu-title-icon-container,\n.state-expanded .menu-title-icon-container{margin-right:0;width:0;opacity:0}.content{padding:0 12px;flex:1;overflow-y:auto;scrollbar-width:none}.content::-webkit-scrollbar{width:0;background:transparent}.content.show-shadow{box-shadow:0 -17px 10px -16px rgb(0 0 0/8%) inset}.footer{height:60px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end}.fixed-icon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;margin-right:8px;transition:all var(--side-bar-collapse-transition-duration) var(--side-bar-collapse-transition-timing-function)}.fixed-icon > svg{width:100%;height:100%}.fixed-icon:hover > svg path[fill]{fill:var(--color-brand)}.state-collapsed .fixed-icon{visibility:hidden;opacity:0}.state-hovered .fixed-icon,\n.state-expanded .fixed-icon{visibility:visible;opacity:1}.state-hovered .inner{box-shadow:var(--left-sidebar-shadow)}.resize-line{position:absolute;right:-2px;height:100%;width:2px;cursor:col-resize}.resize-line:hover,\n.resize-line:active{background-color:rgba(26,122,255,1)}.dragging,\n.dragging .inner{transition:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取我的收藏列表\n * @endpoint GET /api/v1/user_service/my_collection/collections\n */\nexport var MyCollectionApi_listMyCollection = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (params, options) {\n return (/**! @contract easyops.api.user_service.my_collection.ListMyCollection@1.0.0 */(yield http.get(\"api/gateway/user_service.my_collection.ListMyCollection/api/v1/user_service/my_collection/collections\", _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function MyCollectionApi_listMyCollection(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=listMyCollection.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 更新/新增我的收藏,这个接口用于全量更新单实例\n * @endpoint POST /api/v1/user_service/my_collection/upsert_collections\n */\nexport var MyCollectionApi_upsertMyCollection = (data, options) => /**! @contract easyops.api.user_service.my_collection.UpsertMyCollection@1.0.0 */http.post(\"api/gateway/user_service.my_collection.UpsertMyCollection/api/v1/user_service/my_collection/upsert_collections\", data, options);\n//# sourceMappingURL=upsertMyCollection.js.map"],"names":["scrollWidth","defineElement","property","createDecorators","WrappedMenuItem","wrapBrick","WrappedPopover","onVisibleChange","beforeVisibleChange","RenderMenuItemCom","props","item","isSubMenu","topData","React","SubMenuItemCom","_extends","isGroup","GroupMenuItemCom","SimpleMenuItemCom","index","hidden","showTooltip","selectedKey","className","key","title","text","active","includes","renderLinkCom","width","_NavMenu","handlePopupVisibleChange","event","_scrollWidth","paddingRight","window","innerWidth","document","body","clientWidth","style","detail","overflow","touchAction","_ref","_item$items","items","length","classnames","subprime","trigger","placement","distance","anchorDisplay","strategy","slot","renderSpanCom","map","innerItem","_ref2","_item$items2","childLayout","ThreeLevelMenuCom","SitMapMenCom","_ref3","_item$items3","ThreeLevelMenuPopoverContent","menuItem","_ref4","_item$items4","visible","setVisible","useState","onClick","e","stopPropagation","SiteMapItem","menuGroup","_dec","styleTexts","SiteMapStyleText","ItemTagStyleText","GroupItemStyleText","styleText","_dec2","attribute","_dec3","type","Boolean","_A","WeakMap","_B","NavMenu","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","writable","value","_initProto","_init_menu","_init_showTooltip","menu","_classPrivateFieldGet","v","_classPrivateFieldSet","render","NavMenuComponent","this","_menu$menuItems$lengt","_menu$menuItems2","history","getHistory","navMenuWrapperRef","useRef","location","setLocation","overflowIndex","setOverflowIndex","Number","MAX_SAFE_INTEGER","pathname","search","setSelectedKey","setSelected","_ref5","_asyncToGenerator","_menu$menuItems","selectedKeys","initMenuItemAndMatchCurrentPathKeys","menuItems","apply","useEffect","unListen","listen","current","resizeObserver","ResizeObserver","_navMenuWrapperRef$cu","getClientRects","childNodes","wrapperWidth","i","childWidth","height","childHeight","observe","disconnect","overflowMenu","useMemo","slice","ref","_items","isHidden","_class","c","_initClass","_applyDecs","initializeReactI18n","NS","locales","_LaunchpadButton","LaunchpadButton","LaunchpadButtonComponent","_EoLaunchpadButtonV","lockBodyScroll","unwrapProvider","platformCategoryStyleText","EoLaunchpadButtonV2","disconnectedCallback","super","EoLaunchpadButtonV2Component","host","initialized","setInitialized","setActive","toggleLaunchpad","previous","hotkeys","filter","preventDefault","unbind","_getRuntime","deferredLaunchpadInfo","schedulePrefetch","deferredFavorites","getRuntime","getFeatureFlags","deferredPlatformCategories","role","classNames","LaunchpadSvg","Launchpad","WrappedIcon","WrappedLink","WrappedDropdownActions","onActionClick","MenuGroup","data","actions","name","dropdownActive","setDropdownActive","filteredActions","checkIfByTransform","handleActionClick","useCallback","action","empty","lib","icon","MenuItemFolder","instanceId","MenuItem","concat","id","_data$menuIcon","getAppLocaleName","menuIcon","pick","expanded","setExpanded","toggle","prefix","_LaunchpadConfig","_dec4","_C","_actionClickEvent","_onActionClick","LaunchpadConfig","get","_get_actionClickEvent2","set","_set_actionClickEvent2","_init_menuGroups","_init_actions","_init_actionClickEvent","emit","menuGroups","LaunchpadConfigComponent","_set_actionClickEvent","_get_actionClickEvent","group","o","_","has","_checkInRHS","_EasyopsNavbarAlerts","EasyopsNavbarAlerts","EasyopsNavbarAlertsComponent","storage","JsonStorage","localStorage","licenseDaysLeft","setLicenseDaysLeft","slowRender","setSlowRender","currentApp","useCurrentApp","licenseDismissedKey","authInfo","auth","getAuth","org","_authInfo$license","dismissExpireAt","validDaysLeft","license","isAdmin","getItem","moment","unix","handelRouteRender","renderTime","loadTime","loadInfoPage","getMiscSettings","isBuildPush","millisecondToSecond","suggestTime","suggestUrl","addEventListener","removeEventListener","handleLicenseAlertDismiss","setItem","Alert","link","label","url","undefined","closable","onClose","href","target","millisecond","Math","floor","_EoLaunchpadQuickAcce","EoLaunchpadQuickAccess","EoLaunchpadQuickAccessComponent","favorites","loadingFavorites","pushRecentVisit","toggleStar","isStarred","useLaunchpadInfo","LaunchpadsContext","Provider","searching","SidebarMenuItem","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_EoSearchLaunchpad","EoSearchLaunchpad","EoSearchLaunchpadComponent","searchInputRef","handleClickSearchBox","_searchInputRef$curre","focus","loading","q","setQ","handleSearch","clearSearch","placeholder","onChange","onFocus","onBlur","theme","onMouseDown","Loading","spinning","_EoLaunchpadRecentVis","EoLaunchpadRecentVisits","EoLaunchpadRecentVisitsComponent","recentVisits","_EoAppBarWrapper","alias","_dec5","_D","EoAppBarWrapper","_init_isFixed","_init_position","_init_displayCenter","_init_extraAppBarContentStyle","isFixed","position","displayCenter","extraAppBarContentStyle","EoAppBarWrapperComponent","mainElement","getElementById","iframeMainElement","marginTop","_objectSpread","justifyContent","_EoFrameBreadcrumb","WrappedBreadcrumb","WrappedBreadcrumbItem","EoFrameBreadcrumb","_init_breadcrumb","_init_noCurrentApp","breadcrumb","noCurrentApp","EoFrameBreadcrumbComponent","_props$breadcrumb","_props$noCurrentApp","navConfig","getNavConfig","curAppBreadcrumb","currentAppBreadcrumbItems","breadcrumbItems","useCurrentMenuTitle","to","homepage","internal","localeName","_EoSidebarMenuItem","_dec6","_dec7","_E","_F","EoSidebarMenuItem","_init_url","_init_href","_init_target","_init_icon","_init_selected","_init_menuCollapsed","selected","menuCollapsed","EoSidebarMenuItemComponent","imgStyle","sidebarMenuItemTagNameSet","Set","isSidebarMenuItem","element","tagName","useUpdateMenuCollapsedState","slotRef","updateChildrenMenuCollapsedState","_slotRef$current","assignedElements","forEach","ele","slotElem","handleSlotchange","SIDE_BAR_HAS_BEEN_USED","SIDE_BAR_EXPAND_STATE","SIDE_BAR_RESIZE_WIDTH","ExpandedState","sideBarWidth","parseInt","getCssPropertyValue","sideBarCollapsedWidth","SidebarMenuContext","createContext","openedKeys","matchedKeys","WrappedSidebarMenu","WrappedSidebarMenuItem","WrappedSidebarMenuGroup","WrappedSidebarMenuSubmenu","MenuSimpleItem","useContext","top","isSelected","collapsable","MenuSubmenu","collapsed","SidebarMenu","expandedState","Collapsed","_EoSidebarMenuGroup","_handleCollapseChang","EoSidebarMenuGroup","_init_collapsable","_init_collapsed","EoSidebarMenuGroupComponent","onCollapseChange","titleRef","handleClick","titleElem","_EoSidebarMenuSubmenu","EoSidebarMenuSubmenu","EoSidebarMenuSubmenuComponent","_EoSidebarMenu","EoSidebarMenu","EoSidebarMenuComponent","xmlns","viewBox","fill","fillRule","d","K","en","UNPIN_NAVIGATION","FIXED_NAVIGATION","CLICK_TO_FIX_NAVIGATION","zh","_EoSidebar","WrappedTooltip","_actualWidthChangeEvent","_handleActualWidthChange","_expandedStateChangeEvent","_handleExpandedStateChange","EoSidebar","_get_expandedStateChangeEvent2","_set_expandedStateChangeEvent2","_get_actualWidthChangeEvent2","_set_actualWidthChangeEvent2","_init_hiddenFixedIcon","_init_expandedState","_init_actualWidthChangeEvent","actualWidth","_init_expandedStateChangeEvent","state","hiddenFixedIcon","EoSidebarComponent","onActualWidthChange","onExpandedStateChange","_set_actualWidthChangeEvent","_get_actualWidthChangeEvent","_set_expandedStateChangeEvent","_get_expandedStateChangeEvent","useTranslation","showUserDefinedIcon","isFirstUsedTooltip","setIsFirstUsedTooltip","showContentShadow","setShowContentShadow","dragging","setDragging","setExpandedState","setMenu","setSelectedKeys","setOpenedKeys","setmatchedKeys","titleIcon","_props$menu$menuItems","_props$menu","contentBottomPlaceholderRef","observer","IntersectionObserver","entries","entry","isIntersecting","threshold","Expanded","expandedWidth","setExpandedWidth","memorizedWidth","isNaN","containerRef","handleMouseEnter","newState","Hovered","handleMouseLeave","sidebarActualWidth","getContainerWidth","inner","container","content","t","handleFixedIconClick","FixedSvg","display","ToFixedSvg","_containerRef$current","_containerRef$current2","cancelable","fn","frame","cancel","func","offsetX","getBoundingClientRect","left","drag","x","clientX","_len","params","Array","_key","requestAnimationFrame","cancelAnimationFrame","dragEnd","passive","_EoSidebarSubMenu","WrappedMenu","WrappedMenuGroup","WrapperMenuItemSubMenu","WrappedLinkItem","EoSidebarSubMenu","EoSidebarSubMenuComponent","getMenuItemIndent","_item$key","split","renderMenuItem","titleStyle","paddingLeft","renderSubMenuItem","renderGroupMenuItem","renderSimpleMenuItem","mode","___CSS_LOADER_EXPORT___","push","module","toString","_checkPrivateRedeclaration","obj","privateCollection","TypeError","_classExtractFieldDescriptor","receiver","privateMap","descriptor","call","classExtractFieldDescriptor","MyCollectionApi_listMyCollection","http","_x","_x2","MyCollectionApi_upsertMyCollection","post"],"sourceRoot":""}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4752.ee488116.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[4752],{9477:(e,a,n)=>{n.d(a,{Z:()=>f});var t=n(7896),r=n(8657),l=n.n(r),i=n(2779),o=n.n(i),c=n(2892),m=n(6176),s=n(3697),p=n(3132),u=n(5178);function d(e){var a,{item:n,active:r,onClick:i}=e;return l().createElement("li",{className:"platform-category-sidebar-menu-item"},l().createElement(c.kk,{type:"plain",className:o()({active:r}),onClick:()=>null==i?void 0:i(n)},l().createElement(c.V3,(0,t.Z)({className:"platform-category-sidebar-menu-icon",lib:"easyops",category:"second-menu",icon:"serve-second-menu"},null!==(a=n.icon)&&void 0!==a&&a.lib&&n.icon.icon?(0,u.pick)(n.icon,["lib","icon","theme","category","prefix"]):null)),l().createElement("span",{className:"platform-category-sidebar-menu-item-label"},n.name)))}function v(e){var a,{item:n}=e;return l().createElement("li",null,l().createElement(c.kk,(0,t.Z)({type:"plain"},"app"===n.type?{url:n.url}:{href:n.url,target:"_blank"}),l().createElement("div",{className:"platform-item"},l().createElement("div",{className:"platform-item-title"},l().createElement(c.V3,(0,t.Z)({className:"platform-item-icon",lib:"easyops",category:"third-menu",icon:"deploy-orchestration-tasks-third-menu"},null!==(a=n.menuIcon)&&void 0!==a&&a.lib&&n.menuIcon.icon?(0,u.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),l().createElement("div",{className:"platform-item-name"},n.name)),l().createElement("div",{className:"platform-item-description"},n.description))))}var g=n(6594);function f(e){var{active:a}=e,n=(0,r.useRef)(null),i=(0,r.useCallback)((()=>{var e;null===(e=n.current)||void 0===e||e.focus()}),[]),[u,f]=(0,r.useState)("#all"),b=l().useMemo((()=>{var e;return null===(e=(0,g.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-platform-category"]}),[]),x=l().useMemo((()=>{var e;return null===(e=(0,g.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-scenario-center"]}),[]),k=l().useMemo((()=>{var e;return null===(e=(0,g.getRuntime)())||void 0===e?void 0:e.getFeatureFlags()["launchpad-show-solution-center"]}),[]),{loading:y,q:E,setQ:N,menuGroups:w,favorites:C,loadingFavorites:Z,recentVisits:V,pushRecentVisit:S,toggleStar:_,isStarred:z,platformCategories:I}=(0,m.m1)(a),F=!!E,q=(0,r.useCallback)((e=>{N(e.target.value)}),[N]),R=(0,r.useCallback)((()=>{N("")}),[N]);(0,r.useEffect)((()=>{var e;a&&(null===(e=n.current)||void 0===e||e.focus())}),[a]);var L=(0,r.useCallback)((e=>{f(e.id)}),[]),j=(0,r.useMemo)((()=>I.find((e=>e.id===u))),[u,I]);return l().createElement("div",{className:o()("launchpad",{active:a})},l().createElement(p.Z.Provider,{value:{searching:F,loadingFavorites:Z,pushRecentVisit:S,toggleStar:_,isStarred:z}},l().createElement("div",{className:"sidebar"},l().createElement("div",{className:"union"},l().createElement("div",{className:"quick-nav"},l().createElement("div",{className:"quick-nav-label"},"快捷访问"),l().createElement("ul",{className:"sidebar-menu quick-nav-menu"},C.map(((e,a)=>l().createElement(s.L,{key:a,item:e}))))),b&&l().createElement("div",{className:"platform-nav"},l().createElement("div",{className:"platform-nav-label"},"平台"),l().createElement("ul",{className:"sidebar-menu platform-nav-menu"},I.map(((e,a)=>l().createElement(d,{key:a,onClick:L,item:e,active:u===e.id})))))),x&&l().createElement("div",{className:"scenario-nav"},l().createElement(c.kk,{type:"plain",url:"/portal/scenario"},l().createElement("div",{className:"scenario-nav-label"},"场景中心"),l().createElement(c.V3,{lib:"antd",icon:"right",theme:"outlined"}))),k&&l().createElement("div",{className:"solution-nav"},l().createElement(c.kk,{type:"plain",url:"/portal/solution"},l().createElement("div",{className:"solution-nav-label"},"解决方案"),l().createElement(c.V3,{lib:"antd",icon:"right",theme:"outlined"})))),l().createElement("div",{className:o()("content",{loading:y})},l().createElement(h,{loading:y}),"#all"!==u&&l().createElement("div",{className:"platform-category-name"},null==j?void 0:j.name),l().createElement("div",{className:"search-box",onClick:i},l().createElement(c.V3,{lib:"fa",icon:"magnifying-glass",className:"search-icon"}),l().createElement("input",{ref:n,placeholder:"通过关键字搜索",value:E,onChange:q,className:"search-input"}),l().createElement(c.V3,{lib:"antd",theme:"filled",icon:"close-circle",className:o()("search-clear",{searching:F}),onClick:R})),"#all"===u&&l().createElement("div",{className:o()({empty:0===V.length})},l().createElement("div",{className:"recent-visits-label"},"最近访问"),l().createElement("ul",{className:"recent-visits"},V.map(((e,a)=>l().createElement("li",{key:a},l().createElement(c.kk,(0,t.Z)({onClick:()=>S(e)},"app"===e.type?{url:e.url}:{href:e.url,target:"_blank"}),l().createElement("span",null,e.name))))))),"#all"===u&&l().createElement("ul",{className:"menu-groups"},w.map((e=>l().createElement(s.k,{key:e.name,name:e.name,items:e.items})))),"#all"!==u&&l().createElement("ul",{className:o()("platform-items",{empty:0===(null==j?void 0:j.items.length)})},null==j?void 0:j.items.map(((e,a)=>l().createElement(v,{item:e,key:a})))))))}function h(e){var{loading:a}=e;return a&&l().createElement("div",{className:"spinner"},l().createElement(c.V3,{lib:"fa",icon:"spinner",spinning:!0}))}},3132:(e,a,n)=>{n.d(a,{L:()=>i,Z:()=>l});var t=n(8657),r=n.n(t),l=r().createContext({}),i=()=>r().useContext(l)},3697:(e,a,n)=>{n.d(a,{L:()=>d,k:()=>p});var t=n(7896),r=n(8657),l=n.n(r),i=n(5178),o=n(2779),c=n.n(o),m=n(2892),s=n(3132);function p(e){var{name:a,items:n}=e;return l().createElement("li",{className:"menu-group"},l().createElement("div",{className:"menu-group-label"},a),l().createElement("ul",{className:"menu"},n.map((e=>"dir"===e.type?l().createElement(v,{key:"".concat(e.type,"-").concat(e.id),name:e.name,items:e.items}):l().createElement(u,{key:"".concat(e.type,"-").concat(e.id),item:e})))))}function u(e){var a,{item:n}=e,{loadingFavorites:o,pushRecentVisit:p,toggleStar:u,isStarred:d}=(0,s.L)(),v=(0,r.useMemo)((()=>d(n)),[d,n]),g=(0,r.useCallback)((()=>{u(n)}),[n,u]),f=(0,r.useCallback)((()=>{p(n)}),[n,p]);return l().createElement("li",{className:c()("menu-item",{starred:v,"can-star":!o})},l().createElement(m.kk,(0,t.Z)({onClick:f},"app"===n.type?{url:n.url}:{href:n.url,target:"_blank"}),l().createElement(m.V3,(0,t.Z)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(a=n.menuIcon)&&void 0!==a&&a.lib&&n.menuIcon.icon?(0,i.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),l().createElement("span",{className:"menu-item-label"},n.name)),l().createElement(m.V3,{lib:"fa",prefix:v?"fas":"far",icon:"star",className:"menu-item-star",title:v?"取消收藏":"收藏",onClick:g}))}function d(e){var a,{item:n}=e,{pushRecentVisit:o,toggleStar:c}=(0,s.L)(),p=(0,r.useCallback)((()=>{"link"!==n.type&&o(n)}),[n,o]),u=(0,r.useCallback)((()=>{c(n)}),[n,c]);return l().createElement("li",{className:"sidebar-menu-item"},l().createElement(m.kk,(0,t.Z)({onClick:p},"app"===n.type?{url:n.url}:{href:n.url,target:"_blank"}),l().createElement(m.V3,(0,t.Z)({className:"sidebar-menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(a=n.menuIcon)&&void 0!==a&&a.lib&&n.menuIcon.icon?(0,i.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),l().createElement("span",{className:"menu-item-label"},n.name)),l().createElement(m.V3,{lib:"fa",icon:"xmark",className:"menu-item-remove",onClick:u}))}function v(e){var{name:a,items:n}=e,{searching:t}=(0,s.L)(),[i,o]=(0,r.useState)(!1),[p,d]=(0,r.useState)(!1),v=(0,r.useCallback)((()=>{t?d((e=>!e)):o((e=>!e))}),[t]);(0,r.useEffect)((()=>{d(!0)}),[t]);var g=t?p:i;return l().createElement("li",{className:"menu-item folder"},l().createElement(m.kk,{onClick:v},l().createElement(m.V3,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),l().createElement("span",{className:"menu-item-label"},a),l().createElement(m.V3,{lib:"antd",icon:g?"up":"down",className:"menu-item-toggle"})),l().createElement("ul",{className:c()("sub-menu",{expanded:g})},n.map((e=>l().createElement(u,{key:"".concat(e.type,"-").concat(e.id),item:e})))))}},7756:(e,a,n)=>{n.d(a,{Z:()=>o});var t=n(9601),r=n.n(t),l=n(2609),i=n.n(l)()(r());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},7505:(e,a,n)=>{n.d(a,{Z:()=>o});var t=n(9601),r=n.n(t),l=n(2609),i=n.n(l)()(r());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);grid-gap:0 54px;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()},6976:(e,a,n)=>{n.d(a,{Z:()=>o});var t=n(9601),r=n.n(t),l=n(2609),i=n.n(l)()(r());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;-moz-user-select:none;user-select:none;border-radius:3px}.launchpad-button:hover,\n.launchpad-button.active{background-color:var(--color-fill-bg-base-1)}.launchpad-button.active{color:var(--color-brand)}.mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.mask.active{display:block}.launchpad{display:none;position:absolute;margin-top:4px;z-index:1;width:1110px;max-width:calc(100vw - 100px);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.solution-nav-label,\n.scenario-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}.scenario-nav > eo-link,\n.solution-nav > eo-link{display:block;cursor:pointer}.scenario-nav > eo-link::part(link),\n.solution-nav > eo-link::part(link){padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.solution-nav-label,\n.scenario-nav-label{flex:1;color:var(--color-header-text);font-weight:500}.solution-nav > eo-icon,\n.scenario-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;grid-gap:32px 8px;gap:32px 8px}.menu-group{padding-right:12px;color:var(--color-header-text)}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text);margin-bottom:14px}.sidebar-menu-item,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-icon{color:var(--eo-launchpad-v2-menu-icon-color)}.menu-item.active,\n.menu-item.active .menu-icon{color:var(--color-brand-active)}.sub-menu:not(.expanded){display:none}.sub-menu{margin-top:14px;margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item-remove,\n.menu-item-star{cursor:pointer}.menu-item-remove,\n.menu-item-star,\n.menu-item-toggle{color:var(--color-secondary-text)}.sidebar-menu-item:not(:hover) .menu-item-remove{display:none}.menu-item-remove:hover{color:var(--color-normal-text)}.menu-item-remove:active{color:var(--color-strong-text)}.menu-item-star{display:none}.can-star.starred > .menu-item-star,\n.can-star:hover > .menu-item-star{display:inline-block}.can-star:not(.starred) > .menu-item-star{color:var(--color-secondary-text)}.starred > .menu-item-star{color:var(--palette-yellow-6)}.recent-visits-label{margin-bottom:12px;font-size:var(--card-title-font-size);color:var(--color-header-text);font-weight:500}.recent-visits{display:grid;grid-gap:8px;gap:8px}.recent-visits eo-link::part(link){background-color:var(--color-fill-bg-base-1);border-radius:3px;color:var(--color-header-text);display:flex;align-items:center;height:24px;padding:0 8px}.sidebar-menu-item > eo-link:hover::part(link),\n.sidebar-menu-item > eo-link:hover .sidebar-menu-icon,\n.menu-item > eo-link:hover::part(link),\n.menu-item > eo-link:hover .menu-icon,\n.menu-item > eo-link:hover .menu-item-toggle,\n.recent-visits eo-link:hover::part(link){color:var(--color-brand-hover)}.spinner{display:flex;justify-content:center;align-items:center;color:var(--theme-doderblue-color);flex:1;font-size:30px}.empty,\n.loading > :not(.spinner){display:none}@supports not (inset: 0){.content,\n .search-box,\n .sidebar-menu,\n .menu,\n .sub-menu,\n .sidebar-menu-item,\n .menu-item:not(.folder),\n .sidebar-menu-item > eo-link::part(link),\n .menu-item > eo-link::part(link){gap:0}.sidebar-menu > :not(:first-child),\n .menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.search-icon,\n .sidebar-menu-icon,\n .menu-icon{margin-right:8px}.search-clear,\n .menu-item-star,\n .menu-item-toggle{margin-left:8px}.content > :not(:last-child){margin-bottom:24px}}",""]);const o=i.toString()},7425:(e,a,n)=>{var t=n(6062),r=n.n(t),l=n(4036),i=n.n(l),o=n(6793),c=n.n(o),m=n(7892),s=n.n(m),p=n(1173),u=n.n(p),d=n(2464),v=n.n(d),g=n(7756),f={};f.styleTagTransform=v(),f.setAttributes=s(),f.insert=c().bind(null,"head"),f.domAPI=i(),f.insertStyleElement=u(),r()(g.Z,f),g.Z&&g.Z.locals&&g.Z.locals},1719:(e,a,n)=>{n.d(a,{W:()=>l});var t=n(4795),r=n(9751),l=function(){var e=(0,t.Z)((function*(e,a,n){return(yield r.http.post("api/gateway/cmdb.instance.PostSearchV3/v3/object/".concat(e,"/instance/_search"),a,n)).data}));return function(a,n,t){return e.apply(this,arguments)}}()},8685:(e,a,n)=>{n.d(a,{i:()=>l});var t=n(4795),r=n(3352),l=function(){var e=(0,t.Z)((function*(e,a){return(yield r.http.post("api/gateway/user_service.launchpad.CreateCollectionV2/api/v2/launchpad/collection",e,a)).data}));return function(a,n){return e.apply(this,arguments)}}()},5003:(e,a,n)=>{n.d(a,{I:()=>r});var t=n(3352),r=(e,a)=>t.http.delete("api/gateway/user_service.launchpad.DeleteCollectionV2/api/v2/launchpad/collection/".concat(e),a)},4008:(e,a,n)=>{n.d(a,{$:()=>i});var t=n(3028),r=n(4795),l=n(3352),i=function(){var e=(0,r.Z)((function*(e,a){return(yield l.http.get("api/gateway/user_service.launchpad.ListCollectionV2/api/v2/launchpad/collection",(0,t.Z)((0,t.Z)({},a),{},{params:e}))).data}));return function(a,n){return e.apply(this,arguments)}}()}}]);
|
|
3
|
-
//# sourceMappingURL=4752.ee488116.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[5381,6660],{4795:(e,r,t)=>{function n(e,r,t,n,u,a,i){try{var c=e[a](i),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,u)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(u,a){var i=e.apply(r,t);function c(e){n(i,u,a,c,s,"next",e)}function s(e){n(i,u,a,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>u})},6660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>i,ReactUseMultipleBricks:()=>c,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n=t(4795),u=t(8657),a=t(6594),i=function(e){var{useBrick:r,data:t}=e,[i,c]=(0,u.useState)(null),s=(0,u.useRef)(),[o,l]=(0,u.useState)(),d=(0,u.useRef)(0),v=(0,u.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,u.useEffect)((()=>{var e=!1;function u(){return u=(0,n.Z)((function*(){try{var n=yield a.__secret_internals.renderUseBrick(r,t);if(e)return;c(n),l(++d.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(v)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),u.apply(this,arguments)}return function(){u.apply(this,arguments)}(),()=>{e=!0}}),[t,r,v]);var f=(0,u.useCallback)((e=>{e?s.current=a.__secret_internals.mountUseBrick(i,e):(a.__secret_internals.unmountUseBrick(i,s.current),s.current=void 0)}),[i]);if(!i)return null;var{tagName:_}=i;if(null===_)return null;var p=_;return u.createElement(p,{key:o,ref:f})},c=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?u.createElement(u.Fragment,null,r.map(((e,r)=>u.createElement(i,{key:r,useBrick:e,data:t})))):u.createElement(i,{useBrick:r,data:t})},s=(0,a.getV2RuntimeFromDll)();if(s){var{SingleBrickAsComponentFactory:o,BrickAsComponentFactory:l}=s;o&&l&&(i=o(u),c=l(u))}function d(){var[e,r]=(0,u.useState)(a.getCurrentTheme);return(0,u.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=u.useState((()=>(0,a.getRuntime)().getRecentApps()));return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=u.useState(null);return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
|
|
2
|
-
//# sourceMappingURL=5381.2e6572a5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/5381.2e6572a5.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n var ignore = false;\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n var newRender = yield __secret_internals.renderUseBrick(useBrick, data);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n });\n return _init.apply(this, arguments);\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId]);\n var refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n }, [renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n var {\n tagName\n } = renderResult;\n if (tagName === null) {\n return null;\n }\n var WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n var newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nvar v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n var {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","ReactUseBrick","_ref","useBrick","data","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","_init","newRender","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[6660,5381],{4795:(e,r,t)=>{function n(e,r,t,n,u,a,i){try{var c=e[a](i),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,u)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(u,a){var i=e.apply(r,t);function c(e){n(i,u,a,c,s,"next",e)}function s(e){n(i,u,a,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>u})},6660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>i,ReactUseMultipleBricks:()=>c,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n=t(4795),u=t(8657),a=t(6594),i=function(e){var{useBrick:r,data:t}=e,[i,c]=(0,u.useState)(null),s=(0,u.useRef)(),[o,l]=(0,u.useState)(),d=(0,u.useRef)(0),v=(0,u.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,u.useEffect)((()=>{var e=!1;function u(){return u=(0,n.Z)((function*(){try{var n=yield a.__secret_internals.renderUseBrick(r,t);if(e)return;c(n),l(++d.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(v)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),u.apply(this,arguments)}return function(){u.apply(this,arguments)}(),()=>{e=!0}}),[t,r,v]);var f=(0,u.useCallback)((e=>{e?s.current=a.__secret_internals.mountUseBrick(i,e):(a.__secret_internals.unmountUseBrick(i,s.current),s.current=void 0)}),[i]);if(!i)return null;var{tagName:_}=i;if(null===_)return null;var p=_;return u.createElement(p,{key:o,ref:f})},c=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?u.createElement(u.Fragment,null,r.map(((e,r)=>u.createElement(i,{key:r,useBrick:e,data:t})))):u.createElement(i,{useBrick:r,data:t})},s=(0,a.getV2RuntimeFromDll)();if(s){var{SingleBrickAsComponentFactory:o,BrickAsComponentFactory:l}=s;o&&l&&(i=o(u),c=l(u))}function d(){var[e,r]=(0,u.useState)(a.getCurrentTheme);return(0,u.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=u.useState((()=>(0,a.getRuntime)().getRecentApps()));return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=u.useState(null);return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
|
|
2
|
-
//# sourceMappingURL=6660.73cf4fb1.js.map
|