@atlashub/smartstack 3.31.0 → 3.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/dist/chunks/{AgentSkillsPage-DcvOMm5k.js → AgentSkillsPage-BMxOA-nm.js} +2 -2
  2. package/dist/chunks/{AgentSkillsPage-DcvOMm5k.js.map → AgentSkillsPage-BMxOA-nm.js.map} +1 -1
  3. package/dist/chunks/{AgentSkillsPage-CDMhqrhE.js → AgentSkillsPage-DSwfoazB.js} +2 -2
  4. package/dist/chunks/{AgentSkillsPage-CDMhqrhE.js.map → AgentSkillsPage-DSwfoazB.js.map} +1 -1
  5. package/dist/chunks/{AgentWorkloadPage-YpJSDaWc.js → AgentWorkloadPage-B_emq8kd.js} +2 -2
  6. package/dist/chunks/{AgentWorkloadPage-YpJSDaWc.js.map → AgentWorkloadPage-B_emq8kd.js.map} +1 -1
  7. package/dist/chunks/{AgentWorkloadPage-DYBPNzjQ.js → AgentWorkloadPage-_USTeYWz.js} +2 -2
  8. package/dist/chunks/{AgentWorkloadPage-DYBPNzjQ.js.map → AgentWorkloadPage-_USTeYWz.js.map} +1 -1
  9. package/dist/chunks/{ApiCatalogDetailPage-9r1axtCg.js → ApiCatalogDetailPage-BC_HxVu5.js} +3 -3
  10. package/dist/chunks/{ApiCatalogDetailPage-9r1axtCg.js.map → ApiCatalogDetailPage-BC_HxVu5.js.map} +1 -1
  11. package/dist/chunks/{ApiCatalogDetailPage-TjCQ8_A8.js → ApiCatalogDetailPage-BI7zyZAd.js} +2 -2
  12. package/dist/chunks/{ApiCatalogDetailPage-TjCQ8_A8.js.map → ApiCatalogDetailPage-BI7zyZAd.js.map} +1 -1
  13. package/dist/chunks/{ApiCatalogPage-COxazTnz.js → ApiCatalogPage-CutaHo5K.js} +2 -2
  14. package/dist/chunks/{ApiCatalogPage-COxazTnz.js.map → ApiCatalogPage-CutaHo5K.js.map} +1 -1
  15. package/dist/chunks/{ApiCatalogPage-QRysH0pT.js → ApiCatalogPage-M80MorHU.js} +2 -2
  16. package/dist/chunks/{ApiCatalogPage-QRysH0pT.js.map → ApiCatalogPage-M80MorHU.js.map} +1 -1
  17. package/dist/chunks/{ApplicationDetailPage-jSHy3MPz.js → ApplicationDetailPage-DVY0wua0.js} +2 -2
  18. package/dist/chunks/{ApplicationDetailPage-jSHy3MPz.js.map → ApplicationDetailPage-DVY0wua0.js.map} +1 -1
  19. package/dist/chunks/{ApplicationDetailPage-Dbx01Ikm.js → ApplicationDetailPage-DzszwaIZ.js} +4 -4
  20. package/dist/chunks/{ApplicationDetailPage-Dbx01Ikm.js.map → ApplicationDetailPage-DzszwaIZ.js.map} +1 -1
  21. package/dist/chunks/{ApplicationsDashboardPage-CclKc0wI.js → ApplicationsDashboardPage-B3ptvnJz.js} +3 -3
  22. package/dist/chunks/{ApplicationsDashboardPage-CclKc0wI.js.map → ApplicationsDashboardPage-B3ptvnJz.js.map} +1 -1
  23. package/dist/chunks/{ApplicationsDashboardPage-CxWmOc1x.js → ApplicationsDashboardPage-D0pxqbEc.js} +2 -2
  24. package/dist/chunks/{ApplicationsDashboardPage-CxWmOc1x.js.map → ApplicationsDashboardPage-D0pxqbEc.js.map} +1 -1
  25. package/dist/chunks/{ApplicationsGridPage-D2l8cM3o.js → ApplicationsGridPage-Ca23FBSP.js} +2 -2
  26. package/dist/chunks/{ApplicationsGridPage-D2l8cM3o.js.map → ApplicationsGridPage-Ca23FBSP.js.map} +1 -1
  27. package/dist/chunks/{ApplicationsGridPage-BJXWXwyI.js → ApplicationsGridPage-qi2UCD24.js} +2 -2
  28. package/dist/chunks/{ApplicationsGridPage-BJXWXwyI.js.map → ApplicationsGridPage-qi2UCD24.js.map} +1 -1
  29. package/dist/chunks/{ApplicationsListPage-CMosl3my.js → ApplicationsListPage-CEUmBXN0.js} +2 -2
  30. package/dist/chunks/{ApplicationsListPage-CMosl3my.js.map → ApplicationsListPage-CEUmBXN0.js.map} +1 -1
  31. package/dist/chunks/{ApplicationsListPage-Dc6NGQ61.js → ApplicationsListPage-cE82bv8j.js} +2 -2
  32. package/dist/chunks/{ApplicationsListPage-Dc6NGQ61.js.map → ApplicationsListPage-cE82bv8j.js.map} +1 -1
  33. package/dist/chunks/{ApplicationsPage-DI-iMqoJ.js → ApplicationsPage-DW1BrVVN.js} +4 -4
  34. package/dist/chunks/{ApplicationsPage-DI-iMqoJ.js.map → ApplicationsPage-DW1BrVVN.js.map} +1 -1
  35. package/dist/chunks/{ApplicationsPage-DH7tpMlF.js → ApplicationsPage-RAqTs5HI.js} +2 -2
  36. package/dist/chunks/{ApplicationsPage-DH7tpMlF.js.map → ApplicationsPage-RAqTs5HI.js.map} +1 -1
  37. package/dist/chunks/{AssignmentRulesPage-E79QBSLb.js → AssignmentRulesPage-C0qnk3oR.js} +2 -2
  38. package/dist/chunks/{AssignmentRulesPage-E79QBSLb.js.map → AssignmentRulesPage-C0qnk3oR.js.map} +1 -1
  39. package/dist/chunks/{AssignmentRulesPage-B5UbujbZ.js → AssignmentRulesPage-CVgFmhEs.js} +2 -2
  40. package/dist/chunks/{AssignmentRulesPage-B5UbujbZ.js.map → AssignmentRulesPage-CVgFmhEs.js.map} +1 -1
  41. package/dist/chunks/{AssignmentsPage-CDFaL1gT.js → AssignmentsPage-Bv9HYtYN.js} +2 -2
  42. package/dist/chunks/{AssignmentsPage-CDFaL1gT.js.map → AssignmentsPage-Bv9HYtYN.js.map} +1 -1
  43. package/dist/chunks/{AssignmentsPage-CPeKJjyK.js → AssignmentsPage-z1q1C9Uz.js} +2 -2
  44. package/dist/chunks/{AssignmentsPage-CPeKJjyK.js.map → AssignmentsPage-z1q1C9Uz.js.map} +1 -1
  45. package/dist/chunks/{AuthCallbackPage-BZ3Ocos5.js → AuthCallbackPage-CcteN6Kv.js} +2 -2
  46. package/dist/chunks/{AuthCallbackPage-BZ3Ocos5.js.map → AuthCallbackPage-CcteN6Kv.js.map} +1 -1
  47. package/dist/chunks/{AuthCallbackPage-Bml48QpH.js → AuthCallbackPage-DL5PJUYJ.js} +2 -2
  48. package/dist/chunks/{AuthCallbackPage-Bml48QpH.js.map → AuthCallbackPage-DL5PJUYJ.js.map} +1 -1
  49. package/dist/chunks/{ConfirmEmailPage-DyzslZ06.js → ConfirmEmailPage-BP8VUz-A.js} +2 -2
  50. package/dist/chunks/{ConfirmEmailPage-DyzslZ06.js.map → ConfirmEmailPage-BP8VUz-A.js.map} +1 -1
  51. package/dist/chunks/{ConfirmEmailPage-DP1XPaKK.js → ConfirmEmailPage-CeflKXpN.js} +2 -2
  52. package/dist/chunks/{ConfirmEmailPage-DP1XPaKK.js.map → ConfirmEmailPage-CeflKXpN.js.map} +1 -1
  53. package/dist/chunks/{CreateSupportTicketPage-Bz2KrMik.js → CreateSupportTicketPage-BAdvWb_8.js} +2 -2
  54. package/dist/chunks/{CreateSupportTicketPage-Bz2KrMik.js.map → CreateSupportTicketPage-BAdvWb_8.js.map} +1 -1
  55. package/dist/chunks/{CreateSupportTicketPage-hKjKM0Bh.js → CreateSupportTicketPage-DDiv79-p.js} +2 -2
  56. package/dist/chunks/{CreateSupportTicketPage-hKjKM0Bh.js.map → CreateSupportTicketPage-DDiv79-p.js.map} +1 -1
  57. package/dist/chunks/{DashboardPage-B4nAd8Tj.js → DashboardPage-B_uyyRRE.js} +2 -2
  58. package/dist/chunks/{DashboardPage-B4nAd8Tj.js.map → DashboardPage-B_uyyRRE.js.map} +1 -1
  59. package/dist/chunks/{DashboardPage-rN7IFlTR.js → DashboardPage-CpoduSu7.js} +2 -2
  60. package/dist/chunks/{DashboardPage-rN7IFlTR.js.map → DashboardPage-CpoduSu7.js.map} +1 -1
  61. package/dist/chunks/{DashboardPage-CjbNGMo1.js → DashboardPage-D4pyUgdM.js} +3 -3
  62. package/dist/chunks/{DashboardPage-CjbNGMo1.js.map → DashboardPage-D4pyUgdM.js.map} +1 -1
  63. package/dist/chunks/{DashboardPage-C9qgPBS-.js → DashboardPage-Kp-MCxW4.js} +3 -3
  64. package/dist/chunks/{DashboardPage-C9qgPBS-.js.map → DashboardPage-Kp-MCxW4.js.map} +1 -1
  65. package/dist/chunks/{EscalationConfigPage-CGv2L62M.js → EscalationConfigPage-D-WCN6YS.js} +2 -2
  66. package/dist/chunks/{EscalationConfigPage-CGv2L62M.js.map → EscalationConfigPage-D-WCN6YS.js.map} +1 -1
  67. package/dist/chunks/{EscalationConfigPage-DpYDmsgw.js → EscalationConfigPage-UrLJarSI.js} +2 -2
  68. package/dist/chunks/{EscalationConfigPage-DpYDmsgw.js.map → EscalationConfigPage-UrLJarSI.js.map} +1 -1
  69. package/dist/chunks/{ForceChangePasswordPage-Db6sOrZN.js → ForceChangePasswordPage-BIh1SF5C.js} +2 -2
  70. package/dist/chunks/{ForceChangePasswordPage-Db6sOrZN.js.map → ForceChangePasswordPage-BIh1SF5C.js.map} +1 -1
  71. package/dist/chunks/{ForceChangePasswordPage-CLI_fpF4.js → ForceChangePasswordPage-FFZZRpU7.js} +2 -2
  72. package/dist/chunks/{ForceChangePasswordPage-CLI_fpF4.js.map → ForceChangePasswordPage-FFZZRpU7.js.map} +1 -1
  73. package/dist/chunks/{ForgotPasswordPage-BhMz2B6A.js → ForgotPasswordPage-BKqRF7SF.js} +2 -2
  74. package/dist/chunks/{ForgotPasswordPage-BhMz2B6A.js.map → ForgotPasswordPage-BKqRF7SF.js.map} +1 -1
  75. package/dist/chunks/{ForgotPasswordPage-D06arMXO.js → ForgotPasswordPage-BXp8qQUX.js} +2 -2
  76. package/dist/chunks/{ForgotPasswordPage-D06arMXO.js.map → ForgotPasswordPage-BXp8qQUX.js.map} +1 -1
  77. package/dist/chunks/{GroupDetailPage-BCM8KBCd.js → GroupDetailPage-a0hBx-LO.js} +5 -5
  78. package/dist/chunks/{GroupDetailPage-BCM8KBCd.js.map → GroupDetailPage-a0hBx-LO.js.map} +1 -1
  79. package/dist/chunks/{GroupDetailPage-CGMV3bWt.js → GroupDetailPage-eGGJCqgq.js} +2 -2
  80. package/dist/chunks/{GroupDetailPage-CGMV3bWt.js.map → GroupDetailPage-eGGJCqgq.js.map} +1 -1
  81. package/dist/chunks/{MyAccessRequestsPage-BBrwEomx.js → MyAccessRequestsPage-BgQSyy5d.js} +2 -2
  82. package/dist/chunks/{MyAccessRequestsPage-BBrwEomx.js.map → MyAccessRequestsPage-BgQSyy5d.js.map} +1 -1
  83. package/dist/chunks/{MyAccessRequestsPage-CrlWe3gd.js → MyAccessRequestsPage-Dmb0rUHO.js} +2 -2
  84. package/dist/chunks/{MyAccessRequestsPage-CrlWe3gd.js.map → MyAccessRequestsPage-Dmb0rUHO.js.map} +1 -1
  85. package/dist/chunks/{MyTenantsPage-BOV34_rJ.js → MyTenantsPage-BZTeqyDr.js} +3 -3
  86. package/dist/chunks/{MyTenantsPage-BOV34_rJ.js.map → MyTenantsPage-BZTeqyDr.js.map} +1 -1
  87. package/dist/chunks/{MyTenantsPage-CK4-klmd.js → MyTenantsPage-kCHBF2uA.js} +2 -2
  88. package/dist/chunks/{MyTenantsPage-CK4-klmd.js.map → MyTenantsPage-kCHBF2uA.js.map} +1 -1
  89. package/dist/chunks/{MyTicketsPage-DuhpwhZx.js → MyTicketsPage-BwNIqpCE.js} +2 -2
  90. package/dist/chunks/{MyTicketsPage-DuhpwhZx.js.map → MyTicketsPage-BwNIqpCE.js.map} +1 -1
  91. package/dist/chunks/{MyTicketsPage-CFZ1G4dG.js → MyTicketsPage-CTpjkA5t.js} +2 -2
  92. package/dist/chunks/{MyTicketsPage-CFZ1G4dG.js.map → MyTicketsPage-CTpjkA5t.js.map} +1 -1
  93. package/dist/chunks/{NavigationAppsPage-BnNQRfBP.js → NavigationAppsPage-DO5bTibb.js} +2 -2
  94. package/dist/chunks/{NavigationAppsPage-BnNQRfBP.js.map → NavigationAppsPage-DO5bTibb.js.map} +1 -1
  95. package/dist/chunks/{NavigationAppsPage-DdJxEoTZ.js → NavigationAppsPage-vx_n07SD.js} +2 -2
  96. package/dist/chunks/{NavigationAppsPage-DdJxEoTZ.js.map → NavigationAppsPage-vx_n07SD.js.map} +1 -1
  97. package/dist/chunks/{NotificationsPage-BllOlagk.js → NotificationsPage-Br9sb9AQ.js} +2 -2
  98. package/dist/chunks/{NotificationsPage-BllOlagk.js.map → NotificationsPage-Br9sb9AQ.js.map} +1 -1
  99. package/dist/chunks/{NotificationsPage-D1T_ozHl.js → NotificationsPage-CRhd752L.js} +2 -2
  100. package/dist/chunks/{NotificationsPage-D1T_ozHl.js.map → NotificationsPage-CRhd752L.js.map} +1 -1
  101. package/dist/chunks/{OnboardingWizardPage-CrAQt7qL.js → OnboardingWizardPage-BIl3Usew.js} +2 -2
  102. package/dist/chunks/{OnboardingWizardPage-CrAQt7qL.js.map → OnboardingWizardPage-BIl3Usew.js.map} +1 -1
  103. package/dist/chunks/{OnboardingWizardPage-CioLaCYz.js → OnboardingWizardPage-CjqxWX7h.js} +2 -2
  104. package/dist/chunks/{OnboardingWizardPage-CioLaCYz.js.map → OnboardingWizardPage-CjqxWX7h.js.map} +1 -1
  105. package/dist/chunks/{PermissionDetailPage-CvPqugYu.js → PermissionDetailPage-COIuJXH-.js} +2 -2
  106. package/dist/chunks/{PermissionDetailPage-CvPqugYu.js.map → PermissionDetailPage-COIuJXH-.js.map} +1 -1
  107. package/dist/chunks/{PermissionDetailPage-BIG78-1-.js → PermissionDetailPage-P_d6xnY0.js} +2 -2
  108. package/dist/chunks/{PermissionDetailPage-BIG78-1-.js.map → PermissionDetailPage-P_d6xnY0.js.map} +1 -1
  109. package/dist/chunks/{PermissionsPage-CDSuc8vw.js → PermissionsPage-BhjnMyFY.js} +2 -2
  110. package/dist/chunks/{PermissionsPage-CDSuc8vw.js.map → PermissionsPage-BhjnMyFY.js.map} +1 -1
  111. package/dist/chunks/{PermissionsPage-XaOrGrPZ.js → PermissionsPage-CHYy8XFr.js} +2 -2
  112. package/dist/chunks/{PermissionsPage-XaOrGrPZ.js.map → PermissionsPage-CHYy8XFr.js.map} +1 -1
  113. package/dist/chunks/{PortalDashboardPage-oSD7oQhJ.js → PortalDashboardPage-BwQ4NQrH.js} +2 -2
  114. package/dist/chunks/{PortalDashboardPage-oSD7oQhJ.js.map → PortalDashboardPage-BwQ4NQrH.js.map} +1 -1
  115. package/dist/chunks/{PortalDashboardPage-BsWVXkMe.js → PortalDashboardPage-hLJcfGnT.js} +2 -2
  116. package/dist/chunks/{PortalDashboardPage-BsWVXkMe.js.map → PortalDashboardPage-hLJcfGnT.js.map} +1 -1
  117. package/dist/chunks/{PreferencesPage-ca2BOdoH.js → PreferencesPage-DYYqisR0.js} +2 -2
  118. package/dist/chunks/{PreferencesPage-ca2BOdoH.js.map → PreferencesPage-DYYqisR0.js.map} +1 -1
  119. package/dist/chunks/{PreferencesPage-DD0_XWdT.js → PreferencesPage-DzpM-lpD.js} +2 -2
  120. package/dist/chunks/{PreferencesPage-DD0_XWdT.js.map → PreferencesPage-DzpM-lpD.js.map} +1 -1
  121. package/dist/chunks/{ProfilePage-C8tUIOnb.js → ProfilePage-D98bvXeT.js} +2 -2
  122. package/dist/chunks/{ProfilePage-C8tUIOnb.js.map → ProfilePage-D98bvXeT.js.map} +1 -1
  123. package/dist/chunks/{ProfilePage-Bex_JN5N.js → ProfilePage-DWRDN0fo.js} +2 -2
  124. package/dist/chunks/{ProfilePage-Bex_JN5N.js.map → ProfilePage-DWRDN0fo.js.map} +1 -1
  125. package/dist/chunks/{ReferencesManagementPage-B-FXS2ln.js → ReferencesManagementPage-B0Cq9BHS.js} +2 -2
  126. package/dist/chunks/{ReferencesManagementPage-B-FXS2ln.js.map → ReferencesManagementPage-B0Cq9BHS.js.map} +1 -1
  127. package/dist/chunks/{ReferencesManagementPage-C8KZprkI.js → ReferencesManagementPage-CxbfOBs2.js} +3 -3
  128. package/dist/chunks/{ReferencesManagementPage-C8KZprkI.js.map → ReferencesManagementPage-CxbfOBs2.js.map} +1 -1
  129. package/dist/chunks/{RegisterPage-MWcVu-LY.js → RegisterPage-DMeq3GzW.js} +2 -2
  130. package/dist/chunks/{RegisterPage-MWcVu-LY.js.map → RegisterPage-DMeq3GzW.js.map} +1 -1
  131. package/dist/chunks/{RegisterPage-BYt__zKJ.js → RegisterPage-DvG2Php7.js} +2 -2
  132. package/dist/chunks/{RegisterPage-BYt__zKJ.js.map → RegisterPage-DvG2Php7.js.map} +1 -1
  133. package/dist/chunks/{ResetPasswordPage-rCLUIj_T.js → ResetPasswordPage-DOTswepm.js} +2 -2
  134. package/dist/chunks/{ResetPasswordPage-rCLUIj_T.js.map → ResetPasswordPage-DOTswepm.js.map} +1 -1
  135. package/dist/chunks/{ResetPasswordPage-DaJiMj5Z.js → ResetPasswordPage-ntMMFvDo.js} +2 -2
  136. package/dist/chunks/{ResetPasswordPage-DaJiMj5Z.js.map → ResetPasswordPage-ntMMFvDo.js.map} +1 -1
  137. package/dist/chunks/{ResolutionModal-j7Rp6apG.js → ResolutionModal-CKt73sIZ.js} +2 -2
  138. package/dist/chunks/{ResolutionModal-j7Rp6apG.js.map → ResolutionModal-CKt73sIZ.js.map} +1 -1
  139. package/dist/chunks/{ResolutionModal-DeuPnLWg.js → ResolutionModal-XGHCELez.js} +2 -2
  140. package/dist/chunks/{ResolutionModal-DeuPnLWg.js.map → ResolutionModal-XGHCELez.js.map} +1 -1
  141. package/dist/chunks/{RoleDetailPage-CLtZWX17.js → RoleDetailPage-BtnYTVN6.js} +3 -3
  142. package/dist/chunks/{RoleDetailPage-CLtZWX17.js.map → RoleDetailPage-BtnYTVN6.js.map} +1 -1
  143. package/dist/chunks/{RoleDetailPage-TGyGmLMM.js → RoleDetailPage-DAp65p0d.js} +2 -2
  144. package/dist/chunks/{RoleDetailPage-TGyGmLMM.js.map → RoleDetailPage-DAp65p0d.js.map} +1 -1
  145. package/dist/chunks/{RolesPage-Dm03fBBf.js → RolesPage-DyEhJHxw.js} +2 -2
  146. package/dist/chunks/{RolesPage-Dm03fBBf.js.map → RolesPage-DyEhJHxw.js.map} +1 -1
  147. package/dist/chunks/{RolesPage-C0c5G9e7.js → RolesPage-FmZCLEYo.js} +2 -2
  148. package/dist/chunks/{RolesPage-C0c5G9e7.js.map → RolesPage-FmZCLEYo.js.map} +1 -1
  149. package/dist/chunks/{SlaConfigPage-B4WDzEKi.js → SlaConfigPage-DTtP2Q4t.js} +2 -2
  150. package/dist/chunks/{SlaConfigPage-B4WDzEKi.js.map → SlaConfigPage-DTtP2Q4t.js.map} +1 -1
  151. package/dist/chunks/{SlaConfigPage-Cwo9NwxH.js → SlaConfigPage-LpVD_ai4.js} +2 -2
  152. package/dist/chunks/{SlaConfigPage-Cwo9NwxH.js.map → SlaConfigPage-LpVD_ai4.js.map} +1 -1
  153. package/dist/chunks/{SupportPermissionsPage-CL12dFy-.js → SupportPermissionsPage-BV8F_Tl3.js} +2 -2
  154. package/dist/chunks/{SupportPermissionsPage-CL12dFy-.js.map → SupportPermissionsPage-BV8F_Tl3.js.map} +1 -1
  155. package/dist/chunks/{SupportPermissionsPage-CneIhl30.js → SupportPermissionsPage-Bzfq6pKf.js} +2 -2
  156. package/dist/chunks/{SupportPermissionsPage-CneIhl30.js.map → SupportPermissionsPage-Bzfq6pKf.js.map} +1 -1
  157. package/dist/chunks/{TemplatesPage-DStKmwHT.js → TemplatesPage-CYHH5WlP.js} +2 -2
  158. package/dist/chunks/{TemplatesPage-DStKmwHT.js.map → TemplatesPage-CYHH5WlP.js.map} +1 -1
  159. package/dist/chunks/{TemplatesPage-X4Rrhs9p.js → TemplatesPage-czt_RH5f.js} +2 -2
  160. package/dist/chunks/{TemplatesPage-X4Rrhs9p.js.map → TemplatesPage-czt_RH5f.js.map} +1 -1
  161. package/dist/chunks/{TenantCard-BUBYWtvR.js → TenantCard-Bqh5PGJx.js} +2 -2
  162. package/dist/chunks/{TenantCard-BUBYWtvR.js.map → TenantCard-Bqh5PGJx.js.map} +1 -1
  163. package/dist/chunks/{TenantCard-CAgiB-NG.js → TenantCard-C6qKD480.js} +2 -2
  164. package/dist/chunks/{TenantCard-CAgiB-NG.js.map → TenantCard-C6qKD480.js.map} +1 -1
  165. package/dist/chunks/{TenantScopeSelector-BAoah-mL.js → TenantScopeSelector-DWUP8Le7.js} +2 -2
  166. package/dist/chunks/{TenantScopeSelector-BAoah-mL.js.map → TenantScopeSelector-DWUP8Le7.js.map} +1 -1
  167. package/dist/chunks/{TenantScopeSelector-B9vtpIZx.js → TenantScopeSelector-DxQ7HNbh.js} +2 -2
  168. package/dist/chunks/{TenantScopeSelector-B9vtpIZx.js.map → TenantScopeSelector-DxQ7HNbh.js.map} +1 -1
  169. package/dist/chunks/{TicketDetailPage-BFcP4X8s.js → TicketDetailPage-BuxXLcJi.js} +2 -2
  170. package/dist/chunks/{TicketDetailPage-BFcP4X8s.js.map → TicketDetailPage-BuxXLcJi.js.map} +1 -1
  171. package/dist/chunks/{TicketDetailPage-D_Npnt4A.js → TicketDetailPage-Dy4pg33-.js} +2 -2
  172. package/dist/chunks/{TicketDetailPage-D_Npnt4A.js.map → TicketDetailPage-Dy4pg33-.js.map} +1 -1
  173. package/dist/chunks/{TicketsPage-p21DLhUb.js → TicketsPage-Ck-HUgte.js} +2 -2
  174. package/dist/chunks/{TicketsPage-p21DLhUb.js.map → TicketsPage-Ck-HUgte.js.map} +1 -1
  175. package/dist/chunks/{TicketsPage-DBP9kalU.js → TicketsPage-jlN9JDzm.js} +2 -2
  176. package/dist/chunks/{TicketsPage-DBP9kalU.js.map → TicketsPage-jlN9JDzm.js.map} +1 -1
  177. package/dist/chunks/{UserCreateTicketPage-DOwShnG8.js → UserCreateTicketPage-BrRZyXMn.js} +2 -2
  178. package/dist/chunks/{UserCreateTicketPage-DOwShnG8.js.map → UserCreateTicketPage-BrRZyXMn.js.map} +1 -1
  179. package/dist/chunks/{UserCreateTicketPage-lvlvp2u6.js → UserCreateTicketPage-D58Ro4Nb.js} +2 -2
  180. package/dist/chunks/{UserCreateTicketPage-lvlvp2u6.js.map → UserCreateTicketPage-D58Ro4Nb.js.map} +1 -1
  181. package/dist/chunks/{UserDashboardPage-Dp6q6FEW.js → UserDashboardPage-C5ulSzaI.js} +2 -2
  182. package/dist/chunks/{UserDashboardPage-Dp6q6FEW.js.map → UserDashboardPage-C5ulSzaI.js.map} +1 -1
  183. package/dist/chunks/{UserDashboardPage-C_tm7Pld.js → UserDashboardPage-CjAx5OHh.js} +2 -2
  184. package/dist/chunks/{UserDashboardPage-C_tm7Pld.js.map → UserDashboardPage-CjAx5OHh.js.map} +1 -1
  185. package/dist/chunks/{UserDetailPage-DXLxO7LF.js → UserDetailPage-Bhpry9xq.js} +2 -2
  186. package/dist/chunks/{UserDetailPage-DXLxO7LF.js.map → UserDetailPage-Bhpry9xq.js.map} +1 -1
  187. package/dist/chunks/{UserDetailPage-6grZ6gmV.js → UserDetailPage-DUu2mA_n.js} +5 -5
  188. package/dist/chunks/{UserDetailPage-6grZ6gmV.js.map → UserDetailPage-DUu2mA_n.js.map} +1 -1
  189. package/dist/chunks/{UserTicketDetailPage-a4II5VEE.js → UserTicketDetailPage-DpFFjIso.js} +2 -2
  190. package/dist/chunks/{UserTicketDetailPage-a4II5VEE.js.map → UserTicketDetailPage-DpFFjIso.js.map} +1 -1
  191. package/dist/chunks/{UserTicketDetailPage-Ch9IfCPo.js → UserTicketDetailPage-YJvBWFEu.js} +2 -2
  192. package/dist/chunks/{UserTicketDetailPage-Ch9IfCPo.js.map → UserTicketDetailPage-YJvBWFEu.js.map} +1 -1
  193. package/dist/chunks/{UsersGroupsPage-BeAv4QfV.js → UsersGroupsPage-b2PTQX_m.js} +2 -2
  194. package/dist/chunks/{UsersGroupsPage-BeAv4QfV.js.map → UsersGroupsPage-b2PTQX_m.js.map} +1 -1
  195. package/dist/chunks/{UsersGroupsPage-B7Er0V4l.js → UsersGroupsPage-l33K3Nca.js} +3 -3
  196. package/dist/chunks/{UsersGroupsPage-B7Er0V4l.js.map → UsersGroupsPage-l33K3Nca.js.map} +1 -1
  197. package/dist/chunks/{UsersPage-ZR9r9vvf.js → UsersPage-BjC5ZqTa.js} +2 -2
  198. package/dist/chunks/{UsersPage-ZR9r9vvf.js.map → UsersPage-BjC5ZqTa.js.map} +1 -1
  199. package/dist/chunks/{UsersPage-0M1FLqOe.js → UsersPage-NsTukS8m.js} +2 -2
  200. package/dist/chunks/{UsersPage-0M1FLqOe.js.map → UsersPage-NsTukS8m.js.map} +1 -1
  201. package/dist/chunks/{accessRequestsApi-CBpF5d54.js → accessRequestsApi-C2usKVGJ.js} +2 -2
  202. package/dist/chunks/{accessRequestsApi-CBpF5d54.js.map → accessRequestsApi-C2usKVGJ.js.map} +1 -1
  203. package/dist/chunks/{accessRequestsApi-BJH8EE1K.js → accessRequestsApi-LuovcP6l.js} +2 -2
  204. package/dist/chunks/{accessRequestsApi-BJH8EE1K.js.map → accessRequestsApi-LuovcP6l.js.map} +1 -1
  205. package/dist/chunks/{aiApi-Dl7a2lWz.js → aiApi-B03u3zUH.js} +2 -2
  206. package/dist/chunks/{aiApi-Dl7a2lWz.js.map → aiApi-B03u3zUH.js.map} +1 -1
  207. package/dist/chunks/{aiApi-CkkWAvNB.js → aiApi-Cwg0B8PJ.js} +2 -2
  208. package/dist/chunks/{aiApi-CkkWAvNB.js.map → aiApi-Cwg0B8PJ.js.map} +1 -1
  209. package/dist/chunks/{applicationAnalyticsApi-BwcSE_H1.js → applicationAnalyticsApi-BobBdehV.js} +2 -2
  210. package/dist/chunks/{applicationAnalyticsApi-BwcSE_H1.js.map → applicationAnalyticsApi-BobBdehV.js.map} +1 -1
  211. package/dist/chunks/{applicationAnalyticsApi-DKMmDvWk.js → applicationAnalyticsApi-jCZhWKOx.js} +2 -2
  212. package/dist/chunks/{applicationAnalyticsApi-DKMmDvWk.js.map → applicationAnalyticsApi-jCZhWKOx.js.map} +1 -1
  213. package/dist/chunks/{groupsApi-BzDV3_Jc.js → groupsApi-CoxnW9vH.js} +2 -2
  214. package/dist/chunks/{groupsApi-BzDV3_Jc.js.map → groupsApi-CoxnW9vH.js.map} +1 -1
  215. package/dist/chunks/{groupsApi-CQ4vFMdP.js → groupsApi-D2lFFcgu.js} +2 -2
  216. package/dist/chunks/{groupsApi-CQ4vFMdP.js.map → groupsApi-D2lFFcgu.js.map} +1 -1
  217. package/dist/chunks/{index-Det9dEaQ.js → index-B5U_Jp0-.js} +2 -2
  218. package/dist/chunks/{index-Det9dEaQ.js.map → index-B5U_Jp0-.js.map} +1 -1
  219. package/dist/chunks/{index-D18t9DhC.js → index-BDB_a-p7.js} +4 -4
  220. package/dist/chunks/{index-D18t9DhC.js.map → index-BDB_a-p7.js.map} +1 -1
  221. package/dist/chunks/{index-CUZygY5Q.js → index-BbHRJz-n.js} +2 -2
  222. package/dist/chunks/{index-CUZygY5Q.js.map → index-BbHRJz-n.js.map} +1 -1
  223. package/dist/chunks/{index-CoHIgn5H.js → index-CI2WU5ZZ.js} +2 -2
  224. package/dist/chunks/{index-CoHIgn5H.js.map → index-CI2WU5ZZ.js.map} +1 -1
  225. package/dist/chunks/{index-D-2xSu5W.js → index-CLk9ClC2.js} +3 -3
  226. package/dist/chunks/{index-D-2xSu5W.js.map → index-CLk9ClC2.js.map} +1 -1
  227. package/dist/chunks/{index-Dbq-x5H9.js → index-CmTKGOa_.js} +2 -2
  228. package/dist/chunks/{index-Dbq-x5H9.js.map → index-CmTKGOa_.js.map} +1 -1
  229. package/dist/chunks/{index-k4USDz2P.js → index-D5oIr6PO.js} +2 -2
  230. package/dist/chunks/{index-k4USDz2P.js.map → index-D5oIr6PO.js.map} +1 -1
  231. package/dist/chunks/{index-Cib93xtp.js → index-DC6TBJV_.js} +2 -2
  232. package/dist/chunks/{index-Cib93xtp.js.map → index-DC6TBJV_.js.map} +1 -1
  233. package/dist/chunks/{index-CpY95_ro.js → index-DN97bp_f.js} +1128 -1093
  234. package/dist/chunks/index-DN97bp_f.js.map +1 -0
  235. package/dist/chunks/{index-BPMjxWVx.js → index-DRW5qV_L.js} +2 -2
  236. package/dist/chunks/{index-BPMjxWVx.js.map → index-DRW5qV_L.js.map} +1 -1
  237. package/dist/chunks/{index-DQd324n7.js → index-DcLZao1q.js} +2 -2
  238. package/dist/chunks/{index-DQd324n7.js.map → index-DcLZao1q.js.map} +1 -1
  239. package/dist/chunks/{index-bgT9XOKZ.js → index-DcMOmGtX.js} +2 -2
  240. package/dist/chunks/{index-bgT9XOKZ.js.map → index-DcMOmGtX.js.map} +1 -1
  241. package/dist/chunks/{index-DK5czlkn.js → index-DnML-nfd.js} +10 -10
  242. package/dist/chunks/index-DnML-nfd.js.map +1 -0
  243. package/dist/chunks/{index-BBmMbSZV.js → index-Drd59qAP.js} +8 -8
  244. package/dist/chunks/{index-BBmMbSZV.js.map → index-Drd59qAP.js.map} +1 -1
  245. package/dist/chunks/{index-CEbwdURd.js → index-EiIHjIgi.js} +2 -2
  246. package/dist/chunks/{index-CEbwdURd.js.map → index-EiIHjIgi.js.map} +1 -1
  247. package/dist/chunks/{index-BLlESTfA.js → index-axYz6ptj.js} +2 -2
  248. package/dist/chunks/{index-BLlESTfA.js.map → index-axYz6ptj.js.map} +1 -1
  249. package/dist/chunks/{index-Ci1SqFiY.js → index-lXrXnhFc.js} +2 -2
  250. package/dist/chunks/{index-Ci1SqFiY.js.map → index-lXrXnhFc.js.map} +1 -1
  251. package/dist/chunks/{index-h7ZrwrQg.js → index-rI-1r6c2.js} +2 -2
  252. package/dist/chunks/{index-h7ZrwrQg.js.map → index-rI-1r6c2.js.map} +1 -1
  253. package/dist/chunks/{tenantIconMap-Dk6K-UTE.js → tenantIconMap-B4wAYGWP.js} +2 -2
  254. package/dist/chunks/{tenantIconMap-Dk6K-UTE.js.map → tenantIconMap-B4wAYGWP.js.map} +1 -1
  255. package/dist/chunks/{tenantIconMap-7ihIWxAh.js → tenantIconMap-Cfm15HwB.js} +2 -2
  256. package/dist/chunks/{tenantIconMap-7ihIWxAh.js.map → tenantIconMap-Cfm15HwB.js.map} +1 -1
  257. package/dist/chunks/{ticketingApi-BCMKkzlv.js → ticketingApi-CLMAPZDw.js} +2 -2
  258. package/dist/chunks/{ticketingApi-BCMKkzlv.js.map → ticketingApi-CLMAPZDw.js.map} +1 -1
  259. package/dist/chunks/{ticketingApi-Dwn7pl5z.js → ticketingApi-CTap4NdE.js} +2 -2
  260. package/dist/chunks/{ticketingApi-Dwn7pl5z.js.map → ticketingApi-CTap4NdE.js.map} +1 -1
  261. package/dist/chunks/{useAccessRequests-gJ7yhWyi.js → useAccessRequests-CBpDkq9o.js} +2 -2
  262. package/dist/chunks/{useAccessRequests-gJ7yhWyi.js.map → useAccessRequests-CBpDkq9o.js.map} +1 -1
  263. package/dist/chunks/{useAccessRequests-Du7CvowE.js → useAccessRequests-Cj2-OoAW.js} +3 -3
  264. package/dist/chunks/{useAccessRequests-Du7CvowE.js.map → useAccessRequests-Cj2-OoAW.js.map} +1 -1
  265. package/dist/chunks/{useUserAccessRequests-5wWea2Jg.js → useUserAccessRequests-C6l2VMe1.js} +2 -2
  266. package/dist/chunks/{useUserAccessRequests-5wWea2Jg.js.map → useUserAccessRequests-C6l2VMe1.js.map} +1 -1
  267. package/dist/chunks/{useUserAccessRequests-Bk_v8egy.js → useUserAccessRequests-Ds3K-ENU.js} +2 -2
  268. package/dist/chunks/{useUserAccessRequests-Bk_v8egy.js.map → useUserAccessRequests-Ds3K-ENU.js.map} +1 -1
  269. package/dist/components/routing/DynamicRouter.d.ts.map +1 -1
  270. package/dist/components/routing/ProtectedRoute.d.ts.map +1 -1
  271. package/dist/contexts/AuthContext.d.ts.map +1 -1
  272. package/dist/contexts/NavigationContext.d.ts.map +1 -1
  273. package/dist/extensions/PageRegistry.d.ts +2 -0
  274. package/dist/extensions/PageRegistry.d.ts.map +1 -1
  275. package/dist/services/api/adminApi/settings.d.ts +8 -3
  276. package/dist/services/api/adminApi/settings.d.ts.map +1 -1
  277. package/dist/smartstack.cjs +1 -1
  278. package/dist/smartstack.js +1 -1
  279. package/package.json +1 -1
  280. package/dist/chunks/index-CpY95_ro.js.map +0 -1
  281. package/dist/chunks/index-DK5czlkn.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useAccessRequests-Du7CvowE.js","sources":["../../src/components/platform/administration/access-requests/AccessRequestApprovalModal.tsx","../../src/hooks/useAccessRequestActions.ts","../../src/components/platform/administration/access-requests/AccessRequestsListTab.tsx","../../src/hooks/useAccessRequests.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport type { AccessRequest } from '@/services/api/accessRequestsApi';\r\nimport { adminApi, type RoleListDto, type TenantGroupDto } from '@/services/api/adminApi';\r\nimport { Loader2, X, Users, Shield } from 'lucide-react';\r\n\r\ntype AssignmentMode = 'group' | 'role';\r\n\r\ninterface AccessRequestApprovalModalProps {\r\n readonly open: boolean;\r\n readonly onClose: () => void;\r\n readonly onConfirm: (data: { roleId?: string; groupId?: string; notes?: string }) => Promise<void>;\r\n readonly request: AccessRequest;\r\n readonly action: 'approve' | 'deny';\r\n readonly processing: boolean;\r\n}\r\n\r\nexport function AccessRequestApprovalModal({\r\n open,\r\n onClose,\r\n onConfirm,\r\n request,\r\n action,\r\n processing,\r\n}: AccessRequestApprovalModalProps): ReactElement | null {\r\n const { t } = useTranslation('admin');\r\n const [notes, setNotes] = useState('');\r\n const [assignmentMode, setAssignmentMode] = useState<AssignmentMode>('group');\r\n const [selectedRoleId, setSelectedRoleId] = useState('');\r\n const [selectedGroupId, setSelectedGroupId] = useState('');\r\n const [roles, setRoles] = useState<RoleListDto[]>([]);\r\n const [groups, setGroups] = useState<TenantGroupDto[]>([]);\r\n const [loadingRoles, setLoadingRoles] = useState(false);\r\n const [loadingGroups, setLoadingGroups] = useState(false);\r\n\r\n const isDeny = action === 'deny';\r\n const isApprove = action === 'approve';\r\n\r\n // Load groups for the tenant when modal opens in approve mode\r\n useEffect(() => {\r\n if (!open || !isApprove) return;\r\n\r\n setLoadingGroups(true);\r\n adminApi.tenants.getGroups(request.tenantId)\r\n .then((groups) => {\r\n setGroups(groups.filter(g => g.isActive));\r\n })\r\n .catch(() => {\r\n setGroups([]);\r\n })\r\n .finally(() => {\r\n setLoadingGroups(false);\r\n });\r\n }, [open, isApprove, request.tenantId]);\r\n\r\n // Load roles when switching to role mode or on initial open\r\n useEffect(() => {\r\n if (!open || !isApprove || assignmentMode !== 'role') return;\r\n if (roles.length > 0) return; // Already loaded\r\n\r\n setLoadingRoles(true);\r\n adminApi.roles.getByApplication(request.applicationId)\r\n .then((roles) => {\r\n setRoles(roles);\r\n })\r\n .catch(() => {\r\n setRoles([]);\r\n })\r\n .finally(() => {\r\n setLoadingRoles(false);\r\n });\r\n }, [open, isApprove, assignmentMode, request.applicationId, roles.length]);\r\n\r\n // Reset state when modal closes\r\n useEffect(() => {\r\n if (!open) {\r\n setNotes('');\r\n setAssignmentMode('group');\r\n setSelectedRoleId('');\r\n setSelectedGroupId('');\r\n setRoles([]);\r\n setGroups([]);\r\n }\r\n }, [open]);\r\n\r\n const handleSubmit = async () => {\r\n if (isDeny) {\r\n await onConfirm({ notes: notes || undefined });\r\n return;\r\n }\r\n\r\n await onConfirm({\r\n roleId: assignmentMode === 'role' ? selectedRoleId : undefined,\r\n groupId: assignmentMode === 'group' ? selectedGroupId : undefined,\r\n notes: notes || undefined,\r\n });\r\n };\r\n\r\n if (!open) return null;\r\n\r\n const canSubmit = isApprove\r\n ? ((assignmentMode === 'role' && selectedRoleId !== '') ||\r\n (assignmentMode === 'group' && selectedGroupId !== '')) && !processing\r\n : notes !== '' && !processing;\r\n\r\n return (\r\n <div className=\"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm\">\r\n <div className=\"bg-[var(--bg-primary)] rounded-[var(--radius-card)] p-6 max-w-md w-full max-h-[90vh] overflow-y-auto\">\r\n <div className=\"flex items-center justify-between mb-4\">\r\n <h3 className=\"text-lg font-semibold\">{t(`accessRequests.modal.${action}Title`)}</h3>\r\n <button\r\n onClick={onClose}\r\n className=\"p-1 hover:bg-[var(--bg-hover)] rounded\"\r\n disabled={processing}\r\n >\r\n <X className=\"w-5 h-5\" />\r\n </button>\r\n </div>\r\n\r\n <div className=\"space-y-4\">\r\n <div>\r\n <div className=\"font-medium mb-1\">{t('accessRequests.modal.user')}</div>\r\n <div>{request.userFullName} ({request.userEmail})</div>\r\n </div>\r\n\r\n <div>\r\n <div className=\"font-medium mb-1\">{t('accessRequests.modal.application')}</div>\r\n <div>{request.applicationLabel}</div>\r\n </div>\r\n\r\n {request.reason && (\r\n <div>\r\n <div className=\"font-medium mb-1\">{t('accessRequests.modal.userReason')}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">{request.reason}</div>\r\n </div>\r\n )}\r\n\r\n {isApprove && (\r\n <>\r\n {/* Assignment mode toggle */}\r\n <div>\r\n <label className=\"block font-medium mb-2\">\r\n {t('accessRequests.modal.assignmentMethod')}\r\n <span className=\"text-[var(--error-text)] ml-1\">*</span>\r\n </label>\r\n <div className=\"grid grid-cols-2 gap-2\">\r\n <button\r\n type=\"button\"\r\n onClick={() => setAssignmentMode('group')}\r\n className={`flex items-center gap-2 px-3 py-2.5 rounded-[var(--radius-input)] border text-sm font-medium transition-colors ${\r\n assignmentMode === 'group'\r\n ? 'border-[var(--color-accent-500)] bg-[var(--color-accent-50)] text-[var(--color-accent-700)]'\r\n : 'border-[var(--border-color)] hover:bg-[var(--bg-hover)]'\r\n }`}\r\n >\r\n <Users className=\"w-4 h-4\" />\r\n {t('accessRequests.modal.addToGroup')}\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => setAssignmentMode('role')}\r\n className={`flex items-center gap-2 px-3 py-2.5 rounded-[var(--radius-input)] border text-sm font-medium transition-colors ${\r\n assignmentMode === 'role'\r\n ? 'border-[var(--color-accent-500)] bg-[var(--color-accent-50)] text-[var(--color-accent-700)]'\r\n : 'border-[var(--border-color)] hover:bg-[var(--bg-hover)]'\r\n }`}\r\n >\r\n <Shield className=\"w-4 h-4\" />\r\n {t('accessRequests.modal.assignRole')}\r\n </button>\r\n </div>\r\n <p className=\"text-xs text-[var(--text-secondary)] mt-1.5\">\r\n {assignmentMode === 'group'\r\n ? t('accessRequests.modal.groupHint')\r\n : t('accessRequests.modal.roleHint')}\r\n </p>\r\n </div>\r\n\r\n {/* Group selector */}\r\n {assignmentMode === 'group' && (\r\n <div>\r\n <label className=\"block font-medium mb-2\">\r\n {t('accessRequests.modal.selectGroup')}\r\n <span className=\"text-[var(--error-text)] ml-1\">*</span>\r\n </label>\r\n {loadingGroups && (\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Loader2 className=\"w-4 h-4 animate-spin\" />\r\n {t('accessRequests.modal.loadingGroups')}\r\n </div>\r\n )}\r\n {!loadingGroups && groups.length === 0 && (\r\n <div className=\"text-sm text-[var(--warning-text)]\">\r\n {t('accessRequests.modal.noGroupsAvailable')}\r\n </div>\r\n )}\r\n {!loadingGroups && groups.length > 0 && (\r\n <select\r\n value={selectedGroupId}\r\n onChange={(e) => setSelectedGroupId(e.target.value)}\r\n className=\"w-full px-3 py-2 border rounded-[var(--radius-input)] bg-[var(--bg-primary)] border-[var(--border-color)]\"\r\n >\r\n <option value=\"\">{t('accessRequests.modal.selectGroupPlaceholder')}</option>\r\n {groups.map((group) => (\r\n <option key={group.groupId} value={group.groupId}>\r\n {group.name} ({group.memberCount} {t('accessRequests.modal.members')})\r\n </option>\r\n ))}\r\n </select>\r\n )}\r\n </div>\r\n )}\r\n\r\n {/* Role selector */}\r\n {assignmentMode === 'role' && (\r\n <div>\r\n <label className=\"block font-medium mb-2\">\r\n {t('accessRequests.modal.selectRole')}\r\n <span className=\"text-[var(--error-text)] ml-1\">*</span>\r\n </label>\r\n {loadingRoles && (\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Loader2 className=\"w-4 h-4 animate-spin\" />\r\n {t('accessRequests.modal.loadingRoles')}\r\n </div>\r\n )}\r\n {!loadingRoles && roles.length === 0 && (\r\n <div className=\"text-sm text-[var(--warning-text)]\">\r\n {t('accessRequests.modal.noRolesAvailable')}\r\n </div>\r\n )}\r\n {!loadingRoles && roles.length > 0 && (\r\n <select\r\n value={selectedRoleId}\r\n onChange={(e) => setSelectedRoleId(e.target.value)}\r\n className=\"w-full px-3 py-2 border rounded-[var(--radius-input)] bg-[var(--bg-primary)] border-[var(--border-color)]\"\r\n >\r\n <option value=\"\">{t('accessRequests.modal.selectRolePlaceholder')}</option>\r\n {roles.map((role) => (\r\n <option key={role.id} value={role.id}>\r\n {role.name} ({role.shortName})\r\n </option>\r\n ))}\r\n </select>\r\n )}\r\n </div>\r\n )}\r\n </>\r\n )}\r\n\r\n <div>\r\n <label className=\"block font-medium mb-2\">\r\n {t(`accessRequests.modal.${action}Notes`)}\r\n {isDeny && <span className=\"text-[var(--error-text)] ml-1\">*</span>}\r\n </label>\r\n <textarea\r\n value={notes}\r\n onChange={(e) => setNotes(e.target.value)}\r\n className=\"w-full px-3 py-2 border rounded-[var(--radius-input)] bg-[var(--bg-primary)] border-[var(--border-color)]\"\r\n rows={3}\r\n placeholder={t(`accessRequests.modal.${action}NotesPlaceholder`)}\r\n required={isDeny}\r\n />\r\n </div>\r\n\r\n <div className=\"flex justify-end gap-2 pt-2\">\r\n <button\r\n onClick={onClose}\r\n className=\"px-4 py-2 rounded-[var(--radius-button)] border border-[var(--border-color)] hover:bg-[var(--bg-hover)]\"\r\n disabled={processing}\r\n >\r\n {t('common:cancel')}\r\n </button>\r\n <button\r\n onClick={handleSubmit}\r\n disabled={!canSubmit}\r\n className={`px-4 py-2 rounded-[var(--radius-button)] text-white disabled:opacity-50 flex items-center gap-2 ${\r\n isDeny ? 'bg-[var(--error-text)]' : 'bg-[var(--success-text)]'\r\n }`}\r\n >\r\n {processing && <Loader2 className=\"w-4 h-4 animate-spin\" />}\r\n {t(`accessRequests.actions.${action}`)}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { useState } from 'react';\r\nimport { accessRequestsApi } from '@/services/api/accessRequestsApi';\r\n\r\nexport function useAccessRequestActions(onSuccess?: () => void): {\n approve: (requestId: string, data: { roleId?: string; groupId?: string; notes?: string }) => Promise<void>;\n deny: (requestId: string, notes: string) => Promise<void>;\n processing: boolean;\n error: string | null;\n} {\r\n const [processing, setProcessing] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n\r\n const approve = async (requestId: string, data: { roleId?: string; groupId?: string; notes?: string }) => {\r\n setProcessing(true);\r\n setError(null);\r\n try {\r\n await accessRequestsApi.approveRequest(requestId, data);\r\n onSuccess?.();\r\n } catch (err: unknown) {\r\n setError(err instanceof Error ? err.message : 'Failed to approve request');\r\n throw err;\r\n } finally {\r\n setProcessing(false);\r\n }\r\n };\r\n\r\n const deny = async (requestId: string, notes: string) => {\r\n setProcessing(true);\r\n setError(null);\r\n try {\r\n await accessRequestsApi.denyRequest(requestId, notes);\r\n onSuccess?.();\r\n } catch (err: unknown) {\r\n setError(err instanceof Error ? err.message : 'Failed to deny request');\r\n throw err;\r\n } finally {\r\n setProcessing(false);\r\n }\r\n };\r\n\r\n return { approve, deny, processing, error };\r\n}\r\n","import { useState } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { DataTable } from '@/components/ui/DataTable';\r\nimport type { DataTableColumn } from '@/components/ui/DataTable';\r\nimport { AccessRequestStatusBadge } from './AccessRequestStatusBadge';\r\nimport { AccessRequestApprovalModal } from './AccessRequestApprovalModal';\r\nimport { CheckCircle, XCircle, Loader2 } from 'lucide-react';\r\nimport type { AccessRequest } from '@/services/api/accessRequestsApi';\r\nimport { useAccessRequestActions } from '@/hooks/useAccessRequestActions';\r\n\r\ninterface AccessRequestsListTabProps {\r\n readonly requests: AccessRequest[];\r\n readonly loading: boolean;\r\n readonly onReload: () => void;\r\n readonly showTenantColumn?: boolean;\r\n}\r\n\r\nexport function AccessRequestsListTab({ requests, loading, onReload, showTenantColumn = false }: AccessRequestsListTabProps): ReactElement {\r\n const { t } = useTranslation('admin');\r\n const [selectedRequest, setSelectedRequest] = useState<AccessRequest | null>(null);\r\n const [modalAction, setModalAction] = useState<'approve' | 'deny' | null>(null);\r\n\r\n const { approve, deny, processing } = useAccessRequestActions(() => {\r\n setSelectedRequest(null);\r\n setModalAction(null);\r\n onReload();\r\n });\r\n\r\n const handleAction = (request: AccessRequest, action: 'approve' | 'deny') => {\r\n setSelectedRequest(request);\r\n setModalAction(action);\r\n };\r\n\r\n const handleConfirm = async (data: { roleId?: string; groupId?: string; notes?: string }) => {\r\n if (!selectedRequest) return;\r\n\r\n if (modalAction === 'approve') {\r\n await approve(selectedRequest.id, data);\r\n } else if (modalAction === 'deny' && data.notes) {\r\n await deny(selectedRequest.id, data.notes);\r\n }\r\n };\r\n\r\n const columns: DataTableColumn<AccessRequest>[] = [\r\n {\r\n key: 'userFullName',\r\n label: t('accessRequests.table.user'),\r\n render: (req) => (\r\n <div>\r\n <div className=\"font-medium\">{req.userFullName}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">{req.userEmail}</div>\r\n </div>\r\n ),\r\n },\r\n ...(showTenantColumn ? [{\r\n key: 'tenantName' as const,\r\n label: t('accessRequests.table.tenant'),\r\n render: (req: AccessRequest) => req.tenantName,\r\n }] : []),\r\n {\r\n key: 'applicationLabel',\r\n label: t('accessRequests.table.application'),\r\n },\r\n {\r\n key: 'reason',\r\n label: t('accessRequests.table.reason'),\r\n render: (req) => req.reason || '-',\r\n },\r\n {\r\n key: 'requestedAt',\r\n label: t('accessRequests.table.requestedAt'),\r\n render: (req) => new Date(req.requestedAt).toLocaleString(),\r\n },\r\n {\r\n key: 'status',\r\n label: t('accessRequests.table.status'),\r\n render: (req) => <AccessRequestStatusBadge status={req.status} />,\r\n },\r\n {\r\n key: 'actions',\r\n label: t('common:actionsColumn'),\r\n align: 'right',\r\n render: (req) => (\r\n req.status === 'Pending' ? (\r\n <div className=\"flex gap-2\">\r\n <button\r\n onClick={() => handleAction(req, 'approve')}\r\n className=\"p-1 rounded hover:bg-[var(--success-bg)] text-[var(--success-text)]\"\r\n title={t('accessRequests.actions.approve')}\r\n >\r\n <CheckCircle className=\"w-4 h-4\" />\r\n </button>\r\n <button\r\n onClick={() => handleAction(req, 'deny')}\r\n className=\"p-1 rounded hover:bg-[var(--error-bg)] text-[var(--error-text)]\"\r\n title={t('accessRequests.actions.deny')}\r\n >\r\n <XCircle className=\"w-4 h-4\" />\r\n </button>\r\n </div>\r\n ) : (\r\n <div className=\"text-sm text-[var(--text-secondary)]\">\r\n {req.processedBy}\r\n </div>\r\n )\r\n ),\r\n },\r\n ];\r\n\r\n if (loading) {\r\n return (\r\n <div className=\"flex items-center justify-center py-8\">\r\n <Loader2 className=\"w-6 h-6 animate-spin text-[var(--color-accent-500)]\" />\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"space-y-4\">\r\n <DataTable\r\n data={requests}\r\n columns={columns}\r\n searchable\r\n searchPlaceholder={t('accessRequests.search')}\r\n getRowKey={(req) => req.id}\r\n emptyMessage={t('accessRequests.empty')}\r\n />\r\n\r\n {selectedRequest && modalAction && (\r\n <AccessRequestApprovalModal\r\n open={true}\r\n onClose={() => {\r\n setSelectedRequest(null);\r\n setModalAction(null);\r\n }}\r\n onConfirm={handleConfirm}\r\n request={selectedRequest}\r\n action={modalAction}\r\n processing={processing}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n","import { useState } from 'react';\r\nimport { accessRequestsApi } from '@/services/api/accessRequestsApi';\r\nimport type { AccessRequest } from '@/services/api/accessRequestsApi';\r\n\r\nexport function useAccessRequests(type: 'application' | 'tenant', id: string): {\n requests: AccessRequest[];\n loading: boolean;\n error: string | null;\n loadRequests: (status?: string) => Promise<void>;\n} {\r\n const [requests, setRequests] = useState<AccessRequest[]>([]);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n\r\n const loadRequests = async (status?: string) => {\r\n setLoading(true);\r\n setError(null);\r\n try {\r\n const data = type === 'application'\r\n ? await accessRequestsApi.getRequestsByApplication(id, status)\r\n : await accessRequestsApi.getRequestsByTenant(id, status);\r\n setRequests(Array.isArray(data) ? data : []);\r\n } catch (err: any) {\r\n setError(err.message || 'Failed to load requests');\r\n setRequests([]); // Reset to empty array on error\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n return { requests, loading, error, loadRequests };\r\n}\r\n"],"names":["AccessRequestApprovalModal","open","onClose","onConfirm","request","action","processing","t","useTranslation","notes","setNotes","useState","assignmentMode","setAssignmentMode","selectedRoleId","setSelectedRoleId","selectedGroupId","setSelectedGroupId","roles","setRoles","groups","setGroups","loadingRoles","setLoadingRoles","loadingGroups","setLoadingGroups","isDeny","isApprove","useEffect","adminApi","g","handleSubmit","canSubmit","jsxs","jsx","X","Fragment","Users","Shield","Loader2","e","group","role","useAccessRequestActions","onSuccess","setProcessing","error","setError","requestId","data","accessRequestsApi","err","AccessRequestsListTab","requests","loading","onReload","showTenantColumn","selectedRequest","setSelectedRequest","modalAction","setModalAction","approve","deny","handleAction","handleConfirm","columns","req","AccessRequestStatusBadge","CheckCircle","XCircle","DataTable","useAccessRequests","type","id","setRequests","setLoading","status"],"mappings":"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"}
1
+ {"version":3,"file":"useAccessRequests-Cj2-OoAW.js","sources":["../../src/components/platform/administration/access-requests/AccessRequestApprovalModal.tsx","../../src/hooks/useAccessRequestActions.ts","../../src/components/platform/administration/access-requests/AccessRequestsListTab.tsx","../../src/hooks/useAccessRequests.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport type { AccessRequest } from '@/services/api/accessRequestsApi';\r\nimport { adminApi, type RoleListDto, type TenantGroupDto } from '@/services/api/adminApi';\r\nimport { Loader2, X, Users, Shield } from 'lucide-react';\r\n\r\ntype AssignmentMode = 'group' | 'role';\r\n\r\ninterface AccessRequestApprovalModalProps {\r\n readonly open: boolean;\r\n readonly onClose: () => void;\r\n readonly onConfirm: (data: { roleId?: string; groupId?: string; notes?: string }) => Promise<void>;\r\n readonly request: AccessRequest;\r\n readonly action: 'approve' | 'deny';\r\n readonly processing: boolean;\r\n}\r\n\r\nexport function AccessRequestApprovalModal({\r\n open,\r\n onClose,\r\n onConfirm,\r\n request,\r\n action,\r\n processing,\r\n}: AccessRequestApprovalModalProps): ReactElement | null {\r\n const { t } = useTranslation('admin');\r\n const [notes, setNotes] = useState('');\r\n const [assignmentMode, setAssignmentMode] = useState<AssignmentMode>('group');\r\n const [selectedRoleId, setSelectedRoleId] = useState('');\r\n const [selectedGroupId, setSelectedGroupId] = useState('');\r\n const [roles, setRoles] = useState<RoleListDto[]>([]);\r\n const [groups, setGroups] = useState<TenantGroupDto[]>([]);\r\n const [loadingRoles, setLoadingRoles] = useState(false);\r\n const [loadingGroups, setLoadingGroups] = useState(false);\r\n\r\n const isDeny = action === 'deny';\r\n const isApprove = action === 'approve';\r\n\r\n // Load groups for the tenant when modal opens in approve mode\r\n useEffect(() => {\r\n if (!open || !isApprove) return;\r\n\r\n setLoadingGroups(true);\r\n adminApi.tenants.getGroups(request.tenantId)\r\n .then((groups) => {\r\n setGroups(groups.filter(g => g.isActive));\r\n })\r\n .catch(() => {\r\n setGroups([]);\r\n })\r\n .finally(() => {\r\n setLoadingGroups(false);\r\n });\r\n }, [open, isApprove, request.tenantId]);\r\n\r\n // Load roles when switching to role mode or on initial open\r\n useEffect(() => {\r\n if (!open || !isApprove || assignmentMode !== 'role') return;\r\n if (roles.length > 0) return; // Already loaded\r\n\r\n setLoadingRoles(true);\r\n adminApi.roles.getByApplication(request.applicationId)\r\n .then((roles) => {\r\n setRoles(roles);\r\n })\r\n .catch(() => {\r\n setRoles([]);\r\n })\r\n .finally(() => {\r\n setLoadingRoles(false);\r\n });\r\n }, [open, isApprove, assignmentMode, request.applicationId, roles.length]);\r\n\r\n // Reset state when modal closes\r\n useEffect(() => {\r\n if (!open) {\r\n setNotes('');\r\n setAssignmentMode('group');\r\n setSelectedRoleId('');\r\n setSelectedGroupId('');\r\n setRoles([]);\r\n setGroups([]);\r\n }\r\n }, [open]);\r\n\r\n const handleSubmit = async () => {\r\n if (isDeny) {\r\n await onConfirm({ notes: notes || undefined });\r\n return;\r\n }\r\n\r\n await onConfirm({\r\n roleId: assignmentMode === 'role' ? selectedRoleId : undefined,\r\n groupId: assignmentMode === 'group' ? selectedGroupId : undefined,\r\n notes: notes || undefined,\r\n });\r\n };\r\n\r\n if (!open) return null;\r\n\r\n const canSubmit = isApprove\r\n ? ((assignmentMode === 'role' && selectedRoleId !== '') ||\r\n (assignmentMode === 'group' && selectedGroupId !== '')) && !processing\r\n : notes !== '' && !processing;\r\n\r\n return (\r\n <div className=\"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm\">\r\n <div className=\"bg-[var(--bg-primary)] rounded-[var(--radius-card)] p-6 max-w-md w-full max-h-[90vh] overflow-y-auto\">\r\n <div className=\"flex items-center justify-between mb-4\">\r\n <h3 className=\"text-lg font-semibold\">{t(`accessRequests.modal.${action}Title`)}</h3>\r\n <button\r\n onClick={onClose}\r\n className=\"p-1 hover:bg-[var(--bg-hover)] rounded\"\r\n disabled={processing}\r\n >\r\n <X className=\"w-5 h-5\" />\r\n </button>\r\n </div>\r\n\r\n <div className=\"space-y-4\">\r\n <div>\r\n <div className=\"font-medium mb-1\">{t('accessRequests.modal.user')}</div>\r\n <div>{request.userFullName} ({request.userEmail})</div>\r\n </div>\r\n\r\n <div>\r\n <div className=\"font-medium mb-1\">{t('accessRequests.modal.application')}</div>\r\n <div>{request.applicationLabel}</div>\r\n </div>\r\n\r\n {request.reason && (\r\n <div>\r\n <div className=\"font-medium mb-1\">{t('accessRequests.modal.userReason')}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">{request.reason}</div>\r\n </div>\r\n )}\r\n\r\n {isApprove && (\r\n <>\r\n {/* Assignment mode toggle */}\r\n <div>\r\n <label className=\"block font-medium mb-2\">\r\n {t('accessRequests.modal.assignmentMethod')}\r\n <span className=\"text-[var(--error-text)] ml-1\">*</span>\r\n </label>\r\n <div className=\"grid grid-cols-2 gap-2\">\r\n <button\r\n type=\"button\"\r\n onClick={() => setAssignmentMode('group')}\r\n className={`flex items-center gap-2 px-3 py-2.5 rounded-[var(--radius-input)] border text-sm font-medium transition-colors ${\r\n assignmentMode === 'group'\r\n ? 'border-[var(--color-accent-500)] bg-[var(--color-accent-50)] text-[var(--color-accent-700)]'\r\n : 'border-[var(--border-color)] hover:bg-[var(--bg-hover)]'\r\n }`}\r\n >\r\n <Users className=\"w-4 h-4\" />\r\n {t('accessRequests.modal.addToGroup')}\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => setAssignmentMode('role')}\r\n className={`flex items-center gap-2 px-3 py-2.5 rounded-[var(--radius-input)] border text-sm font-medium transition-colors ${\r\n assignmentMode === 'role'\r\n ? 'border-[var(--color-accent-500)] bg-[var(--color-accent-50)] text-[var(--color-accent-700)]'\r\n : 'border-[var(--border-color)] hover:bg-[var(--bg-hover)]'\r\n }`}\r\n >\r\n <Shield className=\"w-4 h-4\" />\r\n {t('accessRequests.modal.assignRole')}\r\n </button>\r\n </div>\r\n <p className=\"text-xs text-[var(--text-secondary)] mt-1.5\">\r\n {assignmentMode === 'group'\r\n ? t('accessRequests.modal.groupHint')\r\n : t('accessRequests.modal.roleHint')}\r\n </p>\r\n </div>\r\n\r\n {/* Group selector */}\r\n {assignmentMode === 'group' && (\r\n <div>\r\n <label className=\"block font-medium mb-2\">\r\n {t('accessRequests.modal.selectGroup')}\r\n <span className=\"text-[var(--error-text)] ml-1\">*</span>\r\n </label>\r\n {loadingGroups && (\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Loader2 className=\"w-4 h-4 animate-spin\" />\r\n {t('accessRequests.modal.loadingGroups')}\r\n </div>\r\n )}\r\n {!loadingGroups && groups.length === 0 && (\r\n <div className=\"text-sm text-[var(--warning-text)]\">\r\n {t('accessRequests.modal.noGroupsAvailable')}\r\n </div>\r\n )}\r\n {!loadingGroups && groups.length > 0 && (\r\n <select\r\n value={selectedGroupId}\r\n onChange={(e) => setSelectedGroupId(e.target.value)}\r\n className=\"w-full px-3 py-2 border rounded-[var(--radius-input)] bg-[var(--bg-primary)] border-[var(--border-color)]\"\r\n >\r\n <option value=\"\">{t('accessRequests.modal.selectGroupPlaceholder')}</option>\r\n {groups.map((group) => (\r\n <option key={group.groupId} value={group.groupId}>\r\n {group.name} ({group.memberCount} {t('accessRequests.modal.members')})\r\n </option>\r\n ))}\r\n </select>\r\n )}\r\n </div>\r\n )}\r\n\r\n {/* Role selector */}\r\n {assignmentMode === 'role' && (\r\n <div>\r\n <label className=\"block font-medium mb-2\">\r\n {t('accessRequests.modal.selectRole')}\r\n <span className=\"text-[var(--error-text)] ml-1\">*</span>\r\n </label>\r\n {loadingRoles && (\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Loader2 className=\"w-4 h-4 animate-spin\" />\r\n {t('accessRequests.modal.loadingRoles')}\r\n </div>\r\n )}\r\n {!loadingRoles && roles.length === 0 && (\r\n <div className=\"text-sm text-[var(--warning-text)]\">\r\n {t('accessRequests.modal.noRolesAvailable')}\r\n </div>\r\n )}\r\n {!loadingRoles && roles.length > 0 && (\r\n <select\r\n value={selectedRoleId}\r\n onChange={(e) => setSelectedRoleId(e.target.value)}\r\n className=\"w-full px-3 py-2 border rounded-[var(--radius-input)] bg-[var(--bg-primary)] border-[var(--border-color)]\"\r\n >\r\n <option value=\"\">{t('accessRequests.modal.selectRolePlaceholder')}</option>\r\n {roles.map((role) => (\r\n <option key={role.id} value={role.id}>\r\n {role.name} ({role.shortName})\r\n </option>\r\n ))}\r\n </select>\r\n )}\r\n </div>\r\n )}\r\n </>\r\n )}\r\n\r\n <div>\r\n <label className=\"block font-medium mb-2\">\r\n {t(`accessRequests.modal.${action}Notes`)}\r\n {isDeny && <span className=\"text-[var(--error-text)] ml-1\">*</span>}\r\n </label>\r\n <textarea\r\n value={notes}\r\n onChange={(e) => setNotes(e.target.value)}\r\n className=\"w-full px-3 py-2 border rounded-[var(--radius-input)] bg-[var(--bg-primary)] border-[var(--border-color)]\"\r\n rows={3}\r\n placeholder={t(`accessRequests.modal.${action}NotesPlaceholder`)}\r\n required={isDeny}\r\n />\r\n </div>\r\n\r\n <div className=\"flex justify-end gap-2 pt-2\">\r\n <button\r\n onClick={onClose}\r\n className=\"px-4 py-2 rounded-[var(--radius-button)] border border-[var(--border-color)] hover:bg-[var(--bg-hover)]\"\r\n disabled={processing}\r\n >\r\n {t('common:cancel')}\r\n </button>\r\n <button\r\n onClick={handleSubmit}\r\n disabled={!canSubmit}\r\n className={`px-4 py-2 rounded-[var(--radius-button)] text-white disabled:opacity-50 flex items-center gap-2 ${\r\n isDeny ? 'bg-[var(--error-text)]' : 'bg-[var(--success-text)]'\r\n }`}\r\n >\r\n {processing && <Loader2 className=\"w-4 h-4 animate-spin\" />}\r\n {t(`accessRequests.actions.${action}`)}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { useState } from 'react';\r\nimport { accessRequestsApi } from '@/services/api/accessRequestsApi';\r\n\r\nexport function useAccessRequestActions(onSuccess?: () => void): {\n approve: (requestId: string, data: { roleId?: string; groupId?: string; notes?: string }) => Promise<void>;\n deny: (requestId: string, notes: string) => Promise<void>;\n processing: boolean;\n error: string | null;\n} {\r\n const [processing, setProcessing] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n\r\n const approve = async (requestId: string, data: { roleId?: string; groupId?: string; notes?: string }) => {\r\n setProcessing(true);\r\n setError(null);\r\n try {\r\n await accessRequestsApi.approveRequest(requestId, data);\r\n onSuccess?.();\r\n } catch (err: unknown) {\r\n setError(err instanceof Error ? err.message : 'Failed to approve request');\r\n throw err;\r\n } finally {\r\n setProcessing(false);\r\n }\r\n };\r\n\r\n const deny = async (requestId: string, notes: string) => {\r\n setProcessing(true);\r\n setError(null);\r\n try {\r\n await accessRequestsApi.denyRequest(requestId, notes);\r\n onSuccess?.();\r\n } catch (err: unknown) {\r\n setError(err instanceof Error ? err.message : 'Failed to deny request');\r\n throw err;\r\n } finally {\r\n setProcessing(false);\r\n }\r\n };\r\n\r\n return { approve, deny, processing, error };\r\n}\r\n","import { useState } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { DataTable } from '@/components/ui/DataTable';\r\nimport type { DataTableColumn } from '@/components/ui/DataTable';\r\nimport { AccessRequestStatusBadge } from './AccessRequestStatusBadge';\r\nimport { AccessRequestApprovalModal } from './AccessRequestApprovalModal';\r\nimport { CheckCircle, XCircle, Loader2 } from 'lucide-react';\r\nimport type { AccessRequest } from '@/services/api/accessRequestsApi';\r\nimport { useAccessRequestActions } from '@/hooks/useAccessRequestActions';\r\n\r\ninterface AccessRequestsListTabProps {\r\n readonly requests: AccessRequest[];\r\n readonly loading: boolean;\r\n readonly onReload: () => void;\r\n readonly showTenantColumn?: boolean;\r\n}\r\n\r\nexport function AccessRequestsListTab({ requests, loading, onReload, showTenantColumn = false }: AccessRequestsListTabProps): ReactElement {\r\n const { t } = useTranslation('admin');\r\n const [selectedRequest, setSelectedRequest] = useState<AccessRequest | null>(null);\r\n const [modalAction, setModalAction] = useState<'approve' | 'deny' | null>(null);\r\n\r\n const { approve, deny, processing } = useAccessRequestActions(() => {\r\n setSelectedRequest(null);\r\n setModalAction(null);\r\n onReload();\r\n });\r\n\r\n const handleAction = (request: AccessRequest, action: 'approve' | 'deny') => {\r\n setSelectedRequest(request);\r\n setModalAction(action);\r\n };\r\n\r\n const handleConfirm = async (data: { roleId?: string; groupId?: string; notes?: string }) => {\r\n if (!selectedRequest) return;\r\n\r\n if (modalAction === 'approve') {\r\n await approve(selectedRequest.id, data);\r\n } else if (modalAction === 'deny' && data.notes) {\r\n await deny(selectedRequest.id, data.notes);\r\n }\r\n };\r\n\r\n const columns: DataTableColumn<AccessRequest>[] = [\r\n {\r\n key: 'userFullName',\r\n label: t('accessRequests.table.user'),\r\n render: (req) => (\r\n <div>\r\n <div className=\"font-medium\">{req.userFullName}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">{req.userEmail}</div>\r\n </div>\r\n ),\r\n },\r\n ...(showTenantColumn ? [{\r\n key: 'tenantName' as const,\r\n label: t('accessRequests.table.tenant'),\r\n render: (req: AccessRequest) => req.tenantName,\r\n }] : []),\r\n {\r\n key: 'applicationLabel',\r\n label: t('accessRequests.table.application'),\r\n },\r\n {\r\n key: 'reason',\r\n label: t('accessRequests.table.reason'),\r\n render: (req) => req.reason || '-',\r\n },\r\n {\r\n key: 'requestedAt',\r\n label: t('accessRequests.table.requestedAt'),\r\n render: (req) => new Date(req.requestedAt).toLocaleString(),\r\n },\r\n {\r\n key: 'status',\r\n label: t('accessRequests.table.status'),\r\n render: (req) => <AccessRequestStatusBadge status={req.status} />,\r\n },\r\n {\r\n key: 'actions',\r\n label: t('common:actionsColumn'),\r\n align: 'right',\r\n render: (req) => (\r\n req.status === 'Pending' ? (\r\n <div className=\"flex gap-2\">\r\n <button\r\n onClick={() => handleAction(req, 'approve')}\r\n className=\"p-1 rounded hover:bg-[var(--success-bg)] text-[var(--success-text)]\"\r\n title={t('accessRequests.actions.approve')}\r\n >\r\n <CheckCircle className=\"w-4 h-4\" />\r\n </button>\r\n <button\r\n onClick={() => handleAction(req, 'deny')}\r\n className=\"p-1 rounded hover:bg-[var(--error-bg)] text-[var(--error-text)]\"\r\n title={t('accessRequests.actions.deny')}\r\n >\r\n <XCircle className=\"w-4 h-4\" />\r\n </button>\r\n </div>\r\n ) : (\r\n <div className=\"text-sm text-[var(--text-secondary)]\">\r\n {req.processedBy}\r\n </div>\r\n )\r\n ),\r\n },\r\n ];\r\n\r\n if (loading) {\r\n return (\r\n <div className=\"flex items-center justify-center py-8\">\r\n <Loader2 className=\"w-6 h-6 animate-spin text-[var(--color-accent-500)]\" />\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"space-y-4\">\r\n <DataTable\r\n data={requests}\r\n columns={columns}\r\n searchable\r\n searchPlaceholder={t('accessRequests.search')}\r\n getRowKey={(req) => req.id}\r\n emptyMessage={t('accessRequests.empty')}\r\n />\r\n\r\n {selectedRequest && modalAction && (\r\n <AccessRequestApprovalModal\r\n open={true}\r\n onClose={() => {\r\n setSelectedRequest(null);\r\n setModalAction(null);\r\n }}\r\n onConfirm={handleConfirm}\r\n request={selectedRequest}\r\n action={modalAction}\r\n processing={processing}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n","import { useState } from 'react';\r\nimport { accessRequestsApi } from '@/services/api/accessRequestsApi';\r\nimport type { AccessRequest } from '@/services/api/accessRequestsApi';\r\n\r\nexport function useAccessRequests(type: 'application' | 'tenant', id: string): {\n requests: AccessRequest[];\n loading: boolean;\n error: string | null;\n loadRequests: (status?: string) => Promise<void>;\n} {\r\n const [requests, setRequests] = useState<AccessRequest[]>([]);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n\r\n const loadRequests = async (status?: string) => {\r\n setLoading(true);\r\n setError(null);\r\n try {\r\n const data = type === 'application'\r\n ? await accessRequestsApi.getRequestsByApplication(id, status)\r\n : await accessRequestsApi.getRequestsByTenant(id, status);\r\n setRequests(Array.isArray(data) ? data : []);\r\n } catch (err: any) {\r\n setError(err.message || 'Failed to load requests');\r\n setRequests([]); // Reset to empty array on error\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n return { requests, loading, error, loadRequests };\r\n}\r\n"],"names":["AccessRequestApprovalModal","open","onClose","onConfirm","request","action","processing","t","useTranslation","notes","setNotes","useState","assignmentMode","setAssignmentMode","selectedRoleId","setSelectedRoleId","selectedGroupId","setSelectedGroupId","roles","setRoles","groups","setGroups","loadingRoles","setLoadingRoles","loadingGroups","setLoadingGroups","isDeny","isApprove","useEffect","adminApi","g","handleSubmit","canSubmit","jsxs","jsx","X","Fragment","Users","Shield","Loader2","e","group","role","useAccessRequestActions","onSuccess","setProcessing","error","setError","requestId","data","accessRequestsApi","err","AccessRequestsListTab","requests","loading","onReload","showTenantColumn","selectedRequest","setSelectedRequest","modalAction","setModalAction","approve","deny","handleAction","handleConfirm","columns","req","AccessRequestStatusBadge","CheckCircle","XCircle","DataTable","useAccessRequests","type","id","setRequests","setLoading","status"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("react"),l=require("./accessRequestsApi-CBpF5d54.js");function i(){const[r,t]=e.useState([]),[n,u]=e.useState(!1),[o,a]=e.useState(null),c=async()=>{u(!0),a(null);try{const s=await l.accessRequestsApi.getMyRequests();t(s||[])}catch(s){a(s.message||"Failed to load requests"),t([])}finally{u(!1)}};return e.useEffect(()=>{c()},[]),{requests:r,loading:n,error:o,reload:c}}exports.useUserAccessRequests=i;
2
- //# sourceMappingURL=useUserAccessRequests-5wWea2Jg.js.map
1
+ "use strict";const e=require("react"),l=require("./accessRequestsApi-C2usKVGJ.js");function i(){const[r,t]=e.useState([]),[n,u]=e.useState(!1),[o,a]=e.useState(null),c=async()=>{u(!0),a(null);try{const s=await l.accessRequestsApi.getMyRequests();t(s||[])}catch(s){a(s.message||"Failed to load requests"),t([])}finally{u(!1)}};return e.useEffect(()=>{c()},[]),{requests:r,loading:n,error:o,reload:c}}exports.useUserAccessRequests=i;
2
+ //# sourceMappingURL=useUserAccessRequests-C6l2VMe1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUserAccessRequests-5wWea2Jg.js","sources":["../../src/hooks/useUserAccessRequests.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\r\nimport { accessRequestsApi } from '@/services/api/accessRequestsApi';\r\nimport type { AccessRequest } from '@/services/api/accessRequestsApi';\r\n\r\nexport function useUserAccessRequests(): {\n requests: AccessRequest[];\n loading: boolean;\n error: string | null;\n reload: () => Promise<void>;\n} {\r\n const [requests, setRequests] = useState<AccessRequest[]>([]);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n\r\n const loadRequests = async () => {\r\n setLoading(true);\r\n setError(null);\r\n try {\r\n const data = await accessRequestsApi.getMyRequests();\r\n setRequests(data || []);\r\n } catch (err: any) {\r\n setError(err.message || 'Failed to load requests');\r\n setRequests([]); // Reset to empty array on error\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n loadRequests();\r\n }, []);\r\n\r\n return { requests, loading, error, reload: loadRequests };\r\n}\r\n"],"names":["useUserAccessRequests","requests","setRequests","useState","loading","setLoading","error","setError","loadRequests","data","accessRequestsApi","err","useEffect"],"mappings":"mFAIO,SAASA,GAKd,CACA,KAAM,CAACC,EAAUC,CAAW,EAAIC,EAAAA,SAA0B,CAAA,CAAE,EACtD,CAACC,EAASC,CAAU,EAAIF,EAAAA,SAAS,EAAK,EACtC,CAACG,EAAOC,CAAQ,EAAIJ,EAAAA,SAAwB,IAAI,EAEhDK,EAAe,SAAY,CAC/BH,EAAW,EAAI,EACfE,EAAS,IAAI,EACb,GAAI,CACF,MAAME,EAAO,MAAMC,EAAAA,kBAAkB,cAAA,EACrCR,EAAYO,GAAQ,EAAE,CACxB,OAASE,EAAU,CACjBJ,EAASI,EAAI,SAAW,yBAAyB,EACjDT,EAAY,CAAA,CAAE,CAChB,QAAA,CACEG,EAAW,EAAK,CAClB,CACF,EAEAO,OAAAA,EAAAA,UAAU,IAAM,CACdJ,EAAA,CACF,EAAG,CAAA,CAAE,EAEE,CAAE,SAAAP,EAAU,QAAAG,EAAS,MAAAE,EAAO,OAAQE,CAAA,CAC7C"}
1
+ {"version":3,"file":"useUserAccessRequests-C6l2VMe1.js","sources":["../../src/hooks/useUserAccessRequests.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\r\nimport { accessRequestsApi } from '@/services/api/accessRequestsApi';\r\nimport type { AccessRequest } from '@/services/api/accessRequestsApi';\r\n\r\nexport function useUserAccessRequests(): {\n requests: AccessRequest[];\n loading: boolean;\n error: string | null;\n reload: () => Promise<void>;\n} {\r\n const [requests, setRequests] = useState<AccessRequest[]>([]);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n\r\n const loadRequests = async () => {\r\n setLoading(true);\r\n setError(null);\r\n try {\r\n const data = await accessRequestsApi.getMyRequests();\r\n setRequests(data || []);\r\n } catch (err: any) {\r\n setError(err.message || 'Failed to load requests');\r\n setRequests([]); // Reset to empty array on error\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n loadRequests();\r\n }, []);\r\n\r\n return { requests, loading, error, reload: loadRequests };\r\n}\r\n"],"names":["useUserAccessRequests","requests","setRequests","useState","loading","setLoading","error","setError","loadRequests","data","accessRequestsApi","err","useEffect"],"mappings":"mFAIO,SAASA,GAKd,CACA,KAAM,CAACC,EAAUC,CAAW,EAAIC,EAAAA,SAA0B,CAAA,CAAE,EACtD,CAACC,EAASC,CAAU,EAAIF,EAAAA,SAAS,EAAK,EACtC,CAACG,EAAOC,CAAQ,EAAIJ,EAAAA,SAAwB,IAAI,EAEhDK,EAAe,SAAY,CAC/BH,EAAW,EAAI,EACfE,EAAS,IAAI,EACb,GAAI,CACF,MAAME,EAAO,MAAMC,EAAAA,kBAAkB,cAAA,EACrCR,EAAYO,GAAQ,EAAE,CACxB,OAASE,EAAU,CACjBJ,EAASI,EAAI,SAAW,yBAAyB,EACjDT,EAAY,CAAA,CAAE,CAChB,QAAA,CACEG,EAAW,EAAK,CAClB,CACF,EAEAO,OAAAA,EAAAA,UAAU,IAAM,CACdJ,EAAA,CACF,EAAG,CAAA,CAAE,EAEE,CAAE,SAAAP,EAAU,QAAAG,EAAS,MAAAE,EAAO,OAAQE,CAAA,CAC7C"}
@@ -1,5 +1,5 @@
1
1
  import { useState as s, useEffect as l } from "react";
2
- import { a as i } from "./accessRequestsApi-BJH8EE1K.js";
2
+ import { a as i } from "./accessRequestsApi-LuovcP6l.js";
3
3
  function q() {
4
4
  const [u, t] = s([]), [c, a] = s(!1), [n, r] = s(null), o = async () => {
5
5
  a(!0), r(null);
@@ -19,4 +19,4 @@ function q() {
19
19
  export {
20
20
  q as u
21
21
  };
22
- //# sourceMappingURL=useUserAccessRequests-Bk_v8egy.js.map
22
+ //# sourceMappingURL=useUserAccessRequests-Ds3K-ENU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUserAccessRequests-Bk_v8egy.js","sources":["../../src/hooks/useUserAccessRequests.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\r\nimport { accessRequestsApi } from '@/services/api/accessRequestsApi';\r\nimport type { AccessRequest } from '@/services/api/accessRequestsApi';\r\n\r\nexport function useUserAccessRequests(): {\n requests: AccessRequest[];\n loading: boolean;\n error: string | null;\n reload: () => Promise<void>;\n} {\r\n const [requests, setRequests] = useState<AccessRequest[]>([]);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n\r\n const loadRequests = async () => {\r\n setLoading(true);\r\n setError(null);\r\n try {\r\n const data = await accessRequestsApi.getMyRequests();\r\n setRequests(data || []);\r\n } catch (err: any) {\r\n setError(err.message || 'Failed to load requests');\r\n setRequests([]); // Reset to empty array on error\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n loadRequests();\r\n }, []);\r\n\r\n return { requests, loading, error, reload: loadRequests };\r\n}\r\n"],"names":["useUserAccessRequests","requests","setRequests","useState","loading","setLoading","error","setError","loadRequests","data","accessRequestsApi","err","useEffect"],"mappings":";;AAIO,SAASA,IAKd;AACA,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAA0B,CAAA,CAAE,GACtD,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GACtC,CAACG,GAAOC,CAAQ,IAAIJ,EAAwB,IAAI,GAEhDK,IAAe,YAAY;AAC/B,IAAAH,EAAW,EAAI,GACfE,EAAS,IAAI;AACb,QAAI;AACF,YAAME,IAAO,MAAMC,EAAkB,cAAA;AACrC,MAAAR,EAAYO,KAAQ,EAAE;AAAA,IACxB,SAASE,GAAU;AACjB,MAAAJ,EAASI,EAAI,WAAW,yBAAyB,GACjDT,EAAY,CAAA,CAAE;AAAA,IAChB,UAAA;AACE,MAAAG,EAAW,EAAK;AAAA,IAClB;AAAA,EACF;AAEA,SAAAO,EAAU,MAAM;AACd,IAAAJ,EAAA;AAAA,EACF,GAAG,CAAA,CAAE,GAEE,EAAE,UAAAP,GAAU,SAAAG,GAAS,OAAAE,GAAO,QAAQE,EAAA;AAC7C;"}
1
+ {"version":3,"file":"useUserAccessRequests-Ds3K-ENU.js","sources":["../../src/hooks/useUserAccessRequests.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\r\nimport { accessRequestsApi } from '@/services/api/accessRequestsApi';\r\nimport type { AccessRequest } from '@/services/api/accessRequestsApi';\r\n\r\nexport function useUserAccessRequests(): {\n requests: AccessRequest[];\n loading: boolean;\n error: string | null;\n reload: () => Promise<void>;\n} {\r\n const [requests, setRequests] = useState<AccessRequest[]>([]);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n\r\n const loadRequests = async () => {\r\n setLoading(true);\r\n setError(null);\r\n try {\r\n const data = await accessRequestsApi.getMyRequests();\r\n setRequests(data || []);\r\n } catch (err: any) {\r\n setError(err.message || 'Failed to load requests');\r\n setRequests([]); // Reset to empty array on error\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n loadRequests();\r\n }, []);\r\n\r\n return { requests, loading, error, reload: loadRequests };\r\n}\r\n"],"names":["useUserAccessRequests","requests","setRequests","useState","loading","setLoading","error","setError","loadRequests","data","accessRequestsApi","err","useEffect"],"mappings":";;AAIO,SAASA,IAKd;AACA,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAA0B,CAAA,CAAE,GACtD,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GACtC,CAACG,GAAOC,CAAQ,IAAIJ,EAAwB,IAAI,GAEhDK,IAAe,YAAY;AAC/B,IAAAH,EAAW,EAAI,GACfE,EAAS,IAAI;AACb,QAAI;AACF,YAAME,IAAO,MAAMC,EAAkB,cAAA;AACrC,MAAAR,EAAYO,KAAQ,EAAE;AAAA,IACxB,SAASE,GAAU;AACjB,MAAAJ,EAASI,EAAI,WAAW,yBAAyB,GACjDT,EAAY,CAAA,CAAE;AAAA,IAChB,UAAA;AACE,MAAAG,EAAW,EAAK;AAAA,IAClB;AAAA,EACF;AAEA,SAAAO,EAAU,MAAM;AACd,IAAAJ,EAAA;AAAA,EACF,GAAG,CAAA,CAAE,GAEE,EAAE,UAAAP,GAAU,SAAAG,GAAS,OAAAE,GAAO,QAAQE,EAAA;AAC7C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicRouter.d.ts","sourceRoot":"","sources":["../../../src/components/routing/DynamicRouter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AA4b1C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,IAAI,YAAY,CAyH5C"}
1
+ {"version":3,"file":"DynamicRouter.d.ts","sourceRoot":"","sources":["../../../src/components/routing/DynamicRouter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAyf1C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,IAAI,YAAY,CAyH5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProtectedRoute.d.ts","sourceRoot":"","sources":["../../../src/components/routing/ProtectedRoute.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAa1C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,IAAI,YAAY,CA4I7C"}
1
+ {"version":3,"file":"ProtectedRoute.d.ts","sourceRoot":"","sources":["../../../src/components/routing/ProtectedRoute.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAa1C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,IAAI,YAAY,CAqI7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../src/contexts/AuthContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC3C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAOD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,GAAG,YAAY,GAAG,IAAI,CA0FvF;AAED,wBAAgB,OAAO,IAAI,eAAe,CAMzC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,eAAe,GAAG,IAAI,CAEpD"}
1
+ {"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../src/contexts/AuthContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC3C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAOD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,GAAG,YAAY,GAAG,IAAI,CAyGvF;AAED,wBAAgB,OAAO,IAAI,eAAe,CAMzC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,eAAe,GAAG,IAAI,CAEpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationContext.d.ts","sourceRoot":"","sources":["../../src/contexts/NavigationContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavigationContext.d.ts","sourceRoot":"","sources":["../../src/contexts/NavigationContext.tsx"],"names":[],"mappings":"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"}
@@ -171,9 +171,11 @@ export declare const PAGE_KEYS: {
171
171
  readonly APPSETTINGS_EMAIL: "administration.configuration.appsettings.email";
172
172
  readonly APPSETTINGS_ENTRA: "administration.configuration.appsettings.entra";
173
173
  readonly LICENSE: "administration.configuration.license";
174
+ readonly API_ACCOUNTS: "api.accounts";
174
175
  readonly API_ACCOUNTS_LIST: "api.accounts.list";
175
176
  readonly API_ACCOUNTS_CREATE: "api.accounts.create";
176
177
  readonly API_ACCOUNTS_DETAIL: "api.accounts.detail";
178
+ readonly API_APIS: "api.apis";
177
179
  readonly API_CATALOG: "api.apis.catalog";
178
180
  readonly API_CATALOG_DETAIL: "api.apis.catalog.detail";
179
181
  readonly SUPPORT_DASHBOARD: "support.tickets";
@@ -1 +1 @@
1
- {"version":3,"file":"PageRegistry.d.ts","sourceRoot":"","sources":["../../src/extensions/PageRegistry.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG7F;;;;;;;GAOG;AACH,cAAM,iBAAiB;IACrB,OAAO,CAAC,KAAK,CAA6C;IAE1D;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE,KAAK,GAAE,QAAQ,EAAO,GAAG,IAAI;IAQrF;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI/C;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAIvD;;OAEG;IACH,MAAM,IAAI,iBAAiB,EAAE;IAI7B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE;IAIjC;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED,eAAO,MAAM,YAAY,mBAA0B,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAClD,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,GACjC,aAAa,CAAC,CAAC,CAAC,CAalB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAKhF;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,mBAAmB,GAAG,YAAY,CASzH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+HZ,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"PageRegistry.d.ts","sourceRoot":"","sources":["../../src/extensions/PageRegistry.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG7F;;;;;;;GAOG;AACH,cAAM,iBAAiB;IACrB,OAAO,CAAC,KAAK,CAA6C;IAE1D;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE,KAAK,GAAE,QAAQ,EAAO,GAAG,IAAI;IAQrF;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI/C;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAIvD;;OAEG;IACH,MAAM,IAAI,iBAAiB,EAAE;IAI7B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE;IAIjC;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED,eAAO,MAAM,YAAY,mBAA0B,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAClD,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,GACjC,aAAa,CAAC,CAAC,CAAC,CAalB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAKhF;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,mBAAmB,GAAG,YAAY,CASzH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiIZ,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC"}
@@ -28,6 +28,7 @@ export interface UserPreferencesWithScopeDto {
28
28
  export type SettingSource = 'Database' | 'AppSettings' | 'Environment' | 'Computed';
29
29
  export type SettingValueType = 'String' | 'Int' | 'Bool' | 'Json' | 'TimeSpan' | 'Decimal';
30
30
  export interface SettingDto {
31
+ id: string;
31
32
  category: string;
32
33
  key: string;
33
34
  value: string;
@@ -37,27 +38,31 @@ export interface SettingDto {
37
38
  isEditable: boolean;
38
39
  isSensitive: boolean;
39
40
  displayOrder: number;
41
+ modifiedByUserName: string | null;
42
+ modifiedAt: string | null;
43
+ createdAt: string;
40
44
  }
41
45
  export interface SettingViewModel {
42
46
  category: string;
43
47
  key: string;
44
48
  value: string;
45
49
  displayValue: string;
46
- defaultValue: string | null;
47
50
  valueType: SettingValueType;
51
+ source: SettingSource;
48
52
  description: string | null;
49
53
  isEditable: boolean;
50
54
  isSensitive: boolean;
51
55
  displayOrder: number;
52
- source: SettingSource;
53
56
  modifiedByUserName: string | null;
54
57
  modifiedAt: string | null;
58
+ defaultValue: string | null;
55
59
  }
56
60
  export interface SettingHistoryDto {
57
61
  id: string;
58
62
  oldValue: string;
59
63
  newValue: string;
60
- changedByUserName: string | null;
64
+ changedByUserId: string;
65
+ changedByUserName: string;
61
66
  changedAt: string;
62
67
  }
63
68
  declare const _createSettingsApi: (apiContext: ApiContext) => {
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/services/api/adminApi/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,gBAAgB,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAGD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,UAAU,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3F,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,QAAA,MAAM,kBAAkB,GAAI,YAAY,UAAU;;8BAItB,MAAM;oBAGhB,MAAM,OAAO,MAAM;uBAGhB,MAAM,OAAO,MAAM,SAAS,MAAM;sBAGnC,MAAM,OAAO,MAAM;2BAGd,MAAM,OAAO,MAAM;;CAK1C,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAO,MAAM,iBAAiB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAgC,CAAC;AAG7F,QAAA,MAAM,qBAAqB,GAAI,YAAY,UAAU;IACnD,mFAAmF;;IAInF,wFAAwF;;IAIxF,oFAAoF;6BAC3D,MAAM;IAG/B,uDAAuD;;IAIvD,8DAA8D;;IAI9D,4EAA4E;;CAG5E,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACtE,eAAO,MAAM,oBAAoB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,cAAsC,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/services/api/adminApi/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,gBAAgB,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAGD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,UAAU,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3F,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,QAAA,MAAM,kBAAkB,GAAI,YAAY,UAAU;;8BAItB,MAAM;oBAGhB,MAAM,OAAO,MAAM;uBAGhB,MAAM,OAAO,MAAM,SAAS,MAAM;sBAGnC,MAAM,OAAO,MAAM;2BAGd,MAAM,OAAO,MAAM;;CAK1C,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAO,MAAM,iBAAiB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAgC,CAAC;AAG7F,QAAA,MAAM,qBAAqB,GAAI,YAAY,UAAU;IACnD,mFAAmF;;IAInF,wFAAwF;;IAIxF,oFAAoF;6BAC3D,MAAM;IAG/B,uDAAuD;;IAIvD,8DAA8D;;IAI9D,4EAA4E;;CAG5E,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACtE,eAAO,MAAM,oBAAoB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,cAAsC,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DK5czlkn.js"),i=require("i18next");exports.ActivityTimeline=e.ActivityTimeline;exports.AdminSidebar=e.AdminSidebar;exports.AppHeader=e.AppHeader;exports.AppLayout=e.AppLayout;exports.AppSwitcher=e.AppSwitcher;exports.AuthLayout=e.AuthLayout;exports.AuthProvider=e.AuthProvider;exports.Breadcrumb=e.Breadcrumb;exports.CreateTicketButton=e.CreateTicketButton;exports.DataTable=e.DataTable;exports.DataView=e.DataView;exports.DocPanelProvider=e.DocPanelProvider;exports.DocsLayout=e.DocsLayout;exports.DynamicRouter=e.DynamicRouter;exports.EntityCard=e.EntityCard;exports.ErrorFallback=e.ErrorFallback;exports.ExtendablePage=e.ExtendablePage;exports.ExtensionProvider=e.ExtensionProvider;exports.FavoritesBar=e.FavoritesBar;exports.FavoritesModal=e.FavoritesModal;exports.FavoritesProvider=e.FavoritesProvider;exports.FeatureGate=e.FeatureGate;exports.FeatureRouteGuard=e.FeatureRouteGuard;exports.Fill=e.Fill;exports.Footer=e.Footer;exports.GlobalErrorBoundary=e.GlobalErrorBoundary;exports.Header=e.Header;exports.KanbanBoard=e.KanbanBoard;exports.LanguageSwitcher=e.LanguageSwitcher;exports.LicenseActivationDialog=e.LicenseActivationDialog;exports.LicenseContentBanner=e.LicenseContentBanner;exports.LicenseGuard=e.LicenseGuard;exports.LicenseProvider=e.LicenseProvider;exports.LicenseStatusBadge=e.LicenseStatusBadge;exports.ModuleSidebar=e.ModuleSidebar;exports.NotificationBell=e.NotificationBell;exports.PAGE_KEYS=e.PAGE_KEYS;exports.PageHeader=e.PageHeader;exports.PageRegistry=e.PageRegistry;exports.PermissionMatrix=e.PermissionMatrix;exports.ProtectedRoute=e.ProtectedRoute;exports.PublicLayout=e.PublicLayout;exports.RouteErrorBoundary=e.RouteErrorBoundary;exports.SessionProvider=e.SessionProvider;exports.SessionWarningModal=e.SessionWarningModal;exports.SidebarProvider=e.SidebarProvider;exports.SignalRProvider=e.SignalRProvider;exports.SlaBadge=e.SlaBadge;exports.Slot=e.Slot;exports.SlotFillProvider=e.SlotFillProvider;exports.SmartStackProvider=e.SmartStackProvider;exports.ThemeCustomizer=e.ThemeCustomizer;exports.ThemeProvider=e.ThemeProvider;exports.ThemeSwitcher=e.ThemeSwitcher;exports.TicketConversation=e.TicketConversation;exports.TicketDetailView=e.TicketDetailView;exports.TicketSidebar=e.TicketSidebar;exports.TicketsListView=e.TicketsListView;exports.Tooltip=e.Tooltip;exports.UnderDevelopment=e.UnderDevelopment;exports.UserSidebar=e.UserSidebar;exports.WILDCARD_PERMISSION=e.WILDCARD_PERMISSION;exports.api=e.api;exports.apiClient=e.apiClient;exports.createSlotFill=e.createSlotFill;exports.hasFullAccess=e.hasFullAccess;exports.hasPermission=e.hasPermission;exports.hasRouteAccess=e.hasRouteAccess;exports.logService=e.logService;exports.matchesWildcard=e.matchesWildcard;exports.useActivePage=e.useActivePage;exports.useAuth=e.useAuth;exports.useClientContext=e.useClientContext;exports.useCollapsibleState=e.useCollapsibleState;exports.useDocPanel=e.useDocPanel;exports.useExtensions=e.useExtensions;exports.useFavoriteModules=e.useFavorites;exports.useFavorites=e.useFavorites;exports.useFormFieldExtensions=e.useFormFieldExtensions;exports.useHasExtension=e.useHasExtension;exports.useLicense=e.useLicense;exports.usePageOverride=e.usePageOverride;exports.usePageTracking=e.usePageTracking;exports.usePermissionMatrix=e.usePermissionMatrix;exports.usePermissionSync=e.usePermissionSync;exports.useRouteConfig=e.useRouteConfig;exports.useSessionMonitor=e.useSessionMonitor;exports.useSidebar=e.useSidebar;exports.useSignalR=e.useSignalR;exports.useSignalRContext=e.useSignalRContext;exports.useSlotFill=e.useSlotFill;exports.useSlotHasContent=e.useSlotHasContent;exports.useTableColumnExtensions=e.useTableColumnExtensions;exports.useTheme=e.useTheme;exports.useTicketSignalR=e.useTicketSignalR;exports.useUserPermissions=e.useUserPermissions;exports.withPageOverride=e.withPageOverride;exports.i18n=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DnML-nfd.js"),i=require("i18next");exports.ActivityTimeline=e.ActivityTimeline;exports.AdminSidebar=e.AdminSidebar;exports.AppHeader=e.AppHeader;exports.AppLayout=e.AppLayout;exports.AppSwitcher=e.AppSwitcher;exports.AuthLayout=e.AuthLayout;exports.AuthProvider=e.AuthProvider;exports.Breadcrumb=e.Breadcrumb;exports.CreateTicketButton=e.CreateTicketButton;exports.DataTable=e.DataTable;exports.DataView=e.DataView;exports.DocPanelProvider=e.DocPanelProvider;exports.DocsLayout=e.DocsLayout;exports.DynamicRouter=e.DynamicRouter;exports.EntityCard=e.EntityCard;exports.ErrorFallback=e.ErrorFallback;exports.ExtendablePage=e.ExtendablePage;exports.ExtensionProvider=e.ExtensionProvider;exports.FavoritesBar=e.FavoritesBar;exports.FavoritesModal=e.FavoritesModal;exports.FavoritesProvider=e.FavoritesProvider;exports.FeatureGate=e.FeatureGate;exports.FeatureRouteGuard=e.FeatureRouteGuard;exports.Fill=e.Fill;exports.Footer=e.Footer;exports.GlobalErrorBoundary=e.GlobalErrorBoundary;exports.Header=e.Header;exports.KanbanBoard=e.KanbanBoard;exports.LanguageSwitcher=e.LanguageSwitcher;exports.LicenseActivationDialog=e.LicenseActivationDialog;exports.LicenseContentBanner=e.LicenseContentBanner;exports.LicenseGuard=e.LicenseGuard;exports.LicenseProvider=e.LicenseProvider;exports.LicenseStatusBadge=e.LicenseStatusBadge;exports.ModuleSidebar=e.ModuleSidebar;exports.NotificationBell=e.NotificationBell;exports.PAGE_KEYS=e.PAGE_KEYS;exports.PageHeader=e.PageHeader;exports.PageRegistry=e.PageRegistry;exports.PermissionMatrix=e.PermissionMatrix;exports.ProtectedRoute=e.ProtectedRoute;exports.PublicLayout=e.PublicLayout;exports.RouteErrorBoundary=e.RouteErrorBoundary;exports.SessionProvider=e.SessionProvider;exports.SessionWarningModal=e.SessionWarningModal;exports.SidebarProvider=e.SidebarProvider;exports.SignalRProvider=e.SignalRProvider;exports.SlaBadge=e.SlaBadge;exports.Slot=e.Slot;exports.SlotFillProvider=e.SlotFillProvider;exports.SmartStackProvider=e.SmartStackProvider;exports.ThemeCustomizer=e.ThemeCustomizer;exports.ThemeProvider=e.ThemeProvider;exports.ThemeSwitcher=e.ThemeSwitcher;exports.TicketConversation=e.TicketConversation;exports.TicketDetailView=e.TicketDetailView;exports.TicketSidebar=e.TicketSidebar;exports.TicketsListView=e.TicketsListView;exports.Tooltip=e.Tooltip;exports.UnderDevelopment=e.UnderDevelopment;exports.UserSidebar=e.UserSidebar;exports.WILDCARD_PERMISSION=e.WILDCARD_PERMISSION;exports.api=e.api;exports.apiClient=e.apiClient;exports.createSlotFill=e.createSlotFill;exports.hasFullAccess=e.hasFullAccess;exports.hasPermission=e.hasPermission;exports.hasRouteAccess=e.hasRouteAccess;exports.logService=e.logService;exports.matchesWildcard=e.matchesWildcard;exports.useActivePage=e.useActivePage;exports.useAuth=e.useAuth;exports.useClientContext=e.useClientContext;exports.useCollapsibleState=e.useCollapsibleState;exports.useDocPanel=e.useDocPanel;exports.useExtensions=e.useExtensions;exports.useFavoriteModules=e.useFavorites;exports.useFavorites=e.useFavorites;exports.useFormFieldExtensions=e.useFormFieldExtensions;exports.useHasExtension=e.useHasExtension;exports.useLicense=e.useLicense;exports.usePageOverride=e.usePageOverride;exports.usePageTracking=e.usePageTracking;exports.usePermissionMatrix=e.usePermissionMatrix;exports.usePermissionSync=e.usePermissionSync;exports.useRouteConfig=e.useRouteConfig;exports.useSessionMonitor=e.useSessionMonitor;exports.useSidebar=e.useSidebar;exports.useSignalR=e.useSignalR;exports.useSignalRContext=e.useSignalRContext;exports.useSlotFill=e.useSlotFill;exports.useSlotHasContent=e.useSlotHasContent;exports.useTableColumnExtensions=e.useTableColumnExtensions;exports.useTheme=e.useTheme;exports.useTicketSignalR=e.useTicketSignalR;exports.useUserPermissions=e.useUserPermissions;exports.withPageOverride=e.withPageOverride;exports.i18n=i;
2
2
  //# sourceMappingURL=smartstack.cjs.map
@@ -1,4 +1,4 @@
1
- import { bc as e, aW as i, aV as r, aL as t, aS as o, aM as n, aw as u, B as l, bb as d, D as c, aP as b, aB as S, aN as P, b6 as v, H as g, a$ as m, at as F, ag as h, b9 as T, ba as C, ay as A, b3 as L, b8 as p, am as x, aU as E, aZ as R, aT as y, aQ as D, ad as B, Q as k, b4 as M, b7 as w, ax as f, O as G, aY as H, b0 as O, au as I, C as U, aq as V, aR as W, b5 as _, aO as j, a_ as K, b1 as N, b2 as z, az as J, aD as Q, bd as Y, S as $, al as q, af as X, ac as Z, av as aa, T as sa, be as ea, $ as ia, bf as ra, _ as ta, G as oa, F as na, aX as ua, bj as la, i as da, j as ca, ap as ba, x as Sa, bg as Pa, bh as va, l as ga, bi as ma, as as Fa, o as ha, aE as Ta, s as Ca, aC as Aa, ah as La, aa as pa, aa as xa, aj as Ea, ak as Ra, L as ya, ai as Da, aF as Ba, y as ka, aG as Ma, aK as wa, aH as fa, aA as Ga, aI as Ha, J as Oa, an as Ia, ao as Ua, m as Va, ab as Wa, aJ as _a, r as ja, ar as Ka } from "./chunks/index-CpY95_ro.js";
1
+ import { bc as e, aW as i, aV as r, aL as t, aS as o, aM as n, aw as u, B as l, bb as d, D as c, aP as b, aB as S, aN as P, b6 as v, H as g, a$ as m, at as F, ag as h, b9 as T, ba as C, ay as A, b3 as L, b8 as p, am as x, aU as E, aZ as R, aT as y, aQ as D, ad as B, Q as k, b4 as M, b7 as w, ax as f, O as G, aY as H, b0 as O, au as I, C as U, aq as V, aR as W, b5 as _, aO as j, a_ as K, b1 as N, b2 as z, az as J, aD as Q, bd as Y, S as $, al as q, af as X, ac as Z, av as aa, T as sa, be as ea, $ as ia, bf as ra, _ as ta, G as oa, F as na, aX as ua, bj as la, i as da, j as ca, ap as ba, x as Sa, bg as Pa, bh as va, l as ga, bi as ma, as as Fa, o as ha, aE as Ta, s as Ca, aC as Aa, ah as La, aa as pa, aa as xa, aj as Ea, ak as Ra, L as ya, ai as Da, aF as Ba, y as ka, aG as Ma, aK as wa, aH as fa, aA as Ga, aI as Ha, J as Oa, an as Ia, ao as Ua, m as Va, ab as Wa, aJ as _a, r as ja, ar as Ka } from "./chunks/index-DN97bp_f.js";
2
2
  import { default as za } from "i18next";
3
3
  export {
4
4
  e as ActivityTimeline,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlashub/smartstack",
3
- "version": "3.31.0",
3
+ "version": "3.32.0",
4
4
  "description": "SmartStack React components, navigation system and admin UI",
5
5
  "type": "module",
6
6
  "main": "./dist/smartstack.cjs",