@acorex/modules 19.3.0-next.2 → 19.3.0-next.3

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 (141) hide show
  1. package/auth/lib/pages/account/app-chooser/app-chooser-list.component.d.ts +1 -0
  2. package/auth/lib/pages/account/tenant-chooser/tenant-chooser.component.d.ts +3 -0
  3. package/common/index.d.ts +2 -1
  4. package/common/lib/common.module.d.ts +2 -1
  5. package/common/lib/features/home-dashboard/dashboard-home/home-dashboard.d.ts +1 -2
  6. package/common/lib/features/home-dashboard/home-dashboard.module.d.ts +7 -0
  7. package/common/lib/features/home-dashboard/widget-wrapper/dashboard-widget-wrapper.d.ts +5 -3
  8. package/common/lib/features/home-dashboard/widgets/dashboard-shortcut/dashboard-shortcut-widget-view.component.d.ts +24 -0
  9. package/common/lib/features/home-dashboard/widgets/dashboard-shortcut/dashboard-shortcut-widget.config.d.ts +2 -0
  10. package/common/lib/menu.provider.d.ts +1 -0
  11. package/common/lib/widgets-names-list.d.ts +39 -0
  12. package/document-management/index.d.ts +1 -1
  13. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +8 -0
  14. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DoIq3IkC.mjs → acorex-modules-auth-acorex-modules-auth-DWcYgyZA.mjs} +26 -25
  15. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DWcYgyZA.mjs.map +1 -0
  16. package/fesm2022/{acorex-modules-auth-app-chooser.component-D5z_sxdb.mjs → acorex-modules-auth-app-chooser.component-rr25Ry55.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-auth-app-chooser.component-D5z_sxdb.mjs.map → acorex-modules-auth-app-chooser.component-rr25Ry55.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-auth-login.module-D1lvqgpY.mjs → acorex-modules-auth-login.module-BgTtZuTg.mjs} +4 -4
  19. package/fesm2022/{acorex-modules-auth-login.module-D1lvqgpY.mjs.map → acorex-modules-auth-login.module-BgTtZuTg.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-auth-master.layout-D0wN1nJg.mjs → acorex-modules-auth-master.layout-he9vVKsC.mjs} +2 -2
  21. package/fesm2022/{acorex-modules-auth-master.layout-D0wN1nJg.mjs.map → acorex-modules-auth-master.layout-he9vVKsC.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-auth-password.component-BxgUw_hF.mjs → acorex-modules-auth-password.component-U16w7Rq4.mjs} +5 -5
  23. package/fesm2022/{acorex-modules-auth-password.component-BxgUw_hF.mjs.map → acorex-modules-auth-password.component-U16w7Rq4.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-auth-password.component-DwcP8s1c.mjs → acorex-modules-auth-password.component-_ceO6nyb.mjs} +6 -6
  25. package/fesm2022/{acorex-modules-auth-password.component-DwcP8s1c.mjs.map → acorex-modules-auth-password.component-_ceO6nyb.mjs.map} +1 -1
  26. package/fesm2022/{acorex-modules-auth-routes-BfuRe12M.mjs → acorex-modules-auth-routes-CSGjcpD8.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-auth-routes-BfuRe12M.mjs.map → acorex-modules-auth-routes-CSGjcpD8.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-auth-setting.provider-CM-T8nbI.mjs → acorex-modules-auth-settings.provider-CM-T8nbI.mjs} +1 -1
  29. package/fesm2022/acorex-modules-auth-settings.provider-CM-T8nbI.mjs.map +1 -0
  30. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-YZBKyJFH.mjs → acorex-modules-auth-tenant-chooser.component-B5VHdItj.mjs} +24 -10
  31. package/fesm2022/acorex-modules-auth-tenant-chooser.component-B5VHdItj.mjs.map +1 -0
  32. package/fesm2022/{acorex-modules-auth-two-factor-code.component-B2ZYJOrN.mjs → acorex-modules-auth-two-factor-code.component-PqOn37Gg.mjs} +3 -3
  33. package/fesm2022/{acorex-modules-auth-two-factor-code.component-B2ZYJOrN.mjs.map → acorex-modules-auth-two-factor-code.component-PqOn37Gg.mjs.map} +1 -1
  34. package/fesm2022/{acorex-modules-auth-two-factor.module-BV_amlHF.mjs → acorex-modules-auth-two-factor.module-B9UV3Nxb.mjs} +3 -3
  35. package/fesm2022/{acorex-modules-auth-two-factor.module-BV_amlHF.mjs.map → acorex-modules-auth-two-factor.module-B9UV3Nxb.mjs.map} +1 -1
  36. package/fesm2022/{acorex-modules-auth-user-sessions.component-CjXRKjtX.mjs → acorex-modules-auth-user-sessions.component-Dx0zd4Nj.mjs} +5 -5
  37. package/fesm2022/{acorex-modules-auth-user-sessions.component-CjXRKjtX.mjs.map → acorex-modules-auth-user-sessions.component-Dx0zd4Nj.mjs.map} +1 -1
  38. package/fesm2022/acorex-modules-auth.mjs +1 -1
  39. package/fesm2022/acorex-modules-common-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs +139 -0
  40. package/fesm2022/acorex-modules-common-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs.map +1 -0
  41. package/fesm2022/{acorex-modules-common-index-BhPbl6D7.mjs → acorex-modules-common-index-Dt3vRkkx.mjs} +20 -23
  42. package/fesm2022/acorex-modules-common-index-Dt3vRkkx.mjs.map +1 -0
  43. package/fesm2022/acorex-modules-common.mjs +168 -30
  44. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  45. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-By3KxyQi.mjs → acorex-modules-document-management-acorex-modules-document-management-CRoewhvP.mjs} +43 -41
  46. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-CRoewhvP.mjs.map +1 -0
  47. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BY-8zP2Y.mjs → acorex-modules-document-management-create-folder-dialog.component-m7SsCGA1.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BY-8zP2Y.mjs.map → acorex-modules-document-management-create-folder-dialog.component-m7SsCGA1.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-document-management-details-view.component-T2Wfo1An.mjs → acorex-modules-document-management-details-view.component-CWvWCgXL.mjs} +2 -2
  50. package/fesm2022/{acorex-modules-document-management-details-view.component-T2Wfo1An.mjs.map → acorex-modules-document-management-details-view.component-CWvWCgXL.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-document-management-drive-choose.component-B9OGXyP2.mjs → acorex-modules-document-management-drive-choose.component-Dh9nJCMs.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-document-management-drive-choose.component-B9OGXyP2.mjs.map → acorex-modules-document-management-drive-choose.component-Dh9nJCMs.mjs.map} +1 -1
  53. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-CbS823XB.mjs → acorex-modules-document-management-large-icons-view.component-DZ5MHPYz.mjs} +2 -2
  54. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-CbS823XB.mjs.map → acorex-modules-document-management-large-icons-view.component-DZ5MHPYz.mjs.map} +1 -1
  55. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-_u1vSWi5.mjs → acorex-modules-document-management-large-tiles-view.component-CS_2hXao.mjs} +2 -2
  56. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-_u1vSWi5.mjs.map → acorex-modules-document-management-large-tiles-view.component-CS_2hXao.mjs.map} +1 -1
  57. package/fesm2022/{acorex-modules-document-management-list-view.component-jXR4GQlh.mjs → acorex-modules-document-management-list-view.component-L1hUtLp8.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-document-management-list-view.component-jXR4GQlh.mjs.map → acorex-modules-document-management-list-view.component-L1hUtLp8.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-Cp_X2KqY.mjs → acorex-modules-document-management-rename-node-dialog.component-4fkD6VF4.mjs} +2 -2
  60. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-Cp_X2KqY.mjs.map → acorex-modules-document-management-rename-node-dialog.component-4fkD6VF4.mjs.map} +1 -1
  61. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CkoUBGKu.mjs → acorex-modules-document-management-small-icons-view.component-CfHVW4AR.mjs} +2 -2
  62. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CkoUBGKu.mjs.map → acorex-modules-document-management-small-icons-view.component-CfHVW4AR.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BFyR4x39.mjs → acorex-modules-document-management-small-tiles-view.component-CJJ4KRcD.mjs} +2 -2
  64. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BFyR4x39.mjs.map → acorex-modules-document-management-small-tiles-view.component-CJJ4KRcD.mjs.map} +1 -1
  65. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  66. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-B89YXZyp.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-Di2Dkvbh.mjs} +7 -7
  67. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-B89YXZyp.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-Di2Dkvbh.mjs.map} +1 -1
  68. package/fesm2022/{acorex-modules-form-template-management-category.entity-Dijep_aT.mjs → acorex-modules-form-template-management-category.entity-Cv-0gZOh.mjs} +5 -5
  69. package/fesm2022/acorex-modules-form-template-management-category.entity-Cv-0gZOh.mjs.map +1 -0
  70. package/fesm2022/{acorex-modules-form-template-management-setting.provider-CT_uJT9V.mjs → acorex-modules-form-template-management-settings.provider-BZoYtsfh.mjs} +13 -5
  71. package/fesm2022/acorex-modules-form-template-management-settings.provider-BZoYtsfh.mjs.map +1 -0
  72. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-C5gnjRm4.mjs → acorex-modules-form-template-management-template-widget-edit.component-CNFyBxpm.mjs} +2 -2
  73. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-C5gnjRm4.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-CNFyBxpm.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-form-template-management-template.entity-dw1iFvcm.mjs → acorex-modules-form-template-management-template.entity-DbWv7ar9.mjs} +9 -9
  75. package/fesm2022/acorex-modules-form-template-management-template.entity-DbWv7ar9.mjs.map +1 -0
  76. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-oYKbLQpE.mjs → acorex-modules-form-template-management-viewer-popup.component-CMrQl-UQ.mjs} +2 -2
  77. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-oYKbLQpE.mjs.map → acorex-modules-form-template-management-viewer-popup.component-CMrQl-UQ.mjs.map} +1 -1
  78. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  79. package/fesm2022/acorex-modules-log-management.mjs +286 -31
  80. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  81. package/fesm2022/acorex-modules-notification-management.mjs +22 -21
  82. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  83. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-BFu7TUGC.mjs → acorex-modules-organization-management-org-chart-configuration.page-DFqOS0So.mjs} +2 -2
  84. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-BFu7TUGC.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-DFqOS0So.mjs.map} +1 -1
  85. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-B4ohp4o5.mjs → acorex-modules-organization-management-org-chart-configuration.service-2EZNvjAH.mjs} +2 -2
  86. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-2EZNvjAH.mjs.map +1 -0
  87. package/fesm2022/{acorex-modules-organization-management-org-chart.page-BIytyLYP.mjs → acorex-modules-organization-management-org-chart.page-eDTvyQpA.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-organization-management-org-chart.page-BIytyLYP.mjs.map → acorex-modules-organization-management-org-chart.page-eDTvyQpA.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-organization-management-setting.keys-CF6Giykz.mjs → acorex-modules-organization-management-settings.keys-B3cgSi_S.mjs} +2 -2
  90. package/fesm2022/acorex-modules-organization-management-settings.keys-B3cgSi_S.mjs.map +1 -0
  91. package/fesm2022/{acorex-modules-organization-management-setting.provider-BPjFNA5E.mjs → acorex-modules-organization-management-settings.provider-hlbUXugb.mjs} +2 -2
  92. package/fesm2022/acorex-modules-organization-management-settings.provider-hlbUXugb.mjs.map +1 -0
  93. package/fesm2022/acorex-modules-organization-management.mjs +42 -5
  94. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  95. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-Ckc1_cpl.mjs → acorex-modules-platform-management-acorex-modules-platform-management-pKyqsPS6.mjs} +62 -6
  96. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-pKyqsPS6.mjs.map +1 -0
  97. package/fesm2022/{acorex-modules-platform-management-capture-screen.component-B9hhUIbH.mjs → acorex-modules-platform-management-capture-screen.component-DN1Jnp7_.mjs} +2 -2
  98. package/fesm2022/{acorex-modules-platform-management-capture-screen.component-B9hhUIbH.mjs.map → acorex-modules-platform-management-capture-screen.component-DN1Jnp7_.mjs.map} +1 -1
  99. package/fesm2022/{acorex-modules-platform-management-list-version.component-kbqAusu_.mjs → acorex-modules-platform-management-list-version.component-SLcO7Tof.mjs} +4 -4
  100. package/fesm2022/{acorex-modules-platform-management-list-version.component-kbqAusu_.mjs.map → acorex-modules-platform-management-list-version.component-SLcO7Tof.mjs.map} +1 -1
  101. package/fesm2022/{acorex-modules-platform-management-setting.provider-DEzI0jUt.mjs → acorex-modules-platform-management-settings.provider-CsrDpQQi.mjs} +15 -15
  102. package/fesm2022/acorex-modules-platform-management-settings.provider-CsrDpQQi.mjs.map +1 -0
  103. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  104. package/fesm2022/{acorex-modules-text-template-management-setting.provider-fX0dhWUL.mjs → acorex-modules-text-template-management-settings.provider-fX0dhWUL.mjs} +1 -1
  105. package/fesm2022/acorex-modules-text-template-management-settings.provider-fX0dhWUL.mjs.map +1 -0
  106. package/fesm2022/acorex-modules-text-template-management.mjs +2 -2
  107. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  108. package/form-template-management/lib/settings.keys.d.ts +6 -0
  109. package/log-management/index.d.ts +1 -1
  110. package/log-management/lib/settings.keys.d.ts +16 -0
  111. package/log-management/lib/settings.provider.d.ts +12 -0
  112. package/notification-management/index.d.ts +1 -1
  113. package/organization-management/lib/{setting.keys.d.ts → settings.keys.d.ts} +1 -1
  114. package/package.json +1 -1
  115. package/platform-management/lib/features/release-notes/settings.keys.d.ts +3 -0
  116. package/platform-management/lib/features/release-notes/settings.provider.d.ts +11 -0
  117. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DoIq3IkC.mjs.map +0 -1
  118. package/fesm2022/acorex-modules-auth-setting.provider-CM-T8nbI.mjs.map +0 -1
  119. package/fesm2022/acorex-modules-auth-tenant-chooser.component-YZBKyJFH.mjs.map +0 -1
  120. package/fesm2022/acorex-modules-common-index-BhPbl6D7.mjs.map +0 -1
  121. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-By3KxyQi.mjs.map +0 -1
  122. package/fesm2022/acorex-modules-form-template-management-category.entity-Dijep_aT.mjs.map +0 -1
  123. package/fesm2022/acorex-modules-form-template-management-setting.provider-CT_uJT9V.mjs.map +0 -1
  124. package/fesm2022/acorex-modules-form-template-management-template.entity-dw1iFvcm.mjs.map +0 -1
  125. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-B4ohp4o5.mjs.map +0 -1
  126. package/fesm2022/acorex-modules-organization-management-setting.keys-CF6Giykz.mjs.map +0 -1
  127. package/fesm2022/acorex-modules-organization-management-setting.provider-BPjFNA5E.mjs.map +0 -1
  128. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-Ckc1_cpl.mjs.map +0 -1
  129. package/fesm2022/acorex-modules-platform-management-setting.provider-DEzI0jUt.mjs.map +0 -1
  130. package/fesm2022/acorex-modules-text-template-management-setting.provider-fX0dhWUL.mjs.map +0 -1
  131. package/text-template-management/lib/setting.provider.d.ts +0 -4
  132. /package/auth/lib/{setting.provider.d.ts → settings.provider.d.ts} +0 -0
  133. /package/common/lib/{setting.provider.d.ts → settings.provider.d.ts} +0 -0
  134. /package/document-management/lib/{setting.provider.d.ts → settings.provider.d.ts} +0 -0
  135. /package/form-template-management/lib/{setting.provider.d.ts → settings.provider.d.ts} +0 -0
  136. /package/notification-management/lib/{setting.keys.d.ts → settings.keys.d.ts} +0 -0
  137. /package/notification-management/lib/{setting.provider.d.ts → settings.provider.d.ts} +0 -0
  138. /package/organization-management/lib/{setting.provider.d.ts → settings.provider.d.ts} +0 -0
  139. /package/platform-management/lib/features/common/regional/{setting.keys.d.ts → settings.keys.d.ts} +0 -0
  140. /package/platform-management/lib/features/common/regional/{setting.provider.d.ts → settings.provider.d.ts} +0 -0
  141. /package/{log-management/lib/setting.provider.d.ts → text-template-management/lib/settings.provider.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-auth-tenant-chooser.component-B5VHdItj.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser.component.ts","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser.component.html"],"sourcesContent":["import { Component, OnDestroy, 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 { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService, AXPTenant } from '@acorex/platform/auth';\nimport { AXPLogoComponent, AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Subscription, first } from 'rxjs';\n\n@Component({\n selector: 'axp-auth-tenant-chooser',\n templateUrl: './tenant-chooser.component.html',\n styleUrls: ['./tenant-chooser.component.scss'],\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXAvatarModule,\n AXImageModule,\n AXDecoratorModule,\n AXPLogoComponent,\n AXLoadingModule,\n AXTranslationModule,\n AXSearchBoxModule,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPAuthTenantChooserComponent implements OnInit, OnDestroy {\n private router = inject(Router);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n private sessionService = inject(AXPSessionService);\n\n private subscription = new Subscription();\n\n protected user = this.sessionService.user;\n\n protected searchValue = '';\n protected showAll = false;\n protected selectedTenant: AXPTenant | null = null;\n protected displayedTenants: AXPTenant[] = [];\n protected allTenants!: AXPTenant[];\n\n protected async handleChooseTenant(item: AXPTenant) {\n this.selectedTenant = item;\n await this.sessionService.setTenant(item);\n this.router.navigate(['/auth/account/app-chooser']);\n }\n\n ngOnInit(): void {\n this.sessionService.tenants$.pipe(first()).subscribe((tenants) => {\n this.displayedTenants = tenants.slice(0, 4);\n this.allTenants = tenants;\n });\n }\n\n filterTenants(tenants: AXPTenant[]): AXPTenant[] {\n return tenants.filter((tenant) => tenant.title.toLowerCase().includes(this.searchValue.toLowerCase()));\n }\n\n handleSearch(event: string) {\n if (event != undefined) {\n this.searchValue = event;\n this.displayedTenants = this.filterTenants(this.allTenants);\n }\n }\n\n showAllTenants() {\n this.showAll = !this.showAll;\n this.displayedTenants = this.filterTenants(this.showAll ? this.allTenants : this.allTenants.slice(0, 4));\n }\n\n async handleSignout() {\n await this.sessionService.signout();\n this.router.navigate(['/auth/login']);\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n}\n","<main\n *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>\n <section>\n <axp-logo\n [source]=\"platformConfig.logo?.colored\"\n [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"\n ></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 md:ax-w-96 ax-w-80\"\n >\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t('tenant-chooser.description', { scope: 'auth' }) | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @if(allTenants && allTenants.length > 4){\n <ax-search-box\n [placeholder]=\"'search' | translate | async\"\n [ngModel]=\"searchValue\"\n (ngModelChange)=\"handleSearch($event)\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n } @for(tenant of displayedTenants; 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-center ax-cursor-pointer\"\n (click)=\"handleChooseTenant(tenant)\"\n >\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-size-12 ax-min-w-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\"\n >\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n @if(tenant.name===selectedTenant?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n }\n </div>\n @if(allTenants && allTenants.length>4){\n <div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button\n (onClick)=\"showAllTenants()\"\n class=\"ax-w-full\"\n look=\"outline\"\n [text]=\"showAll ? (t('viewLess') | async) : (t('viewAll') | async)\"\n ></ax-button>\n </div>\n }\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t('tenant-chooser.footer', { scope: 'auth' }) | async }}\n <a (click)=\"handleSignout()\" class=\"ax-text-primary ax-cursor-pointer hover:ax-underline ax-font-medium\">\n {{ t('backLogin', { scope: 'auth' }) | async }}\n </a>\n </p>\n </section>\n</main>\n"],"names":["i4","i5","i6","i7"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { ViewEncapsulation, Component } from '@angular/core';
3
- import * as i2$1 from '@acorex/components/button';
3
+ import * as i3 from '@acorex/components/button';
4
4
  import { AXButtonModule } from '@acorex/components/button';
5
5
  import { AXDecoratorModule } from '@acorex/components/decorators';
6
6
  import * as i2 from '@acorex/components/form';
@@ -19,7 +19,7 @@ class AXPAuthTwoFactorCodeComponent {
19
19
  ngOnInit() { }
20
20
  ngOnDestroy() { }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthTwoFactorCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPAuthTwoFactorCodeComponent, isStandalone: true, selector: "axp-auth-two-factor-code", ngImport: i0, template: "<ng-container *translate=\"let t\">\n <div class=\"ax-text-center ax-mb-8\">\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">\n {{ t('auth.twofactor.title') | async }}\n </h1>\n <p class=\"ax-text-base ax-text-neutral-600 ax-mb-4\">\n {{ t('auth.twofactor.hint') | async }}\n </p>\n <p class=\"ax-text-base ax-font-medium\">**** *** 3320</p>\n </div>\n <div class=\"ax-w-80 lg:ax-w-96\">\n <ax-form>\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\n <ax-form-field>\n <ax-label class=\"ax-text-start\">{{ t('auth.twofactor.textBoxHint') | async }}</ax-label>\n <ax-password-box></ax-password-box>\n </ax-form-field>\n <ax-button class=\"ax-w-full\" [text]=\"t('common.submit') | async\" color=\"primary\"> </ax-button>\n </div>\n </ax-form>\n </div>\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.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: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i7.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXPasswordBoxModule }, { kind: "component", type: i5.AXPasswordBoxComponent, selector: "ax-password-box", inputs: ["readonly", "disabled", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "autoComplete", "showToggleButton", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }], encapsulation: i0.ViewEncapsulation.None }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPAuthTwoFactorCodeComponent, isStandalone: true, selector: "axp-auth-two-factor-code", ngImport: i0, template: "<ng-container *translate=\"let t\">\n <div class=\"ax-text-center ax-mb-8\">\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">\n {{ t('auth.twofactor.title') | async }}\n </h1>\n <p class=\"ax-text-base ax-text-neutral-600 ax-mb-4\">\n {{ t('auth.twofactor.hint') | async }}\n </p>\n <p class=\"ax-text-base ax-font-medium\">**** *** 3320</p>\n </div>\n <div class=\"ax-w-80 lg:ax-w-96\">\n <ax-form>\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\n <ax-form-field>\n <ax-label class=\"ax-text-start\">{{ t('auth.twofactor.textBoxHint') | async }}</ax-label>\n <ax-password-box></ax-password-box>\n </ax-form-field>\n <ax-button class=\"ax-w-full\" [text]=\"t('common.submit') | async\" color=\"primary\"> </ax-button>\n </div>\n </ax-form>\n </div>\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.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: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i7.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXPasswordBoxModule }, { kind: "component", type: i5.AXPasswordBoxComponent, selector: "ax-password-box", inputs: ["readonly", "disabled", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "autoComplete", "showToggleButton", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }], encapsulation: i0.ViewEncapsulation.None }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthTwoFactorCodeComponent, decorators: [{
25
25
  type: Component,
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
37
37
  }] });
38
38
 
39
39
  export { AXPAuthTwoFactorCodeComponent };
40
- //# sourceMappingURL=acorex-modules-auth-two-factor-code.component-B2ZYJOrN.mjs.map
40
+ //# sourceMappingURL=acorex-modules-auth-two-factor-code.component-PqOn37Gg.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-auth-two-factor-code.component-B2ZYJOrN.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/two-factor/two-factor-code/two-factor-code.component.ts","../../../../libs/modules/auth/src/lib/pages/two-factor/two-factor-code/two-factor-code.component.html"],"sourcesContent":["import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPasswordBoxModule } from '@acorex/components/password-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\n\n\n@Component({\n selector: 'axp-auth-two-factor-code',\n templateUrl: './two-factor-code.component.html',\n imports: [\n CommonModule,\n AXFormModule,\n AXButtonModule,\n AXDecoratorModule,\n AXFormModule,\n AXTextBoxModule,\n AXLabelModule,\n AXPasswordBoxModule,\n AXTranslationModule,\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPAuthTwoFactorCodeComponent implements OnInit, OnDestroy {\n ngOnInit(): void { }\n\n ngOnDestroy(): void { }\n}\n","<ng-container *translate=\"let t\">\n <div class=\"ax-text-center ax-mb-8\">\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">\n {{ t('auth.twofactor.title') | async }}\n </h1>\n <p class=\"ax-text-base ax-text-neutral-600 ax-mb-4\">\n {{ t('auth.twofactor.hint') | async }}\n </p>\n <p class=\"ax-text-base ax-font-medium\">**** *** 3320</p>\n </div>\n <div class=\"ax-w-80 lg:ax-w-96\">\n <ax-form>\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\n <ax-form-field>\n <ax-label class=\"ax-text-start\">{{ t('auth.twofactor.textBoxHint') | async }}</ax-label>\n <ax-password-box></ax-password-box>\n </ax-form-field>\n <ax-button class=\"ax-w-full\" [text]=\"t('common.submit') | async\" color=\"primary\"> </ax-button>\n </div>\n </ax-form>\n </div>\n</ng-container>"],"names":["i3","i4"],"mappings":";;;;;;;;;;;;;;;;;MA4Ba,6BAA6B,CAAA;AACxC,IAAA,QAAQ;AAER,IAAA,WAAW;8GAHA,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,oFC5B1C,m1BAqBe,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLP,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,8BAEjB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,+ZACnB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAId,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAhBzC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAE3B,OAAA,EAAA;wBACL,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,iBAAiB;wBACjB,YAAY;wBACZ,eAAe;wBACf,aAAa;wBACb,mBAAmB;wBACnB,mBAAmB;qBACtB,EACc,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,m1BAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-modules-auth-two-factor-code.component-PqOn37Gg.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/two-factor/two-factor-code/two-factor-code.component.ts","../../../../libs/modules/auth/src/lib/pages/two-factor/two-factor-code/two-factor-code.component.html"],"sourcesContent":["import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPasswordBoxModule } from '@acorex/components/password-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\n\n\n@Component({\n selector: 'axp-auth-two-factor-code',\n templateUrl: './two-factor-code.component.html',\n imports: [\n CommonModule,\n AXFormModule,\n AXButtonModule,\n AXDecoratorModule,\n AXFormModule,\n AXTextBoxModule,\n AXLabelModule,\n AXPasswordBoxModule,\n AXTranslationModule,\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPAuthTwoFactorCodeComponent implements OnInit, OnDestroy {\n ngOnInit(): void { }\n\n ngOnDestroy(): void { }\n}\n","<ng-container *translate=\"let t\">\n <div class=\"ax-text-center ax-mb-8\">\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">\n {{ t('auth.twofactor.title') | async }}\n </h1>\n <p class=\"ax-text-base ax-text-neutral-600 ax-mb-4\">\n {{ t('auth.twofactor.hint') | async }}\n </p>\n <p class=\"ax-text-base ax-font-medium\">**** *** 3320</p>\n </div>\n <div class=\"ax-w-80 lg:ax-w-96\">\n <ax-form>\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\n <ax-form-field>\n <ax-label class=\"ax-text-start\">{{ t('auth.twofactor.textBoxHint') | async }}</ax-label>\n <ax-password-box></ax-password-box>\n </ax-form-field>\n <ax-button class=\"ax-w-full\" [text]=\"t('common.submit') | async\" color=\"primary\"> </ax-button>\n </div>\n </ax-form>\n </div>\n</ng-container>"],"names":["i4"],"mappings":";;;;;;;;;;;;;;;;;MA4Ba,6BAA6B,CAAA;AACxC,IAAA,QAAQ;AAER,IAAA,WAAW;8GAHA,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,oFC5B1C,m1BAqBe,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLP,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,8BAEjB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,+ZACnB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAId,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAhBzC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAE3B,OAAA,EAAA;wBACL,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,iBAAiB;wBACjB,YAAY;wBACZ,eAAe;wBACf,aAAa;wBACb,mBAAmB;wBACnB,mBAAmB;qBACtB,EACc,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,m1BAAA,EAAA;;;;;"}
@@ -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 } from './acorex-modules-auth-acorex-modules-auth-DoIq3IkC.mjs';
4
+ import { A as AXM_AUTH_CONFIG_TOKEN } from './acorex-modules-auth-acorex-modules-auth-DWcYgyZA.mjs';
5
5
 
6
6
  function routesFacory() {
7
7
  const val = inject(AXM_AUTH_CONFIG_TOKEN);
@@ -9,7 +9,7 @@ function routesFacory() {
9
9
  routes = [
10
10
  {
11
11
  path: 'two-step',
12
- loadComponent: () => import('./acorex-modules-auth-two-factor-code.component-B2ZYJOrN.mjs').then((c) => c.AXPAuthTwoFactorCodeComponent),
12
+ loadComponent: () => import('./acorex-modules-auth-two-factor-code.component-PqOn37Gg.mjs').then((c) => c.AXPAuthTwoFactorCodeComponent),
13
13
  },
14
14
  ];
15
15
  return routes;
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
42
42
  }] });
