@acorex/platform 18.2.4 → 19.0.0

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 (823) hide show
  1. package/common/lib/app/app-startup.service.d.ts +1 -2
  2. package/common/lib/app/application.types.d.ts +3 -3
  3. package/common/lib/schema/entity/entity.class.d.ts +1 -1
  4. package/core/index.d.ts +1 -0
  5. package/core/utils/highlighter.d.ts +43 -0
  6. package/fesm2022/acorex-platform-auth.mjs +27 -29
  7. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  8. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-DtC2IaE8.mjs → acorex-platform-common-avatar-widget-edit.component-syRKKn21.mjs} +6 -26
  9. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-syRKKn21.mjs.map +1 -0
  10. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-BOIV0Be1.mjs → acorex-platform-common-avatar-widget-view.component-DSju_bgg.mjs} +6 -28
  11. package/fesm2022/acorex-platform-common-avatar-widget-view.component-DSju_bgg.mjs.map +1 -0
  12. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-S4-3SmKA.mjs → acorex-platform-common-boolean-widget-filter.component-aaKT0FyC.mjs} +6 -26
  13. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-aaKT0FyC.mjs.map +1 -0
  14. package/fesm2022/{acorex-platform-common-change-password.component-g_GEw3IZ.mjs → acorex-platform-common-change-password.component-DFoC5nP2.mjs} +7 -8
  15. package/fesm2022/acorex-platform-common-change-password.component-DFoC5nP2.mjs.map +1 -0
  16. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-DOoneR7g.mjs → acorex-platform-common-checkbox-widget-column.component-DZxykkVr.mjs} +6 -28
  17. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-DZxykkVr.mjs.map +1 -0
  18. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-PFRq-XS-.mjs → acorex-platform-common-checkbox-widget-edit.component-CNmYVpMu.mjs} +6 -29
  19. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-CNmYVpMu.mjs.map +1 -0
  20. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CKz8XnjT.mjs → acorex-platform-common-checkbox-widget-view.component-3XLnJx9A.mjs} +6 -28
  21. package/fesm2022/acorex-platform-common-checkbox-widget-view.component-3XLnJx9A.mjs.map +1 -0
  22. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-DG0leXAo.mjs → acorex-platform-common-dateTime-widget-column.component-CKaMC189.mjs} +6 -27
  23. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-CKaMC189.mjs.map +1 -0
  24. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-D8W-XEcx.mjs → acorex-platform-common-dateTime-widget-edit.component-B50J-bwp.mjs} +6 -26
  25. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-B50J-bwp.mjs.map +1 -0
  26. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-DngCKwFY.mjs → acorex-platform-common-dateTime-widget-filter.component-CTV2a3c0.mjs} +6 -24
  27. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-CTV2a3c0.mjs.map +1 -0
  28. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-KGgJkiKB.mjs → acorex-platform-common-dateTime-widget-view.component-C7hmUXLz.mjs} +6 -27
  29. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-C7hmUXLz.mjs.map +1 -0
  30. package/fesm2022/{acorex-platform-common-email-widget-column.component-CLNqSuB7.mjs → acorex-platform-common-email-widget-column.component-BPoSZTqM.mjs} +6 -29
  31. package/fesm2022/acorex-platform-common-email-widget-column.component-BPoSZTqM.mjs.map +1 -0
  32. package/fesm2022/{acorex-platform-common-email-widget-edit.component--0gaRm4s.mjs → acorex-platform-common-email-widget-edit.component-aLPGOG3r.mjs} +6 -27
  33. package/fesm2022/acorex-platform-common-email-widget-edit.component-aLPGOG3r.mjs.map +1 -0
  34. package/fesm2022/{acorex-platform-common-email-widget-view.component-C3AUr1HO.mjs → acorex-platform-common-email-widget-view.component-dMByK5bc.mjs} +5 -27
  35. package/fesm2022/acorex-platform-common-email-widget-view.component-dMByK5bc.mjs.map +1 -0
  36. package/fesm2022/{acorex-platform-common-file-widget-column.component-C9AHk2UP.mjs → acorex-platform-common-file-widget-column.component-Dafc2zLc.mjs} +6 -27
  37. package/fesm2022/acorex-platform-common-file-widget-column.component-Dafc2zLc.mjs.map +1 -0
  38. package/fesm2022/{acorex-platform-common-file-widget-edit.component-L7bln9k0.mjs → acorex-platform-common-file-widget-edit.component-C31kfJSw.mjs} +6 -27
  39. package/fesm2022/acorex-platform-common-file-widget-edit.component-C31kfJSw.mjs.map +1 -0
  40. package/fesm2022/{acorex-platform-common-file-widget-filter.component-Ce35mqny.mjs → acorex-platform-common-file-widget-filter.component-BNCcBun4.mjs} +6 -29
  41. package/fesm2022/acorex-platform-common-file-widget-filter.component-BNCcBun4.mjs.map +1 -0
  42. package/fesm2022/{acorex-platform-common-file-widget-view.component-BvMzrs5C.mjs → acorex-platform-common-file-widget-view.component-T3r6musY.mjs} +6 -27
  43. package/fesm2022/acorex-platform-common-file-widget-view.component-T3r6musY.mjs.map +1 -0
  44. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-BVuV2Ib8.mjs → acorex-platform-common-gallery-widget-edit.component-zBsaBkzu.mjs} +6 -26
  45. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-zBsaBkzu.mjs.map +1 -0
  46. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-C8tdM6PX.mjs → acorex-platform-common-gallery-widget-filter.component-BhLYuB6p.mjs} +6 -28
  47. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-BhLYuB6p.mjs.map +1 -0
  48. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-D8YmSi9C.mjs → acorex-platform-common-gallery-widget-view.component-Dxf4Oj1E.mjs} +6 -26
  49. package/fesm2022/acorex-platform-common-gallery-widget-view.component-Dxf4Oj1E.mjs.map +1 -0
  50. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DGMxpnsr.mjs → acorex-platform-common-largetext-widget-edit.component-BYMIaLCI.mjs} +5 -27
  51. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BYMIaLCI.mjs.map +1 -0
  52. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-B-cEaNjv.mjs → acorex-platform-common-lookup-widget-column.component-BB0Mdx2u.mjs} +6 -28
  53. package/fesm2022/acorex-platform-common-lookup-widget-column.component-BB0Mdx2u.mjs.map +1 -0
  54. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-DqB_g9Zz.mjs → acorex-platform-common-lookup-widget-edit.component-DUPsS_ZW.mjs} +6 -28
  55. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-DUPsS_ZW.mjs.map +1 -0
  56. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-0TPWNWSd.mjs → acorex-platform-common-lookup-widget-filter.component-CLyl94AJ.mjs} +6 -26
  57. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-CLyl94AJ.mjs.map +1 -0
  58. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-DYAg76YH.mjs → acorex-platform-common-lookup-widget-view.component-CJijszjn.mjs} +6 -28
  59. package/fesm2022/acorex-platform-common-lookup-widget-view.component-CJijszjn.mjs.map +1 -0
  60. package/fesm2022/{acorex-platform-common-map-widget-edit.component-C3cpsXD5.mjs → acorex-platform-common-map-widget-edit.component-BTHORlG5.mjs} +6 -27
  61. package/fesm2022/acorex-platform-common-map-widget-edit.component-BTHORlG5.mjs.map +1 -0
  62. package/fesm2022/{acorex-platform-common-map-widget-view.component-C-DCNaJi.mjs → acorex-platform-common-map-widget-view.component-CQzW1ZeD.mjs} +6 -27
  63. package/fesm2022/acorex-platform-common-map-widget-view.component-CQzW1ZeD.mjs.map +1 -0
  64. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-B2A7ZBEP.mjs → acorex-platform-common-messenger-widget-column.component-Brm4vLGA.mjs} +6 -29
  65. package/fesm2022/acorex-platform-common-messenger-widget-column.component-Brm4vLGA.mjs.map +1 -0
  66. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-DC8vQDo0.mjs → acorex-platform-common-messenger-widget-edit.component-CJHvut2C.mjs} +6 -27
  67. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-CJHvut2C.mjs.map +1 -0
  68. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-B6FavkmG.mjs → acorex-platform-common-messenger-widget-view.component-DVylp_2t.mjs} +6 -28
  69. package/fesm2022/acorex-platform-common-messenger-widget-view.component-DVylp_2t.mjs.map +1 -0
  70. package/fesm2022/{acorex-platform-common-number-widget-edit.component-Bc5-ZUw4.mjs → acorex-platform-common-number-widget-edit.component-DZf-n-yr.mjs} +6 -27
  71. package/fesm2022/acorex-platform-common-number-widget-edit.component-DZf-n-yr.mjs.map +1 -0
  72. package/fesm2022/{acorex-platform-common-number-widget-filter.component-DxfJ90n4.mjs → acorex-platform-common-number-widget-filter.component-womVAhSr.mjs} +6 -28
  73. package/fesm2022/acorex-platform-common-number-widget-filter.component-womVAhSr.mjs.map +1 -0
  74. package/fesm2022/{acorex-platform-common-number-widget-view.component-DGfLSGw1.mjs → acorex-platform-common-number-widget-view.component-L2pxAqqz.mjs} +5 -27
  75. package/fesm2022/acorex-platform-common-number-widget-view.component-L2pxAqqz.mjs.map +1 -0
  76. package/fesm2022/{acorex-platform-common-password-widget-column.component-DEHaVLGK.mjs → acorex-platform-common-password-widget-column.component-3ubqJk-d.mjs} +6 -28
  77. package/fesm2022/acorex-platform-common-password-widget-column.component-3ubqJk-d.mjs.map +1 -0
  78. package/fesm2022/{acorex-platform-common-password-widget-edit.component-DrYyu5v-.mjs → acorex-platform-common-password-widget-edit.component-BokyEDfK.mjs} +6 -28
  79. package/fesm2022/acorex-platform-common-password-widget-edit.component-BokyEDfK.mjs.map +1 -0
  80. package/fesm2022/{acorex-platform-common-password-widget-view.component-B_HU-3J1.mjs → acorex-platform-common-password-widget-view.component-BuFoE2fz.mjs} +7 -28
  81. package/fesm2022/acorex-platform-common-password-widget-view.component-BuFoE2fz.mjs.map +1 -0
  82. package/fesm2022/{acorex-platform-common-phone-widget-column.component-D99ncxxJ.mjs → acorex-platform-common-phone-widget-column.component-79Me_VNP.mjs} +6 -29
  83. package/fesm2022/acorex-platform-common-phone-widget-column.component-79Me_VNP.mjs.map +1 -0
  84. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-a5EAI9FK.mjs → acorex-platform-common-phone-widget-edit.component-CIayMoT1.mjs} +6 -26
  85. package/fesm2022/acorex-platform-common-phone-widget-edit.component-CIayMoT1.mjs.map +1 -0
  86. package/fesm2022/{acorex-platform-common-phone-widget-view.component-BlFVuoNN.mjs → acorex-platform-common-phone-widget-view.component-B1Xu_rxC.mjs} +6 -28
  87. package/fesm2022/acorex-platform-common-phone-widget-view.component-B1Xu_rxC.mjs.map +1 -0
  88. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-DOdv5I2s.mjs → acorex-platform-common-rich-text-widget-column.component-Dbn3JMOu.mjs} +6 -29
  89. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-Dbn3JMOu.mjs.map +1 -0
  90. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-DL5UyAqe.mjs → acorex-platform-common-rich-text-widget-edit.component-CHT12edE.mjs} +6 -27
  91. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CHT12edE.mjs.map +1 -0
  92. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-B9WB-mx9.mjs → acorex-platform-common-rich-text-widget-view.component-qvUpx39D.mjs} +5 -27
  93. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-qvUpx39D.mjs.map +1 -0
  94. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-CkOuYy0Z.mjs → acorex-platform-common-selection-list-widget-column.component-E7yRTViz.mjs} +6 -29
  95. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-E7yRTViz.mjs.map +1 -0
  96. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-BmbDQ1LH.mjs → acorex-platform-common-selection-list-widget-edit.component-B8dmJ_jJ.mjs} +6 -28
  97. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-B8dmJ_jJ.mjs.map +1 -0
  98. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-Dm_1-7eT.mjs → acorex-platform-common-selection-list-widget-filter.component-i4syx0Bj.mjs} +6 -27
  99. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-i4syx0Bj.mjs.map +1 -0
  100. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-3hinF85C.mjs → acorex-platform-common-selection-list-widget-view.component-B7disiIF.mjs} +6 -29
  101. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-B7disiIF.mjs.map +1 -0
  102. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DmmPbw-A.mjs → acorex-platform-common-signature-pad-widget-edit.component-CMoiIhgJ.mjs} +6 -26
  103. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-CMoiIhgJ.mjs.map +1 -0
  104. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-DkFaMNk8.mjs → acorex-platform-common-signature-pad-widget-view.component-HfArY6VQ.mjs} +6 -27
  105. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-HfArY6VQ.mjs.map +1 -0
  106. package/fesm2022/{acorex-platform-common-string-widget-filter.component-DAqR2PUN.mjs → acorex-platform-common-string-widget-filter.component-CDssxMLR.mjs} +6 -28
  107. package/fesm2022/acorex-platform-common-string-widget-filter.component-CDssxMLR.mjs.map +1 -0
  108. package/fesm2022/{acorex-platform-common-text-widget-column.component-DVczwvKA.mjs → acorex-platform-common-text-widget-column.component-7yp4qqIb.mjs} +5 -27
  109. package/fesm2022/acorex-platform-common-text-widget-column.component-7yp4qqIb.mjs.map +1 -0
  110. package/fesm2022/{acorex-platform-common-text-widget-edit.component-DC_GnFhe.mjs → acorex-platform-common-text-widget-edit.component-5koh5Aws.mjs} +6 -27
  111. package/fesm2022/acorex-platform-common-text-widget-edit.component-5koh5Aws.mjs.map +1 -0
  112. package/fesm2022/{acorex-platform-common-text-widget-view.component-BK3HZGgb.mjs → acorex-platform-common-text-widget-view.component-BH0LTD80.mjs} +5 -27
  113. package/fesm2022/{acorex-platform-common-text-widget-view.component-BK3HZGgb.mjs.map → acorex-platform-common-text-widget-view.component-BH0LTD80.mjs.map} +1 -1
  114. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-Bp1d7SAE.mjs → acorex-platform-common-toggle-widget-column.component-C5dMjerm.mjs} +6 -28
  115. package/fesm2022/acorex-platform-common-toggle-widget-column.component-C5dMjerm.mjs.map +1 -0
  116. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-D64m4agx.mjs → acorex-platform-common-toggle-widget-edit.component-JOnGMn-9.mjs} +6 -27
  117. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-JOnGMn-9.mjs.map +1 -0
  118. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-BTaXXZ88.mjs → acorex-platform-common-toggle-widget-view.component-DguoIz_c.mjs} +6 -28
  119. package/fesm2022/acorex-platform-common-toggle-widget-view.component-DguoIz_c.mjs.map +1 -0
  120. package/fesm2022/acorex-platform-common.mjs +184 -181
  121. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  122. package/fesm2022/acorex-platform-core.mjs +114 -7
  123. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  124. package/fesm2022/acorex-platform-layout-builder.mjs +55 -55
  125. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  126. package/fesm2022/acorex-platform-layout-designer.mjs +350 -205
  127. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  128. package/fesm2022/acorex-platform-layout-entity.mjs +126 -116
  129. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  130. package/fesm2022/acorex-platform-layout-setting.mjs +71 -8
  131. package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
  132. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-JsGlDx_S.mjs → acorex-platform-layouts-entity-create-view.component-1Yw4H3CW.mjs} +6 -6
  133. package/fesm2022/acorex-platform-layouts-entity-create-view.component-1Yw4H3CW.mjs.map +1 -0
  134. package/fesm2022/{acorex-platform-layouts-entity-import-view.component-9FK_Iro9.mjs → acorex-platform-layouts-entity-import-view.component-BIHTWoXR.mjs} +7 -9
  135. package/fesm2022/acorex-platform-layouts-entity-import-view.component-BIHTWoXR.mjs.map +1 -0
  136. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-CNbc8ewu.mjs → acorex-platform-layouts-entity-modify-view.component-Cb2Yvtav.mjs} +7 -9
  137. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Cb2Yvtav.mjs.map +1 -0
  138. package/fesm2022/acorex-platform-layouts.mjs +99 -88
  139. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  140. package/fesm2022/acorex-platform-native.mjs +7 -7
  141. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Bw-rbKbL.mjs +108 -0
  142. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Bw-rbKbL.mjs.map +1 -0
  143. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DJYTC375.mjs +305 -0
  144. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DJYTC375.mjs.map +1 -0
  145. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CWrpcOC2.mjs → acorex-platform-themes-default-entity-master-modify-view.component-DoeGBemE.mjs} +16 -17
  146. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DoeGBemE.mjs.map +1 -0
  147. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-D8UjpvuI.mjs +130 -0
  148. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-D8UjpvuI.mjs.map +1 -0
  149. package/fesm2022/{acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs → acorex-platform-themes-default-error-401.component-CRMYVnTw.mjs} +5 -5
  150. package/fesm2022/acorex-platform-themes-default-error-401.component-CRMYVnTw.mjs.map +1 -0
  151. package/fesm2022/{acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs → acorex-platform-themes-default-error-404.component-Dc_IGKXu.mjs} +5 -5
  152. package/fesm2022/acorex-platform-themes-default-error-404.component-Dc_IGKXu.mjs.map +1 -0
  153. package/fesm2022/{acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs → acorex-platform-themes-default-error-offline.component-C6raiMLq.mjs} +5 -5
  154. package/fesm2022/acorex-platform-themes-default-error-offline.component-C6raiMLq.mjs.map +1 -0
  155. package/fesm2022/acorex-platform-themes-default.mjs +56 -56
  156. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  157. package/fesm2022/acorex-platform-themes-shared.mjs +8 -9
  158. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  159. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-CPFA79Gx.mjs → acorex-platform-widgets-button-widget-designer.component-BQe1zP7P.mjs} +6 -7
  160. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-BQe1zP7P.mjs.map +1 -0
  161. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-MInF2GVN.mjs → acorex-platform-widgets-checkbox-widget-column.component-05nKV-UV.mjs} +6 -7
  162. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-05nKV-UV.mjs.map +1 -0
  163. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-B7Qv2aYx.mjs → acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs} +6 -7
  164. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs.map +1 -0
  165. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-DP4kITs-.mjs → acorex-platform-widgets-checkbox-widget-view.component-BkWcZ4K9.mjs} +6 -7
  166. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-BkWcZ4K9.mjs.map +1 -0
  167. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-uQBHAspe.mjs → acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs} +6 -7
  168. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs.map +1 -0
  169. package/fesm2022/{acorex-platform-widgets-contact-widget-filter.component-DnQZon-E.mjs → acorex-platform-widgets-contact-widget-filter.component-B1HiCGC6.mjs} +5 -6
  170. package/fesm2022/acorex-platform-widgets-contact-widget-filter.component-B1HiCGC6.mjs.map +1 -0
  171. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DOulAanE.mjs → acorex-platform-widgets-page-widget-designer.component-DGNcuRbs.mjs} +21 -11
  172. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DGNcuRbs.mjs.map +1 -0
  173. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-C8KmObPV.mjs → acorex-platform-widgets-rich-text-popup.component-D7LZqQIO.mjs} +6 -7
  174. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-D7LZqQIO.mjs.map +1 -0
  175. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-BE6goaZc.mjs → acorex-platform-widgets-text-block-widget-designer.component-BToPbMjj.mjs} +6 -7
  176. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-BToPbMjj.mjs.map +1 -0
  177. package/fesm2022/acorex-platform-widgets.mjs +574 -875
  178. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  179. package/fesm2022/acorex-platform-workflow.mjs +23 -23
  180. package/layout/builder/lib/builder/widget.types.d.ts +21 -5
  181. package/layout/designer/lib/designer/components/add-widget-button/add-widget-mini-button.component.d.ts +3 -1
  182. package/layout/designer/lib/designer/components/board/board.component.d.ts +4 -3
  183. package/layout/designer/lib/designer/designer.component.d.ts +1 -1
  184. package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +2 -2
  185. package/layout/designer/lib/designer/shared/designer.service.d.ts +10 -4
  186. package/layout/designer/lib/designer/shared/designer.types.d.ts +11 -0
  187. package/layout/designer/lib/designer/shared/generic-commands.types.d.ts +1 -0
  188. package/layout/designer/lib/designer/shared/widget-designer-renderer.directive.d.ts +7 -5
  189. package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +1 -1
  190. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +10 -5
  191. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +6 -3
  192. package/layout/entity/lib/workflows/create-entity.workflow.d.ts +2 -0
  193. package/layout/setting/lib/convert-setting-data.d.ts +1 -0
  194. package/layout/setting/lib/setting.viewmodel.d.ts +6 -3
  195. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +12 -0
  196. package/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.d.ts +2 -0
  197. package/package.json +8 -36
  198. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +1 -4
  199. package/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.d.ts +1 -1
  200. package/widgets/lib/properties/editors.props.d.ts +1 -0
  201. package/widgets/lib/widgets/advance/file/file-box-widget-view.component.d.ts +1 -1
  202. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +1 -0
  203. package/widgets/lib/widgets/index.d.ts +0 -1
  204. package/widgets/lib/widgets/layout/block/block-widget.config.d.ts +4 -6
  205. package/esm2022/acorex-platform.mjs +0 -5
  206. package/esm2022/auth/acorex-platform-auth.mjs +0 -5
  207. package/esm2022/auth/index.mjs +0 -14
  208. package/esm2022/auth/lib/application/application.loader.mjs +0 -23
  209. package/esm2022/auth/lib/application/application.types.mjs +0 -2
  210. package/esm2022/auth/lib/auth-registry.service.mjs +0 -29
  211. package/esm2022/auth/lib/auth.guard.mjs +0 -16
  212. package/esm2022/auth/lib/auth.module.mjs +0 -90
  213. package/esm2022/auth/lib/auth.strategy.mjs +0 -2
  214. package/esm2022/auth/lib/errors.types.mjs +0 -15
  215. package/esm2022/auth/lib/feature/feature.directive.mjs +0 -55
  216. package/esm2022/auth/lib/feature/feature.guard.mjs +0 -19
  217. package/esm2022/auth/lib/feature/feature.loader.mjs +0 -14
  218. package/esm2022/auth/lib/feature/feature.types.mjs +0 -2
  219. package/esm2022/auth/lib/feature/index.mjs +0 -5
  220. package/esm2022/auth/lib/permission/index.mjs +0 -5
  221. package/esm2022/auth/lib/permission/permission.directive.mjs +0 -54
  222. package/esm2022/auth/lib/permission/permission.guard.mjs +0 -19
  223. package/esm2022/auth/lib/permission/permission.loader.mjs +0 -14
  224. package/esm2022/auth/lib/permission/permission.types.mjs +0 -2
  225. package/esm2022/auth/lib/session.service.mjs +0 -265
  226. package/esm2022/auth/lib/session.types.mjs +0 -29
  227. package/esm2022/auth/lib/tenant/tenant.loader.mjs +0 -20
  228. package/esm2022/auth/lib/tenant/tenant.types.mjs +0 -2
  229. package/esm2022/auth/lib/user/user.types.mjs +0 -2
  230. package/esm2022/common/acorex-platform-common.mjs +0 -5
  231. package/esm2022/common/index.mjs +0 -13
  232. package/esm2022/common/lib/app/app-startup.service.mjs +0 -40
  233. package/esm2022/common/lib/app/application.types.mjs +0 -55
  234. package/esm2022/common/lib/app/index.mjs +0 -4
  235. package/esm2022/common/lib/app/operators.mjs +0 -65
  236. package/esm2022/common/lib/common.module.mjs +0 -155
  237. package/esm2022/common/lib/configs/app.config.mjs +0 -27
  238. package/esm2022/common/lib/configs/config.types.mjs +0 -3
  239. package/esm2022/common/lib/data/data-provider.types.mjs +0 -3
  240. package/esm2022/common/lib/data/data.types.mjs +0 -2
  241. package/esm2022/common/lib/data/dexie-storage.service.mjs +0 -130
  242. package/esm2022/common/lib/data/entity-data-seeder.mjs +0 -25
  243. package/esm2022/common/lib/data/entity-storage-service.mjs +0 -63
  244. package/esm2022/common/lib/data/filter-middleware.service.mjs +0 -53
  245. package/esm2022/common/lib/data/index.mjs +0 -8
  246. package/esm2022/common/lib/data/operators.service.mjs +0 -15
  247. package/esm2022/common/lib/errors/error-handler-registry.service.mjs +0 -29
  248. package/esm2022/common/lib/errors/error-handler.types.mjs +0 -2
  249. package/esm2022/common/lib/errors/global-error-handler.mjs +0 -36
  250. package/esm2022/common/lib/errors/index.mjs +0 -4
  251. package/esm2022/common/lib/layout/beardcrumb.type.mjs +0 -2
  252. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +0 -57
  253. package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +0 -28
  254. package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +0 -24
  255. package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +0 -72
  256. package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +0 -2
  257. package/esm2022/common/lib/layout/component-slot/index.mjs +0 -6
  258. package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +0 -61
  259. package/esm2022/common/lib/layout/grid-layout/grid-layout.types.mjs +0 -2
  260. package/esm2022/common/lib/layout/grid-layout/index.mjs +0 -3
  261. package/esm2022/common/lib/layout/index.mjs +0 -8
  262. package/esm2022/common/lib/layout/logo/index.mjs +0 -3
  263. package/esm2022/common/lib/layout/logo/logo.component.mjs +0 -38
  264. package/esm2022/common/lib/layout/logo/logo.types.mjs +0 -21
  265. package/esm2022/common/lib/layout/menu/index.mjs +0 -4
  266. package/esm2022/common/lib/layout/menu/menu.provider.mjs +0 -137
  267. package/esm2022/common/lib/layout/menu/menu.service.mjs +0 -105
  268. package/esm2022/common/lib/layout/menu/menu.types.mjs +0 -2
  269. package/esm2022/common/lib/layout/sticky.directive.mjs +0 -82
  270. package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +0 -20
  271. package/esm2022/common/lib/layout/theme/components/slots/index.mjs +0 -3
  272. package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +0 -36
  273. package/esm2022/common/lib/schema/component-loader.mjs +0 -2
  274. package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +0 -70
  275. package/esm2022/common/lib/schema/entity/entity.class.mjs +0 -32
  276. package/esm2022/common/lib/schema/entity/entity.loader.mjs +0 -13
  277. package/esm2022/common/lib/schema/entity/index.mjs +0 -4
  278. package/esm2022/common/lib/schema/formats.mjs +0 -2
  279. package/esm2022/common/lib/schema/index.mjs +0 -9
  280. package/esm2022/common/lib/schema/schema-registery.service.mjs +0 -33
  281. package/esm2022/common/lib/schema/schema.module.mjs +0 -23
  282. package/esm2022/common/lib/schema/schema.types.mjs +0 -2
  283. package/esm2022/common/lib/schema/widget/index.mjs +0 -6
  284. package/esm2022/common/lib/schema/widget/widget-base.mjs +0 -113
  285. package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +0 -118
  286. package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +0 -133
  287. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +0 -148
  288. package/esm2022/common/lib/schema/widget/widget-token.mjs +0 -3
  289. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +0 -166
  290. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +0 -63
  291. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +0 -53
  292. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +0 -22
  293. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +0 -47
  294. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +0 -153
  295. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +0 -135
  296. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +0 -125
  297. package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +0 -505
  298. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +0 -44
  299. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +0 -177
  300. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +0 -284
  301. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +0 -71
  302. package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +0 -73
  303. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +0 -248
  304. package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +0 -108
  305. package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +0 -27
  306. package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +0 -200
  307. package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +0 -27
  308. package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +0 -153
  309. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +0 -189
  310. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +0 -27
  311. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-types.mjs +0 -2
  312. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +0 -173
  313. package/esm2022/common/lib/schema/widgets/index.mjs +0 -2
  314. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +0 -43
  315. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +0 -95
  316. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +0 -160
  317. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +0 -54
  318. package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +0 -91
  319. package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +0 -63
  320. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +0 -71
  321. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +0 -136
  322. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +0 -132
  323. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +0 -46
  324. package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +0 -30
  325. package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +0 -174
  326. package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +0 -67
  327. package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +0 -41
  328. package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +0 -109
  329. package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +0 -91
  330. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +0 -248
  331. package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +0 -123
  332. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +0 -61
  333. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +0 -66
  334. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +0 -34
  335. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +0 -45
  336. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +0 -53
  337. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +0 -45
  338. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +0 -45
  339. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +0 -128
  340. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +0 -41
  341. package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +0 -36
  342. package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +0 -46
  343. package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +0 -161
  344. package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +0 -66
  345. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +0 -57
  346. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +0 -25
  347. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +0 -49
  348. package/esm2022/common/lib/settings/index.mjs +0 -5
  349. package/esm2022/common/lib/settings/setting-definition.provider.mjs +0 -183
  350. package/esm2022/common/lib/settings/settings.provider.mjs +0 -35
  351. package/esm2022/common/lib/settings/settings.service.mjs +0 -53
  352. package/esm2022/common/lib/settings/settings.types.mjs +0 -2
  353. package/esm2022/common/lib/store/common.actions.mjs +0 -5
  354. package/esm2022/common/lib/store/common.effects.mjs +0 -34
  355. package/esm2022/common/lib/store/index.mjs +0 -3
  356. package/esm2022/common/lib/utils/clipboard-service.mjs +0 -26
  357. package/esm2022/common/lib/utils/data-generator.mjs +0 -133
  358. package/esm2022/common/lib/utils/index.mjs +0 -4
  359. package/esm2022/common/lib/utils/pdf.service.mjs +0 -85
  360. package/esm2022/common/lib/workflows/common.workflow.mjs +0 -73
  361. package/esm2022/common/lib/workflows/error-handler.mjs +0 -24
  362. package/esm2022/common/lib/workflows/index.mjs +0 -3
  363. package/esm2022/core/acorex-platform-core.mjs +0 -5
  364. package/esm2022/core/index.mjs +0 -5
  365. package/esm2022/core/lib/types.mjs +0 -13
  366. package/esm2022/core/utils/countdown-timer.mjs +0 -49
  367. package/esm2022/core/utils/data-conditioner.mjs +0 -138
  368. package/esm2022/core/utils/html-utils.mjs +0 -27
  369. package/esm2022/index.mjs +0 -2
  370. package/esm2022/layout/builder/acorex-platform-layout-builder.mjs +0 -5
  371. package/esm2022/layout/builder/index.mjs +0 -2
  372. package/esm2022/layout/builder/lib/builder/builder.module.mjs +0 -68
  373. package/esm2022/layout/builder/lib/builder/builder.service.mjs +0 -105
  374. package/esm2022/layout/builder/lib/builder/datasource-provider.service.mjs +0 -27
  375. package/esm2022/layout/builder/lib/builder/index.mjs +0 -12
  376. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +0 -39
  377. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +0 -128
  378. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +0 -46
  379. package/esm2022/layout/builder/lib/builder/widget-groups.mjs +0 -27
  380. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +0 -36
  381. package/esm2022/layout/builder/lib/builder/widget-renderer.component.directive.mjs +0 -313
  382. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +0 -320
  383. package/esm2022/layout/builder/lib/builder/widget.types.mjs +0 -264
  384. package/esm2022/layout/designer/acorex-platform-layout-designer.mjs +0 -5
  385. package/esm2022/layout/designer/index.mjs +0 -5
  386. package/esm2022/layout/designer/lib/designer/components/add-widget-button/add-widget-button.component.mjs +0 -37
  387. package/esm2022/layout/designer/lib/designer/components/add-widget-button/add-widget-line-button.component.mjs +0 -49
  388. package/esm2022/layout/designer/lib/designer/components/add-widget-button/add-widget-mini-button.component.mjs +0 -53
  389. package/esm2022/layout/designer/lib/designer/components/add-widget-button/index.mjs +0 -4
  390. package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +0 -139
  391. package/esm2022/layout/designer/lib/designer/components/breadcrumbs/breadcrumbs.component.mjs +0 -59
  392. package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +0 -33
  393. package/esm2022/layout/designer/lib/designer/components/drawers/history/history.component.mjs +0 -30
  394. package/esm2022/layout/designer/lib/designer/components/drawers/outline/outline.component.mjs +0 -61
  395. package/esm2022/layout/designer/lib/designer/components/drawers/pages/pages.component.mjs +0 -28
  396. package/esm2022/layout/designer/lib/designer/components/grid-drawer/grid-drawer.component.mjs +0 -82
  397. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +0 -105
  398. package/esm2022/layout/designer/lib/designer/components/size-mode/view-size-toolbar.component.mjs +0 -49
  399. package/esm2022/layout/designer/lib/designer/components/widget-picker/widget-picker.component.mjs +0 -121
  400. package/esm2022/layout/designer/lib/designer/designer.component.mjs +0 -81
  401. package/esm2022/layout/designer/lib/designer/index.mjs +0 -10
  402. package/esm2022/layout/designer/lib/designer/shared/command.mjs +0 -185
  403. package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +0 -10
  404. package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +0 -603
  405. package/esm2022/layout/designer/lib/designer/shared/designer.types.mjs +0 -6
  406. package/esm2022/layout/designer/lib/designer/shared/drawer-content/drawer-content.component.mjs +0 -16
  407. package/esm2022/layout/designer/lib/designer/shared/generic-commands.types.mjs +0 -52
  408. package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +0 -220
  409. package/esm2022/layout/designer/lib/preview/preview-frame.component.mjs +0 -75
  410. package/esm2022/layout/designer/lib/preview/preview-viewer.component.mjs +0 -67
  411. package/esm2022/layout/designer/lib/preview/preview.component.mjs +0 -79
  412. package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +0 -119
  413. package/esm2022/layout/entity/acorex-platform-layout-entity.mjs +0 -5
  414. package/esm2022/layout/entity/index.mjs +0 -2
  415. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +0 -182
  416. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +0 -143
  417. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +0 -350
  418. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +0 -227
  419. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +0 -103
  420. package/esm2022/layout/entity/lib/entity-registery.service.mjs +0 -69
  421. package/esm2022/layout/entity/lib/entity.config.mjs +0 -30
  422. package/esm2022/layout/entity/lib/entity.module.mjs +0 -138
  423. package/esm2022/layout/entity/lib/entity.service.mjs +0 -18
  424. package/esm2022/layout/entity/lib/entity.viewmodel.mjs +0 -34
  425. package/esm2022/layout/entity/lib/index.mjs +0 -11
  426. package/esm2022/layout/entity/lib/widgets/lookup-widget/index.mjs +0 -7
  427. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.mjs +0 -25
  428. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +0 -267
  429. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.mjs +0 -20
  430. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.mjs +0 -19
  431. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +0 -208
  432. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +0 -109
  433. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +0 -110
  434. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.mjs +0 -62
  435. package/esm2022/layout/entity/lib/widgets/widget-selector/index.mjs +0 -4
  436. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget-edit.component.mjs +0 -130
  437. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget-view.component.mjs +0 -18
  438. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget.config.mjs +0 -20
  439. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +0 -92
  440. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +0 -130
  441. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +0 -94
  442. package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +0 -35
  443. package/esm2022/layout/entity/lib/workflows/show-list.workflow.mjs +0 -35
  444. package/esm2022/layout/setting/acorex-platform-layout-setting.mjs +0 -5
  445. package/esm2022/layout/setting/index.mjs +0 -2
  446. package/esm2022/layout/setting/lib/convert-setting-data.mjs +0 -59
  447. package/esm2022/layout/setting/lib/setting.viewmodel.mjs +0 -132
  448. package/esm2022/layouts/acorex-platform-layouts.mjs +0 -5
  449. package/esm2022/layouts/index.mjs +0 -3
  450. package/esm2022/layouts/lib/admin/admin.module.mjs +0 -94
  451. package/esm2022/layouts/lib/admin/admin.routes.mjs +0 -48
  452. package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +0 -20
  453. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +0 -119
  454. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +0 -138
  455. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +0 -126
  456. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +0 -164
  457. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +0 -3
  458. package/esm2022/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.mjs +0 -91
  459. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +0 -201
  460. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +0 -6
  461. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +0 -53
  462. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +0 -105
  463. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +0 -76
  464. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +0 -56
  465. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +0 -295
  466. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +0 -5
  467. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +0 -341
  468. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +0 -163
  469. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +0 -95
  470. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +0 -67
  471. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +0 -77
  472. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/index.mjs +0 -2
  473. package/esm2022/layouts/lib/admin/entity-layout/index.mjs +0 -5
  474. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +0 -93
  475. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +0 -139
  476. package/esm2022/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.mjs +0 -77
  477. package/esm2022/layouts/lib/admin/entity-layout/workflows/index.mjs +0 -7
  478. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +0 -100
  479. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +0 -85
  480. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +0 -36
  481. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +0 -35
  482. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +0 -50
  483. package/esm2022/layouts/lib/admin/entity.resolver.mjs +0 -17
  484. package/esm2022/layouts/lib/admin/index.mjs +0 -6
  485. package/esm2022/layouts/lib/layout.module.mjs +0 -43
  486. package/esm2022/native/acorex-platform-native.mjs +0 -5
  487. package/esm2022/native/index.mjs +0 -3
  488. package/esm2022/native/lib/native.module.mjs +0 -16
  489. package/esm2022/native/lib/native.service.mjs +0 -133
  490. package/esm2022/themes/default/acorex-platform-themes-default.mjs +0 -5
  491. package/esm2022/themes/default/index.mjs +0 -5
  492. package/esm2022/themes/default/lib/default.module.mjs +0 -122
  493. package/esm2022/themes/default/lib/entity-reuse.strategy.mjs +0 -19
  494. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +0 -160
  495. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +0 -106
  496. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +0 -190
  497. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +0 -74
  498. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +0 -72
  499. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +0 -85
  500. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +0 -84
  501. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +0 -70
  502. package/esm2022/themes/default/lib/layouts/entity-layouts/index.mjs +0 -2
  503. package/esm2022/themes/default/lib/layouts/root-layout/components/footer/footer.component.mjs +0 -14
  504. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +0 -27
  505. package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +0 -40
  506. package/esm2022/themes/default/lib/layouts/root-layout/index.mjs +0 -6
  507. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +0 -36
  508. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +0 -99
  509. package/esm2022/themes/default/lib/layouts/setting-layout/index.mjs +0 -3
  510. package/esm2022/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.mjs +0 -28
  511. package/esm2022/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.mjs +0 -42
  512. package/esm2022/themes/default/lib/pages/errors/error-401/error-401.component.mjs +0 -28
  513. package/esm2022/themes/default/lib/pages/errors/error-404/error-404.component.mjs +0 -22
  514. package/esm2022/themes/default/lib/pages/errors/error-offline/error-offline.component.mjs +0 -16
  515. package/esm2022/themes/shared/acorex-platform-themes-shared.mjs +0 -5
  516. package/esm2022/themes/shared/index.mjs +0 -4
  517. package/esm2022/themes/shared/lib/components/theme-slot.component.mjs +0 -116
  518. package/esm2022/themes/shared/lib/services/theme.service.mjs +0 -250
  519. package/esm2022/themes/shared/lib/shared.module.mjs +0 -39
  520. package/esm2022/widgets/acorex-platform-widgets.mjs +0 -5
  521. package/esm2022/widgets/index.mjs +0 -4
  522. package/esm2022/widgets/lib/properties/data-source.props.mjs +0 -21
  523. package/esm2022/widgets/lib/properties/editors.props.mjs +0 -252
  524. package/esm2022/widgets/lib/properties/general.props.mjs +0 -115
  525. package/esm2022/widgets/lib/properties/groups.mjs +0 -21
  526. package/esm2022/widgets/lib/properties/index.mjs +0 -7
  527. package/esm2022/widgets/lib/properties/layout.props.mjs +0 -270
  528. package/esm2022/widgets/lib/properties/table-column.props.mjs +0 -33
  529. package/esm2022/widgets/lib/widgets/actions/button/button-widget-designer.component.mjs +0 -69
  530. package/esm2022/widgets/lib/widgets/actions/button/button-widget-view.component.mjs +0 -68
  531. package/esm2022/widgets/lib/widgets/actions/button/button-widget.config.mjs +0 -31
  532. package/esm2022/widgets/lib/widgets/actions/button/index.mjs +0 -3
  533. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-column.component.mjs +0 -20
  534. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-designer.component.mjs +0 -18
  535. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-edit.component.mjs +0 -24
  536. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-filter.component.mjs +0 -20
  537. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-print.component.mjs +0 -19
  538. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-view.component.mjs +0 -22
  539. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget.config.mjs +0 -32
  540. package/esm2022/widgets/lib/widgets/advance/cron-job/index.mjs +0 -8
  541. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget-column.component.mjs +0 -19
  542. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget-edit.component.mjs +0 -131
  543. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget-filter.component.mjs +0 -20
  544. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget-print.component.mjs +0 -19
  545. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget-view.component.mjs +0 -215
  546. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget.config.mjs +0 -53
  547. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget.service.mjs +0 -3
  548. package/esm2022/widgets/lib/widgets/advance/file/index.mjs +0 -8
  549. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-column.component.mjs +0 -19
  550. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-edit.component.mjs +0 -182
  551. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-filter.component.mjs +0 -20
  552. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-print.component.mjs +0 -19
  553. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-types.mjs +0 -2
  554. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-view.component.mjs +0 -160
  555. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget.config.mjs +0 -30
  556. package/esm2022/widgets/lib/widgets/advance/gallery/index.mjs +0 -7
  557. package/esm2022/widgets/lib/widgets/advance/map/index.mjs +0 -4
  558. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-edit.component.mjs +0 -77
  559. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-view.component.mjs +0 -52
  560. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget.config.mjs +0 -120
  561. package/esm2022/widgets/lib/widgets/advance/qrcode/index.mjs +0 -3
  562. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.mjs +0 -60
  563. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget.config.mjs +0 -64
  564. package/esm2022/widgets/lib/widgets/advance/signature/index.mjs +0 -7
  565. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget-column.component.mjs +0 -19
  566. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget-edit.component.mjs +0 -151
  567. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget-filter.component.mjs +0 -20
  568. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget-print.component.mjs +0 -19
  569. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget-view.component.mjs +0 -43
  570. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget.config.mjs +0 -30
  571. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-column.component.mjs +0 -51
  572. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-designer.component.mjs +0 -54
  573. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.mjs +0 -72
  574. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.mjs +0 -70
  575. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.mjs +0 -41
  576. package/esm2022/widgets/lib/widgets/editors/checkbox/index.mjs +0 -3
  577. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-column.component.mjs +0 -40
  578. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-designer.component.mjs +0 -54
  579. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-edit.component.mjs +0 -61
  580. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-filter.component.mjs +0 -20
  581. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-print.component.mjs +0 -19
  582. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-view.component.mjs +0 -41
  583. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget.config.mjs +0 -40
  584. package/esm2022/widgets/lib/widgets/editors/color/index.mjs +0 -7
  585. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-column.component.mjs +0 -50
  586. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +0 -322
  587. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-filter.component.mjs +0 -20
  588. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-print.component.mjs +0 -19
  589. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-view.component.mjs +0 -122
  590. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget.config.mjs +0 -59
  591. package/esm2022/widgets/lib/widgets/editors/contact/contact.type.mjs +0 -2
  592. package/esm2022/widgets/lib/widgets/editors/contact/index.mjs +0 -6
  593. package/esm2022/widgets/lib/widgets/editors/contact/popup-component.mjs +0 -78
  594. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +0 -64
  595. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.mjs +0 -172
  596. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-filter.component.mjs +0 -20
  597. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-print.component.mjs +0 -19
  598. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.mjs +0 -63
  599. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget.config.mjs +0 -43
  600. package/esm2022/widgets/lib/widgets/editors/date-time/index.mjs +0 -7
  601. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget-column.component.mjs +0 -66
  602. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget-edit.component.mjs +0 -258
  603. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget-filter.component.mjs +0 -20
  604. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget-print.component.mjs +0 -19
  605. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget-view.component.mjs +0 -115
  606. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget.config.mjs +0 -41
  607. package/esm2022/widgets/lib/widgets/editors/email/index.mjs +0 -7
  608. package/esm2022/widgets/lib/widgets/editors/large-text/index.mjs +0 -7
  609. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-column.component.mjs +0 -23
  610. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.mjs +0 -79
  611. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-filter.component.mjs +0 -20
  612. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-print.component.mjs +0 -19
  613. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-view.component.mjs +0 -31
  614. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget.config.mjs +0 -42
  615. package/esm2022/widgets/lib/widgets/editors/link/index.mjs +0 -7
  616. package/esm2022/widgets/lib/widgets/editors/link/link-widget-column.component.mjs +0 -19
  617. package/esm2022/widgets/lib/widgets/editors/link/link-widget-edit.component.mjs +0 -399
  618. package/esm2022/widgets/lib/widgets/editors/link/link-widget-filter.component.mjs +0 -20
  619. package/esm2022/widgets/lib/widgets/editors/link/link-widget-print.component.mjs +0 -19
  620. package/esm2022/widgets/lib/widgets/editors/link/link-widget-view.component.mjs +0 -120
  621. package/esm2022/widgets/lib/widgets/editors/link/link-widget.config.mjs +0 -30
  622. package/esm2022/widgets/lib/widgets/editors/number/index.mjs +0 -7
  623. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-column.component.mjs +0 -38
  624. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-edit.component.mjs +0 -159
  625. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-filter.component.mjs +0 -20
  626. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-print.component.mjs +0 -19
  627. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-view.component.mjs +0 -50
  628. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget.config.mjs +0 -42
  629. package/esm2022/widgets/lib/widgets/editors/password/index.mjs +0 -7
  630. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-column.component.mjs +0 -56
  631. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-edit.component.mjs +0 -56
  632. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-filter.component.mjs +0 -20
  633. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-print.component.mjs +0 -19
  634. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-view.component.mjs +0 -82
  635. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget.config.mjs +0 -40
  636. package/esm2022/widgets/lib/widgets/editors/phone/index.mjs +0 -7
  637. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget-column.component.mjs +0 -66
  638. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget-edit.component.mjs +0 -230
  639. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget-filter.component.mjs +0 -20
  640. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget-print.component.mjs +0 -19
  641. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget-view.component.mjs +0 -115
  642. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget.config.mjs +0 -33
  643. package/esm2022/widgets/lib/widgets/editors/rich-text/index.mjs +0 -7
  644. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-popup.component.mjs +0 -38
  645. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-column.component.mjs +0 -46
  646. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +0 -92
  647. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-filter.component.mjs +0 -20
  648. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-print.component.mjs +0 -19
  649. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-view.component.mjs +0 -47
  650. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget.config.mjs +0 -41
  651. package/esm2022/widgets/lib/widgets/editors/select/index.mjs +0 -7
  652. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-column.component.mjs +0 -49
  653. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +0 -108
  654. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-filter.component.mjs +0 -19
  655. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-print.component.mjs +0 -19
  656. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-view.component.mjs +0 -60
  657. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget.config.mjs +0 -41
  658. package/esm2022/widgets/lib/widgets/editors/selection-list/index.mjs +0 -8
  659. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-column.component.mjs +0 -56
  660. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +0 -88
  661. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +0 -99
  662. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-filter.component.mjs +0 -20
  663. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-print.component.mjs +0 -19
  664. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.mjs +0 -52
  665. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.mjs +0 -44
  666. package/esm2022/widgets/lib/widgets/editors/text/index.mjs +0 -7
  667. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget-column.component.mjs +0 -20
  668. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget-edit.component.mjs +0 -130
  669. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget-filter.component.mjs +0 -20
  670. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget-print.component.mjs +0 -19
  671. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget-view.component.mjs +0 -47
  672. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget.config.mjs +0 -43
  673. package/esm2022/widgets/lib/widgets/editors/toggle/index.mjs +0 -7
  674. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-column.component.mjs +0 -53
  675. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.mjs +0 -48
  676. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-filter.component.mjs +0 -20
  677. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-print.component.mjs +0 -20
  678. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-view.component.mjs +0 -55
  679. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget.config.mjs +0 -42
  680. package/esm2022/widgets/lib/widgets/index.mjs +0 -27
  681. package/esm2022/widgets/lib/widgets/layout/block/block-widget-designer.component.mjs +0 -98
  682. package/esm2022/widgets/lib/widgets/layout/block/block-widget-view.component.mjs +0 -83
  683. package/esm2022/widgets/lib/widgets/layout/block/block-widget.config.mjs +0 -31
  684. package/esm2022/widgets/lib/widgets/layout/block/index.mjs +0 -4
  685. package/esm2022/widgets/lib/widgets/layout/document/document-widget.config.mjs +0 -13
  686. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget-designer.component.mjs +0 -67
  687. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget-view.component.mjs +0 -51
  688. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget.config.mjs +0 -30
  689. package/esm2022/widgets/lib/widgets/layout/form-field/index.mjs +0 -4
  690. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-designer.component.mjs +0 -91
  691. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-print.component.mjs +0 -19
  692. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-view.component.mjs +0 -38
  693. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget.config.mjs +0 -29
  694. package/esm2022/widgets/lib/widgets/layout/grid/index.mjs +0 -5
  695. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.mjs +0 -100
  696. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-print.component.mjs +0 -19
  697. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.mjs +0 -89
  698. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget.config.mjs +0 -31
  699. package/esm2022/widgets/lib/widgets/layout/grid-item/index.mjs +0 -5
  700. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-designer.component.mjs +0 -85
  701. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-print.component.mjs +0 -19
  702. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-view.component.mjs +0 -38
  703. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget.config.mjs +0 -28
  704. package/esm2022/widgets/lib/widgets/layout/grid-row/index.mjs +0 -5
  705. package/esm2022/widgets/lib/widgets/layout/page/index.mjs +0 -3
  706. package/esm2022/widgets/lib/widgets/layout/page/page-widget-designer.component.mjs +0 -148
  707. package/esm2022/widgets/lib/widgets/layout/page/page-widget-view.component.mjs +0 -41
  708. package/esm2022/widgets/lib/widgets/layout/page/page-widget.config.mjs +0 -46
  709. package/esm2022/widgets/lib/widgets/layout/repeater/index.mjs +0 -6
  710. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-designer.component.mjs +0 -125
  711. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-edit.component.mjs +0 -170
  712. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-print.component.mjs +0 -20
  713. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-view.component.mjs +0 -44
  714. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget.config.mjs +0 -37
  715. package/esm2022/widgets/lib/widgets/layout/template/index.mjs +0 -5
  716. package/esm2022/widgets/lib/widgets/layout/template/template-picker/template-picker.component.mjs +0 -120
  717. package/esm2022/widgets/lib/widgets/layout/template/template-widget-designer.component.mjs +0 -70
  718. package/esm2022/widgets/lib/widgets/layout/template/template-widget-edit.component.mjs +0 -96
  719. package/esm2022/widgets/lib/widgets/layout/template/template-widget-view.component.mjs +0 -62
  720. package/esm2022/widgets/lib/widgets/layout/template/template-widget.config.mjs +0 -30
  721. package/esm2022/widgets/lib/widgets/layout/template/template.provider.mjs +0 -58
  722. package/esm2022/widgets/lib/widgets/layout/text-block/index.mjs +0 -3
  723. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget-designer.component.mjs +0 -38
  724. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget-view.component.mjs +0 -30
  725. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget.config.mjs +0 -43
  726. package/esm2022/widgets/lib/widgets.module.mjs +0 -113
  727. package/esm2022/workflow/acorex-platform-workflow.mjs +0 -5
  728. package/esm2022/workflow/index.mjs +0 -7
  729. package/esm2022/workflow/lib/actions/start-workflow.action.mjs +0 -32
  730. package/esm2022/workflow/lib/errors.types.mjs +0 -8
  731. package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +0 -23
  732. package/esm2022/workflow/lib/workflow-registery.service.mjs +0 -39
  733. package/esm2022/workflow/lib/workflow.module.mjs +0 -101
  734. package/esm2022/workflow/lib/workflow.service.mjs +0 -188
  735. package/esm2022/workflow/lib/workflow.types.mjs +0 -59
  736. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-DtC2IaE8.mjs.map +0 -1
  737. package/fesm2022/acorex-platform-common-avatar-widget-view.component-BOIV0Be1.mjs.map +0 -1
  738. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-S4-3SmKA.mjs.map +0 -1
  739. package/fesm2022/acorex-platform-common-change-password.component-g_GEw3IZ.mjs.map +0 -1
  740. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-DOoneR7g.mjs.map +0 -1
  741. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-PFRq-XS-.mjs.map +0 -1
  742. package/fesm2022/acorex-platform-common-checkbox-widget-view.component-CKz8XnjT.mjs.map +0 -1
  743. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-DG0leXAo.mjs.map +0 -1
  744. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-D8W-XEcx.mjs.map +0 -1
  745. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-DngCKwFY.mjs.map +0 -1
  746. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-KGgJkiKB.mjs.map +0 -1
  747. package/fesm2022/acorex-platform-common-email-widget-column.component-CLNqSuB7.mjs.map +0 -1
  748. package/fesm2022/acorex-platform-common-email-widget-edit.component--0gaRm4s.mjs.map +0 -1
  749. package/fesm2022/acorex-platform-common-email-widget-view.component-C3AUr1HO.mjs.map +0 -1
  750. package/fesm2022/acorex-platform-common-file-widget-column.component-C9AHk2UP.mjs.map +0 -1
  751. package/fesm2022/acorex-platform-common-file-widget-edit.component-L7bln9k0.mjs.map +0 -1
  752. package/fesm2022/acorex-platform-common-file-widget-filter.component-Ce35mqny.mjs.map +0 -1
  753. package/fesm2022/acorex-platform-common-file-widget-view.component-BvMzrs5C.mjs.map +0 -1
  754. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-BVuV2Ib8.mjs.map +0 -1
  755. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-C8tdM6PX.mjs.map +0 -1
  756. package/fesm2022/acorex-platform-common-gallery-widget-view.component-D8YmSi9C.mjs.map +0 -1
  757. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DGMxpnsr.mjs.map +0 -1
  758. package/fesm2022/acorex-platform-common-lookup-widget-column.component-B-cEaNjv.mjs.map +0 -1
  759. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-DqB_g9Zz.mjs.map +0 -1
  760. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-0TPWNWSd.mjs.map +0 -1
  761. package/fesm2022/acorex-platform-common-lookup-widget-view.component-DYAg76YH.mjs.map +0 -1
  762. package/fesm2022/acorex-platform-common-map-widget-edit.component-C3cpsXD5.mjs.map +0 -1
  763. package/fesm2022/acorex-platform-common-map-widget-view.component-C-DCNaJi.mjs.map +0 -1
  764. package/fesm2022/acorex-platform-common-messenger-widget-column.component-B2A7ZBEP.mjs.map +0 -1
  765. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-DC8vQDo0.mjs.map +0 -1
  766. package/fesm2022/acorex-platform-common-messenger-widget-view.component-B6FavkmG.mjs.map +0 -1
  767. package/fesm2022/acorex-platform-common-number-widget-edit.component-Bc5-ZUw4.mjs.map +0 -1
  768. package/fesm2022/acorex-platform-common-number-widget-filter.component-DxfJ90n4.mjs.map +0 -1
  769. package/fesm2022/acorex-platform-common-number-widget-view.component-DGfLSGw1.mjs.map +0 -1
  770. package/fesm2022/acorex-platform-common-password-widget-column.component-DEHaVLGK.mjs.map +0 -1
  771. package/fesm2022/acorex-platform-common-password-widget-edit.component-DrYyu5v-.mjs.map +0 -1
  772. package/fesm2022/acorex-platform-common-password-widget-view.component-B_HU-3J1.mjs.map +0 -1
  773. package/fesm2022/acorex-platform-common-phone-widget-column.component-D99ncxxJ.mjs.map +0 -1
  774. package/fesm2022/acorex-platform-common-phone-widget-edit.component-a5EAI9FK.mjs.map +0 -1
  775. package/fesm2022/acorex-platform-common-phone-widget-view.component-BlFVuoNN.mjs.map +0 -1
  776. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DOdv5I2s.mjs.map +0 -1
  777. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-DL5UyAqe.mjs.map +0 -1
  778. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-B9WB-mx9.mjs.map +0 -1
  779. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-CkOuYy0Z.mjs.map +0 -1
  780. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-BmbDQ1LH.mjs.map +0 -1
  781. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-Dm_1-7eT.mjs.map +0 -1
  782. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-3hinF85C.mjs.map +0 -1
  783. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-DmmPbw-A.mjs.map +0 -1
  784. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-DkFaMNk8.mjs.map +0 -1
  785. package/fesm2022/acorex-platform-common-string-widget-filter.component-DAqR2PUN.mjs.map +0 -1
  786. package/fesm2022/acorex-platform-common-text-widget-column.component-DVczwvKA.mjs.map +0 -1
  787. package/fesm2022/acorex-platform-common-text-widget-edit.component-DC_GnFhe.mjs.map +0 -1
  788. package/fesm2022/acorex-platform-common-toggle-widget-column.component-Bp1d7SAE.mjs.map +0 -1
  789. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-D64m4agx.mjs.map +0 -1
  790. package/fesm2022/acorex-platform-common-toggle-widget-view.component-BTaXXZ88.mjs.map +0 -1
  791. package/fesm2022/acorex-platform-layouts-entity-create-view.component-JsGlDx_S.mjs.map +0 -1
  792. package/fesm2022/acorex-platform-layouts-entity-import-view.component-9FK_Iro9.mjs.map +0 -1
  793. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-CNbc8ewu.mjs.map +0 -1
  794. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Bs6fn6z2.mjs +0 -109
  795. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Bs6fn6z2.mjs.map +0 -1
  796. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DPHXeucj.mjs +0 -310
  797. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DPHXeucj.mjs.map +0 -1
  798. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CWrpcOC2.mjs.map +0 -1
  799. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DHfe0Qtu.mjs +0 -148
  800. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DHfe0Qtu.mjs.map +0 -1
  801. package/fesm2022/acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs.map +0 -1
  802. package/fesm2022/acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs.map +0 -1
  803. package/fesm2022/acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs.map +0 -1
  804. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-CPFA79Gx.mjs.map +0 -1
  805. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-MInF2GVN.mjs.map +0 -1
  806. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-B7Qv2aYx.mjs.map +0 -1
  807. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-DP4kITs-.mjs.map +0 -1
  808. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-uQBHAspe.mjs.map +0 -1
  809. package/fesm2022/acorex-platform-widgets-contact-widget-filter.component-DnQZon-E.mjs.map +0 -1
  810. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DOulAanE.mjs.map +0 -1
  811. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-C8KmObPV.mjs.map +0 -1
  812. package/fesm2022/acorex-platform-widgets-template-picker.component-DPlvwgbu.mjs +0 -123
  813. package/fesm2022/acorex-platform-widgets-template-picker.component-DPlvwgbu.mjs.map +0 -1
  814. package/fesm2022/acorex-platform-widgets-template-widget-edit.component-DwPYeF0y.mjs +0 -136
  815. package/fesm2022/acorex-platform-widgets-template-widget-edit.component-DwPYeF0y.mjs.map +0 -1
  816. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-BE6goaZc.mjs.map +0 -1
  817. package/widgets/lib/widgets/layout/template/index.d.ts +0 -4
  818. package/widgets/lib/widgets/layout/template/template-picker/template-picker.component.d.ts +0 -30
  819. package/widgets/lib/widgets/layout/template/template-widget-designer.component.d.ts +0 -11
  820. package/widgets/lib/widgets/layout/template/template-widget-edit.component.d.ts +0 -13
  821. package/widgets/lib/widgets/layout/template/template-widget-view.component.d.ts +0 -11
  822. package/widgets/lib/widgets/layout/template/template-widget.config.d.ts +0 -7
  823. package/widgets/lib/widgets/layout/template/template.provider.d.ts +0 -24
