@acorex/modules 21.0.0-next.57 → 21.0.0-next.63

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 (171) hide show
  1. package/assessment-management/README.md +4 -4
  2. package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-DlhSQ0cB.mjs} +3657 -422
  3. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DlhSQ0cB.mjs.map +1 -0
  4. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-D880d_qz.mjs → acorex-modules-assessment-management-assessment-case.entity-B6C2PRZw.mjs} +93 -82
  5. package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-B6C2PRZw.mjs.map +1 -0
  6. package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-BRdwcIvw.mjs +47 -0
  7. package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-BRdwcIvw.mjs.map +1 -0
  8. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-DvbocIN1.mjs → acorex-modules-assessment-management-assessment-session.entity-DquzZNaQ.mjs} +22 -42
  9. package/fesm2022/acorex-modules-assessment-management-assessment-session.entity-DquzZNaQ.mjs.map +1 -0
  10. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-BMJ54EPO.mjs → acorex-modules-assessment-management-fill-assessment-session.command-CRE8SxzC.mjs} +32 -7
  11. package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-CRE8SxzC.mjs.map +1 -0
  12. package/fesm2022/{acorex-modules-assessment-management-preview-question.command-CO8NfjEb.mjs → acorex-modules-assessment-management-preview-question.command-Ce7yOnJY.mjs} +2 -2
  13. package/fesm2022/acorex-modules-assessment-management-preview-question.command-Ce7yOnJY.mjs.map +1 -0
  14. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-DSzbtU0e.mjs → acorex-modules-assessment-management-preview-questionnaire.command-S-8MDeB7.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-DSzbtU0e.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-S-8MDeB7.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DbvxAUgb.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-wdHMGBxi.mjs} +2 -2
  17. package/fesm2022/acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-wdHMGBxi.mjs.map +1 -0
  18. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-DBfQhSKR.mjs → acorex-modules-assessment-management-question-bank-item.entity-1Pm9O0kv.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-DBfQhSKR.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-1Pm9O0kv.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-CH_cJlSf.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-Dwx0y7WY.mjs} +36 -65
  21. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-Dwx0y7WY.mjs.map +1 -0
  22. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CrryBMC2.mjs → acorex-modules-assessment-management-questionnaire.entity-BI_jc4C6.mjs} +12 -36
  23. package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-BI_jc4C6.mjs.map +1 -0
  24. package/fesm2022/acorex-modules-assessment-management-view-case-last-session-answers.command-Ds-QGMPy.mjs +157 -0
  25. package/fesm2022/acorex-modules-assessment-management-view-case-last-session-answers.command-Ds-QGMPy.mjs.map +1 -0
  26. package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-COTVoRRG.mjs +172 -0
  27. package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-COTVoRRG.mjs.map +1 -0
  28. package/fesm2022/acorex-modules-assessment-management-view-session-outcomes.command-2buH7ydV.mjs +239 -0
  29. package/fesm2022/acorex-modules-assessment-management-view-session-outcomes.command-2buH7ydV.mjs.map +1 -0
  30. package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
  31. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-wfCSNwXC.mjs → acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs} +39 -30
  32. package/fesm2022/acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs.map +1 -0
  33. package/fesm2022/{acorex-modules-auth-app-chooser.component-BY281-Cl.mjs → acorex-modules-auth-app-chooser.component-BEktaBWD.mjs} +2 -2
  34. package/fesm2022/{acorex-modules-auth-app-chooser.component-BY281-Cl.mjs.map → acorex-modules-auth-app-chooser.component-BEktaBWD.mjs.map} +1 -1
  35. package/fesm2022/{acorex-modules-auth-login.module-CjgYlyOv.mjs → acorex-modules-auth-login.module-aAwHzXPj.mjs} +4 -4
  36. package/fesm2022/{acorex-modules-auth-login.module-CjgYlyOv.mjs.map → acorex-modules-auth-login.module-aAwHzXPj.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-auth-master.layout-Clx8QDYW.mjs → acorex-modules-auth-master.layout-BapDYFZ_.mjs} +2 -2
  38. package/fesm2022/{acorex-modules-auth-master.layout-Clx8QDYW.mjs.map → acorex-modules-auth-master.layout-BapDYFZ_.mjs.map} +1 -1
  39. package/fesm2022/{acorex-modules-auth-oauth-callback.component-CGnGAPJ2.mjs → acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs} +2 -2
  40. package/fesm2022/{acorex-modules-auth-oauth-callback.component-CGnGAPJ2.mjs.map → acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs.map} +1 -1
  41. package/fesm2022/{acorex-modules-auth-password.component-8eEX0lRP.mjs → acorex-modules-auth-password.component-DB-ac0Rn.mjs} +2 -2
  42. package/fesm2022/{acorex-modules-auth-password.component-8eEX0lRP.mjs.map → acorex-modules-auth-password.component-DB-ac0Rn.mjs.map} +1 -1
  43. package/fesm2022/{acorex-modules-auth-password.component-CUxwThnN.mjs → acorex-modules-auth-password.component-cPmwNpuq.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-auth-password.component-CUxwThnN.mjs.map → acorex-modules-auth-password.component-cPmwNpuq.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-auth-routes-CYLKJm9g.mjs → acorex-modules-auth-routes-r72zIRTa.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-auth-routes-CYLKJm9g.mjs.map → acorex-modules-auth-routes-r72zIRTa.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-DDK1KW-8.mjs → acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-DDK1KW-8.mjs.map → acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-auth-two-factor.module-Iw2U7Cy5.mjs → acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs} +2 -2
  50. package/fesm2022/{acorex-modules-auth-two-factor.module-Iw2U7Cy5.mjs.map → acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-auth-user-sessions.component-sKDANprs.mjs → acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-auth-user-sessions.component-sKDANprs.mjs.map → acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs.map} +1 -1
  53. package/fesm2022/acorex-modules-auth.mjs +1 -1
  54. package/fesm2022/acorex-modules-common.mjs +8 -3
  55. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  56. package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-DlteA_jC.mjs → acorex-modules-conversation-acorex-modules-conversation-DkdNLMKa.mjs} +8 -7
  57. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DkdNLMKa.mjs.map +1 -0
  58. package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-BAgBuxlz.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-VKPbkRqI.mjs} +2 -2
  59. package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-BAgBuxlz.mjs.map → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-VKPbkRqI.mjs.map} +1 -1
  60. package/fesm2022/{acorex-modules-conversation-comments-page.component-BrwP9l7M.mjs → acorex-modules-conversation-comments-page.component-ehUCjoFD.mjs} +2 -2
  61. package/fesm2022/{acorex-modules-conversation-comments-page.component-BrwP9l7M.mjs.map → acorex-modules-conversation-comments-page.component-ehUCjoFD.mjs.map} +1 -1
  62. package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-BzKawEoN.mjs → acorex-modules-conversation-send-assist-chat-message.command-ZNcVi54N.mjs} +2 -2
  63. package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-BzKawEoN.mjs.map → acorex-modules-conversation-send-assist-chat-message.command-ZNcVi54N.mjs.map} +1 -1
  64. package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-BUOGUMl0.mjs → acorex-modules-conversation-start-assist-chat.command-CX6lm1lG.mjs} +2 -2
  65. package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-BUOGUMl0.mjs.map → acorex-modules-conversation-start-assist-chat.command-CX6lm1lG.mjs.map} +1 -1
  66. package/fesm2022/acorex-modules-conversation.mjs +1 -1
  67. package/fesm2022/acorex-modules-customer-management.mjs +2 -0
  68. package/fesm2022/acorex-modules-customer-management.mjs.map +1 -1
  69. package/fesm2022/acorex-modules-data-management.mjs +6 -5
  70. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  71. package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-Bfjo-ENr.mjs → acorex-modules-help-desk-acorex-modules-help-desk-DVlO9JZw.mjs} +3 -2
  72. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-DVlO9JZw.mjs.map +1 -0
  73. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CsACFkPq.mjs → acorex-modules-help-desk-capture-screen.component-rNPehEf8.mjs} +2 -2
  74. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CsACFkPq.mjs.map → acorex-modules-help-desk-capture-screen.component-rNPehEf8.mjs.map} +1 -1
  75. package/fesm2022/acorex-modules-help-desk.mjs +1 -1
  76. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-XhV2JQXs.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs} +131 -112
  77. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs.map +1 -0
  78. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-Cre30Kp7.mjs → acorex-modules-human-capital-management-approve-leave-request.command-Bh_Bbq5-.mjs} +2 -2
  79. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-Cre30Kp7.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-Bh_Bbq5-.mjs.map} +1 -1
  80. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-NYgddiaD.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-BpDdDG9i.mjs} +2 -2
  81. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-NYgddiaD.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-BpDdDG9i.mjs.map} +1 -1
  82. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DPh-KQgN.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-CjtKaKFw.mjs} +2 -2
  83. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DPh-KQgN.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-CjtKaKFw.mjs.map} +1 -1
  84. package/fesm2022/{acorex-modules-human-capital-management-employee.entity-znCbbQUd.mjs → acorex-modules-human-capital-management-employee.entity-Cx_oY2aK.mjs} +8 -8
  85. package/fesm2022/acorex-modules-human-capital-management-employee.entity-Cx_oY2aK.mjs.map +1 -0
  86. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DUNB3zAB.mjs → acorex-modules-human-capital-management-employment-type.entity-B20Taa5x.mjs} +2 -2
  87. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DUNB3zAB.mjs.map → acorex-modules-human-capital-management-employment-type.entity-B20Taa5x.mjs.map} +1 -1
  88. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-JyFrrCGE.mjs → acorex-modules-human-capital-management-leave-request.entity-BO8QXpZE.mjs} +2 -2
  89. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-JyFrrCGE.mjs.map → acorex-modules-human-capital-management-leave-request.entity-BO8QXpZE.mjs.map} +1 -1
  90. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-B61MiEPu.mjs → acorex-modules-human-capital-management-leave-type.entity-CQwSWqSh.mjs} +2 -2
  91. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-B61MiEPu.mjs.map → acorex-modules-human-capital-management-leave-type.entity-CQwSWqSh.mjs.map} +1 -1
  92. package/fesm2022/{acorex-modules-human-capital-management-lifecycle-process-type.entity-DJqo2kTG.mjs → acorex-modules-human-capital-management-lifecycle-event-type.entity-BPWJrvbN.mjs} +13 -13
  93. package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-BPWJrvbN.mjs.map +1 -0
  94. package/fesm2022/{acorex-modules-human-capital-management-employee-lifecycle-process.entity-LX68KORg.mjs → acorex-modules-human-capital-management-lifecycle-event.entity-ZZuPu9KQ.mjs} +45 -56
  95. package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-ZZuPu9KQ.mjs.map +1 -0
  96. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-CKCC6bKg.mjs → acorex-modules-human-capital-management-position-assignment.entity-BN1y0qhi.mjs} +2 -2
  97. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-CKCC6bKg.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-BN1y0qhi.mjs.map} +1 -1
  98. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Blv08UQZ.mjs → acorex-modules-human-capital-management-reject-leave-request.command-LczqOHP-.mjs} +2 -2
  99. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Blv08UQZ.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-LczqOHP-.mjs.map} +1 -1
  100. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-lgEAbxYH.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-Dm8YacDI.mjs} +2 -2
  101. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-lgEAbxYH.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-Dm8YacDI.mjs.map} +1 -1
  102. package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-DPwuyFz2.mjs +237 -0
  103. package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-DPwuyFz2.mjs.map +1 -0
  104. package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
  105. package/fesm2022/{acorex-modules-learning-management-enrollment.entity-B53AQq_9.mjs → acorex-modules-learning-management-enrollment.entity-CdJafrUh.mjs} +4 -22
  106. package/fesm2022/acorex-modules-learning-management-enrollment.entity-CdJafrUh.mjs.map +1 -0
  107. package/fesm2022/acorex-modules-learning-management.mjs +1 -1
  108. package/fesm2022/acorex-modules-learning-management.mjs.map +1 -1
  109. package/fesm2022/acorex-modules-location-management.mjs +1 -0
  110. package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
  111. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-5DJoQkx2.mjs → acorex-modules-platform-management-acorex-modules-platform-management-Cbf1rlEK.mjs} +4 -4
  112. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-5DJoQkx2.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-Cbf1rlEK.mjs.map} +1 -1
  113. package/fesm2022/{acorex-modules-platform-management-menu-list.component-C3WBYbOt.mjs → acorex-modules-platform-management-menu-list.component-DIf_-oaM.mjs} +2 -2
  114. package/fesm2022/{acorex-modules-platform-management-menu-list.component-C3WBYbOt.mjs.map → acorex-modules-platform-management-menu-list.component-DIf_-oaM.mjs.map} +1 -1
  115. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  116. package/fesm2022/acorex-modules-security-management.mjs +3 -0
  117. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  118. package/fesm2022/acorex-modules-supplier-management.mjs +1 -0
  119. package/fesm2022/acorex-modules-supplier-management.mjs.map +1 -1
  120. package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-CrybKNgo.mjs → acorex-modules-task-management-acorex-modules-task-management--mdNdYIs.mjs} +32 -2
  121. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management--mdNdYIs.mjs.map +1 -0
  122. package/fesm2022/{acorex-modules-task-management-task-board.page-B2xxXscG.mjs → acorex-modules-task-management-task-board.page-BIZ1qH7m.mjs} +33 -3
  123. package/fesm2022/acorex-modules-task-management-task-board.page-BIZ1qH7m.mjs.map +1 -0
  124. package/fesm2022/acorex-modules-task-management.mjs +1 -1
  125. package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-OLbCD-7P.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-B4DLmioy.mjs} +3 -3
  126. package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-OLbCD-7P.mjs.map → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-B4DLmioy.mjs.map} +1 -1
  127. package/fesm2022/{acorex-modules-workflow-management-index-RRzkvrNM.mjs → acorex-modules-workflow-management-index-BhVZ1Bcw.mjs} +3 -3
  128. package/fesm2022/{acorex-modules-workflow-management-index-RRzkvrNM.mjs.map → acorex-modules-workflow-management-index-BhVZ1Bcw.mjs.map} +1 -1
  129. package/fesm2022/{acorex-modules-workflow-management-index-Eh5DDK-V.mjs → acorex-modules-workflow-management-index-DC_9M9dk.mjs} +3 -3
  130. package/fesm2022/{acorex-modules-workflow-management-index-Eh5DDK-V.mjs.map → acorex-modules-workflow-management-index-DC_9M9dk.mjs.map} +1 -1
  131. package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs → acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs} +2 -2
  132. package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs.map → acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs.map} +1 -1
  133. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DjYDwHWU.mjs +255 -0
  134. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DjYDwHWU.mjs.map +1 -0
  135. package/fesm2022/acorex-modules-workflow-management.mjs +1819 -745
  136. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  137. package/package.json +2 -2
  138. package/types/acorex-modules-assessment-management.d.ts +387 -278
  139. package/types/acorex-modules-common.d.ts +2 -0
  140. package/types/acorex-modules-human-capital-management.d.ts +31 -30
  141. package/types/acorex-modules-learning-management.d.ts +0 -1
  142. package/types/acorex-modules-task-management.d.ts +41 -2
  143. package/types/acorex-modules-workflow-management.d.ts +280 -34
  144. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs.map +0 -1
  145. package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-D880d_qz.mjs.map +0 -1
  146. package/fesm2022/acorex-modules-assessment-management-assessment-session.entity-DvbocIN1.mjs.map +0 -1
  147. package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-BMJ54EPO.mjs.map +0 -1
  148. package/fesm2022/acorex-modules-assessment-management-index-XdJCIYG3.mjs +0 -1509
  149. package/fesm2022/acorex-modules-assessment-management-index-XdJCIYG3.mjs.map +0 -1
  150. package/fesm2022/acorex-modules-assessment-management-preview-question.command-CO8NfjEb.mjs.map +0 -1
  151. package/fesm2022/acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DbvxAUgb.mjs.map +0 -1
  152. package/fesm2022/acorex-modules-assessment-management-questionnaire-calculation.entity-CL9s20qR.mjs +0 -236
  153. package/fesm2022/acorex-modules-assessment-management-questionnaire-calculation.entity-CL9s20qR.mjs.map +0 -1
  154. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-CH_cJlSf.mjs.map +0 -1
  155. package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-CrryBMC2.mjs.map +0 -1
  156. package/fesm2022/acorex-modules-assessment-management-save-questionnaire-questions.command-Dq5VComh.mjs +0 -61
  157. package/fesm2022/acorex-modules-assessment-management-save-questionnaire-questions.command-Dq5VComh.mjs.map +0 -1
  158. package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-DpppXekm.mjs +0 -112
  159. package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-DpppXekm.mjs.map +0 -1
  160. package/fesm2022/acorex-modules-auth-acorex-modules-auth-wfCSNwXC.mjs.map +0 -1
  161. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DlteA_jC.mjs.map +0 -1
  162. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-Bfjo-ENr.mjs.map +0 -1
  163. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-XhV2JQXs.mjs.map +0 -1
  164. package/fesm2022/acorex-modules-human-capital-management-employee-lifecycle-process.entity-LX68KORg.mjs.map +0 -1
  165. package/fesm2022/acorex-modules-human-capital-management-employee.entity-znCbbQUd.mjs.map +0 -1
  166. package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-DJqo2kTG.mjs.map +0 -1
  167. package/fesm2022/acorex-modules-learning-management-enrollment.entity-B53AQq_9.mjs.map +0 -1
  168. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-CrybKNgo.mjs.map +0 -1
  169. package/fesm2022/acorex-modules-task-management-task-board.page-B2xxXscG.mjs.map +0 -1
  170. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DMszilef.mjs +0 -356
  171. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DMszilef.mjs.map +0 -1