43
43
 
44
44
  export { AXPTwoFactorModule };
45
- //# sourceMappingURL=acorex-modules-auth-two-factor.module-BV_amlHF.mjs.map
45
+ //# sourceMappingURL=acorex-modules-auth-two-factor.module-B9UV3Nxb.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-auth-two-factor.module-BV_amlHF.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/two-factor/two-factor.module.ts"],"sourcesContent":["import { inject, NgModule } from '@angular/core';\nimport { RouterModule, ROUTES, Routes } from '@angular/router';\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../auth.config';\n\nfunction routesFacory() {\n const val = inject(AXM_AUTH_CONFIG_TOKEN);\n let routes: Routes = [];\n routes = [\n {\n path: 'two-step',\n loadComponent: () =>\n import('./two-factor-code/two-factor-code.component').then((c) => c.AXPAuthTwoFactorCodeComponent),\n },\n ];\n return routes;\n}\n\n@NgModule({\n declarations: [],\n imports: [RouterModule],\n exports: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ],\n})\nexport class AXPTwoFactorModule {}\n"],"names":[],"mappings":";;;;;AAIA,SAAS,YAAY,GAAA;AACnB,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACzC,IAAI,MAAM,GAAW,EAAE;AACvB,IAAA,MAAM,GAAG;AACP,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,aAAa,EAAE,MACb,OAAO,8DAA6C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,6BAA6B,CAAC;AACrG,SAAA;KACF;AACD,IAAA,OAAO,MAAM;AACf;MAca,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,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,kBAAkB,YAVnB,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,kBAAkB,EARlB,SAAA,EAAA;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,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAZ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;oBAChB,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-two-factor.module-B9UV3Nxb.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/two-factor/two-factor.module.ts"],"sourcesContent":["import { inject, NgModule } from '@angular/core';\nimport { RouterModule, ROUTES, Routes } from '@angular/router';\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../auth.config';\n\nfunction routesFacory() {\n const val = inject(AXM_AUTH_CONFIG_TOKEN);\n let routes: Routes = [];\n routes = [\n {\n path: 'two-step',\n loadComponent: () =>\n import('./two-factor-code/two-factor-code.component').then((c) => c.AXPAuthTwoFactorCodeComponent),\n },\n ];\n return routes;\n}\n\n@NgModule({\n declarations: [],\n imports: [RouterModule],\n exports: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ],\n})\nexport class AXPTwoFactorModule {}\n"],"names":[],"mappings":";;;;;AAIA,SAAS,YAAY,GAAA;AACnB,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACzC,IAAI,MAAM,GAAW,EAAE;AACvB,IAAA,MAAM,GAAG;AACP,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,aAAa,EAAE,MACb,OAAO,8DAA6C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,6BAA6B,CAAC;AACrG,SAAA;KACF;AACD,IAAA,OAAO,MAAM;AACf;MAca,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,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,kBAAkB,YAVnB,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,kBAAkB,EARlB,SAAA,EAAA;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,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAZ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;oBAChB,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;;;;;"}
@@ -16,9 +16,9 @@ import * as i1$1 from '@angular/common';
16
16
  import { CommonModule } from '@angular/common';
