aril 0.0.48 → 0.0.49

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 (618) hide show
  1. package/.eslintrc.json +41 -0
  2. package/boot/config/api/{index.d.ts → index.ts} +1 -1
  3. package/boot/config/api/ng-package.json +6 -0
  4. package/boot/config/api/src/api.service.ts +57 -0
  5. package/boot/config/api/src/interfaces.ts +13 -0
  6. package/boot/config/apps/{index.d.ts → index.ts} +2 -2
  7. package/boot/config/apps/ng-package.json +6 -0
  8. package/boot/config/apps/src/apps.service.ts +64 -0
  9. package/boot/config/apps/src/interfaces.ts +27 -0
  10. package/boot/config/apps/src/showdowDOMWrapper.ts +28 -0
  11. package/boot/config/plugins/{index.d.ts → index.ts} +2 -2
  12. package/boot/config/plugins/ng-package.json +6 -0
  13. package/boot/config/plugins/src/getNgZone.ts +9 -0
  14. package/boot/config/plugins/src/interfaces.ts +11 -0
  15. package/boot/config/plugins/src/plugins.service.ts +81 -0
  16. package/boot/host/{index.d.ts → index.ts} +1 -1
  17. package/boot/host/ng-package.json +6 -0
  18. package/boot/host/src/app.component.ts +27 -0
  19. package/boot/host/src/bootstrap.ts +61 -0
  20. package/boot/index.ts +1 -0
  21. package/boot/mfe/{index.d.ts → index.ts} +1 -1
  22. package/boot/mfe/ng-package.json +6 -0
  23. package/boot/mfe/src/app.component.ts +57 -0
  24. package/boot/mfe/src/appComponentLoader.ts +4 -0
  25. package/boot/mfe/src/bootstrap.ts +78 -0
  26. package/boot/mfe/src/loadStyles.ts +19 -0
  27. package/boot/ng-package.json +6 -0
  28. package/http/{index.d.ts → index.ts} +13 -8
  29. package/http/lib/enums.ts +13 -0
  30. package/http/lib/interfaces.ts +38 -0
  31. package/http/ng-package.json +6 -0
  32. package/http/src/httpBackend.ts +12 -0
  33. package/http/src/httpClient.ts +20 -0
  34. package/http/src/interceptor/state-machine.interceptor.ts +9 -0
  35. package/http/src/serviceBase.ts +91 -0
  36. package/http/src/serviceMockBase.ts +12 -0
  37. package/http/src/serviceRequest.ts +26 -0
  38. package/http/src/serviceStateMethods.ts +155 -0
  39. package/i18n/{index.d.ts → index.ts} +5 -5
  40. package/i18n/ng-package.json +6 -0
  41. package/i18n/src/folder-name-token.ts +3 -0
  42. package/i18n/src/i18n.module.ts +11 -0
  43. package/i18n/src/loader.ts +16 -0
  44. package/i18n/src/provideI18n.ts +18 -0
  45. package/i18n/src/provideScope.ts +20 -0
  46. package/keycloak/{index.d.ts → index.ts} +3 -3
  47. package/keycloak/ng-package.json +6 -0
  48. package/keycloak/src/auth.guard.ts +37 -0
  49. package/keycloak/src/auth.interceptor.ts +13 -0
  50. package/keycloak/src/keycloak.manager.ts +89 -0
  51. package/ng-package.json +14 -0
  52. package/package.json +31 -314
  53. package/project.json +39 -0
  54. package/{public-api.d.ts → public-api.ts} +2 -2
  55. package/tsconfig.lib.json +12 -0
  56. package/tsconfig.lib.prod.json +10 -0
  57. package/tsconfig.spec.json +9 -0
  58. package/ui/autoComplete/{index.d.ts → index.ts} +1 -1
  59. package/ui/autoComplete/ng-package.json +6 -0
  60. package/ui/autoComplete/src/auto-complete.component.html +11 -0
  61. package/ui/autoComplete/src/auto-complete.component.ts +92 -0
  62. package/ui/autoComplete/src/interfaces.ts +30 -0
  63. package/ui/badge/{index.d.ts → index.ts} +1 -1
  64. package/ui/badge/ng-package.json +6 -0
  65. package/ui/badge/src/badge.component.html +3 -0
  66. package/ui/badge/src/badge.component.ts +19 -0
  67. package/ui/button/{index.d.ts → index.ts} +2 -2
  68. package/ui/button/ng-package.json +6 -0
  69. package/ui/button/src/button.component.html +10 -0
  70. package/ui/button/src/button.component.ts +43 -0
  71. package/ui/button/src/split-button.component.html +2 -0
  72. package/ui/button/src/split-button.component.ts +17 -0
  73. package/ui/calendar/{index.d.ts → index.ts} +1 -1
  74. package/ui/calendar/ng-package.json +6 -0
  75. package/ui/calendar/src/calendar.component.html +31 -0
  76. package/ui/calendar/src/calendar.component.ts +136 -0
  77. package/ui/checkbox/{index.d.ts → index.ts} +2 -2
  78. package/ui/checkbox/ng-package.json +6 -0
  79. package/ui/checkbox/src/check-box.component.html +9 -0
  80. package/ui/checkbox/src/check-box.component.ts +19 -0
  81. package/ui/checkbox/src/tri-state-checkbox.component.html +7 -0
  82. package/ui/checkbox/src/tri-state-checkbox.component.ts +20 -0
  83. package/ui/dxField/{index.d.ts → index.ts} +1 -1
  84. package/ui/dxField/ng-package.json +6 -0
  85. package/ui/dxField/src/dx-field.component.html +8 -0
  86. package/ui/dxField/src/dx-field.component.ts +16 -0
  87. package/ui/field/{index.d.ts → index.ts} +1 -1
  88. package/ui/field/ng-package.json +6 -0
  89. package/ui/field/src/field.component.html +22 -0
  90. package/ui/field/src/field.component.ts +46 -0
  91. package/ui/fileUpload/{index.d.ts → index.ts} +1 -1
  92. package/ui/fileUpload/ng-package.json +6 -0
  93. package/ui/fileUpload/src/file-upload.component.html +38 -0
  94. package/ui/fileUpload/src/file-upload.component.ts +72 -0
  95. package/ui/form/index.ts +18 -0
  96. package/ui/form/ng-package.json +6 -0
  97. package/ui/form/src/form-submit-button.component.html +12 -0
  98. package/ui/form/src/form-submit-button.component.ts +36 -0
  99. package/ui/form/src/form.component.ts +20 -0
  100. package/ui/index.ts +1 -0
  101. package/ui/lib/{index.d.ts → index.ts} +16 -11
  102. package/ui/lib/ng-package.json +6 -0
  103. package/ui/lib/src/form/form-error-message.component.ts +25 -0
  104. package/ui/lib/src/form/form-error-message.directive.ts +32 -0
  105. package/ui/lib/src/form/form-field-builder.ts +31 -0
  106. package/ui/lib/src/form/form-validation.ts +14 -0
  107. package/ui/lib/src/grid/flex-grid.directive.ts +10 -0
  108. package/ui/lib/src/input/baseInput.ts +30 -0
  109. package/ui/lib/src/input/common-input-validators.service.ts +57 -0
  110. package/ui/lib/src/input/dx-input-error-message.pipe.ts +16 -0
  111. package/ui/lib/src/input/input-disabled.directive.ts +15 -0
  112. package/ui/lib/src/input/input-error-message.pipe.ts +39 -0
  113. package/ui/lib/src/input/input-transforms.ts +11 -0
  114. package/ui/lib/src/input/value-accessor.directive.ts +27 -0
  115. package/ui/mask/{index.d.ts → index.ts} +1 -1
  116. package/ui/mask/ng-package.json +6 -0
  117. package/ui/mask/src/mask.component.css +23 -0
  118. package/ui/mask/src/mask.component.html +17 -0
  119. package/ui/mask/src/mask.component.ts +34 -0
  120. package/ui/ng-package.json +6 -0
  121. package/ui/number/{index.d.ts → index.ts} +1 -1
  122. package/ui/number/ng-package.json +6 -0
  123. package/ui/number/src/number.component.html +25 -0
  124. package/ui/number/src/number.component.ts +34 -0
  125. package/ui/overlayPanel/{index.d.ts → index.ts} +1 -1
  126. package/ui/overlayPanel/ng-package.json +6 -0
  127. package/ui/overlayPanel/src/overlay-panel.component.html +5 -0
  128. package/ui/overlayPanel/src/overlay-panel.component.ts +16 -0
  129. package/ui/panel/{index.d.ts → index.ts} +1 -1
  130. package/ui/panel/ng-package.json +6 -0
  131. package/ui/panel/src/panel.component.css +25 -0
  132. package/ui/panel/src/panel.component.html +38 -0
  133. package/ui/panel/src/panel.component.ts +24 -0
  134. package/ui/password/{index.d.ts → index.ts} +1 -1
  135. package/ui/password/ng-package.json +6 -0
  136. package/ui/password/src/password.component.html +24 -0
  137. package/ui/password/src/password.component.ts +22 -0
  138. package/ui/radioButton/{index.d.ts → index.ts} +1 -1
  139. package/ui/radioButton/ng-package.json +6 -0
  140. package/ui/radioButton/src/radio-button.component.html +17 -0
  141. package/ui/radioButton/src/radio-button.component.ts +36 -0
  142. package/ui/selectBox/{index.d.ts → index.ts} +1 -1
  143. package/ui/selectBox/ng-package.json +6 -0
  144. package/ui/selectBox/src/interfaces.ts +41 -0
  145. package/ui/selectBox/src/select-box.component.html +17 -0
  146. package/ui/selectBox/src/select-box.component.ts +69 -0
  147. package/ui/switch/{index.d.ts → index.ts} +1 -1
  148. package/ui/switch/ng-package.json +6 -0
  149. package/ui/switch/src/switch.component.html +7 -0
  150. package/ui/switch/src/switch.component.ts +18 -0
  151. package/ui/table/index.ts +34 -0
  152. package/ui/table/ng-package.json +6 -0
  153. package/ui/table/src/i18n.ts +55 -0
  154. package/ui/table/src/table-column.component.ts +28 -0
  155. package/ui/table/src/table.component.html +136 -0
  156. package/ui/table/src/table.component.ts +99 -0
  157. package/ui/tagBox/{index.d.ts → index.ts} +1 -1
  158. package/ui/tagBox/ng-package.json +6 -0
  159. package/ui/tagBox/src/tag-box.component.html +21 -0
  160. package/ui/tagBox/src/tag-box.component.ts +53 -0
  161. package/ui/text/{index.d.ts → index.ts} +1 -1
  162. package/ui/text/ng-package.json +6 -0
  163. package/ui/text/src/text.component.html +21 -0
  164. package/ui/text/src/text.component.ts +47 -0
  165. package/ui/textArea/{index.d.ts → index.ts} +1 -1
  166. package/ui/textArea/ng-package.json +6 -0
  167. package/ui/textArea/src/text-area.component.html +11 -0
  168. package/ui/textArea/src/text-area.component.ts +21 -0
  169. package/ui/toggle-button/index.ts +1 -0
  170. package/ui/toggle-button/ng-package.json +6 -0
  171. package/ui/toggle-button/src/toggle-button.component.html +13 -0
  172. package/ui/toggle-button/src/toggle-button.component.scss +19 -0
  173. package/ui/toggle-button/src/toggle-button.component.ts +22 -0
  174. package/ui/tree/{index.d.ts → index.ts} +1 -1
  175. package/ui/tree/ng-package.json +6 -0
  176. package/ui/tree/src/tree.component.html +16 -0
  177. package/ui/tree/src/tree.component.ts +52 -0
  178. package/ui/treeTable/{index.d.ts → index.ts} +1 -1
  179. package/ui/treeTable/ng-package.json +6 -0
  180. package/ui/treeTable/src/tree-table.component.html +88 -0
  181. package/ui/treeTable/src/tree-table.component.ts +57 -0
  182. package/ui/value/{index.d.ts → index.ts} +1 -1
  183. package/ui/value/ng-package.json +6 -0
  184. package/ui/value/src/value.component.html +19 -0
  185. package/ui/value/src/value.component.ts +39 -0
  186. package/util/block/{index.d.ts → index.ts} +1 -1
  187. package/util/block/ng-package.json +6 -0
  188. package/util/block/src/block.ts +65 -0
  189. package/util/custom_pages/{index.d.ts → index.ts} +1 -1
  190. package/util/custom_pages/ng-package.json +6 -0
  191. package/util/custom_pages/src/notFound.component.ts +34 -0
  192. package/util/index.ts +1 -0
  193. package/util/init-event/{index.d.ts → index.ts} +1 -1
  194. package/util/init-event/ng-package.json +6 -0
  195. package/util/init-event/src/init-event.directive.ts +13 -0
  196. package/util/lib/{index.d.ts → index.ts} +3 -3
  197. package/util/lib/ng-package.json +6 -0
  198. package/util/lib/src/interfaces.ts +44 -0
  199. package/util/lib/src/module-router.ts +10 -0
  200. package/util/lib/src/types.ts +49 -0
  201. package/util/loaders/{index.d.ts → index.ts} +2 -2
  202. package/util/loaders/ng-package.json +6 -0
  203. package/util/loaders/script/script.loader.service.ts +69 -0
  204. package/util/loaders/style/style.loader.service.ts +69 -0
  205. package/util/ng-package.json +6 -0
  206. package/util/primitive-extensions/{index.d.ts → index.ts} +4 -4
  207. package/util/primitive-extensions/ng-package.json +6 -0
  208. package/util/primitive-extensions/src/{boolean.extensions.d.ts → boolean.extensions.ts} +1 -1
  209. package/util/primitive-extensions/src/date.extensions.ts +135 -0
  210. package/util/primitive-extensions/src/number.extensions.ts +57 -0
  211. package/util/primitive-extensions/src/string.extensions.ts +39 -0
  212. package/util/pub-sub/{index.d.ts → index.ts} +1 -1
  213. package/util/pub-sub/ng-package.json +6 -0
  214. package/util/pub-sub/src/pub-sub.service.ts +34 -0
  215. package/boot/config/api/src/api.service.d.ts +0 -14
  216. package/boot/config/api/src/interfaces.d.ts +0 -9
  217. package/boot/config/apps/src/apps.service.d.ts +0 -16
  218. package/boot/config/apps/src/interfaces.d.ts +0 -23
  219. package/boot/config/apps/src/showdowDOMWrapper.d.ts +0 -10
  220. package/boot/config/plugins/src/getNgZone.d.ts +0 -5
  221. package/boot/config/plugins/src/interfaces.d.ts +0 -18
  222. package/boot/config/plugins/src/plugins.service.d.ts +0 -9
  223. package/boot/host/src/app.component.d.ts +0 -8
  224. package/boot/host/src/bootstrap.d.ts +0 -2
  225. package/boot/index.d.ts +0 -1
  226. package/boot/mfe/src/app.component.d.ts +0 -12
  227. package/boot/mfe/src/appComponentLoader.d.ts +0 -1
  228. package/boot/mfe/src/bootstrap.d.ts +0 -6
  229. package/boot/mfe/src/loadStyles.d.ts +0 -3
  230. package/esm2022/aril.mjs +0 -5
  231. package/esm2022/boot/aril-boot.mjs +0 -5
  232. package/esm2022/boot/config/api/aril-boot-config-api.mjs +0 -5
  233. package/esm2022/boot/config/api/index.mjs +0 -2
  234. package/esm2022/boot/config/api/src/api.service.mjs +0 -42
  235. package/esm2022/boot/config/api/src/interfaces.mjs +0 -11
  236. package/esm2022/boot/config/apps/aril-boot-config-apps.mjs +0 -5
  237. package/esm2022/boot/config/apps/index.mjs +0 -3
  238. package/esm2022/boot/config/apps/src/apps.service.mjs +0 -51
  239. package/esm2022/boot/config/apps/src/interfaces.mjs +0 -17
  240. package/esm2022/boot/config/apps/src/showdowDOMWrapper.mjs +0 -35
  241. package/esm2022/boot/config/plugins/aril-boot-config-plugins.mjs +0 -5
  242. package/esm2022/boot/config/plugins/index.mjs +0 -3
  243. package/esm2022/boot/config/plugins/src/getNgZone.mjs +0 -12
  244. package/esm2022/boot/config/plugins/src/interfaces.mjs +0 -3
  245. package/esm2022/boot/config/plugins/src/plugins.service.mjs +0 -65
  246. package/esm2022/boot/host/aril-boot-host.mjs +0 -5
  247. package/esm2022/boot/host/index.mjs +0 -2
  248. package/esm2022/boot/host/src/app.component.mjs +0 -32
  249. package/esm2022/boot/host/src/bootstrap.mjs +0 -50
  250. package/esm2022/boot/index.mjs +0 -2
  251. package/esm2022/boot/mfe/aril-boot-mfe.mjs +0 -5
  252. package/esm2022/boot/mfe/index.mjs +0 -2
  253. package/esm2022/boot/mfe/src/app.component.mjs +0 -60
  254. package/esm2022/boot/mfe/src/appComponentLoader.mjs +0 -5
  255. package/esm2022/boot/mfe/src/bootstrap.mjs +0 -64
  256. package/esm2022/boot/mfe/src/loadStyles.mjs +0 -16
  257. package/esm2022/http/aril-http.mjs +0 -5
  258. package/esm2022/http/index.mjs +0 -12
  259. package/esm2022/http/lib/enums.mjs +0 -16
  260. package/esm2022/http/lib/interfaces.mjs +0 -15
  261. package/esm2022/http/src/httpBackend.mjs +0 -17
  262. package/esm2022/http/src/httpClient.mjs +0 -14
  263. package/esm2022/http/src/interceptor/state-machine.interceptor.mjs +0 -8
  264. package/esm2022/http/src/serviceBase.mjs +0 -60
  265. package/esm2022/http/src/serviceMockBase.mjs +0 -5
  266. package/esm2022/http/src/serviceRequest.mjs +0 -21
  267. package/esm2022/http/src/serviceStateMethods.mjs +0 -118
  268. package/esm2022/i18n/aril-i18n.mjs +0 -5
  269. package/esm2022/i18n/index.mjs +0 -6
  270. package/esm2022/i18n/src/folder-name-token.mjs +0 -3
  271. package/esm2022/i18n/src/i18n.module.mjs +0 -17
  272. package/esm2022/i18n/src/loader.mjs +0 -20
  273. package/esm2022/i18n/src/provideI18n.mjs +0 -16
  274. package/esm2022/i18n/src/provideScope.mjs +0 -18
  275. package/esm2022/keycloak/aril-keycloak.mjs +0 -5
  276. package/esm2022/keycloak/index.mjs +0 -4
  277. package/esm2022/keycloak/src/auth.guard.mjs +0 -39
  278. package/esm2022/keycloak/src/auth.interceptor.mjs +0 -10
  279. package/esm2022/keycloak/src/keycloak.manager.mjs +0 -76
  280. package/esm2022/public-api.mjs +0 -3
  281. package/esm2022/theme/aril-theme.mjs +0 -5
  282. package/esm2022/theme/index.mjs +0 -2
  283. package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +0 -41
  284. package/esm2022/theme/layout/app/config/app.config.component.mjs +0 -132
  285. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +0 -147
  286. package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +0 -67
  287. package/esm2022/theme/layout/app/menu/app.menu.component.mjs +0 -398
  288. package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +0 -28
  289. package/esm2022/theme/layout/app/sidebar/app.sidebar.component.mjs +0 -41
  290. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +0 -34
  291. package/esm2022/theme/layout/aril-theme-layout.mjs +0 -5
  292. package/esm2022/theme/layout/index.mjs +0 -4
  293. package/esm2022/theme/layout/service/app.layout.service.mjs +0 -127
  294. package/esm2022/theme/layout/service/app.menu.service.mjs +0 -53
  295. package/esm2022/theme/layout/service/menuchangeevent.mjs +0 -2
  296. package/esm2022/ui/aril-ui.mjs +0 -5
  297. package/esm2022/ui/autoComplete/aril-ui-autoComplete.mjs +0 -5
  298. package/esm2022/ui/autoComplete/index.mjs +0 -2
  299. package/esm2022/ui/autoComplete/src/auto-complete.component.mjs +0 -81
  300. package/esm2022/ui/autoComplete/src/interfaces.mjs +0 -2
  301. package/esm2022/ui/badge/aril-ui-badge.mjs +0 -5
  302. package/esm2022/ui/badge/index.mjs +0 -2
  303. package/esm2022/ui/badge/src/badge.component.mjs +0 -19
  304. package/esm2022/ui/button/aril-ui-button.mjs +0 -5
  305. package/esm2022/ui/button/index.mjs +0 -3
  306. package/esm2022/ui/button/src/button.component.mjs +0 -37
  307. package/esm2022/ui/button/src/split-button.component.mjs +0 -18
  308. package/esm2022/ui/calendar/aril-ui-calendar.mjs +0 -5
  309. package/esm2022/ui/calendar/index.mjs +0 -2
  310. package/esm2022/ui/calendar/src/calendar.component.mjs +0 -119
  311. package/esm2022/ui/checkbox/aril-ui-checkbox.mjs +0 -5
  312. package/esm2022/ui/checkbox/index.mjs +0 -3
  313. package/esm2022/ui/checkbox/src/check-box.component.mjs +0 -24
  314. package/esm2022/ui/checkbox/src/tri-state-checkbox.component.mjs +0 -24
  315. package/esm2022/ui/dxField/aril-ui-dxField.mjs +0 -5
  316. package/esm2022/ui/dxField/index.mjs +0 -2
  317. package/esm2022/ui/dxField/src/dx-field.component.mjs +0 -18
  318. package/esm2022/ui/field/aril-ui-field.mjs +0 -5
  319. package/esm2022/ui/field/index.mjs +0 -2
  320. package/esm2022/ui/field/src/field.component.mjs +0 -39
  321. package/esm2022/ui/fileUpload/aril-ui-fileUpload.mjs +0 -5
  322. package/esm2022/ui/fileUpload/index.mjs +0 -2
  323. package/esm2022/ui/fileUpload/src/file-upload.component.mjs +0 -61
  324. package/esm2022/ui/form/aril-ui-form.mjs +0 -5
  325. package/esm2022/ui/form/index.mjs +0 -22
  326. package/esm2022/ui/form/src/form-submit-button.component.mjs +0 -40
  327. package/esm2022/ui/form/src/form.component.mjs +0 -27
  328. package/esm2022/ui/index.mjs +0 -2
  329. package/esm2022/ui/lib/aril-ui-lib.mjs +0 -5
  330. package/esm2022/ui/lib/index.mjs +0 -15
  331. package/esm2022/ui/lib/src/form/form-error-message.component.mjs +0 -33
  332. package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +0 -34
  333. package/esm2022/ui/lib/src/form/form-field-builder.mjs +0 -23
  334. package/esm2022/ui/lib/src/form/form-validation.mjs +0 -14
  335. package/esm2022/ui/lib/src/grid/flex-grid.directive.mjs +0 -21
  336. package/esm2022/ui/lib/src/input/baseInput.mjs +0 -24
  337. package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +0 -49
  338. package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +0 -22
  339. package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +0 -25
  340. package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +0 -42
  341. package/esm2022/ui/lib/src/input/input-transforms.mjs +0 -8
  342. package/esm2022/ui/lib/src/input/value-accessor.directive.mjs +0 -38
  343. package/esm2022/ui/mask/aril-ui-mask.mjs +0 -5
  344. package/esm2022/ui/mask/index.mjs +0 -2
  345. package/esm2022/ui/mask/src/mask.component.mjs +0 -35
  346. package/esm2022/ui/number/aril-ui-number.mjs +0 -5
  347. package/esm2022/ui/number/index.mjs +0 -2
  348. package/esm2022/ui/number/src/number.component.mjs +0 -36
  349. package/esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs +0 -5
  350. package/esm2022/ui/overlayPanel/index.mjs +0 -2
  351. package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +0 -20
  352. package/esm2022/ui/panel/aril-ui-panel.mjs +0 -5
  353. package/esm2022/ui/panel/index.mjs +0 -2
  354. package/esm2022/ui/panel/src/panel.component.mjs +0 -24
  355. package/esm2022/ui/password/aril-ui-password.mjs +0 -5
  356. package/esm2022/ui/password/index.mjs +0 -2
  357. package/esm2022/ui/password/src/password.component.mjs +0 -29
  358. package/esm2022/ui/radioButton/aril-ui-radioButton.mjs +0 -5
  359. package/esm2022/ui/radioButton/index.mjs +0 -2
  360. package/esm2022/ui/radioButton/src/radio-button.component.mjs +0 -30
  361. package/esm2022/ui/selectBox/aril-ui-selectBox.mjs +0 -5
  362. package/esm2022/ui/selectBox/index.mjs +0 -2
  363. package/esm2022/ui/selectBox/src/interfaces.mjs +0 -2
  364. package/esm2022/ui/selectBox/src/select-box.component.mjs +0 -54
  365. package/esm2022/ui/switch/aril-ui-switch.mjs +0 -5
  366. package/esm2022/ui/switch/index.mjs +0 -2
  367. package/esm2022/ui/switch/src/switch.component.mjs +0 -23
  368. package/esm2022/ui/table/aril-ui-table.mjs +0 -5
  369. package/esm2022/ui/table/index.mjs +0 -49
  370. package/esm2022/ui/table/src/i18n.mjs +0 -56
  371. package/esm2022/ui/table/src/table-column.component.mjs +0 -23
  372. package/esm2022/ui/table/src/table.component.mjs +0 -94
  373. package/esm2022/ui/tagBox/aril-ui-tagBox.mjs +0 -5
  374. package/esm2022/ui/tagBox/index.mjs +0 -2
  375. package/esm2022/ui/tagBox/src/tag-box.component.mjs +0 -50
  376. package/esm2022/ui/text/aril-ui-text.mjs +0 -5
  377. package/esm2022/ui/text/index.mjs +0 -2
  378. package/esm2022/ui/text/src/text.component.mjs +0 -40
  379. package/esm2022/ui/textArea/aril-ui-textArea.mjs +0 -5
  380. package/esm2022/ui/textArea/index.mjs +0 -2
  381. package/esm2022/ui/textArea/src/text-area.component.mjs +0 -26
  382. package/esm2022/ui/toggle-button/aril-ui-toggle-button.mjs +0 -5
  383. package/esm2022/ui/toggle-button/index.mjs +0 -2
  384. package/esm2022/ui/toggle-button/src/toggle-button.component.mjs +0 -25
  385. package/esm2022/ui/tree/aril-ui-tree.mjs +0 -5
  386. package/esm2022/ui/tree/index.mjs +0 -2
  387. package/esm2022/ui/tree/src/tree.component.mjs +0 -34
  388. package/esm2022/ui/treeTable/aril-ui-treeTable.mjs +0 -5
  389. package/esm2022/ui/treeTable/index.mjs +0 -2
  390. package/esm2022/ui/treeTable/src/tree-table.component.mjs +0 -55
  391. package/esm2022/ui/value/aril-ui-value.mjs +0 -5
  392. package/esm2022/ui/value/index.mjs +0 -2
  393. package/esm2022/ui/value/src/value.component.mjs +0 -35
  394. package/esm2022/util/aril-util.mjs +0 -5
  395. package/esm2022/util/block/aril-util-block.mjs +0 -5
  396. package/esm2022/util/block/index.mjs +0 -2
  397. package/esm2022/util/block/src/block.mjs +0 -64
  398. package/esm2022/util/custom_pages/aril-util-custom_pages.mjs +0 -5
  399. package/esm2022/util/custom_pages/index.mjs +0 -2
  400. package/esm2022/util/custom_pages/src/notFound.component.mjs +0 -65
  401. package/esm2022/util/index.mjs +0 -2
  402. package/esm2022/util/init-event/aril-util-init-event.mjs +0 -5
  403. package/esm2022/util/init-event/index.mjs +0 -2
  404. package/esm2022/util/init-event/src/init-event.directive.mjs +0 -22
  405. package/esm2022/util/lib/aril-util-lib.mjs +0 -5
  406. package/esm2022/util/lib/index.mjs +0 -4
  407. package/esm2022/util/lib/src/interfaces.mjs +0 -4
  408. package/esm2022/util/lib/src/module-router.mjs +0 -17
  409. package/esm2022/util/lib/src/types.mjs +0 -3
  410. package/esm2022/util/loaders/aril-util-loaders.mjs +0 -5
  411. package/esm2022/util/loaders/index.mjs +0 -3
  412. package/esm2022/util/loaders/script/script.loader.service.mjs +0 -61
  413. package/esm2022/util/loaders/style/style.loader.service.mjs +0 -61
  414. package/esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs +0 -5
  415. package/esm2022/util/primitive-extensions/index.mjs +0 -5
  416. package/esm2022/util/primitive-extensions/src/boolean.extensions.mjs +0 -2
  417. package/esm2022/util/primitive-extensions/src/date.extensions.mjs +0 -116
  418. package/esm2022/util/primitive-extensions/src/number.extensions.mjs +0 -39
  419. package/esm2022/util/primitive-extensions/src/string.extensions.mjs +0 -23
  420. package/esm2022/util/pub-sub/aril-util-pub-sub.mjs +0 -5
  421. package/esm2022/util/pub-sub/index.mjs +0 -2
  422. package/esm2022/util/pub-sub/src/pub-sub.service.mjs +0 -29
  423. package/fesm2022/aril-app.component-c363Er6g.mjs +0 -76
  424. package/fesm2022/aril-app.component-c363Er6g.mjs.map +0 -1
  425. package/fesm2022/aril-boot-config-api.mjs +0 -59
  426. package/fesm2022/aril-boot-config-api.mjs.map +0 -1
  427. package/fesm2022/aril-boot-config-apps.mjs +0 -106
  428. package/fesm2022/aril-boot-config-apps.mjs.map +0 -1
  429. package/fesm2022/aril-boot-config-plugins.mjs +0 -84
  430. package/fesm2022/aril-boot-config-plugins.mjs.map +0 -1
  431. package/fesm2022/aril-boot-host.mjs +0 -86
  432. package/fesm2022/aril-boot-host.mjs.map +0 -1
  433. package/fesm2022/aril-boot-mfe-app.component-WWRmTfs5.mjs +0 -75
  434. package/fesm2022/aril-boot-mfe-app.component-WWRmTfs5.mjs.map +0 -1
  435. package/fesm2022/aril-boot-mfe-aril-boot-mfe-PwAGdNZE.mjs +0 -90
  436. package/fesm2022/aril-boot-mfe-aril-boot-mfe-PwAGdNZE.mjs.map +0 -1
  437. package/fesm2022/aril-boot-mfe.mjs +0 -16
  438. package/fesm2022/aril-boot-mfe.mjs.map +0 -1
  439. package/fesm2022/aril-boot.mjs +0 -8
  440. package/fesm2022/aril-boot.mjs.map +0 -1
  441. package/fesm2022/aril-http.mjs +0 -273
  442. package/fesm2022/aril-http.mjs.map +0 -1
  443. package/fesm2022/aril-i18n.mjs +0 -72
  444. package/fesm2022/aril-i18n.mjs.map +0 -1
  445. package/fesm2022/aril-keycloak.mjs +0 -129
  446. package/fesm2022/aril-keycloak.mjs.map +0 -1
  447. package/fesm2022/aril-theme-layout.mjs +0 -1010
  448. package/fesm2022/aril-theme-layout.mjs.map +0 -1
  449. package/fesm2022/aril-theme.mjs +0 -8
  450. package/fesm2022/aril-theme.mjs.map +0 -1
  451. package/fesm2022/aril-ui-autoComplete.mjs +0 -88
  452. package/fesm2022/aril-ui-autoComplete.mjs.map +0 -1
  453. package/fesm2022/aril-ui-badge.mjs +0 -26
  454. package/fesm2022/aril-ui-badge.mjs.map +0 -1
  455. package/fesm2022/aril-ui-button.mjs +0 -59
  456. package/fesm2022/aril-ui-button.mjs.map +0 -1
  457. package/fesm2022/aril-ui-calendar.mjs +0 -125
  458. package/fesm2022/aril-ui-calendar.mjs.map +0 -1
  459. package/fesm2022/aril-ui-checkbox.mjs +0 -47
  460. package/fesm2022/aril-ui-checkbox.mjs.map +0 -1
  461. package/fesm2022/aril-ui-dxField.mjs +0 -25
  462. package/fesm2022/aril-ui-dxField.mjs.map +0 -1
  463. package/fesm2022/aril-ui-field.mjs +0 -46
  464. package/fesm2022/aril-ui-field.mjs.map +0 -1
  465. package/fesm2022/aril-ui-fileUpload.mjs +0 -68
  466. package/fesm2022/aril-ui-fileUpload.mjs.map +0 -1
  467. package/fesm2022/aril-ui-form.mjs +0 -86
  468. package/fesm2022/aril-ui-form.mjs.map +0 -1
  469. package/fesm2022/aril-ui-lib.mjs +0 -322
  470. package/fesm2022/aril-ui-lib.mjs.map +0 -1
  471. package/fesm2022/aril-ui-mask.mjs +0 -42
  472. package/fesm2022/aril-ui-mask.mjs.map +0 -1
  473. package/fesm2022/aril-ui-number.mjs +0 -43
  474. package/fesm2022/aril-ui-number.mjs.map +0 -1
  475. package/fesm2022/aril-ui-overlayPanel.mjs +0 -27
  476. package/fesm2022/aril-ui-overlayPanel.mjs.map +0 -1
  477. package/fesm2022/aril-ui-panel.mjs +0 -31
  478. package/fesm2022/aril-ui-panel.mjs.map +0 -1
  479. package/fesm2022/aril-ui-password.mjs +0 -36
  480. package/fesm2022/aril-ui-password.mjs.map +0 -1
  481. package/fesm2022/aril-ui-radioButton.mjs +0 -37
  482. package/fesm2022/aril-ui-radioButton.mjs.map +0 -1
  483. package/fesm2022/aril-ui-selectBox.mjs +0 -61
  484. package/fesm2022/aril-ui-selectBox.mjs.map +0 -1
  485. package/fesm2022/aril-ui-switch.mjs +0 -30
  486. package/fesm2022/aril-ui-switch.mjs.map +0 -1
  487. package/fesm2022/aril-ui-table.mjs +0 -219
  488. package/fesm2022/aril-ui-table.mjs.map +0 -1
  489. package/fesm2022/aril-ui-tagBox.mjs +0 -57
  490. package/fesm2022/aril-ui-tagBox.mjs.map +0 -1
  491. package/fesm2022/aril-ui-text.mjs +0 -47
  492. package/fesm2022/aril-ui-text.mjs.map +0 -1
  493. package/fesm2022/aril-ui-textArea.mjs +0 -33
  494. package/fesm2022/aril-ui-textArea.mjs.map +0 -1
  495. package/fesm2022/aril-ui-toggle-button.mjs +0 -32
  496. package/fesm2022/aril-ui-toggle-button.mjs.map +0 -1
  497. package/fesm2022/aril-ui-tree.mjs +0 -41
  498. package/fesm2022/aril-ui-tree.mjs.map +0 -1
  499. package/fesm2022/aril-ui-treeTable.mjs +0 -62
  500. package/fesm2022/aril-ui-treeTable.mjs.map +0 -1
  501. package/fesm2022/aril-ui-value.mjs +0 -42
  502. package/fesm2022/aril-ui-value.mjs.map +0 -1
  503. package/fesm2022/aril-ui.mjs +0 -8
  504. package/fesm2022/aril-ui.mjs.map +0 -1
  505. package/fesm2022/aril-util-block.mjs +0 -71
  506. package/fesm2022/aril-util-block.mjs.map +0 -1
  507. package/fesm2022/aril-util-custom_pages.mjs +0 -72
  508. package/fesm2022/aril-util-custom_pages.mjs.map +0 -1
  509. package/fesm2022/aril-util-init-event.mjs +0 -29
  510. package/fesm2022/aril-util-init-event.mjs.map +0 -1
  511. package/fesm2022/aril-util-lib.mjs +0 -29
  512. package/fesm2022/aril-util-lib.mjs.map +0 -1
  513. package/fesm2022/aril-util-loaders.mjs +0 -126
  514. package/fesm2022/aril-util-loaders.mjs.map +0 -1
  515. package/fesm2022/aril-util-primitive-extensions.mjs +0 -179
  516. package/fesm2022/aril-util-primitive-extensions.mjs.map +0 -1
  517. package/fesm2022/aril-util-pub-sub.mjs +0 -36
  518. package/fesm2022/aril-util-pub-sub.mjs.map +0 -1
  519. package/fesm2022/aril-util.mjs +0 -8
  520. package/fesm2022/aril-util.mjs.map +0 -1
  521. package/fesm2022/aril.mjs +0 -157
  522. package/fesm2022/aril.mjs.map +0 -1
  523. package/http/lib/enums.d.ts +0 -13
  524. package/http/lib/interfaces.d.ts +0 -21
  525. package/http/src/httpBackend.d.ts +0 -8
  526. package/http/src/httpClient.d.ts +0 -8
  527. package/http/src/interceptor/state-machine.interceptor.d.ts +0 -2
  528. package/http/src/serviceBase.d.ts +0 -5
  529. package/http/src/serviceMockBase.d.ts +0 -6
  530. package/http/src/serviceRequest.d.ts +0 -4
  531. package/http/src/serviceStateMethods.d.ts +0 -14
  532. package/i18n/src/folder-name-token.d.ts +0 -2
  533. package/i18n/src/i18n.module.d.ts +0 -7
  534. package/i18n/src/loader.d.ts +0 -9
  535. package/i18n/src/provideI18n.d.ts +0 -2
  536. package/i18n/src/provideScope.d.ts +0 -5
  537. package/index.d.ts +0 -5
  538. package/keycloak/src/auth.guard.d.ts +0 -11
  539. package/keycloak/src/auth.interceptor.d.ts +0 -2
  540. package/keycloak/src/keycloak.manager.d.ts +0 -25
  541. package/theme/index.d.ts +0 -1
  542. package/theme/layout/app/breadcrumb/app.breadcrumb.component.d.ts +0 -16
  543. package/theme/layout/app/config/app.config.component.d.ts +0 -36
  544. package/theme/layout/app/layout/app.layout.component.d.ts +0 -48
  545. package/theme/layout/app/layout/mfe.layout.component.d.ts +0 -8
  546. package/theme/layout/app/menu/app.menu.component.d.ts +0 -50
  547. package/theme/layout/app/profileSidebar/app.profilesidebar.component.d.ts +0 -13
  548. package/theme/layout/app/sidebar/app.sidebar.component.d.ts +0 -15
  549. package/theme/layout/app/topbar/app.topbar.component.d.ts +0 -16
  550. package/theme/layout/index.d.ts +0 -3
  551. package/theme/layout/service/app.layout.service.d.ts +0 -51
  552. package/theme/layout/service/app.menu.service.d.ts +0 -23
  553. package/theme/layout/service/menuchangeevent.d.ts +0 -4
  554. package/ui/autoComplete/src/auto-complete.component.d.ts +0 -24
  555. package/ui/autoComplete/src/interfaces.d.ts +0 -24
  556. package/ui/badge/src/badge.component.d.ts +0 -11
  557. package/ui/button/src/button.component.d.ts +0 -24
  558. package/ui/button/src/split-button.component.d.ts +0 -8
  559. package/ui/calendar/src/calendar.component.d.ts +0 -38
  560. package/ui/checkbox/src/check-box.component.d.ts +0 -9
  561. package/ui/checkbox/src/tri-state-checkbox.component.d.ts +0 -9
  562. package/ui/dxField/src/dx-field.component.d.ts +0 -9
  563. package/ui/field/src/field.component.d.ts +0 -25
  564. package/ui/fileUpload/src/file-upload.component.d.ts +0 -47
  565. package/ui/form/index.d.ts +0 -11
  566. package/ui/form/src/form-submit-button.component.d.ts +0 -14
  567. package/ui/form/src/form.component.d.ts +0 -8
  568. package/ui/index.d.ts +0 -1
  569. package/ui/lib/src/form/form-error-message.component.d.ts +0 -9
  570. package/ui/lib/src/form/form-error-message.directive.d.ts +0 -14
  571. package/ui/lib/src/form/form-field-builder.d.ts +0 -8
  572. package/ui/lib/src/form/form-validation.d.ts +0 -2
  573. package/ui/lib/src/grid/flex-grid.directive.d.ts +0 -6
  574. package/ui/lib/src/input/baseInput.d.ts +0 -7
  575. package/ui/lib/src/input/common-input-validators.service.d.ts +0 -20
  576. package/ui/lib/src/input/dx-input-error-message.pipe.d.ts +0 -11
  577. package/ui/lib/src/input/input-disabled.directive.d.ts +0 -9
  578. package/ui/lib/src/input/input-error-message.pipe.d.ts +0 -7
  579. package/ui/lib/src/input/input-transforms.d.ts +0 -5
  580. package/ui/lib/src/input/value-accessor.directive.d.ts +0 -9
  581. package/ui/mask/src/mask.component.d.ts +0 -21
  582. package/ui/number/src/number.component.d.ts +0 -27
  583. package/ui/overlayPanel/src/overlay-panel.component.d.ts +0 -8
  584. package/ui/panel/src/panel.component.d.ts +0 -10
  585. package/ui/password/src/password.component.d.ts +0 -11
  586. package/ui/radioButton/src/radio-button.component.d.ts +0 -20
  587. package/ui/selectBox/src/interfaces.d.ts +0 -32
  588. package/ui/selectBox/src/select-box.component.d.ts +0 -25
  589. package/ui/switch/src/switch.component.d.ts +0 -8
  590. package/ui/table/index.d.ts +0 -16
  591. package/ui/table/src/i18n.d.ts +0 -42
  592. package/ui/table/src/table-column.component.d.ts +0 -24
  593. package/ui/table/src/table.component.d.ts +0 -41
  594. package/ui/tagBox/src/tag-box.component.d.ts +0 -15
  595. package/ui/text/src/text.component.d.ts +0 -17
  596. package/ui/textArea/src/text-area.component.d.ts +0 -11
  597. package/ui/toggle-button/index.d.ts +0 -1
  598. package/ui/toggle-button/src/toggle-button.component.d.ts +0 -10
  599. package/ui/tree/src/tree.component.d.ts +0 -19
  600. package/ui/treeTable/src/tree-table.component.d.ts +0 -21
  601. package/ui/value/src/value.component.d.ts +0 -13
  602. package/util/block/src/block.d.ts +0 -28
  603. package/util/custom_pages/src/notFound.component.d.ts +0 -5
  604. package/util/index.d.ts +0 -1
  605. package/util/init-event/src/init-event.directive.d.ts +0 -8
  606. package/util/lib/src/interfaces.d.ts +0 -41
  607. package/util/lib/src/module-router.d.ts +0 -5
  608. package/util/lib/src/types.d.ts +0 -29
  609. package/util/loaders/script/script.loader.service.d.ts +0 -13
  610. package/util/loaders/style/style.loader.service.d.ts +0 -13
  611. package/util/primitive-extensions/src/date.extensions.d.ts +0 -8
  612. package/util/primitive-extensions/src/number.extensions.d.ts +0 -12
  613. package/util/primitive-extensions/src/string.extensions.d.ts +0 -11
  614. package/util/pub-sub/src/pub-sub.service.d.ts +0 -20
  615. /package/boot/config/{api.sample.json → api/src/api.sample.json} +0 -0
  616. /package/{styles/ui → ui/styles}/ui.common.scss +0 -0
  617. /package/{styles/util → util/block/src}/blockui.css +0 -0
  618. /package/{scripts/util → util/block/src}/blockui.min.js +0 -0