@@ -1,2 +1,2 @@
1
- export { z as AXMAssessmentManagementEntityProvider, B as AXMAssessmentManagementFeatureDefinitionProvider, C as AXMAssessmentManagementFeatureKeys, D as AXMAssessmentManagementMenuProvider, E as AXMAssessmentManagementModule, F as AXMAssessmentManagementPermissionDefinitionProvider, G as AXMAssessmentManagementPermissionKeys, H as AXMAssessmentManagementSearchCommandProvider, I as AXMQuestionnaireViewerPageComponent, A as AXMQuestionnaireViewerService, J as AXMQuestionnaireViewerStandalonePageComponent, K as AXPAssessmentManagementMenuKeys, L as DEFAULT_POST_QUESTIONNAIRE_CONFIG, M as DEFAULT_PRE_QUESTIONNAIRE_CONFIG, N as DEFAULT_QUESTIONNAIRE_ENTITY_DISPLAY, O as DEFAULT_QUESTION_COMMENT_CONFIG, P as DEFAULT_QUESTION_HINT_CONFIG, R as RootConfig, o as diffQuestionCommentOverride, l as diffQuestionHintOverride, Q as getQuestionAnswerCommentStoragePath, m as mergeQuestionCommentConfig, f as mergeQuestionHintForViewer, w as normalizeCompletionMode, n as normalizeQuestionCommentConfig, k as normalizeQuestionHintConfig, e as normalizeQuestionHintFromEntityRow, j as normalizeQuestionHintMode, S as normalizeValidationStrategy, T as normalizeViewMode, p as parseQuestionHintPartialFromRecord, U as readHintFieldsFromRecord, y as resolveWidgetNodeFromMetaDataDefinitionInterface, x as stripQuestionBankInterfaceMetadata, t as toDisplaySettings, q as toPrePostConfig } from './acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs';
1
+ export { f as AXMAssessmentManagementEntityProvider, g as AXMAssessmentManagementFeatureDefinitionProvider, h as AXMAssessmentManagementFeatureKeys, i as AXMAssessmentManagementMenuProvider, j as AXMAssessmentManagementModule, k as AXMAssessmentManagementPermissionDefinitionProvider, l as AXMAssessmentManagementPermissionKeys, o as AXMAssessmentManagementSearchCommandProvider, q as AXMQuestionnaireViewerPageComponent, A as AXMQuestionnaireViewerService, u as AXMQuestionnaireViewerStandalonePageComponent, v as AXPAssessmentManagementMenuKeys, D as DEFAULT_POST_QUESTIONNAIRE_CONFIG, w as DEFAULT_PRE_QUESTIONNAIRE_CONFIG, x as DEFAULT_QUESTIONNAIRE_ENTITY_DISPLAY, y as DEFAULT_QUESTIONNAIRE_OUTCOMES, z as DEFAULT_QUESTION_COMMENT_CONFIG, B as DEFAULT_QUESTION_HINT_CONFIG, R as RootConfig, C as diffQuestionCommentOverride, E as diffQuestionHintOverride, F as findDuplicateOutcomeNames, G as flattenQuestionnaireOutcomeItems, H as getQuestionAnswerCommentStoragePath, I as isQuestionnaireOutcomeDisplayColorHex, J as matchesQuestionnaireOutcomeDisplayRule, K as mergeQuestionCommentConfig, L as mergeQuestionHintForViewer, n as normalizeCompletionMode, M as normalizeQuestionCommentConfig, N as normalizeQuestionHintConfig, O as normalizeQuestionHintFromEntityRow, P as normalizeQuestionHintMode, S as normalizeQuestionnaireOutcomeDisplayRules, T as normalizeQuestionnaireOutcomesValue, U as normalizeValidationStrategy, V as normalizeViewMode, W as parseQuestionHintPartialFromRecord, X as parseQuestionnaireOutcomeDisplayColor, Y as readHintFieldsFromRecord, r as resolveWidgetNodeFromMetaDataDefinitionInterface, s as stripQuestionBankInterfaceMetadata, e as toDisplaySettings, t as toPrePostConfig } from './acorex-modules-assessment-management-acorex-modules-assessment-management-DlhSQ0cB.mjs';
2
2
  //# sourceMappingURL=acorex-modules-assessment-management.mjs.map