@@ -1,4 +1,3 @@
1
- import { Provider } from '@angular/core';
2
1
  import * as i0 from "@angular/core";
3
2
  export interface AXPStartUpTask {
4
3
  name: string;
@@ -13,4 +12,4 @@ export declare class AXPAppStartUpService {
13
12
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPAppStartUpService, never>;
14
13
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPAppStartUpService>;
15
14
  }
16
- export declare const AXPAppStartUpProvider: Provider;
15
+ export declare const AXPAppStartUpProvider: import("@angular/core").EnvironmentProviders;
@@ -128,13 +128,11 @@ export interface AXPEntityQuery {
128
128
  execute: string | Function;
129
129
  type: AXPEntityQueryType;
130
130
  }
131
- export interface AXPEntityHistory {
132
- }
133
131
  export interface AXPEntityAction {
134
132
  permissions?: string[];
135
133
  command: string;
136
134
  title: string;
137
- type: 'create' | 'update' | 'delete' | 'print' | 'confirm' | 'report' | 'info' | 'view';
135
+ type: 'create' | 'update' | 'delete' | 'print' | 'confirm' | 'report' | 'info' | 'view' | 'archive';
138
136
  priority: 'primary' | 'secondary';
139
137
  color?: 'primary' | 'danger' | 'success' | 'warning';
140
138
  separated?: boolean;
@@ -252,6 +250,8 @@ export interface AXPQueryView {
252
250
  columns: string[];
253
251
  conditions: AXPQueryFilter[];
254
252
  sorts: AXPQuerySort[];
253
+ indexCol?: boolean;
254
+ pageSize?: number;
255
255
  }
256
256
  export interface AXPQueryFilter {
257
257
  name: string;
@@ -87,7 +87,7 @@ export interface AXPEntityConfig {
87
87
  permissions?: string[];
88
88
  target: 'selected' | 'single' | 'entity';
89
89
  priority: 'primary' | 'secondary';
90
- type: 'create' | 'update' | 'delete';
90
+ type: 'create' | 'update' | 'delete' | 'redirect';
91
91
  options?: any;
92
92
  };
93
93
  };
package/core/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './lib/types';
2
2
  export * from './utils/countdown-timer';
3
3
  export * from './utils/data-conditioner';
4
4
  export * from './utils/html-utils';
5
+ export * from './utils/highlighter';
@@ -0,0 +1,43 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Service for applying and resetting text highlighting within specified HTML elements.
4
+ */
5
+ export declare class AXHighlightService {
6
+ private querySelector;
7
+ private searchValue;
8
+ constructor();
9
+ /**
10
+ * Highlights all occurrences of a search value within the elements matching the provided query selector.
11
+ *
12
+ * @param querySelector - CSS selector to identify target elements.
13
+ * @param searchValue - Text to search and highlight.
14
+ */
15
+ highlight(querySelector: string, searchValue: string): void;
16
+ /**
17
+ * Resets all highlighted text within the elements matching the previously used query selector.
18
+ */
19
+ private resetHighlight;
20
+ /**
21
+ * Applies highlighting to a specific element by matching text against the search value.
22
+ *
23
+ * @param element - The HTML element to apply highlights to.
24
+ */
25
+ private applyHighlight;
26
+ /**
27
+ * Recursively applies highlighting to text nodes within an element.
28
+ *
29
+ * @param element - The current node being processed.
30
+ * @param searchRegex - Regular expression for matching text to highlight.
31
+ */
32
+ private recursivelyHighlight;
33
+ /**
34
+ * Generates the HTML structure for highlighted text.
35
+ *
36
+ * @param textContent - The original text content to process.
37
+ * @param searchRegex - Regular expression for matching text to highlight.
38
+ * @returns A string of HTML with highlighted portions wrapped in span elements.
39
+ */
40
+ private createHighlightedHTML;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXHighlightService, never>;
42
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXHighlightService>;
43
+ }
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injector, Injectable, signal, inject, Input, Directive, APP_INITIALIZER, Optional, Inject, NgModule } from '@angular/core';
2
+ import { InjectionToken, Injector, Injectable, signal, inject, Directive, Input, provideAppInitializer, NgModule, Optional, Inject } from '@angular/core';
3
3
  import { of, map, BehaviorSubject, shareReplay, defaultIfEmpty, firstValueFrom, first } from 'rxjs';
4
4
  import { AXPSignOutAction, AXPSignInAction } from '@acorex/platform/common';
5
5
  import { Store } from '@ngrx/store';
@@ -88,10 +88,10 @@ class AXPAuthStrategyRegistryService {
88
88
  get(strategyKey) {
89
89
  return this.strategies.get(strategyKey);
90
90
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAuthStrategyRegistryService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
92
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAuthStrategyRegistryService, providedIn: 'root' }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthStrategyRegistryService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
92
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthStrategyRegistryService, providedIn: 'root' }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAuthStrategyRegistryService, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthStrategyRegistryService, decorators: [{
95
95
  type: Injectable,
96
96
  args: [{
97
97
  providedIn: 'root'
@@ -148,13 +148,14 @@ class AXPFeatureDirective {
148
148
  ngOnDestroy() {
149
149
  this.subscription?.unsubscribe();
150
150
  }
151
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPFeatureDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
152
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: AXPFeatureDirective, selector: "[feature]", inputs: { feature: "feature", featureElse: "featureElse" }, ngImport: i0 }); }
151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFeatureDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
152
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: AXPFeatureDirective, isStandalone: false, selector: "[feature]", inputs: { feature: "feature", featureElse: "featureElse" }, ngImport: i0 }); }
153
153
  }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPFeatureDirective, decorators: [{
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFeatureDirective, decorators: [{
155
155
  type: Directive,
156
156
  args: [{
157
157
  selector: '[feature]',
158
+ standalone: false
158
159
  }]
159
160
  }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { feature: [{
160
161
  type: Input
@@ -449,10 +450,10 @@ class AXPSessionService {
449
450
  application: this.application,
450
451
  });
451
452
  }
452
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSessionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
453
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSessionService, providedIn: 'root' }); }
453
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSessionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
454
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSessionService, providedIn: 'root' }); }
454
455
  }
