aril 0.0.24 → 0.0.26

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 (172) hide show
  1. package/boot/host/src/bootstrap.d.ts +2 -1
  2. package/boot/mfe/src/bootstrap.d.ts +2 -1
  3. package/esm2022/boot/host/index.mjs +1 -1
  4. package/esm2022/boot/host/src/app.component.mjs +1 -1
  5. package/esm2022/boot/host/src/bootstrap.mjs +14 -6
  6. package/esm2022/boot/host/src/services/custom-manifest.mjs +1 -1
  7. package/esm2022/boot/host/src/services/microFrontEnd.service.mjs +1 -1
  8. package/esm2022/boot/host/src/services/plugin-init.token.mjs +1 -1
  9. package/esm2022/boot/host/src/services/showdowDOMWrapper.mjs +1 -1
  10. package/esm2022/boot/index.mjs +1 -1
  11. package/esm2022/boot/mfe/index.mjs +1 -1
  12. package/esm2022/boot/mfe/src/app.component.mjs +13 -13
  13. package/esm2022/boot/mfe/src/bootstrap.mjs +13 -5
  14. package/esm2022/http/lib/enums.mjs +2 -1
  15. package/esm2022/http/lib/interfaces.mjs +1 -2
  16. package/esm2022/http/src/httpClient.mjs +1 -1
  17. package/esm2022/http/src/serviceBase.mjs +8 -5
  18. package/esm2022/http/src/serviceStateMethods.mjs +1 -2
  19. package/esm2022/i18n/src/file-url-token.mjs +1 -1
  20. package/esm2022/i18n/src/i18n.module.mjs +1 -1
  21. package/esm2022/i18n/src/loader.mjs +2 -2
  22. package/esm2022/i18n/src/provideI18n.mjs +1 -1
  23. package/esm2022/i18n/src/provideScope.mjs +1 -1
  24. package/esm2022/keycloak/aril-keycloak.mjs +5 -0
  25. package/esm2022/keycloak/index.mjs +3 -0
  26. package/esm2022/keycloak/src/auth.interceptor.mjs +13 -0
  27. package/esm2022/keycloak/src/keycloak.manager.mjs +59 -0
  28. package/esm2022/public-api.mjs +1 -1
  29. package/esm2022/theme/index.mjs +1 -1
  30. package/esm2022/theme/layout/app/config/app.config.component.mjs +4 -4
  31. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +5 -5
  32. package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +21 -21
  33. package/esm2022/theme/layout/app/menu/app.menu.component.mjs +4 -4
  34. package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +2 -2
  35. package/esm2022/theme/layout/app/sidebar/app.sidebar.component.mjs +2 -2
  36. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +12 -9
  37. package/esm2022/theme/layout/service/app.layout.service.mjs +1 -1
  38. package/esm2022/theme/layout/service/app.menu.service.mjs +1 -1
  39. package/esm2022/ui/button/src/button.component.mjs +2 -2
  40. package/esm2022/ui/calendar/src/calendar.component.mjs +4 -4
  41. package/esm2022/ui/field/src/field.component.mjs +5 -5
  42. package/esm2022/ui/fileUpload/src/file-upload.component.mjs +3 -3
  43. package/esm2022/ui/form/index.mjs +2 -2
  44. package/esm2022/ui/form/src/form-submit-button.component.mjs +2 -2
  45. package/esm2022/ui/form/src/form.component.mjs +1 -1
  46. package/esm2022/ui/index.mjs +1 -1
  47. package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +1 -1
  48. package/esm2022/ui/lib/src/form/form-field-builder.mjs +1 -1
  49. package/esm2022/ui/lib/src/grid/flex-grid.directive.mjs +1 -1
  50. package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +1 -1
  51. package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +1 -1
  52. package/esm2022/ui/lib/src/input/value-accessor.directive.mjs +1 -1
  53. package/esm2022/ui/mask/src/mask.component.mjs +2 -2
  54. package/esm2022/ui/number/src/number.component.mjs +2 -2
  55. package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +2 -2
  56. package/esm2022/ui/password/src/password.component.mjs +2 -2
  57. package/esm2022/ui/radioButton/src/radio-button.component.mjs +1 -1
  58. package/esm2022/ui/selectBox/src/select-box.component.mjs +4 -4
  59. package/esm2022/ui/switch/src/switch.component.mjs +2 -2
  60. package/esm2022/ui/table/index.mjs +3 -3
  61. package/esm2022/ui/table/src/table-column.component.mjs +1 -1
  62. package/esm2022/ui/table/src/table.component.mjs +2 -2
  63. package/esm2022/ui/tagBox/src/tag-box.component.mjs +1 -1
  64. package/esm2022/ui/text/src/text.component.mjs +2 -2
  65. package/esm2022/ui/textArea/src/text-area.component.mjs +3 -3
  66. package/esm2022/ui/tree/src/tree.component.mjs +5 -5
  67. package/esm2022/ui/treeTable/src/tree-table.component.mjs +4 -4
  68. package/esm2022/util/custom_pages/index.mjs +1 -1
  69. package/esm2022/util/custom_pages/src/notFound.component.mjs +109 -109
  70. package/esm2022/util/index.mjs +1 -1
  71. package/esm2022/util/lib/src/module-router.mjs +1 -1
  72. package/esm2022/util/lib/src/types.mjs +1 -4
  73. package/esm2022/util/loaders/index.mjs +1 -1
  74. package/esm2022/util/loaders/script/script.loader.service.mjs +1 -1
  75. package/esm2022/util/loaders/style/style.loader.service.mjs +1 -1
  76. package/esm2022/util/primitive-extensions/src/date.extensions.mjs +1 -1
  77. package/esm2022/util/pub-sub/src/pub-sub.service.mjs +1 -1
  78. package/fesm2022/{aril-app.component-tFlRp3qI.mjs → aril-app.component-sZDpvJDM.mjs} +16 -14
  79. package/fesm2022/aril-app.component-sZDpvJDM.mjs.map +1 -0
  80. package/fesm2022/{aril-aril--3c18nTH.mjs → aril-aril-D__IXMsf.mjs} +24 -10
  81. package/fesm2022/aril-aril-D__IXMsf.mjs.map +1 -0
  82. package/fesm2022/aril-boot-host.mjs +13 -5
  83. package/fesm2022/aril-boot-host.mjs.map +1 -1
  84. package/fesm2022/{aril-boot-mfe-app.component-wYzFs1Za.mjs → aril-boot-mfe-app.component-zro0FnKY.mjs} +15 -13
  85. package/fesm2022/aril-boot-mfe-app.component-zro0FnKY.mjs.map +1 -0
  86. package/fesm2022/aril-boot-mfe.mjs +13 -5
  87. package/fesm2022/aril-boot-mfe.mjs.map +1 -1
  88. package/fesm2022/aril-boot.mjs.map +1 -1
  89. package/fesm2022/aril-http.mjs +6 -4
  90. package/fesm2022/aril-http.mjs.map +1 -1
  91. package/fesm2022/aril-i18n.mjs +1 -1
  92. package/fesm2022/aril-i18n.mjs.map +1 -1
  93. package/fesm2022/aril-keycloak.mjs +77 -0
  94. package/fesm2022/aril-keycloak.mjs.map +1 -0
  95. package/fesm2022/aril-theme-layout.mjs +266 -264
  96. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  97. package/fesm2022/aril-theme.mjs.map +1 -1
  98. package/fesm2022/aril-ui-button.mjs.map +1 -1
  99. package/fesm2022/aril-ui-calendar.mjs +3 -3
  100. package/fesm2022/aril-ui-calendar.mjs.map +1 -1
  101. package/fesm2022/aril-ui-field.mjs +3 -3
  102. package/fesm2022/aril-ui-field.mjs.map +1 -1
  103. package/fesm2022/aril-ui-fileUpload.mjs +2 -2
  104. package/fesm2022/aril-ui-fileUpload.mjs.map +1 -1
  105. package/fesm2022/aril-ui-form.mjs +28 -28
  106. package/fesm2022/aril-ui-form.mjs.map +1 -1
  107. package/fesm2022/aril-ui-lib.mjs.map +1 -1
  108. package/fesm2022/aril-ui-mask.mjs +1 -1
  109. package/fesm2022/aril-ui-mask.mjs.map +1 -1
  110. package/fesm2022/aril-ui-number.mjs +2 -2
  111. package/fesm2022/aril-ui-number.mjs.map +1 -1
  112. package/fesm2022/aril-ui-overlayPanel.mjs.map +1 -1
  113. package/fesm2022/aril-ui-password.mjs +2 -2
  114. package/fesm2022/aril-ui-password.mjs.map +1 -1
  115. package/fesm2022/aril-ui-radioButton.mjs.map +1 -1
  116. package/fesm2022/aril-ui-selectBox.mjs +2 -2
  117. package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
  118. package/fesm2022/aril-ui-switch.mjs +2 -2
  119. package/fesm2022/aril-ui-switch.mjs.map +1 -1
  120. package/fesm2022/aril-ui-table.mjs +23 -23
  121. package/fesm2022/aril-ui-table.mjs.map +1 -1
  122. package/fesm2022/aril-ui-tagBox.mjs.map +1 -1
  123. package/fesm2022/aril-ui-text.mjs +1 -1
  124. package/fesm2022/aril-ui-text.mjs.map +1 -1
  125. package/fesm2022/aril-ui-textArea.mjs +2 -2
  126. package/fesm2022/aril-ui-textArea.mjs.map +1 -1
  127. package/fesm2022/aril-ui-tree.mjs +4 -4
  128. package/fesm2022/aril-ui-tree.mjs.map +1 -1
  129. package/fesm2022/aril-ui-treeTable.mjs +2 -2
  130. package/fesm2022/aril-ui-treeTable.mjs.map +1 -1
  131. package/fesm2022/aril-ui.mjs.map +1 -1
  132. package/fesm2022/aril-util-custom_pages.mjs +108 -108
  133. package/fesm2022/aril-util-custom_pages.mjs.map +1 -1
  134. package/fesm2022/aril-util-lib.mjs +0 -3
  135. package/fesm2022/aril-util-lib.mjs.map +1 -1
  136. package/fesm2022/aril-util-loaders.mjs.map +1 -1
  137. package/fesm2022/aril-util-primitive-extensions.mjs.map +1 -1
  138. package/fesm2022/aril-util-pub-sub.mjs.map +1 -1
  139. package/fesm2022/aril-util.mjs.map +1 -1
  140. package/fesm2022/aril.mjs +3 -1
  141. package/fesm2022/aril.mjs.map +1 -1
  142. package/http/lib/enums.d.ts +1 -0
  143. package/keycloak/index.d.ts +2 -0
  144. package/keycloak/src/auth.interceptor.d.ts +2 -0
  145. package/keycloak/src/keycloak.manager.d.ts +24 -0
  146. package/package.json +10 -2
  147. package/styles/ui/ui.common.scss +24 -24
  148. package/theme/index.ts +1 -1
  149. package/theme/layout/app/config/app.config.component.d.ts +1 -1
  150. package/theme/layout/app/config/app.config.component.ts +4 -4
  151. package/theme/layout/app/layout/app.layout.component.d.ts +1 -1
  152. package/theme/layout/app/layout/app.layout.component.ts +6 -6
  153. package/theme/layout/app/layout/mfe.layout.component.ts +49 -49
  154. package/theme/layout/app/menu/app.menu.component.d.ts +2 -2
  155. package/theme/layout/app/menu/app.menu.component.ts +2 -2
  156. package/theme/layout/app/menu/app.sub.menu.component.html +13 -13
  157. package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +1 -1
  158. package/theme/layout/app/sidebar/app.sidebar.component.ts +1 -1
  159. package/theme/layout/app/topbar/app.topbar.component.d.ts +3 -2
  160. package/theme/layout/app/topbar/app.topbar.component.html +45 -37
  161. package/theme/layout/app/topbar/app.topbar.component.ts +32 -28
  162. package/theme/layout/service/app.layout.service.ts +178 -178
  163. package/theme/layout/service/app.menu.service.ts +59 -57
  164. package/theme/ng-package.json +6 -6
  165. package/theme/styles/theme/base/components/data/_paginator.scss +92 -92
  166. package/theme/styles/theme/dark/_variables.scss +918 -918
  167. package/theme/styles/theme/light/_variables.scss +911 -911
  168. package/ui/selectBox/src/select-box.component.d.ts +1 -1
  169. package/ui/table/src/table.component.d.ts +1 -1
  170. package/fesm2022/aril-app.component-tFlRp3qI.mjs.map +0 -1
  171. package/fesm2022/aril-aril--3c18nTH.mjs.map +0 -1
  172. package/fesm2022/aril-boot-mfe-app.component-wYzFs1Za.mjs.map +0 -1