@@ -3,7 +3,7 @@ import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
3
3
  import * as i1$3 from '@angular/common/http';
4
4
  import { HttpErrorResponse } from '@angular/common/http';
5
5
  import * as i0 from '@angular/core';
6
- import { inject, isDevMode, Injectable, InjectionToken, output, Component, viewChild, input, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, signal, NgModule } from '@angular/core';
6
+ import { inject, isDevMode, Injectable, InjectionToken, output, Component, viewChild, input, signal, computed, ChangeDetectionStrategy, ViewChild, ViewEncapsulation, NgModule } from '@angular/core';
7
7
  import * as i1$2 from '@angular/router';
8
8
  import { Router, RouterModule, ROUTES } from '@angular/router';
9
9
  import * as i1$5 from '@acorex/platform/common';
@@ -30,6 +30,7 @@ import * as i2$1 from '@acorex/core/translation';
30
30
  import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
31
31
  import * as i3$1 from '@acorex/components/search-box';
32
32
  import { AXSearchBoxModule } from '@acorex/components/search-box';
33
+ import { toSignal } from '@angular/core/rxjs-interop';
33
34
  import * as i1$1 from '@angular/forms';
34
35
  import { FormsModule } from '@angular/forms';
35
36
  import { first, Subject, timer, map, firstValueFrom } from 'rxjs';
@@ -132,22 +133,22 @@ const routes = [
132
133
  },
133
134
  {
134
135
  path: '',
135
- loadComponent: () => import('./acorex-modules-auth-master.layout-Clx8QDYW.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
136
- loadChildren: () => import('./acorex-modules-auth-login.module-CjgYlyOv.mjs').then((c) => c.AXPSignInModule),
136
+ loadComponent: () => import('./acorex-modules-auth-master.layout-BapDYFZ_.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
137
+ loadChildren: () => import('./acorex-modules-auth-login.module-aAwHzXPj.mjs').then((c) => c.AXPSignInModule),
137
138
  },
138
139
  {
139
140
  path: '',
140
- loadComponent: () => import('./acorex-modules-auth-master.layout-Clx8QDYW.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
141
- loadChildren: () => import('./acorex-modules-auth-two-factor.module-Iw2U7Cy5.mjs').then((c) => c.AXPTwoFactorModule),
141
+ loadComponent: () => import('./acorex-modules-auth-master.layout-BapDYFZ_.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
142
+ loadChildren: () => import('./acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs').then((c) => c.AXPTwoFactorModule),
142
143
  },
143
144
  {
144
145
  path: '',
145
- loadComponent: () => import('./acorex-modules-auth-master.layout-Clx8QDYW.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
146
- loadChildren: () => import('./acorex-modules-auth-routes-CYLKJm9g.mjs').then((c) => c),
146
+ loadComponent: () => import('./acorex-modules-auth-master.layout-BapDYFZ_.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
147
+ loadChildren: () => import('./acorex-modules-auth-routes-r72zIRTa.mjs').then((c) => c),
147
148
  },
148
149
  {
149
150
  path: 'axp-oauth-callback',
150
- loadComponent: () => import('./acorex-modules-auth-oauth-callback.component-CGnGAPJ2.mjs').then((c) => c.AXPOAuthCallbackComponent),
151
+ loadComponent: () => import('./acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs').then((c) => c.AXPOAuthCallbackComponent),
151
152
  },
152
153
  {
153
154
  path: 'account',
@@ -252,31 +253,36 @@ class AXPTenantChooserListComponent {
252
253
  this.strategy = this.authStrategyRegistry.get(this.strategyName);
253
254
  this.defaultLogo = new AXPIconLogoConfig('fa-solid fa-building', 'neutral-500');
254
255
  this.simple = input(false, ...(ngDevMode ? [{ debugName: "simple" }] : /* istanbul ignore next */ []));
255
- this.searchValue = '';
256
- this.showAll = false;
257
- this.selectedTenant = null;
258
- this.displayedTenants = [];
259
- this.tenants$ = this.sessionService.tenants$;
260
256
  this.tenantChosen = output();
257
+ //#region ---- Tenant List State ----
258
+ /** All tenants available to the signed-in user (loaded once from session). */
259
+ this.allTenants = toSignal(this.sessionService.tenants$, { initialValue: [] });
260
+ this.searchValue = signal('', ...(ngDevMode ? [{ debugName: "searchValue" }] : /* istanbul ignore next */ []));
261
+ this.showAll = signal(false, ...(ngDevMode ? [{ debugName: "showAll" }] : /* istanbul ignore next */ []));
262
+ this.selectedTenant = null;
263
+ /** Tenants shown in the list (respects search and view-all toggle). */
264
+ this.displayedTenants = computed(() => {
265
+ const tenants = this.filterTenants(this.allTenants());
266
+ if (this.showAll() || tenants.length <= 4) {
267
+ return tenants;
268
+ }
269
+ return tenants.slice(0, 4);
270
+ }, ...(ngDevMode ? [{ debugName: "displayedTenants" }] : /* istanbul ignore next */ []));
271
+ this.showSearchAndViewAll = computed(() => this.allTenants().length > 4, ...(ngDevMode ? [{ debugName: "showSearchAndViewAll" }] : /* istanbul ignore next */ []));
261
272
  }
262
- ngOnInit() {
263
- this.sessionService.tenants$.pipe(first()).subscribe((tenants) => {
264
- this.displayedTenants = tenants.slice(0, 4);
265
- this.allTenants = tenants;
266
- });
267
- }
273
+ //#endregion
274
+ //#region ---- UI Handlers ----
268
275
  filterTenants(tenants) {
269
- return tenants.filter((tenant) => tenant.title.toLowerCase().includes(this.searchValue.toLowerCase()));
276
+ const query = this.searchValue().toLowerCase();
277
+ return tenants.filter((tenant) => tenant.title.toLowerCase().includes(query));
270
278
  }
271
279
  handleSearch(event) {
272
280
  if (event != undefined) {
273
- this.searchValue = event;
274
- this.displayedTenants = this.filterTenants(this.allTenants);
281
+ this.searchValue.set(event);
275
282
  }
276
283
  }
277
284
  showAllTenants() {
278
- this.showAll = !this.showAll;
279
- this.displayedTenants = this.filterTenants(this.showAll ? this.allTenants : this.allTenants.slice(0, 4));
285
+ this.showAll.update((value) => !value);
280
286
  }
281
287
  async chooseTenant(item) {
282
288
  this.selectedTenant = item;
@@ -291,11 +297,11 @@ class AXPTenantChooserListComponent {
291
297
  return this.router.navigate(['/auth/account/app-chooser']);
292
298
  }
293
299
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPTenantChooserListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
294
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPTenantChooserListComponent, isStandalone: true, selector: "axp-tenant-chooser-list", inputs: { simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tenantChosen: "tenantChosen" }, ngImport: i0, template: "@if (simple()) {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of tenants$ | async; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n</div>\n} @else {\n@if (allTenants && allTenants.length > 4) {\n<ax-search-box [placeholder]=\"'@general:search.title' | translate | async\" [ngModel]=\"searchValue\"\n (ngModelChange)=\"handleSearch($event)\" class=\"ax-w-full\"><ax-clear-button></ax-clear-button></ax-search-box>\n<div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n} @else {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n}\n@if (allTenants && allTenants.length > 4) {\n<div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button (onClick)=\"showAllTenants()\" class=\"ax-w-full\" look=\"outline\" [text]=\"\n showAll\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"></ax-button>\n</div>\n}\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i3$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.AXTranslatorPipe, name: "translate" }] }); }
300
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPTenantChooserListComponent, isStandalone: true, selector: "axp-tenant-chooser-list", inputs: { simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tenantChosen: "tenantChosen" }, ngImport: i0, template: "@if (simple()) {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of allTenants(); track tenant.id) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n</div>\n} @else {\n@if (showSearchAndViewAll()) {\n<ax-search-box [placeholder]=\"'@general:search.title' | translate | async\" [ngModel]=\"searchValue()\"\n (ngModelChange)=\"handleSearch($event)\" class=\"ax-w-full\"><ax-clear-button></ax-clear-button></ax-search-box>\n<div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants(); track tenant.id) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n} @else {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants(); track tenant.id) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n}\n@if (showSearchAndViewAll()) {\n<div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button (onClick)=\"showAllTenants()\" class=\"ax-w-full\" look=\"outline\" [text]=\"\n showAll()\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"></ax-button>\n</div>\n}\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i3$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
295
301
  }
296
302
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPTenantChooserListComponent, decorators: [{
297
303
  type: Component,
298
- args: [{ selector: 'axp-tenant-chooser-list', imports: [CommonModule, FormsModule, AXTranslationModule, AXDecoratorModule, AXLoadingModule, AXPLogoComponent, AXSearchBoxModule, AXButtonModule], template: "@if (simple()) {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of tenants$ | async; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n</div>\n} @else {\n@if (allTenants && allTenants.length > 4) {\n<ax-search-box [placeholder]=\"'@general:search.title' | translate | async\" [ngModel]=\"searchValue\"\n (ngModelChange)=\"handleSearch($event)\" class=\"ax-w-full\"><ax-clear-button></ax-clear-button></ax-search-box>\n<div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n} @else {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n}\n@if (allTenants && allTenants.length > 4) {\n<div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button (onClick)=\"showAllTenants()\" class=\"ax-w-full\" look=\"outline\" [text]=\"\n showAll\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"></ax-button>\n</div>\n}\n}" }]
304
+ args: [{ selector: 'axp-tenant-chooser-list', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, AXTranslationModule, AXDecoratorModule, AXLoadingModule, AXPLogoComponent, AXSearchBoxModule, AXButtonModule], template: "@if (simple()) {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of allTenants(); track tenant.id) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n</div>\n} @else {\n@if (showSearchAndViewAll()) {\n<ax-search-box [placeholder]=\"'@general:search.title' | translate | async\" [ngModel]=\"searchValue()\"\n (ngModelChange)=\"handleSearch($event)\" class=\"ax-w-full\"><ax-clear-button></ax-clear-button></ax-search-box>\n<div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants(); track tenant.id) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n} @else {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants(); track tenant.id) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n}\n@if (showSearchAndViewAll()) {\n<div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button (onClick)=\"showAllTenants()\" class=\"ax-w-full\" look=\"outline\" [text]=\"\n showAll()\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"></ax-button>\n</div>\n}\n}\n" }]
299
305
  }], propDecorators: { simple: [{ type: i0.Input, args: [{ isSignal: true, alias: "simple", required: false }] }], tenantChosen: [{ type: i0.Output, args: ["tenantChosen"] }] } });
300
306
 