package/.eslintrc.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "extends": "../../.eslintrc.json",
3
+ "ignorePatterns": ["!**/*"],
4
+ "overrides": [
5
+ {
6
+ "files": ["*.ts"],
7
+ "rules": {
8
+ "@angular-eslint/directive-selector": [
9
+ "error",
10
+ {
11
+ "type": "attribute",
12
+ "prefix": "aril",
13
+ "style": "camelCase"
14
+ }
15
+ ],
16
+ "@angular-eslint/component-selector": [
17
+ "error",
18
+ {
19
+ "type": "element",
20
+ "prefix": "aril",
21
+ "style": "kebab-case"
22
+ }
23
+ ],
24
+ "@angular-eslint/no-input-rename": "off",
25
+ "rules": {
26
+ "no-multiple-empty-lines": [
27
+ "error",
28
+ {
29
+ "max": 1,
30
+ "maxEOF": 0,
31
+ "maxBOF": 0
32
+ }
33
+ ]
34
+ }
35
+ }
36
+ },
37
+ {
38
+ "files": ["*.html"]
39
+ }
40
+ ]
41
+ }
@@ -1 +1 @@
1
- export * from './src/api.service';
1
+ export * from './src/api.service';
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "lib": {
4
+ "entryFile": "./index.ts"
5
+ }
6
+ }
@@ -0,0 +1,57 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { isDevMode } from '@angular/core';
3
+
4
+ import { firstValueFrom, tap } from 'rxjs';
5
+
6
+ import { Apps } from 'aril/boot/config/apps';
7
+ import { KeycloakManager } from 'aril/keycloak';
8
+
9
+ import { ApiConfigsFactory } from './interfaces';
10
+
11
+ export const API_CONFIGS = new ApiConfigsFactory();
12
+
13
+ export function loadApiConfigs(
14
+ httpBackend: { httpClient: HttpClient },
15
+ keycloak: KeycloakManager,
16
+ appName: string
17
+ ): () => Promise<any> {
18
+ return () => {
19
+ const configDeps: Promise<any>[] = [];
20
+
21
+ const observable$ = httpBackend.httpClient
22
+ .get<ApiConfigsFactory>(isDevMode() ? './assets/local-configs/api.local.json' : './api.json')
23
+ .pipe(
24
+ tap((configs) => {
25
+ Object.assign(API_CONFIGS, { ...configs });
26
+
27
+ if (isDevMode()) (<any>globalThis).hostAPI = API_CONFIGS.api;
28
+
29
+ configDeps.push(keycloak.init(API_CONFIGS.keycloak));
30
+ })
31
+ );
32
+
33
+ return firstValueFrom(observable$).then(() => {
34
+ return Promise.all(configDeps);
35
+ });
36
+ };
37
+ }
38
+
39
+ /**
40
+ * micro-app cannot access its own api.json file when opened in host
41
+ * MNG has different controller (host, state-machine etc.)
42
+ */
43
+ export function setApiConfigOnMFEMode(
44
+ httpBackend: { httpClient: HttpClient },
45
+ keycloak: KeycloakManager,
46
+ appName: string
47
+ ): () => void {
48
+ return () => {
49
+ if (isDevMode()) {
50
+ if (appName === Apps.MNG) API_CONFIGS.api = (<any>globalThis).hostAPI;
51
+ else API_CONFIGS.api = (<any>globalThis).hostAPI + '/' + appName + '/v1';
52
+ } else {
53
+ if (appName === Apps.MNG) API_CONFIGS.api = window.location.origin;
54
+ else API_CONFIGS.api = window.location.origin + '/' + appName + '/v1';
55
+ }
56
+ };
57
+ }
@@ -0,0 +1,13 @@
1
+ export interface KeycloakConfig {
2
+ url: string;
3
+ realm: string;
4
+ clientId: string;
5
+ }
6
+ export class ApiConfigsFactory {
7
+ api: string = '';
8
+ keycloak: KeycloakConfig = {
9
+ url: '',
10
+ realm: '',
11
+ clientId: ''
12
+ };
13
+ }
@@ -1,2 +1,2 @@
1
- export * from './src/apps.service';
2
- export * from './src/interfaces';
1
+ export * from './src/apps.service';
2
+ export * from './src/interfaces';
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "lib": {
4
+ "entryFile": "./index.ts"
5
+ }
6
+ }
@@ -0,0 +1,64 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injectable, inject, isDevMode } from '@angular/core';
3
+ import { Router, Routes } from '@angular/router';
4
+
5
+ import { MenuItem } from 'primeng/api';
6
+
7
+ import {
8
+ WebComponentWrapper,
9
+ WebComponentWrapperOptions,
10
+ startsWith
11
+ } from '@angular-architects/module-federation-tools';
12
+ import { Observable, catchError, of, tap } from 'rxjs';
13
+
14
+ import { AppMenuService } from 'aril/theme/layout';
15
+ import { NotFoundComponent } from 'aril/util/custom_pages';
16
+
17
+ import { MicroAppConfig } from './interfaces';
18
+ import { ShadowDOMWrapperComponent } from './showdowDOMWrapper';
19
+
20
+ @Injectable({ providedIn: 'root' })
21
+ export class MicroAppService {
22
+ private router = inject(Router);
23
+ private appMenuService = inject(AppMenuService);
24
+
25
+ init(httpBackend: { httpClient: HttpClient }): () => Observable<MicroAppConfig[]> {
26
+ return () =>
27
+ httpBackend.httpClient
28
+ .get<MicroAppConfig[]>(isDevMode() ? './assets/local-configs/app.local.json' : './assets/app.json')
29
+ .pipe(
30
+ tap((apps: MicroAppConfig[]) => {
31
+ const routes = this.buildRoutes(apps);
32
+
33
+ this.router.resetConfig([...this.router.config, ...routes, { path: '**', component: NotFoundComponent }]);
34
+ this.setMenuItems(apps);
35
+ }),
36
+ catchError((err) => {
37
+ console.log('Error Micro Apps Loading', err);
38
+ return of();
39
+ })
40
+ );
41
+ }
42
+
43
+ buildRoutes(apps: MicroAppConfig[]): Routes {
44
+ const routes: Routes = apps.map((config) => ({
45
+ matcher: startsWith(config.remoteName),
46
+ component: config.shadowDomPassive ? WebComponentWrapper : ShadowDOMWrapperComponent,
47
+ data: config as WebComponentWrapperOptions
48
+ }));
49
+
50
+ return routes;
51
+ }
52
+
53
+ setMenuItems(apps: MicroAppConfig[]): void {
54
+ const menuItems: MenuItem[] = apps.map((config) => {
55
+ return {
56
+ label: config.remoteName,
57
+ icon: 'pi pi-fw pi-bars',
58
+ routerLink: config.remoteName
59
+ };
60
+ });
61
+
62
+ this.appMenuService.menuConfig.set({ items: menuItems });
63
+ }
64
+ }
@@ -0,0 +1,27 @@
1
+ import { RemoteConfig } from '@angular-architects/module-federation';
2
+
3
+ export enum Apps {
4
+ THOR = 'thor',
5
+ CRM = 'crm',
6
+ WDM = 'wdm',
7
+ BILLING = 'billing',
8
+ PAYMENT = 'payment',
9
+ YEAP = 'yeap',
10
+ MD = 'md',
11
+ MW = 'mw',
12
+ LENA = 'lena',
13
+ HES = 'hes',
14
+ MTH = 'mth',
15
+ SIS = 'sis',
16
+ MNG = 'mng'
17
+ }
18
+
19
+ export type MicroAppConfig = RemoteConfig & {
20
+ remoteName: string;
21
+ exposedModule: string;
22
+ elementName: string;
23
+ shadowDomPassive?: boolean;
24
+ styleUrls?: string[];
25
+ // route: string;
26
+ // displayName: string;
27
+ };
@@ -0,0 +1,28 @@
1
+ import { Component, ElementRef, OnInit, Renderer2, ViewChild, ViewEncapsulation, inject } from '@angular/core';
2
+
3
+ import { WebComponentWrapper } from '@angular-architects/module-federation-tools';
4
+
5
+ @Component({
6
+ standalone: true,
7
+ template: '<div #vc></div>',
8
+ encapsulation: ViewEncapsulation.ShadowDom
9
+ })
10
+ export class ShadowDOMWrapperComponent extends WebComponentWrapper implements OnInit {
11
+ @ViewChild('vc', { read: ElementRef, static: true }) override vc!: ElementRef;
12
+
13
+ private renderer = inject(Renderer2);
14
+
15
+ ngOnInit(): void {
16
+ const shadowRoot = this.vc.nativeElement.parentNode;
17
+ const styleUrls = this['route'].snapshot.data.styleUrls || [];
18
+
19
+ // Inject styles into the Shadow DOM
20
+ styleUrls.forEach((url: string) => {
21
+ const link = this.renderer.createElement('link');
22
+ link.setAttribute('rel', 'stylesheet');
23
+ link.setAttribute('type', 'text/css');
24
+ link.setAttribute('href', url);
25
+ this.renderer.appendChild(shadowRoot, link);
26
+ });
27
+ }
28
+ }
@@ -1,2 +1,2 @@
1
- export * from './src/plugins.service';
2
- export * from './src/getNgZone';
1
+ export * from './src/plugins.service';
2
+ export * from './src/getNgZone';
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "lib": {
4
+ "entryFile": "./index.ts"
5
+ }
6
+ }
@@ -0,0 +1,9 @@
1
+ import { NgZone } from '@angular/core';
2
+
3
+ export const getNgZone = () => {
4
+ if ((<any>globalThis).hostZone) {
5
+ return { provide: NgZone, useValue: (<any>globalThis).hostZone };
6
+ } else if ((<any>globalThis).mfeZone) {
7
+ return { provide: NgZone, useValue: (<any>globalThis).mfeZone };
8
+ } else return [];
9
+ };
@@ -0,0 +1,11 @@
1
+ import { LoadRemoteModuleScriptOptions } from '@angular-architects/module-federation';
2
+
3
+ interface PluginItem {
4
+ options: LoadRemoteModuleScriptOptions & { elementName: string };
5
+ props: { [key in string]: any };
6
+ events: { [key in string]: Function };
7
+ }
8
+
9
+ export type PluginConfigs = { [key in string]: PluginItem };
10
+
11
+ export class FactoryClass {}
@@ -0,0 +1,81 @@
1
+ import { HttpClient, provideHttpClient, withInterceptors } from '@angular/common/http';
2
+ import { APP_INITIALIZER, ApplicationConfig, Type, importProvidersFrom, isDevMode } from '@angular/core';
3
+ import { createCustomElement } from '@angular/elements';
4
+ import { createApplication } from '@angular/platform-browser';
5
+ import { provideAnimations } from '@angular/platform-browser/animations';
6
+
7
+ import { ConfirmationService, MessageService } from 'primeng/api';
8
+ import { ConfirmDialogModule } from 'primeng/confirmdialog';
9
+ import { ConfirmPopupModule } from 'primeng/confirmpopup';
10
+ import { DialogModule } from 'primeng/dialog';
11
+ import { MessagesModule } from 'primeng/messages';
12
+ import { ToastModule } from 'primeng/toast';
13
+
14
+ import { KeycloakAngularModule } from 'keycloak-angular';
15
+ import { Observable, catchError, of, tap } from 'rxjs';
16
+
17
+ import { API_CONFIGS } from 'aril/boot/config/api';
18
+ import { i18nFolderName, i18nModule } from 'aril/i18n';
19
+ import { authInterceptor } from 'aril/keycloak';
20
+
21
+ import { getNgZone } from './getNgZone';
22
+ import { FactoryClass, PluginConfigs } from './interfaces';
23
+
24
+ export const PLUGINS = new FactoryClass() as FactoryClass & PluginConfigs;
25
+
26
+ export function loadPlugins(httpBackend: { httpClient: HttpClient }): () => Observable<any> {
27
+ return () => {
28
+ return httpBackend.httpClient
29
+ .get<PluginConfigs>(isDevMode() ? './assets/local-configs/plugin.local.json' : './assets/plugin.json')
30
+ .pipe(
31
+ tap((configs) => {
32
+ Object.assign(PLUGINS, { ...configs });
33
+ }),
34
+ catchError((err) => {
35
+ console.log('Error Plugins Loading', err);
36
+ return of();
37
+ })
38
+ );
39
+ };
40
+ }
41
+
42
+ export async function bootPlugin(selector: string, component: Type<any>) {
43
+ if (customElements.get(selector)) return;
44
+
45
+ const config: ApplicationConfig = {
46
+ providers: [
47
+ provideAnimations(),
48
+ provideHttpClient(withInterceptors([authInterceptor])),
49
+ importProvidersFrom(
50
+ i18nModule,
51
+ KeycloakAngularModule,
52
+ ConfirmDialogModule,
53
+ ConfirmPopupModule,
54
+ DialogModule,
55
+ MessagesModule,
56
+ ToastModule
57
+ ),
58
+ getNgZone(),
59
+ MessageService,
60
+ ConfirmationService,
61
+ {
62
+ provide: APP_INITIALIZER,
63
+ useFactory: () => {
64
+ return () => {
65
+ API_CONFIGS.api = (<any>globalThis).hostAPI;
66
+ };
67
+ },
68
+ multi: true
69
+ },
70
+ {
71
+ provide: i18nFolderName,
72
+ useValue: 'host'
73
+ }
74
+ ]
75
+ };
76
+
77
+ const appRef = await createApplication(config);
78
+ const plugin = createCustomElement(component, { injector: appRef.injector });
79
+
80
+ customElements.define(selector, plugin);
81
+ }
@@ -1 +1 @@
1
- export * from './src/bootstrap';
1
+ export * from './src/bootstrap';
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "../../../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "lib": {
4
+ "entryFile": "./index.ts"
5
+ }
6
+ }
@@ -0,0 +1,27 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Component, NgZone, inject } from '@angular/core';
3
+ import { Router, RouterOutlet } from '@angular/router';
4
+
5
+ import { AppLayoutComponent } from 'aril/theme/layout';
6
+ import { PubSubService } from 'aril/util/pub-sub';
7
+
8
+ @Component({
9
+ standalone: true,
10
+ selector: 'aril-root',
11
+ template: ` <app-layout></app-layout> `,
12
+ imports: [RouterOutlet, AppLayoutComponent]
13
+ })
14
+ export class AppComponent {
15
+ constructor(router: Router, pubSubService: PubSubService) {
16
+ (<any>globalThis).hostZone = inject(NgZone);
17
+ (<any>globalThis).isHostMode = true;
18
+
19
+ pubSubService.subscribe('navigateBetweenApps', (data: any) => {
20
+ router.navigateByUrl(data.path);
21
+ pubSubService.publish({
22
+ name: 'navigateInApps',
23
+ data: data
24
+ });
25
+ });
26
+ }
27
+ }
@@ -0,0 +1,61 @@
1
+ import { provideHttpClient, withInterceptors } from '@angular/common/http';
2
+ import { APP_INITIALIZER, ApplicationConfig, importProvidersFrom } from '@angular/core';
3
+ import { bootstrapApplication } from '@angular/platform-browser';
4
+ import { provideAnimations } from '@angular/platform-browser/animations';
5
+ import {
6
+ Routes,
7
+ provideRouter,
8
+ withComponentInputBinding,
9
+ withHashLocation,
10
+ withViewTransitions
11
+ } from '@angular/router';
12
+
13
+ import { ConfirmationService, MessageService } from 'primeng/api';
14
+
15
+ import { KeycloakAngularModule } from 'keycloak-angular';
16
+
17
+ import { loadApiConfigs } from 'aril/boot/config/api';
18
+ import { MicroAppService } from 'aril/boot/config/apps';
19
+ import { loadPlugins } from 'aril/boot/config/plugins';
20
+ import { HttpBackendService, stateMachineInterceptor } from 'aril/http';
21
+ import { i18nFolderName, i18nModule } from 'aril/i18n';
22
+ import { KeycloakManager, authInterceptor } from 'aril/keycloak';
23
+
24
+ import { AppComponent } from './app.component';
25
+
26
+ export const boot = (routes: Routes) => {
27
+ const appConfig: ApplicationConfig = {
28
+ providers: [
29
+ provideAnimations(),
30
+ provideHttpClient(withInterceptors([authInterceptor, stateMachineInterceptor])),
31
+ provideRouter(routes, withComponentInputBinding(), withHashLocation(), withViewTransitions()),
32
+ importProvidersFrom(i18nModule, KeycloakAngularModule),
33
+ MessageService,
34
+ ConfirmationService,
35
+ {
36
+ provide: APP_INITIALIZER,
37
+ useFactory: loadApiConfigs,
38
+ multi: true,
39
+ deps: [HttpBackendService, KeycloakManager, i18nFolderName]
40
+ },
41
+ {
42
+ provide: APP_INITIALIZER,
43
+ useFactory: (mAppService: MicroAppService, httpBackend: HttpBackendService) => mAppService.init(httpBackend),
44
+ multi: true,
45
+ deps: [MicroAppService, HttpBackendService]
46
+ },
47
+ {
48
+ provide: APP_INITIALIZER,
49
+ useFactory: loadPlugins,
50
+ multi: true,
51
+ deps: [HttpBackendService]
52
+ },
53
+ {
54
+ provide: i18nFolderName,
55
+ useValue: 'host'
56
+ }
57
+ ]
58
+ };
59
+
60
+ bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));
61
+ };
package/boot/index.ts ADDED
@@ -0,0 +1 @@
1
+ export const aril_boot = 'ARiL-BOOT';
@@ -1 +1 @@
1
- export { boot } from './src/bootstrap';
1
+ export { boot } from './src/bootstrap';
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "../../../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "lib": {
4
+ "entryFile": "./index.ts"
5
+ }
6
+ }
@@ -0,0 +1,57 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Component, NgZone, inject } from '@angular/core';
3
+ import { Router, RouterOutlet } from '@angular/router';
4
+
5
+ import { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';
6
+
7
+ import { AppLayoutComponent, AppMenuService, MFELayoutComponent } from 'aril/theme/layout';
8
+ import { PubSubService } from 'aril/util/pub-sub';
9
+
10
+ import { appName, menuItems } from './bootstrap';
11
+
12
+ @Component({
13
+ standalone: true,
14
+ template: `
15
+ @if (isHostMode) {
16
+ <mfe-layout></mfe-layout>
17
+ } @else {
18
+ <app-layout></app-layout>
19
+ }
20
+ `,
21
+ imports: [RouterOutlet, ModuleFederationToolsModule, AppLayoutComponent, MFELayoutComponent]
22
+ })
23
+ export class AppComponent {
24
+ constructor(
25
+ private router: Router,
26
+ pubSubService: PubSubService,
27
+ appMenuService: AppMenuService
28
+ ) {
29
+ if (!this.isHostMode && !(<any>globalThis).mfeZone) {
30
+ (<any>globalThis).mfeZone = inject(NgZone);
31
+ }
32
+
33
+ this.connectRouter();
34
+
35
+ (<any>globalThis).activeMF = appName;
36
+
37
+ pubSubService.subscribe('navigateInApps', (data: any) => {
38
+ if (data.path.startsWith(appName, 1)) router.navigateByUrl(data.path);
39
+ });
40
+
41
+ if (this.isHostMode) {
42
+ appMenuService.subMenuConfig.set({ items: structuredClone(menuItems), prefix: appName });
43
+ } else {
44
+ appMenuService.menuConfig.set({ items: structuredClone(menuItems), prefix: appName });
45
+ }
46
+ }
47
+
48
+ isHostMode = (<any>globalThis).isHostMode;
49
+
50
+ connectRouter() {
51
+ this.router.initialNavigation();
52
+
53
+ window.addEventListener('popstate', () => {
54
+ this.router.initialNavigation();
55
+ });
56
+ }
57
+ }
@@ -0,0 +1,4 @@
1
+ export const appComponentLoader = async () => {
2
+ const { AppComponent } = await import('./app.component');
3
+ return AppComponent;
4
+ };
@@ -0,0 +1,78 @@
1
+ import { provideHttpClient, withInterceptors } from '@angular/common/http';
2
+ import { APP_INITIALIZER, ApplicationConfig, importProvidersFrom } from '@angular/core';
3
+ import { createCustomElement } from '@angular/elements';
4
+ import { createApplication } from '@angular/platform-browser';
5
+ import { provideAnimations } from '@angular/platform-browser/animations';
6
+ import {
7
+ Routes,
8
+ provideRouter,
9
+ withComponentInputBinding,
10
+ withHashLocation,
11
+ withViewTransitions
12
+ } from '@angular/router';
13
+
14
+ import { ConfirmationService, MenuItem, MessageService } from 'primeng/api';
15
+
16
+ import { KeycloakAngularModule } from 'keycloak-angular';
17
+
18
+ import { loadApiConfigs, setApiConfigOnMFEMode } from 'aril/boot/config/api';
19
+ import { Apps } from 'aril/boot/config/apps';
20
+ import { getNgZone, loadPlugins } from 'aril/boot/config/plugins';
21
+ import { HttpBackendService, stateMachineInterceptor } from 'aril/http';
22
+ import { i18nFolderName, i18nModule } from 'aril/i18n';
23
+ import { KeycloakManager, authInterceptor } from 'aril/keycloak';
24
+ import { StyleLoaderService } from 'aril/util/loaders';
25
+
26
+ import { appComponentLoader } from './appComponentLoader';
27
+ import { loadStyles } from './loadStyles';
28
+
29
+ export var appName: Apps;
30
+ export var menuItems: MenuItem[] = [];
31
+
32
+ export const boot = (_appName: Apps, _routes: Routes, _menuItems: MenuItem[]) => {
33
+ if (customElements.get(`app-${_appName}`)) return;
34
+
35
+ appName = _appName;
36
+ menuItems = _menuItems;
37
+
38
+ const appBootConfig: ApplicationConfig = {
39
+ providers: [
40
+ provideAnimations(),
41
+ provideHttpClient(withInterceptors([authInterceptor, stateMachineInterceptor])),
42
+ provideRouter(_routes, withComponentInputBinding(), withHashLocation(), withViewTransitions()),
43
+ importProvidersFrom(i18nModule, KeycloakAngularModule),
44
+ getNgZone(),
45
+ MessageService,
46
+ ConfirmationService,
47
+ {
48
+ provide: APP_INITIALIZER,
49
+ useFactory: (<any>globalThis).isHostMode ? setApiConfigOnMFEMode : loadApiConfigs,
50
+ multi: true,
51
+ deps: [HttpBackendService, KeycloakManager, i18nFolderName]
52
+ },
53
+ {
54
+ provide: APP_INITIALIZER,
55
+ useFactory: loadPlugins,
56
+ multi: true,
57
+ deps: [HttpBackendService]
58
+ },
59
+ {
60
+ provide: APP_INITIALIZER,
61
+ useFactory: loadStyles,
62
+ multi: true,
63
+ deps: [StyleLoaderService, i18nFolderName]
64
+ },
65
+ {
66
+ provide: i18nFolderName,
67
+ useValue: _appName
68
+ }
69
+ ]
70
+ };
71
+
72
+ createApplication(appBootConfig).then((appRef) => {
73
+ appComponentLoader().then((AppComponent) => {
74
+ const app = createCustomElement(AppComponent, { injector: appRef.injector });
75
+ customElements.define(`app-${appName}`, app);
76
+ });
77
+ });
78
+ };
@@ -0,0 +1,19 @@
1
+ import { Apps } from 'aril/boot/config/apps';
2
+ import { StyleLoaderService } from 'aril/util/loaders';
3
+
4
+ export function loadStyles(styleLoaderService: StyleLoaderService, appName: Apps): () => Promise<any> {
5
+ const styles = [
6
+ 'layout.css',
7
+ 'ui.common.css',
8
+ 'preloading.css',
9
+ 'primeng.min.css',
10
+ 'theme.light.indigo.css',
11
+ 'dx.fluent.saas.light.css',
12
+ `assets/${appName}/styles/primeflex/primeflex.min.css`,
13
+ `assets/${appName}/styles/primeicons/primeicons.css`
14
+ ];
15
+
16
+ if ((<any>globalThis).isHostMode) return () => Promise.resolve();
17
+
18
+ return () => styleLoaderService.load(styles);
19
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "lib": {
4
+ "entryFile": "./index.ts"
5
+ }
6
+ }