@acorex/modules 20.6.0-next.12 → 20.6.0-next.14

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 (61) hide show
  1. package/dashboard-management/index.d.ts +2 -15
  2. package/fesm2022/acorex-modules-conversation.mjs +1 -1
  3. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  4. package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2sEG8P9.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-DxvJ5FUP.mjs} +22 -17
  5. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DxvJ5FUP.mjs.map +1 -0
  6. package/fesm2022/{acorex-modules-dashboard-management-permission-definition.provider-CDof9JW9.mjs → acorex-modules-dashboard-management-permission-definition.provider-tvIEsms4.mjs} +2 -2
  7. package/fesm2022/{acorex-modules-dashboard-management-permission-definition.provider-CDof9JW9.mjs.map → acorex-modules-dashboard-management-permission-definition.provider-tvIEsms4.mjs.map} +1 -1
  8. package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
  9. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-BQg63TCL.mjs → acorex-modules-document-management-acorex-modules-document-management-B3AbD1tJ.mjs} +16 -16
  10. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-BQg63TCL.mjs.map → acorex-modules-document-management-acorex-modules-document-management-B3AbD1tJ.mjs.map} +1 -1
  11. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DsVm2GMs.mjs → acorex-modules-document-management-attachment-widget.component-CzDOiRIY.mjs} +2 -2
  12. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DsVm2GMs.mjs.map → acorex-modules-document-management-attachment-widget.component-CzDOiRIY.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-document-management-details-view.component-CPS-Hi0y.mjs → acorex-modules-document-management-details-view.component-DKTHo8ne.mjs} +2 -2
  14. package/fesm2022/{acorex-modules-document-management-details-view.component-CPS-Hi0y.mjs.map → acorex-modules-document-management-details-view.component-DKTHo8ne.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-BdG1o9DR.mjs → acorex-modules-document-management-document-signature-popup.component-DGzzdmDb.mjs} +2 -2
  16. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-BdG1o9DR.mjs.map → acorex-modules-document-management-document-signature-popup.component-DGzzdmDb.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-document-management-drive-choose.component-9GYqFNTa.mjs → acorex-modules-document-management-drive-choose.component-D5aiNVzj.mjs} +2 -2
  18. package/fesm2022/{acorex-modules-document-management-drive-choose.component-9GYqFNTa.mjs.map → acorex-modules-document-management-drive-choose.component-D5aiNVzj.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-document-management-drive.component-GEe-dEOj.mjs → acorex-modules-document-management-drive.component-CeBlGsLR.mjs} +6 -5
  20. package/fesm2022/acorex-modules-document-management-drive.component-CeBlGsLR.mjs.map +1 -0
  21. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-nbzNqi8U.mjs → acorex-modules-document-management-large-icons-view.component-CAHXm46u.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-nbzNqi8U.mjs.map → acorex-modules-document-management-large-icons-view.component-CAHXm46u.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-UaLWEWFL.mjs → acorex-modules-document-management-large-tiles-view.component-or2Wyl76.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-UaLWEWFL.mjs.map → acorex-modules-document-management-large-tiles-view.component-or2Wyl76.mjs.map} +1 -1
  25. package/fesm2022/{acorex-modules-document-management-list-view.component-DrrI8IQy.mjs → acorex-modules-document-management-list-view.component-gmOyQGvk.mjs} +2 -2
  26. package/fesm2022/{acorex-modules-document-management-list-view.component-DrrI8IQy.mjs.map → acorex-modules-document-management-list-view.component-gmOyQGvk.mjs.map} +1 -1
  27. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-CceGO8sF.mjs → acorex-modules-document-management-permission-definition.provider-CcZ1NTWk.mjs} +2 -2
  28. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-CceGO8sF.mjs.map → acorex-modules-document-management-permission-definition.provider-CcZ1NTWk.mjs.map} +1 -1
  29. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-D8ndB-9C.mjs → acorex-modules-document-management-small-icons-view.component-VD2PaT-1.mjs} +2 -2
  30. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-D8ndB-9C.mjs.map → acorex-modules-document-management-small-icons-view.component-VD2PaT-1.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BYIgOhLJ.mjs → acorex-modules-document-management-small-tiles-view.component-fGLTqZyQ.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BYIgOhLJ.mjs.map → acorex-modules-document-management-small-tiles-view.component-fGLTqZyQ.mjs.map} +1 -1
  33. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  34. package/fesm2022/{acorex-modules-notification-management-notification-page.component-Lz8J7q4k.mjs → acorex-modules-notification-management-notification-page.component-XCr4A447.mjs} +35 -23
  35. package/fesm2022/acorex-modules-notification-management-notification-page.component-XCr4A447.mjs.map +1 -0
  36. package/fesm2022/acorex-modules-notification-management.mjs +1 -1
  37. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-TfQFYkDv.mjs → acorex-modules-report-management-report-runner-root-page.component-BPHpCx1z.mjs} +8 -7
  38. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BPHpCx1z.mjs.map +1 -0
  39. package/fesm2022/acorex-modules-report-management.mjs +16 -15
  40. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  41. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-DTjfgbLU.mjs → acorex-modules-settings-management-acorex-modules-settings-management-DiK4w5LW.mjs} +18 -19
  42. package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-DiK4w5LW.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-DNgLTnFb.mjs → acorex-modules-settings-management-permission-definition.provider-Ddk4v4RY.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-DNgLTnFb.mjs.map → acorex-modules-settings-management-permission-definition.provider-Ddk4v4RY.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-settings-management-setting-page.component-CXXHizT0.mjs → acorex-modules-settings-management-setting-page.component-XfmsDcZt.mjs} +20 -17
  46. package/fesm2022/acorex-modules-settings-management-setting-page.component-XfmsDcZt.mjs.map +1 -0
  47. package/fesm2022/{acorex-modules-settings-management-setting-view.component-CGolAf-a.mjs → acorex-modules-settings-management-setting-view.component-BZzDT3gG.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-settings-management-setting-view.component-CGolAf-a.mjs.map → acorex-modules-settings-management-setting-view.component-BZzDT3gG.mjs.map} +1 -1
  49. package/fesm2022/acorex-modules-settings-management.mjs +1 -1
  50. package/fesm2022/{acorex-modules-task-management-task-board.page-9rGlt3Fd.mjs → acorex-modules-task-management-task-board.page-Bceu03Yj.mjs} +5 -4
  51. package/fesm2022/{acorex-modules-task-management-task-board.page-9rGlt3Fd.mjs.map → acorex-modules-task-management-task-board.page-Bceu03Yj.mjs.map} +1 -1
  52. package/fesm2022/acorex-modules-task-management.mjs +1 -1
  53. package/package.json +14 -14
  54. package/report-management/index.d.ts +2 -15
  55. package/settings-management/index.d.ts +2 -2
  56. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2sEG8P9.mjs.map +0 -1
  57. package/fesm2022/acorex-modules-document-management-drive.component-GEe-dEOj.mjs.map +0 -1
  58. package/fesm2022/acorex-modules-notification-management-notification-page.component-Lz8J7q4k.mjs.map +0 -1
  59. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-TfQFYkDv.mjs.map +0 -1
  60. package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-DTjfgbLU.mjs.map +0 -1
  61. package/fesm2022/acorex-modules-settings-management-setting-page.component-CXXHizT0.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-report-management-report-runner-root-page.component-TfQFYkDv.mjs","sources":["../tmp-esm2022/report-management/lib/features/report-runner/report-runner.viewmodel.js","../tmp-esm2022/report-management/lib/features/report-runner/report-categories-tree/report-categories-tree.component.js","../tmp-esm2022/report-management/lib/features/report-runner/report-runner-root-page/report-runner-root-page.component.js"],"sourcesContent":["import { AXPReportDefinitionService } from \"../../reports\";\nimport { AXPPageStatus } from \"@acorex/platform/layout/widget-core\";\nimport { computed, inject } from \"@angular/core\";\nimport { signalStore, withMethods, withComputed, withState, withHooks, patchState } from \"@ngrx/signals\";\nimport { isEmpty, isNil } from \"lodash-es\";\nimport { merge } from \"rxjs\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { AXLocaleService } from \"@acorex/core/locale\";\nimport { AXPLayoutThemeService } from \"@acorex/platform/themes/shared\";\nimport { RootConfig } from \"../../const\";\nexport const AXPReportRunnerRootViewModel = signalStore(withState(() => ({\n activeCategory: undefined,\n categories: [],\n reports: [],\n activeCategoriesPath: [],\n //\n searchExpression: null,\n //\n status: AXPPageStatus.Processing,\n})), withComputed((store, layout = inject(AXPLayoutThemeService)) => ({\n searchResults: computed(() => []),\n hasActiveCategory: computed(() => store.activeCategory() != null),\n showSideMenu: computed(() => layout.isLarge()),\n isSearching: computed(() => store.searchExpression() != null),\n isBusy: computed(() => store.status() == AXPPageStatus.Processing),\n isLoaded: computed(() => store.activeCategory() != null),\n title: computed(() => store.activeCategory()?.title ?? `@${RootConfig.config.i18n}:report-runner.terms.page-title`),\n description: computed(() => store.activeCategory()?.description ?? `@${RootConfig.config.i18n}:report-runner.components.report-runner.description`),\n})), withMethods((store, reportDefinitionService = inject(AXPReportDefinitionService)) => ({\n /**\n * Load root categories\n *\n * Optimization: Service caches result, subsequent calls are instant\n */\n async loadRootCategories() {\n patchState(store, {\n activeCategory: undefined,\n reports: [],\n activeCategoriesPath: [],\n status: AXPPageStatus.Processing,\n });\n const categories = await reportDefinitionService.getCategories();\n patchState(store, {\n categories,\n status: AXPPageStatus.Idle,\n });\n },\n /**\n * Get categories by parentId (cached by service)\n */\n async getCategories(parentId) {\n patchState(store, { status: AXPPageStatus.Processing });\n const result = await reportDefinitionService.getCategories(parentId);\n patchState(store, { status: AXPPageStatus.Idle });\n return result;\n },\n /**\n * Get reports for a category\n *\n * Optimization: Service checks itemsCount before querying\n * - If itemsCount = 0, returns empty array (no API call)\n * - If cached, returns instantly\n */\n async getReports(categoryId) {\n patchState(store, { status: AXPPageStatus.Processing });\n const result = await reportDefinitionService.getReportsByCategoryId(categoryId);\n patchState(store, { status: AXPPageStatus.Idle });\n return result;\n },\n /**\n * Set active category and load its data\n *\n * Optimization: All 3 queries benefit from caching\n * - Categories: Cached from previous navigation\n * - Reports: Skipped if itemsCount = 0\n * - Path: Built from cached categories\n */\n async setActiveCategory(category) {\n patchState(store, {\n status: AXPPageStatus.Processing,\n activeCategory: category,\n });\n // ✅ Parallel loading for better performance\n const [categories, reports, activeCategoriesPath] = await Promise.all([\n reportDefinitionService.getCategories(category.id),\n reportDefinitionService.getReportsByCategoryId(category.id),\n reportDefinitionService.getCategoriesPathById(category.id),\n ]);\n patchState(store, {\n categories,\n reports,\n activeCategoriesPath,\n status: AXPPageStatus.Idle,\n });\n },\n /**\n * Set active category by ID\n *\n * Optimization: getCategoryById uses O(1) cache lookup\n */\n async setActiveCategoryById(id) {\n patchState(store, { status: AXPPageStatus.Processing });\n const category = await reportDefinitionService.getCategoryById(id);\n if (category) {\n patchState(store, { activeCategory: category });\n // ✅ Parallel loading\n const [categories, reports, activeCategoriesPath] = await Promise.all([\n reportDefinitionService.getCategories(category.id),\n reportDefinitionService.getReportsByCategoryId(category.id),\n reportDefinitionService.getCategoriesPathById(category.id),\n ]);\n patchState(store, {\n categories,\n reports,\n activeCategoriesPath,\n });\n }\n patchState(store, { status: AXPPageStatus.Idle });\n },\n /**\n * Search for reports (to be implemented)\n */\n async search(expression) {\n if (!isNil(expression) && !isEmpty(expression)) {\n patchState(store, { searchExpression: expression });\n }\n else {\n patchState(store, { searchExpression: null });\n }\n },\n /**\n * Clear search\n */\n clearSearch() {\n patchState(store, { searchExpression: null });\n },\n})), withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n merge(translationService.langChanges$, localeService.profileChanged$).subscribe(async () => {\n });\n //\n await store.loadRootCategories();\n },\n onDestroy() { },\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJ1bm5lci52aWV3bW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1ydW5uZXIudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEMsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3pDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLFdBQVcsQ0FDbkQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDYixjQUFjLEVBQUUsU0FBMEM7SUFDMUQsVUFBVSxFQUFFLEVBQXlCO0lBQ3JDLE9BQU8sRUFBRSxFQUEyQjtJQUNwQyxvQkFBb0IsRUFBRSxFQUF5QjtJQUMvQyxFQUFFO0lBQ0YsZ0JBQWdCLEVBQUUs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UyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRTtRQUNGLE1BQU0sS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUNELFNBQVMsS0FBSyxDQUFDO0NBQ2xCLENBQUMsQ0FBQyxDQUVOLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBSZXBvcnRDYXRlZ29yeSwgQVhQUmVwb3J0RGVmaW5pdGlvbiwgQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vcmVwb3J0c1wiO1xuaW1wb3J0IHsgQVhQUGFnZVN0YXR1cyB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZVwiO1xuaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBzaWduYWxTdG9yZSwgd2l0aE1ldGhvZHMsIHdpdGhDb21wdXRlZCwgd2l0aFN0YXRlLCB3aXRoSG9va3MsIHBhdGNoU3RhdGUgfSBmcm9tIFwiQG5ncngvc2lnbmFsc1wiO1xuaW1wb3J0IHsgaXNFbXB0eSwgaXNOaWwgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb25cIjtcbmltcG9ydCB7IEFYTG9jYWxlU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvbG9jYWxlXCI7XG5pbXBvcnQgeyBBWFBMYXlvdXRUaGVtZVNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkXCI7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnN0XCI7XG5cblxuZXhwb3J0IGNvbnN0IEFYUFJlcG9ydFJ1bm5lclJvb3RWaWV3TW9kZWwgPSBzaWduYWxTdG9yZShcbiAgICB3aXRoU3RhdGUoKCkgPT4gKHtcbiAgICAgICAgYWN0aXZlQ2F0ZWdvcnk6IHVuZGVmaW5lZCBhcyBBWFBSZXBvcnRDYXRlZ29yeSB8IHVuZGVmaW5lZCxcbiAgICAgICAgY2F0ZWdvcmllczogW10gYXMgQVhQUmVwb3J0Q2F0ZWdvcnlbXSxcbiAgICAgICAgcmVwb3J0czogW10gYXMgQVhQUmVwb3J0RGVmaW5pdGlvbltdLFxuICAgICAgICBhY3RpdmVDYXRlZ29yaWVzUGF0aDogW10gYXMgQVhQUmVwb3J0Q2F0ZWdvcnlbXSxcbiAgICAgICAgLy9cbiAgICAgICAgc2VhcmNoRXhwcmVzc2lvbjogbnVsbCBhcyBzdHJpbmcgfCBudWxsLFxuICAgICAgICAvL1xuICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICB9KSksXG4gICAgd2l0aENvbXB1dGVkKChzdG9yZSwgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFRoZW1lU2VydmljZSkpID0+ICh7XG4gICAgICAgIHNlYXJjaFJlc3VsdHM6IGNvbXB1dGVkKCgpID0+IFtdKSxcbiAgICAgICAgaGFzQWN0aXZlQ2F0ZWdvcnk6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmFjdGl2ZUNhdGVnb3J5KCkgIT0gbnVsbCksXG4gICAgICAgIHNob3dTaWRlTWVudTogY29tcHV0ZWQoKCkgPT4gbGF5b3V0LmlzTGFyZ2UoKSksXG4gICAgICAgIGlzU2VhcmNoaW5nOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5zZWFyY2hFeHByZXNzaW9uKCkgIT0gbnVsbCksXG4gICAgICAgIGlzQnVzeTogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc3RhdHVzKCkgPT0gQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nKSxcbiAgICAgICAgaXNMb2FkZWQ6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmFjdGl2ZUNhdGVnb3J5KCkgIT0gbnVsbCksXG4gICAgICAgIHRpdGxlOiBjb21wdXRlZCgoKSA9PlxuICAgICAgICAgICAgc3RvcmUuYWN0aXZlQ2F0ZWdvcnkoKT8udGl0bGUgPz8gYEAke1Jvb3RDb25maWcuY29uZmlnLmkxOG59OnJlcG9ydC1ydW5uZXIudGVybXMucGFnZS10aXRsZWBcbiAgICAgICAgKSxcbiAgICAgICAgZGVzY3JpcHRpb246IGNvbXB1dGVkKCgpID0+XG4gICAgICAgICAgICBzdG9yZS5hY3RpdmVDYXRlZ29yeSgpPy5kZXNjcmlwdGlvbiA/PyBgQCR7Um9vdENvbmZpZy5jb25maWcuaTE4bn06cmVwb3J0LXJ1bm5lci5jb21wb25lbnRzLnJlcG9ydC1ydW5uZXIuZGVzY3JpcHRpb25gXG4gICAgICAgICksXG4gICAgfSkpLFxuICAgIHdpdGhNZXRob2RzKFxuICAgICAgICAoc3RvcmUsXG4gICAgICAgICAgICByZXBvcnREZWZpbml0aW9uU2VydmljZSA9IGluamVjdChBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSksXG4gICAgICAgICkgPT4gKHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogTG9hZCByb290IGNhdGVnb3JpZXNcbiAgICAgICAgICAgICAqIFxuICAgICAgICAgICAgICogT3B0aW1pemF0aW9uOiBTZXJ2aWNlIGNhY2hlcyByZXN1bHQsIHN1YnNlcXVlbnQgY2FsbHMgYXJlIGluc3RhbnRcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgYXN5bmMgbG9hZFJvb3RDYXRlZ29yaWVzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlQ2F0ZWdvcnk6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgcmVwb3J0czogW10sXG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNhdGVnb3JpZXNQYXRoOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzID0gYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpO1xuXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogR2V0IGNhdGVnb3JpZXMgYnkgcGFyZW50SWQgKGNhY2hlZCBieSBzZXJ2aWNlKVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhc3luYyBnZXRDYXRlZ29yaWVzKHBhcmVudElkPzogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeVtdPiB7XG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyB9KTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzKHBhcmVudElkKTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHN0YXR1czogQVhQUGFnZVN0YXR1cy5JZGxlIH0pO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEdldCByZXBvcnRzIGZvciBhIGNhdGVnb3J5XG4gICAgICAgICAgICAgKiBcbiAgICAgICAgICAgICAqIE9wdGltaXphdGlvbjogU2VydmljZSBjaGVja3MgaXRlbXNDb3VudCBiZWZvcmUgcXVlcnlpbmdcbiAgICAgICAgICAgICAqIC0gSWYgaXRlbXNDb3VudCA9IDAsIHJldHVybnMgZW1wdHkgYXJyYXkgKG5vIEFQSSBjYWxsKVxuICAgICAgICAgICAgICogLSBJZiBjYWNoZWQsIHJldHVybnMgaW5zdGFudGx5XG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGFzeW5jIGdldFJlcG9ydHMoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+IHtcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHN0YXR1czogQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nIH0pO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSB9KTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBTZXQgYWN0aXZlIGNhdGVnb3J5IGFuZCBsb2FkIGl0cyBkYXRhXG4gICAgICAgICAgICAgKiBcbiAgICAgICAgICAgICAqIE9wdGltaXphdGlvbjogQWxsIDMgcXVlcmllcyBiZW5lZml0IGZyb20gY2FjaGluZ1xuICAgICAgICAgICAgICogLSBDYXRlZ29yaWVzOiBDYWNoZWQgZnJvbSBwcmV2aW91cyBuYXZpZ2F0aW9uXG4gICAgICAgICAgICAgKiAtIFJlcG9ydHM6IFNraXBwZWQgaWYgaXRlbXNDb3VudCA9IDBcbiAgICAgICAgICAgICAqIC0gUGF0aDogQnVpbHQgZnJvbSBjYWNoZWQgY2F0ZWdvcmllc1xuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhc3luYyBzZXRBY3RpdmVDYXRlZ29yeShjYXRlZ29yeTogQVhQUmVwb3J0Q2F0ZWdvcnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nLFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yeTogY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAvLyDinIUgUGFyYWxsZWwgbG9hZGluZyBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlXG4gICAgICAgICAgICAgICAgY29uc3QgW2NhdGVnb3JpZXMsIHJlcG9ydHMsIGFjdGl2ZUNhdGVnb3JpZXNQYXRoXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgICAgICAgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllcyhjYXRlZ29yeS5pZCksXG4gICAgICAgICAgICAgICAgICAgIHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnkuaWQpLFxuICAgICAgICAgICAgICAgICAgICByZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnkuaWQpLFxuICAgICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzLFxuICAgICAgICAgICAgICAgICAgICByZXBvcnRzLFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yaWVzUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLklkbGUsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFNldCBhY3RpdmUgY2F0ZWdvcnkgYnkgSURcbiAgICAgICAgICAgICAqIFxuICAgICAgICAgICAgICogT3B0aW1pemF0aW9uOiBnZXRDYXRlZ29yeUJ5SWQgdXNlcyBPKDEpIGNhY2hlIGxvb2t1cFxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhc3luYyBzZXRBY3RpdmVDYXRlZ29yeUJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yeSA9IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldENhdGVnb3J5QnlJZChpZCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgaWYgKGNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgYWN0aXZlQ2F0ZWdvcnk6IGNhdGVnb3J5IH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIOKchSBQYXJhbGxlbCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtjYXRlZ29yaWVzLCByZXBvcnRzLCBhY3RpdmVDYXRlZ29yaWVzUGF0aF0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzKGNhdGVnb3J5LmlkKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnkuaWQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllc1BhdGhCeUlkKGNhdGVnb3J5LmlkKSxcbiAgICAgICAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcmllcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9ydHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yaWVzUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSB9KTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogU2VhcmNoIGZvciByZXBvcnRzICh0byBiZSBpbXBsZW1lbnRlZClcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgYXN5bmMgc2VhcmNoKGV4cHJlc3Npb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNOaWwoZXhwcmVzc2lvbikgJiYgIWlzRW1wdHkoZXhwcmVzc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWFyY2hFeHByZXNzaW9uOiBleHByZXNzaW9uIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VhcmNoRXhwcmVzc2lvbjogbnVsbCB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIENsZWFyIHNlYXJjaFxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjbGVhclNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNlYXJjaEV4cHJlc3Npb246IG51bGwgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSksXG4gICAgd2l0aEhvb2tzKChzdG9yZSxcbiAgICAgICAgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKSxcbiAgICAgICAgbG9jYWxlU2VydmljZSA9IGluamVjdChBWExvY2FsZVNlcnZpY2UpXG4gICAgKSA9PiAoe1xuICAgICAgICBhc3luYyBvbkluaXQoKSB7XG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvblNlcnZpY2UubGFuZ0NoYW5nZXMkLFxuICAgICAgICAgICAgICAgIGxvY2FsZVNlcnZpY2UucHJvZmlsZUNoYW5nZWQkXG4gICAgICAgICAgICApLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBhd2FpdCBzdG9yZS5sb2FkUm9vdENhdGVnb3JpZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25EZXN0cm95KCkgeyB9LFxuICAgIH0pKVxuXG4pIl19","//#region ---- Imports ----\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTreeViewModule } from '@acorex/components/tree-view';\nimport { AXPReportDefinitionService } from '../../../reports';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, output, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/tree-view\";\n//#endregion\nexport class AXPReportCategoriesTreeComponent {\n constructor() {\n //#region ---- Services & Dependencies ----\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n //#endregion\n //#region ---- Output Events ----\n /**\n * Emitted when a category node is clicked\n */\n this.categoryClick = output();\n /**\n * Emitted when a report node is clicked\n */\n this.reportClick = output();\n //#endregion\n //#region ---- Data Loading Methods ----\n /**\n * Provide lazy loading tree data with optimized queries\n *\n * Optimizations:\n * 1. Uses childrenCount to determine expandability (no extra query)\n * 2. Uses itemsCount to skip report queries when count = 0\n * 3. Returns cached data on subsequent calls (via service layer)\n * 4. Single API call per category includes all metadata\n *\n * Performance: Most navigation is instant (cached), only first visit queries API\n */\n this.provideLazyTreeView = async (selectedItemId) => {\n if (selectedItemId) {\n // ✅ Load child categories (includes childrenCount & itemsCount metadata)\n const categories = await this.reportDefinitionService.getCategories(selectedItemId);\n const categoryItems = categories.map((item) => ({\n id: item.id,\n title: item.title,\n // ✅ Optimization: Use count properties to determine expandability\n hasChild: item.childrenCount > 0 || (item.itemsCount ?? 0) > 0,\n item: item,\n type: 'category',\n expanded: false,\n }));\n // ✅ Load report definitions for this category\n // Optimization: Service checks itemsCount before querying (skip if 0)\n const definitions = await this.reportDefinitionService.getReportsByCategoryId(selectedItemId);\n const definitionItems = definitions.map((item) => ({\n id: item.id,\n title: item.title,\n hasChild: false, // Reports are leaf nodes\n item: item,\n type: 'definition',\n expanded: false,\n }));\n // ✅ Return categories first, then reports (sorted)\n return [...categoryItems, ...definitionItems];\n }\n else {\n // ✅ Root level - load root categories only\n const categories = await this.reportDefinitionService.getCategories();\n return categories.map((item) => ({\n id: item.id,\n title: item.title,\n // ✅ Optimization: Use count properties\n hasChild: item.childrenCount > 0 || (item.itemsCount ?? 0) > 0,\n item: item,\n type: 'category',\n expanded: false,\n }));\n }\n };\n }\n //#endregion\n //#region ---- Event Handlers ----\n /**\n * Handle tree node click events\n *\n * Emits appropriate event based on node type:\n * - category → categoryClick\n * - definition → reportClick\n */\n handleNodeClick(event) {\n const node = event.data;\n if (node.type === 'category') {\n this.categoryClick.emit(node.item);\n }\n else if (node.type === 'definition') {\n this.reportClick.emit(node.item);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPReportCategoriesTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXPReportCategoriesTreeComponent, isStandalone: true, selector: \"axp-report-categories-tree\", outputs: { categoryClick: \"categoryClick\", reportClick: \"reportClick\" }, host: { classAttribute: \"axp-report-categories-tree\" }, ngImport: i0, template: \"<ax-tree-view\\n [showCheckbox]=\\\"false\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [textField]=\\\"'title'\\\"\\n [hasChildField]=\\\"'hasChild'\\\"\\n [valueField]=\\\"'id'\\\"\\n [expandedField]=\\\"'expanded'\\\"\\n [items]=\\\"provideLazyTreeView\\\"\\n (onNodeClick)=\\\"handleNodeClick($event)\\\"\\n>\\n</ax-tree-view>\\n\\n<ng-template #itemTemplate let-item>\\n @if (item.type === 'category') {\\n <ax-icon class=\\\"fas ax-text-warning fa-folder\\\"></ax-icon>\\n } @else {\\n <ax-icon class=\\\"fas ax-text-accent1 fa-file-chart-column\\\"></ax-icon>\\n }\\n {{ item.title }}\\n</ng-template>\\n\", styles: [\".axp-report-categories-tree{height:100%;width:100%}.axp-report-categories-tree .__tree-view .__item{display:flex;align-items:center;gap:.5rem}.axp-report-categories-tree .__tree-view .__item .__icon{flex-shrink:0}.axp-report-categories-tree .__tree-view .__item .__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.axp-report-categories-tree .__tree-view .__item:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXTreeViewModule }, { kind: \"component\", type: i2.AXTreeViewComponent, selector: \"ax-tree-view\", inputs: [\"items\", \"showCheckbox\", \"hasCheckboxField\", \"selectionMode\", \"selectionBehavior\", \"selectionScope\", \"focusNodeEnabled\", \"valueField\", \"textField\", \"visibleField\", \"disableField\", \"hasChildField\", \"selectedField\", \"expandedField\", \"tooltipField\", \"childrenField\", \"activeField\", \"indeterminateField\", \"parentField\", \"iconField\", \"toggleIcons\", \"look\", \"showEmptyNodeMassage\", \"itemTemplate\", \"emptyTemplate\", \"expandOn\"], outputs: [\"onSelectionChanged\", \"onItemSelectedChanged\", \"onNodeClick\", \"onCollapsedChanged\", \"onNodedbClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPReportCategoriesTreeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-categories-tree', standalone: true, imports: [\n CommonModule,\n AXDecoratorModule,\n AXTreeViewModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'axp-report-categories-tree' }, template: \"<ax-tree-view\\n [showCheckbox]=\\\"false\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [textField]=\\\"'title'\\\"\\n [hasChildField]=\\\"'hasChild'\\\"\\n [valueField]=\\\"'id'\\\"\\n [expandedField]=\\\"'expanded'\\\"\\n [items]=\\\"provideLazyTreeView\\\"\\n (onNodeClick)=\\\"handleNodeClick($event)\\\"\\n>\\n</ax-tree-view>\\n\\n<ng-template #itemTemplate let-item>\\n @if (item.type === 'category') {\\n <ax-icon class=\\\"fas ax-text-warning fa-folder\\\"></ax-icon>\\n } @else {\\n <ax-icon class=\\\"fas ax-text-accent1 fa-file-chart-column\\\"></ax-icon>\\n }\\n {{ item.title }}\\n</ng-template>\\n\", styles: [\".axp-report-categories-tree{height:100%;width:100%}.axp-report-categories-tree .__tree-view .__item{display:flex;align-items:center;gap:.5rem}.axp-report-categories-tree .__tree-view .__item .__icon{flex-shrink:0}.axp-report-categories-tree .__tree-view .__item .__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.axp-report-categories-tree .__tree-view .__item:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}\\n\"] }]\n }], propDecorators: { categoryClick: [{ type: i0.Output, args: [\"categoryClick\"] }], reportClick: [{ type: i0.Output, args: [\"reportClick\"] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUvcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUvcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUE0QixnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFGLE9BQU8sRUFBMEMsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBd0J0RyxZQUFZO0FBZ0JaLE1BQU0sT0FBTyxnQ0FBZ0M7SUFkN0M7UUFnQkksK0NBQStDO1FBRTlCLDRCQUF1QixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRTlFLFlBQVk7UUFFWixxQ0FBcUM7UUFFckM7O1dBRUc7UUFDSCxrQkFBYSxHQUFHLE1BQU0sRUFBcUIsQ0FBQztRQUU1Qzs7V0FFRztRQUNILGdCQUFXLEdBQUcsTUFBTSxFQUF1QixDQUFD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QSwwZ0JEZ0JRLFlBQVksOEJBQ1osaUJBQWlCLCtIQUNqQixnQkFBZ0I7OzRGQVFYLGdDQUFnQztrQkFkNUMsU0FBUzsrQkFDSSw0QkFBNEIsY0FDMUIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixnQkFBZ0I7cUJBQ25CLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLDRCQUE0QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIC0tLS0gICBJbXBvcnRzICAgLS0tLVxuXG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudCwgQVhUcmVlVmlld01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90cmVlLXZpZXcnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Q2F0ZWdvcnksIEFYUFJlcG9ydERlZmluaXRpb24sIEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcmVwb3J0cyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBvdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIEludGVyZmFjZSAgIC0tLS1cblxuLyoqXG4gKiBUcmVlIHZpZXcgaXRlbSB3aXRoIG9wdGltaXplZCBtZXRhZGF0YVxuICogXG4gKiBVc2VzIGNvdW50IHByb3BlcnRpZXMgZm9yIGVmZmljaWVudCByZW5kZXJpbmc6XG4gKiAtIGhhc0NoaWxkOiBEZXRlcm1pbmVkIGJ5IGNoaWxkcmVuQ291bnQgKyBpdGVtc0NvdW50XG4gKiAtIE5vIG5lZWQgdG8gcXVlcnkgQVBJIHRvIGtub3cgaWYgZXhwYW5kYWJsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVWaWV3SXRlbSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGhhc0NoaWxkOiBib29sZWFuOyAvLyBjaGlsZHJlbkNvdW50ID4gMCB8fCBpdGVtc0NvdW50ID4gMFxuICAgIGNoaWxkcmVuPzogVHJlZVZpZXdJdGVtW107XG4gICAgaXRlbT86IEFYUFJlcG9ydENhdGVnb3J5IHwgQVhQUmVwb3J0RGVmaW5pdGlvbjtcbiAgICB0eXBlOiAnY2F0ZWdvcnknIHwgJ2RlZmluaXRpb24nO1xuICAgIGV4cGFuZGVkOiBib29sZWFuO1xufVxuXG4vLyNlbmRyZWdpb25cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtcmVwb3J0LWNhdGVnb3JpZXMtdHJlZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYVHJlZVZpZXdNb2R1bGUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2F4cC1yZXBvcnQtY2F0ZWdvcmllcy10cmVlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnRDYXRlZ29yaWVzVHJlZUNvbXBvbmVudCB7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICYgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXBvcnREZWZpbml0aW9uU2VydmljZSA9IGluamVjdChBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgT3V0cHV0IEV2ZW50cyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBhIGNhdGVnb3J5IG5vZGUgaXMgY2xpY2tlZFxuICAgICAqL1xuICAgIGNhdGVnb3J5Q2xpY2sgPSBvdXRwdXQ8QVhQUmVwb3J0Q2F0ZWdvcnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gYSByZXBvcnQgbm9kZSBpcyBjbGlja2VkXG4gICAgICovXG4gICAgcmVwb3J0Q2xpY2sgPSBvdXRwdXQ8QVhQUmVwb3J0RGVmaW5pdGlvbj4oKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBEYXRhIExvYWRpbmcgTWV0aG9kcyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIFByb3ZpZGUgbGF6eSBsb2FkaW5nIHRyZWUgZGF0YSB3aXRoIG9wdGltaXplZCBxdWVyaWVzXG4gICAgICogXG4gICAgICogT3B0aW1pemF0aW9uczpcbiAgICAgKiAxLiBVc2VzIGNoaWxkcmVuQ291bnQgdG8gZGV0ZXJtaW5lIGV4cGFuZGFiaWxpdHkgKG5vIGV4dHJhIHF1ZXJ5KVxuICAgICAqIDIuIFVzZXMgaXRlbXNDb3VudCB0byBza2lwIHJlcG9ydCBxdWVyaWVzIHdoZW4gY291bnQgPSAwXG4gICAgICogMy4gUmV0dXJucyBjYWNoZWQgZGF0YSBvbiBzdWJzZXF1ZW50IGNhbGxzICh2aWEgc2VydmljZSBsYXllcilcbiAgICAgKiA0LiBTaW5nbGUgQVBJIGNhbGwgcGVyIGNhdGVnb3J5IGluY2x1ZGVzIGFsbCBtZXRhZGF0YVxuICAgICAqIFxuICAgICAqIFBlcmZvcm1hbmNlOiBNb3N0IG5hdmlnYXRpb24gaXMgaW5zdGFudCAoY2FjaGVkKSwgb25seSBmaXJzdCB2aXNpdCBxdWVyaWVzIEFQSVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwcm92aWRlTGF6eVRyZWVWaWV3ID0gYXN5bmMgKHNlbGVjdGVkSXRlbUlkPzogc3RyaW5nIHwgbnVtYmVyKTogUHJvbWlzZTxUcmVlVmlld0l0ZW1bXT4gPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtSWQpIHtcbiAgICAgICAgICAgIC8vIOKchSBMb2FkIGNoaWxkIGNhdGVnb3JpZXMgKGluY2x1ZGVzIGNoaWxkcmVuQ291bnQgJiBpdGVtc0NvdW50IG1ldGFkYXRhKVxuICAgICAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IGF3YWl0IHRoaXMucmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllcyhzZWxlY3RlZEl0ZW1JZCBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zdCBjYXRlZ29yeUl0ZW1zOiBUcmVlVmlld0l0ZW1bXSA9IGNhdGVnb3JpZXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxuICAgICAgICAgICAgICAgIC8vIOKchSBPcHRpbWl6YXRpb246IFVzZSBjb3VudCBwcm9wZXJ0aWVzIHRvIGRldGVybWluZSBleHBhbmRhYmlsaXR5XG4gICAgICAgICAgICAgICAgaGFzQ2hpbGQ6IGl0ZW0uY2hpbGRyZW5Db3VudCA+IDAgfHwgKGl0ZW0uaXRlbXNDb3VudCA/PyAwKSA+IDAsXG4gICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnY2F0ZWdvcnknIGFzIGNvbnN0LFxuICAgICAgICAgICAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8g4pyFIExvYWQgcmVwb3J0IGRlZmluaXRpb25zIGZvciB0aGlzIGNhdGVnb3J5XG4gICAgICAgICAgICAvLyBPcHRpbWl6YXRpb246IFNlcnZpY2UgY2hlY2tzIGl0ZW1zQ291bnQgYmVmb3JlIHF1ZXJ5aW5nIChza2lwIGlmIDApXG4gICAgICAgICAgICBjb25zdCBkZWZpbml0aW9ucyA9IGF3YWl0IHRoaXMucmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0UmVwb3J0c0J5Q2F0ZWdvcnlJZChzZWxlY3RlZEl0ZW1JZCBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zdCBkZWZpbml0aW9uSXRlbXM6IFRyZWVWaWV3SXRlbVtdID0gZGVmaW5pdGlvbnMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxuICAgICAgICAgICAgICAgIGhhc0NoaWxkOiBmYWxzZSwgLy8gUmVwb3J0cyBhcmUgbGVhZiBub2Rlc1xuICAgICAgICAgICAgICAgIGl0ZW06IGl0ZW0sXG4gICAgICAgICAgICAgICAgdHlwZTogJ2RlZmluaXRpb24nIGFzIGNvbnN0LFxuICAgICAgICAgICAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8g4pyFIFJldHVybiBjYXRlZ29yaWVzIGZpcnN0LCB0aGVuIHJlcG9ydHMgKHNvcnRlZClcbiAgICAgICAgICAgIHJldHVybiBbLi4uY2F0ZWdvcnlJdGVtcywgLi4uZGVmaW5pdGlvbkl0ZW1zXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIOKchSBSb290IGxldmVsIC0gbG9hZCByb290IGNhdGVnb3JpZXMgb25seVxuICAgICAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IGF3YWl0IHRoaXMucmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICByZXR1cm4gY2F0ZWdvcmllcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGUsXG4gICAgICAgICAgICAgICAgLy8g4pyFIE9wdGltaXphdGlvbjogVXNlIGNvdW50IHByb3BlcnRpZXNcbiAgICAgICAgICAgICAgICBoYXNDaGlsZDogaXRlbS5jaGlsZHJlbkNvdW50ID4gMCB8fCAoaXRlbS5pdGVtc0NvdW50ID8/IDApID4gMCxcbiAgICAgICAgICAgICAgICBpdGVtOiBpdGVtLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdjYXRlZ29yeScgYXMgY29uc3QsXG4gICAgICAgICAgICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSB0cmVlIG5vZGUgY2xpY2sgZXZlbnRzXG4gICAgICogXG4gICAgICogRW1pdHMgYXBwcm9wcmlhdGUgZXZlbnQgYmFzZWQgb24gbm9kZSB0eXBlOlxuICAgICAqIC0gY2F0ZWdvcnkg4oaSIGNhdGVnb3J5Q2xpY2tcbiAgICAgKiAtIGRlZmluaXRpb24g4oaSIHJlcG9ydENsaWNrXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGhhbmRsZU5vZGVDbGljayhldmVudDogQVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBldmVudC5kYXRhIGFzIFRyZWVWaWV3SXRlbTtcblxuICAgICAgICBpZiAobm9kZS50eXBlID09PSAnY2F0ZWdvcnknKSB7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5Q2xpY2suZW1pdChub2RlLml0ZW0gYXMgQVhQUmVwb3J0Q2F0ZWdvcnkpO1xuICAgICAgICB9IGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gJ2RlZmluaXRpb24nKSB7XG4gICAgICAgICAgICB0aGlzLnJlcG9ydENsaWNrLmVtaXQobm9kZS5pdGVtIGFzIEFYUFJlcG9ydERlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59ICIsIjxheC10cmVlLXZpZXdcbiAgW3Nob3dDaGVja2JveF09XCJmYWxzZVwiXG4gIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcbiAgW3RleHRGaWVsZF09XCIndGl0bGUnXCJcbiAgW2hhc0NoaWxkRmllbGRdPVwiJ2hhc0NoaWxkJ1wiXG4gIFt2YWx1ZUZpZWxkXT1cIidpZCdcIlxuICBbZXhwYW5kZWRGaWVsZF09XCInZXhwYW5kZWQnXCJcbiAgW2l0ZW1zXT1cInByb3ZpZGVMYXp5VHJlZVZpZXdcIlxuICAob25Ob2RlQ2xpY2spPVwiaGFuZGxlTm9kZUNsaWNrKCRldmVudClcIlxuPlxuPC9heC10cmVlLXZpZXc+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlIGxldC1pdGVtPlxuICBAaWYgKGl0ZW0udHlwZSA9PT0gJ2NhdGVnb3J5Jykge1xuICAgIDxheC1pY29uIGNsYXNzPVwiZmFzIGF4LXRleHQtd2FybmluZyBmYS1mb2xkZXJcIj48L2F4LWljb24+XG4gIH0gQGVsc2Uge1xuICAgIDxheC1pY29uIGNsYXNzPVwiZmFzIGF4LXRleHQtYWNjZW50MSBmYS1maWxlLWNoYXJ0LWNvbHVtblwiPjwvYXgtaWNvbj5cbiAgfVxuICB7eyBpdGVtLnRpdGxlIH19XG48L25nLXRlbXBsYXRlPlxuIl19","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPReportDefinitionService } from '../../../reports';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPStateMessageComponent, } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { filter, firstValueFrom, startWith } from 'rxjs';\nimport { AXPReportRunnerRootViewModel } from '../report-runner.viewmodel';\nimport { AXPReportCategoriesTreeComponent } from '../report-categories-tree/report-categories-tree.component';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/search-box\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXMReportRunnerRootPageComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.vm = inject(AXPReportRunnerRootViewModel);\n this.layoutService = inject(AXPLayoutThemeService);\n this.activatedRoute = inject(ActivatedRoute);\n this.unsubscribe = inject(AXUnsubscriber);\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n this.workflow = inject(AXPWorkflowService);\n this.router = inject(Router);\n this.baseRoutes = [this.sessionService.application?.name, 'report-management', 'reports'];\n }\n async ngOnInit() {\n await super.ngOnInit();\n //\n this.router.events\n .pipe(this.unsubscribe.takeUntilDestroy, filter((event) => event instanceof NavigationEnd), startWith(null))\n .subscribe(async () => {\n await this.loadFromRoute();\n });\n }\n async loadFromRoute() {\n const snapshot = this.activatedRoute.snapshot;\n const segments = await firstValueFrom(this.activatedRoute.url);\n let categoryId = segments[segments.length - 1]?.path ?? null;\n if (categoryId) {\n await this.vm.setActiveCategoryById(categoryId);\n }\n else {\n await this.vm.loadRootCategories();\n return;\n }\n //\n let reportId = snapshot.queryParamMap.get('report') ?? null;\n if (reportId) {\n // Navigate directly to viewer instead of showing parameters\n await this.navigateToViewer(reportId);\n }\n }\n //#region ---- Event Handlers ----\n /**\n * Handle category selection from tree\n */\n async onCategoryClick(category) {\n await this.navigateToCategory(category);\n }\n /**\n * Handle report selection from tree\n */\n async onReportClick(report) {\n await this.navigateToReport(report);\n }\n /**\n * Navigate directly to report viewer with the selected report\n */\n async navigateToViewer(reportId) {\n const baseViewerRoute = [this.sessionService.application?.name, 'report-management', 'viewer'];\n await this.router.navigate(baseViewerRoute, {\n queryParams: { reportId }\n });\n }\n //#endregion\n async navigateToCategory(category) {\n // Find the path to this category\n const path = await this.reportDefinitionService.getCategoriesPathById(category.id);\n // Find the index of the target category in the path\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n async navigateToReport(report) {\n // Navigate directly to viewer instead of showing parameters in runner\n await this.navigateToViewer(report.id);\n }\n //#region ---- Page Configuration Overrides ----\n async getPageBreadcrumbs() {\n const path = this.vm.activeCategoriesPath();\n const report = {\n name: 'reports',\n title: await this.translateService.translateAsync('@report-management:module.menus.root.title'),\n command: {\n name: 'navigate-to-reports-root',\n },\n };\n if (!path || path.length === 0) {\n return [report];\n }\n const breadcrumbs = [report];\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts = [...urlParts, cat.id];\n breadcrumbs.push({\n name: cat.id,\n title: cat.title,\n command: {\n name: 'navigate-to-category',\n options: {\n category: cat,\n },\n },\n });\n }\n return breadcrumbs;\n }\n async getSecondaryMenuItems() {\n return [];\n }\n async getPageTitle() {\n return this.vm.title();\n }\n async getPageDescription() {\n return this.vm.description();\n }\n async getBackButton() {\n const categoriesPath = this.vm.activeCategoriesPath();\n if (!categoriesPath || categoriesPath.length === 0) {\n // At root level, no back button\n return null;\n }\n if (categoriesPath.length === 1) {\n // At first level category, back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:module.menus.root.title'),\n };\n }\n // At deeper level, back to parent category\n const parentCategory = categoriesPath[categoriesPath.length - 2];\n return {\n title: parentCategory.title,\n };\n }\n async onBackButtonClick() {\n const categoriesPath = this.vm.activeCategoriesPath();\n if (!categoriesPath || categoriesPath.length <= 1) {\n // Navigate back to reports root\n await this.router.navigate([...this.baseRoutes]);\n }\n else {\n // Navigate to parent category\n const parentCategoriesPath = categoriesPath.slice(0, -1);\n let urlParts = [...this.baseRoutes];\n for (const cat of parentCategoriesPath) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n }\n async execute(command) {\n switch (command.name) {\n case 'navigate-to-category':\n await this.navigateToCategory(command.options?.['category']);\n break;\n case 'navigate-to-reports-root':\n await this.router.navigate([...this.baseRoutes]);\n break;\n case 'create-report':\n await this.workflow.execute('report-create', {\n data: {\n categoryId: this.vm.activeCategory()?.id ?? null,\n },\n });\n break;\n }\n }\n async getPrimaryMenuItems() {\n return [\n {\n title: '@general:actions.create.title',\n icon: 'fa-light fa-plus',\n color: 'primary',\n command: {\n name: 'create-report',\n },\n },\n ];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReportRunnerRootPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXMReportRunnerRootPageComponent, isStandalone: true, selector: \"ng-component\", host: { classAttribute: \"axp-report-runner-root-page\" }, providers: [\n AXUnsubscriber,\n AXPReportRunnerRootViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMReportRunnerRootPageComponent,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.showSideMenu()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>{{ t('@report-management:report-runner.terms.menu-title') | async }}</axp-layout-title>\\n <axp-layout-toolbar>\\n <ax-search-box\\n [delayTime]=\\\"300\\\"\\n [ngModel]=\\\"vm.searchExpression()\\\"\\n (onValueChanged)=\\\"vm.search($event.value)\\\"\\n [placeholder]=\\\"t('@report-management:report-runner.terms.search-placeholder') | async\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </axp-layout-toolbar>\\n </axp-layout-header>\\n <axp-layout-content>\\n <axp-report-categories-tree (categoryClick)=\\\"onCategoryClick($event)\\\" (reportClick)=\\\"onReportClick($event)\\\" />\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-content>\\n <!-- Desktop and Mobile: Always show desktop template -->\\n <ng-container *ngTemplateOutlet=\\\"desktop\\\"> </ng-container>\\n </axp-page-content>\\n\\n <!-- Desktop: Grid-based browser for main content -->\\n <ng-template #desktop>\\n <div class=\\\"__reports-browser\\\">\\n @if (vm.categories().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Categories</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (category of vm.categories(); track category.id) {\\n <div class=\\\"__item __category\\\" (click)=\\\"navigateToCategory(category)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-folder\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ category.title }}</div>\\n @if (category.description) {\\n <div class=\\\"__item-description\\\">{{ category.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.reports().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Reports</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (report of vm.reports(); track report.id) {\\n <div class=\\\"__item __report\\\" (click)=\\\"navigateToReport(report)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-file-chart-column\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ report.title }}</div>\\n @if (report.description) {\\n <div class=\\\"__item-description\\\">{{ report.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\\n <axp-state-message\\n icon=\\\"fa-light fa-folder-open\\\"\\n [title]=\\\"'@report-management:report-runner.components.report-runner.empty-states.no-items-found.title'\\\"\\n [description]=\\\"'@report-management:report-runner.components.report-runner.empty-states.no-items-found.description'\\\"\\n >\\n </axp-state-message>\\n }\\n </div>\\n </ng-template>\\n</axp-page-layout>\\n\", styles: [\".axp-report-runner-root-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-runner-root-page axp-layout-start-side{width:24rem}}.axp-report-runner-root-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding-left:1rem;padding-right:1rem}.axp-report-runner-root-page .__reports-browser>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser{padding:.75rem}@media (min-width: 1024px){.axp-report-runner-root-page .__reports-browser{padding:1.5rem}}.axp-report-runner-root-page .__reports-browser .__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser .__section .__section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-runner-root-page .__reports-browser .__section .__section-title ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1536px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 2560px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{cursor:pointer;border-radius:.5rem;border-width:1px;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{display:flex;align-items:flex-start;gap:.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.25rem;font-size:1.125rem;line-height:1.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content{min-width:0px;flex:1 1 0%}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-description{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon{background-color:rgba(var(--ax-sys-color-warning-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-warning-500),.05)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon{background-color:rgba(var(--ax-sys-color-primary-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-primary-500),.05)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: \n //\n AXSearchBoxModule }, { kind: \"component\", type: i3.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\", \"autoSearch\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i5.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"component\", type: \n //\n AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPThemeLayoutToolbarComponent, selector: \"axp-layout-toolbar\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"component\", type: \n //\n AXPReportCategoriesTreeComponent, selector: \"axp-report-categories-tree\", outputs: [\"categoryClick\", \"reportClick\"] }, { kind: \"component\", type: AXPStateMessageComponent, selector: \"axp-state-message\", inputs: [\"mode\", \"icon\", \"title\", \"description\", \"variant\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReportRunnerRootPageComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n //\n AXSearchBoxModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXTranslationModule,\n AXButtonModule,\n AXTabsModule,\n AXBadgeModule,\n AXLoadingModule,\n AXDropdownButtonModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutToolbarComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n //\n AXPReportCategoriesTreeComponent,\n AXPStateMessageComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n AXUnsubscriber,\n AXPReportRunnerRootViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMReportRunnerRootPageComponent,\n },\n ], host: { class: 'axp-report-runner-root-page' }, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.showSideMenu()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>{{ t('@report-management:report-runner.terms.menu-title') | async }}</axp-layout-title>\\n <axp-layout-toolbar>\\n <ax-search-box\\n [delayTime]=\\\"300\\\"\\n [ngModel]=\\\"vm.searchExpression()\\\"\\n (onValueChanged)=\\\"vm.search($event.value)\\\"\\n [placeholder]=\\\"t('@report-management:report-runner.terms.search-placeholder') | async\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </axp-layout-toolbar>\\n </axp-layout-header>\\n <axp-layout-content>\\n <axp-report-categories-tree (categoryClick)=\\\"onCategoryClick($event)\\\" (reportClick)=\\\"onReportClick($event)\\\" />\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-content>\\n <!-- Desktop and Mobile: Always show desktop template -->\\n <ng-container *ngTemplateOutlet=\\\"desktop\\\"> </ng-container>\\n </axp-page-content>\\n\\n <!-- Desktop: Grid-based browser for main content -->\\n <ng-template #desktop>\\n <div class=\\\"__reports-browser\\\">\\n @if (vm.categories().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Categories</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (category of vm.categories(); track category.id) {\\n <div class=\\\"__item __category\\\" (click)=\\\"navigateToCategory(category)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-folder\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ category.title }}</div>\\n @if (category.description) {\\n <div class=\\\"__item-description\\\">{{ category.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.reports().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Reports</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (report of vm.reports(); track report.id) {\\n <div class=\\\"__item __report\\\" (click)=\\\"navigateToReport(report)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-file-chart-column\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ report.title }}</div>\\n @if (report.description) {\\n <div class=\\\"__item-description\\\">{{ report.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\\n <axp-state-message\\n icon=\\\"fa-light fa-folder-open\\\"\\n [title]=\\\"'@report-management:report-runner.components.report-runner.empty-states.no-items-found.title'\\\"\\n [description]=\\\"'@report-management:report-runner.components.report-runner.empty-states.no-items-found.description'\\\"\\n >\\n </axp-state-message>\\n }\\n </div>\\n </ng-template>\\n</axp-page-layout>\\n\", styles: [\".axp-report-runner-root-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-runner-root-page axp-layout-start-side{width:24rem}}.axp-report-runner-root-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding-left:1rem;padding-right:1rem}.axp-report-runner-root-page .__reports-browser>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser{padding:.75rem}@media (min-width: 1024px){.axp-report-runner-root-page .__reports-browser{padding:1.5rem}}.axp-report-runner-root-page .__reports-browser .__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser .__section .__section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-runner-root-page .__reports-browser .__section .__section-title ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1536px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 2560px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{cursor:pointer;border-radius:.5rem;border-width:1px;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{display:flex;align-items:flex-start;gap:.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.25rem;font-size:1.125rem;line-height:1.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content{min-width:0px;flex:1 1 0%}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-description{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon{background-color:rgba(var(--ax-sys-color-warning-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-warning-500),.05)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon{background-color:rgba(var(--ax-sys-color-primary-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-primary-500),.05)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJ1bm5lci1yb290LXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXJ1bm5lci9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUEwQywwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFD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c0JBQXNCO3dCQUN0QixFQUFFO3dCQUNGLHNCQUFzQjt3QkFDdEIsNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFDN0IsZ0NBQWdDO3dCQUNoQyxFQUFFO3dCQUNGLGdDQUFnQzt3QkFDaEMsd0JBQXdCO3FCQUMzQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDUCxjQUFjO3dCQUNkLDRCQUE0Qjt3QkFDNUI7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxrQ0FBa0M7eUJBQ2hEO3FCQUNKLFFBQ0ssRUFBRSxLQUFLLEVBQUUsNkJBQTZCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bi1idXR0b24nO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VhcmNoLWJveCc7XG5pbXBvcnQgeyBBWFRhYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEFYUFJlcG9ydENhdGVnb3J5LCBBWFBSZXBvcnREZWZpbml0aW9uLCBBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3JlcG9ydHMnO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJhY2tCdXR0b24sIEFYUEJyZWFkY3J1bWJJdGVtLCBBWFBFeGVjdXRlQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQge1xuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRIZWFkZXJDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRUb29sYmFyQ29tcG9uZW50LFxuICAgIEFYUFN0YXRlTWVzc2FnZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWFBQYWdlTGF5b3V0QmFzZSwgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQsIEFYUFBhZ2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC92aWV3cyc7XG5pbXBvcnQgeyBBWFBMYXlvdXRUaGVtZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3RoZW1lcy9zaGFyZWQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3RWYWx1ZUZyb20sIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQUmVwb3J0UnVubmVyUm9vdFZpZXdNb2RlbCB9IGZyb20gJy4uL3JlcG9ydC1ydW5uZXIudmlld21vZGVsJztcbmltcG9ydCB7IEFYUFJlcG9ydENhdGVnb3JpZXNUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS9yZXBvcnQtY2F0ZWdvcmllcy10cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb25zdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIC8vXG4gICAgICAgIEFYU2VhcmNoQm94TW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhCcmVhZGNydW1ic01vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgICAgIEFYVGFic01vZHVsZSxcbiAgICAgICAgQVhCYWRnZU1vZHVsZSxcbiAgICAgICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgICAgICBBWERyb3Bkb3duQnV0dG9uTW9kdWxlLFxuICAgICAgICAvL1xuICAgICAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgICAgICBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50LFxuICAgICAgICBBWFBUaGVtZUxheW91dFRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBBWFBUaGVtZUxheW91dFN0YXJ0U2lkZUNvbXBvbmVudCxcbiAgICAgICAgLy9cbiAgICAgICAgQVhQUmVwb3J0Q2F0ZWdvcmllc1RyZWVDb21wb25lbnQsXG4gICAgICAgIEFYUFN0YXRlTWVzc2FnZUNvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBBWFVuc3Vic2NyaWJlcixcbiAgICAgICAgQVhQUmVwb3J0UnVubmVyUm9vdFZpZXdNb2RlbCxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhQUGFnZUxheW91dEJhc2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQVhNUmVwb3J0UnVubmVyUm9vdFBhZ2VDb21wb25lbnQsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7IGNsYXNzOiAnYXhwLXJlcG9ydC1ydW5uZXItcm9vdC1wYWdlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWE1SZXBvcnRSdW5uZXJSb290UGFnZUNvbXBvbmVudCBleHRlbmRzIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50IHtcbiAgICBwcm90ZWN0ZWQgdm0gPSBpbmplY3QoQVhQUmVwb3J0UnVubmVyUm9vdFZpZXdNb2RlbCk7XG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGxheW91dFNlcnZpY2UgPSBpbmplY3QoQVhQTGF5b3V0VGhlbWVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcbiAgICBwcml2YXRlIHJlcG9ydERlZmluaXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gICAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICAgIHByaXZhdGUgYmFzZVJvdXRlcyA9IFt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lLCAncmVwb3J0LW1hbmFnZW1lbnQnLCAncmVwb3J0cyddO1xuXG4gICAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIC8vXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZS50YWtlVW50aWxEZXN0cm95LFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkRnJvbVJvdXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGxvYWRGcm9tUm91dGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdDtcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFjdGl2YXRlZFJvdXRlLnVybCk7XG5cbiAgICAgICAgbGV0IGNhdGVnb3J5SWQgPSBzZWdtZW50c1tzZWdtZW50cy5sZW5ndGggLSAxXT8ucGF0aCA/PyBudWxsO1xuICAgICAgICBpZiAoY2F0ZWdvcnlJZCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy52bS5zZXRBY3RpdmVDYXRlZ29yeUJ5SWQoY2F0ZWdvcnlJZCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnZtLmxvYWRSb290Q2F0ZWdvcmllcygpO1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgLy9cblxuICAgICAgICBsZXQgcmVwb3J0SWQgPSBzbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgncmVwb3J0JykgPz8gbnVsbDtcblxuICAgICAgICBpZiAocmVwb3J0SWQpIHtcbiAgICAgICAgICAgIC8vIE5hdmlnYXRlIGRpcmVjdGx5IHRvIHZpZXdlciBpbnN0ZWFkIG9mIHNob3dpbmcgcGFyYW1ldGVyc1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5uYXZpZ2F0ZVRvVmlld2VyKHJlcG9ydElkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgRXZlbnQgSGFuZGxlcnMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgY2F0ZWdvcnkgc2VsZWN0aW9uIGZyb20gdHJlZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhc3luYyBvbkNhdGVnb3J5Q2xpY2soY2F0ZWdvcnk6IEFYUFJlcG9ydENhdGVnb3J5KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUb0NhdGVnb3J5KGNhdGVnb3J5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgcmVwb3J0IHNlbGVjdGlvbiBmcm9tIHRyZWVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXN5bmMgb25SZXBvcnRDbGljayhyZXBvcnQ6IEFYUFJlcG9ydERlZmluaXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5uYXZpZ2F0ZVRvUmVwb3J0KHJlcG9ydCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmF2aWdhdGUgZGlyZWN0bHkgdG8gcmVwb3J0IHZpZXdlciB3aXRoIHRoZSBzZWxlY3RlZCByZXBvcnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGFzeW5jIG5hdmlnYXRlVG9WaWV3ZXIocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBiYXNlVmlld2VyUm91dGUgPSBbdGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZSwgJ3JlcG9ydC1tYW5hZ2VtZW50JywgJ3ZpZXdlciddO1xuICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShiYXNlVmlld2VyUm91dGUsIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IHJlcG9ydElkIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbmF2aWdhdGVUb0NhdGVnb3J5KGNhdGVnb3J5OiBBWFBSZXBvcnRDYXRlZ29yeSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBGaW5kIHRoZSBwYXRoIHRvIHRoaXMgY2F0ZWdvcnlcbiAgICAgICAgY29uc3QgcGF0aCA9IGF3YWl0IHRoaXMucmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllc1BhdGhCeUlkKGNhdGVnb3J5LmlkKTtcbiAgICAgICAgLy8gRmluZCB0aGUgaW5kZXggb2YgdGhlIHRhcmdldCBjYXRlZ29yeSBpbiB0aGUgcGF0aFxuICAgICAgICBsZXQgdXJsUGFydHMgPSBbLi4udGhpcy5iYXNlUm91dGVzXTtcbiAgICAgICAgZm9yIChjb25zdCBjYXQgb2YgcGF0aCkge1xuICAgICAgICAgICAgdXJsUGFydHMucHVzaChjYXQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKHVybFBhcnRzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbmF2aWdhdGVUb1JlcG9ydChyZXBvcnQ6IEFYUFJlcG9ydERlZmluaXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gTmF2aWdhdGUgZGlyZWN0bHkgdG8gdmlld2VyIGluc3RlYWQgb2Ygc2hvd2luZyBwYXJhbWV0ZXJzIGluIHJ1bm5lclxuICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG9WaWV3ZXIocmVwb3J0LmlkKTtcbiAgICB9XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFBhZ2UgQ29uZmlndXJhdGlvbiBPdmVycmlkZXMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZUJyZWFkY3J1bWJzKCk6IFByb21pc2U8QVhQQnJlYWRjcnVtYkl0ZW1bXT4ge1xuICAgICAgICBjb25zdCBwYXRoID0gdGhpcy52bS5hY3RpdmVDYXRlZ29yaWVzUGF0aCgpO1xuICAgICAgICBjb25zdCByZXBvcnQgPSB7XG4gICAgICAgICAgICBuYW1lOiAncmVwb3J0cycsXG4gICAgICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAcmVwb3J0LW1hbmFnZW1lbnQ6bW9kdWxlLm1lbnVzLnJvb3QudGl0bGUnKSxcbiAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnbmF2aWdhdGUtdG8tcmVwb3J0cy1yb290JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIGlmICghcGF0aCB8fCBwYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFtyZXBvcnRdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBBWFBCcmVhZGNydW1iSXRlbVtdID0gW3JlcG9ydF07XG4gICAgICAgIGxldCB1cmxQYXJ0cyA9IFsuLi50aGlzLmJhc2VSb3V0ZXNdO1xuICAgICAgICBmb3IgKGNvbnN0IGNhdCBvZiBwYXRoKSB7XG4gICAgICAgICAgICB1cmxQYXJ0cyA9IFsuLi51cmxQYXJ0cywgY2F0LmlkXTtcbiAgICAgICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6IGNhdC5pZCxcbiAgICAgICAgICAgICAgICB0aXRsZTogY2F0LnRpdGxlLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ25hdmlnYXRlLXRvLWNhdGVnb3J5JyxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnk6IGNhdCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VUaXRsZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy52bS50aXRsZSgpITtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBhc3luYyBnZXRQYWdlRGVzY3JpcHRpb24oKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZtLmRlc2NyaXB0aW9uKCkhO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGdldEJhY2tCdXR0b24oKTogUHJvbWlzZTxBWFBCYWNrQnV0dG9uIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBjYXRlZ29yaWVzUGF0aCA9IHRoaXMudm0uYWN0aXZlQ2F0ZWdvcmllc1BhdGgoKTtcblxuICAgICAgICBpZiAoIWNhdGVnb3JpZXNQYXRoIHx8IGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgLy8gQXQgcm9vdCBsZXZlbCwgbm8gYmFjayBidXR0b25cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgLy8gQXQgZmlyc3QgbGV2ZWwgY2F0ZWdvcnksIGJhY2sgdG8gcmVwb3J0cyByb290XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDptb2R1bGUubWVudXMucm9vdC50aXRsZScpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEF0IGRlZXBlciBsZXZlbCwgYmFjayB0byBwYXJlbnQgY2F0ZWdvcnlcbiAgICAgICAgY29uc3QgcGFyZW50Q2F0ZWdvcnkgPSBjYXRlZ29yaWVzUGF0aFtjYXRlZ29yaWVzUGF0aC5sZW5ndGggLSAyXTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRpdGxlOiBwYXJlbnRDYXRlZ29yeS50aXRsZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBhc3luYyBvbkJhY2tCdXR0b25DbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgY2F0ZWdvcmllc1BhdGggPSB0aGlzLnZtLmFjdGl2ZUNhdGVnb3JpZXNQYXRoKCk7XG5cbiAgICAgICAgaWYgKCFjYXRlZ29yaWVzUGF0aCB8fCBjYXRlZ29yaWVzUGF0aC5sZW5ndGggPD0gMSkge1xuICAgICAgICAgICAgLy8gTmF2aWdhdGUgYmFjayB0byByZXBvcnRzIHJvb3RcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFsuLi50aGlzLmJhc2VSb3V0ZXNdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIE5hdmlnYXRlIHRvIHBhcmVudCBjYXRlZ29yeVxuICAgICAgICAgICAgY29uc3QgcGFyZW50Q2F0ZWdvcmllc1BhdGggPSBjYXRlZ29yaWVzUGF0aC5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICBsZXQgdXJsUGFydHMgPSBbLi4udGhpcy5iYXNlUm91dGVzXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2F0IG9mIHBhcmVudENhdGVnb3JpZXNQYXRoKSB7XG4gICAgICAgICAgICAgICAgdXJsUGFydHMucHVzaChjYXQuaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUodXJsUGFydHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb21tYW5kOiBBWFBFeGVjdXRlQ29tbWFuZCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBzd2l0Y2ggKGNvbW1hbmQubmFtZSkge1xuICAgICAgICAgICAgY2FzZSAnbmF2aWdhdGUtdG8tY2F0ZWdvcnknOlxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUb0NhdGVnb3J5KGNvbW1hbmQub3B0aW9ucz8uWydjYXRlZ29yeSddIGFzIEFYUFJlcG9ydENhdGVnb3J5KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ25hdmlnYXRlLXRvLXJlcG9ydHMtcm9vdCc6XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWy4uLnRoaXMuYmFzZVJvdXRlc10pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnY3JlYXRlLXJlcG9ydCc6XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdyZXBvcnQtY3JlYXRlJywge1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeUlkOiB0aGlzLnZtLmFjdGl2ZUNhdGVnb3J5KCk/LmlkID8/IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBhc3luYyBnZXRQcmltYXJ5TWVudUl0ZW1zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5jcmVhdGUudGl0bGUnLFxuICAgICAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1wbHVzJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NyZWF0ZS1yZXBvcnQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxufVxuIiwiPGF4cC1wYWdlLWxheW91dCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgQGlmICh2bS5zaG93U2lkZU1lbnUoKSkge1xuICAgIDxheHAtbGF5b3V0LXN0YXJ0LXNpZGU+XG4gICAgICA8YXhwLWxheW91dC1oZWFkZXI+XG4gICAgICAgIDxheHAtbGF5b3V0LXRpdGxlPnt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpyZXBvcnQtcnVubmVyLnRlcm1zLm1lbnUtdGl0bGUnKSB8IGFzeW5jIH19PC9heHAtbGF5b3V0LXRpdGxlPlxuICAgICAgICA8YXhwLWxheW91dC10b29sYmFyPlxuICAgICAgICAgIDxheC1zZWFyY2gtYm94XG4gICAgICAgICAgICBbZGVsYXlUaW1lXT1cIjMwMFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJ2bS5zZWFyY2hFeHByZXNzaW9uKClcIlxuICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cInZtLnNlYXJjaCgkZXZlbnQudmFsdWUpXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6cmVwb3J0LXJ1bm5lci50ZXJtcy5zZWFyY2gtcGxhY2Vob2xkZXInKSB8IGFzeW5jXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICAgICAgICAgIDwvYXgtc2VhcmNoLWJveD5cbiAgICAgICAgPC9heHAtbGF5b3V0LXRvb2xiYXI+XG4gICAgICA8L2F4cC1sYXlvdXQtaGVhZGVyPlxuICAgICAgPGF4cC1sYXlvdXQtY29udGVudD5cbiAgICAgICAgPGF4cC1yZXBvcnQtY2F0ZWdvcmllcy10cmVlIChjYXRlZ29yeUNsaWNrKT1cIm9uQ2F0ZWdvcnlDbGljaygkZXZlbnQpXCIgKHJlcG9ydENsaWNrKT1cIm9uUmVwb3J0Q2xpY2soJGV2ZW50KVwiIC8+XG4gICAgICA8L2F4cC1sYXlvdXQtY29udGVudD5cbiAgICA8L2F4cC1sYXlvdXQtc3RhcnQtc2lkZT5cbiAgfVxuXG4gIDxheHAtcGFnZS1jb250ZW50PlxuICAgIDwhLS0gRGVza3RvcCBhbmQgTW9iaWxlOiBBbHdheXMgc2hvdyBkZXNrdG9wIHRlbXBsYXRlIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZXNrdG9wXCI+IDwvbmctY29udGFpbmVyPlxuICA8L2F4cC1wYWdlLWNvbnRlbnQ+XG5cbiAgPCEtLSBEZXNrdG9wOiBHcmlkLWJhc2VkIGJyb3dzZXIgZm9yIG1haW4gY29udGVudCAtLT5cbiAgPG5nLXRlbXBsYXRlICNkZXNrdG9wPlxuICAgIDxkaXYgY2xhc3M9XCJfX3JlcG9ydHMtYnJvd3NlclwiPlxuICAgICAgQGlmICh2bS5jYXRlZ29yaWVzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiX19zZWN0aW9uXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiX19zZWN0aW9uLXRpdGxlXCI+Q2F0ZWdvcmllczwvaDM+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbXMtZ3JpZFwiPlxuICAgICAgICAgICAgQGZvciAoY2F0ZWdvcnkgb2Ygdm0uY2F0ZWdvcmllcygpOyB0cmFjayBjYXRlZ29yeS5pZCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtIF9fY2F0ZWdvcnlcIiAoY2xpY2spPVwibmF2aWdhdGVUb0NhdGVnb3J5KGNhdGVnb3J5KVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2l0ZW0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1mb2xkZXJcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLXRpdGxlXCI+e3sgY2F0ZWdvcnkudGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIEBpZiAoY2F0ZWdvcnkuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbS1kZXNjcmlwdGlvblwiPnt7IGNhdGVnb3J5LmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgQGlmICh2bS5yZXBvcnRzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiX19zZWN0aW9uXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiX19zZWN0aW9uLXRpdGxlXCI+UmVwb3J0czwvaDM+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbXMtZ3JpZFwiPlxuICAgICAgICAgICAgQGZvciAocmVwb3J0IG9mIHZtLnJlcG9ydHMoKTsgdHJhY2sgcmVwb3J0LmlkKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2l0ZW0gX19yZXBvcnRcIiAoY2xpY2spPVwibmF2aWdhdGVUb1JlcG9ydChyZXBvcnQpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWZpbGUtY2hhcnQtY29sdW1uXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2l0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbS10aXRsZVwiPnt7IHJlcG9ydC50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgQGlmIChyZXBvcnQuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbS1kZXNjcmlwdGlvblwiPnt7IHJlcG9ydC5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBpZiAodm0uY2F0ZWdvcmllcygpLmxlbmd0aCA9PT0gMCAmJiB2bS5yZXBvcnRzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIDxheHAtc3RhdGUtbWVzc2FnZVxuICAgICAgICAgIGljb249XCJmYS1saWdodCBmYS1mb2xkZXItb3BlblwiXG4gICAgICAgICAgW3RpdGxlXT1cIidAcmVwb3J0LW1hbmFnZW1lbnQ6cmVwb3J0LXJ1bm5lci5jb21wb25lbnRzLnJlcG9ydC1ydW5uZXIuZW1wdHktc3RhdGVzLm5vLWl0ZW1zLWZvdW5kLnRpdGxlJ1wiXG4gICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIidAcmVwb3J0LW1hbmFnZW1lbnQ6cmVwb3J0LXJ1bm5lci5jb21wb25lbnRzLnJlcG9ydC1ydW5uZXIuZW1wdHktc3RhdGVzLm5vLWl0ZW1zLWZvdW5kLmRlc2NyaXB0aW9uJ1wiXG4gICAgICAgID5cbiAgICAgICAgPC9heHAtc3RhdGUtbWVzc2FnZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvYXhwLXBhZ2UtbGF5b3V0PlxuIl19"],"names":["i1","i2","i3","i4","i5"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-settings-management-acorex-modules-settings-management-DTjfgbLU.mjs","sources":["../tmp-esm2022/settings-management/lib/features/settings/convert-setting-data.js","../tmp-esm2022/settings-management/lib/features/settings/settings.viewmodel.js","../tmp-esm2022/settings-management/lib/features/settings/search-definition.provider.js","../tmp-esm2022/settings-management/lib/features/settings/search.provider.js","../tmp-esm2022/settings-management/lib/menu.keys.js","../tmp-esm2022/settings-management/lib/permission.keys.js","../tmp-esm2022/settings-management/lib/menu.provider.js","../tmp-esm2022/settings-management/lib/settings-management.module.js","../tmp-esm2022/settings-management/acorex-modules-settings-management.js"],"sourcesContent":["export function searchSettings(groups, search) {\n const sectionMatchResult = [];\n const settingMatchResult = [];\n const processedGroups = new Set();\n const createGroupIdentifier = (group) => `${group.name}-${group.title}`;\n const addGroupToResult = (group, sections, resultArray) => {\n const groupId = createGroupIdentifier(group);\n if (!processedGroups.has(groupId)) {\n resultArray.push({\n ...group,\n sections,\n groups: [], // Exclude nested groups\n });\n processedGroups.add(groupId);\n }\n };\n const processSections = (group, filterFn) => {\n const matchedSections = group.sections.filter(filterFn);\n if (matchedSections.length > 0) {\n addGroupToResult(group, matchedSections, sectionMatchResult);\n }\n };\n const processSettings = (group, filterFn) => {\n const matchedSections = group.sections\n .map(filterFn)\n .filter((section) => section !== null);\n if (matchedSections.length > 0) {\n addGroupToResult(group, matchedSections, settingMatchResult);\n }\n };\n const sectionMatches = (section) => section.name.toLowerCase().includes(search.toLowerCase()) ||\n section.title.toLowerCase().includes(search.toLowerCase());\n const filterSettings = (section) => {\n const matchedSettings = section.settings.filter((setting) => setting.name.toLowerCase().includes(search.toLowerCase()) ||\n setting.title.toLowerCase().includes(search.toLowerCase()));\n return matchedSettings.length > 0 ? { ...section, settings: matchedSettings } : null;\n };\n const processGroupRecursively = (group) => {\n processSections(group, sectionMatches); // Match sections with all settings\n processSettings(group, filterSettings); // Match settings within sections\n group.groups.forEach(processGroupRecursively); // Recurse into nested groups\n };\n groups.forEach(processGroupRecursively);\n return [...sectionMatchResult, ...settingMatchResult];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC1zZXR0aW5nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvc2V0dGluZ3MtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3NldHRpbmdzL2NvbnZlcnQtc2V0dGluZy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBbUMsRUFBRSxNQUFjO0lBQ2hGLE1BQU0sa0JBQWtCLEdBQWdDLEVBQUUsQ0FBQztJQUMzRCxNQUFNLGtCQUFrQixHQUFnQyxFQUFFLENBQUM7SUFDM0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUUxQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBZ0MsRUFBVSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUUzRyxNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLEtBQWdDLEVBQ2hDLFFBQXVDLEVBQ3ZDLFdBQXdDLEVBQ3hDLEVBQUU7UUFDRixNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2xDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsR0FBRyxLQUFLO2dCQUNSLFFBQVE7Z0JBQ1IsTUFBTSxFQUFFLEVBQUUsRUFBRSx3QkFBd0I7YUFDckMsQ0FBQyxDQUFDO1lBQ0gsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsS0FBZ0MsRUFDaEMsUUFBMkQsRUFDM0QsRUFBRTtRQUNGLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvQixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sZUFBZSxHQUFHLENBQ3RCLEtBQWdDLEVBQ2hDLFFBQXNGLEVBQ3RGLEVBQUU7UUFDRixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsUUFBUTthQUNuQyxHQUFHLENBQUMsUUFBUSxDQUFDO2FBQ2IsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUEwQyxFQUFFLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2pGLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvQixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsT0FBb0MsRUFBVyxFQUFFLENBQ3ZFLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6RCxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUU3RCxNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQW9DLEVBQXNDLEVBQUU7UUFDbEcsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQzdDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDVixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekQsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQzdELENBQUM7UUFDRixPQUFPLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZGLENBQUMsQ0FBQztJQUVGLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFnQyxFQUFFLEVBQUU7UUFDbkUsZUFBZSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLG1DQUFtQztRQUMzRSxlQUFlLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsaUNBQWlDO1FBQ3pFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyw2QkFBNkI7SUFDOUUsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRXhDLE9BQU8sQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztBQUN4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCwgQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hTZXR0aW5ncyhncm91cHM6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSwgc2VhcmNoOiBzdHJpbmcpOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwW10ge1xuICBjb25zdCBzZWN0aW9uTWF0Y2hSZXN1bHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSA9IFtdO1xuICBjb25zdCBzZXR0aW5nTWF0Y2hSZXN1bHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSA9IFtdO1xuICBjb25zdCBwcm9jZXNzZWRHcm91cHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBjb25zdCBjcmVhdGVHcm91cElkZW50aWZpZXIgPSAoZ3JvdXA6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXApOiBzdHJpbmcgPT4gYCR7Z3JvdXAubmFtZX0tJHtncm91cC50aXRsZX1gO1xuXG4gIGNvbnN0IGFkZEdyb3VwVG9SZXN1bHQgPSAoXG4gICAgZ3JvdXA6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXAsXG4gICAgc2VjdGlvbnM6IEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbltdLFxuICAgIHJlc3VsdEFycmF5OiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwW11cbiAgKSA9PiB7XG4gICAgY29uc3QgZ3JvdXBJZCA9IGNyZWF0ZUdyb3VwSWRlbnRpZmllcihncm91cCk7XG4gICAgaWYgKCFwcm9jZXNzZWRHcm91cHMuaGFzKGdyb3VwSWQpKSB7XG4gICAgICByZXN1bHRBcnJheS5wdXNoKHtcbiAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgIHNlY3Rpb25zLFxuICAgICAgICBncm91cHM6IFtdLCAvLyBFeGNsdWRlIG5lc3RlZCBncm91cHNcbiAgICAgIH0pO1xuICAgICAgcHJvY2Vzc2VkR3JvdXBzLmFkZChncm91cElkKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcHJvY2Vzc1NlY3Rpb25zID0gKFxuICAgIGdyb3VwOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwLFxuICAgIGZpbHRlckZuOiAoc2VjdGlvbjogQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uKSA9PiBib29sZWFuXG4gICkgPT4ge1xuICAgIGNvbnN0IG1hdGNoZWRTZWN0aW9ucyA9IGdyb3VwLnNlY3Rpb25zLmZpbHRlcihmaWx0ZXJGbik7XG4gICAgaWYgKG1hdGNoZWRTZWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBhZGRHcm91cFRvUmVzdWx0KGdyb3VwLCBtYXRjaGVkU2VjdGlvbnMsIHNlY3Rpb25NYXRjaFJlc3VsdCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHByb2Nlc3NTZXR0aW5ncyA9IChcbiAgICBncm91cDogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCxcbiAgICBmaWx0ZXJGbjogKHNlY3Rpb246IEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbikgPT4gQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uIHwgbnVsbFxuICApID0+IHtcbiAgICBjb25zdCBtYXRjaGVkU2VjdGlvbnMgPSBncm91cC5zZWN0aW9uc1xuICAgICAgLm1hcChmaWx0ZXJGbilcbiAgICAgIC5maWx0ZXIoKHNlY3Rpb24pOiBzZWN0aW9uIGlzIEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbiA9PiBzZWN0aW9uICE9PSBudWxsKTtcbiAgICBpZiAobWF0Y2hlZFNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGFkZEdyb3VwVG9SZXN1bHQoZ3JvdXAsIG1hdGNoZWRTZWN0aW9ucywgc2V0dGluZ01hdGNoUmVzdWx0KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgc2VjdGlvbk1hdGNoZXMgPSAoc2VjdGlvbjogQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uKTogYm9vbGVhbiA9PlxuICAgIHNlY3Rpb24ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaC50b0xvd2VyQ2FzZSgpKSB8fFxuICAgIHNlY3Rpb24udGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gudG9Mb3dlckNhc2UoKSk7XG5cbiAgY29uc3QgZmlsdGVyU2V0dGluZ3MgPSAoc2VjdGlvbjogQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uKTogQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgbWF0Y2hlZFNldHRpbmdzID0gc2VjdGlvbi5zZXR0aW5ncy5maWx0ZXIoXG4gICAgICAoc2V0dGluZykgPT5cbiAgICAgICAgc2V0dGluZy5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoLnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgICAgIHNldHRpbmcudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gudG9Mb3dlckNhc2UoKSlcbiAgICApO1xuICAgIHJldHVybiBtYXRjaGVkU2V0dGluZ3MubGVuZ3RoID4gMCA/IHsgLi4uc2VjdGlvbiwgc2V0dGluZ3M6IG1hdGNoZWRTZXR0aW5ncyB9IDogbnVsbDtcbiAgfTtcblxuICBjb25zdCBwcm9jZXNzR3JvdXBSZWN1cnNpdmVseSA9IChncm91cDogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCkgPT4ge1xuICAgIHByb2Nlc3NTZWN0aW9ucyhncm91cCwgc2VjdGlvbk1hdGNoZXMpOyAvLyBNYXRjaCBzZWN0aW9ucyB3aXRoIGFsbCBzZXR0aW5nc1xuICAgIHByb2Nlc3NTZXR0aW5ncyhncm91cCwgZmlsdGVyU2V0dGluZ3MpOyAvLyBNYXRjaCBzZXR0aW5ncyB3aXRoaW4gc2VjdGlvbnNcbiAgICBncm91cC5ncm91cHMuZm9yRWFjaChwcm9jZXNzR3JvdXBSZWN1cnNpdmVseSk7IC8vIFJlY3Vyc2UgaW50byBuZXN0ZWQgZ3JvdXBzXG4gIH07XG5cbiAgZ3JvdXBzLmZvckVhY2gocHJvY2Vzc0dyb3VwUmVjdXJzaXZlbHkpO1xuXG4gIHJldHVybiBbLi4uc2VjdGlvbk1hdGNoUmVzdWx0LCAuLi5zZXR0aW5nTWF0Y2hSZXN1bHRdO1xufVxuIl19","import { AXPSettingDefinitionProviderService, AXPSettingService } from \"@acorex/platform/common\";\nimport { AXPPageStatus } from \"@acorex/platform/layout/widget-core\";\nimport { computed, inject } from \"@angular/core\";\nimport { signalStore, withMethods, withComputed, withState, withHooks, patchState } from \"@ngrx/signals\";\nimport { get, isEmpty, isEqual, isNil } from \"lodash-es\";\nimport { filter, merge } from \"rxjs\";\nimport { searchSettings } from \"./convert-setting-data\";\nimport { AXToastService } from \"@acorex/components/toast\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { resolvePlatformScopeName } from \"@acorex/platform/core\";\nimport { AXLocaleService } from \"@acorex/core/locale\";\nimport { AXPLayoutThemeService } from \"@acorex/platform/themes/shared\";\nexport const AXPSettingsViewModel = signalStore(withState(() => ({\n groups: [],\n activateGroup: undefined,\n scope: 'U',\n //\n searchExpression: null,\n //\n previousContext: {},\n context: {},\n //\n status: AXPPageStatus.Processing,\n form: null,\n})), withComputed((store, layout = inject(AXPLayoutThemeService)) => ({\n searchResults: computed(() => searchSettings(store.groups(), store.searchExpression())),\n hasActivateGroup: computed(() => store.activateGroup() != null),\n showGroups: computed(() => store.activateGroup() != null && layout.isLarge()),\n scopeTitle: computed(() => {\n return `${resolvePlatformScopeName(store.scope())}.title`;\n }),\n scopeDescription: computed(() => {\n return `${resolvePlatformScopeName(store.scope())}.description`;\n }),\n isSearching: computed(() => store.searchExpression() != null),\n isBusy: computed(() => store.status() == AXPPageStatus.Processing),\n isSaving: computed(() => store.status() == AXPPageStatus.Submitting),\n isLoaded: computed(() => store.groups().length > 0),\n})), withMethods((store, settingDefinitionService = inject(AXPSettingDefinitionProviderService), settingValueService = inject(AXPSettingService), toastService = inject(AXToastService), translateService = inject(AXTranslationService)) => ({\n registerForm(form) {\n patchState(store, {\n form: form,\n });\n },\n async load(scope) {\n patchState(store, {\n scope: scope,\n status: AXPPageStatus.Processing,\n });\n //\n const groups = await settingDefinitionService.getListAsync(scope);\n patchState(store, {\n groups: groups,\n });\n const currentContext = await settingValueService.scope(scope).all();\n const defaults = await settingValueService.scope(scope).defaultValues();\n patchState(store, {\n context: { ...defaults, ...currentContext },\n });\n patchState(store, {\n previousContext: store.context(),\n status: AXPPageStatus.Rendered,\n });\n },\n async reload() {\n await settingDefinitionService.reload();\n const groups = await settingDefinitionService.getListAsync(store.scope());\n const oldActivateGroupName = store.activateGroup()?.name;\n patchState(store, {\n groups: groups,\n activateGroup: undefined,\n });\n if (oldActivateGroupName) {\n this.setActivateGroupByName(oldActivateGroupName);\n }\n },\n updateContext(context) {\n patchState(store, {\n context: { ...store.context(), ...context },\n });\n },\n updatePreviousContext(context) {\n patchState(store, {\n previousContext: { ...store.previousContext(), ...context },\n });\n },\n setActivateGroup(group) {\n patchState(store, {\n activateGroup: group,\n });\n },\n unloadActivateGroup() {\n patchState(store, {\n activateGroup: undefined,\n });\n },\n setActivateGroupByName(name) {\n const group = store.groups().find(g => g.name === name);\n if (group) {\n patchState(store, {\n activateGroup: group,\n });\n }\n },\n //\n async search(expression) {\n if (!isNil(expression) && !isEmpty(expression)) {\n patchState(store, {\n searchExpression: expression,\n });\n }\n else {\n patchState(store, {\n searchExpression: null,\n });\n }\n },\n clearSearch() {\n patchState(store, {\n searchExpression: null,\n });\n },\n isDirty() {\n return store.groups()?.some((group) => group.sections.some((sec) => sec.settings.some((setting) => {\n const currentValue = get(store.context(), setting.name);\n const previousValue = get(store.previousContext(), setting.name);\n return !isEqual(currentValue, previousValue);\n }))) || false;\n },\n async apply() {\n try {\n if (await store.form() && this.isDirty()) {\n const form = store.form();\n form.resetErrors();\n //\n patchState(store, {\n status: AXPPageStatus.Submitting,\n });\n const formResult = await form.validate();\n if (!formResult.result) {\n toastService.show({\n color: 'danger',\n title: await translateService.translateAsync('@general:actions.apply.messages.invalid.title'),\n content: await translateService.translateAsync('@general:actions.apply.messages.invalid.message'),\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n patchState(store, {\n status: AXPPageStatus.Error,\n });\n return false;\n }\n await settingValueService.scope(store.scope()).set(store.context());\n // Show success notification\n toastService.show({\n color: 'success',\n title: await translateService.translateAsync('@settings-management:settings.actions.apply.success.title'),\n content: await translateService.translateAsync('@settings-management:settings.actions.apply.success.message'),\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n patchState(store, {\n status: AXPPageStatus.Submitted,\n });\n return true;\n }\n return false;\n }\n catch (error) {\n toastService.show({\n color: 'danger',\n title: await translateService.translateAsync('@settings-management:settings.actions.apply.error.title'),\n content: await translateService.translateAsync('@settings-management:settings.actions.apply.error.message'),\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n patchState(store, {\n status: AXPPageStatus.Error,\n });\n return false;\n }\n },\n async discard() {\n const form = store.form();\n form.resetErrors();\n //\n patchState(store, {\n status: AXPPageStatus.Rendered,\n });\n patchState(store, {\n context: store.previousContext(),\n });\n },\n async resetToDefault() {\n // Update the context with the defaults\n const defaults = await settingValueService.scope(store.scope()).defaultValues();\n patchState(store, {\n context: defaults,\n });\n //\n const result = await this.apply();\n if (!result) {\n this.discard();\n }\n },\n})), withHooks((store, settingValueService = inject(AXPSettingService), translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n //\n settingValueService.onChanged.pipe(filter((c) => c.scope == store.scope())).subscribe((e) => {\n e.keys.forEach((k) => {\n const currentValue = e.values[k];\n const contextValue = get(store.context(), k);\n const previousValue = get(store.previousContext(), k);\n // Update only if there are actual changes\n if (!isEqual(previousValue, currentValue) || !isEqual(currentValue, contextValue)) {\n patchState(store, {\n previousContext: {\n ...store.previousContext(),\n [k]: currentValue,\n }\n });\n patchState(store, {\n context: {\n ...store.context(),\n [k]: currentValue,\n }\n });\n }\n });\n });\n //\n merge(translationService.langChanges$, localeService.profileChanged$).subscribe(async () => {\n if (store.isLoaded()) {\n await store.reload();\n }\n });\n },\n onDestroy() { },\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mudmlld21vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3NldHRpbmdzLW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9zZXR0aW5ncy9zZXR0aW5ncy52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE2QixtQ0FBbUMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBdUIsd0JBQXdCLEVBQW9CLE1BQU0sdUJBQXVCLENBQUM7QUFDeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSXZFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFdBQVcsQ0FDM0MsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFD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eUJBQ3BCO3FCQUNKLENBQUMsQ0FBQztnQkFDUCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUU7UUFDRixLQUFLLENBQ0Qsa0JBQWtCLENBQUMsWUFBWSxFQUMvQixhQUFhLENBQUMsZUFBZSxDQUNoQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNuQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDO0lBQ0QsU0FBUyxLQUFLLENBQUM7Q0FDbEIsQ0FBQyxDQUFDLENBRU4sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXAsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlLCBBWFBTZXR0aW5nU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQUGFnZVN0YXR1cyB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZVwiO1xuaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBzaWduYWxTdG9yZSwgd2l0aE1ldGhvZHMsIHdpdGhDb21wdXRlZCwgd2l0aFN0YXRlLCB3aXRoSG9va3MsIHBhdGNoU3RhdGUgfSBmcm9tIFwiQG5ncngvc2lnbmFsc1wiO1xuaW1wb3J0IHsgZ2V0LCBpc0VtcHR5LCBpc0VxdWFsLCBpc05pbCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IGZpbHRlciwgbWVyZ2UgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgc2VhcmNoU2V0dGluZ3MgfSBmcm9tIFwiLi9jb252ZXJ0LXNldHRpbmctZGF0YVwiO1xuaW1wb3J0IHsgQVhGb3JtQ29tcG9uZW50IH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9mb3JtXCI7XG5pbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3RcIjtcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS90cmFuc2xhdGlvblwiO1xuaW1wb3J0IHsgQVhQUGxhdGZvcm1TY29wZUtleSwgcmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lLCBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuaW1wb3J0IHsgQVhMb2NhbGVTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9sb2NhbGVcIjtcbmltcG9ydCB7IEFYUExheW91dFRoZW1lU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3RoZW1lcy9zaGFyZWRcIjtcblxuXG5cbmV4cG9ydCBjb25zdCBBWFBTZXR0aW5nc1ZpZXdNb2RlbCA9IHNpZ25hbFN0b3JlKFxuICAgIHdpdGhTdGF0ZSgoKSA9PiAoe1xuICAgICAgICBncm91cHM6IFtdIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSxcbiAgICAgICAgYWN0aXZhdGVHcm91cDogdW5kZWZpbmVkIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXAgfCB1bmRlZmluZWQsXG4gICAgICAgIHNjb3BlOiAnVScgYXMgQVhQUGxhdGZvcm1TY29wZUtleSxcbiAgICAgICAgLy9cbiAgICAgICAgc2VhcmNoRXhwcmVzc2lvbjogbnVsbCBhcyBzdHJpbmcgfCBudWxsLFxuICAgICAgICAvL1xuICAgICAgICBwcmV2aW91c0NvbnRleHQ6IHt9IGFzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgICAgIGNvbnRleHQ6IHt9IGFzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgICAgIC8vXG4gICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nLFxuICAgICAgICBmb3JtOiBudWxsIGFzIEFYRm9ybUNvbXBvbmVudCB8IG51bGwsXG4gICAgfSkpLFxuICAgIHdpdGhDb21wdXRlZCgoc3RvcmUsIGxheW91dCA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpKSA9PiAoe1xuICAgICAgICBzZWFyY2hSZXN1bHRzOiBjb21wdXRlZCgoKSA9PiBzZWFyY2hTZXR0aW5ncyhzdG9yZS5ncm91cHMoKSwgc3RvcmUuc2VhcmNoRXhwcmVzc2lvbigpISkpLFxuICAgICAgICBoYXNBY3RpdmF0ZUdyb3VwOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5hY3RpdmF0ZUdyb3VwKCkgIT0gbnVsbCksXG4gICAgICAgIHNob3dHcm91cHM6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmFjdGl2YXRlR3JvdXAoKSAhPSBudWxsICYmIGxheW91dC5pc0xhcmdlKCkpLFxuICAgICAgICBzY29wZVRpdGxlOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7cmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHN0b3JlLnNjb3BlKCkpfS50aXRsZWA7XG4gICAgICAgIH0pLFxuICAgICAgICBzY29wZURlc2NyaXB0aW9uOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7cmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHN0b3JlLnNjb3BlKCkpfS5kZXNjcmlwdGlvbmA7XG4gICAgICAgIH0pLFxuICAgICAgICBpc1NlYXJjaGluZzogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc2VhcmNoRXhwcmVzc2lvbigpICE9IG51bGwpLFxuICAgICAgICBpc0J1c3k6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnN0YXR1cygpID09IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyksXG4gICAgICAgIGlzU2F2aW5nOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5zdGF0dXMoKSA9PSBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmcpLFxuICAgICAgICBpc0xvYWRlZDogY29tcHV0ZWQoKCkgPT4gc3RvcmUuZ3JvdXBzKCkubGVuZ3RoID4gMCksXG4gICAgfSkpLFxuICAgIHdpdGhNZXRob2RzKFxuICAgICAgICAoc3RvcmUsXG4gICAgICAgICAgICBzZXR0aW5nRGVmaW5pdGlvblNlcnZpY2UgPSBpbmplY3QoQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlclNlcnZpY2UpLFxuICAgICAgICAgICAgc2V0dGluZ1ZhbHVlU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSksXG4gICAgICAgICAgICB0b2FzdFNlcnZpY2UgPSBpbmplY3QoQVhUb2FzdFNlcnZpY2UpLFxuICAgICAgICAgICAgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSksXG5cbiAgICAgICAgKSA9PiAoe1xuICAgICAgICAgICAgcmVnaXN0ZXJGb3JtKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9ybTogZm9ybSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFzeW5jIGxvYWQoc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGVLZXkpIHtcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBzY29wZSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwcyA9IGF3YWl0IHNldHRpbmdEZWZpbml0aW9uU2VydmljZS5nZXRMaXN0QXN5bmMoc2NvcGUpO1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBzOiBncm91cHMsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50Q29udGV4dCA9IGF3YWl0IHNldHRpbmdWYWx1ZVNlcnZpY2Uuc2NvcGUoc2NvcGUgYXMgQVhQUGxhdGZvcm1TY29wZSkuYWxsKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdHMgPSBhd2FpdCBzZXR0aW5nVmFsdWVTZXJ2aWNlLnNjb3BlKHNjb3BlIGFzIEFYUFBsYXRmb3JtU2NvcGUpLmRlZmF1bHRWYWx1ZXMoKTtcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgLi4uZGVmYXVsdHMsIC4uLmN1cnJlbnRDb250ZXh0IH0sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQ29udGV4dDogc3RvcmUuY29udGV4dCgpLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUmVuZGVyZWQsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhc3luYyByZWxvYWQoKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgc2V0dGluZ0RlZmluaXRpb25TZXJ2aWNlLnJlbG9hZCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwcyA9IGF3YWl0IHNldHRpbmdEZWZpbml0aW9uU2VydmljZS5nZXRMaXN0QXN5bmMoc3RvcmUuc2NvcGUoKSk7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkQWN0aXZhdGVHcm91cE5hbWUgPSBzdG9yZS5hY3RpdmF0ZUdyb3VwKCk/Lm5hbWU7XG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBncm91cHM6IGdyb3VwcyxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVHcm91cDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgaWYgKG9sZEFjdGl2YXRlR3JvdXBOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZhdGVHcm91cEJ5TmFtZShvbGRBY3RpdmF0ZUdyb3VwTmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVwZGF0ZUNvbnRleHQoY29udGV4dDogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAuLi5zdG9yZS5jb250ZXh0KCksIC4uLmNvbnRleHQgfSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVwZGF0ZVByZXZpb3VzQ29udGV4dChjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0NvbnRleHQ6IHsgLi4uc3RvcmUucHJldmlvdXNDb250ZXh0KCksIC4uLmNvbnRleHQgfSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldEFjdGl2YXRlR3JvdXAoZ3JvdXA6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXApIHtcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlR3JvdXA6IGdyb3VwLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdW5sb2FkQWN0aXZhdGVHcm91cCgpIHtcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlR3JvdXA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldEFjdGl2YXRlR3JvdXBCeU5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBzdG9yZS5ncm91cHMoKS5maW5kKGcgPT4gZy5uYW1lID09PSBuYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAoZ3JvdXApIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVHcm91cDogZ3JvdXAsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBhc3luYyBzZWFyY2goZXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc05pbChleHByZXNzaW9uKSAmJiAhaXNFbXB0eShleHByZXNzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hFeHByZXNzaW9uOiBleHByZXNzaW9uLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRXhwcmVzc2lvbjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2xlYXJTZWFyY2goKSB7XG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzZWFyY2hFeHByZXNzaW9uOiBudWxsLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNEaXJ0eSgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RvcmUuZ3JvdXBzKCk/LnNvbWUoKGdyb3VwKSA9PlxuICAgICAgICAgICAgICAgICAgICBncm91cC5zZWN0aW9ucy5zb21lKChzZWMpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWMuc2V0dGluZ3Muc29tZSgoc2V0dGluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldChzdG9yZS5jb250ZXh0KCksIHNldHRpbmcubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGdldChzdG9yZS5wcmV2aW91c0NvbnRleHQoKSwgc2V0dGluZy5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWlzRXF1YWwoY3VycmVudFZhbHVlLCBwcmV2aW91c1ZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApIHx8IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXN5bmMgYXBwbHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGF3YWl0IHN0b3JlLmZvcm0oKSAmJiB0aGlzLmlzRGlydHkoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybSA9IHN0b3JlLmZvcm0oKSE7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtLnJlc2V0RXJyb3JzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5TdWJtaXR0aW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0U2VydmljZS5zaG93KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5hcHBseS5tZXNzYWdlcy5pbnZhbGlkLnRpdGxlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF3YWl0IHRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuYXBwbHkubWVzc2FnZXMuaW52YWxpZC5tZXNzYWdlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uOiAnYm90dG9tLWNlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lT3V0OiAzMDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lT3V0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuRXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc2V0dGluZ1ZhbHVlU2VydmljZS5zY29wZShzdG9yZS5zY29wZSgpIGFzIEFYUFBsYXRmb3JtU2NvcGUpLnNldChzdG9yZS5jb250ZXh0KCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdyBzdWNjZXNzIG5vdGlmaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgdG9hc3RTZXJ2aWNlLnNob3coe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BzZXR0aW5ncy1tYW5hZ2VtZW50OnNldHRpbmdzLmFjdGlvbnMuYXBwbHkuc3VjY2Vzcy50aXRsZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF3YWl0IHRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BzZXR0aW5ncy1tYW5hZ2VtZW50OnNldHRpbmdzLmFjdGlvbnMuYXBwbHkuc3VjY2Vzcy5tZXNzYWdlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246ICdib3R0b20tY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lT3V0OiAzMDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVPdXRQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5TdWJtaXR0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQHNldHRpbmdzLW1hbmFnZW1lbnQ6c2V0dGluZ3MuYWN0aW9ucy5hcHBseS5lcnJvci50aXRsZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXdhaXQgdHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQHNldHRpbmdzLW1hbmFnZW1lbnQ6c2V0dGluZ3MuYWN0aW9ucy5hcHBseS5lcnJvci5tZXNzYWdlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogJ2JvdHRvbS1jZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lT3V0OiAzMDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZU91dFByb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLkVycm9yLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFzeW5jIGRpc2NhcmQoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybSA9IHN0b3JlLmZvcm0oKSE7XG4gICAgICAgICAgICAgICAgZm9ybS5yZXNldEVycm9ycygpO1xuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUmVuZGVyZWQsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHN0b3JlLnByZXZpb3VzQ29udGV4dCgpLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXN5bmMgcmVzZXRUb0RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBjb250ZXh0ICB3aXRoIHRoZSBkZWZhdWx0c1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRzID0gYXdhaXQgc2V0dGluZ1ZhbHVlU2VydmljZS5zY29wZShzdG9yZS5zY29wZSgpIGFzIEFYUFBsYXRmb3JtU2NvcGUpLmRlZmF1bHRWYWx1ZXMoKTtcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IGRlZmF1bHRzLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmFwcGx5KCk7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNjYXJkKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSkpLFxuICAgIHdpdGhIb29rcygoc3RvcmUsXG4gICAgICAgIHNldHRpbmdWYWx1ZVNlcnZpY2UgPSBpbmplY3QoQVhQU2V0dGluZ1NlcnZpY2UpLFxuICAgICAgICB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpLFxuICAgICAgICBsb2NhbGVTZXJ2aWNlID0gaW5qZWN0KEFYTG9jYWxlU2VydmljZSlcbiAgICApID0+ICh7XG4gICAgICAgIGFzeW5jIG9uSW5pdCgpIHtcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBzZXR0aW5nVmFsdWVTZXJ2aWNlLm9uQ2hhbmdlZC5waXBlKGZpbHRlcigoYykgPT4gYy5zY29wZSA9PSBzdG9yZS5zY29wZSgpKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgZS5rZXlzLmZvckVhY2goKGspID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gZS52YWx1ZXNba107XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRleHRWYWx1ZSA9IGdldChzdG9yZS5jb250ZXh0KCksIGspO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gZ2V0KHN0b3JlLnByZXZpb3VzQ29udGV4dCgpLCBrKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIG9ubHkgaWYgdGhlcmUgYXJlIGFjdHVhbCBjaGFuZ2VzXG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNFcXVhbChwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpIHx8ICFpc0VxdWFsKGN1cnJlbnRWYWx1ZSwgY29udGV4dFZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQ29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5zdG9yZS5wcmV2aW91c0NvbnRleHQoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2tdOiBjdXJyZW50VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5zdG9yZS5jb250ZXh0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrXTogY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvblNlcnZpY2UubGFuZ0NoYW5nZXMkLFxuICAgICAgICAgICAgICAgIGxvY2FsZVNlcnZpY2UucHJvZmlsZUNoYW5nZWQkXG4gICAgICAgICAgICApLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHN0b3JlLmlzTG9hZGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgc3RvcmUucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgfSxcbiAgICAgICAgb25EZXN0cm95KCkgeyB9LFxuICAgIH0pKVxuXG4pIl19","export class AXPSettingSearchDefinitionProvider {\n async provide(context) {\n context.addDefinition('setting', 'Setting', 'setting', 'fa-solid fa-gear', 3, {\n format: {\n id: '{{data.name}}',\n },\n actions: [\n {\n name: 'navigate',\n type: 'view',\n priority: 'primary',\n },\n ],\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvc2V0dGluZ3MtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3NldHRpbmdzL3NlYXJjaC1kZWZpbml0aW9uLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxrQ0FBa0M7SUFDN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQztRQUN2RCxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRTtZQUM1RSxNQUFNLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLGVBQWU7YUFDcEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLElBQUksRUFBRSxNQUFNO29CQUNaLFFBQVEsRUFBRSxTQUFTO2lCQUNwQjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyLCBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ1NlYXJjaERlZmluaXRpb25Qcm92aWRlciBpbXBsZW1lbnRzIEFYUFNlYXJjaERlZmluaXRpb25Qcm92aWRlciB7XG4gIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnRleHQuYWRkRGVmaW5pdGlvbignc2V0dGluZycsICdTZXR0aW5nJywgJ3NldHRpbmcnLCAnZmEtc29saWQgZmEtZ2VhcicsIDMsIHtcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBpZDogJ3t7ZGF0YS5uYW1lfX0nLFxuICAgICAgfSxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICduYXZpZ2F0ZScsXG4gICAgICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSettingDefinitionProviderService, } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { inject } from '@angular/core';\nimport { sortBy } from 'lodash-es';\nexport class AXPSettingSearchProvider {\n constructor() {\n this.settingService = inject(AXPSettingDefinitionProviderService);\n this.sessionService = inject(AXPSessionService);\n }\n async search(text) {\n const groupsSetting = this.settingService.getList(AXPPlatformScope.User);\n if (groupsSetting.length == 0) {\n groupsSetting.push(...(await this.settingService.getListAsync(AXPPlatformScope.User)));\n }\n // Step 2: Flatten settings from groups\n const allSettings = [];\n const extractSettings = (group) => {\n for (const section of group.sections) {\n allSettings.push(...section.settings.map((x) => ({ ...x, group })));\n }\n for (const subGroup of group.groups) {\n extractSettings(subGroup); // Recursive extraction\n }\n };\n for (const group of groupsSetting) {\n extractSettings(group);\n }\n // Step 3: Search settings by title\n const searchResults = allSettings.filter((setting) => setting.title.toLowerCase().includes(text.toLowerCase()));\n return sortBy(searchResults.map((setting) => ({\n title: setting.title,\n description: setting.description,\n group: 'setting',\n data: setting,\n command: {\n name: 'navigate',\n options: {\n type: 'router',\n options: {\n path: `/${this.sessionService.application?.name}/settings/user/${setting.group.name}#${setting.title}`,\n },\n }\n },\n parent: setting.group\n ? {\n title: setting.group.title,\n data: setting.group,\n }\n : undefined,\n })), ['title']);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3NldHRpbmdzLW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9zZXR0aW5ncy9zZWFyY2gucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUtMLG1DQUFtQyxHQUNwQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQU1uQyxNQUFNLE9BQU8sd0JBQXdCO0lBQXJDO1FBQ1UsbUJBQWMsR0FBRyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUM3RCxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBbURyRCxDQUFDO0lBakRDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBWTtRQUN2QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDOUIsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsQ0FBQztRQUVELHVDQUF1QztRQUN2QyxNQUFNLFdBQVcsR0FBaUMsRUFBRSxDQUFDO1FBQ3JELE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBZ0MsRUFBRSxFQUFFO1lBQzNELEtBQUssTUFBTSxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNyQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQWlDLENBQUEsQ0FBQyxDQUFDLENBQUM7WUFDcEcsQ0FBQztZQUNELEtBQUssTUFBTSxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7WUFDcEQsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVGLEtBQUssTUFBTSxLQUFLLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxtQ0FBbUM7UUFDbkMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVoSCxPQUFPLE1BQU0sQ0FDWCxhQUFhLENBQUMsR0FBRyxDQUFrQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxVQUFVO2dCQUNoQixPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsT0FBTyxFQUFFO3dCQUNQLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLElBQUksa0JBQWtCLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7cUJBQ3ZHO2lCQUNGO2FBQ0Y7WUFDRCxNQUFNLEVBQUUsT0FBTyxDQUFDLEtBQUs7Z0JBQ25CLENBQUMsQ0FBQztvQkFDQSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLO29CQUMxQixJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQWtDO2lCQUNqRDtnQkFDRCxDQUFDLENBQUMsU0FBUztTQUNkLENBQUMsQ0FBQyxFQUNILENBQUMsT0FBTyxDQUFDLENBQ1YsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7XG4gIEFYUFNlYXJjaFByb3ZpZGVyLFxuICBBWFBTZWFyY2hSZXN1bHQsXG4gIEFYUFNldHRpbmdEZWZpbml0aW9uLFxuICBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwLFxuICBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyU2VydmljZSxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQUGxhdGZvcm1TY29wZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNvcnRCeSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQU2V0dGluZ0RlZmluaXRpb25TZWFyY2ggZXh0ZW5kcyBBWFBTZXR0aW5nRGVmaW5pdGlvbiB7XG4gIGdyb3VwOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwO1xufVxuXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ1NlYXJjaFByb3ZpZGVyIGltcGxlbWVudHMgQVhQU2VhcmNoUHJvdmlkZXIge1xuICBwcml2YXRlIHNldHRpbmdTZXJ2aWNlID0gaW5qZWN0KEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG5cbiAgYXN5bmMgc2VhcmNoKHRleHQ6IHN0cmluZyk6IFByb21pc2U8QVhQU2VhcmNoUmVzdWx0W10+IHtcbiAgICBjb25zdCBncm91cHNTZXR0aW5nID0gdGhpcy5zZXR0aW5nU2VydmljZS5nZXRMaXN0KEFYUFBsYXRmb3JtU2NvcGUuVXNlcik7XG4gICAgaWYgKGdyb3Vwc1NldHRpbmcubGVuZ3RoID09IDApIHtcbiAgICAgIGdyb3Vwc1NldHRpbmcucHVzaCguLi4oYXdhaXQgdGhpcy5zZXR0aW5nU2VydmljZS5nZXRMaXN0QXN5bmMoQVhQUGxhdGZvcm1TY29wZS5Vc2VyKSkpO1xuICAgIH1cblxuICAgIC8vIFN0ZXAgMjogRmxhdHRlbiBzZXR0aW5ncyBmcm9tIGdyb3Vwc1xuICAgIGNvbnN0IGFsbFNldHRpbmdzOiBBWFBTZXR0aW5nRGVmaW5pdGlvblNlYXJjaFtdID0gW107XG4gICAgY29uc3QgZXh0cmFjdFNldHRpbmdzID0gKGdyb3VwOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IHNlY3Rpb24gb2YgZ3JvdXAuc2VjdGlvbnMpIHtcbiAgICAgICAgYWxsU2V0dGluZ3MucHVzaCguLi5zZWN0aW9uLnNldHRpbmdzLm1hcCgoeCkgPT4gKHsgLi4ueCwgZ3JvdXAgfSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvblNlYXJjaCkpKTtcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3Qgc3ViR3JvdXAgb2YgZ3JvdXAuZ3JvdXBzKSB7XG4gICAgICAgIGV4dHJhY3RTZXR0aW5ncyhzdWJHcm91cCk7IC8vIFJlY3Vyc2l2ZSBleHRyYWN0aW9uXG4gICAgICB9XG4gICAgfTtcblxuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBzU2V0dGluZykge1xuICAgICAgZXh0cmFjdFNldHRpbmdzKGdyb3VwKTtcbiAgICB9XG5cbiAgICAvLyBTdGVwIDM6IFNlYXJjaCBzZXR0aW5ncyBieSB0aXRsZVxuICAgIGNvbnN0IHNlYXJjaFJlc3VsdHMgPSBhbGxTZXR0aW5ncy5maWx0ZXIoKHNldHRpbmcpID0+IHNldHRpbmcudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXh0LnRvTG93ZXJDYXNlKCkpKTtcblxuICAgIHJldHVybiBzb3J0QnkoXG4gICAgICBzZWFyY2hSZXN1bHRzLm1hcDxBWFBTZWFyY2hSZXN1bHQ+KChzZXR0aW5nKSA9PiAoe1xuICAgICAgICB0aXRsZTogc2V0dGluZy50aXRsZSxcbiAgICAgICAgZGVzY3JpcHRpb246IHNldHRpbmcuZGVzY3JpcHRpb24sXG4gICAgICAgIGdyb3VwOiAnc2V0dGluZycsXG4gICAgICAgIGRhdGE6IHNldHRpbmcsXG4gICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICBuYW1lOiAnbmF2aWdhdGUnLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdyb3V0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwYXRoOiBgLyR7dGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZX0vc2V0dGluZ3MvdXNlci8ke3NldHRpbmcuZ3JvdXAubmFtZX0jJHtzZXR0aW5nLnRpdGxlfWAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcGFyZW50OiBzZXR0aW5nLmdyb3VwXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICB0aXRsZTogc2V0dGluZy5ncm91cC50aXRsZSxcbiAgICAgICAgICAgIGRhdGE6IHNldHRpbmcuZ3JvdXAgYXMgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCxcbiAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB9KSksXG4gICAgICBbJ3RpdGxlJ11cbiAgICApO1xuICB9XG59XG4iXX0=","export const AXPSettingsManagementMenuKeys = {\n UserSettings: 'settings:user:profile',\n TenantApplicationSettings: 'settings:tenant:application',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3NldHRpbmdzLW1hbmFnZW1lbnQvc3JjL2xpYi9tZW51LmtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUc7SUFDekMsWUFBWSxFQUFFLHVCQUF1QjtJQUNyQyx5QkFBeUIsRUFBRSw2QkFBNkI7Q0FDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBWFBTZXR0aW5nc01hbmFnZW1lbnRNZW51S2V5cyA9IHtcbiAgICBVc2VyU2V0dGluZ3M6ICdzZXR0aW5nczp1c2VyOnByb2ZpbGUnLFxuICAgIFRlbmFudEFwcGxpY2F0aW9uU2V0dGluZ3M6ICdzZXR0aW5nczp0ZW5hbnQ6YXBwbGljYXRpb24nLFxufSBhcyBjb25zdDtcblxuIl19","export const AXMPermissionsKeys = {\n SettingsManagement: {\n Management: 'settings-management:manage',\n UserSettings: {\n Management: 'settings-management:user-settings:manage',\n View: 'settings-management:user-settings:view',\n Edit: 'settings-management:user-settings:edit',\n },\n TenantSettings: {\n Management: 'settings-management:tenant-settings:manage',\n View: 'settings-management:tenant-settings:view',\n Edit: 'settings-management:tenant-settings:edit',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3NldHRpbmdzLW1hbmFnZW1lbnQvc3JjL2xpYi9wZXJtaXNzaW9uLmtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsa0JBQWtCLEVBQUU7UUFDbEIsVUFBVSxFQUFFLDRCQUE0QjtRQUN4QyxZQUFZLEVBQUU7WUFDWixVQUFVLEVBQUUsMENBQTBDO1lBQ3RELElBQUksRUFBRSx3Q0FBd0M7WUFDOUMsSUFBSSxFQUFFLHdDQUF3QztTQUMvQztRQUNELGNBQWMsRUFBRTtZQUNkLFVBQVUsRUFBRSw0Q0FBNEM7WUFDeEQsSUFBSSxFQUFFLDBDQUEwQztZQUNoRCxJQUFJLEVBQUUsMENBQTBDO1NBQ2pEO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFYTVBlcm1pc3Npb25zS2V5cyA9IHtcbiAgU2V0dGluZ3NNYW5hZ2VtZW50OiB7XG4gICAgTWFuYWdlbWVudDogJ3NldHRpbmdzLW1hbmFnZW1lbnQ6bWFuYWdlJyxcbiAgICBVc2VyU2V0dGluZ3M6IHtcbiAgICAgIE1hbmFnZW1lbnQ6ICdzZXR0aW5ncy1tYW5hZ2VtZW50OnVzZXItc2V0dGluZ3M6bWFuYWdlJyxcbiAgICAgIFZpZXc6ICdzZXR0aW5ncy1tYW5hZ2VtZW50OnVzZXItc2V0dGluZ3M6dmlldycsXG4gICAgICBFZGl0OiAnc2V0dGluZ3MtbWFuYWdlbWVudDp1c2VyLXNldHRpbmdzOmVkaXQnLFxuICAgIH0sXG4gICAgVGVuYW50U2V0dGluZ3M6IHtcbiAgICAgIE1hbmFnZW1lbnQ6ICdzZXR0aW5ncy1tYW5hZ2VtZW50OnRlbmFudC1zZXR0aW5nczptYW5hZ2UnLFxuICAgICAgVmlldzogJ3NldHRpbmdzLW1hbmFnZW1lbnQ6dGVuYW50LXNldHRpbmdzOnZpZXcnLFxuICAgICAgRWRpdDogJ3NldHRpbmdzLW1hbmFnZW1lbnQ6dGVuYW50LXNldHRpbmdzOmVkaXQnLFxuICAgIH0sXG4gIH0sXG59O1xuXG4iXX0=","import { AXPSessionService } from '@acorex/platform/auth';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { AXPSettingsManagementMenuKeys } from './menu.keys';\nimport { AXMPermissionsKeys } from './permission.keys';\nexport class AXMMenuProvider {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n }\n async provide(context) {\n const appName = this.sessionService.application?.name;\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n context.find('user:profile').addItems([\n {\n name: AXPSettingsManagementMenuKeys.UserSettings,\n text: '@settings-management:module.terms.scopes.user.title',\n icon: 'fa-light fa-gear',\n path: `/${this.sessionService.application?.name}/settings/user`,\n },\n ]);\n context.addItems([\n {\n name: AXPSettingsManagementMenuKeys.TenantApplicationSettings,\n priority: 10000000,\n text: '@settings-management:module.terms.scopes.tenant.title',\n type: 'menu',\n icon: 'fa-light fa-gear',\n path: `/${appName}/settings/tenant`,\n policy: {\n permissions: [AXMPermissionsKeys.SettingsManagement.TenantSettings.Management]\n },\n },\n ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9zZXR0aW5ncy1tYW5hZ2VtZW50L3NyYy9saWIvbWVudS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZELE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ1UsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQWlDckQsQ0FBQztJQS9CQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQStCO1FBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztRQUV0RCxNQUFNLFlBQVksR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1QsQ0FBQztRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ3BDO2dCQUNFLElBQUksRUFBRSw2QkFBNkIsQ0FBQyxZQUFZO2dCQUNoRCxJQUFJLEVBQUUscURBQXFEO2dCQUMzRCxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxJQUFJLGdCQUFnQjthQUNoRTtTQUNGLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDZjtnQkFDRSxJQUFJLEVBQUUsNkJBQTZCLENBQUMseUJBQXlCO2dCQUM3RCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsSUFBSSxFQUFFLHVEQUF1RDtnQkFDN0QsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsSUFBSSxFQUFFLElBQUksT0FBTyxrQkFBa0I7Z0JBQ25DLE1BQU0sRUFBRTtvQkFDTixXQUFXLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO2lCQUMvRTthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQTWVudVByb3ZpZGVyLCBBWFBNZW51UHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ3NNYW5hZ2VtZW50TWVudUtleXMgfSBmcm9tICcuL21lbnUua2V5cyc7XG5pbXBvcnQgeyBBWE1QZXJtaXNzaW9uc0tleXMgfSBmcm9tICcuL3Blcm1pc3Npb24ua2V5cyc7XG5cbmV4cG9ydCBjbGFzcyBBWE1NZW51UHJvdmlkZXIgaW1wbGVtZW50cyBBWFBNZW51UHJvdmlkZXIge1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUE1lbnVQcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBhcHBOYW1lID0gdGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZTtcblxuICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2Vzc2lvblNlcnZpY2UuaXNBdXRob3JpemVkJCk7XG4gICAgaWYgKCFpc0F1dGhvcml6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb250ZXh0LmZpbmQoJ3VzZXI6cHJvZmlsZScpLmFkZEl0ZW1zKFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogQVhQU2V0dGluZ3NNYW5hZ2VtZW50TWVudUtleXMuVXNlclNldHRpbmdzLFxuICAgICAgICB0ZXh0OiAnQHNldHRpbmdzLW1hbmFnZW1lbnQ6bW9kdWxlLnRlcm1zLnNjb3Blcy51c2VyLnRpdGxlJyxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWdlYXInLFxuICAgICAgICBwYXRoOiBgLyR7dGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZX0vc2V0dGluZ3MvdXNlcmAsXG4gICAgICB9LFxuICAgIF0pO1xuXG4gICAgY29udGV4dC5hZGRJdGVtcyhbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IEFYUFNldHRpbmdzTWFuYWdlbWVudE1lbnVLZXlzLlRlbmFudEFwcGxpY2F0aW9uU2V0dGluZ3MsXG4gICAgICAgIHByaW9yaXR5OiAxMDAwMDAwMCxcbiAgICAgICAgdGV4dDogJ0BzZXR0aW5ncy1tYW5hZ2VtZW50Om1vZHVsZS50ZXJtcy5zY29wZXMudGVuYW50LnRpdGxlJyxcbiAgICAgICAgdHlwZTogJ21lbnUnLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZ2VhcicsXG4gICAgICAgIHBhdGg6IGAvJHthcHBOYW1lfS9zZXR0aW5ncy90ZW5hbnRgLFxuICAgICAgICBwb2xpY3k6IHtcbiAgICAgICAgICBwZXJtaXNzaW9uczogW0FYTVBlcm1pc3Npb25zS2V5cy5TZXR0aW5nc01hbmFnZW1lbnQuVGVuYW50U2V0dGluZ3MuTWFuYWdlbWVudF1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH1cbn1cbiJdfQ==","import { AXPAuthGuard, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';\nimport { AXPAppStartUpService } from '@acorex/platform/core';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { ROUTES } from '@angular/router';\nimport { AXPSettingSearchDefinitionProvider } from './features/settings/search-definition.provider';\nimport { AXPSettingSearchProvider } from './features/settings/search.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/core\";\nfunction routesFacory() {\n let routes = [\n {\n path: ':app/settings/:scope',\n canActivate: [AXPAuthGuard],\n loadComponent: () => {\n return AXPRootLayoutComponent;\n },\n children: [\n {\n path: '',\n loadComponent: () => import('./features/settings/setting-page/setting-page.component').then((c) => c.AXPSettingPageComponent),\n data: { reuse: true },\n children: [\n {\n path: ':group',\n loadComponent: () => import('./features/settings/setting-view/setting-view.component').then((c) => c.AXPSettingsViewComponent),\n },\n ],\n },\n ],\n },\n ];\n return routes;\n}\nexport class AXMSettingsManagementModule {\n constructor(appInitService, injector) { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMSettingsManagementModule, deps: [{ token: i1.AXPAppStartUpService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMSettingsManagementModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMSettingsManagementModule, providers: [\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXPSettingSearchProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_DEFINITION_PROVIDER,\n useClass: AXPSettingSearchDefinitionProvider,\n multi: true,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./permission-definition.provider')).AXMPermissionDefinitionProvider;\n return new provider(injector);\n },\n multi: true,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMSettingsManagementModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXPSettingSearchProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_DEFINITION_PROVIDER,\n useClass: AXPSettingSearchDefinitionProvider,\n multi: true,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./permission-definition.provider')).AXMPermissionDefinitionProvider;\n return new provider(injector);\n },\n multi: true,\n },\n ],\n }]\n }], ctorParameters: () => [{ type: i1.AXPAppStartUpService }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtbWFuYWdlbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvc2V0dGluZ3MtbWFuYWdlbWVudC9zcmMvbGliL3NldHRpbmdzLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsOEJBQThCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRWxELFNBQVMsWUFBWTtJQUNuQixJQUFJLE1BQU0sR0FBVztRQUNuQjtZQUNFLElBQUksRUFBRSxzQkFBc0I7WUFDNUIsV0FBVyxFQUFFLENBQUMsWUFBWSxDQUFDO1lBQzNCLGFBQWEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2xCLE9BQU8sc0JBQXNCLENBQUM7WUFDaEMsQ0FBQztZQUNELFFBQVEsRUFBRTtnQkFDUjtvQkFDRSxJQUFJLEVBQUUsRUFBRTtvQkFDUixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyx5REFBeUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDO29CQUMxRyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO29CQUNyQixRQUFRLEVBQUU7d0JBQ1I7NEJBQ0UsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQUMseURBQXlELENBQUMsQ0FBQyxJQUFJLENBQ3BFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQ2xDO3lCQUNKO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBc0NELE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFBWSxjQUFvQyxFQUFFLFFBQWtCLElBQUksQ0FBQzsrR0FEOUQsMkJBQTJCO2dIQUEzQiwyQkFBMkI7Z0hBQTNCLDJCQUEyQixhQWhDM0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLDhCQUE4QjtnQkFDdkMsUUFBUSxFQUFFLGtDQUFrQztnQkFDNUMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxNQUFNO2dCQUNmLEtBQUssRUFBRSxJQUFJO2dCQUNYLFVBQVUsRUFBRSxZQUFZO2FBQ3pCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUU7b0JBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDbEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUM7b0JBQ3BHLE9BQU8sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzs0RkFFVSwyQkFBMkI7a0JBcEN2QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsUUFBUSxFQUFFLHdCQUF3Qjs0QkFDbEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDhCQUE4Qjs0QkFDdkMsUUFBUSxFQUFFLGtDQUFrQzs0QkFDNUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLE1BQU07NEJBQ2YsS0FBSyxFQUFFLElBQUk7NEJBQ1gsVUFBVSxFQUFFLFlBQVk7eUJBQ3pCO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxlQUFlOzRCQUN6QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0NBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQ0FDbEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUM7Z0NBQ3BHLE9BQU8sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7NEJBQ2hDLENBQUM7NEJBQ0QsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBBdXRoR3VhcmQsIEFYUF9QRVJNSVNTSU9OX0RFRklOSVRJT05fUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX01FTlVfUFJPVklERVIsIEFYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUiwgQVhQX1NFQVJDSF9QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEFwcFN0YXJ0VXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFJvb3RMYXlvdXRDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3RoZW1lcy9kZWZhdWx0JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0b3IsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXMsIFJPVVRFUyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBWFBTZXR0aW5nU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyIH0gZnJvbSAnLi9mZWF0dXJlcy9zZXR0aW5ncy9zZWFyY2gtZGVmaW5pdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBTZXR0aW5nU2VhcmNoUHJvdmlkZXIgfSBmcm9tICcuL2ZlYXR1cmVzL3NldHRpbmdzL3NlYXJjaC5wcm92aWRlcic7XG5pbXBvcnQgeyBBWE1NZW51UHJvdmlkZXIgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuXG5mdW5jdGlvbiByb3V0ZXNGYWNvcnkoKSB7XG4gIGxldCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAgICB7XG4gICAgICBwYXRoOiAnOmFwcC9zZXR0aW5ncy86c2NvcGUnLFxuICAgICAgY2FuQWN0aXZhdGU6IFtBWFBBdXRoR3VhcmRdLFxuICAgICAgbG9hZENvbXBvbmVudDogKCkgPT4ge1xuICAgICAgICByZXR1cm4gQVhQUm9vdExheW91dENvbXBvbmVudDtcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW1xuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9mZWF0dXJlcy9zZXR0aW5ncy9zZXR0aW5nLXBhZ2Uvc2V0dGluZy1wYWdlLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQU2V0dGluZ1BhZ2VDb21wb25lbnQpLFxuICAgICAgICAgIGRhdGE6IHsgcmV1c2U6IHRydWUgfSxcbiAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXRoOiAnOmdyb3VwJyxcbiAgICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgICAgICBpbXBvcnQoJy4vZmVhdHVyZXMvc2V0dGluZ3Mvc2V0dGluZy12aWV3L3NldHRpbmctdmlldy5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAgICAgKGMpID0+IGMuQVhQU2V0dGluZ3NWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF07XG4gIHJldHVybiByb3V0ZXM7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1NFQVJDSF9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBTZXR0aW5nU2VhcmNoUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBTZXR0aW5nU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBST1VURVMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUZhY3Rvcnk6IHJvdXRlc0ZhY29yeSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9NRU5VX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTU1lbnVQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1BFUk1JU1NJT05fREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUZhY3Rvcnk6IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBwcm92aWRlciA9IChhd2FpdCBpbXBvcnQoJy4vcGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyJykpLkFYTVBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXI7XG4gICAgICAgIHJldHVybiBuZXcgcHJvdmlkZXIoaW5qZWN0b3IpO1xuICAgICAgfSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVNldHRpbmdzTWFuYWdlbWVudE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKGFwcEluaXRTZXJ2aWNlOiBBWFBBcHBTdGFydFVwU2VydmljZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtc2V0dGluZ3MtbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9zZXR0aW5ncy1tYW5hZ2VtZW50L3NyYy9hY29yZXgtbW9kdWxlcy1zZXR0aW5ncy1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}