301
307
  class AXPTenantChooserDropdownComponent {
@@ -344,7 +350,7 @@ class AXMAuthProfileSlotComponent {
344
350
  this.router.navigate(['/auth/login']);
345
351
  }
346
352
  async openUserSession() {
347
- const com = await import('./acorex-modules-auth-user-sessions.component-sKDANprs.mjs').then((c) => c.AXMUserSessionsComponent);
353
+ const com = await import('./acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs').then((c) => c.AXMUserSessionsComponent);
348
354
  this.popupService.open(com, {
349
355
  size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'sm',
350
356
  title: await this.translateService.translateAsync('@auth:profile.sessions.title'),
@@ -582,6 +588,9 @@ const canActivateTenantChooser = async (route, state) => {
582
588
  const router = inject(Router);
583
589
  const strategyName = sessionService.getSessionData()?.strategy;
584
590
  const strategy = authStrategyRegistry.get(strategyName);
591
+ if (!sessionService.user?.id) {
592
+ return router.createUrlTree(['/auth/login']);
593
+ }
585
594
  const tenants = await firstValueFrom(sessionService.tenants$);
586
595
  if (tenants.length === 0) {
587
596
  window.alert('You do not have any tenant assigned to your account and cannot use the site. Please contact your administrator.');
@@ -637,12 +646,12 @@ function routesFacory() {
637
646
  routes = [
638
647
  {
639
648
  path: 'tenant-chooser',
640
- loadComponent: () => import('./acorex-modules-auth-tenant-chooser.component-DDK1KW-8.mjs').then((c) => c.AXPAuthTenantChooserComponent),
649
+ loadComponent: () => import('./acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs').then((c) => c.AXPAuthTenantChooserComponent),
641
650
  canActivate: [AXPAuthGuard, canActivateTenantChooser],
642
651
  },
643
652
  {
644
653
  path: 'app-chooser',
645
- loadComponent: () => import('./acorex-modules-auth-app-chooser.component-BY281-Cl.mjs').then((c) => c.AXPAuthAppChooserComponent),
654
+ loadComponent: () => import('./acorex-modules-auth-app-chooser.component-BEktaBWD.mjs').then((c) => c.AXPAuthAppChooserComponent),
646
655
  canActivate: [AXPAuthGuard, canActivateAppChooser],
647
656
  },
648
657
  ];
@@ -789,4 +798,4 @@ var AXMSessionStatusTypes;
789
798
  */
790
799
 
791
800
  export { AXM_AUTH_CONFIG_TOKEN as A, AXM_LOGIN_GUARD_TOKEN as a, AXMAuthenticationTypes as b, AXPTenantChooserListComponent as c, AXPTenantChooserDropdownComponent as d, AXPAppChooserListComponent as e, AXMUserDeviceSessionsService as f, AXMAuthErrorHandler as g, AXMAuthModule as h, AXMDefaultAuthConfigs as i, AXMDeviceSessionsService as j, AXMDeviceSessionsServiceImpl as k, AXMSessionStatusTypes as l, AXPIdleService as m, canActivateLogin as n, configAuthModule as o };
792
- //# sourceMappingURL=acorex-modules-auth-acorex-modules-auth-wfCSNwXC.mjs.map
801
+ //# sourceMappingURL=acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs","sources":["../../../../libs/modules/auth/src/lib/error-handler.ts","../../../../libs/modules/auth/src/lib/pages/login/login.guard.ts","../../../../libs/modules/auth/src/lib/auth.config.ts","../../../../libs/modules/auth/src/lib/auth.routes.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-list.component.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-list.component.html","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-slot.component.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-slot.component.html","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser-list.component.ts","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser-list.component.html","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser-dropdown.component.ts","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser-dropdown.component.html","../../../../libs/modules/auth/src/lib/pages/account/profile/profile-slot.component.ts","../../../../libs/modules/auth/src/lib/pages/account/profile/profile-slot.component.html","../../../../libs/modules/auth/src/lib/pages/account/user-profile-card/user-profile-card.component.ts","../../../../libs/modules/auth/src/lib/pages/account/user-profile-card/user-profile-card.component.html","../../../../libs/modules/auth/src/lib/shared/services/idle.service.ts","../../../../libs/modules/auth/src/lib/shared/services/device-sessions.service.ts","../../../../libs/modules/auth/src/lib/pages/account/user-sessions/user-sessions.service.ts","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser.guard.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser.guard.ts","../../../../libs/modules/auth/src/lib/pages/account/account.module.ts","../../../../libs/modules/auth/src/lib/auth.module.ts","../../../../libs/modules/auth/src/lib/shared/types/device-sessions.types.ts","../../../../libs/modules/auth/src/acorex-modules-auth.ts"],"sourcesContent":["import { AXPUnauthenticatedError, AXPUnauthorizedError } from '@acorex/platform/auth';\nimport { AXPErrorHandler } from '@acorex/platform/common';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable, NgZone, inject, isDevMode } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class AXMAuthErrorHandler implements AXPErrorHandler {\n private router = inject(Router);\n private layoutService = inject(AXPLayoutThemeService);\n\n handleError(error: Error, next: (error: any) => void): void {\n if (error instanceof HttpErrorResponse) {\n // if (error.status == 401) {\n // this.router.navigate(['/auth/login']);\n // }\n // else if (error.status == 404) {\n // this.router.navigate(['/404']);\n // }\n } else if (error instanceof AXPUnauthorizedError) {\n const redirectUrl = error.data?.redirectUrl;\n console.error(error.message);\n this.router.navigate(['/401'], { queryParams: redirectUrl ? { redirectUrl: redirectUrl } : null });\n } else if (error instanceof AXPUnauthenticatedError) {\n console.error(error.message);\n const redirectUrl = error.data?.redirectUrl;\n this.router.navigate(['/auth/login'], { queryParams: redirectUrl ? { redirectUrl: redirectUrl } : null });\n } else {\n if (isDevMode()) {\n next(error); // Pass the error to the next handler\n } else {\n next(error); // maybe we need a error page\n }\n }\n this.layoutService.setNavigationLoading(false);\n }\n}\n","import { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from '@angular/router';\n\n/**\n * Guard for login page that redirects authenticated users to home page.\n * This guard prevents authenticated users from accessing the login page.\n */\nexport const canActivateLogin: CanActivateFn = async (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n): Promise<boolean | UrlTree> => {\n // If not authenticated, allow access to login page\n return true;\n};\n","import { InjectionToken } from '@angular/core';\nimport { AuthConfig } from 'angular-oauth2-oidc';\n\nexport enum AXMAuthenticationTypes {\n UsernamePassword,\n UsernameEmailPassword,\n EmailPassword,\n MobilePassword,\n EmailCode,\n MobileCode,\n}\n\nexport const AXM_AUTH_CONFIG_TOKEN = new InjectionToken<AXMAuthConfigs>('app-module-auth-config', {\n providedIn: 'root',\n factory: () => {\n return AXMDefaultAuthConfigs;\n },\n});\n\nexport interface AXMExternalProviderConfig {\n providerName: string;\n}\n\nexport interface AXMAuthConfigs {\n type: AXMAuthenticationTypes;\n // oidc_settings?: UserManagerSettings;\n authConfig?: AuthConfig; // تغییر به optional\n baseUrl?: string; // اضافه کردن baseUrl\n logoutUrl?: string; // اضافه کردن logoutUrl\n end_url?: string;\n signup?: {\n enable: boolean;\n url?: string;\n };\n externalProviders?: {\n [provider: string]: AXMExternalProviderConfig;\n };\n signinPage?: {\n description: string;\n slogan: string;\n };\n defaultStrategyName?: string;\n idleTimeout?: number;\n}\n\nexport const AXMDefaultAuthConfigs: AXMAuthConfigs = {\n type: AXMAuthenticationTypes.UsernamePassword,\n // defaultStrategyName:'oidc',\n // حذف authConfig از اینجا چون از environment خوانده می‌شود\n defaultStrategyName: 'user-pass',\n};\n\nexport function configAuthModule(config: Partial<AXMAuthConfigs> = AXMDefaultAuthConfigs): AXMAuthConfigs {\n return { ...AXMDefaultAuthConfigs, ...config };\n}\n\n//#region ---- Login Guard Token ----\n\nimport { CanActivateFn } from '@angular/router';\nimport { canActivateLogin } from './pages/login/login.guard';\n\n/**\n * Injection token for login page guard.\n * Apps can provide their own custom guard by providing this token.\n * If not provided, the default guard (canActivateLogin) will be used.\n */\nexport const AXM_LOGIN_GUARD_TOKEN = new InjectionToken<CanActivateFn>('AXM_LOGIN_GUARD_TOKEN', {\n providedIn: 'root',\n factory: () => canActivateLogin,\n});\n\n//#endregion\n","import { Route } from '@angular/router';\nexport const routes: Route[] = [\n {\n path: 'auth',\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'login',\n },\n {\n path: '',\n loadComponent: () =>\n import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/login/login.module').then((c) => c.AXPSignInModule),\n },\n {\n path: '',\n loadComponent: () =>\n import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/two-factor/two-factor.module').then((c) => c.AXPTwoFactorModule),\n },\n {\n path: '',\n loadComponent: () =>\n import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/forgot/routes').then((c) => c),\n },\n {\n path: 'axp-oauth-callback',\n loadComponent: () =>\n import('./pages/callback/oauth-callback.component').then((c) => c.AXPOAuthCallbackComponent),\n },\n {\n path: 'account',\n loadComponent: () => import('./shared/layouts/blank/blank.layout').then((c) => c.AXPAuthBlankLayoutComponent),\n loadChildren: () => import('./pages/account/account.module').then((c) => c.AXPAccountModule),\n },\n // {\n // path: 'signincallback',\n // loadComponent: () =>\n // import('./pages/callback/oauth-callback.component').then((c) => c.AXPOAuthCallbackComponent),\n // },\n // {\n // path: '',\n // loadComponent: () =>\n // import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n // loadChildren: () => import('./register/register.module').then((c) => c.AXPRegisterModule),\n // },\n ],\n },\n];\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport {\n AXPApplication,\n AXPAuthStrategyRegistryService,\n AXPSessionContext,\n AXPSessionService,\n} from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPLogoComponent } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, output } from '@angular/core';\nimport { AXMApplicationService } from '@acorex/modules/application-management';\n\n@Component({\n selector: 'axp-app-chooser-list',\n templateUrl: 'app-chooser-list.component.html',\n imports: [CommonModule, AXDecoratorModule, AXLoadingModule, AXPLogoComponent],\n})\nexport class AXPAppChooserListComponent {\n private sessionService = inject(AXPSessionService);\n private homePageService = inject(AXPHomePageService);\n private authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n private applicationService = inject(AXMApplicationService);\n private strategyName = this.sessionService.getSessionData()?.strategy;\n private strategy = this.authStrategyRegistry.get(this.strategyName!);\n\n protected selectedApplication: AXPApplication | null = null;\n protected applications$ = this.sessionService.applications$;\n\n applicationChosen = output<void>();\n\n async chooseApplication(item: AXPApplication) {\n this.selectedApplication = item;\n const tenantId = this.sessionService.tenant?.id || '';\n if (!tenantId) {\n throw new Error('Tenant ID is missing. Cannot choose application.');\n }\n\n // Get the full application entity to access its editions\n const fullApplication = await this.applicationService.getOne(item.id);\n if (!fullApplication) {\n throw new Error(`Application not found: ${item.id}`);\n }\n\n // Determine which edition to use (from item.edition or default to first edition)\n let selectedEdition = item.edition;\n if (!selectedEdition && fullApplication.editions && fullApplication.editions.length > 0) {\n selectedEdition = {\n id: fullApplication.editions[0].id,\n title: fullApplication.editions[0].title,\n description: fullApplication.editions[0].description,\n };\n }\n\n // Update application with edition information and version from full entity\n const applicationWithEdition: AXPApplication = {\n ...item,\n version: fullApplication.version || item.version,\n edition: selectedEdition,\n };\n\n if (this.strategy && typeof this.strategy.updateToken === 'function') {\n const updateContext = {\n application: applicationWithEdition,\n user: this.sessionService.user,\n tenant: this.sessionService.tenant,\n };\n await this.sessionService.updateToken(updateContext as AXPSessionContext);\n }\n\n this.applicationChosen.emit();\n\n return await this.homePageService.navigateTo();\n }\n}\n","<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (application of applications$ | async; track $index) {\n <div\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseApplication(application)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-justify-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"application.logo\" [attr.alt]=\"application.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\n <span class=\"ax-text-muted ax-text-xs\">{{ application.edition?.title }}</span>\n </div>\n </div>\n }\n</div>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPApplication, AXPAuthStrategyRegistryService, AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, viewChild } from '@angular/core';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPAppChooserListComponent } from './app-chooser-list.component';\n\n@Component({\n templateUrl: './app-chooser-slot.component.html',\n imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPAppChooserListComponent],\n})\nexport class AXMAppChooserSlotComponent {\n\n private sessionService = inject(AXPSessionService);\n protected applications$ = this.sessionService.applications$;\n\n private appPopover = viewChild<AXPopoverComponent>('appPopover');\n\n closePopover(): void {\n this.appPopover()?.close();\n }\n}\n","@if (((applications$ | async)?.length ?? 0) > 1) {\n <ax-button color=\"primary\" #appChooser>\n <ax-icon class=\"fa-regular fa-grid-2\"> </ax-icon>\n </ax-button>\n <ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #appPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-app-chooser-list (applicationChosen)=\"closePopover()\"></axp-app-chooser-list>\n </div>\n </ax-popover>\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXButtonModule } from '@acorex/components/button';\nimport {\n AXPAuthStrategyRegistryService,\n AXPSessionService,\n AXPTenant,\n} from '@acorex/platform/auth';\nimport { AXPLogoComponent } from '@acorex/platform/layout/components';\nimport { AXPIconLogoConfig } from '@acorex/platform/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, output, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'axp-tenant-chooser-list',\n templateUrl: 'tenant-chooser-list.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXTranslationModule, AXDecoratorModule, AXLoadingModule, AXPLogoComponent, AXSearchBoxModule, AXButtonModule],\n})\nexport class AXPTenantChooserListComponent {\n private sessionService = inject(AXPSessionService);\n private authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n private router = inject(Router);\n private strategyName = this.sessionService.getSessionData()?.strategy;\n private strategy = this.authStrategyRegistry.get(this.strategyName!);\n protected defaultLogo = new AXPIconLogoConfig('fa-solid fa-building', 'neutral-500');\n\n simple = input<boolean>(false);\n\n tenantChosen = output<void>();\n\n //#region ---- Tenant List State ----\n\n /** All tenants available to the signed-in user (loaded once from session). */\n protected readonly allTenants = toSignal(this.sessionService.tenants$, { initialValue: [] as AXPTenant[] });\n\n protected searchValue = signal('');\n protected showAll = signal(false);\n protected selectedTenant: AXPTenant | null = null;\n\n /** Tenants shown in the list (respects search and view-all toggle). */\n protected displayedTenants = computed(() => {\n const tenants = this.filterTenants(this.allTenants());\n if (this.showAll() || tenants.length <= 4) {\n return tenants;\n }\n return tenants.slice(0, 4);\n });\n\n protected showSearchAndViewAll = computed(() => this.allTenants().length > 4);\n\n //#endregion\n\n //#region ---- UI Handlers ----\n\n filterTenants(tenants: AXPTenant[]): AXPTenant[] {\n const query = this.searchValue().toLowerCase();\n return tenants.filter((tenant) => tenant.title.toLowerCase().includes(query));\n }\n\n handleSearch(event: string) {\n if (event != undefined) {\n this.searchValue.set(event);\n }\n }\n\n showAllTenants() {\n this.showAll.update((value) => !value);\n }\n\n async chooseTenant(item: AXPTenant) {\n this.selectedTenant = item;\n if (this.strategy) {\n const updateContext = {\n tenant: item,\n user: this.sessionService.user,\n };\n await this.sessionService.updateToken(updateContext);\n }\n this.tenantChosen.emit();\n return this.router.navigate(['/auth/account/app-chooser']);\n }\n\n //#endregion\n}\n","@if (simple()) {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of allTenants(); track tenant.id) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n</div>\n} @else {\n@if (showSearchAndViewAll()) {\n<ax-search-box [placeholder]=\"'@general:search.title' | translate | async\" [ngModel]=\"searchValue()\"\n (ngModelChange)=\"handleSearch($event)\" class=\"ax-w-full\"><ax-clear-button></ax-clear-button></ax-search-box>\n<div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants(); track tenant.id) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n} @else {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants(); track tenant.id) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n}\n@if (showSearchAndViewAll()) {\n<div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button (onClick)=\"showAllTenants()\" class=\"ax-w-full\" look=\"outline\" [text]=\"\n showAll()\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"></ax-button>\n</div>\n}\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, viewChild } from '@angular/core';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPTenantChooserListComponent } from './tenant-chooser-list.component';\n\n@Component({\n selector: 'axp-tenant-chooser-dropdown',\n templateUrl: 'tenant-chooser-dropdown.component.html',\n imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPTenantChooserListComponent]\n})\nexport class AXPTenantChooserDropdownComponent {\n private sessionService = inject(AXPSessionService);\n protected tenants$ = this.sessionService.tenants$;\n protected tenant = this.sessionService.tenant;\n\n private tenantPopover = viewChild<AXPopoverComponent>('tenantPopover');\n\n closePopover(): void {\n this.tenantPopover()?.close();\n }\n}\n","@if (tenants$ | async; as tenants) {\n@if (tenants.length > 1) {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\" #tenantChooser>\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"tenantChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\"\n #tenantPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-tenant-chooser-list [simple]=\"true\" (tenantChosen)=\"closePopover()\"></axp-tenant-chooser-list>\n </div>\n</ax-popover>\n} @else {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\"></ax-button>\n}\n}","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { AXPCommandExecutor } from '@acorex/platform/runtime';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\n\n@Component({\n templateUrl: './profile-slot.component.html',\n styleUrl: './profile-slot.component.scss',\n imports: [\n CommonModule,\n RouterModule,\n //\n AXImageModule,\n AXAvatarModule,\n AXPopoverModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n AXPUserAvatarComponent,\n //\n\n AXPTenantChooserDropdownComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMAuthProfileSlotComponent {\n private router = inject(Router);\n private sessionService = inject(AXPSessionService);\n private themeService = inject(AXPLayoutThemeService);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private translateService = inject(AXTranslationService);\n private commandExecutor = inject(AXPCommandExecutor);\n\n protected isDarkMode = this.themeService.isDarkMode;\n\n protected user$ = this.sessionService.user$;\n protected tenant$ = this.sessionService.tenant$;\n\n protected isAuthenticated$ = this.sessionService.isAuthenticated$;\n\n protected appName = () => this.sessionService.application?.name;\n\n @ViewChild('profilePopover') profilePopover!: AXPopoverComponent;\n\n editProfile() {\n this.router.navigate([`/${this.appName()}/m/SecurityManagement/e/profile/0/view`]);\n }\n\n async logOut() {\n await this.sessionService.signout();\n }\n\n toggleProfileMenu() {\n this.profilePopover.open();\n }\n\n protected handleSignIn() {\n this.router.navigate(['/auth/login']);\n }\n\n protected async openUserSession() {\n const com = await import('../user-sessions/user-sessions.component').then((c) => c.AXMUserSessionsComponent);\n\n this.popupService.open(com, {\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'sm',\n title: await this.translateService.translateAsync('@auth:profile.sessions.title'),\n });\n }\n\n protected async showProfile() {\n this.commandExecutor.execute('auth:profile', {});\n }\n}\n","@if (isAuthenticated$ | async) {\n <div class=\"ax-size-fit\">\n <div #avatar>\n <axp-user-avatar [size]=\"36\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n </div>\n\n <ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #p>\n <div class=\"ax-bg-lightest ax-border ax-border-lightest ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\">\n <axp-user-avatar [size]=\"64\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2\">\n <div class=\"ax-text-base ax-font-bold\">{{ (user$ | async)?.title }}</div>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n </div>\n </div>\n <div class=\"axp-profile-slot-menus\">\n <ul>\n <li>\n <a (click)=\"showProfile()\">\n <i class=\"fa-light fa-user\"></i>\n <span>{{ '@auth:profile.edit' | translate | async }}</span>\n </a>\n </li>\n <li>\n <a (click)=\"p.close()\" [routerLink]=\"['/', appName(), 'settings', 'user']\">\n <i class=\"fa-light fa-gear\"></i>\n <span>{{ '@auth:profile.settings' | translate | async }}</span>\n </a>\n </li>\n <li>\n <a (click)=\"openUserSession()\">\n <i class=\"fa-light fa-mobile\"></i>\n <span>{{ '@auth:profile.sessions' | translate | async }}</span>\n </a>\n </li>\n <li class=\"ax-text-danger-500\">\n <a (click)=\"logOut()\">\n <i class=\"fa-light fa-arrow-right-from-bracket\"></i>\n <span>{{ '@auth:profile.logout' | translate | async }}</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </ax-popover>\n </div>\n} @else {\n <ax-button color=\"default\" look=\"blank\" text=\"Sign Up / Sign In\" (click)=\"handleSignIn()\">\n <ax-icon>\n <i class=\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n </ax-button>\n}\n","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXHtmlEvent } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataProvider } from '@acorex/platform/common';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, ViewChild, inject, signal } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { first } from 'rxjs';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\n\n@Component({\n templateUrl: './user-profile-card.component.html',\n imports: [\n RouterModule,\n //\n AXImageModule,\n AXAvatarModule,\n AXPopoverModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n //\n AXPTenantChooserDropdownComponent,\n AsyncPipe,\n AXPUserAvatarComponent,\n ],\n})\nexport class AXMUserProfileCardSlotComponent {\n private router = inject(Router);\n private sessionService = inject(AXPSessionService);\n private dataService = inject(AXPDataProvider, { optional: true });\n\n protected hasPicture = signal(true);\n protected avatarText = signal<string>('');\n\n constructor() {\n this.loadImage();\n this.getAvatarText();\n }\n protected src!: string;\n protected user$ = this.sessionService.user$;\n protected tenant$ = this.sessionService.tenant$;\n\n protected isAuthenticated$ = this.sessionService.isAuthenticated$;\n\n protected appName = () => this.sessionService.application?.name;\n\n @ViewChild('profilePopover') profilePopover!: AXPopoverComponent;\n\n editProfile() {\n this.router.navigate([`/${this.appName()}/m/securityManagement/e/profile/0/view`]);\n }\n\n async logOut() {\n await this.sessionService.signout();\n }\n\n toggleProfileMenu() {\n this.profilePopover.open();\n }\n\n protected handleSignIn() {\n this.router.navigate(['/auth/login']);\n }\n\n protected onImageError(event: AXHtmlEvent<ErrorEvent>) {\n this.hasPicture.set(false);\n }\n\n protected getAvatarText = () => {\n this.user$.pipe(first()).subscribe((user) => {\n const names = user?.title.split(' ');\n if (names?.length && names?.length > 1) {\n this.avatarText.set(`${names[0][0].toUpperCase()}${names[names.length - 1][0].toUpperCase()}`);\n } else return this.avatarText.set('AC');\n });\n };\n\n private async loadImage() {\n try {\n const url = this.sessionService.user?.avatar as string;\n if (url?.toLowerCase().startsWith('http')) {\n this.src = url;\n } else if (this.sessionService.user?.avatar != 'null' && this.dataService) {\n const blob = await this.dataService.viewFile(url, '');\n this.src = URL.createObjectURL(blob);\n } else {\n //this.src = this.mockerService.avatar();\n }\n } catch (error) {\n this.hasPicture.set(false);\n console.error('Failed to load image by ID:', error);\n this.src = '';\n }\n }\n}\n","@if((isAuthenticated$ | async)) {\n<div class=\"ax-p-3 ax-flex ax-items-center ax-gap-1 ax-border-b ax-border-lighter\">\n <div #avatar>\n <axp-user-avatar [size]=\"48\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n </div>\n <div class=\"ax-flex ax-flex-col\">\n <ax-title class=\"ax-text-sm ax-font-medium ax-px-3\">{{ (user$ | async)?.title }}</ax-title>\n <axp-tenant-chooser-dropdown />\n </div>\n</div>\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Subject, Observable, timer, Subscription } from 'rxjs';\nimport { startWith, switchMap, tap } from 'rxjs/operators';\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../auth.config';\n\n@Injectable({ providedIn: 'root' })\nexport class AXPIdleService {\n private configs = inject(AXM_AUTH_CONFIG_TOKEN);\n private idle$ = new Subject<void>();\n private timeoutDuration = this.configs.idleTimeout ?? 10 * 60 * 1000;\n private userActivity$ = new Subject<void>();\n private idleSubscription: Subscription | null = null;\n\n constructor() {\n this.setupActivityListeners();\n }\n\n get idleState$(): Observable<void> {\n return this.idle$.asObservable();\n }\n\n private setupActivityListeners() {\n const activityEvents = ['mousemove', 'keydown', 'wheel'];\n activityEvents.forEach(event =>\n document.addEventListener(event, () => this.resetTimer())\n );\n }\n\n startWatching() {\n this.stopWatching(); // Stop any existing subscription\n this.idleSubscription = this.userActivity$.pipe(\n startWith(null),\n switchMap(() => timer(this.timeoutDuration)),\n tap(() => this.idle$.next()),\n ).subscribe();\n }\n\n resetTimer() {\n this.userActivity$.next();\n }\n\n stopWatching() {\n if (this.idleSubscription) {\n this.idleSubscription.unsubscribe();\n this.idleSubscription = null;\n }\n }\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { map } from 'rxjs';\n// TODO: Update RootConfig import to the correct location in auth module if needed\nimport { AXMSecurityManagementDeviceSessionsEntityModel } from '../types/device-sessions.types';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\n\nexport abstract class AXMDeviceSessionsService extends AXMEntityCrudServiceImpl<\n string,\n AXMSecurityManagementDeviceSessionsEntityModel\n> {\n abstract terminate(id: string): Promise<boolean>;\n abstract terminateAllCurrentUserSessions(): Promise<boolean>;\n}\n\n@Injectable()\nexport class AXMDeviceSessionsServiceImpl extends AXMDeviceSessionsService {\n // private aXMAuthConfigs: AXMAuthConfigs = inject(AXM_AUTH_CONFIG_TOKEN);\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n constructor(private http: HttpClient) {\n super('SecurityManagement.DeviceSessions'); // Fixed: Use correct entity name format\n }\n\n override terminate(id: string): Promise<boolean> {\n throw new Error('Method not implemented.');\n }\n\n override async terminateAllCurrentUserSessions(): Promise<boolean> {\n return (this.http\n .post<boolean>(\n this.configs.baseUrl + '/security-management/device-sessions/Terminate-All',\n {},\n )\n .pipe(map((t) => (t === undefined ? false : t)))\n .toPromise() ?? false) as Promise<boolean>;\n }\n} ","\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSettingsService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { inject, Injectable } from '@angular/core';\nimport { forEach } from 'lodash-es';\nimport { AXMSecurityManagementDeviceSessionsEntityModel } from '../../../shared/types';\nimport { AXMDeviceSessionsService } from '../../../shared/services';\n\nexport abstract class AXMUserDeviceSessionsService {\n abstract getSessions(): Promise<AXMSecurityManagementDeviceSessionsEntityModel[]>;\n abstract getCurrentActiveSessions(): Promise<AXMSecurityManagementDeviceSessionsEntityModel>;\n abstract terminateSession(sessionId: string): any;\n abstract terminateAllSession(): any;\n abstract setTokenLifetimeMinutes(value: string): any;\n}\n\n@Injectable()\nexport class AXMUserDeviceSessionsServiceImp extends AXMUserDeviceSessionsService {\n private sessionService = inject(AXPSessionService);\n private deviceSessionsService = inject(AXMDeviceSessionsService);\n private settingsService = inject(AXPSettingsService);\n\n constructor() {\n super(); // Call the base class constructor (good practice)\n }\n\n override async getSessions(): Promise<AXMSecurityManagementDeviceSessionsEntityModel[]> {\n const userId = this.sessionService.user?.id;\n if (!userId) {\n return [];\n }\n const response = await this.deviceSessionsService.query();\n const items = response.items.filter(\n (item: any) => item.userId === userId && String(item.status).toLowerCase() === 'active' && !item.isActiveSession,\n );\n return items;\n }\n\n override async getCurrentActiveSessions(): Promise<AXMSecurityManagementDeviceSessionsEntityModel> {\n const userId = this.sessionService.user?.id;\n if (!userId) {\n throw new Error('No user found in session');\n }\n const response = await this.deviceSessionsService.query();\n const activeSession = response.items.find(\n (item: any) => item.userId === userId && String(item.status).toLowerCase() === 'active' && item.isActiveSession,\n );\n\n return activeSession!;\n }\n\n override async terminateSession(sessionId: string) {\n await this.deviceSessionsService.updateOne(sessionId, { status: 'revoked' });\n }\n\n override async terminateAllSession() {\n await this.deviceSessionsService.terminateAllCurrentUserSessions();\n }\n\n override async setTokenLifetimeMinutes(value: any) {\n await this.settingsService.scope(AXPPlatformScope.User).set('session-timeout', value);\n let s2 = await this.settingsService.scope(AXPPlatformScope.User).get('session-timeout');\n }\n}\n","import { AXPAuthStrategyRegistryService, AXPSessionService } from '@acorex/platform/auth';\nimport { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, Router, RouterStateSnapshot } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\n\nexport const canActivateTenantChooser: CanActivateFn = async (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n) => {\n const sessionService = inject(AXPSessionService);\n const authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n const router = inject(Router);\n const strategyName = sessionService.getSessionData()?.strategy;\n const strategy = authStrategyRegistry.get(strategyName!);\n\n if (!sessionService.user?.id) {\n return router.createUrlTree(['/auth/login']);\n }\n\n const tenants = await firstValueFrom(sessionService.tenants$);\n\n if (tenants.length === 0) {\n window.alert(\n 'You do not have any tenant assigned to your account and cannot use the site. Please contact your administrator.',\n );\n return router.createUrlTree(['/auth/login']);\n }\n if (tenants.length === 1) {\n if (strategy && typeof strategy.updateToken === 'function') {\n const updateContext = {\n user: sessionService.user,\n tenant: tenants[0],\n };\n await sessionService.updateToken(updateContext);\n return router.createUrlTree(['/auth/account/app-chooser']);\n }\n return false;\n }\n return true;\n};\n","import { AXPAuthStrategyRegistryService, AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, Router, RouterStateSnapshot } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\n\nexport const canActivateAppChooser: CanActivateFn = async (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n) => {\n const sessionService = inject(AXPSessionService);\n const authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n const homePageService = inject(AXPHomePageService);\n const router = inject(Router);\n const strategyName = sessionService.getSessionData()?.strategy;\n const strategy = authStrategyRegistry.get(strategyName!);\n const apps = await firstValueFrom(sessionService.applications$);\n\n if (apps.length === 0) {\n await router.navigate(['/auth/login']);\n return false;\n }\n\n if (apps.length === 1) {\n const tenantId = sessionService.tenant?.id;\n if (!tenantId) {\n throw new Error('Tenant ID is missing. Please contact support.');\n }\n if (strategy && typeof strategy.updateToken === 'function') {\n const updateContext = {\n user: sessionService.user,\n tenant: sessionService.tenant,\n application: apps[0],\n };\n await sessionService.updateToken(updateContext);\n\n\n return router.createUrlTree([homePageService.getCurrent().path]);\n }\n return false;\n }\n return true;\n};\n","import { AXPAuthGuard, AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPComponentSlotModule } from '@acorex/platform/core';\nimport { NgModule, inject } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivateFn,\n ROUTES,\n Router,\n RouterModule,\n RouterStateSnapshot,\n Routes,\n} from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\nimport { AXMAppChooserSlotComponent } from './app-chooser/app-chooser-slot.component';\nimport { AXMAuthProfileSlotComponent } from './profile/profile-slot.component';\nimport { AXMUserProfileCardSlotComponent } from './user-profile-card/user-profile-card.component';\nimport { AXMUserDeviceSessionsService, AXMUserDeviceSessionsServiceImp } from './user-sessions/user-sessions.service';\nimport { canActivateTenantChooser } from './tenant-chooser/tenant-chooser.guard';\nimport { canActivateAppChooser } from './app-chooser/app-chooser.guard';\n\nfunction routesFacory() {\n let routes: Routes = [];\n routes = [\n {\n path: 'tenant-chooser',\n loadComponent: () =>\n import('./tenant-chooser/tenant-chooser.component').then((c) => c.AXPAuthTenantChooserComponent),\n canActivate: [AXPAuthGuard, canActivateTenantChooser],\n },\n {\n path: 'app-chooser',\n loadComponent: () => import('./app-chooser/app-chooser.component').then((c) => c.AXPAuthAppChooserComponent),\n canActivate: [AXPAuthGuard, canActivateAppChooser],\n },\n ];\n return routes;\n}\n\n@NgModule({\n declarations: [],\n imports: [\n RouterModule,\n //\n AXPComponentSlotModule.forChild({\n 'root-side-menu-header': [\n {\n priority: 1,\n name: 'user-card',\n component: AXMUserProfileCardSlotComponent,\n },\n ],\n 'root-header-end': [\n {\n priority: 98,\n name: 'app-choser',\n component: AXMAppChooserSlotComponent,\n },\n {\n priority: 99,\n name: 'profile',\n component: AXMAuthProfileSlotComponent,\n },\n ],\n }),\n ],\n exports: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXMUserDeviceSessionsService,\n useClass: AXMUserDeviceSessionsServiceImp,\n },\n ],\n})\nexport class AXPAccountModule {}\n","import { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXPCommonModule } from '@acorex/platform/common';\nimport { provideCommandSetups } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { provideLazyProvider } from '@acorex/platform/core';\nimport { routes } from './auth.routes';\nimport { AXMAuthErrorHandler } from './error-handler';\nimport { AXPAccountModule } from './pages/account/account.module';\n\n@NgModule({\n imports: [\n CommonModule,\n AXPCommonModule.forChild({ errorHandlers: [AXMAuthErrorHandler] }),\n RouterModule.forChild(routes),\n AXPAccountModule,\n ],\n providers: [\n AXMAuthErrorHandler,\n provideLazyProvider(\n AXP_MENU_PROVIDER,\n () => import('./menu.provider').then(m => m.AXMSecurityManagementModuleMenuProvider)\n ),\n // Lazy load settings provider\n provideLazyProvider(\n AXP_SETTING_DEFINITION_PROVIDER,\n () => import('./settings.provider').then(m => m.AXMSettingProvider)\n ),\n provideCommandSetups([\n {\n key: 'auth:profile',\n command: () => import('./commands/show-profile-command').then((c) => c.AXPShowProfileCommand),\n },\n ]),\n ],\n})\nexport class AXMAuthModule { }\n","import { AXPEntityModel } from '@acorex/platform/layout/entity';\nexport enum AXMSessionStatusTypes {\n revoked = 'revoked',\n expired = 'expired',\n active = 'active',\n}\n\nexport interface AXMSecurityManagementDeviceSessionsEntityModel extends AXPEntityModel<string> {\n clientName: string;\n ipAddress: string;\n userAgent: string;\n authorizationId: string;\n status: string;\n userId: string;\n user: {\n id: string;\n name: string;\n };\n applicationId: string;\n application: {\n id: string;\n name: string;\n };\n tenantId: string;\n tenant: {\n id: string;\n name: string;\n };\n isActiveSession: boolean;\n\n deviceName: string;\n operatingSystem: string;\n browser: string;\n location: string;\n lastLoginDate: Date;\n} ","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i4","i5","i6","i3","i2"],"mappings":"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"}
@@ -19,7 +19,7 @@ import * as i4 from '@angular/common';
19
19
  import { CommonModule } from '@angular/common';
20
20
  import { Router } from '@angular/router';
21
21
  import { of } from 'rxjs';
22
- import { d as AXPTenantChooserDropdownComponent, e as AXPAppChooserListComponent } from './acorex-modules-auth-acorex-modules-auth-wfCSNwXC.mjs';
22
+ import { d as AXPTenantChooserDropdownComponent, e as AXPAppChooserListComponent } from './acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs';
23
23
 
24
24
  class AXPAuthAppChooserComponent {
25
25
  constructor() {
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
64
64
  }] });
65
65
 
66
66
  export { AXPAuthAppChooserComponent };
67
- //# sourceMappingURL=acorex-modules-auth-app-chooser.component-BY281-Cl.mjs.map
67
+ //# sourceMappingURL=acorex-modules-auth-app-chooser.component-BEktaBWD.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-auth-app-chooser.component-BY281-Cl.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser.component.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser.component.html"],"sourcesContent":["import { Component, OnInit, ViewEncapsulation, inject } from '@angular/core';\n\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { AXPLogoComponent } from '@acorex/platform/layout/components';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { of } from 'rxjs';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\nimport { AXPAppChooserListComponent } from './app-chooser-list.component';\n\n@Component({\n selector: 'axp-auth-app-chooser',\n templateUrl: './app-chooser.component.html',\n styleUrls: ['./app-chooser.component.scss'],\n imports: [\n CommonModule,\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXAvatarModule,\n AXImageModule,\n AXDecoratorModule,\n AXPLogoComponent,\n AXLoadingModule,\n AXTranslationModule,\n AXPTenantChooserDropdownComponent,\n AXPAppChooserListComponent,\n AXPUserAvatarComponent,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPAuthAppChooserComponent implements OnInit {\n ngOnInit(): void {\n }\n private router = inject(Router);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n private sessionService = inject(AXPSessionService);\n\n protected user = this.sessionService.user;\n protected tenants$ = of([]); //this.sessionService.tenants$;\n protected tenant = this.sessionService.tenant;\n\n tenantChooser() {\n this.router.navigate(['/auth/account/tenant-chooser']);\n }\n\n async handleSignout() {\n await this.sessionService.signout();\n this.router.navigate(['/auth/login']);\n }\n}\n","<main *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-lightest md:ax-bg-default\">\n <section>\n <axp-logo [source]=\"platformConfig.logo?.full\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 lg:ax-w-[45vw] xl:ax-w-[25vw] ax-w-[90vw]\">\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if (user?.avatar) {\n <axp-user-avatar [size]=\"72\" [userId]=\"user?.id!\"></axp-user-avatar>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">\n {{ '@auth:welcome.message' | translate | async }}, {{ user?.title }}\n </h2>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ '@auth:application-chooser.description' | translate | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ '@auth:application-chooser.footer' | translate | async }}\n @if (tenants$ | async; as tenants) {\n @if (tenants.length > 1) {\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\n {{ '@auth:application-chooser.backCompany' | translate | async }}\n </a>\n } @else {\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\n {{ '@auth:backLogin' | translate | async }}\n </a>\n }\n }\n </p>\n </section>\n</main>"],"names":["i3"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-auth-app-chooser.component-BEktaBWD.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser.component.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser.component.html"],"sourcesContent":["import { Component, OnInit, ViewEncapsulation, inject } from '@angular/core';\n\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { AXPLogoComponent } from '@acorex/platform/layout/components';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { of } from 'rxjs';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\nimport { AXPAppChooserListComponent } from './app-chooser-list.component';\n\n@Component({\n selector: 'axp-auth-app-chooser',\n templateUrl: './app-chooser.component.html',\n styleUrls: ['./app-chooser.component.scss'],\n imports: [\n CommonModule,\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXAvatarModule,\n AXImageModule,\n AXDecoratorModule,\n AXPLogoComponent,\n AXLoadingModule,\n AXTranslationModule,\n AXPTenantChooserDropdownComponent,\n AXPAppChooserListComponent,\n AXPUserAvatarComponent,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPAuthAppChooserComponent implements OnInit {\n ngOnInit(): void {\n }\n private router = inject(Router);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n private sessionService = inject(AXPSessionService);\n\n protected user = this.sessionService.user;\n protected tenants$ = of([]); //this.sessionService.tenants$;\n protected tenant = this.sessionService.tenant;\n\n tenantChooser() {\n this.router.navigate(['/auth/account/tenant-chooser']);\n }\n\n async handleSignout() {\n await this.sessionService.signout();\n this.router.navigate(['/auth/login']);\n }\n}\n","<main *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-lightest md:ax-bg-default\">\n <section>\n <axp-logo [source]=\"platformConfig.logo?.full\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 lg:ax-w-[45vw] xl:ax-w-[25vw] ax-w-[90vw]\">\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if (user?.avatar) {\n <axp-user-avatar [size]=\"72\" [userId]=\"user?.id!\"></axp-user-avatar>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">\n {{ '@auth:welcome.message' | translate | async }}, {{ user?.title }}\n </h2>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ '@auth:application-chooser.description' | translate | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ '@auth:application-chooser.footer' | translate | async }}\n @if (tenants$ | async; as tenants) {\n @if (tenants.length > 1) {\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\n {{ '@auth:application-chooser.backCompany' | translate | async }}\n </a>\n } @else {\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\n {{ '@auth:backLogin' | translate | async }}\n </a>\n }\n }\n </p>\n </section>\n</main>"],"names":["i3"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, NgModule } from '@angular/core';
3
3
  import { RouterModule, ROUTES } from '@angular/router';
4
- import { A as AXM_AUTH_CONFIG_TOKEN, a as AXM_LOGIN_GUARD_TOKEN, b as AXMAuthenticationTypes } from './acorex-modules-auth-acorex-modules-auth-wfCSNwXC.mjs';
4
+ import { A as AXM_AUTH_CONFIG_TOKEN, a as AXM_LOGIN_GUARD_TOKEN, b as AXMAuthenticationTypes } from './acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs';
5
5
 
6
6
  function routesFacory() {
7
7
  const val = inject(AXM_AUTH_CONFIG_TOKEN);
@@ -17,10 +17,10 @@ function routesFacory() {
17
17
  AXMAuthenticationTypes.EmailPassword,
18
18
  AXMAuthenticationTypes.MobilePassword,
19
19
  ].includes(val.type)) {
20
- return import('./acorex-modules-auth-password.component-CUxwThnN.mjs').then((c) => c.AXPLoginPasswordComponent);
20
+ return import('./acorex-modules-auth-password.component-cPmwNpuq.mjs').then((c) => c.AXPLoginPasswordComponent);
21
21
  }
22
22
  else {
23
- return import('./acorex-modules-auth-password.component-CUxwThnN.mjs').then((c) => c.AXPLoginPasswordComponent);
23
+ return import('./acorex-modules-auth-password.component-cPmwNpuq.mjs').then((c) => c.AXPLoginPasswordComponent);
24
24
  }
25
25
  },
26
26
  },
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
54
54
  }] });
