@next-bricks/nav 1.20.5 → 1.20.7

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 (121) hide show
  1. package/dist/bricks.json +27 -27
  2. package/dist/chunks/{1889.12e8214d.js → 1889.1c81b9a6.js} +2 -2
  3. package/dist/chunks/1889.1c81b9a6.js.map +1 -0
  4. package/dist/chunks/2133.f1181811.js +2 -0
  5. package/dist/chunks/{2133.aef409c7.js.map → 2133.f1181811.js.map} +1 -1
  6. package/dist/chunks/{2252.1f2ddd43.js → 2252.d2fb0bb2.js} +3 -3
  7. package/dist/chunks/{2252.1f2ddd43.js.map → 2252.d2fb0bb2.js.map} +1 -1
  8. package/dist/chunks/{3171.0e56d98b.js → 3171.8c0808db.js} +2 -2
  9. package/dist/chunks/{3171.0e56d98b.js.map → 3171.8c0808db.js.map} +1 -1
  10. package/dist/chunks/{3796.a67f6b8b.js → 3796.6828d229.js} +3 -3
  11. package/dist/chunks/{3796.a67f6b8b.js.map → 3796.6828d229.js.map} +1 -1
  12. package/dist/chunks/{3933.5a62ee4c.js → 3933.659a4e40.js} +2 -2
  13. package/dist/chunks/{3933.5a62ee4c.js.map → 3933.659a4e40.js.map} +1 -1
  14. package/dist/chunks/4306.7f2e4739.js +2 -0
  15. package/dist/chunks/4306.7f2e4739.js.map +1 -0
  16. package/dist/chunks/{4727.f8d5254c.js → 4727.6fb0beff.js} +2 -2
  17. package/dist/chunks/{4727.f8d5254c.js.map → 4727.6fb0beff.js.map} +1 -1
  18. package/dist/chunks/{4837.4c653276.js → 4837.4464bee6.js} +2 -2
  19. package/dist/chunks/{4837.4c653276.js.map → 4837.4464bee6.js.map} +1 -1
  20. package/dist/chunks/{5552.0fcbceeb.js → 5552.5757666c.js} +2 -2
  21. package/dist/chunks/{5552.0fcbceeb.js.map → 5552.5757666c.js.map} +1 -1
  22. package/dist/chunks/{6314.f7e0df28.js → 6314.a92d20d9.js} +2 -2
  23. package/dist/chunks/{6314.f7e0df28.js.map → 6314.a92d20d9.js.map} +1 -1
  24. package/dist/chunks/6595.f6bad476.js +2 -0
  25. package/dist/chunks/{6595.b2dd96b5.js.map → 6595.f6bad476.js.map} +1 -1
  26. package/dist/chunks/{7218.6c2c7ced.js → 7218.6a0d03bf.js} +2 -2
  27. package/dist/chunks/{7218.6c2c7ced.js.map → 7218.6a0d03bf.js.map} +1 -1
  28. package/dist/chunks/7505.cadb8db5.js +2 -0
  29. package/dist/chunks/7505.cadb8db5.js.map +1 -0
  30. package/dist/chunks/{7721.dcf5c19c.js → 7721.8cd25214.js} +3 -3
  31. package/dist/chunks/7721.8cd25214.js.map +1 -0
  32. package/dist/chunks/{8097.e43e4d49.js → 8097.77afb7bb.js} +2 -2
  33. package/dist/chunks/{8097.e43e4d49.js.map → 8097.77afb7bb.js.map} +1 -1
  34. package/dist/chunks/{8274.d432bcf7.js → 8274.20592ff2.js} +3 -3
  35. package/dist/chunks/{8274.d432bcf7.js.map → 8274.20592ff2.js.map} +1 -1
  36. package/dist/chunks/9140.7338091c.js +3 -0
  37. package/dist/chunks/9140.7338091c.js.map +1 -0
  38. package/dist/chunks/{9149.ee32e2cf.js → 9149.6a8b907d.js} +2 -2
  39. package/dist/chunks/{9149.ee32e2cf.js.map → 9149.6a8b907d.js.map} +1 -1
  40. package/dist/chunks/{9515.45449042.js → 9515.fa87c7fc.js} +2 -2
  41. package/dist/chunks/9515.fa87c7fc.js.map +1 -0
  42. package/dist/chunks/{9844.cd4f94d1.js → 9844.b58a111c.js} +2 -2
  43. package/dist/chunks/{9844.cd4f94d1.js.map → 9844.b58a111c.js.map} +1 -1
  44. package/dist/chunks/{easyops-navbar-alerts.5b1581a4.js → easyops-navbar-alerts.e2efe363.js} +2 -2
  45. package/dist/chunks/{easyops-navbar-alerts.5b1581a4.js.map → easyops-navbar-alerts.e2efe363.js.map} +1 -1
  46. package/dist/chunks/{eo-directory-tree.ee975134.js → eo-directory-tree.c9c39164.js} +3 -3
  47. package/dist/chunks/{eo-directory-tree.ee975134.js.map → eo-directory-tree.c9c39164.js.map} +1 -1
  48. package/dist/chunks/{eo-directory.d6fc18cf.js → eo-directory.9edb0684.js} +3 -3
  49. package/dist/chunks/{eo-directory.d6fc18cf.js.map → eo-directory.9edb0684.js.map} +1 -1
  50. package/dist/chunks/{eo-frame-breadcrumb.5e0dd891.js → eo-frame-breadcrumb.add0104b.js} +2 -2
  51. package/dist/chunks/{eo-frame-breadcrumb.5e0dd891.js.map → eo-frame-breadcrumb.add0104b.js.map} +1 -1
  52. package/dist/chunks/{eo-launchpad-button-v2.4f8487f2.js → eo-launchpad-button-v2.dd3cff9e.js} +3 -3
  53. package/dist/chunks/{eo-launchpad-button-v2.4f8487f2.js.map → eo-launchpad-button-v2.dd3cff9e.js.map} +1 -1
  54. package/dist/chunks/{eo-launchpad-button.4ab635ff.js → eo-launchpad-button.e5d75002.js} +3 -3
  55. package/dist/chunks/{eo-launchpad-button.4ab635ff.js.map → eo-launchpad-button.e5d75002.js.map} +1 -1
  56. package/dist/chunks/{eo-launchpad-recent-visits.b7f4acff.js → eo-launchpad-recent-visits.8a83d6e6.js} +3 -3
  57. package/dist/chunks/{eo-launchpad-recent-visits.b7f4acff.js.map → eo-launchpad-recent-visits.8a83d6e6.js.map} +1 -1
  58. package/dist/chunks/{eo-nav-menu.9b6796fc.js → eo-nav-menu.53157bfb.js} +2 -2
  59. package/dist/chunks/{eo-nav-menu.9b6796fc.js.map → eo-nav-menu.53157bfb.js.map} +1 -1
  60. package/dist/chunks/{eo-sidebar-menu-group.ff0786e7.js → eo-sidebar-menu-group.8864f4d9.js} +3 -3
  61. package/dist/chunks/{eo-sidebar-menu-group.ff0786e7.js.map → eo-sidebar-menu-group.8864f4d9.js.map} +1 -1
  62. package/dist/chunks/eo-sidebar-menu-submenu.a1ab5f7a.js +3 -0
  63. package/dist/chunks/eo-sidebar-menu-submenu.a1ab5f7a.js.map +1 -0
  64. package/dist/chunks/{eo-sidebar-menu.7471c495.js → eo-sidebar-menu.6a44ad80.js} +2 -2
  65. package/dist/chunks/{eo-sidebar-menu.7471c495.js.map → eo-sidebar-menu.6a44ad80.js.map} +1 -1
  66. package/dist/chunks/{eo-sidebar-sub-menu.b4b34ccd.js → eo-sidebar-sub-menu.5b2c1c1d.js} +3 -3
  67. package/dist/chunks/{eo-sidebar-sub-menu.b4b34ccd.js.map → eo-sidebar-sub-menu.5b2c1c1d.js.map} +1 -1
  68. package/dist/chunks/eo-sidebar.5120d756.js +3 -0
  69. package/dist/chunks/eo-sidebar.5120d756.js.map +1 -0
  70. package/dist/chunks/{get-menu-config-options.e42d0f24.js → get-menu-config-options.14762ff7.js} +2 -2
  71. package/dist/chunks/{get-menu-config-options.e42d0f24.js.map → get-menu-config-options.14762ff7.js.map} +1 -1
  72. package/dist/chunks/{get-menu-config-tree.b27166be.js → get-menu-config-tree.1dc2b9f2.js} +2 -2
  73. package/dist/chunks/{get-menu-config-tree.b27166be.js.map → get-menu-config-tree.1dc2b9f2.js.map} +1 -1
  74. package/dist/chunks/launchpad-config.ee0e60b5.js +3 -0
  75. package/dist/chunks/{launchpad-config.e983ca1b.js.map → launchpad-config.ee0e60b5.js.map} +1 -1
  76. package/dist/chunks/main.ec584bba.js +2 -0
  77. package/dist/chunks/{main.c4f2045a.js.map → main.ec584bba.js.map} +1 -1
  78. package/dist/chunks/{nav-logo.b899f2ea.js → nav-logo.3ede00ce.js} +2 -2
  79. package/dist/chunks/{nav-logo.b899f2ea.js.map → nav-logo.3ede00ce.js.map} +1 -1
  80. package/dist/chunks/{poll-announce.2d383f61.js → poll-announce.f19d278d.js} +3 -3
  81. package/dist/chunks/{poll-announce.2d383f61.js.map → poll-announce.f19d278d.js.map} +1 -1
  82. package/dist/examples.json +9 -9
  83. package/dist/index.ff18c6ff.js +2 -0
  84. package/dist/{index.c8148736.js.map → index.ff18c6ff.js.map} +1 -1
  85. package/dist/manifest.json +81 -81
  86. package/dist/types.json +89 -88
  87. package/package.json +3 -3
  88. package/dist/chunks/1889.12e8214d.js.map +0 -1
  89. package/dist/chunks/2133.aef409c7.js +0 -2
  90. package/dist/chunks/4185.0c02786e.js +0 -3
  91. package/dist/chunks/4185.0c02786e.js.map +0 -1
  92. package/dist/chunks/4306.0db9f63f.js +0 -2
  93. package/dist/chunks/4306.0db9f63f.js.map +0 -1
  94. package/dist/chunks/6595.b2dd96b5.js +0 -2
  95. package/dist/chunks/7505.cfc7935d.js +0 -2
  96. package/dist/chunks/7505.cfc7935d.js.map +0 -1
  97. package/dist/chunks/7721.dcf5c19c.js.map +0 -1
  98. package/dist/chunks/9515.45449042.js.map +0 -1
  99. package/dist/chunks/eo-sidebar-menu-submenu.b0bf87c3.js +0 -3
  100. package/dist/chunks/eo-sidebar-menu-submenu.b0bf87c3.js.map +0 -1
  101. package/dist/chunks/eo-sidebar.6eaf5e26.js +0 -3
  102. package/dist/chunks/eo-sidebar.6eaf5e26.js.map +0 -1
  103. package/dist/chunks/launchpad-config.e983ca1b.js +0 -3
  104. package/dist/chunks/main.c4f2045a.js +0 -2
  105. package/dist/index.c8148736.js +0 -2
  106. /package/dist/chunks/{2252.1f2ddd43.js.LICENSE.txt → 2252.d2fb0bb2.js.LICENSE.txt} +0 -0
  107. /package/dist/chunks/{3796.a67f6b8b.js.LICENSE.txt → 3796.6828d229.js.LICENSE.txt} +0 -0
  108. /package/dist/chunks/{7721.dcf5c19c.js.LICENSE.txt → 7721.8cd25214.js.LICENSE.txt} +0 -0
  109. /package/dist/chunks/{8274.d432bcf7.js.LICENSE.txt → 8274.20592ff2.js.LICENSE.txt} +0 -0
  110. /package/dist/chunks/{4185.0c02786e.js.LICENSE.txt → 9140.7338091c.js.LICENSE.txt} +0 -0
  111. /package/dist/chunks/{eo-directory-tree.ee975134.js.LICENSE.txt → eo-directory-tree.c9c39164.js.LICENSE.txt} +0 -0
  112. /package/dist/chunks/{eo-directory.d6fc18cf.js.LICENSE.txt → eo-directory.9edb0684.js.LICENSE.txt} +0 -0
  113. /package/dist/chunks/{eo-launchpad-button-v2.4f8487f2.js.LICENSE.txt → eo-launchpad-button-v2.dd3cff9e.js.LICENSE.txt} +0 -0
  114. /package/dist/chunks/{eo-launchpad-button.4ab635ff.js.LICENSE.txt → eo-launchpad-button.e5d75002.js.LICENSE.txt} +0 -0
  115. /package/dist/chunks/{eo-launchpad-recent-visits.b7f4acff.js.LICENSE.txt → eo-launchpad-recent-visits.8a83d6e6.js.LICENSE.txt} +0 -0
  116. /package/dist/chunks/{eo-sidebar-menu-group.ff0786e7.js.LICENSE.txt → eo-sidebar-menu-group.8864f4d9.js.LICENSE.txt} +0 -0
  117. /package/dist/chunks/{eo-sidebar-menu-submenu.b0bf87c3.js.LICENSE.txt → eo-sidebar-menu-submenu.a1ab5f7a.js.LICENSE.txt} +0 -0
  118. /package/dist/chunks/{eo-sidebar-sub-menu.b4b34ccd.js.LICENSE.txt → eo-sidebar-sub-menu.5b2c1c1d.js.LICENSE.txt} +0 -0
  119. /package/dist/chunks/{eo-sidebar.6eaf5e26.js.LICENSE.txt → eo-sidebar.5120d756.js.LICENSE.txt} +0 -0
  120. /package/dist/chunks/{launchpad-config.e983ca1b.js.LICENSE.txt → launchpad-config.ee0e60b5.js.LICENSE.txt} +0 -0
  121. /package/dist/chunks/{poll-announce.2d383f61.js.LICENSE.txt → poll-announce.f19d278d.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/get-menu-config-tree.b27166be.js","mappings":"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","sources":["webpack:///./src/data-providers/shared/smartDisplayForMenuTitle.ts","webpack:///./src/data-providers/get-menu-config-tree.ts"],"sourcesContent":["import type { MicroApp } from \"@next-core/types\";\nimport { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport {\n cook,\n isEvaluable,\n preevaluate,\n type PreevaluateResult,\n} from \"@next-core/cook\";\nimport { supply } from \"@next-core/supply\";\nimport {\n beforeVisitGlobalMember,\n type MemberUsageInExpressions,\n} from \"@next-core/utils/storyboard\";\nimport type { MenuRawData } from \"../get-menu-config-tree\";\n\nconst allowedAppProps = new Set([\"name\", \"id\", \"homepage\", \"localeName\"]);\n\n/**\n * 对菜单标题进行表达式解析,支持 I18N 和 APP。\n */\nexport function smartDisplayForMenuTitle(\n title: unknown,\n i18nNamespace: string | undefined,\n overrideApp: MicroApp | undefined\n): string | undefined {\n if (typeof title !== \"string\") {\n return;\n }\n if (isEvaluable(title)) {\n // A `SyntaxError` maybe thrown.\n let precooked: PreevaluateResult | undefined;\n const appUsage: MemberUsageInExpressions = {\n usedProperties: new Set(),\n hasNonStaticUsage: false,\n };\n try {\n precooked = preevaluate(title, {\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(appUsage, [\"APP\"]),\n },\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Parse menu title expression \"${title}\" failed:`, error);\n }\n\n if (\n precooked &&\n (!precooked.attemptToVisitGlobals.has(\"APP\") ||\n (overrideApp &&\n !appUsage.hasNonStaticUsage &&\n [...appUsage.usedProperties].every((prop) =>\n allowedAppProps.has(prop)\n )))\n ) {\n const globals: Record<string, unknown> = {};\n for (const key of precooked.attemptToVisitGlobals) {\n switch (key) {\n case \"I18N\":\n globals[key] = i18n.getFixedT(\n null,\n [i18nNamespace].filter(Boolean)\n );\n break;\n case \"APP\":\n globals[key] = {\n ...overrideApp,\n localeName: overrideApp?.name,\n };\n break;\n }\n }\n const suppliedGlobals = supply(precooked.attemptToVisitGlobals, globals);\n\n let computable = true;\n for (const key of precooked.attemptToVisitGlobals) {\n if (!hasOwnProperty(suppliedGlobals, key)) {\n computable = false;\n break;\n }\n }\n\n if (computable) {\n try {\n const result = cook(precooked.expression, precooked.source, {\n globalVariables: suppliedGlobals,\n });\n if (typeof result === \"string\") {\n return result;\n }\n // eslint-disable-next-line no-console\n console.error(\n `The result of menu title expression \"${title}\" is not a string:`,\n result\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n `Evaluate menu title expression \"${title}\" failed:`,\n error\n );\n }\n }\n }\n } else if (overrideApp) {\n // 处理简单的占位符替换: ${APP.name} 和 ${APP.localeName}\n return title.replace(\n /\\$\\{\\s*APP\\s*\\.\\s*(?:name|localeName)\\s*\\}/g,\n () => overrideApp.name\n );\n }\n return title;\n}\n\nexport function initializeMenuI18n(menuList: MenuRawData[]) {\n const menuWithI18n = new WeakMap<MenuRawData, string>();\n const menuI18nBundles: [lang: string, ns: string][] = [];\n\n for (const menu of menuList) {\n const menuI18nNamespace = `customize-menu/${menu.menuId}~${menu.app[0].appId}+${\n menu.instanceId\n }`;\n // Support any language in `menu.i18n`.\n Object.entries(menu.i18n ?? {}).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, menuI18nNamespace, resources);\n });\n menuWithI18n.set(menu, menuI18nNamespace);\n }\n\n return {\n menuWithI18n,\n dispose: () => {\n for (const [lang, ns] of menuI18nBundles) {\n i18n.removeResourceBundle(lang, ns);\n }\n },\n };\n}\n","import type { MetaI18n, MicroApp } from \"@next-core/types\";\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport { sortBy } from \"lodash\";\nimport {\n initializeMenuI18n,\n smartDisplayForMenuTitle,\n} from \"./shared/smartDisplayForMenuTitle\";\n\nconst symbolMenuI18nNamespace = Symbol(\"menuI18nNamespace\");\nconst symbolOverrideApp = Symbol(\"overrideApp\");\n\n/** 原始菜单数据。 */\nexport interface MenuRawData {\n menuId: string;\n title: string;\n icon?: {\n imgSrc?: string;\n };\n type?: \"main\" | \"inject\";\n injectMenuGroupId?: string;\n dynamicItems?: boolean;\n itemsResolve?: unknown;\n items?: MenuItemRawData[];\n instanceId: string;\n app: [\n {\n appId: string;\n },\n ];\n i18n?: MetaI18n;\n overrideApp?: MicroApp;\n}\n\n/** 原始菜单项数据。 */\nexport type MenuItemRawData = {\n /** 菜单项文本。 */\n text: string;\n icon?: {\n imgSrc?: string;\n };\n sort?: number;\n groupId?: string;\n hidden?: boolean;\n children?: MenuItemRawData[];\n};\n\nexport interface TitleDataSource {\n objectId: string;\n instanceId: string;\n attributeId?: string;\n}\n\ninterface RuntimeMenuItemRawData extends MenuItemRawData {\n children?: RuntimeMenuItemRawData[];\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n\nexport interface TreeNode {\n key: string;\n title: string;\n icon?: unknown;\n faded?: unknown;\n children?: TreeNode[];\n data: MenuRawData | MenuItemRawData;\n /** 第一个节点额外返回 __keys,包含所有节点的 key */\n __keys?: string[];\n}\n\nconst DEFAULT_ICON = {\n lib: \"fa\",\n icon: \"bars\",\n};\n\n/**\n * 构造用于菜单自定义的树形结构数据。\n *\n * 将对菜单标题进行表达式解析,支持 I18N 和 APP。\n */\nexport async function getMenuConfigTree(\n menuList: MenuRawData[]\n): Promise<TreeNode[]> {\n const keys: string[] = [];\n\n function getChildren(\n items: RuntimeMenuItemRawData[] | undefined,\n prefixKey: string\n ): TreeNode[] | undefined {\n const children = items?.map<TreeNode>((item, j) => {\n const key = `${prefixKey}-${j}`;\n keys.push(key);\n return {\n key,\n title:\n smartDisplayForMenuTitle(\n item.text,\n item[symbolMenuI18nNamespace],\n item[symbolOverrideApp]\n ) ?? \"\",\n data: item,\n icon: getIcon(item.icon),\n faded: item.hidden,\n children: getChildren(item.children, key),\n };\n });\n return children?.length ? children : undefined;\n }\n\n const mainMenu = menuList.find((menu) => menu.type === \"main\");\n if (!mainMenu) {\n return [];\n }\n\n const validMenuList: MenuRawData[] = [];\n const injectWithMenus = new Map<string, MenuRawData[]>();\n const { menuWithI18n, dispose } = initializeMenuI18n(menuList);\n\n for (const menu of menuList) {\n if (!(menu.dynamicItems && menu.itemsResolve) && menu.items?.length) {\n if (menu.type === \"inject\" && menu.injectMenuGroupId) {\n let injectingMenus = injectWithMenus.get(menu.injectMenuGroupId);\n if (!injectingMenus) {\n injectingMenus = [];\n injectWithMenus.set(menu.injectMenuGroupId, injectingMenus);\n }\n injectingMenus.push(menu);\n } else {\n validMenuList.push(menu);\n }\n }\n }\n\n keys.push(\"0\");\n\n const firstLevelItems = reorderMenuItems(\n validMenuList.flatMap(\n (menu) =>\n // Here always have non-empty items\n processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)!\n )\n );\n\n const tree: TreeNode[] = [\n {\n key: \"0\",\n __keys: keys,\n title:\n smartDisplayForMenuTitle(\n mainMenu.title,\n menuWithI18n.get(mainMenu),\n mainMenu.overrideApp\n ) ?? mainMenu.menuId,\n data: mainMenu,\n icon: getIcon(mainMenu.icon),\n children: getChildren(firstLevelItems, \"0\"),\n },\n ];\n\n dispose();\n\n return tree;\n}\n\nfunction getIcon(icon: { imgSrc?: string } | undefined): unknown {\n // 使用图片图标时,该图标一般是表达式,是应用的运行时数据,菜单管理无法获取。\n if (icon?.imgSrc) {\n return DEFAULT_ICON;\n }\n return icon ?? DEFAULT_ICON;\n}\n\nfunction processGroupInject(\n items: MenuItemRawData[] | undefined,\n menu: MenuRawData,\n injectWithMenus: Map<string, MenuRawData[]>,\n menuWithI18n: WeakMap<MenuRawData, string>\n): RuntimeMenuItemRawData[] | undefined {\n return items?.map((item) => {\n const foundInjectingMenus =\n item.groupId && injectWithMenus.get(item.groupId);\n if (foundInjectingMenus) {\n // Each menu to be injected with should be injected only once.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n injectWithMenus.delete(item.groupId!);\n }\n return {\n ...item,\n children: (\n processGroupInject(\n item.children,\n menu,\n injectWithMenus,\n menuWithI18n\n ) ?? ([] as RuntimeMenuItemRawData[])\n ).concat(\n foundInjectingMenus\n ? foundInjectingMenus.flatMap(\n (injectingMenu) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(\n injectingMenu.items,\n injectingMenu,\n injectWithMenus,\n menuWithI18n\n )!\n )\n : ([] as RuntimeMenuItemRawData[])\n ),\n [symbolOverrideApp]: menu.overrideApp,\n [symbolMenuI18nNamespace]: menuWithI18n.get(menu),\n };\n });\n}\n\nfunction reorderMenuItems(\n list: MenuItemRawData[] | undefined\n): MenuItemRawData[] {\n return sortMenuItems(list).map((item) => ({\n ...item,\n children: reorderMenuItems(item.children),\n }));\n}\n\nfunction sortMenuItems(list: MenuItemRawData[] | undefined): MenuItemRawData[] {\n return sortBy(list, (item) => item.sort ?? -Infinity, \"text\");\n}\n\ncustomElements.define(\n \"nav.get-menu-config-tree\",\n createProviderClass(getMenuConfigTree)\n);\n"],"names":["allowedAppProps","Set","smartDisplayForMenuTitle","title","i18nNamespace","overrideApp","isEvaluable","precooked","appUsage","usedProperties","hasNonStaticUsage","preevaluate","withParent","hooks","beforeVisitGlobal","beforeVisitGlobalMember","error","console","attemptToVisitGlobals","has","every","prop","globals","key","i18n","getFixedT","filter","Boolean","localeName","name","suppliedGlobals","supply","computable","hasOwnProperty","result","cook","expression","source","globalVariables","replace","initializeMenuI18n","menuList","menuWithI18n","WeakMap","menuI18nBundles","menu","_menu$i18n","menuI18nNamespace","menuId","app","appId","instanceId","Object","entries","forEach","_ref","lang","resources","addResourceBundle","set","dispose","ns","removeResourceBundle","symbolMenuI18nNamespace","Symbol","symbolOverrideApp","DEFAULT_ICON","lib","icon","async","getMenuConfigTree","_smartDisplayForMenuT2","keys","mainMenu","find","type","validMenuList","injectWithMenus","Map","_menu$items","dynamicItems","itemsResolve","items","length","injectMenuGroupId","injectingMenus","get","push","firstLevelItems","reorderMenuItems","flatMap","processGroupInject","tree","__keys","data","getIcon","children","getChildren","prefixKey","map","item","j","_smartDisplayForMenuT","text","faded","hidden","undefined","imgSrc","_processGroupInject","foundInjectingMenus","groupId","delete","concat","injectingMenu","list","sortBy","_item$sort","sort","sortMenuItems","customElements","define","createProviderClass"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/get-menu-config-tree.1dc2b9f2.js","mappings":"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","sources":["webpack:///./src/data-providers/shared/smartDisplayForMenuTitle.ts","webpack:///./src/data-providers/get-menu-config-tree.ts"],"sourcesContent":["import type { MicroApp } from \"@next-core/types\";\nimport { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport {\n cook,\n isEvaluable,\n preevaluate,\n type PreevaluateResult,\n} from \"@next-core/cook\";\nimport { supply } from \"@next-core/supply\";\nimport {\n beforeVisitGlobalMember,\n type MemberUsageInExpressions,\n} from \"@next-core/utils/storyboard\";\nimport type { MenuRawData } from \"../get-menu-config-tree\";\n\nconst allowedAppProps = new Set([\"name\", \"id\", \"homepage\", \"localeName\"]);\n\n/**\n * 对菜单标题进行表达式解析,支持 I18N 和 APP。\n */\nexport function smartDisplayForMenuTitle(\n title: unknown,\n i18nNamespace: string | undefined,\n overrideApp: MicroApp | undefined\n): string | undefined {\n if (typeof title !== \"string\") {\n return;\n }\n if (isEvaluable(title)) {\n // A `SyntaxError` maybe thrown.\n let precooked: PreevaluateResult | undefined;\n const appUsage: MemberUsageInExpressions = {\n usedProperties: new Set(),\n hasNonStaticUsage: false,\n };\n try {\n precooked = preevaluate(title, {\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(appUsage, [\"APP\"]),\n },\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Parse menu title expression \"${title}\" failed:`, error);\n }\n\n if (\n precooked &&\n (!precooked.attemptToVisitGlobals.has(\"APP\") ||\n (overrideApp &&\n !appUsage.hasNonStaticUsage &&\n [...appUsage.usedProperties].every((prop) =>\n allowedAppProps.has(prop)\n )))\n ) {\n const globals: Record<string, unknown> = {};\n for (const key of precooked.attemptToVisitGlobals) {\n switch (key) {\n case \"I18N\":\n globals[key] = i18n.getFixedT(\n null,\n [i18nNamespace].filter(Boolean)\n );\n break;\n case \"APP\":\n globals[key] = {\n ...overrideApp,\n localeName: overrideApp?.name,\n };\n break;\n }\n }\n const suppliedGlobals = supply(precooked.attemptToVisitGlobals, globals);\n\n let computable = true;\n for (const key of precooked.attemptToVisitGlobals) {\n if (!hasOwnProperty(suppliedGlobals, key)) {\n computable = false;\n break;\n }\n }\n\n if (computable) {\n try {\n const result = cook(precooked.expression, precooked.source, {\n globalVariables: suppliedGlobals,\n });\n if (typeof result === \"string\") {\n return result;\n }\n // eslint-disable-next-line no-console\n console.error(\n `The result of menu title expression \"${title}\" is not a string:`,\n result\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n `Evaluate menu title expression \"${title}\" failed:`,\n error\n );\n }\n }\n }\n } else if (overrideApp) {\n // 处理简单的占位符替换: ${APP.name} 和 ${APP.localeName}\n return title.replace(\n /\\$\\{\\s*APP\\s*\\.\\s*(?:name|localeName)\\s*\\}/g,\n () => overrideApp.name\n );\n }\n return title;\n}\n\nexport function initializeMenuI18n(menuList: MenuRawData[]) {\n const menuWithI18n = new WeakMap<MenuRawData, string>();\n const menuI18nBundles: [lang: string, ns: string][] = [];\n\n for (const menu of menuList) {\n const menuI18nNamespace = `customize-menu/${menu.menuId}~${menu.app[0].appId}+${\n menu.instanceId\n }`;\n // Support any language in `menu.i18n`.\n Object.entries(menu.i18n ?? {}).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, menuI18nNamespace, resources);\n });\n menuWithI18n.set(menu, menuI18nNamespace);\n }\n\n return {\n menuWithI18n,\n dispose: () => {\n for (const [lang, ns] of menuI18nBundles) {\n i18n.removeResourceBundle(lang, ns);\n }\n },\n };\n}\n","import type { MetaI18n, MicroApp } from \"@next-core/types\";\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport { sortBy } from \"lodash\";\nimport {\n initializeMenuI18n,\n smartDisplayForMenuTitle,\n} from \"./shared/smartDisplayForMenuTitle\";\n\nconst symbolMenuI18nNamespace = Symbol(\"menuI18nNamespace\");\nconst symbolOverrideApp = Symbol(\"overrideApp\");\n\n/** 原始菜单数据。 */\nexport interface MenuRawData {\n menuId: string;\n title: string;\n icon?: {\n imgSrc?: string;\n };\n type?: \"main\" | \"inject\";\n injectMenuGroupId?: string;\n dynamicItems?: boolean;\n itemsResolve?: unknown;\n items?: MenuItemRawData[];\n instanceId: string;\n app: [\n {\n appId: string;\n },\n ];\n i18n?: MetaI18n;\n overrideApp?: MicroApp;\n}\n\n/** 原始菜单项数据。 */\nexport type MenuItemRawData = {\n /** 菜单项文本。 */\n text: string;\n icon?: {\n imgSrc?: string;\n };\n sort?: number;\n groupId?: string;\n hidden?: boolean;\n children?: MenuItemRawData[];\n};\n\nexport interface TitleDataSource {\n objectId: string;\n instanceId: string;\n attributeId?: string;\n}\n\ninterface RuntimeMenuItemRawData extends MenuItemRawData {\n children?: RuntimeMenuItemRawData[];\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n\nexport interface TreeNode {\n key: string;\n title: string;\n icon?: unknown;\n faded?: unknown;\n children?: TreeNode[];\n data: MenuRawData | MenuItemRawData;\n /** 第一个节点额外返回 __keys,包含所有节点的 key */\n __keys?: string[];\n}\n\nconst DEFAULT_ICON = {\n lib: \"fa\",\n icon: \"bars\",\n};\n\n/**\n * 构造用于菜单自定义的树形结构数据。\n *\n * 将对菜单标题进行表达式解析,支持 I18N 和 APP。\n */\nexport async function getMenuConfigTree(\n menuList: MenuRawData[]\n): Promise<TreeNode[]> {\n const keys: string[] = [];\n\n function getChildren(\n items: RuntimeMenuItemRawData[] | undefined,\n prefixKey: string\n ): TreeNode[] | undefined {\n const children = items?.map<TreeNode>((item, j) => {\n const key = `${prefixKey}-${j}`;\n keys.push(key);\n return {\n key,\n title:\n smartDisplayForMenuTitle(\n item.text,\n item[symbolMenuI18nNamespace],\n item[symbolOverrideApp]\n ) ?? \"\",\n data: item,\n icon: getIcon(item.icon),\n faded: item.hidden,\n children: getChildren(item.children, key),\n };\n });\n return children?.length ? children : undefined;\n }\n\n const mainMenu = menuList.find((menu) => menu.type === \"main\");\n if (!mainMenu) {\n return [];\n }\n\n const validMenuList: MenuRawData[] = [];\n const injectWithMenus = new Map<string, MenuRawData[]>();\n const { menuWithI18n, dispose } = initializeMenuI18n(menuList);\n\n for (const menu of menuList) {\n if (!(menu.dynamicItems && menu.itemsResolve) && menu.items?.length) {\n if (menu.type === \"inject\" && menu.injectMenuGroupId) {\n let injectingMenus = injectWithMenus.get(menu.injectMenuGroupId);\n if (!injectingMenus) {\n injectingMenus = [];\n injectWithMenus.set(menu.injectMenuGroupId, injectingMenus);\n }\n injectingMenus.push(menu);\n } else {\n validMenuList.push(menu);\n }\n }\n }\n\n keys.push(\"0\");\n\n const firstLevelItems = reorderMenuItems(\n validMenuList.flatMap(\n (menu) =>\n // Here always have non-empty items\n processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)!\n )\n );\n\n const tree: TreeNode[] = [\n {\n key: \"0\",\n __keys: keys,\n title:\n smartDisplayForMenuTitle(\n mainMenu.title,\n menuWithI18n.get(mainMenu),\n mainMenu.overrideApp\n ) ?? mainMenu.menuId,\n data: mainMenu,\n icon: getIcon(mainMenu.icon),\n children: getChildren(firstLevelItems, \"0\"),\n },\n ];\n\n dispose();\n\n return tree;\n}\n\nfunction getIcon(icon: { imgSrc?: string } | undefined): unknown {\n // 使用图片图标时,该图标一般是表达式,是应用的运行时数据,菜单管理无法获取。\n if (icon?.imgSrc) {\n return DEFAULT_ICON;\n }\n return icon ?? DEFAULT_ICON;\n}\n\nfunction processGroupInject(\n items: MenuItemRawData[] | undefined,\n menu: MenuRawData,\n injectWithMenus: Map<string, MenuRawData[]>,\n menuWithI18n: WeakMap<MenuRawData, string>\n): RuntimeMenuItemRawData[] | undefined {\n return items?.map((item) => {\n const foundInjectingMenus =\n item.groupId && injectWithMenus.get(item.groupId);\n if (foundInjectingMenus) {\n // Each menu to be injected with should be injected only once.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n injectWithMenus.delete(item.groupId!);\n }\n return {\n ...item,\n children: (\n processGroupInject(\n item.children,\n menu,\n injectWithMenus,\n menuWithI18n\n ) ?? ([] as RuntimeMenuItemRawData[])\n ).concat(\n foundInjectingMenus\n ? foundInjectingMenus.flatMap(\n (injectingMenu) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(\n injectingMenu.items,\n injectingMenu,\n injectWithMenus,\n menuWithI18n\n )!\n )\n : ([] as RuntimeMenuItemRawData[])\n ),\n [symbolOverrideApp]: menu.overrideApp,\n [symbolMenuI18nNamespace]: menuWithI18n.get(menu),\n };\n });\n}\n\nfunction reorderMenuItems(\n list: MenuItemRawData[] | undefined\n): MenuItemRawData[] {\n return sortMenuItems(list).map((item) => ({\n ...item,\n children: reorderMenuItems(item.children),\n }));\n}\n\nfunction sortMenuItems(list: MenuItemRawData[] | undefined): MenuItemRawData[] {\n return sortBy(list, (item) => item.sort ?? -Infinity, \"text\");\n}\n\ncustomElements.define(\n \"nav.get-menu-config-tree\",\n createProviderClass(getMenuConfigTree)\n);\n"],"names":["allowedAppProps","Set","smartDisplayForMenuTitle","title","i18nNamespace","overrideApp","isEvaluable","precooked","appUsage","usedProperties","hasNonStaticUsage","preevaluate","withParent","hooks","beforeVisitGlobal","beforeVisitGlobalMember","error","console","attemptToVisitGlobals","has","every","prop","globals","key","i18n","getFixedT","filter","Boolean","localeName","name","suppliedGlobals","supply","computable","hasOwnProperty","result","cook","expression","source","globalVariables","replace","initializeMenuI18n","menuList","menuWithI18n","WeakMap","menuI18nBundles","menu","_menu$i18n","menuI18nNamespace","menuId","app","appId","instanceId","Object","entries","forEach","_ref","lang","resources","addResourceBundle","set","dispose","ns","removeResourceBundle","symbolMenuI18nNamespace","Symbol","symbolOverrideApp","DEFAULT_ICON","lib","icon","async","getMenuConfigTree","_smartDisplayForMenuT2","keys","mainMenu","find","type","validMenuList","injectWithMenus","Map","_menu$items","dynamicItems","itemsResolve","items","length","injectMenuGroupId","injectingMenus","get","push","firstLevelItems","reorderMenuItems","flatMap","processGroupInject","tree","__keys","data","getIcon","children","getChildren","prefixKey","map","item","j","_smartDisplayForMenuT","text","faded","hidden","undefined","imgSrc","_processGroupInject","foundInjectingMenus","groupId","delete","concat","injectingMenu","list","sortBy","_item$sort","sort","sortMenuItems","customElements","define","createProviderClass"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see launchpad-config.ee0e60b5.js.LICENSE.txt */
2
+ (globalThis.webpackChunk_next_bricks_nav=globalThis.webpackChunk_next_bricks_nav||[]).push([[1369,2052,4344],{10:(e,t,n)=>{"use strict";n.d(t,{Bj:()=>o,EM:()=>i,qb:()=>a});var r=n(9859),l=n(4427);const o=(0,r.wrapBrick)("eo-icon"),i=(0,r.wrapBrick)("eo-link"),a=(0,r.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"});(0,l.unwrapProvider)("basic.show-dialog")},829:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(2559);function l(e,t){return e.get((0,r.A)(e,t))}},918:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(2016);function l(e,t,n){(0,r.A)(e,t),t.set(e,n)}},935:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,l,o){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(i[c]=!0)}for(var s=0;s<e.length;s++){var u=[].concat(e[s]);r&&i[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),l&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=l):u[4]="".concat(l)),t.push(u))}},t}},1369:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(7545);function l(e){var t=function(e){if("object"!=(0,r.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=(0,r.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,r.A)(t)?t:t+""}},2016:(e,t,n)=>{"use strict";function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{A:()=>r})},2559:(e,t,n)=>{"use strict";function r(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}n.d(t,{A:()=>r})},2740:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(7545),l=n(6902);function o(e,t,n){"symbol"==(0,r.A)(t)&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch(e){}return e}var i=n(1369);function a(e,t,n,a,c,s){var u,m,p,d,f,b,h,g=Symbol.metadata||Symbol.for("Symbol.metadata"),v=Object.defineProperty,k=Object.create,y=[k(null),k(null)],w=t.length;function A(t,n,r){return function(l,o){n&&(o=l,l=e);for(var i=0;i<t.length;i++)o=t[i].apply(l,r?[o]:[]);return r?o:l}}function x(e,t,n,r){if("function"!=typeof e&&(r||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(r?"":" or undefined"));return e}function E(e,t,n,l,i,a,c,s,p,d,f){function b(e){if(!f(e))throw new TypeError("Attempted to access private element on non-instance")}var h=[].concat(t[0]),g=t[3],k=!c,w=1===i,E=3===i,T=4===i,B=2===i;function U(t,n,r){return function(l,o){return n&&(o=l,l=e),r&&r(l),C[t].call(l,o)}}if(!k){var C={},j=[],S=E?"get":T||w?"set":"value";if(p?(d||w?C={get:o((function(){return g(this)}),l,"get"),set:function(e){t[4](this,e)}}:C[S]=g,d||o(C[S],l,B?"":S)):d||(C=Object.getOwnPropertyDescriptor(e,l)),!d&&!p){if((m=y[+s][l])&&7!=(m^i))throw Error("Decorating two elements with the same name ("+C[S].name+") is not supported yet");y[+s][l]=i<3?1:i}}for(var N=e,M=h.length-1;M>=0;M-=n?2:1){var _=x(h[M],"A decorator","be",!0),O=n?h[M-1]:void 0,I={},W={kind:["field","accessor","method","getter","setter","class"][i],name:l,metadata:u,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");x(t,"An initializer","be",!0),a.push(t)}.bind(null,I)};if(k)m=_.call(O,N,W),I.v=1,x(m,"class decorators","return")&&(N=m);else if(W.static=s,W.private=p,m=W.access={has:p?f.bind():function(e){return l in e}},T||(m.get=p?B?function(e){return b(e),C.value}:U("get",0,b):function(e){return e[l]}),B||E||(m.set=p?U("set",0,b):function(e,t){e[l]=t}),N=_.call(O,w?{get:C.get,set:C.set}:C[S],W),I.v=1,w){if("object"==(0,r.A)(N)&&N)(m=x(N.get,"accessor.get"))&&(C.get=m),(m=x(N.set,"accessor.set"))&&(C.set=m),(m=x(N.init,"accessor.init"))&&j.unshift(m);else if(void 0!==N)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else x(N,(d?"field":"method")+" decorators","return")&&(d?j.unshift(N):C[S]=N)}return i<2&&c.push(A(j,s,1),A(a,s,0)),d||k||(p?w?c.splice(-1,0,U("get",s),U("set",s)):c.push(B?C[S]:x.call.bind(C[S])):v(e,l,C)),N}function T(e){return v(e,g,{configurable:!0,enumerable:!0,value:u})}return void 0!==s&&(u=s[g]),u=k(null==u?null:u),f=[],b=function(e){e&&f.push(A(e))},h=function(t,r){for(var o=0;o<n.length;o++){var a=n[o],s=a[1],u=7&s;if((8&s)==t&&!u==r){var m=a[2],b=!!a[3],h=16&s;E(t?e:e.prototype,a,h,b?"#"+m:(0,i.A)(m),u,u<2?[]:t?d=d||[]:p=p||[],f,!!t,b,r,t&&b?function(t){return(0,l.A)(t)===e}:c)}}},h(8,0),h(0,0),h(8,1),h(0,1),b(p),b(d),m=f,w||T(e),{e:m,get c(){var n=[];return w&&[T(e=E(e,[t],a,e.name,5,n)),A(n,1)]}}}},3373:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function l(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,o(n)))}return e}function o(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return l.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)r.call(e,n)&&e[n]&&(t=i(t,n));return t}function i(e,t){return t?e?e+" "+t:e+t:e}e.exports?(l.default=l,e.exports=l):void 0===(n=function(){return l}.apply(t,[]))||(e.exports=n)}()},4081:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6758),l=n.n(r),o=n(935),i=n.n(o)()(l());i.push([e.id,":host{display:block;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none;--local-menu-icon-color:rgba(255,255,255,0.45)}ul{list-style:none;margin:0;padding:0}.menu-groups{display:grid;gap:32px 16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{display:block}.menu-folder-label-wrapper > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.menu-group-label-wrapper,\n.menu-folder-label-wrapper,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-group-label-wrapper{gap:3px}.menu-group:not(.empty) .menu-group-label-wrapper{margin-bottom:14px}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text)}.menu-icon{color:var(--local-menu-icon-color)}.menu-group.blocked .menu-group-label,\n.menu-item.blocked > .menu-folder-label-wrapper .menu-item-label,\n.menu-item.blocked > .menu-folder-label-wrapper .menu-icon,\n.menu-item.blocked > .menu-folder-label-wrapper .menu-item-toggle,\n.menu-item.disabled > eo-link::part(link),\n.menu-item.disabled .menu-icon{color:var(--color-disabled-text)}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{max-width:100%;width:-moz-fit-content;width:fit-content;min-width:0}.sub-menu:not(.expanded){display:none}.sub-menu{margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item:not(.empty) .sub-menu{margin-top:14px}.menu-item-toggle{color:var(--color-secondary-text)}.menu-config{visibility:hidden;color:var(--color-brand);cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;width:0}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-item:not(.folder):not(.disabled):hover .menu-config,\n.menu-item:not(.folder):not(.blocked):hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible;width:24px}.menu-config:hover,\n.menu-item:not(.disabled) > eo-link:hover::part(link),\n.menu-item:not(.disabled) > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover::part(link),\n.menu-folder-label-wrapper > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}@supports not (inset: 0){.sub-menu,\n .menu,\n .menu-group-label-wrapper,\n .menu-folder-label-wrapper,\n .menu-item:not(.folder),\n .menu-item > eo-link::part(link){gap:0}.menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.menu-icon{margin-right:8px}eo-dropdown-actions,\n .menu-item-toggle{margin-left:8px}}",""]);const a=i.toString()},4635:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(2016);function l(e,t){(0,r.A)(e,t),t.add(e)}},5536:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(2559);function l(e,t,n){return n((0,r.A)(e,t))}},5658:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LaunchpadConfig:()=>D,LaunchpadConfigComponent:()=>Q});var r,l=n(4635),o=n(918),i=n(6902),a=n(5536),c=n(6121),s=n(829),u=n(2740),m=n(8769),p=n.n(m),d=n(6192),f=n(9859),b=n(480),h=(n(6477),n(9248)),g=n(4081);let v,k,y,w,A,x,E,T,B,U,C,j,S,N,M,_,O;const{defineElement:I,property:W,event:P}=(0,d.createDecorators)(),z="/next/";let D;var G=new WeakMap,R=new WeakMap,q=new WeakMap,L=new WeakMap,V=new WeakMap,F=new WeakMap,$=new WeakMap,H=new WeakSet,J=new WeakMap;class K extends f.ReactNextElement{constructor(){super(...arguments),(0,l.A)(this,H),(0,o.A)(this,G,k(this)),(0,o.A)(this,R,(y(this),w(this))),(0,o.A)(this,q,(A(this),x(this))),(0,o.A)(this,L,(E(this),T(this))),(0,o.A)(this,V,(B(this),U(this))),(0,o.A)(this,F,(C(this),j(this))),(0,o.A)(this,$,(S(this),N(this))),(0,o.A)(this,J,(O(this),e=>{(0,a.A)(H,this,M).emit(e)}))}get menuGroups(){return(0,s.A)(G,this)}set menuGroups(e){(0,c.A)(G,this,e)}get actions(){return(0,s.A)(R,this)}set actions(e){(0,c.A)(R,this,e)}get variant(){return(0,s.A)(q,this)}set variant(e){(0,c.A)(q,this,e)}get urlTemplate(){return(0,s.A)(L,this)}set urlTemplate(e){(0,c.A)(L,this,e)}get customUrlTemplate(){return(0,s.A)(V,this)}set customUrlTemplate(e){(0,c.A)(V,this,e)}get blacklist(){return(0,s.A)(F,this)}set blacklist(e){(0,c.A)(F,this,e)}render(){var e;return p().createElement(Q,{menuGroups:this.menuGroups,actions:this.actions,variant:null!==(e=this.variant)&&void 0!==e?e:"launchpad-config",urlTemplate:this.urlTemplate,customUrlTemplate:this.customUrlTemplate,blacklist:this.blacklist,onActionClick:(0,s.A)(J,this)})}}function Q(e){let{menuGroups:t,actions:n,variant:r,urlTemplate:l,customUrlTemplate:o,blacklist:i,onActionClick:a}=e;const c=(0,m.useMemo)((()=>{return"blacklist-config"===r?null==t?void 0:t.map((e=>{const t=e.items.map((e=>Y(e,i))),n=t.some((e=>e.blockable)),r=n&&t.some((e=>e.hasBlocked)),l=n&&t.some((e=>e.hasUnblocked)),o=t.length>0&&t.every((e=>e.allBlocked)),a=t.flatMap((e=>{var t,n;return e.blockable?null!==(t=null!==(n=e.blockableUrls)&&void 0!==n?n:e.blockableUrl)&&void 0!==t?t:e.url:[]}));return{...e,type:"group",items:t,blockable:n,hasBlocked:r,hasUnblocked:l,allBlocked:o,blockableUrls:a}})):"launchpad-config"===r?null===(e=function(e){return null==e?void 0:e.map((e=>{const t=e.items.map((e=>X(e))).filter(Boolean);return t.length>0?{...e,items:t}:null})).filter(Boolean)}(t))||void 0===e?void 0:e.filter(Boolean):t;var e}),[r,t,i]);return p().createElement("ul",{className:"menu-groups"},null==c?void 0:c.map((e=>p().createElement(h.r,{key:e.instanceId,data:e,actions:n,variant:r,urlTemplate:l,customUrlTemplate:o,onActionClick:a}))))}function X(e){if("dir"===e.type){const t=e.items.map((e=>X(e))).filter(Boolean);return t.length>0?{...e,items:t}:null}return"app"===e.type?e.url&&b.auth.isBlockedPath(e.url)?null:e:e.url&&b.auth.isBlockedHref(e.url)?null:e}function Y(e,t){if("dir"===e.type){const n=e.items.map((e=>Y(e,t))),r=n.some((e=>e.blockable)),l=n.some((e=>e.hasBlocked)),o=r&&n.some((e=>e.hasUnblocked)),i=n.length>0&&n.every((e=>e.allBlocked)),a=n.flatMap((e=>{var t,n;return e.blockable?null!==(t=null!==(n=e.blockableUrls)&&void 0!==n?n:e.blockableUrl)&&void 0!==t?t:e.url:[]}));return{...e,items:n,blockable:r,hasBlocked:l,hasUnblocked:o,allBlocked:i,blockableUrls:a}}if("app"===e.type){const n=!!e.url,r=n&&(null==t?void 0:t.includes(e.url)),l=n&&!r;return{...e,blockable:n,hasBlocked:r,hasUnblocked:l,allBlocked:r}}const{blockable:n,blockableUrl:r}=function(e){let t,n=!(null==e||!e.startsWith(z));if(n){const r=new URL(e,location.origin);r.origin===location.origin&&r.pathname.startsWith(z)?t=r.pathname.substring(z.length-1):(n=!1,t=void 0)}return{blockable:n,blockableUrl:t}}(e.url),l=n&&(null==t?void 0:t.includes(r)),o=n&&!l;return{...e,blockable:n,hasBlocked:l,hasUnblocked:o,allBlocked:l,blockableUrl:r}}r=K,({e:[k,y,w,A,x,E,T,B,U,C,j,S,N,M,_,O],c:[D,v]}=(0,u.A)(r,[I("nav.launchpad-config",{styleTexts:[g.A]})],[[W({attribute:!1}),1,"menuGroups"],[W({attribute:!1}),1,"actions"],[W(),1,"variant"],[W(),1,"urlTemplate"],[W(),1,"customUrlTemplate"],[W({attribute:!1}),1,"blacklist"],[P({type:"action.click"}),1,"actionClickEvent",e=>(0,s.A)($,e),(e,t)=>(0,c.A)($,e,t)]],0,(e=>J.has((0,i.A)(e))),f.ReactNextElement)),v()},6121:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(2559);function l(e,t,n){return e.set((0,r.A)(e,t),n),n}},6659:(e,t,n)=>{"use strict";n.d(t,{F:()=>l});var r=n(3922);function l(e,t){var n;if(!e)return t;const l=Object.fromEntries(Object.entries(e).filter((e=>{let[t,n]=e;return n.name})).map((e=>{let[t,n]=e;return[t,n.name]})));return null!==(n=(0,r.i18nText)(l))&&void 0!==n?n:t}},6758:e=>{"use strict";e.exports=function(e){return e[1]}},6902:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(7545);function l(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,r.A)(e):"null"));return e}},7545:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{A:()=>r})},9248:(e,t,n)=>{"use strict";n.d(t,{r:()=>p});var r=n(9575),l=n(8769),o=n.n(l),i=n(1030),a=n(3373),c=n.n(a),s=n(8974),u=n(10),m=n(6659);function p(e){var t;let{data:n,actions:r,variant:i,urlTemplate:a,customUrlTemplate:m,onActionClick:p}=e;null!==(t=n.type)&&void 0!==t||(n.type="group");const{name:b,items:h}=n,[g,v]=(0,l.useState)(!1),k=(0,l.useMemo)((()=>s.__secret_internals.legacyDoTransform(n,null==r?void 0:r.filter((e=>(0,s.checkIfByTransform)(e,n))))),[r,n]),y=(0,l.useCallback)((e=>{null==p||p({data:n,action:e.detail})}),[n,p]);return o().createElement("li",{className:c()("menu-group",{empty:0===h.length,blocked:n.allBlocked})},o().createElement("div",{className:"menu-group-label-wrapper"},o().createElement("span",{className:"menu-group-label"},b),"menu-config"!==i&&!(null==k||!k.length)&&o().createElement(u.qb,{actions:k,onVisibleChange:e=>{v(e.detail)},onActionClick:y},o().createElement(u.Bj,{lib:"fa",icon:"gear",className:c()("menu-config",{active:g})}))),o().createElement("ul",{className:"menu"},h.map((e=>"dir"===e.type?o().createElement(f,{key:e.instanceId,data:e,actions:r,variant:i,urlTemplate:a,customUrlTemplate:m,onActionClick:p}):o().createElement(d,{key:`${e.type}-${e.id}`,data:e,actions:r,variant:i,urlTemplate:a,customUrlTemplate:m,onActionClick:p})))))}function d(e){var t;let{data:n,actions:a,variant:p,urlTemplate:d,customUrlTemplate:f,onActionClick:h}=e;const g=(0,l.useMemo)((()=>"app"===n.type?(0,m.F)(n.locales,n.name):n.name),[n]),[v,k]=(0,l.useState)(!1),y=(0,l.useMemo)((()=>s.__secret_internals.legacyDoTransform(n,null==a?void 0:a.filter((e=>(0,s.checkIfByTransform)(e,n))))),[a,n]),w=(0,l.useCallback)((e=>{null==h||h({data:n,action:e.detail})}),[n,h]);let A=!1,x="";if("menu-config"===p)if("app"===n.type)x=b(d,n,"");else{const e=new URL(n.url,location.origin);A=e.origin!==location.origin,x=A?"":b(f,{...n,__pathname:e.pathname},"")}return o().createElement("li",{className:c()("menu-item",{disabled:A||n.allBlocked})},o().createElement(u.EM,{tooltip:A?"该菜单项为外链,不支持配置":"",url:x},o().createElement(u.Bj,(0,r.A)({className:"menu-icon",lib:"easyops",icon:"micro-app-center"},null!==(t=n.menuIcon)&&void 0!==t&&t.lib&&n.menuIcon.icon?(0,i.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),o().createElement("span",{className:"menu-item-label"},g)),"menu-config"!==p&&!(null==y||!y.length)&&o().createElement(u.qb,{actions:y,onVisibleChange:e=>{k(e.detail)},onActionClick:w},o().createElement(u.Bj,{lib:"fa",icon:"gear",className:c()("menu-config",{active:v})})))}function f(e){let{data:t,actions:n,variant:r,urlTemplate:i,customUrlTemplate:a,onActionClick:m}=e;const{name:p,items:f}=t,[b,h]=(0,l.useState)(!1),[g,v]=(0,l.useState)(!1),k=(0,l.useMemo)((()=>s.__secret_internals.legacyDoTransform(t,null==n?void 0:n.filter((e=>(0,s.checkIfByTransform)(e,t))))),[n,t]),y=(0,l.useCallback)((()=>{v((e=>!e))}),[]),w=(0,l.useCallback)((e=>{null==m||m({data:t,action:e.detail})}),[t,m]);return o().createElement("li",{className:c()("menu-item folder",{empty:0===f.length,blocked:t.allBlocked})},o().createElement("div",{className:"menu-folder-label-wrapper"},o().createElement(u.EM,{onClick:y},o().createElement(u.Bj,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),o().createElement("span",{className:"menu-item-label"},p),o().createElement(u.Bj,{lib:"antd",icon:g?"up":"down",className:"menu-item-toggle"})),"menu-config"!==r&&!(null==k||!k.length)&&o().createElement(u.qb,{actions:k,onVisibleChange:e=>{h(e.detail)},onActionClick:w},o().createElement(u.Bj,{lib:"fa",icon:"gear",className:c()("menu-config",{active:b})}))),o().createElement("ul",{className:c()("sub-menu",{expanded:g})},f.map((e=>o().createElement(d,{key:e.instanceId,data:e,actions:n,variant:r,urlTemplate:i,customUrlTemplate:a,onActionClick:m})))))}function b(e,t,n){var r;return null!==(r=null==e?void 0:e.replace(/{{(.*?)}}/g,((e,n)=>encodeURIComponent(String((0,i.get)(t,n.trim()))))))&&void 0!==r?r:n}},9575:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{A:()=>r})}}]);
3
+ //# sourceMappingURL=launchpad-config.ee0e60b5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/launchpad-config.e983ca1b.js","mappings":"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","sources":["webpack:///./src/launchpad-config/wrapped-bricks.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/css-loader/dist/runtime/api.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/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///../../node_modules/classnames/index.js","webpack:///./src/launchpad-config/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/launchpad-config/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///./src/shared/getLocaleName.ts","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./src/launchpad-config/MenuGroup.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import { wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping,\n} from \"@next-bricks/basic/dropdown-actions\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nexport const WrappedDropdownActions = wrapBrick<\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping\n>(\"eo-dropdown-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\n\n// Use `unwrapProvider` to get the original function of a provider\nexport const showDialog =\n unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","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 _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none;--local-menu-icon-color:rgba(255,255,255,0.45)}ul{list-style:none;margin:0;padding:0}.menu-groups{display:grid;gap:32px 16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{display:block}.menu-folder-label-wrapper > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.menu-group-label-wrapper,\n.menu-folder-label-wrapper,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-group-label-wrapper{gap:3px}.menu-group:not(.empty) .menu-group-label-wrapper{margin-bottom:14px}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text)}.menu-icon{color:var(--local-menu-icon-color)}.menu-group.blocked .menu-group-label,\n.menu-item.blocked > .menu-folder-label-wrapper .menu-item-label,\n.menu-item.blocked > .menu-folder-label-wrapper .menu-icon,\n.menu-item.blocked > .menu-folder-label-wrapper .menu-item-toggle,\n.menu-item.disabled > eo-link::part(link),\n.menu-item.disabled .menu-icon{color:var(--color-disabled-text)}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{max-width:100%;width:-moz-fit-content;width:fit-content;min-width:0}.sub-menu:not(.expanded){display:none}.sub-menu{margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item:not(.empty) .sub-menu{margin-top:14px}.menu-item-toggle{color:var(--color-secondary-text)}.menu-config{visibility:hidden;color:var(--color-brand);cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;width:0}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-item:not(.folder):not(.disabled):hover .menu-config,\n.menu-item:not(.folder):not(.blocked):hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible;width:24px}.menu-config:hover,\n.menu-item:not(.disabled) > eo-link:hover::part(link),\n.menu-item:not(.disabled) > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover::part(link),\n.menu-folder-label-wrapper > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}@supports not (inset: 0){.sub-menu,\n .menu,\n .menu-group-label-wrapper,\n .menu-folder-label-wrapper,\n .menu-item:not(.folder),\n .menu-item > eo-link::part(link){gap:0}.menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.menu-icon{margin-right:8px}eo-dropdown-actions,\n .menu-item-toggle{margin-left:8px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import React, { useMemo } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport type {\n ConfigMenuGroup,\n ConfigMenuItem,\n ConfigMenuItemApp,\n ConfigMenuItemCustom,\n ConfigMenuItemDir,\n ConfigVariant,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\nimport { MenuGroup } from \"./MenuGroup\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst BASE_PATH = \"/next/\";\n\n/**\n * 进行 Launchpad 配置。\n *\n * 也可用于菜单自定义显示产品功能清单。\n *\n * @insider\n */\nexport\n@defineElement(\"nav.launchpad-config\", {\n styleTexts: [styleText],\n})\nclass LaunchpadConfig extends ReactNextElement implements LaunchpadConfigProps {\n @property({ attribute: false })\n accessor menuGroups: ConfigMenuGroup[] | undefined;\n\n @property({ attribute: false })\n accessor actions: MenuAction[] | undefined;\n\n /**\n * @default \"launchpad-config\"\n */\n @property()\n accessor variant: ConfigVariant | undefined;\n\n /**\n * 菜单项 APP 类型的链接模板,例如可配置为 `/app/{{ id }}`。\n *\n * 注:仅用于 variant: \"menu-config\"。\n */\n @property()\n accessor urlTemplate: string | undefined;\n\n /**\n * 菜单项自定义类型的链接模板,例如可配置为 `/custom?url={{ __pathname }}`。\n *\n * 注:仅用于 variant: \"menu-config\"。\n * 外链菜单链接会设置为禁用。\n * `__pathname` 是运行时变量,表示 url 解析后的 pathname。\n */\n @property()\n accessor customUrlTemplate: string | undefined;\n\n /**\n * 屏蔽的 URL 列表,例如可配置为 `[\"/app/1\", \"/app/2\"]`。\n *\n * 注:仅用于 variant: \"blacklist-config\"。\n */\n @property({ attribute: false })\n accessor blacklist: string[] | undefined;\n\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<MenuActionEventDetail>;\n\n #onActionClick = (detail: MenuActionEventDetail) => {\n this.#actionClickEvent.emit(detail);\n };\n\n render() {\n return (\n <LaunchpadConfigComponent\n menuGroups={this.menuGroups}\n actions={this.actions}\n variant={this.variant ?? \"launchpad-config\"}\n urlTemplate={this.urlTemplate}\n customUrlTemplate={this.customUrlTemplate}\n blacklist={this.blacklist}\n onActionClick={this.#onActionClick}\n />\n );\n }\n}\n\nexport interface LaunchpadConfigProps {\n menuGroups?: ConfigMenuGroup[];\n actions?: MenuAction[];\n variant?: ConfigVariant;\n urlTemplate?: string;\n customUrlTemplate?: string;\n blacklist?: string[];\n}\n\nexport interface LaunchpadConfigComponentProps extends LaunchpadConfigProps {\n variant: ConfigVariant;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function LaunchpadConfigComponent({\n menuGroups,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n blacklist,\n onActionClick,\n}: LaunchpadConfigComponentProps) {\n const processedMenuGroup = useMemo<ConfigMenuGroup[] | undefined>(() => {\n if (variant === \"blacklist-config\") {\n return menuGroups?.map((group) => {\n const items = group.items.map((item) =>\n getMenuItemWithBlockInfo(item, blacklist)\n );\n const blockable = items.some((item) => item.blockable);\n const hasBlocked = blockable && items.some((item) => item.hasBlocked);\n const hasUnblocked =\n blockable && items.some((item) => item.hasUnblocked);\n const allBlocked =\n items.length > 0 && items.every((item) => item.allBlocked);\n const blockableUrls = items.flatMap((item) =>\n item.blockable\n ? ((item as ConfigMenuItemDir).blockableUrls ??\n (item as ConfigMenuItemCustom).blockableUrl ??\n (item as ConfigMenuItemApp).url)\n : []\n );\n return {\n ...group,\n type: \"group\",\n items,\n blockable,\n hasBlocked,\n hasUnblocked,\n allBlocked,\n blockableUrls,\n };\n });\n } else if (variant === \"launchpad-config\") {\n return getMenuGroupsWithoutBlockedItems(menuGroups)?.filter(Boolean);\n } else {\n return menuGroups;\n }\n }, [variant, menuGroups, blacklist]);\n\n return (\n <ul className=\"menu-groups\">\n {processedMenuGroup?.map((group) => (\n <MenuGroup\n key={group.instanceId}\n data={group}\n actions={actions}\n variant={variant}\n urlTemplate={urlTemplate}\n customUrlTemplate={customUrlTemplate}\n onActionClick={onActionClick}\n />\n ))}\n </ul>\n );\n}\n\nfunction getMenuGroupsWithoutBlockedItems<T extends ConfigMenuGroup>(\n menuGroups: T[] | undefined\n): T[] | undefined {\n return menuGroups\n ?.map<T | null>((group) => {\n const items = group.items\n .map((item) => getMenuItemWithoutBlockedItems(item))\n .filter(Boolean) as ConfigMenuItem[];\n return items.length > 0 ? { ...group, items } : null;\n })\n .filter(Boolean) as T[];\n}\n\nfunction getMenuItemWithoutBlockedItems<T extends ConfigMenuItem>(\n item: T\n): T | null {\n if (item.type === \"dir\") {\n const subItems = item.items\n .map((subItem) => getMenuItemWithoutBlockedItems(subItem))\n .filter(Boolean) as T[];\n return subItems.length > 0 ? { ...item, items: subItems } : null;\n }\n if (item.type === \"app\") {\n return item.url && auth.isBlockedPath(item.url) ? null : item;\n }\n return item.url && auth.isBlockedHref(item.url) ? null : item;\n}\n\nfunction getMenuItemWithBlockInfo<T extends ConfigMenuItem>(\n item: T,\n blacklist: string[] | undefined\n): T {\n if (item.type === \"dir\") {\n const subItems = item.items.map((subItem) =>\n getMenuItemWithBlockInfo(subItem, blacklist)\n );\n const blockable = subItems.some((subItem) => subItem.blockable);\n const hasBlocked = subItems.some((subItem) => subItem.hasBlocked);\n const hasUnblocked =\n blockable && subItems.some((subItem) => subItem.hasUnblocked);\n const allBlocked =\n subItems.length > 0 && subItems.every((subItem) => subItem.allBlocked);\n const blockableUrls = subItems.flatMap((subItem) =>\n subItem.blockable\n ? ((subItem as unknown as ConfigMenuItemDir).blockableUrls ??\n (subItem as ConfigMenuItemCustom).blockableUrl ??\n subItem.url)\n : []\n );\n return {\n ...item,\n items: subItems,\n blockable,\n hasBlocked,\n hasUnblocked,\n allBlocked,\n blockableUrls,\n };\n }\n\n if (item.type === \"app\") {\n const blockable = !!item.url;\n const hasBlocked = blockable && blacklist?.includes(item.url);\n const hasUnblocked = blockable && !hasBlocked;\n return {\n ...item,\n blockable,\n hasBlocked,\n hasUnblocked,\n allBlocked: hasBlocked,\n };\n }\n\n const { blockable, blockableUrl } = getBlockableUrl(item.url);\n const hasBlocked = blockable && blacklist?.includes(blockableUrl!);\n const hasUnblocked = blockable && !hasBlocked;\n return {\n ...item,\n blockable,\n hasBlocked,\n hasUnblocked,\n allBlocked: hasBlocked,\n blockableUrl,\n };\n}\n\nfunction getBlockableUrl(url: string | undefined) {\n let blockable = !!url?.startsWith(BASE_PATH);\n let blockableUrl: string | undefined;\n if (blockable) {\n const urlObj = new URL(url!, location.origin);\n if (\n urlObj.origin === location.origin &&\n urlObj.pathname.startsWith(BASE_PATH)\n ) {\n blockableUrl = urlObj.pathname.substring(BASE_PATH.length - 1);\n } else {\n blockable = false;\n blockableUrl = undefined;\n }\n }\n return { blockable, blockableUrl };\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import { i18nText } from \"@next-core/i18n\";\nimport type { AppLocales, I18nData } from \"@next-core/types\";\n\nexport function getAppLocaleName(\n locales: AppLocales | undefined,\n name: string\n) {\n if (!locales) {\n return name;\n }\n const i18nData = Object.fromEntries(\n Object.entries(locales)\n .filter(([_lang, resources]) => resources.name)\n .map(([lang, resources]) => [lang, resources.name])\n ) as I18nData;\n return i18nText(i18nData) ?? name;\n}\n","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import React, { useCallback, useMemo, useState } from \"react\";\nimport { get, pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { __secret_internals, checkIfByTransform } from \"@next-core/runtime\";\nimport type { SimpleAction } from \"@next-bricks/basic/actions\";\nimport {\n WrappedDropdownActions,\n WrappedIcon,\n WrappedLink,\n} from \"./wrapped-bricks\";\nimport type {\n ConfigMenuGroup,\n ConfigMenuItemDir,\n ConfigMenuItemNormal,\n ConfigVariant,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\nimport { getAppLocaleName } from \"../shared/getLocaleName\";\n\nexport interface MenuGroupProps {\n data: ConfigMenuGroup;\n actions?: MenuAction[];\n variant?: ConfigVariant;\n urlTemplate?: string;\n customUrlTemplate?: string;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuGroup({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onActionClick,\n}: MenuGroupProps) {\n // Make it compatible\n data.type ??= \"group\";\n const { name, items } = data;\n const [dropdownActive, setDropdownActive] = useState(false);\n\n const filteredActions = useMemo(() => {\n return __secret_internals.legacyDoTransform(\n data,\n actions?.filter((item) => checkIfByTransform(item, data))\n ) as MenuAction[] | undefined;\n }, [actions, data]);\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li\n className={classNames(\"menu-group\", {\n empty: items.length === 0,\n blocked: data.allBlocked,\n })}\n >\n <div className=\"menu-group-label-wrapper\">\n <span className=\"menu-group-label\">{name}</span>\n {variant !== \"menu-config\" && !!filteredActions?.length && (\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", {\n active: dropdownActive,\n })}\n />\n </WrappedDropdownActions>\n )}\n </div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={item.instanceId}\n data={item}\n actions={actions}\n variant={variant}\n urlTemplate={urlTemplate}\n customUrlTemplate={customUrlTemplate}\n onActionClick={onActionClick}\n />\n ) : (\n <MenuItem\n key={`${item.type}-${item.id}`}\n data={item}\n actions={actions}\n variant={variant}\n urlTemplate={urlTemplate}\n customUrlTemplate={customUrlTemplate}\n onActionClick={onActionClick}\n />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n data: ConfigMenuItemNormal;\n actions?: MenuAction[];\n variant?: ConfigVariant;\n urlTemplate?: string;\n customUrlTemplate?: string;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuItem({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onActionClick,\n}: MenuItemProps) {\n const name = useMemo(\n () =>\n data.type === \"app\"\n ? getAppLocaleName(data.locales, data.name)\n : data.name,\n [data]\n );\n\n const [dropdownActive, setDropdownActive] = useState(false);\n\n const filteredActions = useMemo(\n () =>\n __secret_internals.legacyDoTransform(\n data,\n actions?.filter((item) => checkIfByTransform(item, data))\n ) as MenuAction[] | undefined,\n [actions, data]\n );\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n let disabled = false;\n let linkUrl = \"\";\n\n if (variant === \"menu-config\") {\n if (data.type === \"app\") {\n linkUrl = parseUrlTemplate(urlTemplate, data, \"\")!;\n } else {\n // 禁用外链菜单项\n const urlObject = new URL(data.url, location.origin);\n disabled = urlObject.origin !== location.origin;\n linkUrl = disabled\n ? \"\"\n : parseUrlTemplate(\n customUrlTemplate,\n {\n ...data,\n __pathname: urlObject.pathname,\n },\n \"\"\n )!;\n }\n }\n\n return (\n <li\n className={classNames(\"menu-item\", {\n disabled: disabled || data.allBlocked,\n })}\n >\n <WrappedLink\n tooltip={disabled ? \"该菜单项为外链,不支持配置\" : \"\"}\n url={linkUrl}\n >\n <WrappedIcon\n className=\"menu-icon\"\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(data.menuIcon?.lib && data.menuIcon.icon\n ? (pick(data.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{name}</span>\n </WrappedLink>\n {variant !== \"menu-config\" && !!filteredActions?.length && (\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", { active: dropdownActive })}\n />\n </WrappedDropdownActions>\n )}\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n data: ConfigMenuItemDir;\n actions?: MenuAction[];\n variant?: ConfigVariant;\n urlTemplate?: string;\n customUrlTemplate?: string;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nfunction MenuItemFolder({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onActionClick,\n}: MenuItemFolderProps) {\n const { name, items } = data;\n const [dropdownActive, setDropdownActive] = useState(false);\n const [expanded, setExpanded] = useState(false);\n\n const filteredActions = useMemo(\n () =>\n __secret_internals.legacyDoTransform(\n data,\n actions?.filter((item) => checkIfByTransform(item, data))\n ) as MenuAction[] | undefined,\n [actions, data]\n );\n\n const toggle = useCallback(() => {\n setExpanded((previous) => !previous);\n }, []);\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li\n className={classNames(\"menu-item folder\", {\n empty: items.length === 0,\n blocked: data.allBlocked,\n })}\n >\n <div className=\"menu-folder-label-wrapper\">\n <WrappedLink onClick={toggle}>\n <WrappedIcon\n lib=\"fa\"\n prefix=\"far\"\n icon=\"folder-open\"\n className=\"menu-icon\"\n />\n <span className=\"menu-item-label\">{name}</span>\n <WrappedIcon\n lib=\"antd\"\n icon={expanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n {variant !== \"menu-config\" && !!filteredActions?.length && (\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", {\n active: dropdownActive,\n })}\n />\n </WrappedDropdownActions>\n )}\n </div>\n <ul className={classNames(\"sub-menu\", { expanded })}>\n {items.map((item) => (\n <MenuItem\n key={item.instanceId}\n data={item}\n actions={actions}\n variant={variant}\n urlTemplate={urlTemplate}\n customUrlTemplate={customUrlTemplate}\n onActionClick={onActionClick}\n />\n ))}\n </ul>\n </li>\n );\n}\n\nfunction parseUrlTemplate(\n urlTemplate: string | undefined,\n data: unknown,\n fallback?: string\n) {\n return (\n urlTemplate?.replace(/{{(.*?)}}/g, (_match, key) =>\n encodeURIComponent(String(get(data, key.trim())))\n ) ?? fallback\n );\n}\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["WrappedIcon","wrapBrick","WrappedLink","WrappedDropdownActions","onActionClick","onVisibleChange","unwrapProvider","_classPrivateFieldGet2","s","a","get","_classPrivateFieldInitSpec","obj","privateMap","value","set","module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","toPropertyKey","t","e","Symbol","toPrimitive","call","r","TypeError","String","_checkPrivateRedeclaration","privateCollection","has","_assertClassBrand","n","arguments","setFunctionName","description","Object","defineProperty","configurable","applyDecs2311","o","c","u","f","l","p","d","metadata","m","h","create","y","v","g","apply","b","applyDec","w","D","S","j","E","I","P","F","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","K","kind","addInitializer","bind","access","init","unshift","splice","enumerable","prototype","checkInRHS","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","Array","isArray","includes","key","newClass","default","___CSS_LOADER_EXPORT___","_classPrivateMethodInitSpec","privateSet","add","_classPrivateGetter","defineElement","property","event","createDecorators","BASE_PATH","_LaunchpadConfig","_A","WeakMap","_B","_C","_D","_E","_F","_G","_LaunchpadConfig_brand","WeakSet","_onActionClick","LaunchpadConfig","ReactNextElement","constructor","_init_menuGroups","_init_extra_menuGroups","_init_actions","_init_extra_actions","_init_variant","_init_extra_variant","_init_urlTemplate","_init_extra_urlTemplate","_init_customUrlTemplate","_init_extra_customUrlTemplate","_init_blacklist","_init_extra_blacklist","_init_actionClickEvent","_init_extra_actionClickEvent","detail","_get_actionClickEvent","emit","menuGroups","_classPrivateFieldGet","_classPrivateFieldSet","actions","variant","urlTemplate","customUrlTemplate","blacklist","render","_this$variant","React","LaunchpadConfigComponent","_ref","processedMenuGroup","useMemo","group","items","getMenuItemWithBlockInfo","blockable","some","hasBlocked","hasUnblocked","allBlocked","every","blockableUrls","flatMap","_ref2","_blockableUrls","blockableUrl","url","type","_getMenuGroupsWithout","getMenuItemWithoutBlockedItems","filter","Boolean","getMenuGroupsWithoutBlockedItems","className","MenuGroup","instanceId","data","subItems","subItem","auth","isBlockedPath","isBlockedHref","_ref3","_blockableUrls2","startsWith","urlObj","URL","location","origin","pathname","substring","getBlockableUrl","_LaunchpadConfig2","_set_actionClickEvent","_initClass","_applyDecs","styleTexts","styleText","attribute","_","_checkInRHS","_classPrivateFieldSet2","getAppLocaleName","locales","_i18nText","i18nData","fromEntries","entries","_lang","resources","lang","i18nText","_typeof","iterator","_data$type","dropdownActive","setDropdownActive","useState","filteredActions","__secret_internals","legacyDoTransform","checkIfByTransform","handleActionClick","useCallback","action","empty","blocked","lib","icon","active","MenuItemFolder","MenuItem","_data$menuIcon","disabled","linkUrl","parseUrlTemplate","urlObject","__pathname","tooltip","_extends","menuIcon","pick","expanded","setExpanded","toggle","previous","onClick","prefix","fallback","_urlTemplate$replace","replace","_match","encodeURIComponent","trim","assign","target","source"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/launchpad-config.ee0e60b5.js","mappings":"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","sources":["webpack:///./src/launchpad-config/wrapped-bricks.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/css-loader/dist/runtime/api.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/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///../../node_modules/classnames/index.js","webpack:///./src/launchpad-config/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/launchpad-config/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///./src/shared/getLocaleName.ts","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./src/launchpad-config/MenuGroup.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import { wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping,\n} from \"@next-bricks/basic/dropdown-actions\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nexport const WrappedDropdownActions = wrapBrick<\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping\n>(\"eo-dropdown-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\n\n// Use `unwrapProvider` to get the original function of a provider\nexport const showDialog =\n unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","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 _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--local-menu-icon-color:#8c8c8c}:host([hidden]){display:none;--local-menu-icon-color:rgba(255,255,255,0.45)}ul{list-style:none;margin:0;padding:0}.menu-groups{display:grid;gap:32px 16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.menu,\n.sub-menu{display:flex;flex-direction:column;gap:14px}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{display:block}.menu-folder-label-wrapper > eo-link::part(link),\n.menu-item > eo-link::part(link){height:20px;display:flex;align-items:center;gap:8px;color:var(--color-header-text)}.menu-group-label-wrapper,\n.menu-folder-label-wrapper,\n.menu-item:not(.folder){display:flex;gap:8px;align-items:center}.menu-group-label-wrapper{gap:3px}.menu-group:not(.empty) .menu-group-label-wrapper{margin-bottom:14px}.menu-group-label,\n.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-group-label{font-size:var(--card-title-font-size);font-weight:500;color:var(--color-header-text)}.menu-icon{color:var(--local-menu-icon-color)}.menu-group.blocked .menu-group-label,\n.menu-item.blocked > .menu-folder-label-wrapper .menu-item-label,\n.menu-item.blocked > .menu-folder-label-wrapper .menu-icon,\n.menu-item.blocked > .menu-folder-label-wrapper .menu-item-toggle,\n.menu-item.disabled > eo-link::part(link),\n.menu-item.disabled .menu-icon{color:var(--color-disabled-text)}.menu-folder-label-wrapper > eo-link,\n.menu-item > eo-link{max-width:100%;width:-moz-fit-content;width:fit-content;min-width:0}.sub-menu:not(.expanded){display:none}.sub-menu{margin-left:8px;border-left:1px solid var(--color-text-divider-line);padding-left:15px}.menu-item:not(.empty) .sub-menu{margin-top:14px}.menu-item-toggle{color:var(--color-secondary-text)}.menu-config{visibility:hidden;color:var(--color-brand);cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;width:0}.menu-config.active,\n.menu-group-label-wrapper:hover .menu-config,\n.menu-item:not(.folder):not(.disabled):hover .menu-config,\n.menu-item:not(.folder):not(.blocked):hover .menu-config,\n.menu-folder-label-wrapper:hover .menu-config{visibility:visible;width:24px}.menu-config:hover,\n.menu-item:not(.disabled) > eo-link:hover::part(link),\n.menu-item:not(.disabled) > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover::part(link),\n.menu-folder-label-wrapper > eo-link:hover .menu-icon,\n.menu-folder-label-wrapper > eo-link:hover .menu-item-toggle{color:var(--color-brand-hover)}@supports not (inset: 0){.sub-menu,\n .menu,\n .menu-group-label-wrapper,\n .menu-folder-label-wrapper,\n .menu-item:not(.folder),\n .menu-item > eo-link::part(link){gap:0}.menu > :not(:first-child),\n .sub-menu > :not(:first-child){margin-top:14px}.menu-icon{margin-right:8px}eo-dropdown-actions,\n .menu-item-toggle{margin-left:8px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import React, { useMemo } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport type {\n ConfigMenuGroup,\n ConfigMenuItem,\n ConfigMenuItemApp,\n ConfigMenuItemCustom,\n ConfigMenuItemDir,\n ConfigVariant,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\nimport { MenuGroup } from \"./MenuGroup\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst BASE_PATH = \"/next/\";\n\n/**\n * 进行 Launchpad 配置。\n *\n * 也可用于菜单自定义显示产品功能清单。\n *\n * @insider\n */\nexport\n@defineElement(\"nav.launchpad-config\", {\n styleTexts: [styleText],\n})\nclass LaunchpadConfig extends ReactNextElement implements LaunchpadConfigProps {\n @property({ attribute: false })\n accessor menuGroups: ConfigMenuGroup[] | undefined;\n\n @property({ attribute: false })\n accessor actions: MenuAction[] | undefined;\n\n /**\n * @default \"launchpad-config\"\n */\n @property()\n accessor variant: ConfigVariant | undefined;\n\n /**\n * 菜单项 APP 类型的链接模板,例如可配置为 `/app/{{ id }}`。\n *\n * 注:仅用于 variant: \"menu-config\"。\n */\n @property()\n accessor urlTemplate: string | undefined;\n\n /**\n * 菜单项自定义类型的链接模板,例如可配置为 `/custom?url={{ __pathname }}`。\n *\n * 注:仅用于 variant: \"menu-config\"。\n * 外链菜单链接会设置为禁用。\n * `__pathname` 是运行时变量,表示 url 解析后的 pathname。\n */\n @property()\n accessor customUrlTemplate: string | undefined;\n\n /**\n * 屏蔽的 URL 列表,例如可配置为 `[\"/app/1\", \"/app/2\"]`。\n *\n * 注:仅用于 variant: \"blacklist-config\"。\n */\n @property({ attribute: false })\n accessor blacklist: string[] | undefined;\n\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<MenuActionEventDetail>;\n\n #onActionClick = (detail: MenuActionEventDetail) => {\n this.#actionClickEvent.emit(detail);\n };\n\n render() {\n return (\n <LaunchpadConfigComponent\n menuGroups={this.menuGroups}\n actions={this.actions}\n variant={this.variant ?? \"launchpad-config\"}\n urlTemplate={this.urlTemplate}\n customUrlTemplate={this.customUrlTemplate}\n blacklist={this.blacklist}\n onActionClick={this.#onActionClick}\n />\n );\n }\n}\n\nexport interface LaunchpadConfigProps {\n menuGroups?: ConfigMenuGroup[];\n actions?: MenuAction[];\n variant?: ConfigVariant;\n urlTemplate?: string;\n customUrlTemplate?: string;\n blacklist?: string[];\n}\n\nexport interface LaunchpadConfigComponentProps extends LaunchpadConfigProps {\n variant: ConfigVariant;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function LaunchpadConfigComponent({\n menuGroups,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n blacklist,\n onActionClick,\n}: LaunchpadConfigComponentProps) {\n const processedMenuGroup = useMemo<ConfigMenuGroup[] | undefined>(() => {\n if (variant === \"blacklist-config\") {\n return menuGroups?.map((group) => {\n const items = group.items.map((item) =>\n getMenuItemWithBlockInfo(item, blacklist)\n );\n const blockable = items.some((item) => item.blockable);\n const hasBlocked = blockable && items.some((item) => item.hasBlocked);\n const hasUnblocked =\n blockable && items.some((item) => item.hasUnblocked);\n const allBlocked =\n items.length > 0 && items.every((item) => item.allBlocked);\n const blockableUrls = items.flatMap((item) =>\n item.blockable\n ? ((item as ConfigMenuItemDir).blockableUrls ??\n (item as ConfigMenuItemCustom).blockableUrl ??\n (item as ConfigMenuItemApp).url)\n : []\n );\n return {\n ...group,\n type: \"group\",\n items,\n blockable,\n hasBlocked,\n hasUnblocked,\n allBlocked,\n blockableUrls,\n };\n });\n } else if (variant === \"launchpad-config\") {\n return getMenuGroupsWithoutBlockedItems(menuGroups)?.filter(Boolean);\n } else {\n return menuGroups;\n }\n }, [variant, menuGroups, blacklist]);\n\n return (\n <ul className=\"menu-groups\">\n {processedMenuGroup?.map((group) => (\n <MenuGroup\n key={group.instanceId}\n data={group}\n actions={actions}\n variant={variant}\n urlTemplate={urlTemplate}\n customUrlTemplate={customUrlTemplate}\n onActionClick={onActionClick}\n />\n ))}\n </ul>\n );\n}\n\nfunction getMenuGroupsWithoutBlockedItems<T extends ConfigMenuGroup>(\n menuGroups: T[] | undefined\n): T[] | undefined {\n return menuGroups\n ?.map<T | null>((group) => {\n const items = group.items\n .map((item) => getMenuItemWithoutBlockedItems(item))\n .filter(Boolean) as ConfigMenuItem[];\n return items.length > 0 ? { ...group, items } : null;\n })\n .filter(Boolean) as T[];\n}\n\nfunction getMenuItemWithoutBlockedItems<T extends ConfigMenuItem>(\n item: T\n): T | null {\n if (item.type === \"dir\") {\n const subItems = item.items\n .map((subItem) => getMenuItemWithoutBlockedItems(subItem))\n .filter(Boolean) as T[];\n return subItems.length > 0 ? { ...item, items: subItems } : null;\n }\n if (item.type === \"app\") {\n return item.url && auth.isBlockedPath(item.url) ? null : item;\n }\n return item.url && auth.isBlockedHref(item.url) ? null : item;\n}\n\nfunction getMenuItemWithBlockInfo<T extends ConfigMenuItem>(\n item: T,\n blacklist: string[] | undefined\n): T {\n if (item.type === \"dir\") {\n const subItems = item.items.map((subItem) =>\n getMenuItemWithBlockInfo(subItem, blacklist)\n );\n const blockable = subItems.some((subItem) => subItem.blockable);\n const hasBlocked = subItems.some((subItem) => subItem.hasBlocked);\n const hasUnblocked =\n blockable && subItems.some((subItem) => subItem.hasUnblocked);\n const allBlocked =\n subItems.length > 0 && subItems.every((subItem) => subItem.allBlocked);\n const blockableUrls = subItems.flatMap((subItem) =>\n subItem.blockable\n ? ((subItem as unknown as ConfigMenuItemDir).blockableUrls ??\n (subItem as ConfigMenuItemCustom).blockableUrl ??\n subItem.url)\n : []\n );\n return {\n ...item,\n items: subItems,\n blockable,\n hasBlocked,\n hasUnblocked,\n allBlocked,\n blockableUrls,\n };\n }\n\n if (item.type === \"app\") {\n const blockable = !!item.url;\n const hasBlocked = blockable && blacklist?.includes(item.url);\n const hasUnblocked = blockable && !hasBlocked;\n return {\n ...item,\n blockable,\n hasBlocked,\n hasUnblocked,\n allBlocked: hasBlocked,\n };\n }\n\n const { blockable, blockableUrl } = getBlockableUrl(item.url);\n const hasBlocked = blockable && blacklist?.includes(blockableUrl!);\n const hasUnblocked = blockable && !hasBlocked;\n return {\n ...item,\n blockable,\n hasBlocked,\n hasUnblocked,\n allBlocked: hasBlocked,\n blockableUrl,\n };\n}\n\nfunction getBlockableUrl(url: string | undefined) {\n let blockable = !!url?.startsWith(BASE_PATH);\n let blockableUrl: string | undefined;\n if (blockable) {\n const urlObj = new URL(url!, location.origin);\n if (\n urlObj.origin === location.origin &&\n urlObj.pathname.startsWith(BASE_PATH)\n ) {\n blockableUrl = urlObj.pathname.substring(BASE_PATH.length - 1);\n } else {\n blockable = false;\n blockableUrl = undefined;\n }\n }\n return { blockable, blockableUrl };\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import { i18nText } from \"@next-core/i18n\";\nimport type { AppLocales, I18nData } from \"@next-core/types\";\n\nexport function getAppLocaleName(\n locales: AppLocales | undefined,\n name: string\n) {\n if (!locales) {\n return name;\n }\n const i18nData = Object.fromEntries(\n Object.entries(locales)\n .filter(([_lang, resources]) => resources.name)\n .map(([lang, resources]) => [lang, resources.name])\n ) as I18nData;\n return i18nText(i18nData) ?? name;\n}\n","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import React, { useCallback, useMemo, useState } from \"react\";\nimport { get, pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { __secret_internals, checkIfByTransform } from \"@next-core/runtime\";\nimport type { SimpleAction } from \"@next-bricks/basic/actions\";\nimport {\n WrappedDropdownActions,\n WrappedIcon,\n WrappedLink,\n} from \"./wrapped-bricks\";\nimport type {\n ConfigMenuGroup,\n ConfigMenuItemDir,\n ConfigMenuItemNormal,\n ConfigVariant,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\nimport { getAppLocaleName } from \"../shared/getLocaleName\";\n\nexport interface MenuGroupProps {\n data: ConfigMenuGroup;\n actions?: MenuAction[];\n variant?: ConfigVariant;\n urlTemplate?: string;\n customUrlTemplate?: string;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuGroup({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onActionClick,\n}: MenuGroupProps) {\n // Make it compatible\n data.type ??= \"group\";\n const { name, items } = data;\n const [dropdownActive, setDropdownActive] = useState(false);\n\n const filteredActions = useMemo(() => {\n return __secret_internals.legacyDoTransform(\n data,\n actions?.filter((item) => checkIfByTransform(item, data))\n ) as MenuAction[] | undefined;\n }, [actions, data]);\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li\n className={classNames(\"menu-group\", {\n empty: items.length === 0,\n blocked: data.allBlocked,\n })}\n >\n <div className=\"menu-group-label-wrapper\">\n <span className=\"menu-group-label\">{name}</span>\n {variant !== \"menu-config\" && !!filteredActions?.length && (\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", {\n active: dropdownActive,\n })}\n />\n </WrappedDropdownActions>\n )}\n </div>\n <ul className=\"menu\">\n {items.map((item) =>\n item.type === \"dir\" ? (\n <MenuItemFolder\n key={item.instanceId}\n data={item}\n actions={actions}\n variant={variant}\n urlTemplate={urlTemplate}\n customUrlTemplate={customUrlTemplate}\n onActionClick={onActionClick}\n />\n ) : (\n <MenuItem\n key={`${item.type}-${item.id}`}\n data={item}\n actions={actions}\n variant={variant}\n urlTemplate={urlTemplate}\n customUrlTemplate={customUrlTemplate}\n onActionClick={onActionClick}\n />\n )\n )}\n </ul>\n </li>\n );\n}\n\nexport interface MenuItemProps {\n data: ConfigMenuItemNormal;\n actions?: MenuAction[];\n variant?: ConfigVariant;\n urlTemplate?: string;\n customUrlTemplate?: string;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuItem({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onActionClick,\n}: MenuItemProps) {\n const name = useMemo(\n () =>\n data.type === \"app\"\n ? getAppLocaleName(data.locales, data.name)\n : data.name,\n [data]\n );\n\n const [dropdownActive, setDropdownActive] = useState(false);\n\n const filteredActions = useMemo(\n () =>\n __secret_internals.legacyDoTransform(\n data,\n actions?.filter((item) => checkIfByTransform(item, data))\n ) as MenuAction[] | undefined,\n [actions, data]\n );\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n let disabled = false;\n let linkUrl = \"\";\n\n if (variant === \"menu-config\") {\n if (data.type === \"app\") {\n linkUrl = parseUrlTemplate(urlTemplate, data, \"\")!;\n } else {\n // 禁用外链菜单项\n const urlObject = new URL(data.url, location.origin);\n disabled = urlObject.origin !== location.origin;\n linkUrl = disabled\n ? \"\"\n : parseUrlTemplate(\n customUrlTemplate,\n {\n ...data,\n __pathname: urlObject.pathname,\n },\n \"\"\n )!;\n }\n }\n\n return (\n <li\n className={classNames(\"menu-item\", {\n disabled: disabled || data.allBlocked,\n })}\n >\n <WrappedLink\n tooltip={disabled ? \"该菜单项为外链,不支持配置\" : \"\"}\n url={linkUrl}\n >\n <WrappedIcon\n className=\"menu-icon\"\n lib=\"easyops\"\n icon=\"micro-app-center\"\n {...(data.menuIcon?.lib && data.menuIcon.icon\n ? (pick(data.menuIcon, [\n \"lib\",\n \"icon\",\n \"theme\",\n \"category\",\n \"prefix\",\n ]) as any)\n : null)}\n />\n <span className=\"menu-item-label\">{name}</span>\n </WrappedLink>\n {variant !== \"menu-config\" && !!filteredActions?.length && (\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", { active: dropdownActive })}\n />\n </WrappedDropdownActions>\n )}\n </li>\n );\n}\n\nexport interface MenuItemFolderProps {\n data: ConfigMenuItemDir;\n actions?: MenuAction[];\n variant?: ConfigVariant;\n urlTemplate?: string;\n customUrlTemplate?: string;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nfunction MenuItemFolder({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onActionClick,\n}: MenuItemFolderProps) {\n const { name, items } = data;\n const [dropdownActive, setDropdownActive] = useState(false);\n const [expanded, setExpanded] = useState(false);\n\n const filteredActions = useMemo(\n () =>\n __secret_internals.legacyDoTransform(\n data,\n actions?.filter((item) => checkIfByTransform(item, data))\n ) as MenuAction[] | undefined,\n [actions, data]\n );\n\n const toggle = useCallback(() => {\n setExpanded((previous) => !previous);\n }, []);\n\n const handleActionClick = useCallback(\n (event: CustomEvent<SimpleAction>) => {\n onActionClick?.({\n data,\n action: event.detail,\n });\n },\n [data, onActionClick]\n );\n\n return (\n <li\n className={classNames(\"menu-item folder\", {\n empty: items.length === 0,\n blocked: data.allBlocked,\n })}\n >\n <div className=\"menu-folder-label-wrapper\">\n <WrappedLink onClick={toggle}>\n <WrappedIcon\n lib=\"fa\"\n prefix=\"far\"\n icon=\"folder-open\"\n className=\"menu-icon\"\n />\n <span className=\"menu-item-label\">{name}</span>\n <WrappedIcon\n lib=\"antd\"\n icon={expanded ? \"up\" : \"down\"}\n className=\"menu-item-toggle\"\n />\n </WrappedLink>\n {variant !== \"menu-config\" && !!filteredActions?.length && (\n <WrappedDropdownActions\n actions={filteredActions}\n onVisibleChange={(event) => {\n setDropdownActive(event.detail);\n }}\n onActionClick={handleActionClick}\n >\n <WrappedIcon\n lib=\"fa\"\n icon=\"gear\"\n className={classNames(\"menu-config\", {\n active: dropdownActive,\n })}\n />\n </WrappedDropdownActions>\n )}\n </div>\n <ul className={classNames(\"sub-menu\", { expanded })}>\n {items.map((item) => (\n <MenuItem\n key={item.instanceId}\n data={item}\n actions={actions}\n variant={variant}\n urlTemplate={urlTemplate}\n customUrlTemplate={customUrlTemplate}\n onActionClick={onActionClick}\n />\n ))}\n </ul>\n </li>\n );\n}\n\nfunction parseUrlTemplate(\n urlTemplate: string | undefined,\n data: unknown,\n fallback?: string\n) {\n return (\n urlTemplate?.replace(/{{(.*?)}}/g, (_match, key) =>\n encodeURIComponent(String(get(data, key.trim())))\n ) ?? fallback\n );\n}\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["WrappedIcon","wrapBrick","WrappedLink","WrappedDropdownActions","onActionClick","onVisibleChange","unwrapProvider","_classPrivateFieldGet2","s","a","get","_classPrivateFieldInitSpec","obj","privateMap","value","set","module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","toPropertyKey","t","e","Symbol","toPrimitive","call","r","TypeError","String","_checkPrivateRedeclaration","privateCollection","has","_assertClassBrand","n","arguments","setFunctionName","description","Object","defineProperty","configurable","applyDecs2311","o","c","u","f","l","p","d","metadata","m","h","create","y","v","g","apply","b","applyDec","w","D","S","j","E","I","P","F","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","K","kind","addInitializer","bind","access","init","unshift","splice","enumerable","prototype","checkInRHS","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","Array","isArray","includes","key","newClass","default","___CSS_LOADER_EXPORT___","_classPrivateMethodInitSpec","privateSet","add","_classPrivateGetter","defineElement","property","event","createDecorators","BASE_PATH","_LaunchpadConfig","_A","WeakMap","_B","_C","_D","_E","_F","_G","_LaunchpadConfig_brand","WeakSet","_onActionClick","LaunchpadConfig","ReactNextElement","constructor","_init_menuGroups","_init_extra_menuGroups","_init_actions","_init_extra_actions","_init_variant","_init_extra_variant","_init_urlTemplate","_init_extra_urlTemplate","_init_customUrlTemplate","_init_extra_customUrlTemplate","_init_blacklist","_init_extra_blacklist","_init_actionClickEvent","_init_extra_actionClickEvent","detail","_get_actionClickEvent","emit","menuGroups","_classPrivateFieldGet","_classPrivateFieldSet","actions","variant","urlTemplate","customUrlTemplate","blacklist","render","_this$variant","React","LaunchpadConfigComponent","_ref","processedMenuGroup","useMemo","group","items","getMenuItemWithBlockInfo","blockable","some","hasBlocked","hasUnblocked","allBlocked","every","blockableUrls","flatMap","_ref2","_blockableUrls","blockableUrl","url","type","_getMenuGroupsWithout","getMenuItemWithoutBlockedItems","filter","Boolean","getMenuGroupsWithoutBlockedItems","className","MenuGroup","instanceId","data","subItems","subItem","auth","isBlockedPath","isBlockedHref","_ref3","_blockableUrls2","startsWith","urlObj","URL","location","origin","pathname","substring","getBlockableUrl","_LaunchpadConfig2","_set_actionClickEvent","_initClass","_applyDecs","styleTexts","styleText","attribute","_","_checkInRHS","_classPrivateFieldSet2","getAppLocaleName","locales","_i18nText","i18nData","fromEntries","entries","_lang","resources","lang","i18nText","_typeof","iterator","_data$type","dropdownActive","setDropdownActive","useState","filteredActions","__secret_internals","legacyDoTransform","checkIfByTransform","handleActionClick","useCallback","action","empty","blocked","lib","icon","active","MenuItemFolder","MenuItem","_data$menuIcon","disabled","linkUrl","parseUrlTemplate","urlObject","__pathname","tooltip","_extends","menuIcon","pick","expanded","setExpanded","toggle","previous","onClick","prefix","fallback","_urlTemplate$replace","replace","_match","encodeURIComponent","trim","assign","target","source"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (()=>{var e,t,r,n,o,a,l,i,s,c,u,d,f,h,p,m,b,v,x,g,y,P,k,w={7934:(e,t,r)=>{Promise.all([r.e(4934),r.e(8274),r.e(8769),r.e(6192),r.e(9859),r.e(6477),r.e(1030),r.e(8974),r.e(4427),r.e(3922),r.e(1361),r.e(480),r.e(1732),r.e(1321),r.e(2105),r.e(8361),r.e(2133),r.e(9435),r.e(1916),r.e(8399),r.e(4167),r.e(6595),r.e(4727),r.e(9149),r.e(7505)]).then(r.bind(r,7505))}},j={};function S(e){var t=j[e];if(void 0!==t)return t.exports;var r=j[e]={id:e,loaded:!1,exports:{}};return w[e].call(r.exports,r,r.exports,S),r.loaded=!0,r.exports}S.m=w,S.c=j,S.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return S.d(t,{a:t}),t},S.d=(e,t)=>{for(var r in t)S.o(t,r)&&!S.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce(((t,r)=>(S.f[r](e,t),t)),[])),S.u=e=>"chunks/"+e+"."+{114:"de520122",726:"2d6ad3b6",871:"e41dac4c",1045:"6f2ef8ee",1122:"873dcb9d",1369:"110f5b02",1370:"cb8ff339",1889:"1c81b9a6",2052:"14b1b2e4",2133:"f1181811",2252:"d2fb0bb2",2277:"ba342aae",3144:"702dfbe9",3171:"8c0808db",3278:"f98f0c1b",3933:"659a4e40",4041:"457ae2a2",4306:"7f2e4739",4658:"94297dd4",4727:"6fb0beff",4837:"4464bee6",4934:"01b89dd0",5250:"4c156a3c",5294:"9137a674",5384:"a93e34e9",5399:"9f6a36a0",5552:"5757666c",6314:"a92d20d9",6519:"731d398d",6595:"f6bad476",6773:"99186969",7218:"6a0d03bf",7505:"cadb8db5",7721:"8cd25214",7733:"7902dee3",8097:"77afb7bb",8274:"20592ff2",8989:"33ca9fdc",9140:"7338091c",9149:"6a8b907d",9515:"fa87c7fc",9559:"693f2629",9844:"b58a111c"}[e]+".js",S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/nav:",S.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==o)for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++){var u=s[c];if(u.getAttribute("src")==r||u.getAttribute("data-webpack")==t+o){l=u;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,S.nc&&l.setAttribute("nonce",S.nc),l.setAttribute("data-webpack",t+o),l.src=r),e[r]=[n];var d=(t,n)=>{l.onerror=l.onload=null,clearTimeout(f);var o=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(n))),t)return t(n)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),i&&document.head.appendChild(l)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},S.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{S.S={};var e={},t={};S.I=(r,n)=>{n||(n=[]);var o=t[r];if(o||(o=t[r]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[r])return e[r];S.o(S.S,r)||(S.S[r]={});var a=S.S[r],l="@next-bricks/nav",i=(e,t,r,n)=>{var o=a[e]=a[e]||{},i=o[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(o[t]={get:r,from:l,eager:!!n})},s=[];return"default"===r&&(i("@babel/parser","7.25.3",(()=>S.e(6773).then((()=>()=>S(6773))))),i("@easyops-cn/brick-next-pipes","0.7.2",(()=>Promise.all([S.e(4306),S.e(1030),S.e(1916),S.e(5310)]).then((()=>()=>S(4306))))),i("@next-core/cook","2.5.8",(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(8741))))),i("@next-core/easyops-runtime","0.13.7",(()=>Promise.all([S.e(2252),S.e(1030),S.e(8974),S.e(4427),S.e(3922),S.e(1361),S.e(1732),S.e(1321),S.e(2105),S.e(9933),S.e(5310),S.e(1369)]).then((()=>()=>S(2252))))),i("@next-core/element","1.2.17",(()=>S.e(1045).then((()=>()=>S(1045))))),i("@next-core/http","1.2.12",(()=>S.e(8989).then((()=>()=>S(8989))))),i("@next-core/i18n/react","1.0.75",(()=>Promise.all([S.e(3922),S.e(8097)]).then((()=>()=>S(8097))))),i("@next-core/i18n","1.0.75",(()=>Promise.all([S.e(4427),S.e(3922),S.e(671),S.e(5552)]).then((()=>()=>S(5552))))),i("@next-core/inject","1.0.53",(()=>Promise.all([S.e(1030),S.e(9933),S.e(2277)]).then((()=>()=>S(2277))))),i("@next-core/loader","1.6.15",(()=>S.e(5399).then((()=>()=>S(5399))))),i("@next-core/pipes","2.0.32",(()=>S.e(6519).then((()=>()=>S(6519))))),i("@next-core/react-element","1.0.36",(()=>Promise.all([S.e(8769),S.e(6192),S.e(9435),S.e(114)]).then((()=>()=>S(114))))),i("@next-core/react-runtime","1.7.13",(()=>Promise.all([S.e(8769),S.e(9859),S.e(1030),S.e(8974),S.e(4837)]).then((()=>()=>S(4837))))),i("@next-core/runtime","1.60.0",(()=>Promise.all([S.e(9140),S.e(1030),S.e(4427),S.e(3922),S.e(1361),S.e(1732),S.e(1321),S.e(2105),S.e(1916),S.e(4167),S.e(110)]).then((()=>()=>S(6759))))),i("@next-core/supply","2.3.5",(()=>Promise.all([S.e(1030),S.e(1916),S.e(9933),S.e(9559)]).then((()=>()=>S(9559))))),i("@next-core/theme","1.5.4",(()=>Promise.all([S.e(1889),S.e(2052)]).then((()=>()=>S(1889))))),i("@next-core/utils/general","1.7.33",(()=>S.e(871).then((()=>()=>S(871))))),i("@next-core/utils/storyboard","1.7.33",(()=>Promise.all([S.e(4427),S.e(1321),S.e(3933)]).then((()=>()=>S(3933))))),i("history","4.10.1",(()=>S.e(5384).then((()=>()=>S(5384))))),i("i18next-browser-languagedetector","7.2.2",(()=>S.e(726).then((()=>()=>S(726))))),i("i18next","22.5.1",(()=>S.e(3278).then((()=>()=>S(3278))))),i("js-yaml","3.14.1",(()=>S.e(9515).then((()=>()=>S(9515))))),i("lodash","4.17.21",(()=>S.e(5250).then((()=>()=>S(5250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(1329))))),i("moment","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(9420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([S.e(3144),S.e(8769)]).then((()=>()=>S(3144))))),i("react-i18next","12.3.1",(()=>Promise.all([S.e(5294),S.e(8769)]).then((()=>()=>S(5294))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>S.e(4041).then((()=>()=>S(4041)))))),e[r]=s.length?Promise.all(s).then((()=>e[r]=1)):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var t=S.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e+"../"})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var o=e[n],a=(typeof o)[0];if(n>=t.length)return"u"==a;var l=t[n],i=(typeof l)[0];if(a!=i)return"o"==a&&"n"==i||"s"==i||"u"==a;if("o"!=a&&"u"!=a&&o!=l)return o<l;n++}},o=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,r+="u"==(typeof(i=e[a]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(a=1;a<e.length;a++){var i=e[a];l.push(0===i?"not("+s()+")":1===i?"("+s()+" || "+s()+")":2===i?l.pop()+" "+l.pop():o(i))}return s();function s(){return l.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,t)=>{if(0 in e){t=r(t);var n=e[0],o=n<0;o&&(n=-n-1);for(var l=0,i=1,s=!0;;i++,l++){var c,u,d=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(u=(typeof(c=t[l]))[0]))return!s||("u"==d?i>n&&!o:""==d!=o);if("u"==u){if(!s||"u"!=d)return!1}else if(s)if(d==u)if(i<=n){if(c!=e[i])return!1}else{if(o?c>e[i]:c<e[i])return!1;c!=e[i]&&(s=!1)}else if("s"!=d&&"n"!=d){if(o||i<=n)return!1;s=!1,i--}else{if(i<=n||u<d!=o)return!1;s=!1}else"s"!=d&&"n"!=d&&(s=!1,i--)}}var f=[],h=f.pop.bind(f);for(l=1;l<e.length;l++){var p=e[l];f.push(1==p?h()|h():2==p?h()&h():p?a(p,t):!h())}return!!h()},l=(e,t)=>e&&S.o(e,t),i=e=>(e.loaded=1,e.get()),s=e=>Object.keys(e).reduce(((t,r)=>(e[r].eager&&(t[r]=e[r]),t)),{}),c=(e,t,r,o)=>{var l=o?s(e[t]):e[t];return(t=Object.keys(l).reduce(((e,t)=>!a(r,t)||e&&!n(e,t)?e:t),0))&&l[t]},u=(e,t,r)=>{var o=r?s(e[t]):e[t];return Object.keys(o).reduce(((e,t)=>!e||!o[e].loaded&&n(e,t)?t:e),0)},d=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+o(n)+")",f=(e,t,r,n,a)=>{var l=e[r];return"No satisfying version ("+o(n)+")"+(a?" for eager consumption":"")+" of shared module "+r+" found in shared scope "+t+".\nAvailable versions: "+Object.keys(l).map((e=>e+" from "+l[e].from)).join(", ")},h=e=>{throw new Error(e)},p=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},b=(e,t,r)=>r?r():((e,t)=>h("Shared module "+t+" doesn't exist in shared scope "+e))(e,t),v=(m=e=>function(t,r,n,o,a){var l=S.I(t);return l&&l.then&&!n?l.then(e.bind(e,t,S.S[t],r,!1,o,a)):e(t,S.S[t],r,n,o,a)})(((e,t,r,n,o,a)=>{if(!l(t,r))return b(e,r,a);var s=c(t,r,o,n);return s?i(s):a?a():void h(f(t,e,r,o,n))})),x=m(((e,t,r,n,o,s)=>{if(!l(t,r))return b(e,r,s);var c=u(t,r,n);return a(o,c)||p(d(t,r,c,o)),i(t[r][c])})),g={},y={8769:()=>v("default","react",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(4041).then((()=>()=>S(4041))))),6192:()=>v("default","@next-core/element",!1,[1,1,2,17],(()=>S.e(1045).then((()=>()=>S(1045))))),9859:()=>v("default","@next-core/react-element",!1,[1,1,0,36],(()=>Promise.all([S.e(6192),S.e(9435),S.e(7733)]).then((()=>()=>S(114))))),6477:()=>x("default","@next-core/theme",!1,[1,1,5,4],(()=>S.e(1889).then((()=>()=>S(1889))))),1030:()=>x("default","lodash",!1,[1,4,17,21],(()=>S.e(5250).then((()=>()=>S(5250))))),8974:()=>x("default","@next-core/runtime",!1,[1,1,60,0],(()=>Promise.all([S.e(9140),S.e(1030),S.e(4427),S.e(3922),S.e(1361),S.e(1732),S.e(1321),S.e(2105),S.e(1916),S.e(4167),S.e(110)]).then((()=>()=>S(6759))))),4427:()=>x("default","@next-core/utils/general",!1,[1,1,7,33],(()=>S.e(871).then((()=>()=>S(871))))),3922:()=>x("default","@next-core/i18n",!1,[1,1,0,75],(()=>Promise.all([S.e(4427),S.e(671),S.e(3171)]).then((()=>()=>S(5552))))),1361:()=>x("default","@next-core/http",!1,[0],(()=>S.e(1370).then((()=>()=>S(8989))))),480:()=>x("default","@next-core/easyops-runtime",!1,[2,0,13,7],(()=>Promise.all([S.e(2252),S.e(1030),S.e(4427),S.e(3922),S.e(1361),S.e(1732),S.e(1321),S.e(2105),S.e(9933),S.e(5310)]).then((()=>()=>S(2252))))),1732:()=>x("default","history",!1,[0],(()=>S.e(5384).then((()=>()=>S(5384))))),1321:()=>x("default","@next-core/cook",!1,[0],(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(8741))))),2105:()=>x("default","@next-core/utils/storyboard",!1,[1,1,7,33],(()=>S.e(6314).then((()=>()=>S(3933))))),8361:()=>v("default","@next-core/react-runtime",!1,[1,1,7,13],(()=>Promise.all([S.e(1030),S.e(8974),S.e(7218)]).then((()=>()=>S(4837))))),9435:()=>v("default","react-dom",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(3144).then((()=>()=>S(3144))))),1916:()=>x("default","moment",!1,[0],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(9420))))),8399:()=>x("default","@next-core/i18n/react",!1,[1,1,0,75],(()=>Promise.all([S.e(3922),S.e(8097)]).then((()=>()=>S(8097))))),4167:()=>x("default","@next-core/supply",!1,[0],(()=>Promise.all([S.e(1030),S.e(1916),S.e(9933),S.e(9559)]).then((()=>()=>S(9559))))),5310:()=>x("default","js-yaml",!1,[0],(()=>S.e(9515).then((()=>()=>S(9515))))),580:()=>x("default","@babel/parser",!1,[0],(()=>S.e(6773).then((()=>()=>S(6773))))),9933:()=>x("default","@next-core/pipes",!1,[0],(()=>S.e(6519).then((()=>()=>S(6519))))),7825:()=>x("default","react-i18next",!1,[1,12,3,1],(()=>Promise.all([S.e(5294),S.e(8769)]).then((()=>()=>S(5294))))),848:()=>x("default","i18next-browser-languagedetector",!1,[0],(()=>S.e(726).then((()=>()=>S(726))))),5630:()=>x("default","i18next",!1,[0],(()=>S.e(3278).then((()=>()=>S(3278))))),8377:()=>x("default","@easyops-cn/brick-next-pipes",!1,[0],(()=>Promise.all([S.e(4306),S.e(1030),S.e(1916),S.e(5310)]).then((()=>()=>S(4306))))),1858:()=>x("default","moment/locale/zh-cn.js",!1,[0],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(1329))))),5599:()=>x("default","@next-core/loader",!1,[0],(()=>S.e(5399).then((()=>()=>S(5399))))),9283:()=>x("default","@next-core/inject",!1,[0],(()=>Promise.all([S.e(9933),S.e(4658)]).then((()=>()=>S(2277)))))},P={110:[1858,5599,9283],480:[480],580:[580],671:[848,5630],1030:[1030],1321:[1321],1361:[1361],1732:[1732],1916:[1916],2105:[2105],3922:[3922],4167:[4167],4427:[4427],5310:[5310],6192:[6192],6477:[6477],6519:[8377],8097:[7825],8361:[8361],8399:[8399],8769:[8769],8974:[8974],9435:[9435],9859:[9859],9933:[9933]},k={},S.f.consumes=(e,t)=>{S.o(P,e)&&P[e].forEach((e=>{if(S.o(g,e))return t.push(g[e]);if(!k[e]){var r=t=>{g[e]=0,S.m[e]=r=>{delete S.c[e],r.exports=t()}};k[e]=!0;var n=t=>{delete g[e],S.m[e]=r=>{throw delete S.c[e],t}};try{var o=y[e]();o.then?t.push(g[e]=o.then(r).catch(n)):r(o)}catch(e){n(e)}}}))},(()=>{var e={8792:0};S.f.j=(t,r)=>{var n=S.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(1(030|10|321|361|732|916)|4(167|427|80)|6(192|477|71)|8(361|399|769|974)|9(435|859|933)|2105|3922|5310|580)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>n=e[t]=[r,o]));r.push(n[2]=o);var a=S.p+S.u(t),l=new Error;S.l(a,(r=>{if(S.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",l.name="ChunkLoadError",l.type=o,l.request=a,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,l,i]=r,s=0;if(a.some((t=>0!==e[t]))){for(n in l)S.o(l,n)&&(S.m[n]=l[n]);i&&i(S)}for(t&&t(r);s<a.length;s++)o=a[s],S.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=globalThis.webpackChunk_next_bricks_nav=globalThis.webpackChunk_next_bricks_nav||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),S.nc=void 0,S(7934)})();
2
+ //# sourceMappingURL=main.ec584bba.js.map