@next-bricks/nav 1.22.2 → 1.22.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/bricks.json +16 -16
  2. package/dist/chunks/{1889.1c81b9a6.js → 1889.2cc36eb0.js} +2 -2
  3. package/dist/chunks/{1889.1c81b9a6.js.map → 1889.2cc36eb0.js.map} +1 -1
  4. package/dist/chunks/{2133.f1181811.js → 2133.b3f42995.js} +2 -2
  5. package/dist/chunks/{2133.f1181811.js.map → 2133.b3f42995.js.map} +1 -1
  6. package/dist/chunks/2252.d3da24a8.js +3 -0
  7. package/dist/chunks/2252.d3da24a8.js.map +1 -0
  8. package/dist/chunks/{3171.8c0808db.js → 3171.37902a27.js} +2 -2
  9. package/dist/chunks/{3171.8c0808db.js.map → 3171.37902a27.js.map} +1 -1
  10. package/dist/chunks/3796.8022978a.js +3 -0
  11. package/dist/chunks/{3796.6828d229.js.map → 3796.8022978a.js.map} +1 -1
  12. package/dist/chunks/{3933.659a4e40.js → 3933.928cded4.js} +2 -2
  13. package/dist/chunks/{3933.659a4e40.js.map → 3933.928cded4.js.map} +1 -1
  14. package/dist/chunks/4433.8a2db39c.js +2 -0
  15. package/dist/chunks/{4433.7f2599ca.js.map → 4433.8a2db39c.js.map} +1 -1
  16. package/dist/chunks/{4727.6fb0beff.js → 4727.04c7f61d.js} +2 -2
  17. package/dist/chunks/{4727.6fb0beff.js.map → 4727.04c7f61d.js.map} +1 -1
  18. package/dist/chunks/4837.8de8edba.js +2 -0
  19. package/dist/chunks/{7218.6a0d03bf.js.map → 4837.8de8edba.js.map} +1 -1
  20. package/dist/chunks/{5552.5757666c.js → 5552.075020be.js} +2 -2
  21. package/dist/chunks/{5552.5757666c.js.map → 5552.075020be.js.map} +1 -1
  22. package/dist/chunks/{6314.a92d20d9.js → 6314.b04ccf93.js} +2 -2
  23. package/dist/chunks/{6314.a92d20d9.js.map → 6314.b04ccf93.js.map} +1 -1
  24. package/dist/chunks/{6595.f6bad476.js → 6595.e9199ff8.js} +2 -2
  25. package/dist/chunks/{6595.f6bad476.js.map → 6595.e9199ff8.js.map} +1 -1
  26. package/dist/chunks/7218.d98e4c1e.js +2 -0
  27. package/dist/chunks/{4837.4464bee6.js.map → 7218.d98e4c1e.js.map} +1 -1
  28. package/dist/chunks/{8097.77afb7bb.js → 8097.3603bfee.js} +2 -2
  29. package/dist/chunks/{8097.77afb7bb.js.map → 8097.3603bfee.js.map} +1 -1
  30. package/dist/chunks/871.6937a15d.js +2 -0
  31. package/dist/chunks/871.6937a15d.js.map +1 -0
  32. package/dist/chunks/9140.7835c9bd.js +3 -0
  33. package/dist/chunks/9140.7835c9bd.js.map +1 -0
  34. package/dist/chunks/{9149.6a8b907d.js → 9149.0c92a507.js} +2 -2
  35. package/dist/chunks/{9149.6a8b907d.js.map → 9149.0c92a507.js.map} +1 -1
  36. package/dist/chunks/9363.fc28662e.js +3 -0
  37. package/dist/chunks/{9363.65310518.js.map → 9363.fc28662e.js.map} +1 -1
  38. package/dist/chunks/{9515.e5c4f96a.js → 9515.e919ad47.js} +2 -2
  39. package/dist/chunks/9515.e919ad47.js.map +1 -0
  40. package/dist/chunks/{easyops-navbar-alerts.e2efe363.js → easyops-navbar-alerts.bc939a72.js} +2 -2
  41. package/dist/chunks/{easyops-navbar-alerts.e2efe363.js.map → easyops-navbar-alerts.bc939a72.js.map} +1 -1
  42. package/dist/chunks/{eo-directory-tree.c9c39164.js → eo-directory-tree.bf18dc76.js} +3 -3
  43. package/dist/chunks/{eo-directory-tree.c9c39164.js.map → eo-directory-tree.bf18dc76.js.map} +1 -1
  44. package/dist/chunks/{eo-directory.9edb0684.js → eo-directory.f5a87fa2.js} +3 -3
  45. package/dist/chunks/{eo-directory.9edb0684.js.map → eo-directory.f5a87fa2.js.map} +1 -1
  46. package/dist/chunks/{eo-frame-breadcrumb.add0104b.js → eo-frame-breadcrumb.bf819fbc.js} +2 -2
  47. package/dist/chunks/{eo-frame-breadcrumb.add0104b.js.map → eo-frame-breadcrumb.bf819fbc.js.map} +1 -1
  48. package/dist/chunks/eo-launchpad-button-v2.e81da15c.js +3 -0
  49. package/dist/chunks/{eo-launchpad-button-v2.dd3cff9e.js.map → eo-launchpad-button-v2.e81da15c.js.map} +1 -1
  50. package/dist/chunks/{eo-launchpad-button.e5d75002.js → eo-launchpad-button.c7990f0e.js} +3 -3
  51. package/dist/chunks/{eo-launchpad-button.e5d75002.js.map → eo-launchpad-button.c7990f0e.js.map} +1 -1
  52. package/dist/chunks/eo-nav-menu.1bb0aba1.js +2 -0
  53. package/dist/chunks/eo-nav-menu.1bb0aba1.js.map +1 -0
  54. package/dist/chunks/eo-sidebar-menu-group.a35ec0d3.js +3 -0
  55. package/dist/chunks/{eo-sidebar-menu-group.8864f4d9.js.map → eo-sidebar-menu-group.a35ec0d3.js.map} +1 -1
  56. package/dist/chunks/eo-sidebar-menu-submenu.669ac870.js +3 -0
  57. package/dist/chunks/{eo-sidebar-menu-submenu.a1ab5f7a.js.map → eo-sidebar-menu-submenu.669ac870.js.map} +1 -1
  58. package/dist/chunks/{eo-sidebar-menu.6a44ad80.js → eo-sidebar-menu.9c8bfe04.js} +2 -2
  59. package/dist/chunks/{eo-sidebar-menu.6a44ad80.js.map → eo-sidebar-menu.9c8bfe04.js.map} +1 -1
  60. package/dist/chunks/eo-sidebar-sub-menu.2e382908.js +3 -0
  61. package/dist/chunks/{eo-sidebar-sub-menu.5b2c1c1d.js.map → eo-sidebar-sub-menu.2e382908.js.map} +1 -1
  62. package/dist/chunks/eo-sidebar.4895576a.js +3 -0
  63. package/dist/chunks/eo-sidebar.4895576a.js.map +1 -0
  64. package/dist/chunks/{get-menu-config-options.14762ff7.js → get-menu-config-options.b141a9e3.js} +2 -2
  65. package/dist/chunks/{get-menu-config-options.14762ff7.js.map → get-menu-config-options.b141a9e3.js.map} +1 -1
  66. package/dist/chunks/{get-menu-config-tree.1dc2b9f2.js → get-menu-config-tree.d659b581.js} +2 -2
  67. package/dist/chunks/{get-menu-config-tree.1dc2b9f2.js.map → get-menu-config-tree.d659b581.js.map} +1 -1
  68. package/dist/chunks/{launchpad-config.75391f5e.js → launchpad-config.822d8f06.js} +3 -3
  69. package/dist/chunks/{launchpad-config.75391f5e.js.map → launchpad-config.822d8f06.js.map} +1 -1
  70. package/dist/chunks/main.3b673ac6.js +2 -0
  71. package/dist/chunks/{main.ec2217b3.js.map → main.3b673ac6.js.map} +1 -1
  72. package/dist/chunks/{nav-logo.3ede00ce.js → nav-logo.07efbab1.js} +2 -2
  73. package/dist/chunks/{nav-logo.3ede00ce.js.map → nav-logo.07efbab1.js.map} +1 -1
  74. package/dist/chunks/{poll-announce.f19d278d.js → poll-announce.97676990.js} +3 -3
  75. package/dist/chunks/{poll-announce.f19d278d.js.map → poll-announce.97676990.js.map} +1 -1
  76. package/dist/chunks/{query-search.14d7cb12.js → query-search.f47848f6.js} +3 -3
  77. package/dist/chunks/{query-search.14d7cb12.js.map → query-search.f47848f6.js.map} +1 -1
  78. package/dist/index.e563bd3f.js +2 -0
  79. package/dist/index.e563bd3f.js.map +1 -0
  80. package/dist/manifest.json +30 -30
  81. package/dist/types.json +28 -28
  82. package/package.json +2 -2
  83. package/dist/chunks/2252.d2fb0bb2.js +0 -3
  84. package/dist/chunks/2252.d2fb0bb2.js.map +0 -1
  85. package/dist/chunks/3796.6828d229.js +0 -3
  86. package/dist/chunks/4433.7f2599ca.js +0 -2
  87. package/dist/chunks/4837.4464bee6.js +0 -2
  88. package/dist/chunks/7218.6a0d03bf.js +0 -2
  89. package/dist/chunks/871.e41dac4c.js +0 -2
  90. package/dist/chunks/871.e41dac4c.js.map +0 -1
  91. package/dist/chunks/9140.7338091c.js +0 -3
  92. package/dist/chunks/9140.7338091c.js.map +0 -1
  93. package/dist/chunks/9363.65310518.js +0 -3
  94. package/dist/chunks/9515.e5c4f96a.js.map +0 -1
  95. package/dist/chunks/eo-launchpad-button-v2.dd3cff9e.js +0 -3
  96. package/dist/chunks/eo-nav-menu.18a02f14.js +0 -2
  97. package/dist/chunks/eo-nav-menu.18a02f14.js.map +0 -1
  98. package/dist/chunks/eo-sidebar-menu-group.8864f4d9.js +0 -3
  99. package/dist/chunks/eo-sidebar-menu-submenu.a1ab5f7a.js +0 -3
  100. package/dist/chunks/eo-sidebar-sub-menu.5b2c1c1d.js +0 -3
  101. package/dist/chunks/eo-sidebar.5120d756.js +0 -3
  102. package/dist/chunks/eo-sidebar.5120d756.js.map +0 -1
  103. package/dist/chunks/main.ec2217b3.js +0 -2
  104. package/dist/index.4e22b349.js +0 -2
  105. package/dist/index.4e22b349.js.map +0 -1
  106. /package/dist/chunks/{2252.d2fb0bb2.js.LICENSE.txt → 2252.d3da24a8.js.LICENSE.txt} +0 -0
  107. /package/dist/chunks/{3796.6828d229.js.LICENSE.txt → 3796.8022978a.js.LICENSE.txt} +0 -0
  108. /package/dist/chunks/{9140.7338091c.js.LICENSE.txt → 9140.7835c9bd.js.LICENSE.txt} +0 -0
  109. /package/dist/chunks/{9363.65310518.js.LICENSE.txt → 9363.fc28662e.js.LICENSE.txt} +0 -0
  110. /package/dist/chunks/{eo-directory-tree.c9c39164.js.LICENSE.txt → eo-directory-tree.bf18dc76.js.LICENSE.txt} +0 -0
  111. /package/dist/chunks/{eo-directory.9edb0684.js.LICENSE.txt → eo-directory.f5a87fa2.js.LICENSE.txt} +0 -0
  112. /package/dist/chunks/{eo-launchpad-button-v2.dd3cff9e.js.LICENSE.txt → eo-launchpad-button-v2.e81da15c.js.LICENSE.txt} +0 -0
  113. /package/dist/chunks/{eo-launchpad-button.e5d75002.js.LICENSE.txt → eo-launchpad-button.c7990f0e.js.LICENSE.txt} +0 -0
  114. /package/dist/chunks/{eo-sidebar-menu-group.8864f4d9.js.LICENSE.txt → eo-sidebar-menu-group.a35ec0d3.js.LICENSE.txt} +0 -0
  115. /package/dist/chunks/{eo-sidebar-menu-submenu.a1ab5f7a.js.LICENSE.txt → eo-sidebar-menu-submenu.669ac870.js.LICENSE.txt} +0 -0
  116. /package/dist/chunks/{eo-sidebar-sub-menu.5b2c1c1d.js.LICENSE.txt → eo-sidebar-sub-menu.2e382908.js.LICENSE.txt} +0 -0
  117. /package/dist/chunks/{eo-sidebar.5120d756.js.LICENSE.txt → eo-sidebar.4895576a.js.LICENSE.txt} +0 -0
  118. /package/dist/chunks/{launchpad-config.75391f5e.js.LICENSE.txt → launchpad-config.822d8f06.js.LICENSE.txt} +0 -0
  119. /package/dist/chunks/{poll-announce.f19d278d.js.LICENSE.txt → poll-announce.97676990.js.LICENSE.txt} +0 -0
  120. /package/dist/chunks/{query-search.14d7cb12.js.LICENSE.txt → query-search.f47848f6.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
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":""}
1
+ {"version":3,"file":"chunks/get-menu-config-tree.d659b581.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,3 +1,3 @@
1
- /*! For license information please see launchpad-config.75391f5e.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:()=>i,EM:()=>o,qb:()=>a});var r=n(9859),l=n(4427);const i=(0,r.wrapBrick)("eo-icon"),o=(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,i){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(o[c]=!0)}for(var u=0;u<e.length;u++){var s=[].concat(e[u]);r&&o[s[0]]||(void 0!==i&&(void 0===s[5]||(s[1]="@layer".concat(s[5].length>0?" ".concat(s[5]):""," {").concat(s[1],"}")),s[5]=i),n&&(s[2]?(s[1]="@media ".concat(s[2]," {").concat(s[1],"}"),s[2]=n):s[2]=n),l&&(s[4]?(s[1]="@supports (".concat(s[4],") {").concat(s[1],"}"),s[4]=l):s[4]="".concat(l)),t.push(s))}},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 i(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 o=n(1369);function a(e,t,n,a,c,u){var s,m,p,d,f,h,b,g=Symbol.metadata||Symbol.for("Symbol.metadata"),v=Object.defineProperty,k=Object.create,y=[k(null),k(null)],A=t.length;function w(t,n,r){return function(l,i){n&&(i=l,l=e);for(var o=0;o<t.length;o++)i=t[o].apply(l,r?[i]:[]);return r?i: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,o,a,c,u,p,d,f){function h(e){if(!f(e))throw new TypeError("Attempted to access private element on non-instance")}var b=[].concat(t[0]),g=t[3],k=!c,A=1===o,E=3===o,T=4===o,C=2===o;function B(t,n,r){return function(l,i){return n&&(i=l,l=e),r&&r(l),U[t].call(l,i)}}if(!k){var U={},j=[],M=E?"get":T||A?"set":"value";if(p?(d||A?U={get:i((function(){return g(this)}),l,"get"),set:function(e){t[4](this,e)}}:U[M]=g,d||i(U[M],l,C?"":M)):d||(U=Object.getOwnPropertyDescriptor(e,l)),!d&&!p){if((m=y[+u][l])&&7!=(m^o))throw Error("Decorating two elements with the same name ("+U[M].name+") is not supported yet");y[+u][l]=o<3?1:o}}for(var S=e,I=b.length-1;I>=0;I-=n?2:1){var N=x(b[I],"A decorator","be",!0),_=n?b[I-1]:void 0,O={},W={kind:["field","accessor","method","getter","setter","class"][o],name:l,metadata:s,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,O)};if(k)m=N.call(_,S,W),O.v=1,x(m,"class decorators","return")&&(S=m);else if(W.static=u,W.private=p,m=W.access={has:p?f.bind():function(e){return l in e}},T||(m.get=p?C?function(e){return h(e),U.value}:B("get",0,h):function(e){return e[l]}),C||E||(m.set=p?B("set",0,h):function(e,t){e[l]=t}),S=N.call(_,A?{get:U.get,set:U.set}:U[M],W),O.v=1,A){if("object"==(0,r.A)(S)&&S)(m=x(S.get,"accessor.get"))&&(U.get=m),(m=x(S.set,"accessor.set"))&&(U.set=m),(m=x(S.init,"accessor.init"))&&j.unshift(m);else if(void 0!==S)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else x(S,(d?"field":"method")+" decorators","return")&&(d?j.unshift(S):U[M]=S)}return o<2&&c.push(w(j,u,1),w(a,u,0)),d||k||(p?A?c.splice(-1,0,B("get",u),B("set",u)):c.push(C?U[M]:x.call.bind(U[M])):v(e,l,U)),S}function T(e){return v(e,g,{configurable:!0,enumerable:!0,value:s})}return void 0!==u&&(s=u[g]),s=k(null==s?null:s),f=[],h=function(e){e&&f.push(w(e))},b=function(t,r){for(var i=0;i<n.length;i++){var a=n[i],u=a[1],s=7&u;if((8&u)==t&&!s==r){var m=a[2],h=!!a[3],b=16&u;E(t?e:e.prototype,a,b,h?"#"+m:(0,o.A)(m),s,s<2?[]:t?d=d||[]:p=p||[],f,!!t,h,r,t&&h?function(t){return(0,l.A)(t)===e}:c)}}},b(8,0),b(0,0),b(8,1),b(0,1),h(p),h(d),m=f,A||T(e),{e:m,get c(){var n=[];return A&&[T(e=E(e,[t],a,e.name,5,n)),w(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=o(e,i(n)))}return e}function i(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=o(t,n));return t}function o(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),i=n(935),o=n.n(i)()(l());o.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=o.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:()=>L,LaunchpadConfigComponent:()=>ne});var r,l=n(4635),i=n(918),o=n(6902),a=n(5536),c=n(6121),u=n(829),s=n(2740),m=n(8769),p=n.n(m),d=n(6192),f=n(9859),h=n(480),b=(n(6477),n(9248)),g=n(4081);let v,k,y,A,w,x,E,T,C,B,U,j,M,S,I,N,_,O,W,P,z;const{defineElement:D,property:G,event:R}=(0,d.createDecorators)(),q="/next/";let L;var V=new WeakMap,$=new WeakMap,F=new WeakMap,H=new WeakMap,J=new WeakMap,K=new WeakMap,Q=new WeakMap,X=new WeakSet,Y=new WeakMap,Z=new WeakMap,ee=new WeakMap;class te extends f.ReactNextElement{constructor(){super(...arguments),(0,l.A)(this,X),(0,i.A)(this,V,k(this)),(0,i.A)(this,$,(y(this),A(this))),(0,i.A)(this,F,(w(this),x(this))),(0,i.A)(this,H,(E(this),T(this))),(0,i.A)(this,J,(C(this),B(this))),(0,i.A)(this,K,(U(this),j(this))),(0,i.A)(this,Q,(M(this),S(this))),(0,i.A)(this,Y,(_(this),O(this))),(0,i.A)(this,Z,(z(this),e=>{(0,a.A)(X,this,I).emit(e)})),(0,i.A)(this,ee,(e=>{(0,a.A)(X,this,W).emit(e)}))}get menuGroups(){return(0,u.A)(V,this)}set menuGroups(e){(0,c.A)(V,this,e)}get actions(){return(0,u.A)($,this)}set actions(e){(0,c.A)($,this,e)}get variant(){return(0,u.A)(F,this)}set variant(e){(0,c.A)(F,this,e)}get urlTemplate(){return(0,u.A)(H,this)}set urlTemplate(e){(0,c.A)(H,this,e)}get customUrlTemplate(){return(0,u.A)(J,this)}set customUrlTemplate(e){(0,c.A)(J,this,e)}get blacklist(){return(0,u.A)(K,this)}set blacklist(e){(0,c.A)(K,this,e)}render(){var e;return p().createElement(ne,{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,onMenuItemClick:(0,u.A)(Z,this),onActionClick:(0,u.A)(ee,this)})}}function ne(e){let{menuGroups:t,actions:n,variant:r,urlTemplate:l,customUrlTemplate:i,blacklist:o,onMenuItemClick:a,onActionClick:c}=e;const u=(0,m.useMemo)((()=>{return"blacklist-config"===r?null==t?void 0:t.map((e=>{const t=e.items.map((e=>le(e,o))),n=t.some((e=>e.blockable)),r=n&&t.some((e=>e.hasBlocked)),l=n&&t.some((e=>e.hasUnblocked)),i=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:i,blockableUrls:a}})):"launchpad-config"===r?null===(e=function(e){return null==e?void 0:e.map((e=>{const t=e.items.map((e=>re(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,o]);return p().createElement("ul",{className:"menu-groups"},null==u?void 0:u.map((e=>p().createElement(b.r,{key:e.instanceId,data:e,actions:n,variant:r,urlTemplate:l,customUrlTemplate:i,onMenuItemClick:a,onActionClick:c}))))}function re(e){if("dir"===e.type){const t=e.items.map((e=>re(e))).filter(Boolean);return t.length>0?{...e,items:t}:null}return"app"===e.type?e.url&&h.auth.isBlockedPath(e.url)?null:e:e.url&&h.auth.isBlockedHref(e.url)?null:e}function le(e,t){if("dir"===e.type){const n=e.items.map((e=>le(e,t))),r=n.some((e=>e.blockable)),l=n.some((e=>e.hasBlocked)),i=r&&n.some((e=>e.hasUnblocked)),o=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:i,allBlocked:o,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(q));if(n){const r=new URL(e,location.origin);r.origin===location.origin&&r.pathname.startsWith(q)?t=r.pathname.substring(q.length-1):(n=!1,t=void 0)}return{blockable:n,blockableUrl:t}}(e.url),l=n&&(null==t?void 0:t.includes(r)),i=n&&!l;return{...e,blockable:n,hasBlocked:l,hasUnblocked:i,allBlocked:l,blockableUrl:r}}r=te,({e:[k,y,A,w,x,E,T,C,B,U,j,M,S,I,N,_,O,W,P,z],c:[L,v]}=(0,s.A)(r,[D("nav.launchpad-config",{styleTexts:[g.A]})],[[G({attribute:!1}),1,"menuGroups"],[G({attribute:!1}),1,"actions"],[G(),1,"variant"],[G(),1,"urlTemplate"],[G(),1,"customUrlTemplate"],[G({attribute:!1}),1,"blacklist"],[R({type:"menu-item.click"}),1,"menuItemClickEvent",e=>(0,u.A)(Q,e),(e,t)=>(0,c.A)(Q,e,t)],[R({type:"action.click"}),1,"actionClickEvent",e=>(0,u.A)(Y,e),(e,t)=>(0,c.A)(Y,e,t)]],0,(e=>ee.has((0,o.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),i=n.n(l),o=n(1030),a=n(3373),c=n.n(a),u=n(8974),s=n(10),m=n(6659);function p(e){var t;let{data:n,actions:r,variant:o,urlTemplate:a,customUrlTemplate:m,onMenuItemClick:p,onActionClick:h}=e;null!==(t=n.type)&&void 0!==t||(n.type="group");const{name:b,items:g}=n,[v,k]=(0,l.useState)(!1),y=(0,l.useMemo)((()=>u.__secret_internals.legacyDoTransform(n,null==r?void 0:r.filter((e=>(0,u.checkIfByTransform)(e,n))))),[r,n]),A=(0,l.useCallback)((e=>{null==h||h({data:n,action:e.detail})}),[n,h]);return i().createElement("li",{className:c()("menu-group",{empty:0===g.length,blocked:n.allBlocked})},i().createElement("div",{className:"menu-group-label-wrapper"},i().createElement("span",{className:"menu-group-label"},b),"menu-config"!==o&&!(null==y||!y.length)&&i().createElement(s.qb,{actions:y,onVisibleChange:e=>{k(e.detail)},onActionClick:A},i().createElement(s.Bj,{lib:"fa",icon:"gear",className:c()("menu-config",{active:v})}))),i().createElement("ul",{className:"menu"},g.map((e=>"dir"===e.type?i().createElement(f,{key:e.instanceId,data:e,actions:r,variant:o,urlTemplate:a,customUrlTemplate:m,onMenuItemClick:p,onActionClick:h}):i().createElement(d,{key:`${e.type}-${e.id}`,data:e,actions:r,variant:o,urlTemplate:a,customUrlTemplate:m,onClick:t=>{null==p||p({...e,...t})},onActionClick:h})))))}function d(e){var t;let{data:n,actions:a,variant:p,urlTemplate:d,customUrlTemplate:f,onClick:b,onActionClick:g}=e;const v=(0,l.useMemo)((()=>"app"===n.type?(0,m.F)(n.locales,n.name):n.name),[n]),[k,y]=(0,l.useState)(!1),A=(0,l.useMemo)((()=>u.__secret_internals.legacyDoTransform(n,null==a?void 0:a.filter((e=>(0,u.checkIfByTransform)(e,n))))),[a,n]),w=(0,l.useCallback)((e=>{null==g||g({data:n,action:e.detail})}),[n,g]);let x,E=!1,T="";if("launchpad-config"===p||"menu-config"===p)if("app"===n.type)T=h(d,n,"");else{const e=new URL(n.url,location.origin);x=e.pathname,E=e.origin!==location.origin,T=E?"":h(f,{...n,__pathname:x},"")}return i().createElement("li",{className:c()("menu-item",{disabled:E||n.allBlocked}),onClick:()=>{null==b||b({__pathname:x})}},i().createElement(s.EM,{tooltip:E?"该菜单项为外链,不支持配置":"",url:T},i().createElement(s.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,o.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),i().createElement("span",{className:"menu-item-label"},v)),"menu-config"!==p&&!(null==A||!A.length)&&i().createElement(s.qb,{actions:A,onVisibleChange:e=>{y(e.detail)},onClick:e=>{e.stopPropagation()},onActionClick:w,"data-testid":`menu-item-actions-${n.id}`},i().createElement(s.Bj,{lib:"fa",icon:"gear",className:c()("menu-config",{active:k})})))}function f(e){let{data:t,actions:n,variant:r,urlTemplate:o,customUrlTemplate:a,onMenuItemClick:m,onActionClick:p}=e;const{name:f,items:h}=t,[b,g]=(0,l.useState)(!1),[v,k]=(0,l.useState)(!1),y=(0,l.useMemo)((()=>u.__secret_internals.legacyDoTransform(t,null==n?void 0:n.filter((e=>(0,u.checkIfByTransform)(e,t))))),[n,t]),A=(0,l.useCallback)((()=>{k((e=>!e))}),[]),w=(0,l.useCallback)((e=>{null==p||p({data:t,action:e.detail})}),[t,p]);return i().createElement("li",{className:c()("menu-item folder",{empty:0===h.length,blocked:t.allBlocked})},i().createElement("div",{className:"menu-folder-label-wrapper"},i().createElement(s.EM,{onClick:A},i().createElement(s.Bj,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),i().createElement("span",{className:"menu-item-label"},f),i().createElement(s.Bj,{lib:"antd",icon:v?"up":"down",className:"menu-item-toggle"})),"menu-config"!==r&&!(null==y||!y.length)&&i().createElement(s.qb,{actions:y,onVisibleChange:e=>{g(e.detail)},onActionClick:w},i().createElement(s.Bj,{lib:"fa",icon:"gear",className:c()("menu-config",{active:b})}))),i().createElement("ul",{className:c()("sub-menu",{expanded:v})},h.map((e=>i().createElement(d,{key:e.instanceId,data:e,actions:n,variant:r,urlTemplate:o,customUrlTemplate:a,onClick:t=>{null==m||m({...e,...t})},onActionClick:p})))))}function h(e,t,n){var r;return null!==(r=null==e?void 0:e.replace(/{{(.*?)}}/g,((e,n)=>encodeURIComponent(String((0,o.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.75391f5e.js.map
1
+ /*! For license information please see launchpad-config.822d8f06.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:()=>i,EM:()=>o,qb:()=>a});var r=n(9859),l=n(9005);const i=(0,r.wrapBrick)("eo-icon"),o=(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,i){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(o[c]=!0)}for(var u=0;u<e.length;u++){var s=[].concat(e[u]);r&&o[s[0]]||(void 0!==i&&(void 0===s[5]||(s[1]="@layer".concat(s[5].length>0?" ".concat(s[5]):""," {").concat(s[1],"}")),s[5]=i),n&&(s[2]?(s[1]="@media ".concat(s[2]," {").concat(s[1],"}"),s[2]=n):s[2]=n),l&&(s[4]?(s[1]="@supports (".concat(s[4],") {").concat(s[1],"}"),s[4]=l):s[4]="".concat(l)),t.push(s))}},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 i(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 o=n(1369);function a(e,t,n,a,c,u){var s,m,p,d,f,h,b,g=Symbol.metadata||Symbol.for("Symbol.metadata"),v=Object.defineProperty,k=Object.create,y=[k(null),k(null)],A=t.length;function w(t,n,r){return function(l,i){n&&(i=l,l=e);for(var o=0;o<t.length;o++)i=t[o].apply(l,r?[i]:[]);return r?i: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,o,a,c,u,p,d,f){function h(e){if(!f(e))throw new TypeError("Attempted to access private element on non-instance")}var b=[].concat(t[0]),g=t[3],k=!c,A=1===o,E=3===o,T=4===o,C=2===o;function B(t,n,r){return function(l,i){return n&&(i=l,l=e),r&&r(l),U[t].call(l,i)}}if(!k){var U={},j=[],M=E?"get":T||A?"set":"value";if(p?(d||A?U={get:i((function(){return g(this)}),l,"get"),set:function(e){t[4](this,e)}}:U[M]=g,d||i(U[M],l,C?"":M)):d||(U=Object.getOwnPropertyDescriptor(e,l)),!d&&!p){if((m=y[+u][l])&&7!=(m^o))throw Error("Decorating two elements with the same name ("+U[M].name+") is not supported yet");y[+u][l]=o<3?1:o}}for(var S=e,I=b.length-1;I>=0;I-=n?2:1){var N=x(b[I],"A decorator","be",!0),_=n?b[I-1]:void 0,O={},W={kind:["field","accessor","method","getter","setter","class"][o],name:l,metadata:s,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,O)};if(k)m=N.call(_,S,W),O.v=1,x(m,"class decorators","return")&&(S=m);else if(W.static=u,W.private=p,m=W.access={has:p?f.bind():function(e){return l in e}},T||(m.get=p?C?function(e){return h(e),U.value}:B("get",0,h):function(e){return e[l]}),C||E||(m.set=p?B("set",0,h):function(e,t){e[l]=t}),S=N.call(_,A?{get:U.get,set:U.set}:U[M],W),O.v=1,A){if("object"==(0,r.A)(S)&&S)(m=x(S.get,"accessor.get"))&&(U.get=m),(m=x(S.set,"accessor.set"))&&(U.set=m),(m=x(S.init,"accessor.init"))&&j.unshift(m);else if(void 0!==S)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else x(S,(d?"field":"method")+" decorators","return")&&(d?j.unshift(S):U[M]=S)}return o<2&&c.push(w(j,u,1),w(a,u,0)),d||k||(p?A?c.splice(-1,0,B("get",u),B("set",u)):c.push(C?U[M]:x.call.bind(U[M])):v(e,l,U)),S}function T(e){return v(e,g,{configurable:!0,enumerable:!0,value:s})}return void 0!==u&&(s=u[g]),s=k(null==s?null:s),f=[],h=function(e){e&&f.push(w(e))},b=function(t,r){for(var i=0;i<n.length;i++){var a=n[i],u=a[1],s=7&u;if((8&u)==t&&!s==r){var m=a[2],h=!!a[3],b=16&u;E(t?e:e.prototype,a,b,h?"#"+m:(0,o.A)(m),s,s<2?[]:t?d=d||[]:p=p||[],f,!!t,h,r,t&&h?function(t){return(0,l.A)(t)===e}:c)}}},b(8,0),b(0,0),b(8,1),b(0,1),h(p),h(d),m=f,A||T(e),{e:m,get c(){var n=[];return A&&[T(e=E(e,[t],a,e.name,5,n)),w(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=o(e,i(n)))}return e}function i(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=o(t,n));return t}function o(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),i=n(935),o=n.n(i)()(l());o.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=o.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:()=>L,LaunchpadConfigComponent:()=>ne});var r,l=n(4635),i=n(918),o=n(6902),a=n(5536),c=n(6121),u=n(829),s=n(2740),m=n(8769),p=n.n(m),d=n(6192),f=n(9859),h=n(2340),b=(n(6477),n(9248)),g=n(4081);let v,k,y,A,w,x,E,T,C,B,U,j,M,S,I,N,_,O,W,P,z;const{defineElement:D,property:G,event:R}=(0,d.createDecorators)(),q="/next/";let L;var V=new WeakMap,$=new WeakMap,F=new WeakMap,H=new WeakMap,J=new WeakMap,K=new WeakMap,Q=new WeakMap,X=new WeakSet,Y=new WeakMap,Z=new WeakMap,ee=new WeakMap;class te extends f.ReactNextElement{constructor(){super(...arguments),(0,l.A)(this,X),(0,i.A)(this,V,k(this)),(0,i.A)(this,$,(y(this),A(this))),(0,i.A)(this,F,(w(this),x(this))),(0,i.A)(this,H,(E(this),T(this))),(0,i.A)(this,J,(C(this),B(this))),(0,i.A)(this,K,(U(this),j(this))),(0,i.A)(this,Q,(M(this),S(this))),(0,i.A)(this,Y,(_(this),O(this))),(0,i.A)(this,Z,(z(this),e=>{(0,a.A)(X,this,I).emit(e)})),(0,i.A)(this,ee,(e=>{(0,a.A)(X,this,W).emit(e)}))}get menuGroups(){return(0,u.A)(V,this)}set menuGroups(e){(0,c.A)(V,this,e)}get actions(){return(0,u.A)($,this)}set actions(e){(0,c.A)($,this,e)}get variant(){return(0,u.A)(F,this)}set variant(e){(0,c.A)(F,this,e)}get urlTemplate(){return(0,u.A)(H,this)}set urlTemplate(e){(0,c.A)(H,this,e)}get customUrlTemplate(){return(0,u.A)(J,this)}set customUrlTemplate(e){(0,c.A)(J,this,e)}get blacklist(){return(0,u.A)(K,this)}set blacklist(e){(0,c.A)(K,this,e)}render(){var e;return p().createElement(ne,{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,onMenuItemClick:(0,u.A)(Z,this),onActionClick:(0,u.A)(ee,this)})}}function ne(e){let{menuGroups:t,actions:n,variant:r,urlTemplate:l,customUrlTemplate:i,blacklist:o,onMenuItemClick:a,onActionClick:c}=e;const u=(0,m.useMemo)((()=>{return"blacklist-config"===r?null==t?void 0:t.map((e=>{const t=e.items.map((e=>le(e,o))),n=t.some((e=>e.blockable)),r=n&&t.some((e=>e.hasBlocked)),l=n&&t.some((e=>e.hasUnblocked)),i=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:i,blockableUrls:a}})):"launchpad-config"===r?null===(e=function(e){return null==e?void 0:e.map((e=>{const t=e.items.map((e=>re(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,o]);return p().createElement("ul",{className:"menu-groups"},null==u?void 0:u.map((e=>p().createElement(b.r,{key:e.instanceId,data:e,actions:n,variant:r,urlTemplate:l,customUrlTemplate:i,onMenuItemClick:a,onActionClick:c}))))}function re(e){if("dir"===e.type){const t=e.items.map((e=>re(e))).filter(Boolean);return t.length>0?{...e,items:t}:null}return"app"===e.type?e.url&&h.auth.isBlockedPath(e.url)?null:e:e.url&&h.auth.isBlockedHref(e.url)?null:e}function le(e,t){if("dir"===e.type){const n=e.items.map((e=>le(e,t))),r=n.some((e=>e.blockable)),l=n.some((e=>e.hasBlocked)),i=r&&n.some((e=>e.hasUnblocked)),o=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:i,allBlocked:o,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(q));if(n){const r=new URL(e,location.origin);r.origin===location.origin&&r.pathname.startsWith(q)?t=r.pathname.substring(q.length-1):(n=!1,t=void 0)}return{blockable:n,blockableUrl:t}}(e.url),l=n&&(null==t?void 0:t.includes(r)),i=n&&!l;return{...e,blockable:n,hasBlocked:l,hasUnblocked:i,allBlocked:l,blockableUrl:r}}r=te,({e:[k,y,A,w,x,E,T,C,B,U,j,M,S,I,N,_,O,W,P,z],c:[L,v]}=(0,s.A)(r,[D("nav.launchpad-config",{styleTexts:[g.A]})],[[G({attribute:!1}),1,"menuGroups"],[G({attribute:!1}),1,"actions"],[G(),1,"variant"],[G(),1,"urlTemplate"],[G(),1,"customUrlTemplate"],[G({attribute:!1}),1,"blacklist"],[R({type:"menu-item.click"}),1,"menuItemClickEvent",e=>(0,u.A)(Q,e),(e,t)=>(0,c.A)(Q,e,t)],[R({type:"action.click"}),1,"actionClickEvent",e=>(0,u.A)(Y,e),(e,t)=>(0,c.A)(Y,e,t)]],0,(e=>ee.has((0,o.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(7448);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),i=n.n(l),o=n(1030),a=n(3373),c=n.n(a),u=n(140),s=n(10),m=n(6659);function p(e){var t;let{data:n,actions:r,variant:o,urlTemplate:a,customUrlTemplate:m,onMenuItemClick:p,onActionClick:h}=e;null!==(t=n.type)&&void 0!==t||(n.type="group");const{name:b,items:g}=n,[v,k]=(0,l.useState)(!1),y=(0,l.useMemo)((()=>u.__secret_internals.legacyDoTransform(n,null==r?void 0:r.filter((e=>(0,u.checkIfByTransform)(e,n))))),[r,n]),A=(0,l.useCallback)((e=>{null==h||h({data:n,action:e.detail})}),[n,h]);return i().createElement("li",{className:c()("menu-group",{empty:0===g.length,blocked:n.allBlocked})},i().createElement("div",{className:"menu-group-label-wrapper"},i().createElement("span",{className:"menu-group-label"},b),"menu-config"!==o&&!(null==y||!y.length)&&i().createElement(s.qb,{actions:y,onVisibleChange:e=>{k(e.detail)},onActionClick:A},i().createElement(s.Bj,{lib:"fa",icon:"gear",className:c()("menu-config",{active:v})}))),i().createElement("ul",{className:"menu"},g.map((e=>"dir"===e.type?i().createElement(f,{key:e.instanceId,data:e,actions:r,variant:o,urlTemplate:a,customUrlTemplate:m,onMenuItemClick:p,onActionClick:h}):i().createElement(d,{key:`${e.type}-${e.id}`,data:e,actions:r,variant:o,urlTemplate:a,customUrlTemplate:m,onClick:t=>{null==p||p({...e,...t})},onActionClick:h})))))}function d(e){var t;let{data:n,actions:a,variant:p,urlTemplate:d,customUrlTemplate:f,onClick:b,onActionClick:g}=e;const v=(0,l.useMemo)((()=>"app"===n.type?(0,m.F)(n.locales,n.name):n.name),[n]),[k,y]=(0,l.useState)(!1),A=(0,l.useMemo)((()=>u.__secret_internals.legacyDoTransform(n,null==a?void 0:a.filter((e=>(0,u.checkIfByTransform)(e,n))))),[a,n]),w=(0,l.useCallback)((e=>{null==g||g({data:n,action:e.detail})}),[n,g]);let x,E=!1,T="";if("launchpad-config"===p||"menu-config"===p)if("app"===n.type)T=h(d,n,"");else{const e=new URL(n.url,location.origin);x=e.pathname,E=e.origin!==location.origin,T=E?"":h(f,{...n,__pathname:x},"")}return i().createElement("li",{className:c()("menu-item",{disabled:E||n.allBlocked}),onClick:()=>{null==b||b({__pathname:x})}},i().createElement(s.EM,{tooltip:E?"该菜单项为外链,不支持配置":"",url:T},i().createElement(s.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,o.pick)(n.menuIcon,["lib","icon","theme","category","prefix"]):null)),i().createElement("span",{className:"menu-item-label"},v)),"menu-config"!==p&&!(null==A||!A.length)&&i().createElement(s.qb,{actions:A,onVisibleChange:e=>{y(e.detail)},onClick:e=>{e.stopPropagation()},onActionClick:w,"data-testid":`menu-item-actions-${n.id}`},i().createElement(s.Bj,{lib:"fa",icon:"gear",className:c()("menu-config",{active:k})})))}function f(e){let{data:t,actions:n,variant:r,urlTemplate:o,customUrlTemplate:a,onMenuItemClick:m,onActionClick:p}=e;const{name:f,items:h}=t,[b,g]=(0,l.useState)(!1),[v,k]=(0,l.useState)(!1),y=(0,l.useMemo)((()=>u.__secret_internals.legacyDoTransform(t,null==n?void 0:n.filter((e=>(0,u.checkIfByTransform)(e,t))))),[n,t]),A=(0,l.useCallback)((()=>{k((e=>!e))}),[]),w=(0,l.useCallback)((e=>{null==p||p({data:t,action:e.detail})}),[t,p]);return i().createElement("li",{className:c()("menu-item folder",{empty:0===h.length,blocked:t.allBlocked})},i().createElement("div",{className:"menu-folder-label-wrapper"},i().createElement(s.EM,{onClick:A},i().createElement(s.Bj,{lib:"fa",prefix:"far",icon:"folder-open",className:"menu-icon"}),i().createElement("span",{className:"menu-item-label"},f),i().createElement(s.Bj,{lib:"antd",icon:v?"up":"down",className:"menu-item-toggle"})),"menu-config"!==r&&!(null==y||!y.length)&&i().createElement(s.qb,{actions:y,onVisibleChange:e=>{g(e.detail)},onActionClick:w},i().createElement(s.Bj,{lib:"fa",icon:"gear",className:c()("menu-config",{active:b})}))),i().createElement("ul",{className:c()("sub-menu",{expanded:v})},h.map((e=>i().createElement(d,{key:e.instanceId,data:e,actions:n,variant:r,urlTemplate:o,customUrlTemplate:a,onClick:t=>{null==m||m({...e,...t})},onActionClick:p})))))}function h(e,t,n){var r;return null!==(r=null==e?void 0:e.replace(/{{(.*?)}}/g,((e,n)=>encodeURIComponent(String((0,o.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.822d8f06.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/launchpad-config.75391f5e.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 ConfigMenuItemNormal,\n ConfigVariant,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\nimport { MenuGroup, MenuGroupProps } 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: \"menu-item.click\" })\n accessor #menuItemClickEvent!: EventEmitter<ConfigMenuItemNormal>;\n\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<MenuActionEventDetail>;\n\n #handleMenuItemClick = (item: ConfigMenuItemNormal) => {\n this.#menuItemClickEvent.emit(item);\n };\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 onMenuItemClick={this.#handleMenuItemClick}\n onActionClick={this.#onActionClick}\n />\n );\n }\n}\n\nexport interface LaunchpadConfigProps\n extends Pick<\n MenuGroupProps,\n \"actions\" | \"variant\" | \"urlTemplate\" | \"customUrlTemplate\"\n > {\n menuGroups?: ConfigMenuGroup[];\n blacklist?: string[];\n}\n\nexport interface LaunchpadConfigComponentProps\n extends LaunchpadConfigProps,\n Pick<MenuGroupProps, \"onMenuItemClick\" | \"onActionClick\"> {}\n\nexport function LaunchpadConfigComponent({\n menuGroups,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n blacklist,\n onMenuItemClick,\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 onMenuItemClick={onMenuItemClick}\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 type ProcessedConfigMenuItemNormal = ConfigMenuItemNormal & {\n __pathname?: string;\n};\n\nexport interface MenuGroupProps {\n data: ConfigMenuGroup;\n actions?: MenuAction[];\n variant?: ConfigVariant;\n urlTemplate?: string;\n customUrlTemplate?: string;\n onMenuItemClick?(item: ProcessedConfigMenuItemNormal): void;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuGroup({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onMenuItemClick,\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 onMenuItemClick={onMenuItemClick}\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 onClick={(data) => {\n onMenuItemClick?.({ ...item, ...data });\n }}\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 onClick?(data: { __pathname?: string }): void;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuItem({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onClick,\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 __pathname: string;\n let disabled = false;\n let linkUrl = \"\";\n\n if (variant === \"launchpad-config\" || 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 __pathname = urlObject.pathname;\n disabled = urlObject.origin !== location.origin;\n linkUrl = disabled\n ? \"\"\n : parseUrlTemplate(\n customUrlTemplate,\n {\n ...data,\n __pathname,\n },\n \"\"\n )!;\n }\n }\n\n return (\n <li\n className={classNames(\"menu-item\", {\n disabled: disabled || data.allBlocked,\n })}\n onClick={() => {\n onClick?.({ __pathname });\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 onClick={(event) => {\n event.stopPropagation();\n }}\n onActionClick={handleActionClick}\n data-testid={`menu-item-actions-${data.id}`}\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 onMenuItemClick?(item: ProcessedConfigMenuItemNormal): void;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nfunction MenuItemFolder({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onMenuItemClick,\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 onClick={(data) => {\n onMenuItemClick?.({ ...item, ...data });\n }}\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","_H","_handleMenuItemClick","_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_menuItemClickEvent","_init_extra_menuItemClickEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_menuItemClickEvent","emit","detail","_get_actionClickEvent","menuGroups","_classPrivateFieldGet","_classPrivateFieldSet","actions","variant","urlTemplate","customUrlTemplate","blacklist","render","_this$variant","React","LaunchpadConfigComponent","onMenuItemClick","_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_menuItemClickEvent","_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","onClick","_data$menuIcon","__pathname","disabled","linkUrl","parseUrlTemplate","urlObject","tooltip","_extends","menuIcon","pick","stopPropagation","expanded","setExpanded","toggle","previous","prefix","fallback","_urlTemplate$replace","replace","_match","encodeURIComponent","trim","assign","target","source"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/launchpad-config.822d8f06.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 ConfigMenuItemNormal,\n ConfigVariant,\n MenuAction,\n MenuActionEventDetail,\n} from \"./interfaces\";\nimport { MenuGroup, MenuGroupProps } 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: \"menu-item.click\" })\n accessor #menuItemClickEvent!: EventEmitter<ConfigMenuItemNormal>;\n\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<MenuActionEventDetail>;\n\n #handleMenuItemClick = (item: ConfigMenuItemNormal) => {\n this.#menuItemClickEvent.emit(item);\n };\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 onMenuItemClick={this.#handleMenuItemClick}\n onActionClick={this.#onActionClick}\n />\n );\n }\n}\n\nexport interface LaunchpadConfigProps\n extends Pick<\n MenuGroupProps,\n \"actions\" | \"variant\" | \"urlTemplate\" | \"customUrlTemplate\"\n > {\n menuGroups?: ConfigMenuGroup[];\n blacklist?: string[];\n}\n\nexport interface LaunchpadConfigComponentProps\n extends LaunchpadConfigProps,\n Pick<MenuGroupProps, \"onMenuItemClick\" | \"onActionClick\"> {}\n\nexport function LaunchpadConfigComponent({\n menuGroups,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n blacklist,\n onMenuItemClick,\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 onMenuItemClick={onMenuItemClick}\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 type ProcessedConfigMenuItemNormal = ConfigMenuItemNormal & {\n __pathname?: string;\n};\n\nexport interface MenuGroupProps {\n data: ConfigMenuGroup;\n actions?: MenuAction[];\n variant?: ConfigVariant;\n urlTemplate?: string;\n customUrlTemplate?: string;\n onMenuItemClick?(item: ProcessedConfigMenuItemNormal): void;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuGroup({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onMenuItemClick,\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 onMenuItemClick={onMenuItemClick}\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 onClick={(data) => {\n onMenuItemClick?.({ ...item, ...data });\n }}\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 onClick?(data: { __pathname?: string }): void;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nexport function MenuItem({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onClick,\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 __pathname: string;\n let disabled = false;\n let linkUrl = \"\";\n\n if (variant === \"launchpad-config\" || 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 __pathname = urlObject.pathname;\n disabled = urlObject.origin !== location.origin;\n linkUrl = disabled\n ? \"\"\n : parseUrlTemplate(\n customUrlTemplate,\n {\n ...data,\n __pathname,\n },\n \"\"\n )!;\n }\n }\n\n return (\n <li\n className={classNames(\"menu-item\", {\n disabled: disabled || data.allBlocked,\n })}\n onClick={() => {\n onClick?.({ __pathname });\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 onClick={(event) => {\n event.stopPropagation();\n }}\n onActionClick={handleActionClick}\n data-testid={`menu-item-actions-${data.id}`}\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 onMenuItemClick?(item: ProcessedConfigMenuItemNormal): void;\n onActionClick?: (detail: MenuActionEventDetail) => void;\n}\n\nfunction MenuItemFolder({\n data,\n actions,\n variant,\n urlTemplate,\n customUrlTemplate,\n onMenuItemClick,\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 onClick={(data) => {\n onMenuItemClick?.({ ...item, ...data });\n }}\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","_H","_handleMenuItemClick","_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_menuItemClickEvent","_init_extra_menuItemClickEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_menuItemClickEvent","emit","detail","_get_actionClickEvent","menuGroups","_classPrivateFieldGet","_classPrivateFieldSet","actions","variant","urlTemplate","customUrlTemplate","blacklist","render","_this$variant","React","LaunchpadConfigComponent","onMenuItemClick","_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_menuItemClickEvent","_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","onClick","_data$menuIcon","__pathname","disabled","linkUrl","parseUrlTemplate","urlObject","tooltip","_extends","menuIcon","pick","stopPropagation","expanded","setExpanded","toggle","previous","prefix","fallback","_urlTemplate$replace","replace","_match","encodeURIComponent","trim","assign","target","source"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (()=>{var e,t,r,n,a,o,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(6302),r.e(9363),r.e(8769),r.e(6192),r.e(9859),r.e(6477),r.e(1030),r.e(140),r.e(7448),r.e(9005),r.e(1361),r.e(2340),r.e(1732),r.e(7390),r.e(1321),r.e(9435),r.e(2575),r.e(2133),r.e(1916),r.e(7201),r.e(4167),r.e(6595),r.e(4727),r.e(9149),r.e(4433)]).then(r.bind(r,4433))}},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:"6937a15d",1045:"6f2ef8ee",1122:"873dcb9d",1369:"110f5b02",1370:"cb8ff339",1889:"2cc36eb0",2052:"14b1b2e4",2133:"b3f42995",2252:"d3da24a8",2277:"ba342aae",3144:"702dfbe9",3171:"37902a27",3933:"928cded4",4041:"457ae2a2",4306:"7f2e4739",4433:"8a2db39c",4658:"94297dd4",4727:"04c7f61d",4837:"8de8edba",4934:"01b89dd0",5250:"4c156a3c",5384:"a93e34e9",5399:"9f6a36a0",5552:"075020be",6302:"cb4502ec",6314:"b04ccf93",6519:"731d398d",6595:"e9199ff8",6773:"57567d00",7218:"d98e4c1e",7304:"94d0e345",7434:"2990513f",7721:"8cd25214",7733:"7902dee3",8097:"3603bfee",8989:"33ca9fdc",9140:"7835c9bd",9149:"0c92a507",9363:"fc28662e",9515:"e919ad47",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,a,o)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==a)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+a){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+a),l.src=r),e[r]=[n];var d=(t,n)=>{l.onerror=l.onload=null,clearTimeout(f);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.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 a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];S.o(S.S,r)||(S.S[r]={});var o=S.S[r],l="@next-bricks/nav",i=(e,t,r,n)=>{var a=o[e]=o[e]||{},i=a[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(a[t]={get:r,from:l,eager:!!n})},s=[];return"default"===r&&(i("@babel/parser","7.27.2",(()=>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.14.0",(()=>Promise.all([S.e(2252),S.e(1030),S.e(140),S.e(7448),S.e(9005),S.e(1361),S.e(1732),S.e(1321),S.e(2575),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.77",(()=>Promise.all([S.e(7448),S.e(8097)]).then((()=>()=>S(8097))))),i("@next-core/i18n","1.0.77",(()=>Promise.all([S.e(7448),S.e(9005),S.e(671),S.e(5552)]).then((()=>()=>S(5552))))),i("@next-core/inject","1.0.54",(()=>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.16",(()=>Promise.all([S.e(8769),S.e(9859),S.e(1030),S.e(140),S.e(4837)]).then((()=>()=>S(4837))))),i("@next-core/runtime","1.62.0",(()=>Promise.all([S.e(9140),S.e(1030),S.e(7448),S.e(9005),S.e(1361),S.e(1732),S.e(1321),S.e(2575),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.35",(()=>S.e(871).then((()=>()=>S(871))))),i("@next-core/utils/storyboard","1.7.35",(()=>Promise.all([S.e(9005),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(7304).then((()=>()=>S(7304))))),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(7434),S.e(8769)]).then((()=>()=>S(7434))))),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 a=e[n],o=(typeof a)[0];if(n>=t.length)return"u"==o;var l=t[n],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&a!=l)return a<l;n++}},a=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,o=1;o<e.length;o++)n--,r+="u"==(typeof(i=e[o]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+s()+")":1===i?"("+s()+" || "+s()+")":2===i?l.pop()+" "+l.pop():a(i))}return s();function s(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var n=e[0],a=n<0;a&&(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&&!a:""==d!=a);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(a?c>e[i]:c<e[i])return!1;c!=e[i]&&(s=!1)}else if("s"!=d&&"n"!=d){if(a||i<=n)return!1;s=!1,i--}else{if(i<=n||u<d!=a)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?o(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,a)=>{var l=a?s(e[t]):e[t];return(t=Object.keys(l).reduce(((e,t)=>!o(r,t)||e&&!n(e,t)?e:t),0))&&l[t]},u=(e,t,r)=>{var a=r?s(e[t]):e[t];return Object.keys(a).reduce(((e,t)=>!e||!a[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 "+a(n)+")",f=(e,t,r,n,o)=>{var l=e[r];return"No satisfying version ("+a(n)+")"+(o?" 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,a,o){var l=S.I(t);return l&&l.then&&!n?l.then(e.bind(e,t,S.S[t],r,!1,a,o)):e(t,S.S[t],r,n,a,o)})(((e,t,r,n,a,o)=>{if(!l(t,r))return b(e,r,o);var s=c(t,r,a,n);return s?i(s):o?o():void h(f(t,e,r,a,n))})),x=m(((e,t,r,n,a,s)=>{if(!l(t,r))return b(e,r,s);var c=u(t,r,n);return o(a,c)||p(d(t,r,c,a)),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))))),140:()=>x("default","@next-core/runtime",!1,[1,1,62,0],(()=>Promise.all([S.e(9140),S.e(1030),S.e(7448),S.e(9005),S.e(1361),S.e(1732),S.e(1321),S.e(2575),S.e(1916),S.e(4167),S.e(110)]).then((()=>()=>S(6759))))),7448:()=>x("default","@next-core/i18n",!1,[1,1,0,77],(()=>Promise.all([S.e(9005),S.e(671),S.e(3171)]).then((()=>()=>S(5552))))),9005:()=>x("default","@next-core/utils/general",!1,[1,1,7,35],(()=>S.e(871).then((()=>()=>S(871))))),1361:()=>x("default","@next-core/http",!1,[0],(()=>S.e(1370).then((()=>()=>S(8989))))),2340:()=>x("default","@next-core/easyops-runtime",!1,[2,0,14,0],(()=>Promise.all([S.e(2252),S.e(1030),S.e(7448),S.e(9005),S.e(1361),S.e(1732),S.e(1321),S.e(2575),S.e(9933),S.e(5310)]).then((()=>()=>S(2252))))),1732:()=>x("default","history",!1,[0],(()=>S.e(5384).then((()=>()=>S(5384))))),7390:()=>v("default","@next-core/react-runtime",!1,[1,1,7,16],(()=>Promise.all([S.e(1030),S.e(140),S.e(7218)]).then((()=>()=>S(4837))))),1321:()=>x("default","@next-core/cook",!1,[0],(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(8741))))),9435:()=>v("default","react-dom",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(3144).then((()=>()=>S(3144))))),4956:()=>x("default","@next-core/utils/storyboard",!1,[1,1,7,35],(()=>S.e(6314).then((()=>()=>S(3933))))),1916:()=>x("default","moment",!1,[0],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(9420))))),7201:()=>x("default","@next-core/i18n/react",!1,[1,1,0,77],(()=>Promise.all([S.e(7448),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(7434),S.e(8769)]).then((()=>()=>S(7434))))),848:()=>x("default","i18next-browser-languagedetector",!1,[0],(()=>S.e(726).then((()=>()=>S(726))))),5630:()=>x("default","i18next",!1,[0],(()=>S.e(7304).then((()=>()=>S(7304))))),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],140:[140],580:[580],671:[848,5630],1030:[1030],1321:[1321],1361:[1361],1732:[1732],1916:[1916],2340:[2340],2575:[4956],4167:[4167],5310:[5310],6192:[6192],6477:[6477],6519:[8377],7201:[7201],7390:[7390],7448:[7448],8097:[7825],8769:[8769],9005:[9005],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 a=y[e]();a.then?t.push(g[e]=a.then(r).catch(n)):r(a)}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((03|1|4)0|321|361|732|916)|6(192|477|71)|7(201|390|448)|9(005|435|859|933)|(234|531|58)0|2575|4167|8769)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=S.p+S.u(t),l=new Error;S.l(o,(r=>{if(S.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,i]=r,s=0;if(o.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<o.length;s++)a=o[s],S.o(e,a)&&e[a]&&e[a][0](),e[a]=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.3b673ac6.js.map