@next-bricks/nav 1.11.11 → 1.11.13

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.
Files changed (96) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/{2133.803b604b.js → 2133.49936df8.js} +2 -2
  3. package/dist/chunks/{2133.803b604b.js.map → 2133.49936df8.js.map} +1 -1
  4. package/dist/chunks/{2252.95f7631a.js → 2252.c03a3da6.js} +3 -3
  5. package/dist/chunks/{2252.95f7631a.js.map → 2252.c03a3da6.js.map} +1 -1
  6. package/dist/chunks/2652.e28d50a3.js +2 -0
  7. package/dist/chunks/2652.e28d50a3.js.map +1 -0
  8. package/dist/chunks/3144.8f5901e6.js +3 -0
  9. package/dist/chunks/{3144.6a895669.js.map → 3144.8f5901e6.js.map} +1 -1
  10. package/dist/chunks/{3171.5f4961e4.js → 3171.7712b259.js} +2 -2
  11. package/dist/chunks/{3171.5f4961e4.js.map → 3171.7712b259.js.map} +1 -1
  12. package/dist/chunks/{3933.548fb32e.js → 3933.c4783229.js} +2 -2
  13. package/dist/chunks/{6314.016676bd.js.map → 3933.c4783229.js.map} +1 -1
  14. package/dist/chunks/{5552.3a85a7ba.js → 5552.156be6c6.js} +2 -2
  15. package/dist/chunks/{5552.3a85a7ba.js.map → 5552.156be6c6.js.map} +1 -1
  16. package/dist/chunks/{6314.016676bd.js → 6314.c52471ca.js} +2 -2
  17. package/dist/chunks/{3933.548fb32e.js.map → 6314.c52471ca.js.map} +1 -1
  18. package/dist/chunks/7115.50a7c8b7.js +2 -0
  19. package/dist/chunks/7115.50a7c8b7.js.map +1 -0
  20. package/dist/chunks/{8097.233564e4.js → 8097.adac3cfa.js} +2 -2
  21. package/dist/chunks/{8097.233564e4.js.map → 8097.adac3cfa.js.map} +1 -1
  22. package/dist/chunks/{8171.1df697d1.js → 8171.26fb7065.js} +3 -3
  23. package/dist/chunks/{8171.1df697d1.js.map → 8171.26fb7065.js.map} +1 -1
  24. package/dist/chunks/{8518.3716e7dd.js → 8518.e95d291b.js} +2 -2
  25. package/dist/chunks/{8518.3716e7dd.js.map → 8518.e95d291b.js.map} +1 -1
  26. package/dist/chunks/871.8ce4bf00.js +2 -0
  27. package/dist/chunks/871.8ce4bf00.js.map +1 -0
  28. package/dist/chunks/9043.3f83cb13.js +3 -0
  29. package/dist/chunks/{9043.9860c7e4.js.map → 9043.3f83cb13.js.map} +1 -1
  30. package/dist/chunks/{9155.d986615b.js → 9155.702eb4eb.js} +3 -3
  31. package/dist/chunks/{9155.d986615b.js.map → 9155.702eb4eb.js.map} +1 -1
  32. package/dist/chunks/9496.d399d3eb.js +2 -0
  33. package/dist/chunks/9496.d399d3eb.js.map +1 -0
  34. package/dist/chunks/{9515.3e4e6c3f.js → 9515.dab7bf6b.js} +2 -2
  35. package/dist/chunks/{9515.3e4e6c3f.js.map → 9515.dab7bf6b.js.map} +1 -1
  36. package/dist/chunks/easyops-navbar-alerts.402b684a.js +2 -0
  37. package/dist/chunks/{easyops-navbar-alerts.efc9f39a.js.map → easyops-navbar-alerts.402b684a.js.map} +1 -1
  38. package/dist/chunks/eo-directory-tree.265041f6.js +2 -0
  39. package/dist/chunks/{eo-directory-tree.83c5bff9.js.map → eo-directory-tree.265041f6.js.map} +1 -1
  40. package/dist/chunks/eo-directory.dfd44d38.js +3 -0
  41. package/dist/chunks/{eo-directory.58d43f6c.js.map → eo-directory.dfd44d38.js.map} +1 -1
  42. package/dist/chunks/eo-frame-breadcrumb.1e2b0bbc.js +2 -0
  43. package/dist/chunks/{eo-frame-breadcrumb.9e91bae2.js.map → eo-frame-breadcrumb.1e2b0bbc.js.map} +1 -1
  44. package/dist/chunks/{eo-launchpad-button-v2.705279c1.js → eo-launchpad-button-v2.f29e18f8.js} +2 -2
  45. package/dist/chunks/{eo-launchpad-button-v2.705279c1.js.map → eo-launchpad-button-v2.f29e18f8.js.map} +1 -1
  46. package/dist/chunks/{eo-launchpad-button.ef85c474.js → eo-launchpad-button.3f44da25.js} +2 -2
  47. package/dist/chunks/{eo-launchpad-button.ef85c474.js.map → eo-launchpad-button.3f44da25.js.map} +1 -1
  48. package/dist/chunks/{eo-nav-menu.f7417037.js → eo-nav-menu.3e256f37.js} +2 -2
  49. package/dist/chunks/{eo-nav-menu.f7417037.js.map → eo-nav-menu.3e256f37.js.map} +1 -1
  50. package/dist/chunks/{eo-sidebar-menu-group.ec614c0a.js → eo-sidebar-menu-group.7bb8dc7f.js} +3 -3
  51. package/dist/chunks/{eo-sidebar-menu-group.ec614c0a.js.map → eo-sidebar-menu-group.7bb8dc7f.js.map} +1 -1
  52. package/dist/chunks/{eo-sidebar-menu-submenu.1196823a.js → eo-sidebar-menu-submenu.97ff4a5e.js} +3 -3
  53. package/dist/chunks/{eo-sidebar-menu-submenu.1196823a.js.map → eo-sidebar-menu-submenu.97ff4a5e.js.map} +1 -1
  54. package/dist/chunks/{eo-sidebar-menu.bfed05c2.js → eo-sidebar-menu.820c878d.js} +2 -2
  55. package/dist/chunks/{eo-sidebar-menu.bfed05c2.js.map → eo-sidebar-menu.820c878d.js.map} +1 -1
  56. package/dist/chunks/{eo-sidebar-sub-menu.e8177f1a.js → eo-sidebar-sub-menu.57b039ce.js} +3 -3
  57. package/dist/chunks/{eo-sidebar-sub-menu.e8177f1a.js.map → eo-sidebar-sub-menu.57b039ce.js.map} +1 -1
  58. package/dist/chunks/eo-sidebar.5151a54e.js +3 -0
  59. package/dist/chunks/{eo-sidebar.6f356ad7.js.map → eo-sidebar.5151a54e.js.map} +1 -1
  60. package/dist/chunks/{launchpad-config.f0f9dacd.js → launchpad-config.6d5f920f.js} +3 -3
  61. package/dist/chunks/{launchpad-config.f0f9dacd.js.map → launchpad-config.6d5f920f.js.map} +1 -1
  62. package/dist/chunks/main.1b686df4.js +2 -0
  63. package/dist/chunks/{main.3dfcc82c.js.map → main.1b686df4.js.map} +1 -1
  64. package/dist/chunks/{nav-logo.34efce6e.js → nav-logo.6d849472.js} +2 -2
  65. package/dist/chunks/{nav-logo.34efce6e.js.map → nav-logo.6d849472.js.map} +1 -1
  66. package/dist/index.7b8a1c44.js +2 -0
  67. package/dist/{index.8321739f.js.map → index.7b8a1c44.js.map} +1 -1
  68. package/package.json +2 -2
  69. package/dist/chunks/2652.0c8a0168.js +0 -2
  70. package/dist/chunks/2652.0c8a0168.js.map +0 -1
  71. package/dist/chunks/3144.6a895669.js +0 -3
  72. package/dist/chunks/7115.1c76e212.js +0 -2
  73. package/dist/chunks/7115.1c76e212.js.map +0 -1
  74. package/dist/chunks/871.3be4bba4.js +0 -2
  75. package/dist/chunks/871.3be4bba4.js.map +0 -1
  76. package/dist/chunks/9043.9860c7e4.js +0 -3
  77. package/dist/chunks/9496.de1fc028.js +0 -2
  78. package/dist/chunks/9496.de1fc028.js.map +0 -1
  79. package/dist/chunks/easyops-navbar-alerts.efc9f39a.js +0 -2
  80. package/dist/chunks/eo-directory-tree.83c5bff9.js +0 -2
  81. package/dist/chunks/eo-directory.58d43f6c.js +0 -3
  82. package/dist/chunks/eo-frame-breadcrumb.9e91bae2.js +0 -2
  83. package/dist/chunks/eo-sidebar.6f356ad7.js +0 -3
  84. package/dist/chunks/main.3dfcc82c.js +0 -2
  85. package/dist/index.8321739f.js +0 -2
  86. /package/dist/chunks/{2252.95f7631a.js.LICENSE.txt → 2252.c03a3da6.js.LICENSE.txt} +0 -0
  87. /package/dist/chunks/{3144.6a895669.js.LICENSE.txt → 3144.8f5901e6.js.LICENSE.txt} +0 -0
  88. /package/dist/chunks/{8171.1df697d1.js.LICENSE.txt → 8171.26fb7065.js.LICENSE.txt} +0 -0
  89. /package/dist/chunks/{9043.9860c7e4.js.LICENSE.txt → 9043.3f83cb13.js.LICENSE.txt} +0 -0
  90. /package/dist/chunks/{9155.d986615b.js.LICENSE.txt → 9155.702eb4eb.js.LICENSE.txt} +0 -0
  91. /package/dist/chunks/{eo-directory.58d43f6c.js.LICENSE.txt → eo-directory.dfd44d38.js.LICENSE.txt} +0 -0
  92. /package/dist/chunks/{eo-sidebar-menu-group.ec614c0a.js.LICENSE.txt → eo-sidebar-menu-group.7bb8dc7f.js.LICENSE.txt} +0 -0
  93. /package/dist/chunks/{eo-sidebar-menu-submenu.1196823a.js.LICENSE.txt → eo-sidebar-menu-submenu.97ff4a5e.js.LICENSE.txt} +0 -0
  94. /package/dist/chunks/{eo-sidebar-sub-menu.e8177f1a.js.LICENSE.txt → eo-sidebar-sub-menu.57b039ce.js.LICENSE.txt} +0 -0
  95. /package/dist/chunks/{eo-sidebar.6f356ad7.js.LICENSE.txt → eo-sidebar.5151a54e.js.LICENSE.txt} +0 -0
  96. /package/dist/chunks/{launchpad-config.f0f9dacd.js.LICENSE.txt → launchpad-config.6d5f920f.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/8518.3716e7dd.js","mappings":"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","sources":["webpack:///./src/nav-menu/ThreeLevelMenuPopoverContent.tsx","webpack:///./src/nav-menu/i18n.ts","webpack:///./src/nav-menu/site-map/constants.ts","webpack:///./src/nav-menu/site-map/CollectService.ts","webpack:///./src/nav-menu/site-map/ItemTag.tsx","webpack:///./src/nav-menu/site-map/processor.ts","webpack:///./src/nav-menu/site-map/GroupItem.tsx","webpack:///./src/nav-menu/site-map/SiteMapItem.tsx","webpack:///./src/nav-menu/utils.tsx","webpack:///./src/nav-menu/host-context.css","webpack:///./src/nav-menu/nav-menu.shadow.css","webpack:///./src/nav-menu/site-map/GroupItem.shadow.css","webpack:///./src/nav-menu/site-map/ItemTag.shadow.css","webpack:///./src/nav-menu/site-map/SiteMapItem.shadow.css","webpack:///./src/nav-menu/host-context.css?ac7e","webpack:///../../src/menu.ts"],"sourcesContent":["import React, { useMemo, useState, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport { renderLinkCom } from \"./utils.js\";\nimport { uniq } from \"lodash\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { ReactNextElement } from \"@next-core/react-element\";\nimport type { Popover, PopoverProps } from \"@next-bricks/basic/popover\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n\ninitializeReactI18n(NS, locales);\nconst WrappedPopover = wrapBrick<Popover, PopoverProps>(\"eo-popover\");\ninterface SearchProps {\n value?: string;\n placeholder?: string;\n autoFocus?: boolean;\n clearable?: boolean;\n trim?: boolean;\n debounceTime?: number;\n}\n\ninterface SearchEvents {\n change: CustomEvent<string>;\n search: CustomEvent<string>;\n}\n\ninterface SearchEventsMap {\n onChange: \"change\";\n onSearch: \"search\";\n}\nconst WrappedSearch = wrapBrick<\n ReactNextElement,\n SearchProps,\n SearchEvents,\n SearchEventsMap\n>(\"eo-search\", {\n onChange: \"change\",\n onSearch: \"search\",\n});\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\ninterface ThreeLevelMenuPopoverContentProps {\n menuItem: SidebarMenuGroup;\n selectedKey: string[];\n}\nconst LOCAL_STORAGE_PREFIX = \"threeLevelCategoryMenu\";\nconst maxVisitorLength = 6;\nexport function ThreeLevelMenuPopoverContent(\n props: ThreeLevelMenuPopoverContentProps\n): React.ReactElement {\n const { t } = useTranslation(NS);\n const { menuItem, selectedKey } = props;\n const items = menuItem.items as SidebarMenuGroup[];\n const [searchResult, setSearchResult] = useState<SidebarMenuSimpleItem[]>([]);\n const [searchKey, setSearchKey] = useState(\"\");\n const triggerRef = useRef<HTMLDivElement>(null);\n const nameSpace = `${LOCAL_STORAGE_PREFIX}_${menuItem.title}`;\n const storage = useMemo(() => new JsonStorage(localStorage), []);\n const searchHistory = (storage.getItem(nameSpace) as string[]) || [];\n\n const handleSearch = (e: CustomEvent<string>) => {\n setSearchKey(e.detail);\n if (e.detail) {\n const list = uniq([e.detail, ...searchHistory]);\n if (list.length > maxVisitorLength) {\n list.pop();\n }\n storage.setItem(nameSpace, list);\n setSearchResult(\n items\n .flatMap((i) => (i.items as SidebarMenuSimpleItem[]) || [])\n .filter((i) =>\n (i.text as string)\n .toLowerCase()\n .includes((e.detail as string).trim().toLowerCase())\n )\n );\n } else {\n setSearchResult([]);\n }\n };\n\n const popoverTriggerClick = () => {\n triggerRef.current?.click();\n };\n\n return (\n <div className={\"three-level-menu-container\"}>\n <div\n className=\"three-level-menu-search-container\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <WrappedSearch\n placeholder={t(K.SEARCH_BY_MENU_NAME) as string}\n onSearch={handleSearch}\n onFocus={popoverTriggerClick}\n onBlur={popoverTriggerClick}\n />\n <WrappedPopover\n trigger=\"click\"\n placement={\"bottom-start\"}\n anchorDisplay=\"block\"\n distance={0}\n >\n <div slot=\"anchor\" ref={triggerRef}></div>\n {\n <div className=\"three-level-menu-search-result\">\n {!!searchResult.length &&\n searchResult.map((i) => renderLinkCom(i, { width: \"100%\" }))}\n {searchKey && !searchResult.length && (\n <div\n style={{\n height: \"100px\",\n textAlign: \"center\",\n lineHeight: \"100px\",\n }}\n >\n {t(K.NO_DATA)}\n </div>\n )}\n </div>\n }\n </WrappedPopover>\n </div>\n {!!searchHistory.length && (\n <div className=\"three-level-menu-search-history-container\">\n <div className=\"three-level-menu-search-history-title\">\n {t(K.SEARCH_HISTORY)}\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"delete\"\n className=\"three-level-menu-search-history-icon\"\n />\n </div>\n <div>\n {searchHistory.map((h) => (\n <span key={h} className=\"three-level-menu-search-history-text\">\n {h}\n </span>\n ))}\n </div>\n </div>\n )}\n <div\n className={\"three-level-menu-item-container\"}\n style={{\n gridTemplateColumns: `repeat(${\n items.length > 4 ? 4 : items.length\n },1fr)`,\n }}\n >\n {items.map((item: SidebarMenuGroup, index: number) => (\n <div key={index}>\n <div className=\"three-level-menu-item-title-container\">\n <span className=\"three-level-menu-item-title-icon\"></span>\n <span className=\"three-level-menu-item-title\">{item.title}</span>\n </div>\n {item.items?.map((i) => (\n <span\n key={i.key}\n className={classnames({\n active: i.key ? selectedKey.includes(i.key) : false,\n })}\n >\n {renderLinkCom(i as SidebarMenuSimpleItem, { width: \"100%\" })}\n </span>\n ))}\n </div>\n ))}\n </div>\n </div>\n );\n}\n","export enum K {\n SEARCH_BY_MENU_NAME = \"SEARCH_BY_MENU_NAME\",\n SEARCH_HISTORY = \"SEARCH_HISTORY\",\n NO_DATA = \"NO_DATA\",\n QUICK_ACCESS = \"QUICK_ACCESS\",\n REMOVE_ITEM_FROM_QUICK_ACCESS = \"REMOVE_ITEM_FROM_QUICK_ACCESS\",\n ADD_ITEM_TO_QUICK_ACCESS = \"ADD_ITEM_TO_QUICK_ACCESS\",\n NO_DATA_TIPS_IN_QUICK_ACCESS = \"NO_DATA_TIPS_IN_QUICK_ACCESS\",\n SITE_MAP_SEARCH_RECOMMEND = \"SITE_MAP_SEARCH_RECOMMEND\",\n MAX_COLLECT_COUNT_TIPS = \"MAX_COLLECT_COUNT_TIPS\",\n NO_DATA_SEARCH_INFO = \"NO_DATA_SEARCH_INFO\",\n SEARCH_ITEM_PLACEHOLDER = \"SEARCH_ITEM_PLACEHOLDER\",\n}\n\nconst en: Locale = {\n SEARCH_BY_MENU_NAME: \"Search by menu name\",\n SEARCH_HISTORY: \"Search history\",\n NO_DATA: \"No data\",\n QUICK_ACCESS: \"Quick Access\",\n REMOVE_ITEM_FROM_QUICK_ACCESS: \"Remove from Quick Access\",\n ADD_ITEM_TO_QUICK_ACCESS: \"Add to Quick Access\",\n NO_DATA_TIPS_IN_QUICK_ACCESS:\n \"No quick access resources have been added yet. Please add from the list below or after searching\",\n SITE_MAP_SEARCH_RECOMMEND: \"Search recommend\",\n MAX_COLLECT_COUNT_TIPS: \"Need to delete some favorites in order to add\",\n NO_DATA_SEARCH_INFO: \"The search result is empty, please enter again\",\n SEARCH_ITEM_PLACEHOLDER: \"Please enter keywords to search\",\n};\n\nconst zh: Locale = {\n SEARCH_BY_MENU_NAME: \"通过菜单名称搜索\",\n SEARCH_HISTORY: \"历史搜索\",\n NO_DATA: \"暂无数据\",\n QUICK_ACCESS: \"快捷访问\",\n REMOVE_ITEM_FROM_QUICK_ACCESS: \"从快捷访问移除\",\n ADD_ITEM_TO_QUICK_ACCESS: \"添加至快捷访问\",\n NO_DATA_TIPS_IN_QUICK_ACCESS: \"暂未添加快捷访问资源,从下方列表或搜索后添加\",\n SITE_MAP_SEARCH_RECOMMEND: \"搜索推荐\",\n MAX_COLLECT_COUNT_TIPS: \"需删除部分收藏,才能添加\",\n NO_DATA_SEARCH_INFO: \"搜索结果为空,请重新输入\",\n SEARCH_ITEM_PLACEHOLDER: \"请输入关键词搜索\",\n};\n\nexport const NS = \"bricks/nav/nav-menu\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import React from \"react\";\n\nexport enum DRAG_DIRECTION {\n Left = \"left\",\n Right = \"right\",\n}\n\nexport interface ContextOfDragProps {\n groupId: string;\n direction?: DRAG_DIRECTION;\n overElement?: HTMLElement;\n allowDrag?: boolean;\n onAllowDrag?: (enable: boolean) => void;\n onDragStart?: (e: React.DragEvent) => void;\n onDragOver?: (e: React.DragEvent) => void;\n onDragEnd?: (e: React.DragEvent) => void;\n onFavoriteUpdate?: (list: any[]) => void;\n}\n\nexport const collectModule = \"sidebarMenuCollect\";\n\nexport const DragContext = React.createContext<ContextOfDragProps>(\n {} as ContextOfDragProps\n);\n","import type { SidebarMenuSimpleItem } from \"@next-shared/general/types\";\nimport {\n MyCollectionApi_listMyCollection,\n MyCollectionApi_ListMyCollectionResponseBody,\n MyCollectionApi_upsertMyCollection,\n} from \"@next-api-sdk/user-service-sdk\";\nimport { DRAG_DIRECTION, collectModule } from \"./constants.js\";\nimport { cloneDeep } from \"lodash\";\nimport { handleHttpError } from \"@next-core/runtime\";\n\nexport class CollectService {\n private maxCollectLength: number;\n private collectMap: Map<string, SidebarMenuSimpleItem[]> = new Map();\n private collectPromise: Map<string, Promise<SidebarMenuSimpleItem[]>> =\n new Map();\n\n constructor(maxCollectLength?: number) {\n this.maxCollectLength = maxCollectLength ?? 10;\n }\n\n public getFavoritesById(id: string): SidebarMenuSimpleItem[] {\n return cloneDeep(this.collectMap.get(id)) ?? [];\n }\n\n public async fetchFavorites(id: string): Promise<SidebarMenuSimpleItem[]> {\n const cachedPromise = this.collectPromise.get(id);\n if (cachedPromise) {\n const collectList = this.collectMap.get(id);\n\n return collectList ? collectList : cachedPromise;\n }\n\n const favoritesPromise = MyCollectionApi_listMyCollection({\n module: collectModule,\n collectionName: id,\n }).then((result) => {\n const list = result.payloads\n ?.map((item) => item.extInfo)\n .filter(Boolean) as SidebarMenuSimpleItem[];\n this.collectMap.set(id, list);\n\n return list;\n }) as Promise<SidebarMenuSimpleItem[]>;\n\n this.collectPromise.set(id, favoritesPromise);\n\n return favoritesPromise;\n }\n\n public setItemAsFavorite(id: string, item: SidebarMenuSimpleItem): void {\n const list = this.getFavoritesById(id);\n\n if (list.length >= this.maxCollectLength) {\n list.pop();\n }\n\n list.unshift(item);\n this.updateFavoriteItems(id, list);\n }\n\n public updateFavoriteItems(id: string, list: SidebarMenuSimpleItem[]): void {\n try {\n this.collectMap.set(id, list);\n MyCollectionApi_upsertMyCollection({\n module: collectModule,\n collectionName: id,\n payloads: list?.map((item) => ({\n name: item.text,\n url: item.to,\n extInfo: item,\n })) as MyCollectionApi_ListMyCollectionResponseBody[\"payloads\"],\n });\n } catch (error) {\n // istanbul ignore next\n handleHttpError(error);\n }\n }\n\n private equalItem(\n prevItem: SidebarMenuSimpleItem,\n item: SidebarMenuSimpleItem\n ): boolean {\n return prevItem.text === item.text && prevItem.to === item.to;\n }\n\n public removeItemFromFavorite(id: string, item: SidebarMenuSimpleItem): void {\n const list = this.getFavoritesById(id);\n const index = list.findIndex((row) => this.equalItem(row, item));\n // istanbul ignore else\n if (index !== -1) {\n list.splice(index, 1);\n this.updateFavoriteItems(id, list);\n }\n }\n\n public isCollected(id: string, item: SidebarMenuSimpleItem): boolean {\n const list = this.getFavoritesById(id);\n return list.some((row) => this.equalItem(row, item));\n }\n\n public toggleFavorite(id: string, item: SidebarMenuSimpleItem): void {\n if (this.isCollected(id, item)) {\n this.removeItemFromFavorite(id, item);\n } else {\n if (this.checkMaxCapacity(id)) return;\n this.setItemAsFavorite(id, item);\n }\n }\n\n public moveFavoriteTo(\n id: string,\n option: {\n from: SidebarMenuSimpleItem;\n to: SidebarMenuSimpleItem;\n direction: DRAG_DIRECTION;\n }\n ): SidebarMenuSimpleItem[] {\n const { from, to, direction } = option;\n\n const list = this.getFavoritesById(id);\n if (this.equalItem(from, to)) return list;\n\n const fromIndex = list.findIndex((row) => this.equalItem(row, from));\n\n // istanbul ignore else\n if (fromIndex !== -1) {\n list.splice(fromIndex, 1);\n\n const toIndex = list.findIndex((row) => this.equalItem(row, to));\n\n // istanbul ignore else\n if (toIndex !== -1) {\n if (direction === DRAG_DIRECTION.Left) {\n list.splice(toIndex, 0, from);\n } else {\n list.splice(toIndex + 1, 0, from);\n }\n\n this.updateFavoriteItems(id, list);\n }\n }\n\n return list;\n }\n\n checkMaxCapacity(groupId: string): boolean {\n return this.getFavoritesById(groupId).length >= this.maxCollectLength;\n }\n}\n\nexport const collectService = new CollectService();\n","import React, {\n useMemo,\n useCallback,\n useRef,\n useState,\n useEffect,\n useContext,\n DragEvent,\n} from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { Link, LinkProps } from \"@next-bricks/basic/link\";\n\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport classNames from \"classnames\";\nimport { SidebarMenuSimpleItem } from \"@next-shared/general/types\";\nimport { K, NS, locales } from \"../i18n.js\";\nimport { collectService } from \"./CollectService.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { DRAG_DIRECTION, DragContext } from \"./constants.js\";\n\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\ninitializeReactI18n(NS, locales);\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\n\ninterface CellItemProps {\n data: SidebarMenuSimpleItem;\n suffix?: React.ReactNode;\n className?: string;\n}\n\nexport type OnFavoriteCallback = (collectList: SidebarMenuSimpleItem[]) => void;\n\ninterface PlaceholderCompProps {\n data: SidebarMenuSimpleItem;\n direction: DRAG_DIRECTION;\n onDragOver?: (e: DragEvent) => void;\n}\nexport function PlaceholderDropComp({\n data,\n onDragOver,\n direction,\n}: PlaceholderCompProps) {\n const { groupId, onFavoriteUpdate } = useContext(DragContext);\n const handleDrop = (e: DragEvent) => {\n const formData = JSON.parse(e.dataTransfer.getData(\"application/json\"));\n\n const newDataList = collectService.moveFavoriteTo(groupId, {\n from: formData,\n to: data,\n direction,\n });\n\n onFavoriteUpdate?.(newDataList);\n };\n\n return (\n <div\n className=\"indicate-wrapper\"\n data-direction={direction}\n data-to={data.to}\n onDragEnter={(e) =>\n ((e.target as HTMLElement).style.background = \"var(--palette-blue-1)\")\n }\n onDragLeave={(e) =>\n ((e.target as HTMLElement).style.background = \"transparent\")\n }\n data-text={data.text}\n onDragOver={onDragOver}\n onDrop={handleDrop}\n />\n );\n}\n\nexport function ItemTag(props: CellItemProps): React.ReactElement {\n const { data, suffix, className } = props;\n\n const {\n allowDrag,\n onDragStart,\n overElement,\n direction,\n onDragEnd,\n onDragOver,\n } = useContext(DragContext);\n const containerRef = useRef<any>(null);\n\n const [isDragIng, setIsDragIng] = useState(false);\n\n const isActive = useMemo(\n () =>\n overElement &&\n overElement.dataset.to == data.to &&\n overElement.dataset.text === overElement.dataset.text,\n [overElement, data]\n );\n\n const handleDragStart = (e: React.DragEvent) => {\n if (!allowDrag) {\n e.preventDefault();\n } else {\n setIsDragIng(true);\n e.dataTransfer?.setData(\"application/json\", JSON.stringify(data));\n onDragStart?.(e);\n }\n };\n\n const handleDragEnd = (e: React.DragEvent) => {\n setIsDragIng(false);\n onDragEnd?.(e);\n };\n\n const handleOver = (e: React.DragEvent) => {\n e.dataTransfer.dropEffect = \"none\";\n onDragOver?.(e);\n };\n\n return (\n <>\n {isActive && direction === DRAG_DIRECTION.Left && (\n <PlaceholderDropComp\n data={data}\n onDragOver={onDragOver}\n direction={DRAG_DIRECTION.Left}\n />\n )}\n <WrappedLink\n data-to={data.to}\n data-text={data.text}\n ref={containerRef}\n draggable\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragOver={handleOver}\n className={classNames(\"tag-container\", className, {\n \"is-drag\": isDragIng,\n })}\n url={data.to as string}\n href={data.href}\n target={data.target as LinkProps[\"target\"]}\n >\n <span className=\"tag-text ellipsis\" title={data.text}>\n {data.text}\n </span>\n <span className=\"tag-suffix\" onClick={(e) => e.preventDefault()}>\n {suffix}\n </span>\n </WrappedLink>\n\n {isActive && direction === DRAG_DIRECTION.Right && (\n <PlaceholderDropComp\n data={data}\n onDragOver={onDragOver}\n direction={DRAG_DIRECTION.Right}\n />\n )}\n </>\n );\n}\n\ninterface QuickVisitTagProps extends CellItemProps {\n groupId: string;\n onFavorite?: OnFavoriteCallback;\n}\n\nexport function QuickVisitItem(props: QuickVisitTagProps): React.ReactElement {\n const { t } = useTranslation(NS);\n const { onAllowDrag } = useContext(DragContext);\n const { data, onFavorite, groupId } = props;\n const suffixRef = useRef<any>();\n const iconRef = useRef<any>();\n\n const handleRemove = useCallback(() => {\n collectService.removeItemFromFavorite(groupId, data);\n onFavorite?.(collectService.getFavoritesById(groupId));\n }, [groupId, data, onFavorite]);\n\n const handleMouseDown = () => {\n onAllowDrag?.(true);\n };\n\n useEffect(() => {\n const icon = iconRef.current;\n icon.addEventListener(\"click\", handleRemove);\n\n return () => {\n icon.removeEventListener(\"click\", handleRemove);\n };\n }, [handleRemove]);\n\n useEffect(() => {\n const suffix = suffixRef.current;\n const handleClick = (e: MouseEvent) => {\n e.preventDefault();\n };\n suffix.addEventListener(\"click\", handleClick);\n\n return () => {\n suffix.removeEventListener(\"click\", handleClick);\n };\n }, []);\n\n const suffixGroups = useMemo(\n () => (\n <div className=\"operation\" ref={suffixRef}>\n <WrappedTooltip\n content={t(K.REMOVE_ITEM_FROM_QUICK_ACCESS)!}\n hoist\n placement=\"bottom\"\n className=\"close\"\n >\n <WrappedIcon lib=\"antd\" icon=\"close\" ref={iconRef} />\n </WrappedTooltip>\n <span className=\"drag-wrapper\" onMouseDown={handleMouseDown}>\n :::\n </span>\n </div>\n ),\n [t, handleRemove]\n );\n\n return (\n <ItemTag className=\"visit-container\" suffix={suffixGroups} data={data} />\n );\n}\n\ninterface StarIconProps {\n onFavorite?: OnFavoriteCallback;\n className?: string;\n groupId: string;\n data: SidebarMenuSimpleItem;\n active?: boolean;\n}\n\nexport function StarIcon({\n onFavorite,\n className,\n groupId,\n data,\n active,\n}: StarIconProps): React.ReactElement {\n const { t } = useTranslation(NS);\n const iconRef = useRef<any>();\n\n const handleClick = (e: React.MouseEvent) => {\n e.preventDefault();\n collectService.toggleFavorite(groupId, data);\n onFavorite?.(collectService.getFavoritesById(groupId));\n };\n\n useEffect(() => {\n // workaround for prevent Link jump when click.\n const icon = iconRef.current;\n icon.addEventListener(\"click\", handleClick);\n\n return () => {\n icon.removeEventListener(\"click\", handleClick);\n };\n }, []);\n\n return (\n <WrappedTooltip\n content={\n active\n ? t(K.REMOVE_ITEM_FROM_QUICK_ACCESS)!\n : collectService.checkMaxCapacity(groupId)\n ? t(K.MAX_COLLECT_COUNT_TIPS)!\n : t(K.ADD_ITEM_TO_QUICK_ACCESS)!\n }\n className={classNames(\"star-icon\", className)}\n >\n <WrappedIcon\n ref={iconRef}\n className={classNames({ active })}\n lib=\"antd\"\n icon=\"star\"\n {...(active ? { theme: \"filled\" } : {})}\n />\n </WrappedTooltip>\n );\n}\n\ninterface RecommendItemProps extends CellItemProps {\n active?: boolean;\n groupId: string;\n onFavorite?: OnFavoriteCallback;\n}\n\nexport function RecommendItem(props: RecommendItemProps): React.ReactElement {\n const { data, className, groupId, onFavorite, active } = props;\n\n const suffixGroups = useMemo(\n () => (\n <StarIcon\n groupId={groupId}\n active={active}\n className=\"star\"\n data={data}\n onFavorite={onFavorite}\n />\n ),\n [data, groupId, onFavorite, active]\n );\n\n return (\n <ItemTag\n className={classNames(\"recommend-container\", className)}\n suffix={suffixGroups}\n data={data}\n />\n );\n}\n","import {\n SidebarMenuItem,\n SidebarMenuGroup,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\n\nfunction walkMenuItem(item: SidebarMenuItem, list: SidebarMenuSimpleItem[]) {\n if (\n (item as SidebarMenuGroup).type === \"group\" &&\n Array.isArray((item as SidebarMenuGroup).items)\n ) {\n walkMenuItems((item as SidebarMenuGroup).items, list);\n } else {\n list.push(item as SidebarMenuSimpleItem);\n }\n}\n\nfunction walkMenuItems(\n items: SidebarMenuItem[],\n list: SidebarMenuSimpleItem[]\n): void {\n for (const item of items) {\n walkMenuItem(item, list);\n }\n}\n\nexport function flatMenuItems(item: SidebarMenuItem): SidebarMenuSimpleItem[] {\n const list: SidebarMenuSimpleItem[] = [];\n\n walkMenuItem(item, list);\n\n return list;\n}\n\nexport function processGroupItems(groups: SidebarMenuGroup[]): Array<{\n groupFrom: string;\n groups: SidebarMenuGroup[];\n}> {\n const groupCategoryMap = new Map<string, SidebarMenuGroup[]>();\n const categoryOrder = new Set<string>();\n\n groups?.forEach((item) => {\n const from = item.groupFrom ?? \"default\";\n categoryOrder.add(from);\n\n const value = groupCategoryMap.get(from);\n\n if (!value) {\n groupCategoryMap.set(from, [item]);\n } else {\n value!.push(item);\n }\n });\n\n return Array.from(categoryOrder).map((key) => ({\n groupFrom: key,\n groups: groupCategoryMap!.get(key)!,\n }));\n}\n","import React, { useEffect, useState } from \"react\";\nimport type {\n SidebarMenuSimpleItem,\n SidebarMenuGroup,\n} from \"@next-shared/general/types\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { StarIcon, OnFavoriteCallback } from \"./ItemTag.js\";\nimport { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { collectService } from \"./CollectService.js\";\nimport { processGroupItems } from \"./processor.js\";\nimport classNames from \"classnames\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\ninterface GroupViewProps {\n groups: SidebarMenuGroup[];\n groupId: string;\n selectedKey?: string[];\n onFavorite: OnFavoriteCallback;\n}\n\nexport const itemColumnWidth = 240;\n\nexport function GroupView(props: GroupViewProps): React.ReactElement {\n const { groupId, selectedKey, onFavorite } = props;\n const groupMenus = processGroupItems(props.groups);\n\n return (\n <div className=\"group-view\">\n {groupMenus.map((item, index) => {\n return (\n <div key={index}>\n {index !== 0 && <div className=\"divider\" />}\n {item.groupFrom === \"default\" ? (\n <DefaultGroup\n groupId={groupId}\n selectedKey={selectedKey}\n groups={item.groups}\n onFavorite={onFavorite}\n />\n ) : (\n <CustomGroup\n groupId={groupId}\n selectedKey={selectedKey}\n groups={item.groups}\n onFavorite={onFavorite}\n />\n )}\n </div>\n );\n })}\n </div>\n );\n}\n\ninterface BaseGroupProps {\n groupId: string;\n selectedKey?: string[];\n onFavorite: OnFavoriteCallback;\n groups: SidebarMenuGroup[];\n}\nexport function DefaultGroup(props: BaseGroupProps): React.ReactElement {\n const { groupId, onFavorite, selectedKey, groups } = props;\n\n const groupRef = React.useRef<HTMLDivElement>(null);\n const [columnCount, setColumnCount] = useState<number>();\n\n useEffect(() => {\n // istanbul ignore next\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === groupRef.current) {\n const width = entry.contentRect.width;\n\n if (width) {\n setColumnCount(Math.floor(width / itemColumnWidth));\n }\n }\n }\n });\n\n resizeObserver.observe(groupRef.current as HTMLDivElement);\n\n return () => resizeObserver.disconnect();\n }, []);\n\n return (\n <div\n className=\"group\"\n ref={groupRef}\n style={\n (columnCount as number) < groups?.length\n ? { columnCount, columnWidth: itemColumnWidth }\n : {\n display: \"grid\",\n gridTemplateColumns: `repeat(auto-fit, ${itemColumnWidth}px)`,\n }\n }\n >\n {groups.map((group) => (\n <div key={group.key} className=\"group-item\">\n <div className=\"title\">{group.title}</div>\n <div className=\"content\">\n {group.items.map((item) => (\n <GroupItem\n key={item.key}\n groupId={groupId}\n selectedKey={selectedKey}\n data={item as SidebarMenuSimpleItem}\n onFavorite={onFavorite}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\nexport function CustomGroup(props: BaseGroupProps): React.ReactElement {\n const { groupId, onFavorite, selectedKey, groups } = props;\n\n return (\n <div className=\"custom-group\">\n {groups.map((group) => (\n <div key={group.key}>\n <div className=\"title\">{group.title}</div>\n <div\n className=\"custom-content\"\n style={{\n display: \"grid\",\n gridTemplateColumns: `repeat(auto-fit, ${itemColumnWidth}px)`,\n }}\n >\n {group.items.map((item) => (\n <GroupItem\n key={item.key}\n selectedKey={selectedKey}\n groupId={groupId}\n data={item as SidebarMenuSimpleItem}\n onFavorite={onFavorite}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\ninterface GroupItemProps {\n data: SidebarMenuSimpleItem;\n selectedKey?: string[];\n groupId: string;\n onFavorite: OnFavoriteCallback;\n}\nexport function GroupItem(props: GroupItemProps): React.ReactElement {\n const { data, groupId, onFavorite, selectedKey } = props;\n\n return (\n <WrappedLink\n key={data.key}\n icon={data.icon}\n url={data.to as string}\n href={data.href}\n target={data.target as LinkProps[\"target\"]}\n className={classNames(\"item-link\", {\n active: selectedKey?.includes(data.key as string),\n })}\n >\n <span className=\"ellipsis\" title={data.text}>\n {data.text}\n </span>\n <span className=\"icon-wrapper\">\n <StarIcon\n active={collectService.isCollected(groupId, data)}\n groupId={groupId}\n data={data}\n onFavorite={onFavorite}\n />\n </span>\n </WrappedLink>\n );\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { QuickVisitItem, RecommendItem } from \"./ItemTag.js\";\nimport { GroupView } from \"./GroupItem.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { K, NS } from \"../i18n.js\";\nimport { DragContext } from \"./constants.js\";\nimport { useTranslation } from \"@next-core/i18n/react\";\nimport { collectService } from \"./CollectService.js\";\nimport { flatMenuItems } from \"./processor.js\";\nimport { DRAG_DIRECTION } from \"./constants.js\";\nimport classNames from \"classnames\";\nimport { throttle, debounce } from \"lodash\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface InputEvents {\n change: CustomEvent<string>;\n}\n\nexport interface InputEventsMap {\n onValueChange: \"change\";\n}\n\nconst WrappedInput = wrapBrick<any, any, InputEvents, InputEventsMap>(\n \"eo-input\",\n {\n onValueChange: \"change\",\n }\n);\n\ninterface SiteMapItemProps {\n menuGroup: SidebarMenuGroup;\n selectedKey?: string[];\n visible?: boolean;\n}\n\nexport function findDropElement(element: HTMLElement): HTMLElement | undefined {\n let node = element;\n\n while (node) {\n if (node.draggable || node.className === \"indicate-wrapper\") {\n return node;\n }\n\n node = node.parentElement as HTMLElement;\n }\n}\n\nexport function isValidDragAction(\n dragElement: HTMLElement,\n dropElement: HTMLElement\n): boolean {\n return (\n dragElement &&\n dropElement &&\n !(\n dragElement.dataset.to === dropElement.dataset.to &&\n dragElement.dataset.text === dropElement.dataset.text\n )\n );\n}\n\nexport function SiteMapItem(props: SiteMapItemProps) {\n const { t } = useTranslation(NS);\n const { menuGroup, selectedKey, visible } = props;\n const groupId = menuGroup.groupId as string;\n\n const [favoriteList, setFavoriteList] = useState<SidebarMenuSimpleItem[]>([]);\n const flatItems = useMemo(() => flatMenuItems(menuGroup), [menuGroup]);\n const [q, setQ] = useState<string>();\n const [filter, setFilters] = useState<SidebarMenuSimpleItem[]>([]);\n const [dragElement, setDragElement] = useState<HTMLElement>();\n const [overElement, setOverElement] = useState<HTMLElement>();\n const [allowDrag, setAllowDrag] = useState<boolean>();\n const [direction, setDirection] = useState<DRAG_DIRECTION>();\n const [initialized, setInitialized] = useState(false);\n\n useEffect(() => {\n if (visible && !initialized) {\n setInitialized(true);\n }\n }, [visible, initialized]);\n\n const handleFavorite = (collectList: SidebarMenuSimpleItem[]) => {\n setFavoriteList(collectList);\n };\n\n const handleSearch = useCallback(\n (e: CustomEvent<string>): void => {\n const v = e.detail;\n setQ(e.detail);\n\n setFilters(\n !v\n ? flatItems\n : flatItems.filter((item) =>\n item.text.toLowerCase().includes(e.detail.toLowerCase())\n )\n );\n },\n [flatItems]\n );\n\n const debouncedHandleSearch = useMemo(\n () => debounce(handleSearch, 200),\n [handleSearch]\n );\n\n const handleDragStart = (e: React.DragEvent): void => {\n setDragElement(e.target as HTMLElement);\n };\n\n const handleDragOver = useMemo(\n () =>\n throttle((e: React.DragEvent): void => {\n e.preventDefault();\n\n const dropElement = findDropElement(e.target as HTMLElement);\n setOverElement(dropElement);\n\n if (\n dropElement &&\n isValidDragAction(dropElement, dragElement as HTMLElement)\n ) {\n if (dropElement.className === \"indicate-wrapper\") {\n setDirection(dropElement.dataset.direction as DRAG_DIRECTION);\n } else {\n const { width, left } = dropElement.getBoundingClientRect();\n\n const right = e.clientX > left + width / 2;\n setDirection(right ? DRAG_DIRECTION.Right : DRAG_DIRECTION.Left);\n }\n } else {\n setDirection(undefined);\n }\n }),\n [dragElement]\n );\n\n const handleDragEnd = (): void => {\n setDragElement(undefined);\n setDirection(undefined);\n setAllowDrag(false);\n };\n\n const handleAllowDrag = (enable: boolean): void => {\n setAllowDrag(enable);\n };\n\n useEffect(() => {\n (async () => {\n if (visible) {\n const list = await collectService.fetchFavorites(groupId);\n setFavoriteList(list);\n }\n })();\n }, [groupId, visible]);\n\n return (\n initialized && (\n <div className=\"site-map\">\n <div className=\"search-wrapper\">\n <WrappedInput\n className=\"search-input\"\n style={{ width: \"100%\" }}\n onValueChange={debouncedHandleSearch}\n placeholder={t(K.SEARCH_ITEM_PLACEHOLDER)}\n >\n <WrappedIcon slot=\"prefix\" lib=\"antd\" icon=\"search\" />\n </WrappedInput>\n </div>\n\n {!q && (\n <div>\n {favoriteList.length !== 0 && (\n <div\n className={classNames(\"visit-access\", {\n hasData: favoriteList.length,\n })}\n >\n <span className=\"title\">{t(K.QUICK_ACCESS)}</span>\n <DragContext.Provider\n value={{\n groupId,\n overElement,\n direction,\n allowDrag,\n onDragStart: handleDragStart,\n onDragOver: handleDragOver,\n onDragEnd: handleDragEnd,\n onAllowDrag: handleAllowDrag,\n onFavoriteUpdate: handleFavorite,\n }}\n >\n <div className=\"tag-wrapper\">\n {favoriteList.map((item) => (\n <QuickVisitItem\n onFavorite={handleFavorite}\n groupId={groupId}\n key={item.key}\n data={item}\n />\n ))}\n </div>\n </DragContext.Provider>\n </div>\n )}\n\n <GroupView\n groupId={groupId}\n selectedKey={selectedKey}\n groups={menuGroup.items as SidebarMenuGroup[]}\n onFavorite={handleFavorite}\n />\n </div>\n )}\n\n {q && (\n <div className=\"search-panel\">\n <span className=\"title\">{t(K.SITE_MAP_SEARCH_RECOMMEND)}</span>\n {filter.length ? (\n <div className=\"recommend-wrapper\">\n {filter.map((item) => (\n <RecommendItem\n key={item.key}\n groupId={groupId}\n data={item}\n onFavorite={handleFavorite}\n active={collectService.isCollected(groupId, item)}\n />\n ))}\n </div>\n ) : (\n <div className=\"no-data-tips\">{t(K.NO_DATA_SEARCH_INFO)}</div>\n )}\n </div>\n )}\n </div>\n )\n );\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedLinkItem = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nexport function isGroup(item: SidebarMenuItem): item is SidebarMenuGroup {\n return item.type === \"group\";\n}\n\nexport function isSubMenu(\n item: SidebarMenuGroup,\n groupAsSubMenu?: boolean\n): item is SidebarMenuGroup {\n return Boolean(\n item.type === \"subMenu\" || (groupAsSubMenu && item.type === \"group\")\n );\n}\n\nexport function isSimple(item: SidebarMenuItem): item is SidebarMenuSimpleItem {\n return item.type === \"default\" || !item.type;\n}\n\nexport const renderLinkCom = (\n item: SidebarMenuSimpleItem,\n linkStyle?: React.CSSProperties\n): React.ReactElement => {\n return (\n <WrappedLinkItem\n type=\"plain\"\n key={item.key}\n url={item.to as string}\n href={item.href}\n target={item.target as LinkProps[\"target\"]}\n style={linkStyle}\n >\n <span className=\"menu-item-label\">{item.text}</span>\n </WrappedLinkItem>\n );\n};\n\nexport const renderSpanCom = (\n item: SidebarMenuGroup,\n subMenu?: boolean\n): React.ReactElement => {\n return (\n <span key={item.key} className=\"menu-item-label\">\n {item.title}\n {subMenu && <WrappedIcon lib=\"fa\" icon=\"angle-right\" />}\n </span>\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-three-level-menu-search-input-background:linear-gradient(90deg,#e8eef6 0%,rgba(233,234,243,0) 100%);--eo-three-level-menu-hover-color:#6bb3ff;--eo-three-level-menu-title-color:#0b5ad9;--eo-three-level-menu-active-color:#1a7aff;--eo-three-level-menu-search-tag-color:rgb(89,89,89);--eo-three-level-menu-search-tag-background:rgb(245,245,245)}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-three-level-menu-search-input-background:linear-gradient(124deg,rgba(255,255,255,0.36) 0%,rgba(255,255,255,0) 100%);--eo-three-level-menu-hover-color:rgba(54,95,175,0.85);--eo-three-level-menu-title-color:#6597e8;--eo-three-level-menu-active-color:#3f75dd;--eo-three-level-menu-search-tag-color:rgb(140,140,140);--eo-three-level-menu-search-tag-background:rgb(107,107,107)}`, \"\"]);\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:inline-block;background:none}:host::part(menu-item),\neo-link{display:block}eo-menu-item{margin:4px 0}.sub-menu-wrapper eo-menu-item:first-child,\n.group-wrapper eo-menu-item:first-child{margin-top:0}.sub-menu-wrapper eo-menu-item:last-child{margin-bottom:0}.nav-menu-wrapper{display:flex;align-items:center;gap:8px;white-space:nowrap}.popover .sub-menu-item-label{padding:2px 0px;color:var(--color-normal-text)}.popover.subprime{display:block;width:100%}.sub-menu-wrapper{min-width:160px;max-height:calc(100vh - 100px);background-color:var(--antd-dropdown-menu-bg);padding:12px 0;border-radius:6px;box-shadow:0px 4px 12px 0px rgba(17,37,64,0.08);overflow-x:hidden;overflow-y:auto}.overflow-menu-wrapper{display:flex;flex-direction:column}.sub-menu-wrapper > eo-menu-item{display:block;width:100%}.sub-menu-wrapper > eo-menu-item .menu-item-label,\n.sub-menu-wrapper > eo-popover .menu-item-label,\n.sub-menu-wrapper > .group-wrapper > eo-popover .menu-item-label,\n.sub-menu-wrapper > .group-wrapper > eo-menu-item .menu-item-label{display:block;width:100%;padding:7px 24px;box-sizing:border-box;line-height:22px;color:var(--color-normal-text)}.sub-menu-wrapper > eo-popover.subprime .menu-item-label,\n.sub-menu-wrapper > .group-wrapper > eo-popover.subprime .menu-item-label{display:flex;justify-content:space-between;align-items:center}.sub-menu-wrapper .menu-item-label{border-radius:0}.menu-item-label{display:inline-block;cursor:pointer;border-radius:4px;padding:1px 8px;line-height:22px;color:var(--color-normal-text)}.menu-item-label:hover{background-color:var(--top-menu-item-hover-bg)}.group-label{padding-left:16px;font-size:12px;color:var(--palette-gray-7);padding:8px 16px;line-height:20px;margin-top:4px}.sub-menu-wrapper .group-label:first-child{margin-top:0px}.sub-menu-wrapper eo-menu-item[active] .menu-item-label{background:var(--top-menu-item-selected-bg);color:var(--color-brand);font-weight:500}.three-level-menu-container{max-width:980px;max-height:510px;overflow:auto;min-width:160px}.three-level-menu-item-container{display:grid;grid-gap:20px;gap:20px;margin-top:13px;padding:5px 10px}.three-level-menu-item-title-container{display:flex;align-items:center}.three-level-menu-item-title-icon{width:4px;height:4px;background-color:var(--eo-three-level-menu-title-color);margin-right:4px;transform:rotate(45deg)}.three-level-menu-item-title{font-size:14px;font-family:PingFang-SC-Medium,PingFang-SC;font-weight:500;color:var(--eo-three-level-menu-title-color)}.three-level-menu-container .menu-item-label{margin-top:4px;margin-left:4px;padding:4px;width:100%}.three-level-menu-container .active .menu-item-label{color:var(--eo-three-level-menu-active-color)}.three-level-menu-search-result .menu-item-label{margin:0px}.three-level-menu-container .menu-item-label:hover{color:var(--eo-three-level-menu-hover-color)}.three-level-menu-popover .sub-menu-wrapper{padding-top:0px}.three-level-menu-search-container{background:var(--eo-three-level-menu-search-input-background);padding:5px 10px}.three-level-menu-search-result{min-width:187px;max-width:328px;max-height:324px;background-color:var(--antd-dropdown-menu-bg);box-shadow:0px 4px 12px 0px rgba(17,37,64,0.08);overflow:scroll}.three-level-menu-search-history-container{padding:5px 10px}.three-level-menu-search-history-text{background:var(--eo-three-level-menu-search-tag-background);border-radius:2px;font-size:7px;line-height:11px;display:inline-block;height:11px;padding:4px;color:var(--eo-three-level-menu-search-tag-color);margin-right:8px}.three-level-menu-search-history-title{color:#8c8c8c;margin:10px 0;display:flex;align-items:center}.three-level-menu-search-history-icon{margin-left:5px}.sub-menu-sit-map-wrapper{box-sizing:border-box;width:calc(100vw);padding:0 60px 24px;max-height:520px;background-color:var(--antd-dropdown-menu-bg);border-radius:6px;box-shadow:0px 4px 12px 0px rgba(17,37,64,0.08);overflow-x:hidden;overflow-y:auto}.overflow-menu-item{position:absolute;opacity:0;height:0;pointer-events:none}.in-group-site-map{width:auto;padding:0 20px}`, \"\"]);\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, `.group .item-link, .custom-group .item-link{font-weight:400}.group .item-link:hover, .custom-group .item-link:hover{background-color:var(--color-fill-bg-base-1)}.group .item-link:hover::part(link), .custom-group .item-link:hover::part(link){color:var(--color-brand-hover)}.group .item-link:hover::part(icon), .custom-group .item-link:hover::part(icon){color:var(--color-brand-hover)}.group .item-link.active::part(link),\n .custom-group .item-link.active::part(link),\n .group .item-link.active::part(icon),\n .custom-group .item-link.active::part(icon){color:var(--palette-blue-8)}.group .item-link::part(link), .custom-group .item-link::part(link){padding:8px 12px 8px 24px;display:flex;gap:4px;color:var(--color-header-text)}.group .item-link::part(icon), .custom-group .item-link::part(icon){color:var(--color-normal-text)}.group .title, .custom-group .title{padding:8px 16px 8px 24px;font-size:16px;font-weight:500;position:relative}.group .title::before, .custom-group .title::before{content:\"\";position:absolute;width:6px;height:6px;top:17px;left:9px;transform:rotate(45deg);background:var(--color-secondary-text)}.group .content .icon-wrapper, .custom-group .content .icon-wrapper, .group .custom-content .icon-wrapper, .custom-group .custom-content .icon-wrapper{color:var(--color-secondary-text);font-size:16px;display:none;margin-left:auto}.group .content .item-link:hover .icon-wrapper, .custom-group .content .item-link:hover .icon-wrapper, .group .custom-content .item-link:hover .icon-wrapper, .custom-group .custom-content .item-link:hover .icon-wrapper{display:block}.group .content .item-link:hover .icon-wrapper:hover, .custom-group .content .item-link:hover .icon-wrapper:hover, .group .custom-content .item-link:hover .icon-wrapper:hover, .custom-group .custom-content .item-link:hover .icon-wrapper:hover{color:var(--color-brand-hover)}.group .content, .custom-group .content{display:flex;flex-direction:column}.group .group-item, .custom-group .group-item{page-break-inside:avoid;break-inside:avoid}.group-view{min-height:300px}.group-view .divider{height:2px;background:var(--color-text-divider-line);margin:16px 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, `.tag-container::part(link){display:flex;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-moz-user-select:none;justify-content:space-between;background-color:var(--color-fill-bg-base-1);border-radius:2px;padding:1px 6px}.tag-container .tag-text{color:var(--color-normal-text);font-weight:400}.tag-container:hover .tag-text{color:var(--color-brand-hover)}.tag-container .tag-suffix{display:inline-flex;font-size:12px;gap:4px;align-items:center;color:var(--color-secondary-text)}.tag-container.is-drag{opacity:0.4}.indicate-wrapper{border:1px dashed var(--color-brand-hover);border-radius:4px;height:20px;margin:2px 0}.close{display:inline-flex;margin-top:2px;padding:0 2px}.close:hover{color:var(--color-error)}.drag-wrapper{cursor:move}.drag-wrapper:hover{color:var(--color-brand-hover)}.star-icon{display:flex;alignitems:center;color:var(--color-secondary-text)}.star-icon:hover{color:var(--color-brand-hover)}.star-icon .active{color:var(--palette-yellow-6)}.recommend-container:hover .star{display:inline-flex}.recommend-container .star{font-size:13px;display:none}.visit-container:hover .operation{display:inline-flex;align-items:center}.visit-container .operation{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.site-map .search-wrapper{position:-webkit-sticky;position:sticky;top:0;z-index:9999;padding-top:24px;padding-bottom:16px;background:var(--antd-dropdown-menu-bg)}.site-map .search-input::part(affix-wrapper){border:none;border-bottom:1px solid var(--antd-input-border-color);border-radius:0px;background:transparent}.site-map .visit-access .title, .site-map .search-panel .title{display:inline-block;padding:2px 16px 2px 24px;font-weight:500;line-height:24px;position:relative}.site-map .visit-access .title::before, .site-map .search-panel .title::before{content:\"\";position:absolute;width:6px;height:6px;top:10px;left:9px;border-radius:50%;background:var(--color-secondary-text)}.site-map .visit-access .no-data-tips, .site-map .search-panel .no-data-tips{display:flex;margin:16px 0 32px;align-items:center;justify-content:center;color:var(--color-secondary-text)}.site-map .visit-access{margin-bottom:8px}.site-map .visit-access.hasData{display:flex}.site-map .visit-access .tag-wrapper{flex:1;display:grid;grid-template-columns:repeat(auto-fit,200px);grid-gap:8px;gap:8px}.site-map .ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-map .search-panel .recommend-wrapper{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,200px);grid-gap:8px;gap:8px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\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 { Location, parsePath } from \"history\";\nimport { matchPath } from \"@next-core/runtime\";\nimport type {\n SidebarMenuSimpleItem,\n SidebarMenuItem,\n SidebarMenuGroup,\n} from \"./types.js\";\n\nexport function isGroup(item: SidebarMenuItem): item is SidebarMenuGroup {\n return item.type === \"group\";\n}\n\nexport function isSubMenu(\n item: SidebarMenuItem,\n groupAsSubMenu?: boolean\n): item is SidebarMenuGroup {\n return Boolean(\n item.type === \"subMenu\" || (groupAsSubMenu && item.type === \"group\")\n );\n}\n\nexport function initMenuItemAndMatchCurrentPathKeys(\n menuItems: SidebarMenuItem[],\n pathname: string,\n search: string,\n parentCursor: string\n): {\n selectedKeys: string[];\n openedKeys: string[];\n matchedKeys: string[];\n} {\n const selectedKeys: string[] = [];\n const openedKeys: string[] = [];\n const matchedKeys: string[] = [];\n\n let cursor = 0;\n menuItems.forEach((item) => {\n // key的格式最终为0,1,2,0.1,0.2,0.1.1,0.1.2\n item.key = parentCursor === \"\" ? `${cursor}` : `${parentCursor}.${cursor}`;\n if (isGroup(item) || isSubMenu(item)) {\n const tmp = initMenuItemAndMatchCurrentPathKeys(\n item.items,\n pathname,\n search,\n item.key\n );\n selectedKeys.push(...tmp.selectedKeys);\n if (tmp.selectedKeys.length || item.defaultExpanded) {\n openedKeys.push(item.key);\n }\n openedKeys.push(...tmp.openedKeys);\n matchedKeys.push(...tmp.matchedKeys);\n } else {\n if (matchMenuItem(item, pathname, search)) {\n selectedKeys.push(String(item.key));\n\n const keyPath = item.key.split(\".\");\n\n for (let i = 0; i < keyPath.length; i++) {\n matchedKeys.push(keyPath.slice(0, i + 1).join(\".\"));\n }\n }\n }\n cursor += 1;\n });\n if (selectedKeys.length && parentCursor !== \"\") {\n openedKeys.push(parentCursor);\n }\n return {\n selectedKeys: selectedKeys,\n openedKeys: openedKeys,\n matchedKeys: matchedKeys,\n };\n}\n\nfunction getMatchOfSearch(\n currentSearch: string,\n toSearch: string | undefined\n): boolean {\n const current = new URLSearchParams(currentSearch);\n const to = new URLSearchParams(toSearch);\n for (const [key, value] of to.entries()) {\n // Allow `?k=` to match `?` (when `k` doesn't exist)\n if ((current.get(key) ?? \"\") !== value) {\n return false;\n }\n }\n return true;\n}\n\nexport function matchMenuItem(\n item: SidebarMenuSimpleItem,\n pathname: string,\n search: string\n): boolean {\n if (!item.to) return false;\n const to = typeof item.to === \"object\" ? item.to : parsePath(item.to);\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath = to.pathname!.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n let match = !!matchPath(pathname, {\n path: escapedPath,\n exact: item.exact,\n });\n\n if (match && item.activeMatchSearch) {\n match = getMatchOfSearch(search, to.search);\n }\n\n if (!match && Array.isArray(item.activeIncludes)) {\n for (const include of item.activeIncludes) {\n let parseInclude: Location | undefined;\n const hasSearch = include.includes(\"?\");\n\n if (hasSearch) {\n parseInclude = parsePath(include);\n }\n match = !!matchPath(pathname, {\n path: hasSearch ? parseInclude!.pathname : include,\n exact: true,\n });\n\n if (match && parseInclude?.search) {\n match = getMatchOfSearch(search, parseInclude.search);\n }\n\n if (match) {\n break;\n }\n }\n }\n\n if (match && Array.isArray(item.activeExcludes)) {\n for (const include of item.activeExcludes) {\n match = !matchPath(pathname, {\n path: include,\n exact: true,\n });\n if (!match) {\n break;\n }\n }\n }\n\n return match;\n}\n"],"names":["initializeReactI18n","NS","locales","WrappedPopover","wrapBrick","WrappedSearch","onChange","onSearch","WrappedIcon","LOCAL_STORAGE_PREFIX","maxVisitorLength","ThreeLevelMenuPopoverContent","props","useTranslation","menuItem","selectedKey","items","searchResult","setSearchResult","useState","searchKey","setSearchKey","triggerRef","useRef","nameSpace","concat","title","storage","useMemo","JsonStorage","localStorage","searchHistory","getItem","popoverTriggerClick","_triggerRef$current","current","click","React","className","onClick","e","stopPropagation","placeholder","t","K","SEARCH_BY_MENU_NAME","detail","list","uniq","length","pop","setItem","flatMap","i","filter","text","toLowerCase","includes","trim","onFocus","onBlur","trigger","placement","anchorDisplay","distance","slot","ref","map","renderLinkCom","width","style","height","textAlign","lineHeight","NO_DATA","SEARCH_HISTORY","lib","theme","icon","h","key","gridTemplateColumns","item","index","_item$items","classnames","active","en","QUICK_ACCESS","REMOVE_ITEM_FROM_QUICK_ACCESS","ADD_ITEM_TO_QUICK_ACCESS","NO_DATA_TIPS_IN_QUICK_ACCESS","SITE_MAP_SEARCH_RECOMMEND","MAX_COLLECT_COUNT_TIPS","NO_DATA_SEARCH_INFO","SEARCH_ITEM_PLACEHOLDER","zh","DRAG_DIRECTION","collectModule","DragContext","collectService","constructor","maxCollectLength","_defineProperty","Map","this","getFavoritesById","id","_cloneDeep","cloneDeep","collectMap","get","fetchFavorites","_this","_asyncToGenerator","cachedPromise","collectPromise","favoritesPromise","MyCollectionApi_listMyCollection","module","collectionName","then","result","_result$payloads","payloads","extInfo","Boolean","set","setItemAsFavorite","unshift","updateFavoriteItems","MyCollectionApi_upsertMyCollection","name","url","to","error","handleHttpError","equalItem","prevItem","removeItemFromFavorite","findIndex","row","splice","isCollected","some","toggleFavorite","checkMaxCapacity","moveFavoriteTo","option","from","direction","fromIndex","toIndex","Left","groupId","WrappedLink","WrappedTooltip","PlaceholderDropComp","_ref","data","onDragOver","onFavoriteUpdate","useContext","onDragEnter","target","background","onDragLeave","onDrop","formData","JSON","parse","dataTransfer","getData","newDataList","ItemTag","suffix","allowDrag","onDragStart","overElement","onDragEnd","containerRef","isDragIng","setIsDragIng","isActive","dataset","draggable","_e$dataTransfer","setData","stringify","preventDefault","dropEffect","classNames","href","Right","QuickVisitItem","onAllowDrag","onFavorite","suffixRef","iconRef","handleRemove","useCallback","handleMouseDown","useEffect","addEventListener","removeEventListener","handleClick","suffixGroups","content","hoist","onMouseDown","StarIcon","_ref2","_extends","RecommendItem","walkMenuItem","type","Array","isArray","walkMenuItems","push","itemColumnWidth","GroupView","groups","groupCategoryMap","categoryOrder","groupMenus","Set","forEach","_item$groupFrom","groupFrom","add","value","DefaultGroup","CustomGroup","groupRef","columnCount","setColumnCount","resizeObserver","ResizeObserver","entries","entry","contentRect","Math","floor","observe","disconnect","columnWidth","display","group","GroupItem","WrappedInput","onValueChange","SiteMapItem","menuGroup","visible","favoriteList","setFavoriteList","flatItems","flatMenuItems","q","setQ","setFilters","dragElement","setDragElement","setOverElement","setAllowDrag","setDirection","initialized","setInitialized","handleFavorite","collectList","handleSearch","v","debouncedHandleSearch","debounce","handleDragOver","throttle","dropElement","element","node","parentElement","findDropElement","isValidDragAction","left","getBoundingClientRect","right","clientX","undefined","hasData","Provider","handleDragEnd","enable","WrappedLinkItem","isGroup","isSubMenu","groupAsSubMenu","linkStyle","renderSpanCom","subMenu","___CSS_LOADER_EXPORT___","toString","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","initMenuItemAndMatchCurrentPathKeys","menuItems","pathname","search","parentCursor","selectedKeys","openedKeys","matchedKeys","cursor","tmp","defaultExpanded","parsePath","escapedPath","replace","match","matchPath","path","exact","activeMatchSearch","getMatchOfSearch","activeIncludes","include","_parseInclude","parseInclude","hasSearch","activeExcludes","_include","matchMenuItem","String","keyPath","split","slice","join","currentSearch","toSearch","URLSearchParams","_current$get"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/8518.e95d291b.js","mappings":"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","sources":["webpack:///./src/nav-menu/ThreeLevelMenuPopoverContent.tsx","webpack:///./src/nav-menu/i18n.ts","webpack:///./src/nav-menu/site-map/constants.ts","webpack:///./src/nav-menu/site-map/CollectService.ts","webpack:///./src/nav-menu/site-map/ItemTag.tsx","webpack:///./src/nav-menu/site-map/processor.ts","webpack:///./src/nav-menu/site-map/GroupItem.tsx","webpack:///./src/nav-menu/site-map/SiteMapItem.tsx","webpack:///./src/nav-menu/utils.tsx","webpack:///./src/nav-menu/host-context.css","webpack:///./src/nav-menu/nav-menu.shadow.css","webpack:///./src/nav-menu/site-map/GroupItem.shadow.css","webpack:///./src/nav-menu/site-map/ItemTag.shadow.css","webpack:///./src/nav-menu/site-map/SiteMapItem.shadow.css","webpack:///./src/nav-menu/host-context.css?ac7e","webpack:///../../src/menu.ts"],"sourcesContent":["import React, { useMemo, useState, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport { renderLinkCom } from \"./utils.js\";\nimport { uniq } from \"lodash\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { ReactNextElement } from \"@next-core/react-element\";\nimport type { Popover, PopoverProps } from \"@next-bricks/basic/popover\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n\ninitializeReactI18n(NS, locales);\nconst WrappedPopover = wrapBrick<Popover, PopoverProps>(\"eo-popover\");\ninterface SearchProps {\n value?: string;\n placeholder?: string;\n autoFocus?: boolean;\n clearable?: boolean;\n trim?: boolean;\n debounceTime?: number;\n}\n\ninterface SearchEvents {\n change: CustomEvent<string>;\n search: CustomEvent<string>;\n}\n\ninterface SearchEventsMap {\n onChange: \"change\";\n onSearch: \"search\";\n}\nconst WrappedSearch = wrapBrick<\n ReactNextElement,\n SearchProps,\n SearchEvents,\n SearchEventsMap\n>(\"eo-search\", {\n onChange: \"change\",\n onSearch: \"search\",\n});\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\ninterface ThreeLevelMenuPopoverContentProps {\n menuItem: SidebarMenuGroup;\n selectedKey: string[];\n}\nconst LOCAL_STORAGE_PREFIX = \"threeLevelCategoryMenu\";\nconst maxVisitorLength = 6;\nexport function ThreeLevelMenuPopoverContent(\n props: ThreeLevelMenuPopoverContentProps\n): React.ReactElement {\n const { t } = useTranslation(NS);\n const { menuItem, selectedKey } = props;\n const items = menuItem.items as SidebarMenuGroup[];\n const [searchResult, setSearchResult] = useState<SidebarMenuSimpleItem[]>([]);\n const [searchKey, setSearchKey] = useState(\"\");\n const triggerRef = useRef<HTMLDivElement>(null);\n const nameSpace = `${LOCAL_STORAGE_PREFIX}_${menuItem.title}`;\n const storage = useMemo(() => new JsonStorage(localStorage), []);\n const searchHistory = (storage.getItem(nameSpace) as string[]) || [];\n\n const handleSearch = (e: CustomEvent<string>) => {\n setSearchKey(e.detail);\n if (e.detail) {\n const list = uniq([e.detail, ...searchHistory]);\n if (list.length > maxVisitorLength) {\n list.pop();\n }\n storage.setItem(nameSpace, list);\n setSearchResult(\n items\n .flatMap((i) => (i.items as SidebarMenuSimpleItem[]) || [])\n .filter((i) =>\n (i.text as string)\n .toLowerCase()\n .includes((e.detail as string).trim().toLowerCase())\n )\n );\n } else {\n setSearchResult([]);\n }\n };\n\n const popoverTriggerClick = () => {\n triggerRef.current?.click();\n };\n\n return (\n <div className={\"three-level-menu-container\"}>\n <div\n className=\"three-level-menu-search-container\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <WrappedSearch\n placeholder={t(K.SEARCH_BY_MENU_NAME) as string}\n onSearch={handleSearch}\n onFocus={popoverTriggerClick}\n onBlur={popoverTriggerClick}\n />\n <WrappedPopover\n trigger=\"click\"\n placement={\"bottom-start\"}\n anchorDisplay=\"block\"\n distance={0}\n >\n <div slot=\"anchor\" ref={triggerRef}></div>\n {\n <div className=\"three-level-menu-search-result\">\n {!!searchResult.length &&\n searchResult.map((i) => renderLinkCom(i, { width: \"100%\" }))}\n {searchKey && !searchResult.length && (\n <div\n style={{\n height: \"100px\",\n textAlign: \"center\",\n lineHeight: \"100px\",\n }}\n >\n {t(K.NO_DATA)}\n </div>\n )}\n </div>\n }\n </WrappedPopover>\n </div>\n {!!searchHistory.length && (\n <div className=\"three-level-menu-search-history-container\">\n <div className=\"three-level-menu-search-history-title\">\n {t(K.SEARCH_HISTORY)}\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"delete\"\n className=\"three-level-menu-search-history-icon\"\n />\n </div>\n <div>\n {searchHistory.map((h) => (\n <span key={h} className=\"three-level-menu-search-history-text\">\n {h}\n </span>\n ))}\n </div>\n </div>\n )}\n <div\n className={\"three-level-menu-item-container\"}\n style={{\n gridTemplateColumns: `repeat(${\n items.length > 4 ? 4 : items.length\n },1fr)`,\n }}\n >\n {items.map((item: SidebarMenuGroup, index: number) => (\n <div key={index}>\n <div className=\"three-level-menu-item-title-container\">\n <span className=\"three-level-menu-item-title-icon\"></span>\n <span className=\"three-level-menu-item-title\">{item.title}</span>\n </div>\n {item.items?.map((i) => (\n <span\n key={i.key}\n className={classnames({\n active: i.key ? selectedKey.includes(i.key) : false,\n })}\n >\n {renderLinkCom(i as SidebarMenuSimpleItem, { width: \"100%\" })}\n </span>\n ))}\n </div>\n ))}\n </div>\n </div>\n );\n}\n","export enum K {\n SEARCH_BY_MENU_NAME = \"SEARCH_BY_MENU_NAME\",\n SEARCH_HISTORY = \"SEARCH_HISTORY\",\n NO_DATA = \"NO_DATA\",\n QUICK_ACCESS = \"QUICK_ACCESS\",\n REMOVE_ITEM_FROM_QUICK_ACCESS = \"REMOVE_ITEM_FROM_QUICK_ACCESS\",\n ADD_ITEM_TO_QUICK_ACCESS = \"ADD_ITEM_TO_QUICK_ACCESS\",\n NO_DATA_TIPS_IN_QUICK_ACCESS = \"NO_DATA_TIPS_IN_QUICK_ACCESS\",\n SITE_MAP_SEARCH_RECOMMEND = \"SITE_MAP_SEARCH_RECOMMEND\",\n MAX_COLLECT_COUNT_TIPS = \"MAX_COLLECT_COUNT_TIPS\",\n NO_DATA_SEARCH_INFO = \"NO_DATA_SEARCH_INFO\",\n SEARCH_ITEM_PLACEHOLDER = \"SEARCH_ITEM_PLACEHOLDER\",\n}\n\nconst en: Locale = {\n SEARCH_BY_MENU_NAME: \"Search by menu name\",\n SEARCH_HISTORY: \"Search history\",\n NO_DATA: \"No data\",\n QUICK_ACCESS: \"Quick Access\",\n REMOVE_ITEM_FROM_QUICK_ACCESS: \"Remove from Quick Access\",\n ADD_ITEM_TO_QUICK_ACCESS: \"Add to Quick Access\",\n NO_DATA_TIPS_IN_QUICK_ACCESS:\n \"No quick access resources have been added yet. Please add from the list below or after searching\",\n SITE_MAP_SEARCH_RECOMMEND: \"Search recommend\",\n MAX_COLLECT_COUNT_TIPS: \"Need to delete some favorites in order to add\",\n NO_DATA_SEARCH_INFO: \"The search result is empty, please enter again\",\n SEARCH_ITEM_PLACEHOLDER: \"Please enter keywords to search\",\n};\n\nconst zh: Locale = {\n SEARCH_BY_MENU_NAME: \"通过菜单名称搜索\",\n SEARCH_HISTORY: \"历史搜索\",\n NO_DATA: \"暂无数据\",\n QUICK_ACCESS: \"快捷访问\",\n REMOVE_ITEM_FROM_QUICK_ACCESS: \"从快捷访问移除\",\n ADD_ITEM_TO_QUICK_ACCESS: \"添加至快捷访问\",\n NO_DATA_TIPS_IN_QUICK_ACCESS: \"暂未添加快捷访问资源,从下方列表或搜索后添加\",\n SITE_MAP_SEARCH_RECOMMEND: \"搜索推荐\",\n MAX_COLLECT_COUNT_TIPS: \"需删除部分收藏,才能添加\",\n NO_DATA_SEARCH_INFO: \"搜索结果为空,请重新输入\",\n SEARCH_ITEM_PLACEHOLDER: \"请输入关键词搜索\",\n};\n\nexport const NS = \"bricks/nav/nav-menu\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import React from \"react\";\n\nexport enum DRAG_DIRECTION {\n Left = \"left\",\n Right = \"right\",\n}\n\nexport interface ContextOfDragProps {\n groupId: string;\n direction?: DRAG_DIRECTION;\n overElement?: HTMLElement;\n allowDrag?: boolean;\n onAllowDrag?: (enable: boolean) => void;\n onDragStart?: (e: React.DragEvent) => void;\n onDragOver?: (e: React.DragEvent) => void;\n onDragEnd?: (e: React.DragEvent) => void;\n onFavoriteUpdate?: (list: any[]) => void;\n}\n\nexport const collectModule = \"sidebarMenuCollect\";\n\nexport const DragContext = React.createContext<ContextOfDragProps>(\n {} as ContextOfDragProps\n);\n","import type { SidebarMenuSimpleItem } from \"@next-shared/general/types\";\nimport {\n MyCollectionApi_listMyCollection,\n MyCollectionApi_ListMyCollectionResponseBody,\n MyCollectionApi_upsertMyCollection,\n} from \"@next-api-sdk/user-service-sdk\";\nimport { DRAG_DIRECTION, collectModule } from \"./constants.js\";\nimport { cloneDeep } from \"lodash\";\nimport { handleHttpError } from \"@next-core/runtime\";\n\nexport class CollectService {\n private maxCollectLength: number;\n private collectMap: Map<string, SidebarMenuSimpleItem[]> = new Map();\n private collectPromise: Map<string, Promise<SidebarMenuSimpleItem[]>> =\n new Map();\n\n constructor(maxCollectLength?: number) {\n this.maxCollectLength = maxCollectLength ?? 10;\n }\n\n public getFavoritesById(id: string): SidebarMenuSimpleItem[] {\n return cloneDeep(this.collectMap.get(id)) ?? [];\n }\n\n public async fetchFavorites(id: string): Promise<SidebarMenuSimpleItem[]> {\n const cachedPromise = this.collectPromise.get(id);\n if (cachedPromise) {\n const collectList = this.collectMap.get(id);\n\n return collectList ? collectList : cachedPromise;\n }\n\n const favoritesPromise = MyCollectionApi_listMyCollection({\n module: collectModule,\n collectionName: id,\n }).then((result) => {\n const list = result.payloads\n ?.map((item) => item.extInfo)\n .filter(Boolean) as SidebarMenuSimpleItem[];\n this.collectMap.set(id, list);\n\n return list;\n }) as Promise<SidebarMenuSimpleItem[]>;\n\n this.collectPromise.set(id, favoritesPromise);\n\n return favoritesPromise;\n }\n\n public setItemAsFavorite(id: string, item: SidebarMenuSimpleItem): void {\n const list = this.getFavoritesById(id);\n\n if (list.length >= this.maxCollectLength) {\n list.pop();\n }\n\n list.unshift(item);\n this.updateFavoriteItems(id, list);\n }\n\n public updateFavoriteItems(id: string, list: SidebarMenuSimpleItem[]): void {\n try {\n this.collectMap.set(id, list);\n MyCollectionApi_upsertMyCollection({\n module: collectModule,\n collectionName: id,\n payloads: list?.map((item) => ({\n name: item.text,\n url: item.to,\n extInfo: item,\n })) as MyCollectionApi_ListMyCollectionResponseBody[\"payloads\"],\n });\n } catch (error) {\n // istanbul ignore next\n handleHttpError(error);\n }\n }\n\n private equalItem(\n prevItem: SidebarMenuSimpleItem,\n item: SidebarMenuSimpleItem\n ): boolean {\n return prevItem.text === item.text && prevItem.to === item.to;\n }\n\n public removeItemFromFavorite(id: string, item: SidebarMenuSimpleItem): void {\n const list = this.getFavoritesById(id);\n const index = list.findIndex((row) => this.equalItem(row, item));\n // istanbul ignore else\n if (index !== -1) {\n list.splice(index, 1);\n this.updateFavoriteItems(id, list);\n }\n }\n\n public isCollected(id: string, item: SidebarMenuSimpleItem): boolean {\n const list = this.getFavoritesById(id);\n return list.some((row) => this.equalItem(row, item));\n }\n\n public toggleFavorite(id: string, item: SidebarMenuSimpleItem): void {\n if (this.isCollected(id, item)) {\n this.removeItemFromFavorite(id, item);\n } else {\n if (this.checkMaxCapacity(id)) return;\n this.setItemAsFavorite(id, item);\n }\n }\n\n public moveFavoriteTo(\n id: string,\n option: {\n from: SidebarMenuSimpleItem;\n to: SidebarMenuSimpleItem;\n direction: DRAG_DIRECTION;\n }\n ): SidebarMenuSimpleItem[] {\n const { from, to, direction } = option;\n\n const list = this.getFavoritesById(id);\n if (this.equalItem(from, to)) return list;\n\n const fromIndex = list.findIndex((row) => this.equalItem(row, from));\n\n // istanbul ignore else\n if (fromIndex !== -1) {\n list.splice(fromIndex, 1);\n\n const toIndex = list.findIndex((row) => this.equalItem(row, to));\n\n // istanbul ignore else\n if (toIndex !== -1) {\n if (direction === DRAG_DIRECTION.Left) {\n list.splice(toIndex, 0, from);\n } else {\n list.splice(toIndex + 1, 0, from);\n }\n\n this.updateFavoriteItems(id, list);\n }\n }\n\n return list;\n }\n\n checkMaxCapacity(groupId: string): boolean {\n return this.getFavoritesById(groupId).length >= this.maxCollectLength;\n }\n}\n\nexport const collectService = new CollectService();\n","import React, {\n useMemo,\n useCallback,\n useRef,\n useState,\n useEffect,\n useContext,\n DragEvent,\n} from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { Link, LinkProps } from \"@next-bricks/basic/link\";\n\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport classNames from \"classnames\";\nimport { SidebarMenuSimpleItem } from \"@next-shared/general/types\";\nimport { K, NS, locales } from \"../i18n.js\";\nimport { collectService } from \"./CollectService.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { DRAG_DIRECTION, DragContext } from \"./constants.js\";\n\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\ninitializeReactI18n(NS, locales);\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\n\ninterface CellItemProps {\n data: SidebarMenuSimpleItem;\n suffix?: React.ReactNode;\n className?: string;\n}\n\nexport type OnFavoriteCallback = (collectList: SidebarMenuSimpleItem[]) => void;\n\ninterface PlaceholderCompProps {\n data: SidebarMenuSimpleItem;\n direction: DRAG_DIRECTION;\n onDragOver?: (e: DragEvent) => void;\n}\nexport function PlaceholderDropComp({\n data,\n onDragOver,\n direction,\n}: PlaceholderCompProps) {\n const { groupId, onFavoriteUpdate } = useContext(DragContext);\n const handleDrop = (e: DragEvent) => {\n const formData = JSON.parse(e.dataTransfer.getData(\"application/json\"));\n\n const newDataList = collectService.moveFavoriteTo(groupId, {\n from: formData,\n to: data,\n direction,\n });\n\n onFavoriteUpdate?.(newDataList);\n };\n\n return (\n <div\n className=\"indicate-wrapper\"\n data-direction={direction}\n data-to={data.to}\n onDragEnter={(e) =>\n ((e.target as HTMLElement).style.background = \"var(--palette-blue-1)\")\n }\n onDragLeave={(e) =>\n ((e.target as HTMLElement).style.background = \"transparent\")\n }\n data-text={data.text}\n onDragOver={onDragOver}\n onDrop={handleDrop}\n />\n );\n}\n\nexport function ItemTag(props: CellItemProps): React.ReactElement {\n const { data, suffix, className } = props;\n\n const {\n allowDrag,\n onDragStart,\n overElement,\n direction,\n onDragEnd,\n onDragOver,\n } = useContext(DragContext);\n const containerRef = useRef<any>(null);\n\n const [isDragIng, setIsDragIng] = useState(false);\n\n const isActive = useMemo(\n () =>\n overElement &&\n overElement.dataset.to == data.to &&\n overElement.dataset.text === overElement.dataset.text,\n [overElement, data]\n );\n\n const handleDragStart = (e: React.DragEvent) => {\n if (!allowDrag) {\n e.preventDefault();\n } else {\n setIsDragIng(true);\n e.dataTransfer?.setData(\"application/json\", JSON.stringify(data));\n onDragStart?.(e);\n }\n };\n\n const handleDragEnd = (e: React.DragEvent) => {\n setIsDragIng(false);\n onDragEnd?.(e);\n };\n\n const handleOver = (e: React.DragEvent) => {\n e.dataTransfer.dropEffect = \"none\";\n onDragOver?.(e);\n };\n\n return (\n <>\n {isActive && direction === DRAG_DIRECTION.Left && (\n <PlaceholderDropComp\n data={data}\n onDragOver={onDragOver}\n direction={DRAG_DIRECTION.Left}\n />\n )}\n <WrappedLink\n data-to={data.to}\n data-text={data.text}\n ref={containerRef}\n draggable\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragOver={handleOver}\n className={classNames(\"tag-container\", className, {\n \"is-drag\": isDragIng,\n })}\n url={data.to as string}\n href={data.href}\n target={data.target as LinkProps[\"target\"]}\n >\n <span className=\"tag-text ellipsis\" title={data.text}>\n {data.text}\n </span>\n <span className=\"tag-suffix\" onClick={(e) => e.preventDefault()}>\n {suffix}\n </span>\n </WrappedLink>\n\n {isActive && direction === DRAG_DIRECTION.Right && (\n <PlaceholderDropComp\n data={data}\n onDragOver={onDragOver}\n direction={DRAG_DIRECTION.Right}\n />\n )}\n </>\n );\n}\n\ninterface QuickVisitTagProps extends CellItemProps {\n groupId: string;\n onFavorite?: OnFavoriteCallback;\n}\n\nexport function QuickVisitItem(props: QuickVisitTagProps): React.ReactElement {\n const { t } = useTranslation(NS);\n const { onAllowDrag } = useContext(DragContext);\n const { data, onFavorite, groupId } = props;\n const suffixRef = useRef<any>();\n const iconRef = useRef<any>();\n\n const handleRemove = useCallback(() => {\n collectService.removeItemFromFavorite(groupId, data);\n onFavorite?.(collectService.getFavoritesById(groupId));\n }, [groupId, data, onFavorite]);\n\n const handleMouseDown = () => {\n onAllowDrag?.(true);\n };\n\n useEffect(() => {\n const icon = iconRef.current;\n icon.addEventListener(\"click\", handleRemove);\n\n return () => {\n icon.removeEventListener(\"click\", handleRemove);\n };\n }, [handleRemove]);\n\n useEffect(() => {\n const suffix = suffixRef.current;\n const handleClick = (e: MouseEvent) => {\n e.preventDefault();\n };\n suffix.addEventListener(\"click\", handleClick);\n\n return () => {\n suffix.removeEventListener(\"click\", handleClick);\n };\n }, []);\n\n const suffixGroups = useMemo(\n () => (\n <div className=\"operation\" ref={suffixRef}>\n <WrappedTooltip\n content={t(K.REMOVE_ITEM_FROM_QUICK_ACCESS)!}\n hoist\n placement=\"bottom\"\n className=\"close\"\n >\n <WrappedIcon lib=\"antd\" icon=\"close\" ref={iconRef} />\n </WrappedTooltip>\n <span className=\"drag-wrapper\" onMouseDown={handleMouseDown}>\n :::\n </span>\n </div>\n ),\n [t, handleRemove]\n );\n\n return (\n <ItemTag className=\"visit-container\" suffix={suffixGroups} data={data} />\n );\n}\n\ninterface StarIconProps {\n onFavorite?: OnFavoriteCallback;\n className?: string;\n groupId: string;\n data: SidebarMenuSimpleItem;\n active?: boolean;\n}\n\nexport function StarIcon({\n onFavorite,\n className,\n groupId,\n data,\n active,\n}: StarIconProps): React.ReactElement {\n const { t } = useTranslation(NS);\n const iconRef = useRef<any>();\n\n const handleClick = (e: React.MouseEvent) => {\n e.preventDefault();\n collectService.toggleFavorite(groupId, data);\n onFavorite?.(collectService.getFavoritesById(groupId));\n };\n\n useEffect(() => {\n // workaround for prevent Link jump when click.\n const icon = iconRef.current;\n icon.addEventListener(\"click\", handleClick);\n\n return () => {\n icon.removeEventListener(\"click\", handleClick);\n };\n }, []);\n\n return (\n <WrappedTooltip\n content={\n active\n ? t(K.REMOVE_ITEM_FROM_QUICK_ACCESS)!\n : collectService.checkMaxCapacity(groupId)\n ? t(K.MAX_COLLECT_COUNT_TIPS)!\n : t(K.ADD_ITEM_TO_QUICK_ACCESS)!\n }\n className={classNames(\"star-icon\", className)}\n >\n <WrappedIcon\n ref={iconRef}\n className={classNames({ active })}\n lib=\"antd\"\n icon=\"star\"\n {...(active ? { theme: \"filled\" } : {})}\n />\n </WrappedTooltip>\n );\n}\n\ninterface RecommendItemProps extends CellItemProps {\n active?: boolean;\n groupId: string;\n onFavorite?: OnFavoriteCallback;\n}\n\nexport function RecommendItem(props: RecommendItemProps): React.ReactElement {\n const { data, className, groupId, onFavorite, active } = props;\n\n const suffixGroups = useMemo(\n () => (\n <StarIcon\n groupId={groupId}\n active={active}\n className=\"star\"\n data={data}\n onFavorite={onFavorite}\n />\n ),\n [data, groupId, onFavorite, active]\n );\n\n return (\n <ItemTag\n className={classNames(\"recommend-container\", className)}\n suffix={suffixGroups}\n data={data}\n />\n );\n}\n","import {\n SidebarMenuItem,\n SidebarMenuGroup,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\n\nfunction walkMenuItem(item: SidebarMenuItem, list: SidebarMenuSimpleItem[]) {\n if (\n (item as SidebarMenuGroup).type === \"group\" &&\n Array.isArray((item as SidebarMenuGroup).items)\n ) {\n walkMenuItems((item as SidebarMenuGroup).items, list);\n } else {\n list.push(item as SidebarMenuSimpleItem);\n }\n}\n\nfunction walkMenuItems(\n items: SidebarMenuItem[],\n list: SidebarMenuSimpleItem[]\n): void {\n for (const item of items) {\n walkMenuItem(item, list);\n }\n}\n\nexport function flatMenuItems(item: SidebarMenuItem): SidebarMenuSimpleItem[] {\n const list: SidebarMenuSimpleItem[] = [];\n\n walkMenuItem(item, list);\n\n return list;\n}\n\nexport function processGroupItems(groups: SidebarMenuGroup[]): Array<{\n groupFrom: string;\n groups: SidebarMenuGroup[];\n}> {\n const groupCategoryMap = new Map<string, SidebarMenuGroup[]>();\n const categoryOrder = new Set<string>();\n\n groups?.forEach((item) => {\n const from = item.groupFrom ?? \"default\";\n categoryOrder.add(from);\n\n const value = groupCategoryMap.get(from);\n\n if (!value) {\n groupCategoryMap.set(from, [item]);\n } else {\n value!.push(item);\n }\n });\n\n return Array.from(categoryOrder).map((key) => ({\n groupFrom: key,\n groups: groupCategoryMap!.get(key)!,\n }));\n}\n","import React, { useEffect, useState } from \"react\";\nimport type {\n SidebarMenuSimpleItem,\n SidebarMenuGroup,\n} from \"@next-shared/general/types\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { StarIcon, OnFavoriteCallback } from \"./ItemTag.js\";\nimport { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { collectService } from \"./CollectService.js\";\nimport { processGroupItems } from \"./processor.js\";\nimport classNames from \"classnames\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\ninterface GroupViewProps {\n groups: SidebarMenuGroup[];\n groupId: string;\n selectedKey?: string[];\n onFavorite: OnFavoriteCallback;\n}\n\nexport const itemColumnWidth = 240;\n\nexport function GroupView(props: GroupViewProps): React.ReactElement {\n const { groupId, selectedKey, onFavorite } = props;\n const groupMenus = processGroupItems(props.groups);\n\n return (\n <div className=\"group-view\">\n {groupMenus.map((item, index) => {\n return (\n <div key={index}>\n {index !== 0 && <div className=\"divider\" />}\n {item.groupFrom === \"default\" ? (\n <DefaultGroup\n groupId={groupId}\n selectedKey={selectedKey}\n groups={item.groups}\n onFavorite={onFavorite}\n />\n ) : (\n <CustomGroup\n groupId={groupId}\n selectedKey={selectedKey}\n groups={item.groups}\n onFavorite={onFavorite}\n />\n )}\n </div>\n );\n })}\n </div>\n );\n}\n\ninterface BaseGroupProps {\n groupId: string;\n selectedKey?: string[];\n onFavorite: OnFavoriteCallback;\n groups: SidebarMenuGroup[];\n}\nexport function DefaultGroup(props: BaseGroupProps): React.ReactElement {\n const { groupId, onFavorite, selectedKey, groups } = props;\n\n const groupRef = React.useRef<HTMLDivElement>(null);\n const [columnCount, setColumnCount] = useState<number>();\n\n useEffect(() => {\n // istanbul ignore next\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === groupRef.current) {\n const width = entry.contentRect.width;\n\n if (width) {\n setColumnCount(Math.floor(width / itemColumnWidth));\n }\n }\n }\n });\n\n resizeObserver.observe(groupRef.current as HTMLDivElement);\n\n return () => resizeObserver.disconnect();\n }, []);\n\n return (\n <div\n className=\"group\"\n ref={groupRef}\n style={\n (columnCount as number) < groups?.length\n ? { columnCount, columnWidth: itemColumnWidth }\n : {\n display: \"grid\",\n gridTemplateColumns: `repeat(auto-fit, ${itemColumnWidth}px)`,\n }\n }\n >\n {groups.map((group) => (\n <div key={group.key} className=\"group-item\">\n <div className=\"title\">{group.title}</div>\n <div className=\"content\">\n {group.items.map((item) => (\n <GroupItem\n key={item.key}\n groupId={groupId}\n selectedKey={selectedKey}\n data={item as SidebarMenuSimpleItem}\n onFavorite={onFavorite}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\nexport function CustomGroup(props: BaseGroupProps): React.ReactElement {\n const { groupId, onFavorite, selectedKey, groups } = props;\n\n return (\n <div className=\"custom-group\">\n {groups.map((group) => (\n <div key={group.key}>\n <div className=\"title\">{group.title}</div>\n <div\n className=\"custom-content\"\n style={{\n display: \"grid\",\n gridTemplateColumns: `repeat(auto-fit, ${itemColumnWidth}px)`,\n }}\n >\n {group.items.map((item) => (\n <GroupItem\n key={item.key}\n selectedKey={selectedKey}\n groupId={groupId}\n data={item as SidebarMenuSimpleItem}\n onFavorite={onFavorite}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\ninterface GroupItemProps {\n data: SidebarMenuSimpleItem;\n selectedKey?: string[];\n groupId: string;\n onFavorite: OnFavoriteCallback;\n}\nexport function GroupItem(props: GroupItemProps): React.ReactElement {\n const { data, groupId, onFavorite, selectedKey } = props;\n\n return (\n <WrappedLink\n key={data.key}\n icon={data.icon}\n url={data.to as string}\n href={data.href}\n target={data.target as LinkProps[\"target\"]}\n className={classNames(\"item-link\", {\n active: selectedKey?.includes(data.key as string),\n })}\n >\n <span className=\"ellipsis\" title={data.text}>\n {data.text}\n </span>\n <span className=\"icon-wrapper\">\n <StarIcon\n active={collectService.isCollected(groupId, data)}\n groupId={groupId}\n data={data}\n onFavorite={onFavorite}\n />\n </span>\n </WrappedLink>\n );\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { QuickVisitItem, RecommendItem } from \"./ItemTag.js\";\nimport { GroupView } from \"./GroupItem.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { K, NS } from \"../i18n.js\";\nimport { DragContext } from \"./constants.js\";\nimport { useTranslation } from \"@next-core/i18n/react\";\nimport { collectService } from \"./CollectService.js\";\nimport { flatMenuItems } from \"./processor.js\";\nimport { DRAG_DIRECTION } from \"./constants.js\";\nimport classNames from \"classnames\";\nimport { throttle, debounce } from \"lodash\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface InputEvents {\n change: CustomEvent<string>;\n}\n\nexport interface InputEventsMap {\n onValueChange: \"change\";\n}\n\nconst WrappedInput = wrapBrick<any, any, InputEvents, InputEventsMap>(\n \"eo-input\",\n {\n onValueChange: \"change\",\n }\n);\n\ninterface SiteMapItemProps {\n menuGroup: SidebarMenuGroup;\n selectedKey?: string[];\n visible?: boolean;\n}\n\nexport function findDropElement(element: HTMLElement): HTMLElement | undefined {\n let node = element;\n\n while (node) {\n if (node.draggable || node.className === \"indicate-wrapper\") {\n return node;\n }\n\n node = node.parentElement as HTMLElement;\n }\n}\n\nexport function isValidDragAction(\n dragElement: HTMLElement,\n dropElement: HTMLElement\n): boolean {\n return (\n dragElement &&\n dropElement &&\n !(\n dragElement.dataset.to === dropElement.dataset.to &&\n dragElement.dataset.text === dropElement.dataset.text\n )\n );\n}\n\nexport function SiteMapItem(props: SiteMapItemProps) {\n const { t } = useTranslation(NS);\n const { menuGroup, selectedKey, visible } = props;\n const groupId = menuGroup.groupId as string;\n\n const [favoriteList, setFavoriteList] = useState<SidebarMenuSimpleItem[]>([]);\n const flatItems = useMemo(() => flatMenuItems(menuGroup), [menuGroup]);\n const [q, setQ] = useState<string>();\n const [filter, setFilters] = useState<SidebarMenuSimpleItem[]>([]);\n const [dragElement, setDragElement] = useState<HTMLElement>();\n const [overElement, setOverElement] = useState<HTMLElement>();\n const [allowDrag, setAllowDrag] = useState<boolean>();\n const [direction, setDirection] = useState<DRAG_DIRECTION>();\n const [initialized, setInitialized] = useState(false);\n\n useEffect(() => {\n if (visible && !initialized) {\n setInitialized(true);\n }\n }, [visible, initialized]);\n\n const handleFavorite = (collectList: SidebarMenuSimpleItem[]) => {\n setFavoriteList(collectList);\n };\n\n const handleSearch = useCallback(\n (e: CustomEvent<string>): void => {\n const v = e.detail;\n setQ(e.detail);\n\n setFilters(\n !v\n ? flatItems\n : flatItems.filter((item) =>\n item.text.toLowerCase().includes(e.detail.toLowerCase())\n )\n );\n },\n [flatItems]\n );\n\n const debouncedHandleSearch = useMemo(\n () => debounce(handleSearch, 200),\n [handleSearch]\n );\n\n const handleDragStart = (e: React.DragEvent): void => {\n setDragElement(e.target as HTMLElement);\n };\n\n const handleDragOver = useMemo(\n () =>\n throttle((e: React.DragEvent): void => {\n e.preventDefault();\n\n const dropElement = findDropElement(e.target as HTMLElement);\n setOverElement(dropElement);\n\n if (\n dropElement &&\n isValidDragAction(dropElement, dragElement as HTMLElement)\n ) {\n if (dropElement.className === \"indicate-wrapper\") {\n setDirection(dropElement.dataset.direction as DRAG_DIRECTION);\n } else {\n const { width, left } = dropElement.getBoundingClientRect();\n\n const right = e.clientX > left + width / 2;\n setDirection(right ? DRAG_DIRECTION.Right : DRAG_DIRECTION.Left);\n }\n } else {\n setDirection(undefined);\n }\n }),\n [dragElement]\n );\n\n const handleDragEnd = (): void => {\n setDragElement(undefined);\n setDirection(undefined);\n setAllowDrag(false);\n };\n\n const handleAllowDrag = (enable: boolean): void => {\n setAllowDrag(enable);\n };\n\n useEffect(() => {\n (async () => {\n if (visible) {\n const list = await collectService.fetchFavorites(groupId);\n setFavoriteList(list);\n }\n })();\n }, [groupId, visible]);\n\n return (\n initialized && (\n <div className=\"site-map\">\n <div className=\"search-wrapper\">\n <WrappedInput\n className=\"search-input\"\n style={{ width: \"100%\" }}\n onValueChange={debouncedHandleSearch}\n placeholder={t(K.SEARCH_ITEM_PLACEHOLDER)}\n >\n <WrappedIcon slot=\"prefix\" lib=\"antd\" icon=\"search\" />\n </WrappedInput>\n </div>\n\n {!q && (\n <div>\n {favoriteList.length !== 0 && (\n <div\n className={classNames(\"visit-access\", {\n hasData: favoriteList.length,\n })}\n >\n <span className=\"title\">{t(K.QUICK_ACCESS)}</span>\n <DragContext.Provider\n value={{\n groupId,\n overElement,\n direction,\n allowDrag,\n onDragStart: handleDragStart,\n onDragOver: handleDragOver,\n onDragEnd: handleDragEnd,\n onAllowDrag: handleAllowDrag,\n onFavoriteUpdate: handleFavorite,\n }}\n >\n <div className=\"tag-wrapper\">\n {favoriteList.map((item) => (\n <QuickVisitItem\n onFavorite={handleFavorite}\n groupId={groupId}\n key={item.key}\n data={item}\n />\n ))}\n </div>\n </DragContext.Provider>\n </div>\n )}\n\n <GroupView\n groupId={groupId}\n selectedKey={selectedKey}\n groups={menuGroup.items as SidebarMenuGroup[]}\n onFavorite={handleFavorite}\n />\n </div>\n )}\n\n {q && (\n <div className=\"search-panel\">\n <span className=\"title\">{t(K.SITE_MAP_SEARCH_RECOMMEND)}</span>\n {filter.length ? (\n <div className=\"recommend-wrapper\">\n {filter.map((item) => (\n <RecommendItem\n key={item.key}\n groupId={groupId}\n data={item}\n onFavorite={handleFavorite}\n active={collectService.isCollected(groupId, item)}\n />\n ))}\n </div>\n ) : (\n <div className=\"no-data-tips\">{t(K.NO_DATA_SEARCH_INFO)}</div>\n )}\n </div>\n )}\n </div>\n )\n );\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedLinkItem = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nexport function isGroup(item: SidebarMenuItem): item is SidebarMenuGroup {\n return item.type === \"group\";\n}\n\nexport function isSubMenu(\n item: SidebarMenuGroup,\n groupAsSubMenu?: boolean\n): item is SidebarMenuGroup {\n return Boolean(\n item.type === \"subMenu\" || (groupAsSubMenu && item.type === \"group\")\n );\n}\n\nexport function isSimple(item: SidebarMenuItem): item is SidebarMenuSimpleItem {\n return item.type === \"default\" || !item.type;\n}\n\nexport const renderLinkCom = (\n item: SidebarMenuSimpleItem,\n linkStyle?: React.CSSProperties\n): React.ReactElement => {\n return (\n <WrappedLinkItem\n type=\"plain\"\n key={item.key}\n url={item.to as string}\n href={item.href}\n target={item.target as LinkProps[\"target\"]}\n style={linkStyle}\n >\n <span className=\"menu-item-label\">{item.text}</span>\n </WrappedLinkItem>\n );\n};\n\nexport const renderSpanCom = (\n item: SidebarMenuGroup,\n subMenu?: boolean\n): React.ReactElement => {\n return (\n <span key={item.key} className=\"menu-item-label\">\n {item.title}\n {subMenu && <WrappedIcon lib=\"fa\" icon=\"angle-right\" />}\n </span>\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-three-level-menu-search-input-background:linear-gradient(90deg,#e8eef6 0%,rgba(233,234,243,0) 100%);--eo-three-level-menu-hover-color:#6bb3ff;--eo-three-level-menu-title-color:#0b5ad9;--eo-three-level-menu-active-color:#1a7aff;--eo-three-level-menu-search-tag-color:rgb(89,89,89);--eo-three-level-menu-search-tag-background:rgb(245,245,245)}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-three-level-menu-search-input-background:linear-gradient(124deg,rgba(255,255,255,0.36) 0%,rgba(255,255,255,0) 100%);--eo-three-level-menu-hover-color:rgba(54,95,175,0.85);--eo-three-level-menu-title-color:#6597e8;--eo-three-level-menu-active-color:#3f75dd;--eo-three-level-menu-search-tag-color:rgb(140,140,140);--eo-three-level-menu-search-tag-background:rgb(107,107,107)}`, \"\"]);\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:inline-block;background:none}:host::part(menu-item),\neo-link{display:block}eo-menu-item{margin:4px 0}.sub-menu-wrapper eo-menu-item:first-child,\n.group-wrapper eo-menu-item:first-child{margin-top:0}.sub-menu-wrapper eo-menu-item:last-child{margin-bottom:0}.nav-menu-wrapper{display:flex;align-items:center;gap:8px;white-space:nowrap}.popover .sub-menu-item-label{padding:2px 0px;color:var(--color-normal-text)}.popover.subprime{display:block;width:100%}.sub-menu-wrapper{min-width:160px;max-height:calc(100vh - 100px);background-color:var(--antd-dropdown-menu-bg);padding:12px 0;border-radius:6px;box-shadow:0px 4px 12px 0px rgba(17,37,64,0.08);overflow-x:hidden;overflow-y:auto}.overflow-menu-wrapper{display:flex;flex-direction:column}.sub-menu-wrapper > eo-menu-item{display:block;width:100%}.sub-menu-wrapper > eo-menu-item .menu-item-label,\n.sub-menu-wrapper > eo-popover .menu-item-label,\n.sub-menu-wrapper > .group-wrapper > eo-popover .menu-item-label,\n.sub-menu-wrapper > .group-wrapper > eo-menu-item .menu-item-label{display:block;width:100%;padding:7px 24px;box-sizing:border-box;line-height:22px;color:var(--color-normal-text)}.sub-menu-wrapper > eo-popover.subprime .menu-item-label,\n.sub-menu-wrapper > .group-wrapper > eo-popover.subprime .menu-item-label{display:flex;justify-content:space-between;align-items:center}.sub-menu-wrapper .menu-item-label{border-radius:0}.menu-item-label{display:inline-block;cursor:pointer;border-radius:4px;padding:1px 8px;line-height:22px;color:var(--color-normal-text)}.menu-item-label:hover{background-color:var(--top-menu-item-hover-bg)}.group-label{padding-left:16px;font-size:12px;color:var(--palette-gray-7);padding:8px 16px;line-height:20px;margin-top:4px}.sub-menu-wrapper .group-label:first-child{margin-top:0px}.sub-menu-wrapper eo-menu-item[active] .menu-item-label{background:var(--top-menu-item-selected-bg);color:var(--color-brand);font-weight:500}.three-level-menu-container{max-width:980px;max-height:510px;overflow:auto;min-width:160px}.three-level-menu-item-container{display:grid;grid-gap:20px;gap:20px;margin-top:13px;padding:5px 10px}.three-level-menu-item-title-container{display:flex;align-items:center}.three-level-menu-item-title-icon{width:4px;height:4px;background-color:var(--eo-three-level-menu-title-color);margin-right:4px;transform:rotate(45deg)}.three-level-menu-item-title{font-size:14px;font-family:PingFang-SC-Medium,PingFang-SC;font-weight:500;color:var(--eo-three-level-menu-title-color)}.three-level-menu-container .menu-item-label{margin-top:4px;margin-left:4px;padding:4px;width:100%}.three-level-menu-container .active .menu-item-label{color:var(--eo-three-level-menu-active-color)}.three-level-menu-search-result .menu-item-label{margin:0px}.three-level-menu-container .menu-item-label:hover{color:var(--eo-three-level-menu-hover-color)}.three-level-menu-popover .sub-menu-wrapper{padding-top:0px}.three-level-menu-search-container{background:var(--eo-three-level-menu-search-input-background);padding:5px 10px}.three-level-menu-search-result{min-width:187px;max-width:328px;max-height:324px;background-color:var(--antd-dropdown-menu-bg);box-shadow:0px 4px 12px 0px rgba(17,37,64,0.08);overflow:scroll}.three-level-menu-search-history-container{padding:5px 10px}.three-level-menu-search-history-text{background:var(--eo-three-level-menu-search-tag-background);border-radius:2px;font-size:7px;line-height:11px;display:inline-block;height:11px;padding:4px;color:var(--eo-three-level-menu-search-tag-color);margin-right:8px}.three-level-menu-search-history-title{color:#8c8c8c;margin:10px 0;display:flex;align-items:center}.three-level-menu-search-history-icon{margin-left:5px}.sub-menu-sit-map-wrapper{box-sizing:border-box;width:calc(100vw);padding:0 60px 24px;max-height:520px;background-color:var(--antd-dropdown-menu-bg);border-radius:6px;box-shadow:0px 4px 12px 0px rgba(17,37,64,0.08);overflow-x:hidden;overflow-y:auto}.overflow-menu-item{position:absolute;opacity:0;height:0;pointer-events:none}.in-group-site-map{width:auto;padding:0 20px}`, \"\"]);\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, `.group .item-link, .custom-group .item-link{font-weight:400}.group .item-link:hover, .custom-group .item-link:hover{background-color:var(--color-fill-bg-base-1)}.group .item-link:hover::part(link), .custom-group .item-link:hover::part(link){color:var(--color-brand-hover)}.group .item-link:hover::part(icon), .custom-group .item-link:hover::part(icon){color:var(--color-brand-hover)}.group .item-link.active::part(link),\n .custom-group .item-link.active::part(link),\n .group .item-link.active::part(icon),\n .custom-group .item-link.active::part(icon){color:var(--palette-blue-8)}.group .item-link::part(link), .custom-group .item-link::part(link){padding:8px 12px 8px 24px;display:flex;gap:4px;color:var(--color-header-text)}.group .item-link::part(icon), .custom-group .item-link::part(icon){color:var(--color-normal-text)}.group .title, .custom-group .title{padding:8px 16px 8px 24px;font-size:16px;font-weight:500;position:relative}.group .title::before, .custom-group .title::before{content:\"\";position:absolute;width:6px;height:6px;top:17px;left:9px;transform:rotate(45deg);background:var(--color-secondary-text)}.group .content .icon-wrapper, .custom-group .content .icon-wrapper, .group .custom-content .icon-wrapper, .custom-group .custom-content .icon-wrapper{color:var(--color-secondary-text);font-size:16px;display:none;margin-left:auto}.group .content .item-link:hover .icon-wrapper, .custom-group .content .item-link:hover .icon-wrapper, .group .custom-content .item-link:hover .icon-wrapper, .custom-group .custom-content .item-link:hover .icon-wrapper{display:block}.group .content .item-link:hover .icon-wrapper:hover, .custom-group .content .item-link:hover .icon-wrapper:hover, .group .custom-content .item-link:hover .icon-wrapper:hover, .custom-group .custom-content .item-link:hover .icon-wrapper:hover{color:var(--color-brand-hover)}.group .content, .custom-group .content{display:flex;flex-direction:column}.group .group-item, .custom-group .group-item{page-break-inside:avoid;break-inside:avoid}.group-view{min-height:300px}.group-view .divider{height:2px;background:var(--color-text-divider-line);margin:16px 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, `.tag-container::part(link){display:flex;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-moz-user-select:none;justify-content:space-between;background-color:var(--color-fill-bg-base-1);border-radius:2px;padding:1px 6px}.tag-container .tag-text{color:var(--color-normal-text);font-weight:400}.tag-container:hover .tag-text{color:var(--color-brand-hover)}.tag-container .tag-suffix{display:inline-flex;font-size:12px;gap:4px;align-items:center;color:var(--color-secondary-text)}.tag-container.is-drag{opacity:0.4}.indicate-wrapper{border:1px dashed var(--color-brand-hover);border-radius:4px;height:20px;margin:2px 0}.close{display:inline-flex;margin-top:2px;padding:0 2px}.close:hover{color:var(--color-error)}.drag-wrapper{cursor:move}.drag-wrapper:hover{color:var(--color-brand-hover)}.star-icon{display:flex;alignitems:center;color:var(--color-secondary-text)}.star-icon:hover{color:var(--color-brand-hover)}.star-icon .active{color:var(--palette-yellow-6)}.recommend-container:hover .star{display:inline-flex}.recommend-container .star{font-size:13px;display:none}.visit-container:hover .operation{display:inline-flex;align-items:center}.visit-container .operation{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.site-map .search-wrapper{position:-webkit-sticky;position:sticky;top:0;z-index:9999;padding-top:24px;padding-bottom:16px;background:var(--antd-dropdown-menu-bg)}.site-map .search-input::part(affix-wrapper){border:none;border-bottom:1px solid var(--antd-input-border-color);border-radius:0px;background:transparent}.site-map .visit-access .title, .site-map .search-panel .title{display:inline-block;padding:2px 16px 2px 24px;font-weight:500;line-height:24px;position:relative}.site-map .visit-access .title::before, .site-map .search-panel .title::before{content:\"\";position:absolute;width:6px;height:6px;top:10px;left:9px;border-radius:50%;background:var(--color-secondary-text)}.site-map .visit-access .no-data-tips, .site-map .search-panel .no-data-tips{display:flex;margin:16px 0 32px;align-items:center;justify-content:center;color:var(--color-secondary-text)}.site-map .visit-access{margin-bottom:8px}.site-map .visit-access.hasData{display:flex}.site-map .visit-access .tag-wrapper{flex:1;display:grid;grid-template-columns:repeat(auto-fit,200px);grid-gap:8px;gap:8px}.site-map .ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-map .search-panel .recommend-wrapper{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,200px);grid-gap:8px;gap:8px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\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 { Location, parsePath } from \"history\";\nimport { matchPath } from \"@next-core/runtime\";\nimport type {\n SidebarMenuSimpleItem,\n SidebarMenuItem,\n SidebarMenuGroup,\n} from \"./types.js\";\n\nexport function isGroup(item: SidebarMenuItem): item is SidebarMenuGroup {\n return item.type === \"group\";\n}\n\nexport function isSubMenu(\n item: SidebarMenuItem,\n groupAsSubMenu?: boolean\n): item is SidebarMenuGroup {\n return Boolean(\n item.type === \"subMenu\" || (groupAsSubMenu && item.type === \"group\")\n );\n}\n\nexport function initMenuItemAndMatchCurrentPathKeys(\n menuItems: SidebarMenuItem[],\n pathname: string,\n search: string,\n parentCursor: string\n): {\n selectedKeys: string[];\n openedKeys: string[];\n matchedKeys: string[];\n} {\n const selectedKeys: string[] = [];\n const openedKeys: string[] = [];\n const matchedKeys: string[] = [];\n\n let cursor = 0;\n menuItems.forEach((item) => {\n // key的格式最终为0,1,2,0.1,0.2,0.1.1,0.1.2\n item.key = parentCursor === \"\" ? `${cursor}` : `${parentCursor}.${cursor}`;\n if (isGroup(item) || isSubMenu(item)) {\n const tmp = initMenuItemAndMatchCurrentPathKeys(\n item.items,\n pathname,\n search,\n item.key\n );\n selectedKeys.push(...tmp.selectedKeys);\n if (tmp.selectedKeys.length || item.defaultExpanded) {\n openedKeys.push(item.key);\n }\n openedKeys.push(...tmp.openedKeys);\n matchedKeys.push(...tmp.matchedKeys);\n } else {\n if (matchMenuItem(item, pathname, search)) {\n selectedKeys.push(String(item.key));\n\n const keyPath = item.key.split(\".\");\n\n for (let i = 0; i < keyPath.length; i++) {\n matchedKeys.push(keyPath.slice(0, i + 1).join(\".\"));\n }\n }\n }\n cursor += 1;\n });\n if (selectedKeys.length && parentCursor !== \"\") {\n openedKeys.push(parentCursor);\n }\n return {\n selectedKeys: selectedKeys,\n openedKeys: openedKeys,\n matchedKeys: matchedKeys,\n };\n}\n\nfunction getMatchOfSearch(\n currentSearch: string,\n toSearch: string | undefined\n): boolean {\n const current = new URLSearchParams(currentSearch);\n const to = new URLSearchParams(toSearch);\n for (const [key, value] of to.entries()) {\n // Allow `?k=` to match `?` (when `k` doesn't exist)\n if ((current.get(key) ?? \"\") !== value) {\n return false;\n }\n }\n return true;\n}\n\nexport function matchMenuItem(\n item: SidebarMenuSimpleItem,\n pathname: string,\n search: string\n): boolean {\n if (!item.to) return false;\n const to = typeof item.to === \"object\" ? item.to : parsePath(item.to);\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath = to.pathname!.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n let match = !!matchPath(pathname, {\n path: escapedPath,\n exact: item.exact,\n });\n\n if (match && item.activeMatchSearch) {\n match = getMatchOfSearch(search, to.search);\n }\n\n if (!match && Array.isArray(item.activeIncludes)) {\n for (const include of item.activeIncludes) {\n let parseInclude: Location | undefined;\n const hasSearch = include.includes(\"?\");\n\n if (hasSearch) {\n parseInclude = parsePath(include);\n }\n match = !!matchPath(pathname, {\n path: hasSearch ? parseInclude!.pathname : include,\n exact: true,\n });\n\n if (match && parseInclude?.search) {\n match = getMatchOfSearch(search, parseInclude.search);\n }\n\n if (match) {\n break;\n }\n }\n }\n\n if (match && Array.isArray(item.activeExcludes)) {\n for (const include of item.activeExcludes) {\n match = !matchPath(pathname, {\n path: include,\n exact: true,\n });\n if (!match) {\n break;\n }\n }\n }\n\n return match;\n}\n"],"names":["initializeReactI18n","NS","locales","WrappedPopover","wrapBrick","WrappedSearch","onChange","onSearch","WrappedIcon","LOCAL_STORAGE_PREFIX","maxVisitorLength","ThreeLevelMenuPopoverContent","props","useTranslation","menuItem","selectedKey","items","searchResult","setSearchResult","useState","searchKey","setSearchKey","triggerRef","useRef","nameSpace","concat","title","storage","useMemo","JsonStorage","localStorage","searchHistory","getItem","popoverTriggerClick","_triggerRef$current","current","click","React","className","onClick","e","stopPropagation","placeholder","t","K","SEARCH_BY_MENU_NAME","detail","list","uniq","length","pop","setItem","flatMap","i","filter","text","toLowerCase","includes","trim","onFocus","onBlur","trigger","placement","anchorDisplay","distance","slot","ref","map","renderLinkCom","width","style","height","textAlign","lineHeight","NO_DATA","SEARCH_HISTORY","lib","theme","icon","h","key","gridTemplateColumns","item","index","_item$items","classnames","active","en","QUICK_ACCESS","REMOVE_ITEM_FROM_QUICK_ACCESS","ADD_ITEM_TO_QUICK_ACCESS","NO_DATA_TIPS_IN_QUICK_ACCESS","SITE_MAP_SEARCH_RECOMMEND","MAX_COLLECT_COUNT_TIPS","NO_DATA_SEARCH_INFO","SEARCH_ITEM_PLACEHOLDER","zh","DRAG_DIRECTION","collectModule","DragContext","collectService","constructor","maxCollectLength","_defineProperty","Map","this","getFavoritesById","id","_cloneDeep","cloneDeep","collectMap","get","fetchFavorites","_this","_asyncToGenerator","cachedPromise","collectPromise","favoritesPromise","MyCollectionApi_listMyCollection","module","collectionName","then","result","_result$payloads","payloads","extInfo","Boolean","set","setItemAsFavorite","unshift","updateFavoriteItems","MyCollectionApi_upsertMyCollection","name","url","to","error","handleHttpError","equalItem","prevItem","removeItemFromFavorite","findIndex","row","splice","isCollected","some","toggleFavorite","checkMaxCapacity","moveFavoriteTo","option","from","direction","fromIndex","toIndex","Left","groupId","WrappedLink","WrappedTooltip","PlaceholderDropComp","_ref","data","onDragOver","onFavoriteUpdate","useContext","onDragEnter","target","background","onDragLeave","onDrop","formData","JSON","parse","dataTransfer","getData","newDataList","ItemTag","suffix","allowDrag","onDragStart","overElement","onDragEnd","containerRef","isDragIng","setIsDragIng","isActive","dataset","draggable","_e$dataTransfer","setData","stringify","preventDefault","dropEffect","classNames","href","Right","QuickVisitItem","onAllowDrag","onFavorite","suffixRef","iconRef","handleRemove","useCallback","handleMouseDown","useEffect","addEventListener","removeEventListener","handleClick","suffixGroups","content","hoist","onMouseDown","StarIcon","_ref2","_extends","RecommendItem","walkMenuItem","type","Array","isArray","walkMenuItems","push","itemColumnWidth","GroupView","groups","groupCategoryMap","categoryOrder","groupMenus","Set","forEach","_item$groupFrom","groupFrom","add","value","DefaultGroup","CustomGroup","groupRef","columnCount","setColumnCount","resizeObserver","ResizeObserver","entries","entry","contentRect","Math","floor","observe","disconnect","columnWidth","display","group","GroupItem","WrappedInput","onValueChange","SiteMapItem","menuGroup","visible","favoriteList","setFavoriteList","flatItems","flatMenuItems","q","setQ","setFilters","dragElement","setDragElement","setOverElement","setAllowDrag","setDirection","initialized","setInitialized","handleFavorite","collectList","handleSearch","v","debouncedHandleSearch","debounce","handleDragOver","throttle","dropElement","element","node","parentElement","findDropElement","isValidDragAction","left","getBoundingClientRect","right","clientX","undefined","hasData","Provider","handleDragEnd","enable","WrappedLinkItem","isGroup","isSubMenu","groupAsSubMenu","linkStyle","renderSpanCom","subMenu","___CSS_LOADER_EXPORT___","toString","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","initMenuItemAndMatchCurrentPathKeys","menuItems","pathname","search","parentCursor","selectedKeys","openedKeys","matchedKeys","cursor","tmp","defaultExpanded","parsePath","escapedPath","replace","match","matchPath","path","exact","activeMatchSearch","getMatchOfSearch","activeIncludes","include","_parseInclude","parseInclude","hasSearch","activeExcludes","_include","matchMenuItem","String","keyPath","split","slice","join","currentSearch","toSearch","URLSearchParams","_current$get"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[871,1369,3750],{5060:function(e,t,r){var n,o;void 0===(o="function"==typeof(n=function(){"use strict";function t(e,t,r){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){c(n.response,t,r)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function o(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(r){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof r.g&&r.g.global===r.g?r.g:void 0,i=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!i?function(e,r,i){var c=a.URL||a.webkitURL,s=document.createElement("a");r=r||e.name||"download",s.download=r,s.rel="noopener","string"==typeof e?(s.href=e,s.origin===location.origin?o(s):n(s.href)?t(e,r,i):o(s,s.target="_blank")):(s.href=c.createObjectURL(e),setTimeout((function(){c.revokeObjectURL(s.href)}),4e4),setTimeout((function(){o(s)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,r,a){if(r=r||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,a),r);else if(n(e))t(e,r,a);else{var i=document.createElement("a");i.href=e,i.target="_blank",setTimeout((function(){o(i)}))}}:function(e,r,n,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return t(e,r,n);var c="application/octet-stream"===e.type,s=/constructor/i.test(a.HTMLElement)||a.safari,u=/CriOS\/[\d]+/.test(navigator.userAgent);if((u||c&&s||i)&&"undefined"!=typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=u?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},l.readAsDataURL(e)}else{var f=a.URL||a.webkitURL,d=f.createObjectURL(e);o?o.location=d:location.href=d,o=null,setTimeout((function(){f.revokeObjectURL(d)}),4e4)}});a.saveAs=c.saveAs=c,e.exports=c})?n.apply(t,[]):n)||(e.exports=o)},6330:(e,t,r)=>{"use strict";function n(e,t,r,n,o,a,i){try{var c=e[a](i),s=c.value}catch(e){return void r(e)}c.done?t(s):Promise.resolve(s).then(n,o)}function o(e){return function(){var t=this,r=arguments;return new Promise((function(o,a){var i=e.apply(t,r);function c(e){n(i,o,a,c,s,"next",e)}function s(e){n(i,o,a,c,s,"throw",e)}c(void 0)}))}}r.d(t,{A:()=>o})},4586:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1369);function o(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},9740:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var n=r(4586);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){(0,n.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}},9850:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7502);function o(e,t){if(null==e)return{};var r,o,a=(0,n.A)(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}},7502:(e,t,r)=>{"use strict";function n(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}r.d(t,{A:()=>n})},1369:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7545);function o(e){var t=function(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,n.A)(t)?t:t+""}},7545:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})},871:(e,t,r)=>{"use strict";r.r(t),r.d(t,{JsonStorage:()=>O,createProviderClass:()=>a,createSSEStream:()=>y,deepFreeze:()=>w,hasOwnProperty:()=>g,isObject:()=>m,unwrapProvider:()=>A});var n=r(6330),o=r(5060);function a(e){return class extends HTMLElement{get $$typeof(){return"provider"}resolve(){return e(...arguments)}saveAs(t){var r=arguments;return(0,n.A)((function*(){for(var n=r.length,a=new Array(n>1?n-1:0),i=1;i<n;i++)a[i-1]=r[i];var c=yield e(...a);(0,o.saveAs)(c,t)}))()}}}var i=r(9740),c=r(9850);var s=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r};const u="text/event-stream",l=1e3,f="last-event-id";function d(e,t){var{signal:r,headers:n,onopen:o,onmessage:a,onclose:i,onerror:c,openWhenHidden:d,fetch:p}=t,y=s(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,s)=>{const b=Object.assign({},n);let h;function w(){h.abort(),document.hidden||E()}b.accept||(b.accept=u),d||document.addEventListener("visibilitychange",w);let g=l,m=0;function O(){document.removeEventListener("visibilitychange",w),window.clearTimeout(m),h.abort()}null==r||r.addEventListener("abort",(()=>{O(),t()}));const j=null!=p?p:window.fetch,A=null!=o?o:v;async function E(){var r;h=new AbortController;try{const r=await j(e,Object.assign(Object.assign({},y),{headers:b,signal:h.signal}));await A(r),await async function(e,t){const r=e.getReader();let n;for(;!(n=await r.read()).done;)t(n.value)}(r.body,function(e){let t,r,n,o=!1;return function(a){void 0===t?(t=a,r=0,n=-1):t=function(e,t){const r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r}(t,a);const i=t.length;let c=0;for(;r<i;){o&&(10===t[r]&&(c=++r),o=!1);let a=-1;for(;r<i&&-1===a;++r)switch(t[r]){case 58:-1===n&&(n=r-c);break;case 13:o=!0;case 10:a=r}if(-1===a)break;e(t.subarray(c,a),n),c=r,n=-1}c===i?t=void 0:0!==c&&(t=t.subarray(c),r-=c)}}(function(e,t,r){let n={data:"",event:"",id:"",retry:void 0};const o=new TextDecoder;return function(e,t){if(0===e.length)null==r||r(n),n={data:"",event:"",id:"",retry:void 0};else if(t>0){const r=o.decode(e.subarray(0,t)),i=t+(32===e[t+1]?2:1),c=o.decode(e.subarray(i));switch(r){case"data":n.data=n.data?n.data+"\n"+c:c;break;case"event":n.event=c;break;case"id":(a=n.id=c)?b[f]=a:delete b[f];break;case"retry":const e=parseInt(c,10);isNaN(e)||(e=>{g=e})(n.retry=e)}}var a}}(0,0,a))),null==i||i(),O(),t()}catch(e){if(!h.signal.aborted)try{const t=null!==(r=null==c?void 0:c(e))&&void 0!==r?r:g;window.clearTimeout(m),m=window.setTimeout(E,t)}catch(e){O(),s(e)}}}E()}))}function v(e){const t=e.headers.get("content-type");if(!(null==t?void 0:t.startsWith(u)))throw new Error(`Expected content-type to be ${u}, Actual: ${t}`)}var p=["converter"];function y(e,t){return b.apply(this,arguments)}function b(){return(b=(0,n.A)((function*(e,t){var r=[],o=[],a=!1,s=!1,u=null!=t?t:{},{converter:l}=u,f=(0,c.A)(u,p);function v(){o.forEach((e=>{var[t]=e;return t({value:void 0,done:!0})}))}function y(){a=!0,o.length=0,r.length=0}return yield new Promise(((t,a)=>{d(e,(0,i.A)((0,i.A)({},f),{},{openWhenHidden:!0,onopen:e=>(0,n.A)((function*(){if(!e.ok)throw console.error("open error",e.statusText),new Error(e.statusText);t(null)}))(),onmessage(e){var t,n,a=!0;try{t=(null!=l?l:h)(e.data,e.event)}catch(e){a=!1,n=e}if(o.length>0){var[i,c]=o.shift();a?i(t):c(n)}else r.push(a?{ok:!0,data:t}:{ok:!1,reason:n})},onclose(){s=!0,v()},onerror(e){throw e}})).catch((e=>{a(e),function(e){o.forEach((t=>{var[r,n]=t;return n(e)})),y()}(e)}))})),{next(){return a?this.return():new Promise(((e,t)=>{if(r.length>0){var n=r.shift();n.ok?e(n.data):t(n.reason)}else s?(y(),e({value:void 0,done:!0})):o.push([e,t])}))},return:()=>(v(),y(),Promise.resolve({value:void 0,done:!0})),throw:e=>(v(),y(),Promise.reject(e)),[Symbol.asyncIterator](){return this}}}))).apply(this,arguments)}function h(e,t){if("error"===t){var r,n;console.error("Received error event:",e);try{n=JSON.parse(e)}catch(e){}throw new Error("string"==typeof(null===(r=n)||void 0===r?void 0:r.error)?n.error:e)}if("[DONE]"===e)return{value:void 0,done:!0};if(e.startsWith("[ERROR]"))throw console.error("Received error message:",e),new Error(e);try{return{value:JSON.parse(e),done:!1}}catch(t){throw console.error("Failed to parse message:",e),t}}function w(e){var t=Object.getOwnPropertyNames(e);for(var r of t){var n=e[r];n&&"object"==typeof n&&w(n)}return Object.freeze(e)}function g(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function m(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}class O{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"brick-next-";this.storage=e,this.prefix=t}setItem(e,t){this.storage.setItem(this.prefix+e,JSON.stringify(t))}getItem(e){var t;return JSON.parse(null!==(t=this.storage.getItem(this.prefix+e))&&void 0!==t?t:"null")}removeItem(e){return this.storage.removeItem(this.prefix+e)}clear(){return this.storage.clear()}}var j=new Map;function A(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var o=function(e){var t=j.get(e);return t||(t=document.createElement(e),j.set(e,t),t)}(e);return o.resolve(...r)}}}}]);
2
+ //# sourceMappingURL=871.8ce4bf00.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/871.8ce4bf00.js","mappings":"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","sources":["webpack:///../../node_modules/file-saver/dist/FileSaver.min.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/createProviderClass.js","webpack:///../../node_modules/@microsoft/fetch-event-source/lib/esm/fetch.js","webpack:///../../node_modules/@microsoft/fetch-event-source/lib/esm/parse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/createSSEStream.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/deepFreeze.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/hasOwnProperty.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/isObject.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/JsonStorage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/unwrapProvider.js"],"sourcesContent":["(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","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 toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { saveAs } from \"file-saver\";\nexport function createProviderClass(api) {\n return class extends HTMLElement {\n get $$typeof() {\n return \"provider\";\n }\n resolve() {\n return api(...arguments);\n }\n saveAs(filename) {\n var _arguments = arguments;\n return _asyncToGenerator(function* () {\n for (var _len = _arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = _arguments[_key];\n }\n var blob = yield api(...args);\n saveAs(blob, filename);\n })();\n }\n };\n}\n//# sourceMappingURL=createProviderClass.js.map","var __rest = (this && this.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\nimport { getBytes, getLines, getMessages } from './parse';\r\nexport const EventStreamContentType = 'text/event-stream';\r\nconst DefaultRetryInterval = 1000;\r\nconst LastEventId = 'last-event-id';\r\nexport function fetchEventSource(input, _a) {\r\n var { signal: inputSignal, headers: inputHeaders, onopen: inputOnOpen, onmessage, onclose, onerror, openWhenHidden, fetch: inputFetch } = _a, rest = __rest(_a, [\"signal\", \"headers\", \"onopen\", \"onmessage\", \"onclose\", \"onerror\", \"openWhenHidden\", \"fetch\"]);\r\n return new Promise((resolve, reject) => {\r\n const headers = Object.assign({}, inputHeaders);\r\n if (!headers.accept) {\r\n headers.accept = EventStreamContentType;\r\n }\r\n let curRequestController;\r\n function onVisibilityChange() {\r\n curRequestController.abort();\r\n if (!document.hidden) {\r\n create();\r\n }\r\n }\r\n if (!openWhenHidden) {\r\n document.addEventListener('visibilitychange', onVisibilityChange);\r\n }\r\n let retryInterval = DefaultRetryInterval;\r\n let retryTimer = 0;\r\n function dispose() {\r\n document.removeEventListener('visibilitychange', onVisibilityChange);\r\n window.clearTimeout(retryTimer);\r\n curRequestController.abort();\r\n }\r\n inputSignal === null || inputSignal === void 0 ? void 0 : inputSignal.addEventListener('abort', () => {\r\n dispose();\r\n resolve();\r\n });\r\n const fetch = inputFetch !== null && inputFetch !== void 0 ? inputFetch : window.fetch;\r\n const onopen = inputOnOpen !== null && inputOnOpen !== void 0 ? inputOnOpen : defaultOnOpen;\r\n async function create() {\r\n var _a;\r\n curRequestController = new AbortController();\r\n try {\r\n const response = await fetch(input, Object.assign(Object.assign({}, rest), { headers, signal: curRequestController.signal }));\r\n await onopen(response);\r\n await getBytes(response.body, getLines(getMessages(id => {\r\n if (id) {\r\n headers[LastEventId] = id;\r\n }\r\n else {\r\n delete headers[LastEventId];\r\n }\r\n }, retry => {\r\n retryInterval = retry;\r\n }, onmessage)));\r\n onclose === null || onclose === void 0 ? void 0 : onclose();\r\n dispose();\r\n resolve();\r\n }\r\n catch (err) {\r\n if (!curRequestController.signal.aborted) {\r\n try {\r\n const interval = (_a = onerror === null || onerror === void 0 ? void 0 : onerror(err)) !== null && _a !== void 0 ? _a : retryInterval;\r\n window.clearTimeout(retryTimer);\r\n retryTimer = window.setTimeout(create, interval);\r\n }\r\n catch (innerErr) {\r\n dispose();\r\n reject(innerErr);\r\n }\r\n }\r\n }\r\n }\r\n create();\r\n });\r\n}\r\nfunction defaultOnOpen(response) {\r\n const contentType = response.headers.get('content-type');\r\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.startsWith(EventStreamContentType))) {\r\n throw new Error(`Expected content-type to be ${EventStreamContentType}, Actual: ${contentType}`);\r\n }\r\n}\r\n//# sourceMappingURL=fetch.js.map","export async function getBytes(stream, onChunk) {\r\n const reader = stream.getReader();\r\n let result;\r\n while (!(result = await reader.read()).done) {\r\n onChunk(result.value);\r\n }\r\n}\r\nexport function getLines(onLine) {\r\n let buffer;\r\n let position;\r\n let fieldLength;\r\n let discardTrailingNewline = false;\r\n return function onChunk(arr) {\r\n if (buffer === undefined) {\r\n buffer = arr;\r\n position = 0;\r\n fieldLength = -1;\r\n }\r\n else {\r\n buffer = concat(buffer, arr);\r\n }\r\n const bufLength = buffer.length;\r\n let lineStart = 0;\r\n while (position < bufLength) {\r\n if (discardTrailingNewline) {\r\n if (buffer[position] === 10) {\r\n lineStart = ++position;\r\n }\r\n discardTrailingNewline = false;\r\n }\r\n let lineEnd = -1;\r\n for (; position < bufLength && lineEnd === -1; ++position) {\r\n switch (buffer[position]) {\r\n case 58:\r\n if (fieldLength === -1) {\r\n fieldLength = position - lineStart;\r\n }\r\n break;\r\n case 13:\r\n discardTrailingNewline = true;\r\n case 10:\r\n lineEnd = position;\r\n break;\r\n }\r\n }\r\n if (lineEnd === -1) {\r\n break;\r\n }\r\n onLine(buffer.subarray(lineStart, lineEnd), fieldLength);\r\n lineStart = position;\r\n fieldLength = -1;\r\n }\r\n if (lineStart === bufLength) {\r\n buffer = undefined;\r\n }\r\n else if (lineStart !== 0) {\r\n buffer = buffer.subarray(lineStart);\r\n position -= lineStart;\r\n }\r\n };\r\n}\r\nexport function getMessages(onId, onRetry, onMessage) {\r\n let message = newMessage();\r\n const decoder = new TextDecoder();\r\n return function onLine(line, fieldLength) {\r\n if (line.length === 0) {\r\n onMessage === null || onMessage === void 0 ? void 0 : onMessage(message);\r\n message = newMessage();\r\n }\r\n else if (fieldLength > 0) {\r\n const field = decoder.decode(line.subarray(0, fieldLength));\r\n const valueOffset = fieldLength + (line[fieldLength + 1] === 32 ? 2 : 1);\r\n const value = decoder.decode(line.subarray(valueOffset));\r\n switch (field) {\r\n case 'data':\r\n message.data = message.data\r\n ? message.data + '\\n' + value\r\n : value;\r\n break;\r\n case 'event':\r\n message.event = value;\r\n break;\r\n case 'id':\r\n onId(message.id = value);\r\n break;\r\n case 'retry':\r\n const retry = parseInt(value, 10);\r\n if (!isNaN(retry)) {\r\n onRetry(message.retry = retry);\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n}\r\nfunction concat(a, b) {\r\n const res = new Uint8Array(a.length + b.length);\r\n res.set(a);\r\n res.set(b, a.length);\r\n return res;\r\n}\r\nfunction newMessage() {\r\n return {\r\n data: '',\r\n event: '',\r\n id: '',\r\n retry: undefined,\r\n };\r\n}\r\n//# sourceMappingURL=parse.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _excluded = [\"converter\"];\nimport { fetchEventSource } from \"@microsoft/fetch-event-source\";\n/**\n * 将 SSE 事件流转换为异步迭代器。\n */\nexport function createSSEStream(_x, _x2) {\n return _createSSEStream.apply(this, arguments);\n}\nfunction _createSSEStream() {\n _createSSEStream = _asyncToGenerator(function* (url, options) {\n // Reference https://github.com/withspectrum/callback-to-async-iterator/blob/master/src/index.js\n var pushQueue = [];\n var pullQueue = [];\n var disposed = false;\n var closed = false;\n var _ref = options !== null && options !== void 0 ? options : {},\n {\n converter\n } = _ref,\n fetchOptions = _objectWithoutProperties(_ref, _excluded);\n yield new Promise((resolve, reject) => {\n fetchEventSource(url, _objectSpread(_objectSpread({}, fetchOptions), {}, {\n openWhenHidden: true,\n onopen(response) {\n return _asyncToGenerator(function* () {\n if (response.ok) {\n resolve(null);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"open error\", response.statusText);\n throw new Error(response.statusText);\n }\n })();\n },\n onmessage(msg) {\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\") {\n // eslint-disable-next-line no-console\n console.debug(\"[EventSource]\", msg);\n }\n var data;\n var reason;\n var ok = true;\n try {\n data = (converter !== null && converter !== void 0 ? converter : defaultConverter)(msg.data, msg.event);\n } catch (e) {\n ok = false;\n reason = e;\n }\n if (pullQueue.length > 0) {\n var [_resolve2, _reject] = pullQueue.shift();\n ok ? _resolve2(data) : _reject(reason);\n } else {\n pushQueue.push(ok ? {\n ok: true,\n data: data\n } : {\n ok: false,\n reason\n });\n }\n },\n onclose() {\n closed = true;\n earlyDone();\n },\n onerror(err) {\n throw err;\n }\n })).catch(reason => {\n reject(reason);\n bailout(reason);\n });\n });\n function bailout(reason) {\n pullQueue.forEach(_ref2 => {\n var [_resolve, reject] = _ref2;\n return reject(reason);\n });\n dispose();\n }\n function earlyDone() {\n pullQueue.forEach(_ref3 => {\n var [resolve] = _ref3;\n return resolve({\n value: undefined,\n done: true\n });\n });\n }\n function dispose() {\n disposed = true;\n pullQueue.length = 0;\n pushQueue.length = 0;\n }\n return {\n next() {\n return disposed ? this.return() : new Promise((resolve, reject) => {\n if (pushQueue.length > 0) {\n var _result = pushQueue.shift();\n if (_result.ok) {\n resolve(_result.data);\n } else {\n reject(_result.reason);\n }\n } else if (closed) {\n dispose();\n resolve({\n value: undefined,\n done: true\n });\n } else {\n pullQueue.push([resolve, reject]);\n }\n });\n },\n return() {\n earlyDone();\n dispose();\n return Promise.resolve({\n value: undefined,\n done: true\n });\n },\n throw(error) {\n earlyDone();\n dispose();\n return Promise.reject(error);\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n });\n return _createSSEStream.apply(this, arguments);\n}\nfunction defaultConverter(data, event) {\n if (event === \"error\") {\n var _value;\n // eslint-disable-next-line no-console\n console.error(\"Received error event:\", data);\n var value;\n try {\n value = JSON.parse(data);\n } catch (_unused) {\n // Ignore\n }\n throw new Error(typeof ((_value = value) === null || _value === void 0 ? void 0 : _value.error) === \"string\" ? value.error : data);\n }\n\n // By default, `data: [DONE]` indicates the end of the stream\n if (data === \"[DONE]\") {\n return {\n value: undefined,\n done: true\n };\n }\n if (data.startsWith(\"[ERROR]\")) {\n // eslint-disable-next-line no-console\n console.error(\"Received error message:\", data);\n throw new Error(data);\n }\n try {\n var _value2 = JSON.parse(data);\n return {\n value: _value2,\n done: false\n };\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to parse message:\", data);\n throw e;\n }\n}\n//# sourceMappingURL=createSSEStream.js.map","// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n\n/** @internal */\nexport function deepFreeze(object) {\n // Retrieve the property names defined on object\n var propNames = Object.getOwnPropertyNames(object);\n\n // Freeze properties before freezing self\n\n for (var name of propNames) {\n var value = object[name];\n if (value && typeof value === \"object\") {\n deepFreeze(value);\n }\n }\n return Object.freeze(object);\n}\n//# sourceMappingURL=deepFreeze.js.map","export function hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n//# sourceMappingURL=hasOwnProperty.js.map","// Ref https://github.com/lodash/lodash/blob/4.17.11/lodash.js#L11744\nexport function isObject(value) {\n var type = typeof value;\n return value != null && (type == \"object\" || type == \"function\");\n}\n//# sourceMappingURL=isObject.js.map","// This is copied from\n// [@next-libs/storage](https://github.com/easyops-cn/next-libs/tree/master/libs/storage),\n// and the types is refined.\n// The usage of JsonStorage from @next-libs/storage should be deprecated,\n// and migrated to from @next-core/brick-utils.\nexport class JsonStorage {\n constructor(storage) {\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"brick-next-\";\n this.storage = storage;\n this.prefix = prefix;\n }\n setItem(name, value) {\n this.storage.setItem(this.prefix + name, JSON.stringify(value));\n }\n getItem(name) {\n var _this$storage$getItem;\n return JSON.parse((_this$storage$getItem = this.storage.getItem(this.prefix + name)) !== null && _this$storage$getItem !== void 0 ? _this$storage$getItem : \"null\");\n }\n removeItem(name) {\n return this.storage.removeItem(this.prefix + name);\n }\n clear() {\n return this.storage.clear();\n }\n}\n//# sourceMappingURL=JsonStorage.js.map","var pool = new Map();\nfunction getProviderBrick(provider) {\n var brick = pool.get(provider);\n if (brick) {\n return brick;\n }\n brick = document.createElement(provider);\n pool.set(provider, brick);\n return brick;\n}\nexport function unwrapProvider(provider) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var brick = getProviderBrick(provider);\n return brick.resolve(...args);\n };\n}\n//# sourceMappingURL=unwrapProvider.js.map"],"names":["c","a","b","d","XMLHttpRequest","open","responseType","onload","g","response","onerror","console","error","send","status","e","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","f","self","global","navigator","test","userAgent","saveAs","HTMLAnchorElement","prototype","h","i","URL","webkitURL","j","createElement","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","autoBom","warn","type","Blob","title","body","innerText","HTMLElement","safari","FileReader","k","onloadend","result","replace","readAsDataURL","l","m","module","exports","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","done","Promise","then","_asyncToGenerator","fn","this","args","arguments","apply","err","undefined","_defineProperty","obj","Object","defineProperty","enumerable","configurable","writable","ownKeys","r","t","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","push","_objectSpread2","length","forEach","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","source","excluded","sourceSymbolKeys","indexOf","propertyIsEnumerable","call","_objectWithoutPropertiesLoose","sourceKeys","toPropertyKey","Symbol","toPrimitive","TypeError","String","_typeof","iterator","constructor","createProviderClass","api","$$typeof","filename","_arguments","_len","Array","_key","blob","__rest","s","p","hasOwnProperty","EventStreamContentType","DefaultRetryInterval","LastEventId","fetchEventSource","input","_a","signal","inputSignal","headers","inputHeaders","onopen","inputOnOpen","onmessage","onclose","openWhenHidden","fetch","inputFetch","rest","assign","curRequestController","onVisibilityChange","abort","hidden","create","accept","addEventListener","retryInterval","retryTimer","dispose","removeEventListener","clearTimeout","defaultOnOpen","async","AbortController","stream","onChunk","reader","getReader","read","getBytes","onLine","buffer","position","fieldLength","discardTrailingNewline","arr","res","Uint8Array","set","concat","bufLength","lineStart","lineEnd","subarray","getLines","onId","onRetry","onMessage","message","data","event","id","retry","decoder","TextDecoder","line","field","decode","valueOffset","parseInt","isNaN","getMessages","aborted","interval","innerErr","contentType","get","startsWith","Error","_excluded","createSSEStream","_x","_x2","_createSSEStream","url","options","pushQueue","pullQueue","disposed","closed","_ref","converter","fetchOptions","earlyDone","_ref3","ok","statusText","msg","reason","defaultConverter","_resolve2","_reject","shift","catch","_ref2","_resolve","bailout","next","return","_result","throw","asyncIterator","_value","JSON","parse","_unused","deepFreeze","object","propNames","getOwnPropertyNames","freeze","property","isObject","JsonStorage","storage","prefix","setItem","stringify","getItem","_this$storage$getItem","removeItem","clear","pool","Map","unwrapProvider","provider","brick","getProviderBrick"],"sourceRoot":""}