@@ -113,4 +113,4 @@ Date.prototype.dateToLong = function (zoomLevel) {
113
113
  return Number(result);
114
114
  };
115
115
  export {};
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5leHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91dGlsL3ByaW1pdGl2ZS1leHRlbnNpb25zL3NyYy9kYXRlLmV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUc7SUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsVUFBVSxNQUFlO0lBQ3RELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUV0RSxRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLEtBQUssTUFBTTtZQUNWLE1BQU0sR0FBRyxPQUFPLENBQUM7WUFDakIsTUFBTTtRQUNQLEtBQUssTUFBTTtZQUNWLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQztZQUM5QixNQUFNO1FBQ1AsS0FBSyxRQUFRO1lBQ1osTUFBTSxHQUFHLHVCQUF1QixDQUFDO1lBQ2pDLE1BQU07UUFDUCxLQUFLLFFBQVE7WUFDWixNQUFNLEdBQUcsb0JBQW9CLENBQUM7WUFDOUIsTUFBTTtRQUNQLEtBQUssS0FBSztZQUNULE1BQU0sR0FBRyxjQUFjLENBQUM7WUFDeEIsTUFBTTtRQUNQLEtBQUssU0FBUztZQUNiLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDZCxNQUFNO1FBQ1AsS0FBSyxPQUFPO1lBQ1gsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUNyQixNQUFNO1FBQ1AsS0FBSyxVQUFVO1lBQ2QsTUFBTSxHQUFHLFNBQVMsQ0FBQztZQUNuQixNQUFNO1FBQ1AsS0FBSyxXQUFXO1lBQ2YsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNoQixNQUFNO1FBQ1As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QyxRQUFRLEVBQUUsQ0FBQztJQUMzQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9HLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUU3RixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakcsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pHLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV6RyxJQUFJLE1BQU0sQ0FBQztJQUNYLElBQUksQ0FBQyxTQUFTO1FBQUUsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUVsQyxRQUFRLFNBQVMsRUFBRSxDQUFDO1FBQ25CLEtBQUssTUFBTTtZQUNWLE1BQU0sR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyRCxNQUFNO1FBQ1AsS0FBSyxRQUFRO1lBQ1osTUFBTSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25ELE1BQU07UUFDUCxLQUFLLE1BQU07WUFDVixNQUFNLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUM1QyxNQUFNO1FBQ1AsS0FBSyxLQUFLO1lBQ1QsTUFBTSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztZQUN2QyxNQUFNO1FBQ1AsS0FBSyxPQUFPO1lBQ1gsTUFBTSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDO1lBQ25DLE1BQU07UUFDUCxLQUFLLE1BQU07WUFDVixNQUFNLEdBQUcsSUFBSSxHQUFHLFlBQVksQ0FBQztZQUM3QixNQUFNO1FBQ1A7WUFDQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO1lBQ3ZDLE1BQU07SUFDUixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZGVjbGFyZSBnbG9iYWwge1xyXG5cdGludGVyZmFjZSBEYXRlIHtcclxuXHRcdHNhZmVCb29sKCk6IGJvb2xlYW47XHJcblx0XHRkYXRlVG9TdHJpbmcoZm9ybWF0Pzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cdFx0ZGF0ZVRvTG9uZyh6b29tTGV2ZWw/OiBzdHJpbmcpOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblx0fVxyXG59XHJcblxyXG5EYXRlLnByb3RvdHlwZS5zYWZlQm9vbCA9IGZ1bmN0aW9uICgpOiBib29sZWFuIHtcclxuXHRyZXR1cm4gISF0aGlzO1xyXG59O1xyXG5cclxuRGF0ZS5wcm90b3R5cGUuZGF0ZVRvU3RyaW5nID0gZnVuY3Rpb24gKGZvcm1hdD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcblx0aWYgKCF0aGlzIHx8ICF0aGlzLmdldFRpbWUgfHwgaXNOYU4odGhpcy5nZXRUaW1lKCkpKSByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuXHRzd2l0Y2ggKGZvcm1hdCkge1xyXG5cdFx0Y2FzZSAnaG91cic6XHJcblx0XHRcdGZvcm1hdCA9ICdoaDptbSc7XHJcblx0XHRcdGJyZWFrO1xyXG5cdFx0Y2FzZSAndGltZSc6XHJcblx0XHRcdGZvcm1hdCA9ICdkZC9NTU1NL3l5eXkgaGg6bW0nO1xyXG5cdFx0XHRicmVhaztcclxuXHRcdGNhc2UgJ3NlY29uZCc6XHJcblx0XHRcdGZvcm1hdCA9ICdkZC9NTU1NL3l5eXkgaGg6bW06c3MnO1xyXG5cdFx0XHRicmVhaztcclxuXHRcdGNhc2UgJ21pbnV0ZSc6XHJcblx0XHRcdGZvcm1hdCA9ICdkZC9NTU1NL3l5eXkgaGg6bW0nO1xyXG5cdFx0XHRicmVhaztcclxuXHRcdGNhc2UgJ2RheSc6XHJcblx0XHRcdGZvcm1hdCA9ICdkZC9NTU1NL3l5eXknO1xyXG5cdFx0XHRicmVhaztcclxuXHRcdGNhc2UgJ29ubHlEYXknOlxyXG5cdFx0XHRmb3JtYXQgPSAnZGQnO1xyXG5cdFx0XHRicmVhaztcclxuXHRcdGNhc2UgJ21vbnRoJzpcclxuXHRcdFx0Zm9ybWF0ID0gJ01NTU0veXl5eSc7XHJcblx0XHRcdGJyZWFrO1xyXG5cdFx0Y2FzZSAnbW9udGhJbnQnOlxyXG5cdFx0XHRmb3JtYXQgPSAnTU0veXl5eSc7XHJcblx0XHRcdGJyZWFrO1xyXG5cdFx0Y2FzZSAnb25seU1vbnRoJzpcclxuXHRcdFx0Zm9ybWF0ID0gJ01NTU0nO1xyXG5cdFx0XHRicmVhaztcclxuXHRcdGNhc2UgJ3llYXInOlxyXG5cdFx0XHRmb3JtYXQgPSAneXl5eSc7XHJcblx0XHRcdGJyZWFrO1xyXG5cdFx0ZGVmYXVsdDpcclxuXHRcdFx0Zm9ybWF0ID0gZm9ybWF0ID8gZm9ybWF0IDogJ2RkL01NTU0veXl5eSc7XHJcblx0XHRcdGJyZWFrO1xyXG5cdH1cclxuXHJcblx0Y29uc3QgbW9udGhzID0gW1xyXG5cdFx0J09jYWsnLFxyXG5cdFx0J8WedWJhdCcsXHJcblx0XHQnTWFydCcsXHJcblx0XHQnTmlzYW4nLFxyXG5cdFx0J01hecSxcycsXHJcblx0XHQnSGF6aXJhbicsXHJcblx0XHQnVGVtbXV6JyxcclxuXHRcdCdBxJ91c3RvcycsXHJcblx0XHQnRXlsw7xsJyxcclxuXHRcdCdFa2ltJyxcclxuXHRcdCdLYXPEsW0nLFxyXG5cdFx0J0FyYWzEsWsnXHJcblx0XTtcclxuXHJcblx0Y29uc3QgeWVhciA9IHRoaXMuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xyXG5cdGNvbnN0IG1vbnRoID0gdGhpcy5nZXRNb250aCgpID49IDkgPyAodGhpcy5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKSA6ICcwJyArICh0aGlzLmdldE1vbnRoKCkgKyAxKS50b1N0cmluZygpO1xyXG5cdGNvbnN0IG1vbnRoVGV4dCA9IG1vbnRoc1t0aGlzLmdldE1vbnRoKCldO1xyXG5cdGNvbnN0IGRheSA9IHRoaXMuZ2V0RGF0ZSgpID4gOSA/IHRoaXMuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkgOiAnMCcgKyB0aGlzLmdldERhdGUoKS50b1N0cmluZygpO1xyXG5cdGNvbnN0IGhvdXIgPSB0aGlzLmdldEhvdXJzKCkgPiA5ID8gdGhpcy5nZXRIb3VycygpLnRvU3RyaW5nKCkgOiAnMCcgKyB0aGlzLmdldEhvdXJzKCkudG9TdHJpbmcoKTtcclxuXHRjb25zdCBtaW51dGUgPSB0aGlzLmdldE1pbnV0ZXMoKSA+IDkgPyB0aGlzLmdldE1pbnV0ZXMoKS50b1N0cmluZygpIDogJzAnICsgdGhpcy5nZXRNaW51dGVzKCkudG9TdHJpbmcoKTtcclxuXHRjb25zdCBzZWNvbmQgPSB0aGlzLmdldFNlY29uZHMoKSA+IDkgPyB0aGlzLmdldFNlY29uZHMoKS50b1N0cmluZygpIDogJzAnICsgdGhpcy5nZXRTZWNvbmRzKCkudG9TdHJpbmcoKTtcclxuXHJcblx0Y29uc3QgZGljdGlvbmFyeTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuXHRcdGRkOiBkYXksXHJcblx0XHRoaDogaG91cixcclxuXHRcdG1tOiBtaW51dGUsXHJcblx0XHRzczogc2Vjb25kLFxyXG5cdFx0eXl5eTogeWVhcixcclxuXHRcdE1NTU06IG1vbnRoVGV4dCxcclxuXHRcdE1NOiBtb250aFxyXG5cdH07XHJcblxyXG5cdGxldCByZXN1bHQgPSBmb3JtYXQ7XHJcblxyXG5cdGZvciAoY29uc3QgaSBpbiBkaWN0aW9uYXJ5KSB7XHJcblx0XHRyZXN1bHQgPSByZXN1bHQucmVwbGFjZShpLCBkaWN0aW9uYXJ5W2ldKTtcclxuXHR9XHJcblxyXG5cdHJldHVybiByZXN1bHQ7XHJcbn07XHJcblxyXG5EYXRlLnByb3RvdHlwZS5kYXRlVG9Mb25nID0gZnVuY3Rpb24gKHpvb21MZXZlbD86IHN0cmluZyk6IG51bWJlciB8IHVuZGVmaW5lZCB7XHJcblx0aWYgKCF0aGlzIHx8ICF0aGlzLmdldEZ1bGxZZWFyKSByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuXHRjb25zdCB5ZWFyID0gdGhpcy5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7XHJcblx0Y29uc3QgbW9udGggPSB0aGlzLmdldE1vbnRoKCkgPj0gOSA/ICh0aGlzLmdldE1vbnRoKCkgKyAxKS50b1N0cmluZygpIDogJzAnICsgKHRoaXMuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCk7XHJcblx0Y29uc3QgZGF5ID0gdGhpcy5nZXREYXRlKCkgPiA5ID8gdGhpcy5nZXREYXRlKCkudG9TdHJpbmcoKSA6ICcwJyArIHRoaXMuZ2V0RGF0ZSgpLnRvU3RyaW5nKCk7XHJcblxyXG5cdGNvbnN0IGhvdXIgPSB0aGlzLmdldEhvdXJzKCkgPiA5ID8gdGhpcy5nZXRIb3VycygpLnRvU3RyaW5nKCkgOiAnMCcgKyB0aGlzLmdldEhvdXJzKCkudG9TdHJpbmcoKTtcclxuXHRjb25zdCBtaW51dGUgPSB0aGlzLmdldE1pbnV0ZXMoKSA+IDkgPyB0aGlzLmdldE1pbnV0ZXMoKS50b1N0cmluZygpIDogJzAnICsgdGhpcy5nZXRNaW51dGVzKCkudG9TdHJpbmcoKTtcclxuXHRjb25zdCBzZWNvbmQgPSB0aGlzLmdldFNlY29uZHMoKSA+IDkgPyB0aGlzLmdldFNlY29uZHMoKS50b1N0cmluZygpIDogJzAnICsgdGhpcy5nZXRTZWNvbmRzKCkudG9TdHJpbmcoKTtcclxuXHJcblx0bGV0IHJlc3VsdDtcclxuXHRpZiAoIXpvb21MZXZlbCkgem9vbUxldmVsID0gJ2RheSc7XHJcblxyXG5cdHN3aXRjaCAoem9vbUxldmVsKSB7XHJcblx0XHRjYXNlICd0aW1lJzpcclxuXHRcdFx0cmVzdWx0ID0geWVhciArIG1vbnRoICsgZGF5ICsgaG91ciArIG1pbnV0ZSArIHNlY29uZDtcclxuXHRcdFx0YnJlYWs7XHJcblx0XHRjYXNlICdtaW51dGUnOlxyXG5cdFx0XHRyZXN1bHQgPSB5ZWFyICsgbW9udGggKyBkYXkgKyBob3VyICsgbWludXRlICsgJzAwJztcclxuXHRcdFx0YnJlYWs7XHJcblx0XHRjYXNlICdob3VyJzpcclxuXHRcdFx0cmVzdWx0ID0geWVhciArIG1vbnRoICsgZGF5ICsgaG91ciArICcwMDAwJztcclxuXHRcdFx0YnJlYWs7XHJcblx0XHRjYXNlICdkYXknOlxyXG5cdFx0XHRyZXN1bHQgPSB5ZWFyICsgbW9udGggKyBkYXkgKyAnMDAwMDAwJztcclxuXHRcdFx0YnJlYWs7XHJcblx0XHRjYXNlICdtb250aCc6XHJcblx0XHRcdHJlc3VsdCA9IHllYXIgKyBtb250aCArICcwMTAwMDAwMCc7XHJcblx0XHRcdGJyZWFrO1xyXG5cdFx0Y2FzZSAneWVhcic6XHJcblx0XHRcdHJlc3VsdCA9IHllYXIgKyAnMDEwMTAwMDAwMCc7XHJcblx0XHRcdGJyZWFrO1xyXG5cdFx0ZGVmYXVsdDpcclxuXHRcdFx0cmVzdWx0ID0geWVhciArIG1vbnRoICsgZGF5ICsgJzAwMDAwMCc7XHJcblx0XHRcdGJyZWFrO1xyXG5cdH1cclxuXHJcblx0cmV0dXJuIE51bWJlcihyZXN1bHQpO1xyXG59O1xyXG5cclxuZXhwb3J0IHt9O1xyXG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5leHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91dGlsL3ByaW1pdGl2ZS1leHRlbnNpb25zL3NyYy9kYXRlLmV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUc7SUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsVUFBVSxNQUFlO0lBQ3RELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUV0RSxRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLEtBQUssTUFBTTtZQUNWLE1BQU0sR0FBRyxPQUFPLENBQUM7WUFDakIsTUFBTTtRQUNQLEtBQUssTUFBTTtZQUNWLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQztZQUM5QixNQUFNO1FBQ1AsS0FBSyxRQUFRO1lBQ1osTUFBTSxHQUFHLHVCQUF1QixDQUFDO1lBQ2pDLE1BQU07UUFDUCxLQUFLLFFBQVE7WUFDWixNQUFNLEdBQUcsb0JBQW9CLENBQUM7WUFDOUIsTUFBTTtRQUNQLEtBQUssS0FBSztZQUNULE1BQU0sR0FBRyxjQUFjLENBQUM7WUFDeEIsTUFBTTtRQUNQLEtBQUssU0FBUztZQUNiLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDZCxNQUFNO1FBQ1AsS0FBSyxPQUFPO1lBQ1gsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUNyQixNQUFNO1FBQ1AsS0FBSyxVQUFVO1lBQ2QsTUFBTSxHQUFHLFNBQVMsQ0FBQztZQUNuQixNQUFNO1FBQ1AsS0FBSyxXQUFXO1lBQ2YsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNoQixNQUFNO1FBQ1As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QyxRQUFRLEVBQUUsQ0FBQztJQUMzQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9HLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUU3RixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakcsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pHLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV6RyxJQUFJLE1BQU0sQ0FBQztJQUNYLElBQUksQ0FBQyxTQUFTO1FBQUUsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUVsQyxRQUFRLFNBQVMsRUFBRSxDQUFDO1FBQ25CLEtBQUssTUFBTTtZQUNWLE1BQU0sR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyRCxNQUFNO1FBQ1AsS0FBSyxRQUFRO1lBQ1osTUFBTSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25ELE1BQU07UUFDUCxLQUFLLE1BQU07WUFDVixNQUFNLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUM1QyxNQUFNO1FBQ1AsS0FBSyxLQUFLO1lBQ1QsTUFBTSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztZQUN2QyxNQUFNO1FBQ1AsS0FBSyxPQUFPO1lBQ1gsTUFBTSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDO1lBQ25DLE1BQU07UUFDUCxLQUFLLE1BQU07WUFDVixNQUFNLEdBQUcsSUFBSSxHQUFHLFlBQVksQ0FBQztZQUM3QixNQUFNO1FBQ1A7WUFDQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO1lBQ3ZDLE1BQU07SUFDUixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZGVjbGFyZSBnbG9iYWwge1xuXHRpbnRlcmZhY2UgRGF0ZSB7XG5cdFx0c2FmZUJvb2woKTogYm9vbGVhbjtcblx0XHRkYXRlVG9TdHJpbmcoZm9ybWF0Pzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHRcdGRhdGVUb0xvbmcoem9vbUxldmVsPzogc3RyaW5nKTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHR9XG59XG5cbkRhdGUucHJvdG90eXBlLnNhZmVCb29sID0gZnVuY3Rpb24gKCk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISF0aGlzO1xufTtcblxuRGF0ZS5wcm90b3R5cGUuZGF0ZVRvU3RyaW5nID0gZnVuY3Rpb24gKGZvcm1hdD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGlmICghdGhpcyB8fCAhdGhpcy5nZXRUaW1lIHx8IGlzTmFOKHRoaXMuZ2V0VGltZSgpKSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuXHRzd2l0Y2ggKGZvcm1hdCkge1xuXHRcdGNhc2UgJ2hvdXInOlxuXHRcdFx0Zm9ybWF0ID0gJ2hoOm1tJztcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgJ3RpbWUnOlxuXHRcdFx0Zm9ybWF0ID0gJ2RkL01NTU0veXl5eSBoaDptbSc7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlICdzZWNvbmQnOlxuXHRcdFx0Zm9ybWF0ID0gJ2RkL01NTU0veXl5eSBoaDptbTpzcyc7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlICdtaW51dGUnOlxuXHRcdFx0Zm9ybWF0ID0gJ2RkL01NTU0veXl5eSBoaDptbSc7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlICdkYXknOlxuXHRcdFx0Zm9ybWF0ID0gJ2RkL01NTU0veXl5eSc7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlICdvbmx5RGF5Jzpcblx0XHRcdGZvcm1hdCA9ICdkZCc7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlICdtb250aCc6XG5cdFx0XHRmb3JtYXQgPSAnTU1NTS95eXl5Jztcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgJ21vbnRoSW50Jzpcblx0XHRcdGZvcm1hdCA9ICdNTS95eXl5Jztcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgJ29ubHlNb250aCc6XG5cdFx0XHRmb3JtYXQgPSAnTU1NTSc7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlICd5ZWFyJzpcblx0XHRcdGZvcm1hdCA9ICd5eXl5Jztcblx0XHRcdGJyZWFrO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRmb3JtYXQgPSBmb3JtYXQgPyBmb3JtYXQgOiAnZGQvTU1NTS95eXl5Jztcblx0XHRcdGJyZWFrO1xuXHR9XG5cblx0Y29uc3QgbW9udGhzID0gW1xuXHRcdCdPY2FrJyxcblx0XHQnxZ51YmF0Jyxcblx0XHQnTWFydCcsXG5cdFx0J05pc2FuJyxcblx0XHQnTWF5xLFzJyxcblx0XHQnSGF6aXJhbicsXG5cdFx0J1RlbW11eicsXG5cdFx0J0HEn3VzdG9zJyxcblx0XHQnRXlsw7xsJyxcblx0XHQnRWtpbScsXG5cdFx0J0thc8SxbScsXG5cdFx0J0FyYWzEsWsnXG5cdF07XG5cblx0Y29uc3QgeWVhciA9IHRoaXMuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xuXHRjb25zdCBtb250aCA9IHRoaXMuZ2V0TW9udGgoKSA+PSA5ID8gKHRoaXMuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkgOiAnMCcgKyAodGhpcy5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKTtcblx0Y29uc3QgbW9udGhUZXh0ID0gbW9udGhzW3RoaXMuZ2V0TW9udGgoKV07XG5cdGNvbnN0IGRheSA9IHRoaXMuZ2V0RGF0ZSgpID4gOSA/IHRoaXMuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkgOiAnMCcgKyB0aGlzLmdldERhdGUoKS50b1N0cmluZygpO1xuXHRjb25zdCBob3VyID0gdGhpcy5nZXRIb3VycygpID4gOSA/IHRoaXMuZ2V0SG91cnMoKS50b1N0cmluZygpIDogJzAnICsgdGhpcy5nZXRIb3VycygpLnRvU3RyaW5nKCk7XG5cdGNvbnN0IG1pbnV0ZSA9IHRoaXMuZ2V0TWludXRlcygpID4gOSA/IHRoaXMuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkgOiAnMCcgKyB0aGlzLmdldE1pbnV0ZXMoKS50b1N0cmluZygpO1xuXHRjb25zdCBzZWNvbmQgPSB0aGlzLmdldFNlY29uZHMoKSA+IDkgPyB0aGlzLmdldFNlY29uZHMoKS50b1N0cmluZygpIDogJzAnICsgdGhpcy5nZXRTZWNvbmRzKCkudG9TdHJpbmcoKTtcblxuXHRjb25zdCBkaWN0aW9uYXJ5OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuXHRcdGRkOiBkYXksXG5cdFx0aGg6IGhvdXIsXG5cdFx0bW06IG1pbnV0ZSxcblx0XHRzczogc2Vjb25kLFxuXHRcdHl5eXk6IHllYXIsXG5cdFx0TU1NTTogbW9udGhUZXh0LFxuXHRcdE1NOiBtb250aFxuXHR9O1xuXG5cdGxldCByZXN1bHQgPSBmb3JtYXQ7XG5cblx0Zm9yIChjb25zdCBpIGluIGRpY3Rpb25hcnkpIHtcblx0XHRyZXN1bHQgPSByZXN1bHQucmVwbGFjZShpLCBkaWN0aW9uYXJ5W2ldKTtcblx0fVxuXG5cdHJldHVybiByZXN1bHQ7XG59O1xuXG5EYXRlLnByb3RvdHlwZS5kYXRlVG9Mb25nID0gZnVuY3Rpb24gKHpvb21MZXZlbD86IHN0cmluZyk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG5cdGlmICghdGhpcyB8fCAhdGhpcy5nZXRGdWxsWWVhcikgcmV0dXJuIHVuZGVmaW5lZDtcblxuXHRjb25zdCB5ZWFyID0gdGhpcy5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7XG5cdGNvbnN0IG1vbnRoID0gdGhpcy5nZXRNb250aCgpID49IDkgPyAodGhpcy5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKSA6ICcwJyArICh0aGlzLmdldE1vbnRoKCkgKyAxKS50b1N0cmluZygpO1xuXHRjb25zdCBkYXkgPSB0aGlzLmdldERhdGUoKSA+IDkgPyB0aGlzLmdldERhdGUoKS50b1N0cmluZygpIDogJzAnICsgdGhpcy5nZXREYXRlKCkudG9TdHJpbmcoKTtcblxuXHRjb25zdCBob3VyID0gdGhpcy5nZXRIb3VycygpID4gOSA/IHRoaXMuZ2V0SG91cnMoKS50b1N0cmluZygpIDogJzAnICsgdGhpcy5nZXRIb3VycygpLnRvU3RyaW5nKCk7XG5cdGNvbnN0IG1pbnV0ZSA9IHRoaXMuZ2V0TWludXRlcygpID4gOSA/IHRoaXMuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkgOiAnMCcgKyB0aGlzLmdldE1pbnV0ZXMoKS50b1N0cmluZygpO1xuXHRjb25zdCBzZWNvbmQgPSB0aGlzLmdldFNlY29uZHMoKSA+IDkgPyB0aGlzLmdldFNlY29uZHMoKS50b1N0cmluZygpIDogJzAnICsgdGhpcy5nZXRTZWNvbmRzKCkudG9TdHJpbmcoKTtcblxuXHRsZXQgcmVzdWx0O1xuXHRpZiAoIXpvb21MZXZlbCkgem9vbUxldmVsID0gJ2RheSc7XG5cblx0c3dpdGNoICh6b29tTGV2ZWwpIHtcblx0XHRjYXNlICd0aW1lJzpcblx0XHRcdHJlc3VsdCA9IHllYXIgKyBtb250aCArIGRheSArIGhvdXIgKyBtaW51dGUgKyBzZWNvbmQ7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlICdtaW51dGUnOlxuXHRcdFx0cmVzdWx0ID0geWVhciArIG1vbnRoICsgZGF5ICsgaG91ciArIG1pbnV0ZSArICcwMCc7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlICdob3VyJzpcblx0XHRcdHJlc3VsdCA9IHllYXIgKyBtb250aCArIGRheSArIGhvdXIgKyAnMDAwMCc7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlICdkYXknOlxuXHRcdFx0cmVzdWx0ID0geWVhciArIG1vbnRoICsgZGF5ICsgJzAwMDAwMCc7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlICdtb250aCc6XG5cdFx0XHRyZXN1bHQgPSB5ZWFyICsgbW9udGggKyAnMDEwMDAwMDAnO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSAneWVhcic6XG5cdFx0XHRyZXN1bHQgPSB5ZWFyICsgJzAxMDEwMDAwMDAnO1xuXHRcdFx0YnJlYWs7XG5cdFx0ZGVmYXVsdDpcblx0XHRcdHJlc3VsdCA9IHllYXIgKyBtb250aCArIGRheSArICcwMDAwMDAnO1xuXHRcdFx0YnJlYWs7XG5cdH1cblxuXHRyZXR1cm4gTnVtYmVyKHJlc3VsdCk7XG59O1xuXG5leHBvcnQge307XG4iXX0=
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
27
27
  providedIn: 'root'