17
17
  import * as i0 from '@angular/core';
18
18
  import { signal, inject, ChangeDetectorRef, computed, ChangeDetectionStrategy, Component } from '@angular/core';
19
- import * as i3 from '@angular/forms';
19
+ import * as i2 from '@angular/forms';
20
20
  import { FormsModule } from '@angular/forms';
21
- import { d as AXMUserDeviceSessionsService } from './acorex-modules-auth-acorex-modules-auth-DoIq3IkC.mjs';
21
+ import { d as AXMUserDeviceSessionsService } from './acorex-modules-auth-acorex-modules-auth-DWcYgyZA.mjs';
22
22
 
23
23
  class AXMUserSessionsComponent {
24
24
  constructor() {
@@ -116,7 +116,7 @@ class AXMUserSessionsComponent {
116
116
  await this.loadUserSessions();
117
117
  }
118
118
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMUserSessionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXMUserSessionsComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"ax-mx-auto ax-p-6\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\">This Device</p>\n <div\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\">\n <i class=\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\"></i>\n </div>\n <div *ngIf=\"activeSession()\">\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ activeSession()?.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ activeSession()?.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ activeSession()?.location }} <span>{{ activeSession()?.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\"\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\">\n <i class=\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\" (click)=\"onTerminateAll()\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">Terminate All Other Sessions</div>\n <p class=\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\">Log out all devices exept for this one.</p>\n </div>\n </div>\n <div *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\">Active Devices</p>\n <div *ngFor=\"let item of itemsWithIcons()\">\n <div\n class=\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <i\n class=\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\"\n (click)=\"onTerminate(item.id)\"\n ></i>\n\n <div class=\"ax-border ax-rounded-lg\">\n <i class=\"{{ item.icon }} ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ item.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ item.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ item.location }} <span>{{ item.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n </div>\n <ax-footer>\n <div class=\"ax-flex-col ax-w-full\">\n <div>\n <p class=\"ax-text-danger-500 ax-font-medium ax-text-base\">Terminate Old Sessions</p>\n </div>\n <div>\n <ax-suffix>\n <div class=\"ax-flex ax-items-center ax-justify-between ax-mt-4\">\n <div class=\"ax-font-normal ax-text-base ax-text-on-lightest\">If inactive for...</div>\n <div class=\"ax-w-3/6\">\n <ax-select-box [ngModel]=\"expireTime()\" (onValueChanged)=\"onChangeSessionExpireTime($event)\" [dataSource]=\"dataSource\" textField=\"name\" valueField=\"id\" placeholder=\"Choose...\">\n </ax-select-box>\n </div>\n </div>\n </ax-suffix>\n </div>\n </div>\n </ax-footer>\n</div>\n", dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i4.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXMUserSessionsComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"ax-mx-auto ax-p-6\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\">This Device</p>\n <div\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\">\n <i class=\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\"></i>\n </div>\n <div *ngIf=\"activeSession()\">\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ activeSession()?.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ activeSession()?.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ activeSession()?.location }} <span>{{ activeSession()?.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\"\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\">\n <i class=\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\" (click)=\"onTerminateAll()\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">Terminate All Other Sessions</div>\n <p class=\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\">Log out all devices exept for this one.</p>\n </div>\n </div>\n <div *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\">Active Devices</p>\n <div *ngFor=\"let item of itemsWithIcons()\">\n <div\n class=\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <i\n class=\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\"\n (click)=\"onTerminate(item.id)\"\n ></i>\n\n <div class=\"ax-border ax-rounded-lg\">\n <i class=\"{{ item.icon }} ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ item.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ item.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ item.location }} <span>{{ item.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ax-footer>\n <div class=\"ax-flex-col ax-w-full\">\n <div>\n <p class=\"ax-text-danger-500 ax-font-medium ax-text-base\">Terminate Old Sessions</p>\n </div>\n <div>\n <ax-suffix>\n <div class=\"ax-flex ax-items-center ax-justify-between ax-mt-4\">\n <div class=\"ax-font-normal ax-text-base ax-text-on-lightest\">If inactive for...</div>\n <div class=\"ax-w-3/6\">\n <ax-select-box\n [ngModel]=\"expireTime()\"\n (onValueChanged)=\"onChangeSessionExpireTime($event)\"\n [dataSource]=\"dataSource\"\n textField=\"name\"\n valueField=\"id\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n </div>\n </ax-suffix>\n </div>\n </div>\n</ax-footer>\n", dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i4.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
120
120
  }
121
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMUserSessionsComponent, decorators: [{
122
122
  type: Component,
@@ -128,8 +128,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
128
128
  AXSelectBoxModule,
129
129
  AXDropdownModule,
130
130
  AXPopoverModule,
131
- ], template: "<div class=\"ax-mx-auto ax-p-6\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\">This Device</p>\n <div\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\">\n <i class=\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\"></i>\n </div>\n <div *ngIf=\"activeSession()\">\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ activeSession()?.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ activeSession()?.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ activeSession()?.location }} <span>{{ activeSession()?.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\"\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\">\n <i class=\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\" (click)=\"onTerminateAll()\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">Terminate All Other Sessions</div>\n <p class=\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\">Log out all devices exept for this one.</p>\n </div>\n </div>\n <div *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\">Active Devices</p>\n <div *ngFor=\"let item of itemsWithIcons()\">\n <div\n class=\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <i\n class=\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\"\n (click)=\"onTerminate(item.id)\"\n ></i>\n\n <div class=\"ax-border ax-rounded-lg\">\n <i class=\"{{ item.icon }} ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ item.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ item.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ item.location }} <span>{{ item.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n </div>\n <ax-footer>\n <div class=\"ax-flex-col ax-w-full\">\n <div>\n <p class=\"ax-text-danger-500 ax-font-medium ax-text-base\">Terminate Old Sessions</p>\n </div>\n <div>\n <ax-suffix>\n <div class=\"ax-flex ax-items-center ax-justify-between ax-mt-4\">\n <div class=\"ax-font-normal ax-text-base ax-text-on-lightest\">If inactive for...</div>\n <div class=\"ax-w-3/6\">\n <ax-select-box [ngModel]=\"expireTime()\" (onValueChanged)=\"onChangeSessionExpireTime($event)\" [dataSource]=\"dataSource\" textField=\"name\" valueField=\"id\" placeholder=\"Choose...\">\n </ax-select-box>\n </div>\n </div>\n </ax-suffix>\n </div>\n </div>\n </ax-footer>\n</div>\n" }]
131
+ ], template: "<div class=\"ax-mx-auto ax-p-6\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\">This Device</p>\n <div\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\">\n <i class=\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\"></i>\n </div>\n <div *ngIf=\"activeSession()\">\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ activeSession()?.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ activeSession()?.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ activeSession()?.location }} <span>{{ activeSession()?.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\"\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\">\n <i class=\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\" (click)=\"onTerminateAll()\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">Terminate All Other Sessions</div>\n <p class=\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\">Log out all devices exept for this one.</p>\n </div>\n </div>\n <div *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\">Active Devices</p>\n <div *ngFor=\"let item of itemsWithIcons()\">\n <div\n class=\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <i\n class=\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\"\n (click)=\"onTerminate(item.id)\"\n ></i>\n\n <div class=\"ax-border ax-rounded-lg\">\n <i class=\"{{ item.icon }} ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ item.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ item.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ item.location }} <span>{{ item.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ax-footer>\n <div class=\"ax-flex-col ax-w-full\">\n <div>\n <p class=\"ax-text-danger-500 ax-font-medium ax-text-base\">Terminate Old Sessions</p>\n </div>\n <div>\n <ax-suffix>\n <div class=\"ax-flex ax-items-center ax-justify-between ax-mt-4\">\n <div class=\"ax-font-normal ax-text-base ax-text-on-lightest\">If inactive for...</div>\n <div class=\"ax-w-3/6\">\n <ax-select-box\n [ngModel]=\"expireTime()\"\n (onValueChanged)=\"onChangeSessionExpireTime($event)\"\n [dataSource]=\"dataSource\"\n textField=\"name\"\n valueField=\"id\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n </div>\n </ax-suffix>\n </div>\n </div>\n</ax-footer>\n" }]
132
132
  }], ctorParameters: () => [] });