55
55
 
56
56
  export { AXPSignInModule };
57
- //# sourceMappingURL=acorex-modules-auth-login.module-CjgYlyOv.mjs.map
57
+ //# sourceMappingURL=acorex-modules-auth-login.module-aAwHzXPj.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-auth-login.module-CjgYlyOv.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/login/login.module.ts"],"sourcesContent":["import { NgModule, inject } from '@angular/core';\nimport { ROUTES, RouterModule, Routes } from '@angular/router';\nimport { AXMAuthenticationTypes, AXM_AUTH_CONFIG_TOKEN, AXM_LOGIN_GUARD_TOKEN } from '../../auth.config';\n\nfunction routesFacory() {\n const val = inject(AXM_AUTH_CONFIG_TOKEN);\n const loginGuard = inject(AXM_LOGIN_GUARD_TOKEN);\n let routes: Routes = [];\n routes = [\n {\n path: 'login',\n canActivate: [loginGuard],\n loadComponent: () => {\n if (\n [\n AXMAuthenticationTypes.UsernamePassword,\n AXMAuthenticationTypes.EmailPassword,\n AXMAuthenticationTypes.MobilePassword,\n ].includes(val.type)\n ) {\n return import('./password/password.component').then((c) => c.AXPLoginPasswordComponent);\n } else {\n return import('./password/password.component').then((c) => c.AXPLoginPasswordComponent);\n }\n },\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [RouterModule],\n exports: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ],\n})\nexport class AXPSignInModule {}\n"],"names":[],"mappings":";;;;;AAIA,SAAS,YAAY,GAAA;AACnB,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACzC,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAChD,IAAI,MAAM,GAAW,EAAE;AACvB,IAAA,MAAM,GAAG;AACP,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,aAAa,EAAE,MAAK;gBAClB,IACE;AACE,oBAAA,sBAAsB,CAAC,gBAAgB;AACvC,oBAAA,sBAAsB,CAAC,aAAa;AACpC,oBAAA,sBAAsB,CAAC,cAAc;AACtC,iBAAA,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EACpB;AACA,oBAAA,OAAO,OAAO,uDAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;gBACzF;qBAAO;AACL,oBAAA,OAAO,OAAO,uDAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;gBACzF;YACF,CAAC;AACF,SAAA;KACF;AACD,IAAA,OAAO,MAAM;AACf;MAaa,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAVhB,YAAY,CAAA,EAAA,CAAA,CAAA;AAUX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAAA,SAAA,EARf;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,YAAY;AACzB,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CARS,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAUX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,YAAY;AACzB,yBAAA;AACF,qBAAA;AACF,iBAAA;;;;;"}
1
+ {"version":3,"file":"acorex-modules-auth-login.module-aAwHzXPj.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/login/login.module.ts"],"sourcesContent":["import { NgModule, inject } from '@angular/core';\nimport { ROUTES, RouterModule, Routes } from '@angular/router';\nimport { AXMAuthenticationTypes, AXM_AUTH_CONFIG_TOKEN, AXM_LOGIN_GUARD_TOKEN } from '../../auth.config';\n\nfunction routesFacory() {\n const val = inject(AXM_AUTH_CONFIG_TOKEN);\n const loginGuard = inject(AXM_LOGIN_GUARD_TOKEN);\n let routes: Routes = [];\n routes = [\n {\n path: 'login',\n canActivate: [loginGuard],\n loadComponent: () => {\n if (\n [\n AXMAuthenticationTypes.UsernamePassword,\n AXMAuthenticationTypes.EmailPassword,\n AXMAuthenticationTypes.MobilePassword,\n ].includes(val.type)\n ) {\n return import('./password/password.component').then((c) => c.AXPLoginPasswordComponent);\n } else {\n return import('./password/password.component').then((c) => c.AXPLoginPasswordComponent);\n }\n },\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [RouterModule],\n exports: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ],\n})\nexport class AXPSignInModule {}\n"],"names":[],"mappings":";;;;;AAIA,SAAS,YAAY,GAAA;AACnB,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACzC,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAChD,IAAI,MAAM,GAAW,EAAE;AACvB,IAAA,MAAM,GAAG;AACP,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,aAAa,EAAE,MAAK;gBAClB,IACE;AACE,oBAAA,sBAAsB,CAAC,gBAAgB;AACvC,oBAAA,sBAAsB,CAAC,aAAa;AACpC,oBAAA,sBAAsB,CAAC,cAAc;AACtC,iBAAA,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EACpB;AACA,oBAAA,OAAO,OAAO,uDAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;gBACzF;qBAAO;AACL,oBAAA,OAAO,OAAO,uDAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;gBACzF;YACF,CAAC;AACF,SAAA;KACF;AACD,IAAA,OAAO,MAAM;AACf;MAaa,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAVhB,YAAY,CAAA,EAAA,CAAA,CAAA;AAUX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAAA,SAAA,EARf;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,YAAY;AACzB,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CARS,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAUX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,YAAY;AACzB,yBAAA;AACF,qBAAA;AACF,iBAAA;;;;;"}
@@ -4,7 +4,7 @@ import * as i0 from '@angular/core';
4
4
  import { inject, ViewEncapsulation, Component } from '@angular/core';