28
28
  }]
29
29
  }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHViLXN1Yi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91dGlsL3B1Yi1zdWIvc3JjL3B1Yi1zdWIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVM0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzNCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLG1CQUFtQixFQUFFLHFCQUFxQjtJQUMxQyxjQUFjLEVBQUUsZ0JBQWdCO0NBQ2hDLENBQUM7QUFLRixNQUFNLE9BQU8sYUFBYTtJQUN6QixPQUFPLENBQUMsQ0FBYztRQUNyQixhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxTQUFTLENBQUMsU0FBb0MsRUFBRSxRQUE2QjtRQUM1RSxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUMxQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFvQyxFQUFFLFFBQW9CO1FBQ3JFLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQWJXLGFBQWE7a0hBQWIsYUFBYSxjQUZiLE1BQU07OzJGQUVOLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxudHlwZSBDdXN0b21FdmVudCA9IHtcclxuXHRuYW1lOiBrZXlvZiB0eXBlb2YgUHViU3ViRXZlbnRzO1xyXG5cdGRhdGE6IHtcclxuXHRcdHBhdGg6IHN0cmluZztcclxuXHRcdGN1c3RvbT86IGFueTtcclxuXHR9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFB1YlN1YkV2ZW50cyA9IHtcclxuXHRwb3BzdGF0ZTogJ3BvcHN0YXRlJyxcclxuXHRuYXZpZ2F0ZUJldHdlZW5BcHBzOiAnbmF2aWdhdGVCZXR3ZWVuQXBwcycsXHJcblx0bmF2aWdhdGVJbkFwcHM6ICduYXZpZ2F0ZUluQXBwcydcclxufTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFB1YlN1YlNlcnZpY2Uge1xyXG5cdHB1Ymxpc2goZTogQ3VzdG9tRXZlbnQpIHtcclxuXHRcdGRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUubmFtZSwgeyBkZXRhaWw6IGUuZGF0YSB9KSk7XHJcblx0fVxyXG5cclxuXHRzdWJzY3JpYmUoZXZlbnROYW1lOiBrZXlvZiB0eXBlb2YgUHViU3ViRXZlbnRzLCBsaXN0ZW5lcjogKGRhdGE6IGFueSkgPT4gdm9pZCkge1xyXG5cdFx0YWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIChldmVudDogYW55KSA9PiB7XHJcblx0XHRcdGxpc3RlbmVyKGV2ZW50LmRldGFpbCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHVuU3Vic2NyaWJlKGV2ZW50TmFtZToga2V5b2YgdHlwZW9mIFB1YlN1YkV2ZW50cywgbGlzdGVuZXI6ICgpID0+IHZvaWQpIHtcclxuXHRcdHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBsaXN0ZW5lcik7XHJcblx0fVxyXG59XHJcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHViLXN1Yi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91dGlsL3B1Yi1zdWIvc3JjL3B1Yi1zdWIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVM0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzNCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLG1CQUFtQixFQUFFLHFCQUFxQjtJQUMxQyxjQUFjLEVBQUUsZ0JBQWdCO0NBQ2hDLENBQUM7QUFLRixNQUFNLE9BQU8sYUFBYTtJQUN6QixPQUFPLENBQUMsQ0FBYztRQUNyQixhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxTQUFTLENBQUMsU0FBb0MsRUFBRSxRQUE2QjtRQUM1RSxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUMxQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFvQyxFQUFFLFFBQW9CO1FBQ3JFLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQWJXLGFBQWE7a0hBQWIsYUFBYSxjQUZiLE1BQU07OzJGQUVOLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG50eXBlIEN1c3RvbUV2ZW50ID0ge1xuXHRuYW1lOiBrZXlvZiB0eXBlb2YgUHViU3ViRXZlbnRzO1xuXHRkYXRhOiB7XG5cdFx0cGF0aDogc3RyaW5nO1xuXHRcdGN1c3RvbT86IGFueTtcblx0fTtcbn07XG5cbmV4cG9ydCBjb25zdCBQdWJTdWJFdmVudHMgPSB7XG5cdHBvcHN0YXRlOiAncG9wc3RhdGUnLFxuXHRuYXZpZ2F0ZUJldHdlZW5BcHBzOiAnbmF2aWdhdGVCZXR3ZWVuQXBwcycsXG5cdG5hdmlnYXRlSW5BcHBzOiAnbmF2aWdhdGVJbkFwcHMnXG59O1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQdWJTdWJTZXJ2aWNlIHtcblx0cHVibGlzaChlOiBDdXN0b21FdmVudCkge1xuXHRcdGRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUubmFtZSwgeyBkZXRhaWw6IGUuZGF0YSB9KSk7XG5cdH1cblxuXHRzdWJzY3JpYmUoZXZlbnROYW1lOiBrZXlvZiB0eXBlb2YgUHViU3ViRXZlbnRzLCBsaXN0ZW5lcjogKGRhdGE6IGFueSkgPT4gdm9pZCkge1xuXHRcdGFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4ge1xuXHRcdFx0bGlzdGVuZXIoZXZlbnQuZGV0YWlsKTtcblx0XHR9KTtcblx0fVxuXG5cdHVuU3Vic2NyaWJlKGV2ZW50TmFtZToga2V5b2YgdHlwZW9mIFB1YlN1YkV2ZW50cywgbGlzdGVuZXI6ICgpID0+IHZvaWQpIHtcblx0XHRyZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgbGlzdGVuZXIpO1xuXHR9XG59XG4iXX0=