133
133
 
134
134
  export { AXMUserSessionsComponent };
135
- //# sourceMappingURL=acorex-modules-auth-user-sessions.component-CjXRKjtX.mjs.map
135
+ //# sourceMappingURL=acorex-modules-auth-user-sessions.component-Dx0zd4Nj.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-auth-user-sessions.component-CjXRKjtX.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/account/user-sessions/user-sessions.component.ts","../../../../libs/modules/auth/src/lib/pages/account/user-sessions/user-sessions.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXMSecurityManagementDeviceSessionsEntityModel } from '@acorex/modules/security-management';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSettingService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMUserDeviceSessionsService } from './user-sessions.service';\n@Component({\n templateUrl: './user-sessions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AXButtonModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXDropdownModule,\n AXPopoverModule,\n ],\n})\nexport class AXMUserSessionsComponent {\n AXPTokenExpirationDurations = {\n oneWeek: 'oneWeek',\n oneMonth: 'oneMonth',\n threeMonths: 'threeMonths',\n sixMonths: 'sixMonths',\n };\n\n items = signal<AXMSecurityManagementDeviceSessionsEntityModel[]>([]);\n activeSession = signal<AXMSecurityManagementDeviceSessionsEntityModel | undefined>(undefined);\n expireTime = signal<{ name: string; id: string } | null>(null);\n\n expirationItems = [\n { name: 'Terminate in 1 week', id: this.AXPTokenExpirationDurations.oneWeek },\n { name: 'Terminate in 1 month', id: this.AXPTokenExpirationDurations.oneMonth },\n { name: 'Terminate in 3 month', id: this.AXPTokenExpirationDurations.threeMonths },\n { name: 'Terminate in 6 month', id: this.AXPTokenExpirationDurations.sixMonths },\n ];\n protected dataSource = new AXDataSource<any>({\n pageSize: 10,\n key: 'id',\n load: async (e) => {\n let items = this.expirationItems;\n return {\n items,\n total: items.length,\n };\n },\n });\n private userDeviceSessionsService = inject(AXMUserDeviceSessionsService);\n private cdRef = inject(ChangeDetectorRef);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private translateService = inject(AXTranslationService);\n private sessionService = inject(AXPSessionService);\n private settingService = inject(AXPSettingService);\n\n constructor() {\n this.loadUserSessions();\n }\n\n private async loadUserSessions(): Promise<void> {\n try {\n let sessions = await this.userDeviceSessionsService.getSessions();\n this.items.set(sessions);\n const activeSession = await this.userDeviceSessionsService.getCurrentActiveSessions();\n this.activeSession.set(activeSession);\n const sessionTimeout = await this.settingService.scope(AXPPlatformScope.User).get('session-timeout');\n if (sessionTimeout && sessionTimeout.id in this.AXPTokenExpirationDurations) {\n let selectedItem = this.expirationItems.find((item) => item.id === sessionTimeout.id);\n if (selectedItem) {\n this.expireTime.set({ name: selectedItem.name, id: selectedItem.id });\n }\n }\n } catch (error) {\n console.error('Error loading user sessions', error);\n }\n }\n\n // ✅ Use a computed signal to update dynamically when items change\n itemsWithIcons = computed(() =>\n this.items().map((item) => ({\n ...item,\n icon: this.getDeviceIcon(item.deviceName),\n }))\n );\n\n getDeviceIcon(deviceName: string | undefined): string {\n if (!deviceName) return 'fa-solid fa-question'; // Default icon if no name is provided\n\n const lowerCaseName = deviceName.toLowerCase();\n\n if (lowerCaseName.includes('windows')) return 'fa-brands fa-microsoft';\n if (lowerCaseName.includes('mac')) return 'fa-brands fa-microsoft';\n if (lowerCaseName.includes('linux')) return 'fa-brands fa-microsoft';\n if (lowerCaseName.includes('android')) return 'fa-brands fa-android';\n if (lowerCaseName.includes('ios')) return 'fa-brands fa-apple';\n if (lowerCaseName.includes('ipad')) return 'fa-brands fa-apple';\n if (lowerCaseName.includes('iphone')) return 'fa-brands fa-apple';\n\n return 'fa-solid fa-question'; // Default icon if no match\n }\n\n protected onChangeSessionExpireTime(e: AXValueChangedEvent) {\n this.userDeviceSessionsService.setTokenLifetimeMinutes(e.component.selectedItems[0]);\n }\n\n async onTerminate(sessionId: string | undefined): Promise<void> {\n if (!sessionId) {\n console.error('No item to terminate');\n return;\n }\n await this.userDeviceSessionsService.terminateSession(sessionId);\n await this.loadUserSessions();\n }\n\n async onTerminateAll() {\n await this.userDeviceSessionsService.terminateAllSession();\n await this.loadUserSessions();\n }\n}\n","<div class=\"ax-mx-auto ax-p-6\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\">This Device</p>\n <div\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\">\n <i class=\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\"></i>\n </div>\n <div *ngIf=\"activeSession()\">\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ activeSession()?.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ activeSession()?.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ activeSession()?.location }} <span>{{ activeSession()?.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\"\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\">\n <i class=\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\" (click)=\"onTerminateAll()\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">Terminate All Other Sessions</div>\n <p class=\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\">Log out all devices exept for this one.</p>\n </div>\n </div>\n <div *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\">Active Devices</p>\n <div *ngFor=\"let item of itemsWithIcons()\">\n <div\n class=\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <i\n class=\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\"\n (click)=\"onTerminate(item.id)\"\n ></i>\n\n <div class=\"ax-border ax-rounded-lg\">\n <i class=\"{{ item.icon }} ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ item.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ item.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ item.location }} <span>{{ item.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n </div>\n <ax-footer>\n <div class=\"ax-flex-col ax-w-full\">\n <div>\n <p class=\"ax-text-danger-500 ax-font-medium ax-text-base\">Terminate Old Sessions</p>\n </div>\n <div>\n <ax-suffix>\n <div class=\"ax-flex ax-items-center ax-justify-between ax-mt-4\">\n <div class=\"ax-font-normal ax-text-base ax-text-on-lightest\">If inactive for...</div>\n <div class=\"ax-w-3/6\">\n <ax-select-box [ngModel]=\"expireTime()\" (onValueChanged)=\"onChangeSessionExpireTime($event)\" [dataSource]=\"dataSource\" textField=\"name\" valueField=\"id\" placeholder=\"Choose...\">\n </ax-select-box>\n </div>\n </div>\n </ax-suffix>\n </div>\n </div>\n </ax-footer>\n</div>\n"],"names":["i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-auth-user-sessions.component-Dx0zd4Nj.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/account/user-sessions/user-sessions.component.ts","../../../../libs/modules/auth/src/lib/pages/account/user-sessions/user-sessions.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXMSecurityManagementDeviceSessionsEntityModel } from '@acorex/modules/security-management';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSettingService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMUserDeviceSessionsService } from './user-sessions.service';\n@Component({\n templateUrl: './user-sessions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AXButtonModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXDropdownModule,\n AXPopoverModule,\n ],\n})\nexport class AXMUserSessionsComponent {\n AXPTokenExpirationDurations = {\n oneWeek: 'oneWeek',\n oneMonth: 'oneMonth',\n threeMonths: 'threeMonths',\n sixMonths: 'sixMonths',\n };\n\n items = signal<AXMSecurityManagementDeviceSessionsEntityModel[]>([]);\n activeSession = signal<AXMSecurityManagementDeviceSessionsEntityModel | undefined>(undefined);\n expireTime = signal<{ name: string; id: string } | null>(null);\n\n expirationItems = [\n { name: 'Terminate in 1 week', id: this.AXPTokenExpirationDurations.oneWeek },\n { name: 'Terminate in 1 month', id: this.AXPTokenExpirationDurations.oneMonth },\n { name: 'Terminate in 3 month', id: this.AXPTokenExpirationDurations.threeMonths },\n { name: 'Terminate in 6 month', id: this.AXPTokenExpirationDurations.sixMonths },\n ];\n protected dataSource = new AXDataSource<any>({\n pageSize: 10,\n key: 'id',\n load: async (e) => {\n let items = this.expirationItems;\n return {\n items,\n total: items.length,\n };\n },\n });\n private userDeviceSessionsService = inject(AXMUserDeviceSessionsService);\n private cdRef = inject(ChangeDetectorRef);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private translateService = inject(AXTranslationService);\n private sessionService = inject(AXPSessionService);\n private settingService = inject(AXPSettingService);\n\n constructor() {\n this.loadUserSessions();\n }\n\n private async loadUserSessions(): Promise<void> {\n try {\n let sessions = await this.userDeviceSessionsService.getSessions();\n this.items.set(sessions);\n const activeSession = await this.userDeviceSessionsService.getCurrentActiveSessions();\n this.activeSession.set(activeSession);\n const sessionTimeout = await this.settingService.scope(AXPPlatformScope.User).get('session-timeout');\n if (sessionTimeout && sessionTimeout.id in this.AXPTokenExpirationDurations) {\n let selectedItem = this.expirationItems.find((item) => item.id === sessionTimeout.id);\n if (selectedItem) {\n this.expireTime.set({ name: selectedItem.name, id: selectedItem.id });\n }\n }\n } catch (error) {\n console.error('Error loading user sessions', error);\n }\n }\n\n // ✅ Use a computed signal to update dynamically when items change\n itemsWithIcons = computed(() =>\n this.items().map((item) => ({\n ...item,\n icon: this.getDeviceIcon(item.deviceName),\n }))\n );\n\n getDeviceIcon(deviceName: string | undefined): string {\n if (!deviceName) return 'fa-solid fa-question'; // Default icon if no name is provided\n\n const lowerCaseName = deviceName.toLowerCase();\n\n if (lowerCaseName.includes('windows')) return 'fa-brands fa-microsoft';\n if (lowerCaseName.includes('mac')) return 'fa-brands fa-microsoft';\n if (lowerCaseName.includes('linux')) return 'fa-brands fa-microsoft';\n if (lowerCaseName.includes('android')) return 'fa-brands fa-android';\n if (lowerCaseName.includes('ios')) return 'fa-brands fa-apple';\n if (lowerCaseName.includes('ipad')) return 'fa-brands fa-apple';\n if (lowerCaseName.includes('iphone')) return 'fa-brands fa-apple';\n\n return 'fa-solid fa-question'; // Default icon if no match\n }\n\n protected onChangeSessionExpireTime(e: AXValueChangedEvent) {\n this.userDeviceSessionsService.setTokenLifetimeMinutes(e.component.selectedItems[0]);\n }\n\n async onTerminate(sessionId: string | undefined): Promise<void> {\n if (!sessionId) {\n console.error('No item to terminate');\n return;\n }\n await this.userDeviceSessionsService.terminateSession(sessionId);\n await this.loadUserSessions();\n }\n\n async onTerminateAll() {\n await this.userDeviceSessionsService.terminateAllSession();\n await this.loadUserSessions();\n }\n}\n","<div class=\"ax-mx-auto ax-p-6\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\">This Device</p>\n <div\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\">\n <i class=\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\"></i>\n </div>\n <div *ngIf=\"activeSession()\">\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ activeSession()?.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ activeSession()?.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ activeSession()?.location }} <span>{{ activeSession()?.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\"\n class=\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <div class=\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\">\n <i class=\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\" (click)=\"onTerminateAll()\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">Terminate All Other Sessions</div>\n <p class=\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\">Log out all devices exept for this one.</p>\n </div>\n </div>\n <div *ngIf=\"itemsWithIcons() && itemsWithIcons().length > 0\">\n <p class=\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\">Active Devices</p>\n <div *ngFor=\"let item of itemsWithIcons()\">\n <div\n class=\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\"\n >\n <i\n class=\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\"\n (click)=\"onTerminate(item.id)\"\n ></i>\n\n <div class=\"ax-border ax-rounded-lg\">\n <i class=\"{{ item.icon }} ax-m-3\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-ml-2\">\n <div class=\"ax-font-medium ax-text-base ax-text-on-lightest\">{{ item.deviceName }}</div>\n <div class=\"ax-font-normal ax-text-sm ax-text-on-lightest\">{{ item.operatingSystem }}</div>\n <p class=\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\">\n {{ item.location }} <span>{{ item.lastLoginDate | date : 'yyyy/MM/dd HH:mm' }}</span>\n </p>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ax-footer>\n <div class=\"ax-flex-col ax-w-full\">\n <div>\n <p class=\"ax-text-danger-500 ax-font-medium ax-text-base\">Terminate Old Sessions</p>\n </div>\n <div>\n <ax-suffix>\n <div class=\"ax-flex ax-items-center ax-justify-between ax-mt-4\">\n <div class=\"ax-font-normal ax-text-base ax-text-on-lightest\">If inactive for...</div>\n <div class=\"ax-w-3/6\">\n <ax-select-box\n [ngModel]=\"expireTime()\"\n (onValueChanged)=\"onChangeSessionExpireTime($event)\"\n [dataSource]=\"dataSource\"\n textField=\"name\"\n valueField=\"id\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n </div>\n </ax-suffix>\n </div>\n </div>\n</ax-footer>\n"],"names":["i2","i3"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MA8Ba,wBAAwB,CAAA;AAqCnC,IAAA,WAAA,GAAA;AApCA,QAAA,IAAA,CAAA,2BAA2B,GAAG;AAC5B,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,SAAS,EAAE,WAAW;SACvB;AAED,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAmD,EAAE,CAAC;AACpE,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAA6D,SAAS,CAAC;AAC7F,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAsC,IAAI,CAAC;AAE9D,QAAA,IAAA,CAAA,eAAe,GAAG;YAChB,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE;YAC7E,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE;YAC/E,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE;YAClF,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE;SACjF;QACS,IAAU,CAAA,UAAA,GAAG,IAAI,YAAY,CAAM;AAC3C,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,IAAI,EAAE,OAAO,CAAC,KAAI;AAChB,gBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe;gBAChC,OAAO;oBACL,KAAK;oBACL,KAAK,EAAE,KAAK,CAAC,MAAM;iBACpB;aACF;AACF,SAAA,CAAC;AACM,QAAA,IAAA,CAAA,yBAAyB,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAChE,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACjC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AACrC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;AAC7B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAC/C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;;AAyBlD,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MACxB,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AAC1B,YAAA,GAAG,IAAI;YACP,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;SAC1C,CAAC,CAAC,CACJ;QA3BC,IAAI,CAAC,gBAAgB,EAAE;;AAGjB,IAAA,MAAM,gBAAgB,GAAA;AAC5B,QAAA,IAAI;YACF,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE;AACjE,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YACxB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,wBAAwB,EAAE;AACrF,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC;AACrC,YAAA,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACpG,IAAI,cAAc,IAAI,cAAc,CAAC,EAAE,IAAI,IAAI,CAAC,2BAA2B,EAAE;gBAC3E,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC;gBACrF,IAAI,YAAY,EAAE;AAChB,oBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC;;;;QAGzE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC;;;AAYvD,IAAA,aAAa,CAAC,UAA8B,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU;YAAE,OAAO,sBAAsB,CAAC;AAE/C,QAAA,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE;AAE9C,QAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;AAAE,YAAA,OAAO,wBAAwB;AACtE,QAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,wBAAwB;AAClE,QAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;AAAE,YAAA,OAAO,wBAAwB;AACpE,QAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;AAAE,YAAA,OAAO,sBAAsB;AACpE,QAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,oBAAoB;AAC9D,QAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,oBAAoB;AAC/D,QAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAAE,YAAA,OAAO,oBAAoB;QAEjE,OAAO,sBAAsB,CAAC;;AAGtB,IAAA,yBAAyB,CAAC,CAAsB,EAAA;AACxD,QAAA,IAAI,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;;IAGtF,MAAM,WAAW,CAAC,SAA6B,EAAA;QAC7C,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;YACrC;;QAEF,MAAM,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAChE,QAAA,MAAM,IAAI,CAAC,gBAAgB,EAAE;;AAG/B,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,MAAM,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,EAAE;AAC1D,QAAA,MAAM,IAAI,CAAC,gBAAgB,EAAE;;8GAlGpB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EC9BrC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,irHAiFA,ED5DI,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,8BACd,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,WAAW,EACX,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,8BAChB,eAAe,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;sCAES,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,cAAc;wBACd,iBAAiB;wBACjB,YAAY;wBACZ,WAAW;wBACX,iBAAiB;wBACjB,gBAAgB;wBAChB,eAAe;AAChB,qBAAA,EAAA,QAAA,EAAA,irHAAA,EAAA;;;;;"}
@@ -1,2 +1,2 @@
1
- export { e as AXMAuthErrorHandler, h as AXMAuthModule, a as AXMAuthenticationTypes, f as AXMDefaultAuthConfigs, A as AXM_AUTH_CONFIG_TOKEN, i as AXPIdleService, g as configAuthModule } from './acorex-modules-auth-acorex-modules-auth-DoIq3IkC.mjs';
1
+ export { e as AXMAuthErrorHandler, h as AXMAuthModule, a as AXMAuthenticationTypes, f as AXMDefaultAuthConfigs, A as AXM_AUTH_CONFIG_TOKEN, i as AXPIdleService, g as configAuthModule } from './acorex-modules-auth-acorex-modules-auth-DWcYgyZA.mjs';
2
2
  //# sourceMappingURL=acorex-modules-auth.mjs.map