455
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSessionService, decorators: [{
456
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSessionService, decorators: [{
456
457
  type: Injectable,
457
458
  args: [{
458
459
  providedIn: 'root',
@@ -511,13 +512,14 @@ class AXPPermissionDirective {
511
512
  ngOnDestroy() {
512
513
  this.subscription?.unsubscribe();
513
514
  }
514
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPPermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
515
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: AXPPermissionDirective, selector: "[permission]", inputs: { permission: "permission", permissionElse: "permissionElse" }, ngImport: i0 }); }
515
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPPermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
516
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: AXPPermissionDirective, isStandalone: false, selector: "[permission]", inputs: { permission: "permission", permissionElse: "permissionElse" }, ngImport: i0 }); }
516
517
  }
517
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPPermissionDirective, decorators: [{
518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPPermissionDirective, decorators: [{
518
519
  type: Directive,
519
520
  args: [{
520
521
  selector: '[permission]',
522
+ standalone: false
521
523
  }]
522
524
  }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { permission: [{
523
525
  type: Input
@@ -588,30 +590,26 @@ class AXPAuthModule {
588
590
  f();
589
591
  });
590
592
  }
591
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAuthModule, deps: [{ token: 'AXPAuthModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
592
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPAuthModule, declarations: [AXPPermissionDirective, AXPFeatureDirective], exports: [AXPPermissionDirective, AXPFeatureDirective] }); }
593
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAuthModule, providers: [
594
- {
595
- provide: APP_INITIALIZER,
596
- useFactory: initializeAppState,
597
- deps: [AXPSessionService],
598
- multi: true,
599
- },
593
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthModule, deps: [{ token: 'AXPAuthModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
594
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthModule, declarations: [AXPPermissionDirective, AXPFeatureDirective], exports: [AXPPermissionDirective, AXPFeatureDirective] }); }
595
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthModule, providers: [
596
+ provideAppInitializer(() => {
597
+ const initializerFn = (initializeAppState)(inject(AXPSessionService));
598
+ return initializerFn();
599
+ }),
600
600
  ] }); }