@@ -5,14 +5,16 @@ import { RouterOutlet } from '@angular/router';
5
5
  import { connectRouter, ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';
6
6
  import * as i3 from 'aril/theme/layout';
7
7
  import { AppLayoutComponent, MFELayoutComponent } from 'aril/theme/layout';
8
- import { a as appName, m as menuItems } from './aril-aril--3c18nTH.mjs';
8
+ import { a as appName, m as menuItems } from './aril-aril-D__IXMsf.mjs';
9
9
  import * as i2 from 'aril/util/pub-sub';
10
10
  import '@angular/common/http';
11
11
  import '@angular/platform-browser';
12
12
  import '@angular/platform-browser/animations';
13
13
  import 'primeng/api';
14
+ import 'keycloak-angular';
14
15
  import 'aril/http';
15
16
  import 'aril/i18n';
17
+ import 'aril/keycloak';
16
18
  import '@angular/elements';
17
19
  import 'aril/util/loaders';
18
20
 
@@ -34,28 +36,28 @@ class AppComponent {
34
36
  }
35
37
  }
36
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, deps: [{ token: i1.Router }, { token: i2.PubSubService }, { token: i3.AppMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
38
- @if (isMFEMode) {
39
- <mfe-layout></mfe-layout>
40
- } @else {
41
- <app-layout></app-layout>
42
- }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
40
+ @if (isMFEMode) {
41
+ <mfe-layout></mfe-layout>
42
+ } @else {
43
+ <app-layout></app-layout>
44
+ }
43
45
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type: AppLayoutComponent, selector: "app-layout" }, { kind: "component", type: MFELayoutComponent, selector: "mfe-layout" }] }); }
44
46
  }