@@ -0,0 +1,139 @@
1
+ import { AXPopupService } from '@acorex/components/popup';
2
+ import * as i2 from '@acorex/core/translation';
3
+ import { AXTranslationModule } from '@acorex/core/translation';
4
+ import { AXPDataGenerator } from '@acorex/platform/core';
5
+ import { AXPLayoutWidgetComponent } from '@acorex/platform/layout/builder';
6
+ import { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '@acorex/platform/layout/search';
7
+ import { AXPWorkflowService } from '@acorex/platform/workflow';
8
+ import * as i1 from '@angular/common';
9
+ import { CommonModule } from '@angular/common';
10
+ import * as i0 from '@angular/core';
11
+ import { inject, computed, HostBinding, ChangeDetectionStrategy, Component } from '@angular/core';
12
+
13
+ class AXPDashboardShortcutWidgetViewComponent extends AXPLayoutWidgetComponent {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.popupService = inject(AXPopupService);
17
+ this.workflow = inject(AXPWorkflowService);
18
+ this.searchConfig = inject(AXP_GLOBAL_SEARCH_CONFIG_TOKEN);
19
+ this.item = computed(() => this.options()['item']);
20
+ this.color = computed(() => this.options()['color']);
21
+ }
22
+ ngOnInit() {
23
+ super.ngOnInit();
24
+ if (!this.color()) {
25
+ this.setOptions({
26
+ color: AXPDataGenerator.color()
27
+ });
28
+ }
29
+ }
30
+ async executeCommand() {
31
+ if (this.item()?.command) {
32
+ await this.workflow.execute(this.item().command.name, this.item().command.options);
33
+ }
34
+ }
35
+ async setCommand() {
36
+ const component = await this.searchConfig.window();
37
+ const popup = await this.popupService.open(component, {
38
+ title: 'Choose command...',
39
+ size: 'fit',
40
+ closeOnBackdropClick: true,
41
+ header: false,
42
+ });
43
+ if (popup.data) {
44
+ const result = popup.data;
45
+ if (result && result.command) {
46
+ this.setOptions({
47
+ item: {
48
+ name: result.name,
49
+ title: result.title,
50
+ description: result.description,
51
+ icon: result.icon,
52
+ command: result.command
53
+ }
54
+ });
55
+ }
56
+ }
57
+ }
58
+ get __style() {
59
+ const cls = {};
60
+ cls[`background-color`] = this.color();
61
+ return cls;
62
+ }
63
+ get __class() {
64
+ const cls = {};
65
+ cls[`ax-flex`] = true;
66
+ cls[`ax-flex-col`] = true;
67
+ cls[`ax-items-center`] = true;
68
+ cls[`ax-justify-center`] = true;
69
+ cls[`ax-w-full`] = true;
70
+ cls[`ax-h-full`] = true;
71
+ cls[`ax-text-center`] = true;
72
+ cls[`ax-overflow-hidden`] = true;
73
+ cls[`ax-cursor-pointer`] = true;
74
+ cls[`ax-text-white`] = true;
75
+ return cls;
76
+ }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDashboardShortcutWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPDashboardShortcutWidgetViewComponent, isStandalone: true, selector: "ng-component", host: { properties: { "style": "this.__style", "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
79
+ @if(item()) {
80
+ <div
81
+ class="ax-group ax-flex ax-flex-col ax-items-center ax-justify-center ax-p-3 ax-w-full ax-h-full ax-relative ax-overflow-hidden "
82
+ (click)="executeCommand()">
83
+ <div class="ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/10 ax-transition-opacity"></div>
84
+ <i [class]="item().icon + ' ax-text-3xl'"></i>
85
+ <span class="ax-text-xl ax-font-semibold">{{ item().title | translate | async }}</span>
86
+ @if(item().description) {
87
+ <span class="ax-text-sm ax-opacity-90 ax-text-center ax-px-2">{{ item().description! | translate | async }}</span>
88
+ }
89
+ </div>
90
+ } @else {
91
+ <div
92
+ (click)="setCommand()"
93
+ class="ax-group ax-flex ax-flex-col ax-items-center ax-justify-center ax-p-3 ax-w-full ax-h-full ax-relative ax-overflow-hidden">
94
+ <div class="ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/5 ax-transition-opacity"></div>
95
+ <i class="fa-light fa-plus ax-text-3xl"></i>
96
+ <span class="ax-text-xl ax-font-semibold">Add Shortcut</span>
97
+ </div>
98
+ }
99
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDashboardShortcutWidgetViewComponent, decorators: [{
102
+ type: Component,
103
+ args: [{
104
+ template: `
105
+ @if(item()) {
106
+ <div
107
+ class="ax-group ax-flex ax-flex-col ax-items-center ax-justify-center ax-p-3 ax-w-full ax-h-full ax-relative ax-overflow-hidden "
108
+ (click)="executeCommand()">
109
+ <div class="ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/10 ax-transition-opacity"></div>
110
+ <i [class]="item().icon + ' ax-text-3xl'"></i>
111
+ <span class="ax-text-xl ax-font-semibold">{{ item().title | translate | async }}</span>
112
+ @if(item().description) {
113
+ <span class="ax-text-sm ax-opacity-90 ax-text-center ax-px-2">{{ item().description! | translate | async }}</span>
114
+ }
115
+ </div>
116
+ } @else {
117
+ <div
118
+ (click)="setCommand()"
119
+ class="ax-group ax-flex ax-flex-col ax-items-center ax-justify-center ax-p-3 ax-w-full ax-h-full ax-relative ax-overflow-hidden">
120
+ <div class="ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/5 ax-transition-opacity"></div>
121
+ <i class="fa-light fa-plus ax-text-3xl"></i>
122
+ <span class="ax-text-xl ax-font-semibold">Add Shortcut</span>
123
+ </div>
124
+ }
125
+ `,
126
+ standalone: true,
127
+ changeDetection: ChangeDetectionStrategy.OnPush,
128
+ imports: [CommonModule, AXTranslationModule]
129
+ }]
130
+ }], propDecorators: { __style: [{
131
+ type: HostBinding,
132
+ args: ['style']
133
+ }], __class: [{
134
+ type: HostBinding,
135
+ args: ['class']
136
+ }] } });
137
+
138
+ export { AXPDashboardShortcutWidgetViewComponent };
139
+ //# sourceMappingURL=acorex-modules-common-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-common-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs","sources":["../../../../libs/modules/common/src/lib/features/home-dashboard/widgets/dashboard-shortcut/dashboard-shortcut-widget-view.component.ts"],"sourcesContent":["import { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSearchDisplayResult } from '@acorex/platform/common';\nimport { AXPDataGenerator, AXPExecuteCommand } from '@acorex/platform/core';\nimport { AXPLayoutWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '@acorex/platform/layout/search';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\n\n\nexport interface AXPShortcutItem {\n name: string;\n title: string;\n description?: string;\n icon: string;\n command: AXPExecuteCommand;\n}\n\n\n@Component({\n template: `\n @if(item()) {\n <div \n class=\"ax-group ax-flex ax-flex-col ax-items-center ax-justify-center ax-p-3 ax-w-full ax-h-full ax-relative ax-overflow-hidden \"\n (click)=\"executeCommand()\">\n <div class=\"ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/10 ax-transition-opacity\"></div>\n <i [class]=\"item().icon + ' ax-text-3xl'\"></i>\n <span class=\"ax-text-xl ax-font-semibold\">{{ item().title | translate | async }}</span>\n @if(item().description) {\n <span class=\"ax-text-sm ax-opacity-90 ax-text-center ax-px-2\">{{ item().description! | translate | async }}</span>\n }\n </div>\n } @else {\n <div \n (click)=\"setCommand()\" \n class=\"ax-group ax-flex ax-flex-col ax-items-center ax-justify-center ax-p-3 ax-w-full ax-h-full ax-relative ax-overflow-hidden\">\n <div class=\"ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/5 ax-transition-opacity\"></div>\n <i class=\"fa-light fa-plus ax-text-3xl\"></i>\n <span class=\"ax-text-xl ax-font-semibold\">Add Shortcut</span>\n </div>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule]\n})\nexport class AXPDashboardShortcutWidgetViewComponent extends AXPLayoutWidgetComponent {\n\n private popupService = inject(AXPopupService);\n private workflow = inject(AXPWorkflowService);\n private searchConfig = inject(AXP_GLOBAL_SEARCH_CONFIG_TOKEN);\n\n protected item = computed<AXPShortcutItem>(() => this.options()['item'] as AXPShortcutItem);\n protected color = computed<string>(() => this.options()['color'] as string);\n\n override ngOnInit(): void {\n super.ngOnInit();\n if (!this.color()) {\n this.setOptions({\n color: AXPDataGenerator.color()\n });\n }\n }\n\n protected async executeCommand() {\n if (this.item()?.command) {\n await this.workflow.execute(this.item().command.name, this.item().command.options);\n }\n }\n\n protected async setCommand() {\n const component = await this.searchConfig.window();\n const popup = await this.popupService.open(component, {\n title: 'Choose command...',\n size: 'fit',\n closeOnBackdropClick: true,\n header: false,\n });\n if (popup.data) {\n const result = popup.data as AXPSearchDisplayResult;\n if (result && result.command) {\n this.setOptions({\n item: {\n name: result.name,\n title: result.title,\n description: result.description,\n icon: result.icon,\n command: result.command\n } as AXPShortcutItem\n });\n }\n }\n }\n\n @HostBinding('style')\n private get __style() {\n const cls: any = {};\n cls[`background-color`] = this.color();\n return cls;\n }\n\n @HostBinding('class')\n private get __class() {\n const cls: any = {};\n cls[`ax-flex`] = true;\n cls[`ax-flex-col`] = true;\n cls[`ax-items-center`] = true;\n cls[`ax-justify-center`] = true;\n cls[`ax-w-full`] = true;\n cls[`ax-h-full`] = true;\n cls[`ax-text-center`] = true;\n cls[`ax-overflow-hidden`] = true;\n cls[`ax-cursor-pointer`] = true;\n cls[`ax-text-white`] = true;\n return cls;\n }\n}"],"names":[],"mappings":"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"}