601
601
  }
602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAuthModule, decorators: [{
602
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthModule, decorators: [{
603
603
  type: NgModule,
604
604
  args: [{
605
605
  imports: [],
606
606
  exports: [AXPPermissionDirective, AXPFeatureDirective],
607
607
  declarations: [AXPPermissionDirective, AXPFeatureDirective],
608
608
  providers: [
609
- {
610
- provide: APP_INITIALIZER,
611
- useFactory: initializeAppState,
612
- deps: [AXPSessionService],
613
- multi: true,
614
- },
609
+ provideAppInitializer(() => {
610
+ const initializerFn = (initializeAppState)(inject(AXPSessionService));
611
+ return initializerFn();
612
+ }),
615
613
  ],
616
614
  }]
617
615
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-auth.mjs","sources":["../../../../libs/platform/auth/src/lib/application/application.loader.ts","../../../../libs/platform/auth/src/lib/tenant/tenant.loader.ts","../../../../libs/platform/auth/src/lib/permission/permission.loader.ts","../../../../libs/platform/auth/src/lib/errors.types.ts","../../../../libs/platform/auth/src/lib/auth-registry.service.ts","../../../../libs/platform/auth/src/lib/feature/feature.loader.ts","../../../../libs/platform/auth/src/lib/feature/feature.directive.ts","../../../../libs/platform/auth/src/lib/feature/feature.guard.ts","../../../../libs/platform/auth/src/lib/session.types.ts","../../../../libs/platform/auth/src/lib/session.service.ts","../../../../libs/platform/auth/src/lib/permission/permission.guard.ts","../../../../libs/platform/auth/src/lib/permission/permission.directive.ts","../../../../libs/platform/auth/src/lib/auth.guard.ts","../../../../libs/platform/auth/src/lib/auth.module.ts","../../../../libs/platform/auth/src/acorex-platform-auth.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPApplication } from './application.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPApplicationLoader {\n getList(context: AXPSessionContext): Observable<AXPApplication[]>;\n}\n\nexport const AXP_APPLICATION_LOADER = new InjectionToken<AXPApplicationLoader>('AXP_APPLICATION_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPApplicationDefaultLoader();\n },\n});\n\nclass AXPApplicationDefaultLoader implements AXPApplicationLoader {\n getList(context: AXPSessionContext): Observable<AXPApplication[]> {\n return of([\n {\n id: '1',\n name: 'default-app',\n title: 'Default Application',\n version: '1.0.0',\n editionName: 'Standard',\n features: [],\n },\n ]);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPTenant } from './tenant.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPTenantLoader {\n getList(context: AXPSessionContext): Observable<AXPTenant[]>;\n}\n\nexport const AXP_TENANT_LOADER = new InjectionToken<AXPTenantLoader>('AXP_TENANT_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPTenantDefaultLoader();\n },\n});\n\nclass AXPTenantDefaultLoader implements AXPTenantLoader {\n\n getList(context: AXPSessionContext): Observable<AXPTenant[]> {\n return of([\n {\n id: '1',\n name: 'default-tenant',\n title: 'Default Tenant',\n },\n ]);\n }\n}\n","import { InjectionToken } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { AXPPermission } from \"./permission.types\";\nimport { AXPSessionContext } from \"../session.types\";\n\nexport interface AXPPermissionLoader {\n getList(context: AXPSessionContext): Observable<AXPPermission[]>;\n}\n\nexport const AXP_PERMISSION_LOADER = new InjectionToken<AXPPermissionLoader>('AXP_PERMISSION_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPPermissionDefaultLoader();\n }\n});\n\n\nclass AXPPermissionDefaultLoader implements AXPPermissionLoader {\n getList(context: AXPSessionContext): Observable<AXPPermission[]> {\n return of([])\n }\n}","export class AXPUnauthorizedError extends Error {\n constructor(message?: string, public data?: { redirectUrl?: string }) {\n super(message);\n this.name = 'AXPUnauthorizedError';\n }\n}\n\n\nexport class AXPUnauthenticatedError extends Error {\n constructor(message?: string, public data?: { redirectUrl?: string }) {\n super(message);\n this.name = 'AXPUnauthenticatedError';\n }\n}","import { Injectable, Injector } from \"@angular/core\";\nimport { AXPAuthStrategy } from \"./auth.strategy\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPAuthStrategyRegistryService {\n private strategies = new Map<string, AXPAuthStrategy>();\n\n private injector: Injector;\n\n constructor(injector: Injector) {\n this.injector = injector;\n }\n\n register(...plugins: (new () => AXPAuthStrategy)[]) {\n plugins.forEach(t => {\n const childInjector = Injector.create({ providers: [{ provide: t, useClass: t, deps: [] }], parent: this.injector });\n const strategy = childInjector.get(t);\n if (strategy) {\n this.strategies.set(strategy.name, strategy);\n }\n })\n }\n\n get(strategyKey: string): AXPAuthStrategy | undefined {\n return this.strategies.get(strategyKey);\n }\n}","import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPFeature } from './feature.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPFeatureLoader {\n getList(context: AXPSessionContext): Observable<AXPFeature[]>;\n}\n\nexport const AXP_FEATURE_LOADER = new InjectionToken<AXPFeatureLoader>('AXP_FEATURE_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPFeatureDefaultLoader();\n },\n});\n\nclass AXPFeatureDefaultLoader implements AXPFeatureLoader {\n getList(context: AXPSessionContext): Observable<AXPFeature[]> {\n return of([]);\n }\n}\n","import { Directive, Input, TemplateRef, ViewContainerRef, inject, signal } from '@angular/core';\nimport { Subscription, first } from 'rxjs';\nimport { AXPSessionService } from '../session.service';\n\n@Directive({\n selector: '[feature]',\n})\nexport class AXPFeatureDirective {\n private hasView = signal(false);\n private subscription!: Subscription;\n private sessionService = inject(AXPSessionService);\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) { }\n\n @Input()\n public set feature(featureKeys: string | string[] | null) {\n const keys: string[] = !featureKeys ? [] : (Array.isArray(featureKeys) ? featureKeys : [featureKeys]);\n if (keys.length == 0) {\n // If featureKey is null or empty, decide the default behavior here\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n return;\n }\n this.subscription = this.sessionService.features$\n //.pipe(first())\n .subscribe(() => {\n if (this.sessionService.isFeatureEnabled(...keys)) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n }\n } else {\n this.viewContainer.clear();\n this.hasView.set(false);\n }\n });\n }\n\n @Input()\n public set featureElse(elseTemplateRef: TemplateRef<any>) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(elseTemplateRef);\n }\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n}\n","import { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from \"@angular/router\";\nimport { inject } from \"@angular/core\";\nimport { AXPSessionService } from \"../session.service\";\nimport { Observable, first, map } from \"rxjs\";\nimport { AXPUnauthorizedError } from \"../errors.types\";\n\n\nexport const AXPFeatureGuard: CanActivateFn =\n (route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> => {\n const sessionService = inject(AXPSessionService);\n const requiredFeatures = route.data['requiredFeature'] as (string | string[] | null);\n\n return sessionService.features$.pipe(\n map(() => {\n const keys: string[] = !requiredFeatures ? [] : (Array.isArray(requiredFeatures) ? requiredFeatures : [requiredFeatures]);\n const hasFeature = keys.length == 0 || sessionService.isFeatureEnabled(...keys);\n if (!hasFeature) {\n throw new AXPUnauthorizedError(\n `Access Denied. You do not have access to this feature. Required feature(s): ${keys.join(', ')}. Please contact support if you need access.`,\n {\n redirectUrl: state.url\n }\n );\n }\n return true;\n })\n );\n };\n","import { AXPApplication } from \"./application/application.types\";\nimport { AXPTenant } from \"./tenant/tenant.types\";\nimport { AXPUser } from \"./user/user.types\";\n\nexport class AXPSessionContext {\n\n private _user: AXPUser | null = null;\n public get user(): AXPUser | null {\n return this._user;\n }\n\n private _tenant: AXPTenant | null = null;\n public get tenant(): AXPTenant | null {\n return this._tenant;\n }\n\n private _application: AXPApplication | null = null;\n public get application(): AXPApplication | null {\n return this._application;\n }\n\n constructor(context: {\n user: AXPUser | null,\n tenant: AXPTenant | null,\n application: AXPApplication | null,\n }) {\n this._user = context.user;\n this._tenant = context.tenant;\n this._application = context.application;\n }\n}\n\n\nexport enum AXPSessionStatus {\n Authenticated = \"authenticated\",\n Unauthenticated = \"unauthenticated\",\n Unauthorized = \"unauthorized\",\n Authorized = \"authorized\",\n Expired = \"expired\",\n SignedOut = \"signedOut\"\n}","import { AXPSignInAction, AXPSignOutAction } from '@acorex/platform/common';\nimport { Injectable, inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { isEmpty, merge } from 'lodash-es';\nimport { BehaviorSubject, Observable, defaultIfEmpty, firstValueFrom, map, shareReplay } from 'rxjs';\nimport { AXP_APPLICATION_LOADER } from './application/application.loader';\nimport { AXPApplication } from './application/application.types';\nimport { AXPAuthStrategyRegistryService } from './auth-registry.service';\nimport { AXPBaseCredentials, AXPSessionData } from './auth.strategy';\nimport { AXPFeature, AXP_FEATURE_LOADER } from './feature';\nimport { AXP_PERMISSION_LOADER } from './permission/permission.loader';\nimport { AXPPermission } from './permission/permission.types';\nimport { AXPSessionContext, AXPSessionStatus } from './session.types';\nimport { AXP_TENANT_LOADER } from './tenant/tenant.loader';\nimport { AXPTenant } from './tenant/tenant.types';\nimport { AXPUser } from './user/user.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPSessionService {\n private store = inject(Store);\n\n private authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n public static readonly SESSION_KEY = 'AXP_SESSION';\n\n private readonly permissionLoader = inject(AXP_PERMISSION_LOADER);\n private readonly featureLoader = inject(AXP_FEATURE_LOADER);\n private readonly tenantLoader = inject(AXP_TENANT_LOADER);\n private readonly applicationLoader = inject(AXP_APPLICATION_LOADER);\n\n private status = new BehaviorSubject<AXPSessionStatus>(AXPSessionStatus.Unauthenticated);\n public readonly status$ = this.status.asObservable().pipe(shareReplay(1));\n\n private currentUserSubject = new BehaviorSubject<AXPUser | null>(null);\n public readonly user$ = this.currentUserSubject.asObservable().pipe(shareReplay(1));\n public get user(): AXPUser | null {\n const session = this.getSessionData();\n if (session?.user && !this.currentUserSubject.value) {\n this.currentUserSubject.next(session.user);\n }\n return this.currentUserSubject.value;\n }\n\n private currentTenantSubject = new BehaviorSubject<AXPTenant | null>(null);\n public readonly tenant$ = this.currentTenantSubject.asObservable().pipe(shareReplay(1));\n public get tenant(): AXPTenant | null {\n const session = this.getSessionData();\n if (session?.tenant && !this.currentTenantSubject.value) {\n this.currentTenantSubject.next(session.tenant);\n }\n return this.currentTenantSubject.value;\n }\n\n public get tenants$(): Observable<AXPTenant[]> {\n return this.tenantLoader.getList(this.getContext());\n }\n\n private currentApplicationSubject = new BehaviorSubject<AXPApplication | null>(null);\n public readonly application$ = this.currentApplicationSubject.asObservable().pipe(shareReplay(1));\n public get application(): AXPApplication | null {\n const session = this.getSessionData();\n if (session?.application && !this.currentApplicationSubject.value) {\n this.currentApplicationSubject.next(session.application);\n }\n return this.currentApplicationSubject.value;\n }\n\n public get applications$(): Observable<AXPApplication[]> {\n return this.applicationLoader.getList(this.getContext());\n }\n\n private permissionsSubject = new BehaviorSubject<AXPPermission[]>([]);\n public readonly permissions$ = this.permissionsSubject.asObservable().pipe(shareReplay(1), defaultIfEmpty([]));\n public get permissions(): AXPPermission[] {\n return this.permissionsSubject.value ?? [];\n }\n\n private featuresSubject = new BehaviorSubject<AXPFeature[]>([]);\n public readonly features$ = this.featuresSubject.asObservable().pipe(shareReplay(1), defaultIfEmpty([]));\n public get features(): AXPFeature[] {\n return this.featuresSubject.value ?? [];\n }\n\n public readonly isAuthenticated$ = this.status$.pipe(\n map((status) => status === AXPSessionStatus.Authenticated || status === AXPSessionStatus.Authorized),\n shareReplay(1)\n );\n\n public readonly isAuthorized$ = this.status$.pipe(\n map((status) => status === AXPSessionStatus.Authorized),\n shareReplay(1)\n );\n\n public async restoreSession(): Promise<void> {\n const sessionData = this.getSessionData();\n if (sessionData) {\n if (sessionData.user) {\n this.currentUserSubject.next(sessionData.user);\n this.status.next(AXPSessionStatus.Authenticated);\n }\n // if (sessionData.tenant) {\n // this.setTenant(sessionData.tenant);\n // }\n // if (sessionData.application) {\n // this.setApplication(sessionData.application);\n // }\n await this.signInComplete();\n } else {\n this.status.next(AXPSessionStatus.Unauthorized);\n }\n }\n\n async signin(credentials: AXPBaseCredentials): Promise<void> {\n const strategy = this.authStrategyRegistry.get(credentials.strategy);\n if (!strategy) {\n throw new Error(`Authentication strategy '${credentials.strategy}' is not supported`);\n }\n const result = await strategy.signin(credentials);\n if (result.succeed) {\n this.currentUserSubject.next(result.data!.user);\n this.setSession({\n accessToken: result.data!.accessToken,\n refreshToken: result.data!.refreshToken,\n strategy: credentials.strategy,\n user: result.data!.user,\n application: result.data?.application,\n tenant: result.data?.tenant,\n expiresIn: result.data?.expiresIn,\n idToken: result.data?.idToken ?? null,\n });\n this.status.next(AXPSessionStatus.Authenticated);\n if (this.application && this.tenant) await this.signInComplete();\n } else {\n this.status.next(AXPSessionStatus.Unauthenticated);\n throw new Error(`Invalid Username or Password`);\n }\n }\n\n async signout(): Promise<void> {\n const sessionData = this.getSessionData();\n if (sessionData?.strategy) {\n const strategy = this.authStrategyRegistry.get(sessionData?.strategy);\n if (strategy) {\n await strategy.signout();\n }\n }\n //\n this.clearSession();\n this.status.next(AXPSessionStatus.SignedOut);\n this.store.dispatch(AXPSignOutAction());\n }\n\n async refreshToken(): Promise<any> {\n return new Promise(async (resolve, reject) => {\n const sessionData = this.getSessionData();\n if (!sessionData || !sessionData?.refreshToken) {\n return;\n }\n const strategy = this.authStrategyRegistry.get(sessionData.strategy);\n if (!strategy) {\n reject();\n throw new Error(`Authentication strategy '${sessionData.strategy}' is not found`);\n }\n const result = await strategy.refreshToken(this.getContext());\n if (result.succeed) {\n this.setSession(result.data as AXPSessionData);\n resolve(result.data?.accessToken);\n } else {\n this.clearSession();\n this.status.next(AXPSessionStatus.Expired);\n }\n });\n }\n\n async setTenant(tenant: AXPTenant | null): Promise<void> {\n defaultIfEmpty;\n this.currentTenantSubject.next(tenant);\n if (tenant) {\n this.updateSession({ tenant: tenant });\n await this.refreshToken();\n }\n }\n\n async setApplication(application: AXPApplication | null): Promise<void> {\n this.currentApplicationSubject.next(application);\n if (application) {\n this.updateSession({ application: application });\n await this.refreshToken();\n }\n }\n\n private async loadPermissions(): Promise<void> {\n try {\n const permissions = await firstValueFrom(this.permissionLoader.getList(this.getContext()));\n this.permissionsSubject.next(permissions ?? []);\n this.store.dispatch(AXPSignInAction());\n } catch (error) {\n console.error('Error loading permissions:', error);\n this.permissionsSubject.next([]);\n }\n }\n\n private async loadFeatures(): Promise<void> {\n try {\n const features = await firstValueFrom(this.featureLoader.getList(this.getContext()));\n this.featuresSubject.next(features ?? []);\n } catch (error) {\n console.error('Error loading features:', error);\n this.featuresSubject.next([]);\n }\n }\n\n async signInComplete() {\n await this.loadPermissions();\n await this.loadFeatures();\n this.status.next(AXPSessionStatus.Authorized);\n }\n\n private setSession(tokens: Partial<AXPSessionData>): void {\n const sessionData: Partial<AXPSessionData> = {\n accessToken: tokens.accessToken,\n refreshToken: tokens.refreshToken,\n strategy: tokens.strategy,\n user: this.user,\n application: tokens.application,\n tenant: tokens.tenant,\n expiresIn: tokens.expiresIn,\n idToken: tokens.idToken,\n };\n this.updateSession(sessionData);\n }\n\n private updateSession(update: Partial<AXPSessionData>) {\n const currentSession = this.getSessionData() ?? {};\n const updatedSession = merge({}, currentSession, update);\n localStorage.setItem(AXPSessionService.SESSION_KEY, JSON.stringify(updatedSession));\n }\n\n public getSessionData(): AXPSessionData | null {\n const sessionDataString = localStorage.getItem(AXPSessionService.SESSION_KEY);\n return sessionDataString ? JSON.parse(sessionDataString) : null;\n }\n\n private clearSession(): void {\n //\n this.currentUserSubject.next(null);\n //\n this.setTenant(null);\n //\n this.setApplication(null);\n //\n this.permissionsSubject.next([]);\n //\n this.featuresSubject.next([]);\n //\n localStorage.removeItem(AXPSessionService.SESSION_KEY);\n }\n\n public authorize(...keys: string[]): boolean {\n return keys.every((k) => isEmpty(k) || this.permissions.indexOf(k) > -1);\n }\n\n public isFeatureEnabled(...keys: string[]): boolean {\n return keys.every((k) => isEmpty(k) || this.features.some((c) => c.name == k && c.value == true));\n }\n\n public getToken(): string | undefined {\n const sessionData = this.getSessionData();\n\n return sessionData?.accessToken;\n }\n\n private checkTokenValidation(): boolean {\n let sessionData = this.getSessionData();\n\n if (sessionData && sessionData?.accessToken && sessionData.expiresIn) {\n const expiresInDate = new Date(sessionData.expiresIn);\n if (expiresInDate > new Date()) {\n // Token is still valid\n return true;\n }\n }\n return false;\n }\n\n private getContext(): AXPSessionContext {\n return new AXPSessionContext({\n user: this.user,\n tenant: this.tenant,\n application: this.application,\n });\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { first, map, tap } from 'rxjs';\nimport { AXPUnauthorizedError } from '../errors.types';\nimport { AXPSessionService } from '../session.service';\nimport { AXPSessionStatus } from '../session.types';\n\nexport const AXPPermissionGuard: CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n\n const sessionService = inject(AXPSessionService);\n\n const permissionKeys = route.data['requiredPermission'] as string | string[] | null;\n\n return sessionService.isAuthorized$.pipe(\n first(),\n map((value) => {\n const keys: string[] = !permissionKeys ? [] : Array.isArray(permissionKeys) ? permissionKeys : [permissionKeys];\n const hasPermission = keys.length == 0 || sessionService.authorize(...keys);\n if (!hasPermission) {\n throw new AXPUnauthorizedError(\n `Access denied. Required permissions: ${keys.join(', ')}. Please contact your administrator if you believe this is an error.`,\n {\n redirectUrl: state.url\n }\n );\n }\n return true;\n })\n );\n};\n","import { Directive, Input, TemplateRef, ViewContainerRef, inject, signal } from '@angular/core';\nimport { Subscription, first } from 'rxjs';\nimport { AXPSessionService } from '../session.service';\n\n@Directive({\n selector: '[permission]',\n})\nexport class AXPPermissionDirective {\n private hasView = signal(false);\n private subscription!: Subscription;\n private sessionService = inject(AXPSessionService);\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) { }\n\n @Input()\n public set permission(permissionKeys: string | string[] | null) {\n const keys: string[] = !permissionKeys ? [] : (Array.isArray(permissionKeys) ? permissionKeys : [permissionKeys]);\n if (keys.length == 0) {\n // If permissionKey is null or empty, decide the default behavior here\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n return;\n }\n this.subscription = this.sessionService.isAuthorized$\n .subscribe((isAuthorized) => {\n if (isAuthorized && this.sessionService.authorize(...keys)) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n }\n } else {\n this.viewContainer.clear();\n this.hasView.set(false);\n }\n });\n }\n\n @Input()\n public set permissionElse(elseTemplateRef: TemplateRef<any>) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(elseTemplateRef);\n }\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot } from '@angular/router';\nimport { first, map } from 'rxjs';\nimport { AXPUnauthenticatedError } from './errors.types';\nimport { AXPSessionService } from './session.service';\n\nexport const AXPAuthGuard: CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const sessionService = inject(AXPSessionService);\n return sessionService.isAuthenticated$.pipe(\n first(),\n map((value) => {\n if (value) {\n return true;\n }\n throw new AXPUnauthenticatedError(\n `Access denied. You are not currently logged in. Please log in to access this page. If you continue to see this message after logging in, please contact support.`,\n {\n redirectUrl: state.url,\n }\n );\n })\n );\n};\n","import { APP_INITIALIZER, Inject, ModuleWithProviders, NgModule, Optional } from '@angular/core';\nimport { AXPAuthStrategyRegistryService } from './auth-registry.service';\nimport { AXPAuthStrategy } from './auth.strategy';\nimport { AXPFeatureDirective } from './feature';\nimport { AXPPermissionDirective } from './permission/permission.directive';\nimport { AXPSessionService } from './session.service';\n\nexport interface AXPAuthModuleConfigs {\n strategies: (new () => AXPAuthStrategy)[];\n}\n\nexport function initializeAppState(service: AXPSessionService) {\n return async () => {\n try {\n await service.restoreSession();\n } catch (error) {\n console.error(error);\n }\n };\n}\n\n@NgModule({\n imports: [],\n exports: [AXPPermissionDirective, AXPFeatureDirective],\n declarations: [AXPPermissionDirective, AXPFeatureDirective],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: initializeAppState,\n deps: [AXPSessionService],\n multi: true,\n },\n ],\n})\nexport class AXPAuthModule {\n static forRoot(configs?: AXPAuthModuleConfigs): ModuleWithProviders<AXPAuthModule> {\n return {\n ngModule: AXPAuthModule,\n providers: [\n ...(configs?.strategies || []),\n {\n provide: 'AXPAuthModuleFactory',\n useFactory: (registry: AXPAuthStrategyRegistryService) => () => {\n registry.register(...(configs?.strategies || []));\n },\n deps: [AXPAuthStrategyRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n static forChild(configs?: AXPAuthModuleConfigs): ModuleWithProviders<AXPAuthModule> {\n return {\n ngModule: AXPAuthModule,\n providers: [\n ...(configs?.strategies || []),\n {\n provide: 'AXPAuthModuleFactory',\n useFactory: (registry: AXPAuthStrategyRegistryService) => () => {\n registry.register(...(configs?.strategies || []));\n },\n deps: [AXPAuthStrategyRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPAuthModuleFactory') instances: any[]) {\n instances?.forEach((f) => {\n f();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-auth.mjs","sources":["../../../../libs/platform/auth/src/lib/application/application.loader.ts","../../../../libs/platform/auth/src/lib/tenant/tenant.loader.ts","../../../../libs/platform/auth/src/lib/permission/permission.loader.ts","../../../../libs/platform/auth/src/lib/errors.types.ts","../../../../libs/platform/auth/src/lib/auth-registry.service.ts","../../../../libs/platform/auth/src/lib/feature/feature.loader.ts","../../../../libs/platform/auth/src/lib/feature/feature.directive.ts","../../../../libs/platform/auth/src/lib/feature/feature.guard.ts","../../../../libs/platform/auth/src/lib/session.types.ts","../../../../libs/platform/auth/src/lib/session.service.ts","../../../../libs/platform/auth/src/lib/permission/permission.guard.ts","../../../../libs/platform/auth/src/lib/permission/permission.directive.ts","../../../../libs/platform/auth/src/lib/auth.guard.ts","../../../../libs/platform/auth/src/lib/auth.module.ts","../../../../libs/platform/auth/src/acorex-platform-auth.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPApplication } from './application.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPApplicationLoader {\n getList(context: AXPSessionContext): Observable<AXPApplication[]>;\n}\n\nexport const AXP_APPLICATION_LOADER = new InjectionToken<AXPApplicationLoader>('AXP_APPLICATION_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPApplicationDefaultLoader();\n },\n});\n\nclass AXPApplicationDefaultLoader implements AXPApplicationLoader {\n getList(context: AXPSessionContext): Observable<AXPApplication[]> {\n return of([\n {\n id: '1',\n name: 'default-app',\n title: 'Default Application',\n version: '1.0.0',\n editionName: 'Standard',\n features: [],\n },\n ]);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPTenant } from './tenant.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPTenantLoader {\n getList(context: AXPSessionContext): Observable<AXPTenant[]>;\n}\n\nexport const AXP_TENANT_LOADER = new InjectionToken<AXPTenantLoader>('AXP_TENANT_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPTenantDefaultLoader();\n },\n});\n\nclass AXPTenantDefaultLoader implements AXPTenantLoader {\n\n getList(context: AXPSessionContext): Observable<AXPTenant[]> {\n return of([\n {\n id: '1',\n name: 'default-tenant',\n title: 'Default Tenant',\n },\n ]);\n }\n}\n","import { InjectionToken } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { AXPPermission } from \"./permission.types\";\nimport { AXPSessionContext } from \"../session.types\";\n\nexport interface AXPPermissionLoader {\n getList(context: AXPSessionContext): Observable<AXPPermission[]>;\n}\n\nexport const AXP_PERMISSION_LOADER = new InjectionToken<AXPPermissionLoader>('AXP_PERMISSION_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPPermissionDefaultLoader();\n }\n});\n\n\nclass AXPPermissionDefaultLoader implements AXPPermissionLoader {\n getList(context: AXPSessionContext): Observable<AXPPermission[]> {\n return of([])\n }\n}","export class AXPUnauthorizedError extends Error {\n constructor(message?: string, public data?: { redirectUrl?: string }) {\n super(message);\n this.name = 'AXPUnauthorizedError';\n }\n}\n\n\nexport class AXPUnauthenticatedError extends Error {\n constructor(message?: string, public data?: { redirectUrl?: string }) {\n super(message);\n this.name = 'AXPUnauthenticatedError';\n }\n}","import { Injectable, Injector } from \"@angular/core\";\nimport { AXPAuthStrategy } from \"./auth.strategy\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPAuthStrategyRegistryService {\n private strategies = new Map<string, AXPAuthStrategy>();\n\n private injector: Injector;\n\n constructor(injector: Injector) {\n this.injector = injector;\n }\n\n register(...plugins: (new () => AXPAuthStrategy)[]) {\n plugins.forEach(t => {\n const childInjector = Injector.create({ providers: [{ provide: t, useClass: t, deps: [] }], parent: this.injector });\n const strategy = childInjector.get(t);\n if (strategy) {\n this.strategies.set(strategy.name, strategy);\n }\n })\n }\n\n get(strategyKey: string): AXPAuthStrategy | undefined {\n return this.strategies.get(strategyKey);\n }\n}","import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPFeature } from './feature.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPFeatureLoader {\n getList(context: AXPSessionContext): Observable<AXPFeature[]>;\n}\n\nexport const AXP_FEATURE_LOADER = new InjectionToken<AXPFeatureLoader>('AXP_FEATURE_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPFeatureDefaultLoader();\n },\n});\n\nclass AXPFeatureDefaultLoader implements AXPFeatureLoader {\n getList(context: AXPSessionContext): Observable<AXPFeature[]> {\n return of([]);\n }\n}\n","import { Directive, Input, TemplateRef, ViewContainerRef, inject, signal } from '@angular/core';\nimport { Subscription, first } from 'rxjs';\nimport { AXPSessionService } from '../session.service';\n\n@Directive({\n selector: '[feature]',\n standalone: false\n})\nexport class AXPFeatureDirective {\n private hasView = signal(false);\n private subscription!: Subscription;\n private sessionService = inject(AXPSessionService);\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) { }\n\n @Input()\n public set feature(featureKeys: string | string[] | null) {\n const keys: string[] = !featureKeys ? [] : (Array.isArray(featureKeys) ? featureKeys : [featureKeys]);\n if (keys.length == 0) {\n // If featureKey is null or empty, decide the default behavior here\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n return;\n }\n this.subscription = this.sessionService.features$\n //.pipe(first())\n .subscribe(() => {\n if (this.sessionService.isFeatureEnabled(...keys)) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n }\n } else {\n this.viewContainer.clear();\n this.hasView.set(false);\n }\n });\n }\n\n @Input()\n public set featureElse(elseTemplateRef: TemplateRef<any>) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(elseTemplateRef);\n }\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n}\n","import { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from \"@angular/router\";\nimport { inject } from \"@angular/core\";\nimport { AXPSessionService } from \"../session.service\";\nimport { Observable, first, map } from \"rxjs\";\nimport { AXPUnauthorizedError } from \"../errors.types\";\n\n\nexport const AXPFeatureGuard: CanActivateFn =\n (route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> => {\n const sessionService = inject(AXPSessionService);\n const requiredFeatures = route.data['requiredFeature'] as (string | string[] | null);\n\n return sessionService.features$.pipe(\n map(() => {\n const keys: string[] = !requiredFeatures ? [] : (Array.isArray(requiredFeatures) ? requiredFeatures : [requiredFeatures]);\n const hasFeature = keys.length == 0 || sessionService.isFeatureEnabled(...keys);\n if (!hasFeature) {\n throw new AXPUnauthorizedError(\n `Access Denied. You do not have access to this feature. Required feature(s): ${keys.join(', ')}. Please contact support if you need access.`,\n {\n redirectUrl: state.url\n }\n );\n }\n return true;\n })\n );\n };\n","import { AXPApplication } from \"./application/application.types\";\nimport { AXPTenant } from \"./tenant/tenant.types\";\nimport { AXPUser } from \"./user/user.types\";\n\nexport class AXPSessionContext {\n\n private _user: AXPUser | null = null;\n public get user(): AXPUser | null {\n return this._user;\n }\n\n private _tenant: AXPTenant | null = null;\n public get tenant(): AXPTenant | null {\n return this._tenant;\n }\n\n private _application: AXPApplication | null = null;\n public get application(): AXPApplication | null {\n return this._application;\n }\n\n constructor(context: {\n user: AXPUser | null,\n tenant: AXPTenant | null,\n application: AXPApplication | null,\n }) {\n this._user = context.user;\n this._tenant = context.tenant;\n this._application = context.application;\n }\n}\n\n\nexport enum AXPSessionStatus {\n Authenticated = \"authenticated\",\n Unauthenticated = \"unauthenticated\",\n Unauthorized = \"unauthorized\",\n Authorized = \"authorized\",\n Expired = \"expired\",\n SignedOut = \"signedOut\"\n}","import { AXPSignInAction, AXPSignOutAction } from '@acorex/platform/common';\nimport { Injectable, inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { isEmpty, merge } from 'lodash-es';\nimport { BehaviorSubject, Observable, defaultIfEmpty, firstValueFrom, map, shareReplay } from 'rxjs';\nimport { AXP_APPLICATION_LOADER } from './application/application.loader';\nimport { AXPApplication } from './application/application.types';\nimport { AXPAuthStrategyRegistryService } from './auth-registry.service';\nimport { AXPBaseCredentials, AXPSessionData } from './auth.strategy';\nimport { AXPFeature, AXP_FEATURE_LOADER } from './feature';\nimport { AXP_PERMISSION_LOADER } from './permission/permission.loader';\nimport { AXPPermission } from './permission/permission.types';\nimport { AXPSessionContext, AXPSessionStatus } from './session.types';\nimport { AXP_TENANT_LOADER } from './tenant/tenant.loader';\nimport { AXPTenant } from './tenant/tenant.types';\nimport { AXPUser } from './user/user.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPSessionService {\n private store = inject(Store);\n\n private authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n public static readonly SESSION_KEY = 'AXP_SESSION';\n\n private readonly permissionLoader = inject(AXP_PERMISSION_LOADER);\n private readonly featureLoader = inject(AXP_FEATURE_LOADER);\n private readonly tenantLoader = inject(AXP_TENANT_LOADER);\n private readonly applicationLoader = inject(AXP_APPLICATION_LOADER);\n\n private status = new BehaviorSubject<AXPSessionStatus>(AXPSessionStatus.Unauthenticated);\n public readonly status$ = this.status.asObservable().pipe(shareReplay(1));\n\n private currentUserSubject = new BehaviorSubject<AXPUser | null>(null);\n public readonly user$ = this.currentUserSubject.asObservable().pipe(shareReplay(1));\n public get user(): AXPUser | null {\n const session = this.getSessionData();\n if (session?.user && !this.currentUserSubject.value) {\n this.currentUserSubject.next(session.user);\n }\n return this.currentUserSubject.value;\n }\n\n private currentTenantSubject = new BehaviorSubject<AXPTenant | null>(null);\n public readonly tenant$ = this.currentTenantSubject.asObservable().pipe(shareReplay(1));\n public get tenant(): AXPTenant | null {\n const session = this.getSessionData();\n if (session?.tenant && !this.currentTenantSubject.value) {\n this.currentTenantSubject.next(session.tenant);\n }\n return this.currentTenantSubject.value;\n }\n\n public get tenants$(): Observable<AXPTenant[]> {\n return this.tenantLoader.getList(this.getContext());\n }\n\n private currentApplicationSubject = new BehaviorSubject<AXPApplication | null>(null);\n public readonly application$ = this.currentApplicationSubject.asObservable().pipe(shareReplay(1));\n public get application(): AXPApplication | null {\n const session = this.getSessionData();\n if (session?.application && !this.currentApplicationSubject.value) {\n this.currentApplicationSubject.next(session.application);\n }\n return this.currentApplicationSubject.value;\n }\n\n public get applications$(): Observable<AXPApplication[]> {\n return this.applicationLoader.getList(this.getContext());\n }\n\n private permissionsSubject = new BehaviorSubject<AXPPermission[]>([]);\n public readonly permissions$ = this.permissionsSubject.asObservable().pipe(shareReplay(1), defaultIfEmpty([]));\n public get permissions(): AXPPermission[] {\n return this.permissionsSubject.value ?? [];\n }\n\n private featuresSubject = new BehaviorSubject<AXPFeature[]>([]);\n public readonly features$ = this.featuresSubject.asObservable().pipe(shareReplay(1), defaultIfEmpty([]));\n public get features(): AXPFeature[] {\n return this.featuresSubject.value ?? [];\n }\n\n public readonly isAuthenticated$ = this.status$.pipe(\n map((status) => status === AXPSessionStatus.Authenticated || status === AXPSessionStatus.Authorized),\n shareReplay(1)\n );\n\n public readonly isAuthorized$ = this.status$.pipe(\n map((status) => status === AXPSessionStatus.Authorized),\n shareReplay(1)\n );\n\n public async restoreSession(): Promise<void> {\n const sessionData = this.getSessionData();\n if (sessionData) {\n if (sessionData.user) {\n this.currentUserSubject.next(sessionData.user);\n this.status.next(AXPSessionStatus.Authenticated);\n }\n // if (sessionData.tenant) {\n // this.setTenant(sessionData.tenant);\n // }\n // if (sessionData.application) {\n // this.setApplication(sessionData.application);\n // }\n await this.signInComplete();\n } else {\n this.status.next(AXPSessionStatus.Unauthorized);\n }\n }\n\n async signin(credentials: AXPBaseCredentials): Promise<void> {\n const strategy = this.authStrategyRegistry.get(credentials.strategy);\n if (!strategy) {\n throw new Error(`Authentication strategy '${credentials.strategy}' is not supported`);\n }\n const result = await strategy.signin(credentials);\n if (result.succeed) {\n this.currentUserSubject.next(result.data!.user);\n this.setSession({\n accessToken: result.data!.accessToken,\n refreshToken: result.data!.refreshToken,\n strategy: credentials.strategy,\n user: result.data!.user,\n application: result.data?.application,\n tenant: result.data?.tenant,\n expiresIn: result.data?.expiresIn,\n idToken: result.data?.idToken ?? null,\n });\n this.status.next(AXPSessionStatus.Authenticated);\n if (this.application && this.tenant) await this.signInComplete();\n } else {\n this.status.next(AXPSessionStatus.Unauthenticated);\n throw new Error(`Invalid Username or Password`);\n }\n }\n\n async signout(): Promise<void> {\n const sessionData = this.getSessionData();\n if (sessionData?.strategy) {\n const strategy = this.authStrategyRegistry.get(sessionData?.strategy);\n if (strategy) {\n await strategy.signout();\n }\n }\n //\n this.clearSession();\n this.status.next(AXPSessionStatus.SignedOut);\n this.store.dispatch(AXPSignOutAction());\n }\n\n async refreshToken(): Promise<any> {\n return new Promise(async (resolve, reject) => {\n const sessionData = this.getSessionData();\n if (!sessionData || !sessionData?.refreshToken) {\n return;\n }\n const strategy = this.authStrategyRegistry.get(sessionData.strategy);\n if (!strategy) {\n reject();\n throw new Error(`Authentication strategy '${sessionData.strategy}' is not found`);\n }\n const result = await strategy.refreshToken(this.getContext());\n if (result.succeed) {\n this.setSession(result.data as AXPSessionData);\n resolve(result.data?.accessToken);\n } else {\n this.clearSession();\n this.status.next(AXPSessionStatus.Expired);\n }\n });\n }\n\n async setTenant(tenant: AXPTenant | null): Promise<void> {\n defaultIfEmpty;\n this.currentTenantSubject.next(tenant);\n if (tenant) {\n this.updateSession({ tenant: tenant });\n await this.refreshToken();\n }\n }\n\n async setApplication(application: AXPApplication | null): Promise<void> {\n this.currentApplicationSubject.next(application);\n if (application) {\n this.updateSession({ application: application });\n await this.refreshToken();\n }\n }\n\n private async loadPermissions(): Promise<void> {\n try {\n const permissions = await firstValueFrom(this.permissionLoader.getList(this.getContext()));\n this.permissionsSubject.next(permissions ?? []);\n this.store.dispatch(AXPSignInAction());\n } catch (error) {\n console.error('Error loading permissions:', error);\n this.permissionsSubject.next([]);\n }\n }\n\n private async loadFeatures(): Promise<void> {\n try {\n const features = await firstValueFrom(this.featureLoader.getList(this.getContext()));\n this.featuresSubject.next(features ?? []);\n } catch (error) {\n console.error('Error loading features:', error);\n this.featuresSubject.next([]);\n }\n }\n\n async signInComplete() {\n await this.loadPermissions();\n await this.loadFeatures();\n this.status.next(AXPSessionStatus.Authorized);\n }\n\n private setSession(tokens: Partial<AXPSessionData>): void {\n const sessionData: Partial<AXPSessionData> = {\n accessToken: tokens.accessToken,\n refreshToken: tokens.refreshToken,\n strategy: tokens.strategy,\n user: this.user,\n application: tokens.application,\n tenant: tokens.tenant,\n expiresIn: tokens.expiresIn,\n idToken: tokens.idToken,\n };\n this.updateSession(sessionData);\n }\n\n private updateSession(update: Partial<AXPSessionData>) {\n const currentSession = this.getSessionData() ?? {};\n const updatedSession = merge({}, currentSession, update);\n localStorage.setItem(AXPSessionService.SESSION_KEY, JSON.stringify(updatedSession));\n }\n\n public getSessionData(): AXPSessionData | null {\n const sessionDataString = localStorage.getItem(AXPSessionService.SESSION_KEY);\n return sessionDataString ? JSON.parse(sessionDataString) : null;\n }\n\n private clearSession(): void {\n //\n this.currentUserSubject.next(null);\n //\n this.setTenant(null);\n //\n this.setApplication(null);\n //\n this.permissionsSubject.next([]);\n //\n this.featuresSubject.next([]);\n //\n localStorage.removeItem(AXPSessionService.SESSION_KEY);\n }\n\n public authorize(...keys: string[]): boolean {\n return keys.every((k) => isEmpty(k) || this.permissions.indexOf(k) > -1);\n }\n\n public isFeatureEnabled(...keys: string[]): boolean {\n return keys.every((k) => isEmpty(k) || this.features.some((c) => c.name == k && c.value == true));\n }\n\n public getToken(): string | undefined {\n const sessionData = this.getSessionData();\n\n return sessionData?.accessToken;\n }\n\n private checkTokenValidation(): boolean {\n let sessionData = this.getSessionData();\n\n if (sessionData && sessionData?.accessToken && sessionData.expiresIn) {\n const expiresInDate = new Date(sessionData.expiresIn);\n if (expiresInDate > new Date()) {\n // Token is still valid\n return true;\n }\n }\n return false;\n }\n\n private getContext(): AXPSessionContext {\n return new AXPSessionContext({\n user: this.user,\n tenant: this.tenant,\n application: this.application,\n });\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { first, map, tap } from 'rxjs';\nimport { AXPUnauthorizedError } from '../errors.types';\nimport { AXPSessionService } from '../session.service';\nimport { AXPSessionStatus } from '../session.types';\n\nexport const AXPPermissionGuard: CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n\n const sessionService = inject(AXPSessionService);\n\n const permissionKeys = route.data['requiredPermission'] as string | string[] | null;\n\n return sessionService.isAuthorized$.pipe(\n first(),\n map((value) => {\n const keys: string[] = !permissionKeys ? [] : Array.isArray(permissionKeys) ? permissionKeys : [permissionKeys];\n const hasPermission = keys.length == 0 || sessionService.authorize(...keys);\n if (!hasPermission) {\n throw new AXPUnauthorizedError(\n `Access denied. Required permissions: ${keys.join(', ')}. Please contact your administrator if you believe this is an error.`,\n {\n redirectUrl: state.url\n }\n );\n }\n return true;\n })\n );\n};\n","import { Directive, Input, TemplateRef, ViewContainerRef, inject, signal } from '@angular/core';\nimport { Subscription, first } from 'rxjs';\nimport { AXPSessionService } from '../session.service';\n\n@Directive({\n selector: '[permission]',\n standalone: false\n})\nexport class AXPPermissionDirective {\n private hasView = signal(false);\n private subscription!: Subscription;\n private sessionService = inject(AXPSessionService);\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) { }\n\n @Input()\n public set permission(permissionKeys: string | string[] | null) {\n const keys: string[] = !permissionKeys ? [] : (Array.isArray(permissionKeys) ? permissionKeys : [permissionKeys]);\n if (keys.length == 0) {\n // If permissionKey is null or empty, decide the default behavior here\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n return;\n }\n this.subscription = this.sessionService.isAuthorized$\n .subscribe((isAuthorized) => {\n if (isAuthorized && this.sessionService.authorize(...keys)) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n }\n } else {\n this.viewContainer.clear();\n this.hasView.set(false);\n }\n });\n }\n\n @Input()\n public set permissionElse(elseTemplateRef: TemplateRef<any>) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(elseTemplateRef);\n }\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot } from '@angular/router';\nimport { first, map } from 'rxjs';\nimport { AXPUnauthenticatedError } from './errors.types';\nimport { AXPSessionService } from './session.service';\n\nexport const AXPAuthGuard: CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const sessionService = inject(AXPSessionService);\n return sessionService.isAuthenticated$.pipe(\n first(),\n map((value) => {\n if (value) {\n return true;\n }\n throw new AXPUnauthenticatedError(\n `Access denied. You are not currently logged in. Please log in to access this page. If you continue to see this message after logging in, please contact support.`,\n {\n redirectUrl: state.url,\n }\n );\n })\n );\n};\n","import { Inject, ModuleWithProviders, NgModule, Optional, inject, provideAppInitializer } from '@angular/core';\nimport { AXPAuthStrategyRegistryService } from './auth-registry.service';\nimport { AXPAuthStrategy } from './auth.strategy';\nimport { AXPFeatureDirective } from './feature';\nimport { AXPPermissionDirective } from './permission/permission.directive';\nimport { AXPSessionService } from './session.service';\n\nexport interface AXPAuthModuleConfigs {\n strategies: (new () => AXPAuthStrategy)[];\n}\n\nexport function initializeAppState(service: AXPSessionService) {\n return async () => {\n try {\n await service.restoreSession();\n } catch (error) {\n console.error(error);\n }\n };\n}\n\n@NgModule({\n imports: [],\n exports: [AXPPermissionDirective, AXPFeatureDirective],\n declarations: [AXPPermissionDirective, AXPFeatureDirective],\n providers: [\n provideAppInitializer(() => {\n const initializerFn = (initializeAppState)(inject(AXPSessionService));\n return initializerFn();\n }),\n ],\n})\nexport class AXPAuthModule {\n static forRoot(configs?: AXPAuthModuleConfigs): ModuleWithProviders<AXPAuthModule> {\n return {\n ngModule: AXPAuthModule,\n providers: [\n ...(configs?.strategies || []),\n {\n provide: 'AXPAuthModuleFactory',\n useFactory: (registry: AXPAuthStrategyRegistryService) => () => {\n registry.register(...(configs?.strategies || []));\n },\n deps: [AXPAuthStrategyRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n static forChild(configs?: AXPAuthModuleConfigs): ModuleWithProviders<AXPAuthModule> {\n return {\n ngModule: AXPAuthModule,\n providers: [\n ...(configs?.strategies || []),\n {\n provide: 'AXPAuthModuleFactory',\n useFactory: (registry: AXPAuthStrategyRegistryService) => () => {\n registry.register(...(configs?.strategies || []));\n },\n deps: [AXPAuthStrategyRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPAuthModuleFactory') instances: any[]) {\n instances?.forEach((f) => {\n f();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -9,27 +9,8 @@ import { AXImageModule } from '@acorex/components/image';
9
9
  import * as i3 from '@acorex/components/loading';
10
10
  import { AXLoadingModule } from '@acorex/components/loading';
11
11
  import * as i0 from '@angular/core';
12
- import { inject, ChangeDetectionStrategy, Component } from '@angular/core';
12
+ import { inject, Component, ChangeDetectionStrategy } from '@angular/core';
13
13
  import { AXPWidgetEditBase, AXPDataProvider } from './acorex-platform-common.mjs';
14
- import 'lodash-es';
15
- import '@acorex/components/popup';
16
- import '@acorex/components/toast';
17
- import '@acorex/core/date-time';
18
- import '@acorex/platform/workflow';
19
- import '@angular/router';
20
- import '@ngrx/effects';
21
- import '@acorex/platform/core';
22
- import 'dexie';
23
- import 'rxjs';
24
- import '@ngrx/store';
25
- import '@acorex/core/translation';
26
- import '@angular/common';
27
- import '@ngrx/signals';
28
- import '@acorex/components/skeleton';
29
- import '@angular/cdk/portal';
30
- import '@acorex/components/data-table';
31
- import '@acorex/core/utils';
32
- import '@acorex/core/format';
33
14
 
34
15
  class AXPAvatarWidgetEditComponent extends AXPWidgetEditBase {
35
16
  constructor() {
@@ -102,8 +83,8 @@ class AXPAvatarWidgetEditComponent extends AXPWidgetEditBase {
102
83
  console.error('Failed to load image by ID:', error);
103
84
  }
104
85
  }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAvatarWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPAvatarWidgetEditComponent, isStandalone: true, selector: "axp-number-widget-edit", usesInheritance: true, ngImport: i0, template: `
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPAvatarWidgetEditComponent, isStandalone: true, selector: "axp-number-widget-edit", usesInheritance: true, ngImport: i0, template: `
107
88
  <div class="ax-w-fit ax-flex flex-row ax-border ax-rounded-lg ax-shadow-md ax-overflow-hidden">
108
89
  @if(src){
109
90
  <ax-avatar color="secondary" [size]="120" look="sharp">
@@ -138,7 +119,7 @@ class AXPAvatarWidgetEditComponent extends AXPWidgetEditBase {
138
119
  </div>
139
120
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i1.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
140
121
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAvatarWidgetEditComponent, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetEditComponent, decorators: [{
142
123
  type: Component,
143
124
  args: [{
144
125
  selector: 'axp-number-widget-edit',
@@ -176,11 +157,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
176
157
  </div>
177
158
  </div>
178
159
  `,
179
- standalone: true,
180
160
  changeDetection: ChangeDetectionStrategy.OnPush,
181
- imports: [AXAvatarModule, AXImageModule, AXLoadingModule, AXButtonModule, AXDecoratorModule],
161
+ imports: [AXAvatarModule, AXImageModule, AXLoadingModule, AXButtonModule, AXDecoratorModule]
182
162
  }]
183
163
  }] });
184
164
 
185
165
  export { AXPAvatarWidgetEditComponent };
186
- //# sourceMappingURL=acorex-platform-common-avatar-widget-edit.component-DtC2IaE8.mjs.map
166
+ //# sourceMappingURL=acorex-platform-common-avatar-widget-edit.component-syRKKn21.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-common-avatar-widget-edit.component-syRKKn21.mjs","sources":["../../../../libs/platform/common/src/lib/schema/widgets/avatar/avatar-widget-edit.component.ts"],"sourcesContent":["import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\n// import { FakePersonService } from '@acorex/platform/mocks';\nimport { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\nimport { AXPDataProvider } from '../../../data';\nimport { AXPWidgetEditBase } from '../../widget';\n\n@Component({\n selector: 'axp-number-widget-edit',\n template: `\n <div class=\"ax-w-fit ax-flex flex-row ax-border ax-rounded-lg ax-shadow-md ax-overflow-hidden\">\n @if(src){\n <ax-avatar color=\"secondary\" [size]=\"120\" look=\"sharp\">\n <ax-image [src]=\"src\">\n <ax-loading></ax-loading>\n </ax-image>\n </ax-avatar>\n } @else {\n <ax-avatar color=\"secondary\" [size]=\"120\" look=\"sharp\">\n <ax-loading></ax-loading>\n </ax-avatar>\n }\n <div class=\"ax-flex ax-w-14 ax-flex-col ax-items-center ax-justify-around ax-cursor-pointer ax-border-l-2\">\n <div\n (click)=\"handleAddItem()\"\n class=\"ax-h-[50%] ax-flex ax-items-center ax-justify-center ax-w-full ax-border-b-2 hover:ax-bg-gray-100 hover:ax-text-blue-700 ax-cursor-pointer\"\n >\n <ax-icon>\n <i class=\"fa-solid fa-camera\"></i>\n </ax-icon>\n </div>\n\n <div\n (click)=\"handleRemoveItem(src)\"\n class=\"ax-h-[50%] ax-flex ax-items-center ax-justify-center ax-w-full ax-cursor-pointer hover:ax-bg-gray-100\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-trash ax-text-danger\"></i>\n </ax-prefix>\n </div>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXAvatarModule, AXImageModule, AXLoadingModule, AXButtonModule, AXDecoratorModule]\n})\nexport class AXPAvatarWidgetEditComponent extends AXPWidgetEditBase implements OnInit {\n dataService = inject(AXPDataProvider);\n private dialogService = inject(AXDialogService);\n protected src!: string | null;\n\n ngOnInit() {\n this.render();\n }\n override render() {\n const rawValue = this.rawValue;\n if (rawValue == null) return;\n this.loadImageById(rawValue);\n }\n\n protected handleRemoveItem(item: any) {\n this.src = null;\n this.value = null;\n }\n\n protected async handleAddItem() {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = 'image/*';\n input.click();\n input.addEventListener(\n 'change',\n async () => {\n const file = input.files?.[0];\n if (file) {\n const maxSize = 1 * 1024 * 1024; // Example size limit: 1MB\n const maxResolution = { width: 1920, height: 1080 }; // Example resolution limit\n\n if (file.size > maxSize) {\n this.dialogService.alert(\n 'File too large!',\n `The selected file exceeds the maximum size of ${maxSize / (1024 * 1024)}MB.`,\n 'warning'\n );\n return;\n }\n\n const image = new Image();\n image.src = URL.createObjectURL(file);\n image.onload = async () => {\n const { width, height } = image;\n\n if (width > maxResolution.width || height > maxResolution.height) {\n this.dialogService.alert(\n 'Resolution too high!',\n `The selected file exceeds the maximum resolution of ${maxResolution.width}x${maxResolution.height}.`,\n 'warning'\n );\n return;\n }\n\n // If file size and resolution are within limits, proceed with upload\n try {\n let resolved;\n if (this.rawValue) {\n resolved = await this.dataService.updateFile(this.rawValue, file, file.name);\n } else {\n resolved = await this.dataService.uploadFile(file, file.name);\n }\n console.log('resolved', resolved);\n this.src = URL.createObjectURL(file); // Show the image temporarily\n this.value = resolved; // Store the file ID\n } catch (error) {\n this.dialogService.alert('Something went wrong!', `${error}`, 'warning');\n }\n };\n }\n },\n { once: true }\n );\n }\n\n private async loadImageById(fileId: string) {\n try {\n const blob = await this.dataService.viewFile(fileId, '');\n this.src = URL.createObjectURL(blob);\n this.cdr.markForCheck(); // Explicitly mark for check since OnPush is used\n } catch (error) {\n console.error('Failed to load image by ID:', error);\n }\n }\n}\n"],"names":["i4"],"mappings":"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"}
@@ -5,29 +5,8 @@ import { AXImageModule } from '@acorex/components/image';
5
5
  import * as i3 from '@acorex/components/loading';
6
6
  import { AXLoadingModule } from '@acorex/components/loading';
7
7
  import * as i0 from '@angular/core';
8
- import { inject, ChangeDetectionStrategy, Component } from '@angular/core';
8
+ import { inject, Component, ChangeDetectionStrategy } from '@angular/core';
9
9
  import { AXPWidgetBase, AXPDataProvider } from './acorex-platform-common.mjs';
10
- import 'lodash-es';
11
- import '@acorex/components/popup';
12
- import '@acorex/components/toast';
13
- import '@acorex/core/date-time';
14
- import '@acorex/platform/workflow';
15
- import '@angular/router';
16
- import '@ngrx/effects';
17
- import '@acorex/platform/core';
18
- import 'dexie';
19
- import 'rxjs';
20
- import '@ngrx/store';
21
- import '@acorex/components/dialog';
22
- import '@acorex/core/translation';
23
- import '@acorex/components/decorators';
24
- import '@angular/common';
25
- import '@ngrx/signals';
26
- import '@acorex/components/skeleton';
27
- import '@angular/cdk/portal';
28
- import '@acorex/components/data-table';
29
- import '@acorex/core/utils';
30
- import '@acorex/core/format';
31
10
 
32
11
  class AXPAvatarWidgetViewComponent extends AXPWidgetBase {
33
12
  constructor() {
@@ -53,8 +32,8 @@ class AXPAvatarWidgetViewComponent extends AXPWidgetBase {
53
32
  console.error('Failed to load image by ID:', error);
54
33
  }
55
34
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAvatarWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPAvatarWidgetViewComponent, isStandalone: true, selector: "ax-Avatar-widget-view", inputs: { context: "context", value: "value" }, usesInheritance: true, ngImport: i0, template: ` @if(src){<ax-avatar class="ax-shadow-" color="secondary" [size]="120" look="soft">
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPAvatarWidgetViewComponent, isStandalone: true, selector: "ax-Avatar-widget-view", inputs: { context: "context", value: "value" }, usesInheritance: true, ngImport: i0, template: ` @if(src){<ax-avatar class="ax-shadow-" color="secondary" [size]="120" look="soft">
58
37
  <ax-image [src]="src"> <ax-loading></ax-loading></ax-image>
59
38
  </ax-avatar>
60
39
  } @else {
@@ -63,7 +42,7 @@ class AXPAvatarWidgetViewComponent extends AXPWidgetBase {
63
42
  </ax-avatar>
64
43
  }`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i1.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
65
44
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAvatarWidgetViewComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetViewComponent, decorators: [{
67
46
  type: Component,
68
47
  args: [{
69
48
  selector: 'ax-Avatar-widget-view',
@@ -75,12 +54,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
75
54
  <ax-loading></ax-loading>
76
55
  </ax-avatar>
77
56
  }`,
78
- standalone: true,
79
57
  changeDetection: ChangeDetectionStrategy.OnPush,
80
58
  imports: [AXAvatarModule, AXImageModule, AXLoadingModule],
81
- inputs: ['context', 'value'],
59
+ inputs: ['context', 'value']
82
60
  }]
83
61
  }] });
84
62
 
85
63
  export { AXPAvatarWidgetViewComponent };
86
- //# sourceMappingURL=acorex-platform-common-avatar-widget-view.component-BOIV0Be1.mjs.map
64
+ //# sourceMappingURL=acorex-platform-common-avatar-widget-view.component-DSju_bgg.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-common-avatar-widget-view.component-DSju_bgg.mjs","sources":["../../../../libs/platform/common/src/lib/schema/widgets/avatar/avatar-widget-view.component.ts"],"sourcesContent":["import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\nimport { AXPDataProvider } from '../../../data';\nimport { AXPWidgetBase } from '../../widget/widget-base';\n@Component({\n selector: 'ax-Avatar-widget-view',\n template: ` @if(src){<ax-avatar class=\"ax-shadow-\" color=\"secondary\" [size]=\"120\" look=\"soft\">\n <ax-image [src]=\"src\"> <ax-loading></ax-loading></ax-image>\n </ax-avatar>\n } @else {\n <ax-avatar color=\"secondary\" [size]=\"120\" look=\"sharp\">\n <ax-loading></ax-loading>\n </ax-avatar>\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXAvatarModule, AXImageModule, AXLoadingModule],\n inputs: ['context', 'value']\n})\nexport class AXPAvatarWidgetViewComponent extends AXPWidgetBase implements OnInit {\n protected src!: string;\n dataService = inject(AXPDataProvider);\n\n ngOnInit() {\n this.render();\n }\n override render() {\n const rawValue = this.rawValue;\n if (rawValue == null) return;\n this.loadImageById(rawValue);\n }\n\n private async loadImageById(fileId: string) {\n try {\n const blob = await this.dataService.viewFile(fileId, '');\n this.src = URL.createObjectURL(blob);\n this.cdr.markForCheck(); // Explicitly mark for check since OnPush is used\n } catch (error) {\n console.error('Failed to load image by ID:', error);\n }\n }\n}\n"],"names":[],"mappings":"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"}