45
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, decorators: [{
46
48
  type: Component,
47
49
  args: [{
48
50
  standalone: true,
49
- template: `
50
- @if (isMFEMode) {
51
- <mfe-layout></mfe-layout>
52
- } @else {
53
- <app-layout></app-layout>
54
- }
51
+ template: `
52
+ @if (isMFEMode) {
53
+ <mfe-layout></mfe-layout>
54
+ } @else {
55
+ <app-layout></app-layout>
56
+ }
55
57
  `,
56
58
  imports: [RouterOutlet, ModuleFederationToolsModule, AppLayoutComponent, MFELayoutComponent]
57
59
  }]
58
60
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.PubSubService }, { type: i3.AppMenuService }] });
59
61
 
60
62
  export { AppComponent };
61
- //# sourceMappingURL=aril-app.component-tFlRp3qI.mjs.map
63
+ //# sourceMappingURL=aril-app.component-sZDpvJDM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aril-app.component-sZDpvJDM.mjs","sources":["../../projects/aril/boot/mfe/src/app.component.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\n\nimport { ModuleFederationToolsModule, connectRouter } from '@angular-architects/module-federation-tools';\n\nimport { AppLayoutComponent, AppMenuService, MFELayoutComponent } from 'aril/theme/layout';\nimport { PubSubService } from 'aril/util/pub-sub';\n\nimport { appName, menuItems } from './bootstrap';\n\n@Component({\n\tstandalone: true,\n\ttemplate: `\n\t\t@if (isMFEMode) {\n\t\t\t<mfe-layout></mfe-layout>\n\t\t} @else {\n\t\t\t<app-layout></app-layout>\n\t\t}\n\t`,\n\timports: [RouterOutlet, ModuleFederationToolsModule, AppLayoutComponent, MFELayoutComponent]\n})\nexport class AppComponent {\n\tconstructor(router: Router, pubSubService: PubSubService, appMenuService: AppMenuService) {\n\t\tconnectRouter(router);\n\n\t\t(<any>globalThis).activeMF = appName;\n\n\t\tpubSubService.subscribe('navigateInApps', (data: any) => {\n\t\t\tif (data.path.startsWith(appName, 1)) router.navigateByUrl(data.path);\n\t\t});\n\n\t\tif (this.isMFEMode) {\n\t\t\tappMenuService.subMenuConfig.set({ items: structuredClone(menuItems), prefix: appName });\n\t\t} else {\n\t\t\tappMenuService.menuConfig.set({ items: structuredClone(menuItems), prefix: appName });\n\t\t}\n\t}\n\n\tisMFEMode = (<any>globalThis).isMFEMode;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;MAsBa,YAAY,CAAA;AACxB,IAAA,WAAA,CAAY,MAAc,EAAE,aAA4B,EAAE,cAA8B,EAAA;AAgBxF,QAAA,IAAA,CAAA,SAAS,GAAS,UAAW,CAAC,SAAS,CAAC;QAfvC,aAAa,CAAC,MAAM,CAAC,CAAC;AAEhB,QAAA,UAAW,CAAC,QAAQ,GAAG,OAAO,CAAC;QAErC,aAAa,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,IAAS,KAAI;YACvD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AAAE,gBAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvE,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;SACzF;aAAM;AACN,YAAA,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;SACtF;KACD;8GAfW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EATd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;AAMT,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACuB,2BAA2B,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE/E,YAAY,EAAA,UAAA,EAAA,CAAA;kBAXxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;;;AAMT,CAAA,CAAA;oBACD,OAAO,EAAE,CAAC,YAAY,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;AAC5F,iBAAA,CAAA;;;;;"}
@@ -1,11 +1,13 @@
1
- import { provideHttpClient } from '@angular/common/http';
1
+ import { provideHttpClient, withInterceptors } from '@angular/common/http';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, Renderer2, ElementRef, Component, ViewEncapsulation, ViewChild, NgZone, importProvidersFrom, Injectable, APP_INITIALIZER } from '@angular/core';
3
+ import { inject, Renderer2, ElementRef, Component, ViewEncapsulation, ViewChild, NgZone, importProvidersFrom, APP_INITIALIZER, Injectable } from '@angular/core';
4
4
  import { bootstrapApplication, createApplication } from '@angular/platform-browser';
5
5
  import { provideAnimations } from '@angular/platform-browser/animations';
6
6
  import { MessageService, ConfirmationService } from 'primeng/api';
7
+ import { KeycloakAngularModule } from 'keycloak-angular';
7
8
  import { API_TOKEN } from 'aril/http';
8
9
  import { i18nModule, i18nRootFileUrl } from 'aril/i18n';
10
+ import { authInterceptor, KeycloakManager } from 'aril/keycloak';
9
11
  import * as i1 from '@angular/router';
10
12
  import { RouterOutlet } from '@angular/router';
11
13
  import { WebComponentWrapper, ModuleFederationToolsModule, startsWith } from '@angular-architects/module-federation-tools';
@@ -72,16 +74,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
72
74
  }]
73
75
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.PubSubService }] });
74
76
 
75
- const boot$1 = (routerProvider, pluginInitializer, apiURL = '') => {
77
+ const boot$1 = (routerProvider, pluginInitializer, options, apiURL = '') => {
76
78
  const appConfig = {
77
79
  providers: [
78
80
  provideAnimations(),
79
- provideHttpClient(),
81
+ provideHttpClient(withInterceptors([authInterceptor])),
80
82
  routerProvider,
81
- importProvidersFrom(i18nModule),
83
+ importProvidersFrom(i18nModule, KeycloakAngularModule),
82
84
  MessageService,
83
85
  ConfirmationService,
84
86
  pluginInitializer,
87
+ {
88
+ provide: APP_INITIALIZER,
89
+ useFactory: (keycloak) => keycloak.init(options),
90
+ multi: true,
91
+ deps: [KeycloakManager]
92
+ },
85
93
  {
86
94
  provide: API_TOKEN,
87
95
  useValue: apiURL
@@ -128,7 +136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
128
136
  var appName;
129
137
  var menuItems = [];
130
138
  const appComponentLoader = async () => {
131
- const { AppComponent } = await import('./aril-app.component-tFlRp3qI.mjs');
139
+ const { AppComponent } = await import('./aril-app.component-sZDpvJDM.mjs');
132
140
  return AppComponent;
133
141
  };
134
142
  function loadStylesheets(styleLoaderService) {
@@ -146,18 +154,24 @@ function loadStylesheets(styleLoaderService) {
146
154
  return () => Promise.resolve();
147
155
  return () => styleLoaderService.load(styles);
148
156
  }
149
- const boot = (_appName, _routerProvider, _menuItems, _apiURL = '') => {
157
+ const boot = (_appName, _routerProvider, _menuItems, _options, _apiURL = '') => {
150
158
  appName = _appName;
151
159
  menuItems = _menuItems;
152
160
  const appConfig = {
153
161
  providers: [
154
162
  provideAnimations(),
155
- provideHttpClient(),
163
+ provideHttpClient(withInterceptors([authInterceptor])),
156
164
  _routerProvider,
157
- importProvidersFrom(i18nModule),
165
+ importProvidersFrom(i18nModule, KeycloakAngularModule),
158
166
  MessageService,
159
167
  ConfirmationService,
160
168
  globalThis.ngZone ? { provide: NgZone, useValue: globalThis.ngZone } : [],
169
+ {
170
+ provide: APP_INITIALIZER,
171
+ useFactory: (keycloak) => keycloak.init(_options),
172
+ multi: true,
173
+ deps: [KeycloakManager]
174
+ },
161
175
  {
162
176
  provide: APP_INITIALIZER,
163
177
  useFactory: loadStylesheets,
@@ -190,4 +204,4 @@ const aril = 'ARiL-UI-LIB';
190
204
  */
191
205
 
192
206
  export { appName as a, aril as b, menuItems as m };
193
- //# sourceMappingURL=aril-aril--3c18nTH.mjs.map
207
+ //# sourceMappingURL=aril-aril-D__IXMsf.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aril-aril-D__IXMsf.mjs","sources":["../../projects/aril/boot/host/src/services/showdowDOMWrapper.ts","../../projects/aril/boot/host/src/app.component.ts","../../projects/aril/boot/host/src/bootstrap.ts","../../projects/aril/boot/host/src/services/microFrontEnd.service.ts","../../projects/aril/boot/mfe/src/bootstrap.ts","../../projects/aril/public-api.ts","../../projects/aril/aril.ts"],"sourcesContent":["import { Component, ElementRef, OnInit, Renderer2, ViewChild, ViewEncapsulation, inject } from '@angular/core';\n\nimport { WebComponentWrapper } from '@angular-architects/module-federation-tools';\n\n@Component({\n\tstandalone: true,\n\ttemplate: '<div #vc></div>',\n\tencapsulation: ViewEncapsulation.ShadowDom\n})\nexport class ShadowDOMWrapperComponent extends WebComponentWrapper implements OnInit {\n\t@ViewChild('vc', { read: ElementRef, static: true }) override vc!: ElementRef;\n\n\tprivate renderer = inject(Renderer2);\n\n\tngOnInit(): void {\n\t\tconst shadowRoot = this.vc.nativeElement.parentNode;\n\t\tconst styleUrls = this['route'].snapshot.data.styleUrls || [];\n\n\t\t// Inject styles into the Shadow DOM\n\t\tstyleUrls.forEach((url: string) => {\n\t\t\tconst link = this.renderer.createElement('link');\n\t\t\tlink.setAttribute('rel', 'stylesheet');\n\t\t\tlink.setAttribute('type', 'text/css');\n\t\t\tlink.setAttribute('href', url);\n\t\t\tthis.renderer.appendChild(shadowRoot, link);\n\t\t});\n\t}\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, NgZone, inject } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\n\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\n\nimport { AppLayoutComponent } from 'aril/theme/layout';\nimport { PubSubService } from 'aril/util/pub-sub';\n\nimport { ShadowDOMWrapperComponent } from './services/showdowDOMWrapper';\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-root',\n\ttemplate: ` <app-layout></app-layout> `,\n\timports: [RouterOutlet, ModuleFederationToolsModule, ShadowDOMWrapperComponent, AppLayoutComponent]\n})\nexport class AppComponent {\n\tconstructor(router: Router, pubSubService: PubSubService) {\n\t\t(<any>globalThis).ngZone = inject(NgZone);\n\t\t(<any>globalThis).isMFEMode = true;\n\n\t\tpubSubService.subscribe('navigateBetweenApps', (data: any) => {\n\t\t\trouter.navigateByUrl(data.path);\n\t\t\tpubSubService.publish({\n\t\t\t\tname: 'navigateInApps',\n\t\t\t\tdata: data\n\t\t\t});\n\t\t});\n\t}\n}\n","import { provideHttpClient, withInterceptors } from '@angular/common/http';\nimport { APP_INITIALIZER, ApplicationConfig, EnvironmentProviders, importProvidersFrom } from '@angular/core';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideAnimations } from '@angular/platform-browser/animations';\n\nimport { ConfirmationService, MessageService } from 'primeng/api';\n\nimport { KeycloakAngularModule, KeycloakOptions } from 'keycloak-angular';\n\nimport { API_TOKEN } from 'aril/http';\nimport { i18nModule, i18nRootFileUrl } from 'aril/i18n';\nimport { KeycloakManager, authInterceptor } from 'aril/keycloak';\n\nimport { AppComponent } from './app.component';\nimport { PluginInitializer } from './services/plugin-init.token';\n\nexport const boot = (\n\trouterProvider: EnvironmentProviders,\n\tpluginInitializer: PluginInitializer,\n\toptions: KeycloakOptions,\n\tapiURL: string = ''\n) => {\n\tconst appConfig: ApplicationConfig = {\n\t\tproviders: [\n\t\t\tprovideAnimations(),\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\n\t\t\trouterProvider,\n\t\t\timportProvidersFrom(i18nModule, KeycloakAngularModule),\n\t\t\tMessageService,\n\t\t\tConfirmationService,\n\t\t\tpluginInitializer,\n\t\t\t{\n\t\t\t\tprovide: APP_INITIALIZER,\n\t\t\t\tuseFactory: (keycloak: KeycloakManager) => keycloak.init(options),\n\t\t\t\tmulti: true,\n\t\t\t\tdeps: [KeycloakManager]\n\t\t\t},\n\t\t\t{\n\t\t\t\tprovide: API_TOKEN,\n\t\t\t\tuseValue: apiURL\n\t\t\t},\n\t\t\t{\n\t\t\t\tprovide: i18nRootFileUrl,\n\t\t\t\tuseValue: 'host'\n\t\t\t}\n\t\t]\n\t};\n\n\tbootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));\n};\n","import { Injectable, inject } from '@angular/core';\nimport { Routes } from '@angular/router';\n\nimport { MenuItem } from 'primeng/api';\n\nimport {\n\tWebComponentWrapper,\n\tWebComponentWrapperOptions,\n\tstartsWith\n} from '@angular-architects/module-federation-tools';\n\nimport { AppMenuService } from 'aril/theme/layout';\n\nimport { CustomRemoteConfig } from './custom-manifest';\nimport { ShadowDOMWrapperComponent } from './showdowDOMWrapper';\n\n@Injectable({ providedIn: 'root' })\nexport class MicroFrontendService {\n\tprivate appMenuService = inject(AppMenuService);\n\n\tbuildRoutes(plugins: CustomRemoteConfig[]): Routes {\n\t\tconst mfeRoutes: Routes = plugins.map((config) => ({\n\t\t\tmatcher: startsWith(config.remoteName),\n\t\t\tcomponent: config.shadowDomPassive ? WebComponentWrapper : ShadowDOMWrapperComponent,\n\t\t\tdata: config as WebComponentWrapperOptions\n\t\t}));\n\n\t\treturn mfeRoutes;\n\t}\n\n\tsetMenuItems(plugins: CustomRemoteConfig[]): void {\n\t\tconst menuItems: MenuItem[] = plugins.map((config) => {\n\t\t\treturn {\n\t\t\t\tlabel: config.remoteName,\n\t\t\t\ticon: 'pi pi-fw pi-bars',\n\t\t\t\trouterLink: config.remoteName\n\t\t\t};\n\t\t});\n\n\t\tthis.appMenuService.menuConfig.set({ items: menuItems });\n\t}\n}\n","import { provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport {\r\n\tAPP_INITIALIZER,\r\n\tApplicationConfig,\r\n\tEnvironmentProviders,\r\n\tNgZone,\r\n\timportProvidersFrom,\r\n\tisDevMode\r\n} from '@angular/core';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { createApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\n\r\nimport { ConfirmationService, MenuItem, MessageService } from 'primeng/api';\r\n\r\nimport { KeycloakAngularModule, KeycloakOptions } from 'keycloak-angular';\r\n\r\nimport { API_TOKEN, APIs } from 'aril/http';\r\nimport { i18nModule, i18nRootFileUrl } from 'aril/i18n';\r\nimport { KeycloakManager, authInterceptor } from 'aril/keycloak';\r\nimport { StyleLoaderService } from 'aril/util/loaders';\r\n\r\nexport var appName: APIs | undefined;\r\nexport var menuItems: MenuItem[] = [];\r\n\r\nconst appComponentLoader = async () => {\r\n\tconst { AppComponent } = await import('./app.component');\r\n\treturn AppComponent;\r\n};\r\n\r\nfunction loadStylesheets(styleLoaderService: StyleLoaderService): () => Promise<any> {\r\n\tconst styles = [\r\n\t\t'layout.css',\r\n\t\t'ui.common.css',\r\n\t\t'preloading.css',\r\n\t\t'theme.light.indigo.css',\r\n\t\t`assets/${appName}/styles/primeng.min.css`,\r\n\t\t`assets/${appName}/styles/primeflex/primeflex.min.css`,\r\n\t\t`assets/${appName}/styles/primeicons/primeicons.css`,\r\n\t\t`assets/${appName}/styles/dx.fluent.saas.light.css`\r\n\t];\r\n\r\n\tif ((<any>globalThis).isMFEMode) return () => Promise.resolve();\r\n\r\n\treturn () => styleLoaderService.load(styles);\r\n}\r\n\r\nexport const boot = (\r\n\t_appName: APIs | undefined,\r\n\t_routerProvider: EnvironmentProviders,\r\n\t_menuItems: MenuItem[],\r\n\t_options: KeycloakOptions,\r\n\t_apiURL: string = ''\r\n) => {\r\n\tappName = _appName;\r\n\tmenuItems = _menuItems;\r\n\r\n\tconst appConfig: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\r\n\t\t\t_routerProvider,\r\n\t\t\timportProvidersFrom(i18nModule, KeycloakAngularModule),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\t(<any>globalThis).ngZone ? { provide: NgZone, useValue: (<any>globalThis).ngZone } : [],\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: (keycloak: KeycloakManager) => keycloak.init(_options),\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [KeycloakManager]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: loadStylesheets,\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [StyleLoaderService]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: API_TOKEN,\r\n\t\t\t\tuseValue: _apiURL\r\n\t\t\t\t// useValue: isDevMode() ? 'http://thor.edas1.com/crm/v1' : _appName + '/v1'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nRootFileUrl,\r\n\t\t\t\tuseValue: _appName\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tcreateApplication(appConfig).then((appRef) => {\r\n\t\tappComponentLoader().then((AppComponent) => {\r\n\t\t\tconst app = createCustomElement(AppComponent, { injector: appRef.injector });\r\n\t\t\tcustomElements.define(`app-${appName}`, app);\r\n\t\t});\r\n\t});\r\n};\r\n","import './boot/host/index';\nimport './boot/mfe/index';\n\nexport const aril = 'ARiL-UI-LIB';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["boot"],"mappings":"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"}
@@ -1,11 +1,13 @@
1
- import { provideHttpClient } from '@angular/common/http';
1
+ import { provideHttpClient, withInterceptors } from '@angular/common/http';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, Renderer2, ElementRef, Component, ViewEncapsulation, ViewChild, NgZone, importProvidersFrom, Injectable } from '@angular/core';
3
+ import { inject, Renderer2, ElementRef, Component, ViewEncapsulation, ViewChild, NgZone, importProvidersFrom, APP_INITIALIZER, Injectable } from '@angular/core';
4
4
  import { bootstrapApplication } from '@angular/platform-browser';
5
5
  import { provideAnimations } from '@angular/platform-browser/animations';
6
6
  import { MessageService, ConfirmationService } from 'primeng/api';
7
+ import { KeycloakAngularModule } from 'keycloak-angular';
7
8
  import { API_TOKEN } from 'aril/http';
8
9
  import { i18nModule, i18nRootFileUrl } from 'aril/i18n';
10
+ import { authInterceptor, KeycloakManager } from 'aril/keycloak';
9
11
  import * as i1 from '@angular/router';
10
12
  import { RouterOutlet } from '@angular/router';
11
13
  import { WebComponentWrapper, ModuleFederationToolsModule, startsWith } from '@angular-architects/module-federation-tools';
@@ -70,16 +72,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
70
72
  }]
71
73
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.PubSubService }] });
72
74
 
73
- const boot = (routerProvider, pluginInitializer, apiURL = '') => {
75
+ const boot = (routerProvider, pluginInitializer, options, apiURL = '') => {
74
76
  const appConfig = {
75
77
  providers: [
76
78
  provideAnimations(),
77
- provideHttpClient(),
79
+ provideHttpClient(withInterceptors([authInterceptor])),
78
80
  routerProvider,
79
- importProvidersFrom(i18nModule),
81
+ importProvidersFrom(i18nModule, KeycloakAngularModule),
80
82
  MessageService,
81
83
  ConfirmationService,
82
84
  pluginInitializer,
85
+ {
86
+ provide: APP_INITIALIZER,
87
+ useFactory: (keycloak) => keycloak.init(options),
88
+ multi: true,
89
+ deps: [KeycloakManager]
90
+ },
83
91
  {
84
92
  provide: API_TOKEN,
85
93
  useValue: apiURL
@@ -1 +1 @@
1
- {"version":3,"file":"aril-boot-host.mjs","sources":["../../projects/aril/boot/host/src/services/showdowDOMWrapper.ts","../../projects/aril/boot/host/src/app.component.ts","../../projects/aril/boot/host/src/bootstrap.ts","../../projects/aril/boot/host/src/services/microFrontEnd.service.ts","../../projects/aril/boot/host/aril-boot-host.ts"],"sourcesContent":["import { Component, ElementRef, OnInit, Renderer2, ViewChild, ViewEncapsulation, inject } from '@angular/core';\r\n\r\nimport { WebComponentWrapper } from '@angular-architects/module-federation-tools';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\ttemplate: '<div #vc></div>',\r\n\tencapsulation: ViewEncapsulation.ShadowDom\r\n})\r\nexport class ShadowDOMWrapperComponent extends WebComponentWrapper implements OnInit {\r\n\t@ViewChild('vc', { read: ElementRef, static: true }) override vc!: ElementRef;\r\n\r\n\tprivate renderer = inject(Renderer2);\r\n\r\n\tngOnInit(): void {\r\n\t\tconst shadowRoot = this.vc.nativeElement.parentNode;\r\n\t\tconst styleUrls = this['route'].snapshot.data.styleUrls || [];\r\n\r\n\t\t// Inject styles into the Shadow DOM\r\n\t\tstyleUrls.forEach((url: string) => {\r\n\t\t\tconst link = this.renderer.createElement('link');\r\n\t\t\tlink.setAttribute('rel', 'stylesheet');\r\n\t\t\tlink.setAttribute('type', 'text/css');\r\n\t\t\tlink.setAttribute('href', url);\r\n\t\t\tthis.renderer.appendChild(shadowRoot, link);\r\n\t\t});\r\n\t}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\n\r\nimport { Component, NgZone, inject } from '@angular/core';\r\nimport { Router, RouterOutlet } from '@angular/router';\r\n\r\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\r\n\r\nimport { AppLayoutComponent } from 'aril/theme/layout';\r\nimport { PubSubService } from 'aril/util/pub-sub';\r\n\r\nimport { ShadowDOMWrapperComponent } from './services/showdowDOMWrapper';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-root',\r\n\ttemplate: ` <app-layout></app-layout> `,\r\n\timports: [RouterOutlet, ModuleFederationToolsModule, ShadowDOMWrapperComponent, AppLayoutComponent]\r\n})\r\nexport class AppComponent {\r\n\tconstructor(router: Router, pubSubService: PubSubService) {\r\n\t\t(<any>globalThis).ngZone = inject(NgZone);\r\n\t\t(<any>globalThis).isMFEMode = true;\r\n\r\n\t\tpubSubService.subscribe('navigateBetweenApps', (data: any) => {\r\n\t\t\trouter.navigateByUrl(data.path);\r\n\t\t\tpubSubService.publish({\r\n\t\t\t\tname: 'navigateInApps',\r\n\t\t\t\tdata: data\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n","import { provideHttpClient } from '@angular/common/http';\r\nimport { ApplicationConfig, EnvironmentProviders, importProvidersFrom } from '@angular/core';\r\nimport { bootstrapApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\n\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\n\r\nimport { API_TOKEN } from 'aril/http';\r\nimport { i18nModule, i18nRootFileUrl } from 'aril/i18n';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { PluginInitializer } from './services/plugin-init.token';\r\n\r\nexport const boot = (\r\n\trouterProvider: EnvironmentProviders,\r\n\tpluginInitializer: PluginInitializer,\r\n\tapiURL: string = ''\r\n) => {\r\n\tconst appConfig: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(),\r\n\t\t\trouterProvider,\r\n\t\t\timportProvidersFrom(i18nModule),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\tpluginInitializer,\r\n\t\t\t{\r\n\t\t\t\tprovide: API_TOKEN,\r\n\t\t\t\tuseValue: apiURL\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nRootFileUrl,\r\n\t\t\t\tuseValue: 'host'\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tbootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));\r\n};\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { Routes } from '@angular/router';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nimport {\r\n\tWebComponentWrapper,\r\n\tWebComponentWrapperOptions,\r\n\tstartsWith\r\n} from '@angular-architects/module-federation-tools';\r\n\r\nimport { AppMenuService } from 'aril/theme/layout';\r\n\r\nimport { CustomRemoteConfig } from './custom-manifest';\r\nimport { ShadowDOMWrapperComponent } from './showdowDOMWrapper';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MicroFrontendService {\r\n\tprivate appMenuService = inject(AppMenuService);\r\n\r\n\tbuildRoutes(plugins: CustomRemoteConfig[]): Routes {\r\n\t\tconst mfeRoutes: Routes = plugins.map((config) => ({\r\n\t\t\tmatcher: startsWith(config.remoteName),\r\n\t\t\tcomponent: config.shadowDomPassive ? WebComponentWrapper : ShadowDOMWrapperComponent,\r\n\t\t\tdata: config as WebComponentWrapperOptions\r\n\t\t}));\r\n\r\n\t\treturn mfeRoutes;\r\n\t}\r\n\r\n\tsetMenuItems(plugins: CustomRemoteConfig[]): void {\r\n\t\tconst menuItems: MenuItem[] = plugins.map((config) => {\r\n\t\t\treturn {\r\n\t\t\t\tlabel: config.remoteName,\r\n\t\t\t\ticon: 'pi pi-fw pi-bars',\r\n\t\t\t\trouterLink: config.remoteName\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\tthis.appMenuService.menuConfig.set({ items: menuItems });\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aril-boot-host.mjs","sources":["../../projects/aril/boot/host/src/services/showdowDOMWrapper.ts","../../projects/aril/boot/host/src/app.component.ts","../../projects/aril/boot/host/src/bootstrap.ts","../../projects/aril/boot/host/src/services/microFrontEnd.service.ts","../../projects/aril/boot/host/aril-boot-host.ts"],"sourcesContent":["import { Component, ElementRef, OnInit, Renderer2, ViewChild, ViewEncapsulation, inject } from '@angular/core';\n\nimport { WebComponentWrapper } from '@angular-architects/module-federation-tools';\n\n@Component({\n\tstandalone: true,\n\ttemplate: '<div #vc></div>',\n\tencapsulation: ViewEncapsulation.ShadowDom\n})\nexport class ShadowDOMWrapperComponent extends WebComponentWrapper implements OnInit {\n\t@ViewChild('vc', { read: ElementRef, static: true }) override vc!: ElementRef;\n\n\tprivate renderer = inject(Renderer2);\n\n\tngOnInit(): void {\n\t\tconst shadowRoot = this.vc.nativeElement.parentNode;\n\t\tconst styleUrls = this['route'].snapshot.data.styleUrls || [];\n\n\t\t// Inject styles into the Shadow DOM\n\t\tstyleUrls.forEach((url: string) => {\n\t\t\tconst link = this.renderer.createElement('link');\n\t\t\tlink.setAttribute('rel', 'stylesheet');\n\t\t\tlink.setAttribute('type', 'text/css');\n\t\t\tlink.setAttribute('href', url);\n\t\t\tthis.renderer.appendChild(shadowRoot, link);\n\t\t});\n\t}\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, NgZone, inject } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\n\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\n\nimport { AppLayoutComponent } from 'aril/theme/layout';\nimport { PubSubService } from 'aril/util/pub-sub';\n\nimport { ShadowDOMWrapperComponent } from './services/showdowDOMWrapper';\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-root',\n\ttemplate: ` <app-layout></app-layout> `,\n\timports: [RouterOutlet, ModuleFederationToolsModule, ShadowDOMWrapperComponent, AppLayoutComponent]\n})\nexport class AppComponent {\n\tconstructor(router: Router, pubSubService: PubSubService) {\n\t\t(<any>globalThis).ngZone = inject(NgZone);\n\t\t(<any>globalThis).isMFEMode = true;\n\n\t\tpubSubService.subscribe('navigateBetweenApps', (data: any) => {\n\t\t\trouter.navigateByUrl(data.path);\n\t\t\tpubSubService.publish({\n\t\t\t\tname: 'navigateInApps',\n\t\t\t\tdata: data\n\t\t\t});\n\t\t});\n\t}\n}\n","import { provideHttpClient, withInterceptors } from '@angular/common/http';\nimport { APP_INITIALIZER, ApplicationConfig, EnvironmentProviders, importProvidersFrom } from '@angular/core';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideAnimations } from '@angular/platform-browser/animations';\n\nimport { ConfirmationService, MessageService } from 'primeng/api';\n\nimport { KeycloakAngularModule, KeycloakOptions } from 'keycloak-angular';\n\nimport { API_TOKEN } from 'aril/http';\nimport { i18nModule, i18nRootFileUrl } from 'aril/i18n';\nimport { KeycloakManager, authInterceptor } from 'aril/keycloak';\n\nimport { AppComponent } from './app.component';\nimport { PluginInitializer } from './services/plugin-init.token';\n\nexport const boot = (\n\trouterProvider: EnvironmentProviders,\n\tpluginInitializer: PluginInitializer,\n\toptions: KeycloakOptions,\n\tapiURL: string = ''\n) => {\n\tconst appConfig: ApplicationConfig = {\n\t\tproviders: [\n\t\t\tprovideAnimations(),\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\n\t\t\trouterProvider,\n\t\t\timportProvidersFrom(i18nModule, KeycloakAngularModule),\n\t\t\tMessageService,\n\t\t\tConfirmationService,\n\t\t\tpluginInitializer,\n\t\t\t{\n\t\t\t\tprovide: APP_INITIALIZER,\n\t\t\t\tuseFactory: (keycloak: KeycloakManager) => keycloak.init(options),\n\t\t\t\tmulti: true,\n\t\t\t\tdeps: [KeycloakManager]\n\t\t\t},\n\t\t\t{\n\t\t\t\tprovide: API_TOKEN,\n\t\t\t\tuseValue: apiURL\n\t\t\t},\n\t\t\t{\n\t\t\t\tprovide: i18nRootFileUrl,\n\t\t\t\tuseValue: 'host'\n\t\t\t}\n\t\t]\n\t};\n\n\tbootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));\n};\n","import { Injectable, inject } from '@angular/core';\nimport { Routes } from '@angular/router';\n\nimport { MenuItem } from 'primeng/api';\n\nimport {\n\tWebComponentWrapper,\n\tWebComponentWrapperOptions,\n\tstartsWith\n} from '@angular-architects/module-federation-tools';\n\nimport { AppMenuService } from 'aril/theme/layout';\n\nimport { CustomRemoteConfig } from './custom-manifest';\nimport { ShadowDOMWrapperComponent } from './showdowDOMWrapper';\n\n@Injectable({ providedIn: 'root' })\nexport class MicroFrontendService {\n\tprivate appMenuService = inject(AppMenuService);\n\n\tbuildRoutes(plugins: CustomRemoteConfig[]): Routes {\n\t\tconst mfeRoutes: Routes = plugins.map((config) => ({\n\t\t\tmatcher: startsWith(config.remoteName),\n\t\t\tcomponent: config.shadowDomPassive ? WebComponentWrapper : ShadowDOMWrapperComponent,\n\t\t\tdata: config as WebComponentWrapperOptions\n\t\t}));\n\n\t\treturn mfeRoutes;\n\t}\n\n\tsetMenuItems(plugins: CustomRemoteConfig[]): void {\n\t\tconst menuItems: MenuItem[] = plugins.map((config) => {\n\t\t\treturn {\n\t\t\t\tlabel: config.remoteName,\n\t\t\t\ticon: 'pi pi-fw pi-bars',\n\t\t\t\trouterLink: config.remoteName\n\t\t\t};\n\t\t});\n\n\t\tthis.appMenuService.menuConfig.set({ items: menuItems });\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -12,8 +12,10 @@ import '@angular/elements';
12
12
  import '@angular/platform-browser';
13
13
  import '@angular/platform-browser/animations';
14
14
  import 'primeng/api';
15
+ import 'keycloak-angular';
15
16
  import 'aril/http';
16
17
  import 'aril/i18n';
18
+ import 'aril/keycloak';
17
19
  import 'aril/util/loaders';
18
20
 
19
21
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -34,28 +36,28 @@ class AppComponent {
34
36
  }
35
37
  }
36
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, deps: [{ token: i1.Router }, { token: i2.PubSubService }, { token: i3.AppMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
38
- @if (isMFEMode) {
39
- <mfe-layout></mfe-layout>
40
- } @else {
41
- <app-layout></app-layout>
42
- }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
40
+ @if (isMFEMode) {
41
+ <mfe-layout></mfe-layout>
42
+ } @else {
43
+ <app-layout></app-layout>
44
+ }
43
45
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type: AppLayoutComponent, selector: "app-layout" }, { kind: "component", type: MFELayoutComponent, selector: "mfe-layout" }] }); }
44
46
  }
45
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, decorators: [{
46
48
  type: Component,
47
49
  args: [{
48
50
  standalone: true,
49
- template: `
50
- @if (isMFEMode) {
51
- <mfe-layout></mfe-layout>
52
- } @else {
53
- <app-layout></app-layout>
54
- }
51
+ template: `
52
+ @if (isMFEMode) {
53
+ <mfe-layout></mfe-layout>
54
+ } @else {
55
+ <app-layout></app-layout>
56
+ }
55
57
  `,
56
58
  imports: [RouterOutlet, ModuleFederationToolsModule, AppLayoutComponent, MFELayoutComponent]
57
59
  }]
58
60
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.PubSubService }, { type: i3.AppMenuService }] });
59
61
 