5
5
  import * as i1 from '@angular/router';
6
6
  import { RouterModule } from '@angular/router';
7
- import { A as AXM_AUTH_CONFIG_TOKEN } from './acorex-modules-auth-acorex-modules-auth-wfCSNwXC.mjs';
7
+ import { A as AXM_AUTH_CONFIG_TOKEN } from './acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs';
8
8
  import * as i1$1 from '@acorex/platform/core';
9
9
  import { AXPComponentSlotModule, AXPContextStore } from '@acorex/platform/core';
10
10
 
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
22
22
  }] });
23
23
 
24
24
  export { AXPAuthMasterLayoutComponent };
25
- //# sourceMappingURL=acorex-modules-auth-master.layout-Clx8QDYW.mjs.map
25
+ //# sourceMappingURL=acorex-modules-auth-master.layout-BapDYFZ_.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-auth-master.layout-Clx8QDYW.mjs","sources":["../../../../libs/modules/auth/src/lib/shared/layouts/master/master.layout.ts","../../../../libs/modules/auth/src/lib/shared/layouts/master/master.layout.html"],"sourcesContent":["import { AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { AXPLogoComponent } from '@acorex/platform/layout/components';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../../auth.config';\nimport { AXPComponentSlotModule, AXPContextStore } from '@acorex/platform/core';\n\n@Component({\n templateUrl: 'master.layout.html',\n styleUrls: ['master.layout.scss'],\n imports: [RouterModule, AXPLogoComponent, AXPComponentSlotModule],\n providers: [AXPContextStore],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPAuthMasterLayoutComponent {\n protected authConfig = inject(AXM_AUTH_CONFIG_TOKEN);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n}\n","<div class=\"ax-w-full ax-h-full ax-flex\">\n <div\n class=\"ax-flex-1 ax-bg-lighter ax-text-on-lighter dark:ax-bg-darkest dark:ax-text-on-darkest ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\"\n >\n <router-outlet></router-outlet>\n <div class=\"ax-flex ax-justify-between\">\n <div class=\"auth-footer-links\">\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\n </div>\n </div>\n </div>\n <div\n class=\"ax-hidden lg:ax-flex ax-bg-primary-500 ax-light ax-text-primary-on-surface ax-text-on-brand ax-flex-1 axp-auth-bk\"\n >\n <div class=\"ax-flex ax-w-full ax-flex-col ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\n <div>\n <axp-logo\n [source]=\"platformConfig.logo?.full?.dark\"\n [attr.alt]=\"platformConfig.title\"\n class=\"ax-mx-auto ax-text-2xl\"\n ></axp-logo>\n </div>\n <div class=\"ax-text-primary-on-dark dark:ax-text-primary-on-darkest\">\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">{{authConfig.signinPage?.slogan}}</p>\n <p>{{authConfig.signinPage?.description}}</p>\n </div>\n </div>\n </div>\n</div>\n"],"names":["i2"],"mappings":";;;;;;;;;;MAca,4BAA4B,CAAA;AAPzC,IAAA,WAAA,GAAA;AAQY,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC7D,IAAA;8GAHY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,SAAA,EAH5B,CAAC,eAAe,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX9B,6qCA6BA,EAAA,MAAA,EAAA,CAAA,8SAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIrD,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;AAGC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,EAAA,SAAA,EACtD,CAAC,eAAe,CAAC,EAAA,aAAA,EACb,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6qCAAA,EAAA,MAAA,EAAA,CAAA,8SAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-modules-auth-master.layout-BapDYFZ_.mjs","sources":["../../../../libs/modules/auth/src/lib/shared/layouts/master/master.layout.ts","../../../../libs/modules/auth/src/lib/shared/layouts/master/master.layout.html"],"sourcesContent":["import { AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { AXPLogoComponent } from '@acorex/platform/layout/components';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../../auth.config';\nimport { AXPComponentSlotModule, AXPContextStore } from '@acorex/platform/core';\n\n@Component({\n templateUrl: 'master.layout.html',\n styleUrls: ['master.layout.scss'],\n imports: [RouterModule, AXPLogoComponent, AXPComponentSlotModule],\n providers: [AXPContextStore],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPAuthMasterLayoutComponent {\n protected authConfig = inject(AXM_AUTH_CONFIG_TOKEN);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n}\n","<div class=\"ax-w-full ax-h-full ax-flex\">\n <div\n class=\"ax-flex-1 ax-bg-lighter ax-text-on-lighter dark:ax-bg-darkest dark:ax-text-on-darkest ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\"\n >\n <router-outlet></router-outlet>\n <div class=\"ax-flex ax-justify-between\">\n <div class=\"auth-footer-links\">\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\n </div>\n </div>\n </div>\n <div\n class=\"ax-hidden lg:ax-flex ax-bg-primary-500 ax-light ax-text-primary-on-surface ax-text-on-brand ax-flex-1 axp-auth-bk\"\n >\n <div class=\"ax-flex ax-w-full ax-flex-col ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\n <div>\n <axp-logo\n [source]=\"platformConfig.logo?.full?.dark\"\n [attr.alt]=\"platformConfig.title\"\n class=\"ax-mx-auto ax-text-2xl\"\n ></axp-logo>\n </div>\n <div class=\"ax-text-primary-on-dark dark:ax-text-primary-on-darkest\">\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">{{authConfig.signinPage?.slogan}}</p>\n <p>{{authConfig.signinPage?.description}}</p>\n </div>\n </div>\n </div>\n</div>\n"],"names":["i2"],"mappings":";;;;;;;;;;MAca,4BAA4B,CAAA;AAPzC,IAAA,WAAA,GAAA;AAQY,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC7D,IAAA;8GAHY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,SAAA,EAH5B,CAAC,eAAe,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX9B,6qCA6BA,EAAA,MAAA,EAAA,CAAA,8SAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIrD,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;AAGC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,EAAA,SAAA,EACtD,CAAC,eAAe,CAAC,EAAA,aAAA,EACb,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6qCAAA,EAAA,MAAA,EAAA,CAAA,8SAAA,CAAA,EAAA;;;;;"}
@@ -12,7 +12,7 @@ import * as i0 from '@angular/core';
12
12
  import { inject, Component } from '@angular/core';
13
13
  import { Router, ActivatedRoute } from '@angular/router';
14
14
  import { BehaviorSubject } from 'rxjs';
15
- import { A as AXM_AUTH_CONFIG_TOKEN } from './acorex-modules-auth-acorex-modules-auth-wfCSNwXC.mjs';
15
+ import { A as AXM_AUTH_CONFIG_TOKEN } from './acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs';
16
16
 
17
17
  class AXPOAuthCallbackComponent {
18
18
  constructor() {
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
94
94
  }] });
95
95
 
96
96
  export { AXPOAuthCallbackComponent };
97
- //# sourceMappingURL=acorex-modules-auth-oauth-callback.component-CGnGAPJ2.mjs.map
97
+ //# sourceMappingURL=acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs.map