60
62
  export { AppComponent };
61
- //# sourceMappingURL=aril-boot-mfe-app.component-wYzFs1Za.mjs.map
63
+ //# sourceMappingURL=aril-boot-mfe-app.component-zro0FnKY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aril-boot-mfe-app.component-zro0FnKY.mjs","sources":["../../projects/aril/boot/mfe/src/app.component.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\n\nimport { ModuleFederationToolsModule, connectRouter } from '@angular-architects/module-federation-tools';\n\nimport { AppLayoutComponent, AppMenuService, MFELayoutComponent } from 'aril/theme/layout';\nimport { PubSubService } from 'aril/util/pub-sub';\n\nimport { appName, menuItems } from './bootstrap';\n\n@Component({\n\tstandalone: true,\n\ttemplate: `\n\t\t@if (isMFEMode) {\n\t\t\t<mfe-layout></mfe-layout>\n\t\t} @else {\n\t\t\t<app-layout></app-layout>\n\t\t}\n\t`,\n\timports: [RouterOutlet, ModuleFederationToolsModule, AppLayoutComponent, MFELayoutComponent]\n})\nexport class AppComponent {\n\tconstructor(router: Router, pubSubService: PubSubService, appMenuService: AppMenuService) {\n\t\tconnectRouter(router);\n\n\t\t(<any>globalThis).activeMF = appName;\n\n\t\tpubSubService.subscribe('navigateInApps', (data: any) => {\n\t\t\tif (data.path.startsWith(appName, 1)) router.navigateByUrl(data.path);\n\t\t});\n\n\t\tif (this.isMFEMode) {\n\t\t\tappMenuService.subMenuConfig.set({ items: structuredClone(menuItems), prefix: appName });\n\t\t} else {\n\t\t\tappMenuService.menuConfig.set({ items: structuredClone(menuItems), prefix: appName });\n\t\t}\n\t}\n\n\tisMFEMode = (<any>globalThis).isMFEMode;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;MAsBa,YAAY,CAAA;AACxB,IAAA,WAAA,CAAY,MAAc,EAAE,aAA4B,EAAE,cAA8B,EAAA;AAgBxF,QAAA,IAAA,CAAA,SAAS,GAAS,UAAW,CAAC,SAAS,CAAC;QAfvC,aAAa,CAAC,MAAM,CAAC,CAAC;AAEhB,QAAA,UAAW,CAAC,QAAQ,GAAG,OAAO,CAAC;QAErC,aAAa,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,IAAS,KAAI;YACvD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AAAE,gBAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvE,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;SACzF;aAAM;AACN,YAAA,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;SACtF;KACD;8GAfW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EATd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;AAMT,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACuB,2BAA2B,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE/E,YAAY,EAAA,UAAA,EAAA,CAAA;kBAXxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;;;AAMT,CAAA,CAAA;oBACD,OAAO,EAAE,CAAC,YAAY,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;AAC5F,iBAAA,CAAA;;;;;"}
@@ -1,17 +1,19 @@
1
- import { provideHttpClient } from '@angular/common/http';
1
+ import { provideHttpClient, withInterceptors } from '@angular/common/http';
2
2
  import { importProvidersFrom, NgZone, APP_INITIALIZER } from '@angular/core';
3
3
  import { createCustomElement } from '@angular/elements';
4
4
  import { createApplication } from '@angular/platform-browser';
5
5
  import { provideAnimations } from '@angular/platform-browser/animations';
6
6
  import { MessageService, ConfirmationService } from 'primeng/api';
7
+ import { KeycloakAngularModule } from 'keycloak-angular';
7
8
  import { API_TOKEN } from 'aril/http';
8
9
  import { i18nModule, i18nRootFileUrl } from 'aril/i18n';
10
+ import { authInterceptor, KeycloakManager } from 'aril/keycloak';
9
11
  import { StyleLoaderService } from 'aril/util/loaders';
10
12
 
11
13
  var appName;
12
14
  var menuItems = [];
13
15
  const appComponentLoader = async () => {
14
- const { AppComponent } = await import('./aril-boot-mfe-app.component-wYzFs1Za.mjs');
16
+ const { AppComponent } = await import('./aril-boot-mfe-app.component-zro0FnKY.mjs');
15
17
  return AppComponent;
16
18
  };
17
19
  function loadStylesheets(styleLoaderService) {
@@ -29,18 +31,24 @@ function loadStylesheets(styleLoaderService) {
29
31
  return () => Promise.resolve();
30
32
  return () => styleLoaderService.load(styles);
31
33
  }
32
- const boot = (_appName, _routerProvider, _menuItems, _apiURL = '') => {
34
+ const boot = (_appName, _routerProvider, _menuItems, _options, _apiURL = '') => {
33
35
  appName = _appName;
34
36
  menuItems = _menuItems;
35
37
  const appConfig = {
36
38
  providers: [
37
39
  provideAnimations(),
38
- provideHttpClient(),
40
+ provideHttpClient(withInterceptors([authInterceptor])),
39
41
  _routerProvider,
40
- importProvidersFrom(i18nModule),
42
+ importProvidersFrom(i18nModule, KeycloakAngularModule),
41
43
  MessageService,
42
44
  ConfirmationService,
43
45
  globalThis.ngZone ? { provide: NgZone, useValue: globalThis.ngZone } : [],
46
+ {
47
+ provide: APP_INITIALIZER,
48
+ useFactory: (keycloak) => keycloak.init(_options),
49
+ multi: true,
50
+ deps: [KeycloakManager]
51
+ },
44
52
  {
45
53
  provide: APP_INITIALIZER,
46
54
  useFactory: loadStylesheets,
@@ -1 +1 @@
1
- {"version":3,"file":"aril-boot-mfe.mjs","sources":["../../projects/aril/boot/mfe/src/bootstrap.ts","../../projects/aril/boot/mfe/aril-boot-mfe.ts"],"sourcesContent":["import { provideHttpClient } from '@angular/common/http';\r\nimport {\r\n\tAPP_INITIALIZER,\r\n\tApplicationConfig,\r\n\tEnvironmentProviders,\r\n\tNgZone,\r\n\timportProvidersFrom,\r\n\tisDevMode\r\n} from '@angular/core';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { createApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\n\r\nimport { ConfirmationService, MenuItem, MessageService } from 'primeng/api';\r\n\r\nimport { API_TOKEN, APIs } from 'aril/http';\r\nimport { i18nModule, i18nRootFileUrl } from 'aril/i18n';\r\nimport { StyleLoaderService } from 'aril/util/loaders';\r\n\r\nexport var appName: APIs | undefined;\r\nexport var menuItems: MenuItem[] = [];\r\n\r\nconst appComponentLoader = async () => {\r\n\tconst { AppComponent } = await import('./app.component');\r\n\treturn AppComponent;\r\n};\r\n\r\nfunction loadStylesheets(styleLoaderService: StyleLoaderService): () => Promise<any> {\r\n\tconst styles = [\r\n\t\t'layout.css',\r\n\t\t'ui.common.css',\r\n\t\t'preloading.css',\r\n\t\t'theme.light.indigo.css',\r\n\t\t`assets/${appName}/styles/primeng.min.css`,\r\n\t\t`assets/${appName}/styles/primeflex/primeflex.min.css`,\r\n\t\t`assets/${appName}/styles/primeicons/primeicons.css`,\r\n\t\t`assets/${appName}/styles/dx.fluent.saas.light.css`\r\n\t];\r\n\r\n\tif ((<any>globalThis).isMFEMode) return () => Promise.resolve();\r\n\r\n\treturn () => styleLoaderService.load(styles);\r\n}\r\n\r\nexport const boot = (\r\n\t_appName: APIs | undefined,\r\n\t_routerProvider: EnvironmentProviders,\r\n\t_menuItems: MenuItem[],\r\n\t_apiURL: string = ''\r\n) => {\r\n\tappName = _appName;\r\n\tmenuItems = _menuItems;\r\n\r\n\tconst appConfig: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(),\r\n\t\t\t_routerProvider,\r\n\t\t\timportProvidersFrom(i18nModule),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\t(<any>globalThis).ngZone ? { provide: NgZone, useValue: (<any>globalThis).ngZone } : [],\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: loadStylesheets,\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [StyleLoaderService]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: API_TOKEN,\r\n\t\t\t\tuseValue: _apiURL\r\n\t\t\t\t// useValue: isDevMode() ? 'http://thor.edas1.com/crm/v1' : _appName + '/v1'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nRootFileUrl,\r\n\t\t\t\tuseValue: _appName\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tcreateApplication(appConfig).then((appRef) => {\r\n\t\tappComponentLoader().then((AppComponent) => {\r\n\t\t\tconst app = createCustomElement(AppComponent, { injector: appRef.injector });\r\n\t\t\tcustomElements.define(`app-${appName}`, app);\r\n\t\t});\r\n\t});\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAmBW,IAAA,QAA0B;AAC9B,IAAI,SAAS,GAAe,GAAG;AAEtC,MAAM,kBAAkB,GAAG,YAAW;IACrC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,OAAO,4CAAiB,CAAC,CAAC;AACzD,IAAA,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAEF,SAAS,eAAe,CAAC,kBAAsC,EAAA;AAC9D,IAAA,MAAM,MAAM,GAAG;QACd,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,wBAAwB;AACxB,QAAA,CAAA,OAAA,EAAU,OAAO,CAAyB,uBAAA,CAAA;AAC1C,QAAA,CAAA,OAAA,EAAU,OAAO,CAAqC,mCAAA,CAAA;AACtD,QAAA,CAAA,OAAA,EAAU,OAAO,CAAmC,iCAAA,CAAA;AACpD,QAAA,CAAA,OAAA,EAAU,OAAO,CAAkC,gCAAA,CAAA;KACnD,CAAC;IAEF,IAAU,UAAW,CAAC,SAAS;AAAE,QAAA,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAEhE,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAEM,MAAM,IAAI,GAAG,CACnB,QAA0B,EAC1B,eAAqC,EACrC,UAAsB,EACtB,OAAkB,GAAA,EAAE,KACjB;IACH,OAAO,GAAG,QAAQ,CAAC;IACnB,SAAS,GAAG,UAAU,CAAC;AAEvB,IAAA,MAAM,SAAS,GAAsB;AACpC,QAAA,SAAS,EAAE;AACV,YAAA,iBAAiB,EAAE;AACnB,YAAA,iBAAiB,EAAE;YACnB,eAAe;YACf,mBAAmB,CAAC,UAAU,CAAC;YAC/B,cAAc;YACd,mBAAmB;AACb,YAAA,UAAW,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,UAAW,CAAC,MAAM,EAAE,GAAG,EAAE;AACvF,YAAA;AACC,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,UAAU,EAAE,eAAe;AAC3B,gBAAA,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,CAAC,kBAAkB,CAAC;AAC1B,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,QAAQ,EAAE,OAAO;;AAEjB,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,aAAA;AACD,SAAA;KACD,CAAC;IAEF,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;AAC5C,QAAA,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,KAAI;AAC1C,YAAA,MAAM,GAAG,GAAG,mBAAmB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7E,cAAc,CAAC,MAAM,CAAC,CAAA,IAAA,EAAO,OAAO,CAAE,CAAA,EAAE,GAAG,CAAC,CAAC;AAC9C,SAAC,CAAC,CAAC;AACJ,KAAC,CAAC,CAAC;AACJ;;ACtFA;;AAEG;;;;"}
1
+ {"version":3,"file":"aril-boot-mfe.mjs","sources":["../../projects/aril/boot/mfe/src/bootstrap.ts","../../projects/aril/boot/mfe/aril-boot-mfe.ts"],"sourcesContent":["import { provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport {\r\n\tAPP_INITIALIZER,\r\n\tApplicationConfig,\r\n\tEnvironmentProviders,\r\n\tNgZone,\r\n\timportProvidersFrom,\r\n\tisDevMode\r\n} from '@angular/core';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { createApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\n\r\nimport { ConfirmationService, MenuItem, MessageService } from 'primeng/api';\r\n\r\nimport { KeycloakAngularModule, KeycloakOptions } from 'keycloak-angular';\r\n\r\nimport { API_TOKEN, APIs } from 'aril/http';\r\nimport { i18nModule, i18nRootFileUrl } from 'aril/i18n';\r\nimport { KeycloakManager, authInterceptor } from 'aril/keycloak';\r\nimport { StyleLoaderService } from 'aril/util/loaders';\r\n\r\nexport var appName: APIs | undefined;\r\nexport var menuItems: MenuItem[] = [];\r\n\r\nconst appComponentLoader = async () => {\r\n\tconst { AppComponent } = await import('./app.component');\r\n\treturn AppComponent;\r\n};\r\n\r\nfunction loadStylesheets(styleLoaderService: StyleLoaderService): () => Promise<any> {\r\n\tconst styles = [\r\n\t\t'layout.css',\r\n\t\t'ui.common.css',\r\n\t\t'preloading.css',\r\n\t\t'theme.light.indigo.css',\r\n\t\t`assets/${appName}/styles/primeng.min.css`,\r\n\t\t`assets/${appName}/styles/primeflex/primeflex.min.css`,\r\n\t\t`assets/${appName}/styles/primeicons/primeicons.css`,\r\n\t\t`assets/${appName}/styles/dx.fluent.saas.light.css`\r\n\t];\r\n\r\n\tif ((<any>globalThis).isMFEMode) return () => Promise.resolve();\r\n\r\n\treturn () => styleLoaderService.load(styles);\r\n}\r\n\r\nexport const boot = (\r\n\t_appName: APIs | undefined,\r\n\t_routerProvider: EnvironmentProviders,\r\n\t_menuItems: MenuItem[],\r\n\t_options: KeycloakOptions,\r\n\t_apiURL: string = ''\r\n) => {\r\n\tappName = _appName;\r\n\tmenuItems = _menuItems;\r\n\r\n\tconst appConfig: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\r\n\t\t\t_routerProvider,\r\n\t\t\timportProvidersFrom(i18nModule, KeycloakAngularModule),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\t(<any>globalThis).ngZone ? { provide: NgZone, useValue: (<any>globalThis).ngZone } : [],\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: (keycloak: KeycloakManager) => keycloak.init(_options),\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [KeycloakManager]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: loadStylesheets,\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [StyleLoaderService]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: API_TOKEN,\r\n\t\t\t\tuseValue: _apiURL\r\n\t\t\t\t// useValue: isDevMode() ? 'http://thor.edas1.com/crm/v1' : _appName + '/v1'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nRootFileUrl,\r\n\t\t\t\tuseValue: _appName\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tcreateApplication(appConfig).then((appRef) => {\r\n\t\tappComponentLoader().then((AppComponent) => {\r\n\t\t\tconst app = createCustomElement(AppComponent, { injector: appRef.injector });\r\n\t\t\tcustomElements.define(`app-${appName}`, app);\r\n\t\t});\r\n\t});\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAsBW,IAAA,QAA0B;AAC9B,IAAI,SAAS,GAAe,GAAG;AAEtC,MAAM,kBAAkB,GAAG,YAAW;IACrC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,OAAO,4CAAiB,CAAC,CAAC;AACzD,IAAA,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAEF,SAAS,eAAe,CAAC,kBAAsC,EAAA;AAC9D,IAAA,MAAM,MAAM,GAAG;QACd,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,wBAAwB;AACxB,QAAA,CAAA,OAAA,EAAU,OAAO,CAAyB,uBAAA,CAAA;AAC1C,QAAA,CAAA,OAAA,EAAU,OAAO,CAAqC,mCAAA,CAAA;AACtD,QAAA,CAAA,OAAA,EAAU,OAAO,CAAmC,iCAAA,CAAA;AACpD,QAAA,CAAA,OAAA,EAAU,OAAO,CAAkC,gCAAA,CAAA;KACnD,CAAC;IAEF,IAAU,UAAW,CAAC,SAAS;AAAE,QAAA,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAEhE,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAEY,MAAA,IAAI,GAAG,CACnB,QAA0B,EAC1B,eAAqC,EACrC,UAAsB,EACtB,QAAyB,EACzB,OAAkB,GAAA,EAAE,KACjB;IACH,OAAO,GAAG,QAAQ,CAAC;IACnB,SAAS,GAAG,UAAU,CAAC;AAEvB,IAAA,MAAM,SAAS,GAAsB;AACpC,QAAA,SAAS,EAAE;AACV,YAAA,iBAAiB,EAAE;AACnB,YAAA,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACtD,eAAe;AACf,YAAA,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,CAAC;YACtD,cAAc;YACd,mBAAmB;AACb,YAAA,UAAW,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,UAAW,CAAC,MAAM,EAAE,GAAG,EAAE;AACvF,YAAA;AACC,gBAAA,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,CAAC,QAAyB,KAAK,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClE,gBAAA,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,CAAC,eAAe,CAAC;AACvB,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,UAAU,EAAE,eAAe;AAC3B,gBAAA,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,CAAC,kBAAkB,CAAC;AAC1B,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,QAAQ,EAAE,OAAO;;AAEjB,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,aAAA;AACD,SAAA;KACD,CAAC;IAEF,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;AAC5C,QAAA,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,KAAI;AAC1C,YAAA,MAAM,GAAG,GAAG,mBAAmB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7E,cAAc,CAAC,MAAM,CAAC,CAAA,IAAA,EAAO,OAAO,CAAE,CAAA,EAAE,GAAG,CAAC,CAAC;AAC9C,SAAC,CAAC,CAAC;AACJ,KAAC,CAAC,CAAC;AACJ;;AChGA;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"aril-boot.mjs","sources":["../../projects/aril/boot/index.ts","../../projects/aril/boot/aril-boot.ts"],"sourcesContent":["export const aril_boot = 'ARiL-BOOT';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAO,MAAM,SAAS,GAAG;;ACAzB;;AAEG;;;;"}
1
+ {"version":3,"file":"aril-boot.mjs","sources":["../../projects/aril/boot/index.ts","../../projects/aril/boot/aril-boot.ts"],"sourcesContent":["export const aril_boot = 'ARiL-BOOT';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAO,MAAM,SAAS,GAAG;;ACAzB;;AAEG;;;;"}
@@ -8,6 +8,7 @@ import { map, tap, catchError } from 'rxjs/operators';
8
8
  var HTTPMethods;
9
9
  (function (HTTPMethods) {
10
10
  HTTPMethods["GET"] = "GET";
11
+ HTTPMethods["GETBYPARAMS"] = "GETBYPARAMS";
11
12
  HTTPMethods["POST"] = "POST";
12
13
  HTTPMethods["PUT"] = "PUT";
13
14
  HTTPMethods["DELETE"] = "DELETE";
@@ -35,7 +36,6 @@ var ProxyTypes;
35
36
  })(ProxyTypes || (ProxyTypes = {}));
36
37
 
37
38
  /* eslint-disable @typescript-eslint/no-explicit-any */
38
- /* eslint-disable @typescript-eslint/ban-types */
39
39
  class ErrorResponse {
40
40
  constructor(err) {
41
41
  this.error = err;
@@ -60,7 +60,6 @@ class RestClient {
60
60
  }
61
61
  }
62
62
 
63
- /* eslint-disable @typescript-eslint/no-explicit-any */
64
63
  const callState = (states, serviceName) => {
65
64
  states[serviceName] = {
66
65
  serviceCalled: true,
@@ -87,7 +86,6 @@ const errorState = (states, serviceName) => {
87
86
  };
88
87
 
89
88
  /* eslint-disable @typescript-eslint/no-explicit-any */
90
- /** TODO: ADD INTERCEPTOR */
91
89
  function ServiceCall(httpMethod, proxy, serviceURL, remoteAPI) {
92
90
  return function (serviceClass, serviceName, descriptor) {
93
91
  const originalFunction = descriptor.value;
@@ -103,6 +101,10 @@ function ServiceCall(httpMethod, proxy, serviceURL, remoteAPI) {
103
101
  let observable = new Observable();
104
102
  switch (httpMethod) {
105
103
  case HTTPMethods.GET:
104
+ let getReq = args.length ? '/' + args[0] : '';
105
+ observable = httpClient.get(endPoint + getReq, { responseType: 'json' });
106
+ break;
107
+ case HTTPMethods.GETBYPARAMS:
106
108
  observable = httpClient.get(endPoint, { params: request, responseType: 'json' });
107
109
  break;
108
110
  case HTTPMethods.POST:
@@ -139,7 +141,7 @@ function getRequest(httpMethod, fn, args) {
139
141
  const source = fn.toString();
140
142
  const match = source.match(/\((.*?)\)/);
141
143
  const paramNames = match ? match[1].split(',').map((param) => param.trim()) : [];
142
- if (httpMethod === HTTPMethods.GET) {
144
+ if (httpMethod === HTTPMethods.GETBYPARAMS) {
143
145
  let queryParams = new HttpParams();
144
146
  paramNames.forEach((paramName, index) => {
145
147
  queryParams = queryParams.append(paramName, args[index]);