@strapi/admin 4.20.0 → 4.20.1

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 (223) hide show
  1. package/dist/_chunks/{AdminSeatInfo-H-PA6GSR.js → AdminSeatInfo-FYllM9Wr.js} +3 -3
  2. package/dist/_chunks/{AdminSeatInfo-H-PA6GSR.js.map → AdminSeatInfo-FYllM9Wr.js.map} +1 -1
  3. package/dist/_chunks/{AdminSeatInfo-i1rd-M1M.mjs → AdminSeatInfo-jxPuC7sd.mjs} +3 -3
  4. package/dist/_chunks/{AdminSeatInfo-i1rd-M1M.mjs.map → AdminSeatInfo-jxPuC7sd.mjs.map} +1 -1
  5. package/dist/_chunks/{AuthenticatedApp-DKV6vPyB.mjs → AuthenticatedApp-KbXbG60H.mjs} +34 -28
  6. package/dist/_chunks/AuthenticatedApp-KbXbG60H.mjs.map +1 -0
  7. package/dist/_chunks/{AuthenticatedApp-MdjV7Ts7.js → AuthenticatedApp-yPEMtCNB.js} +33 -27
  8. package/dist/_chunks/AuthenticatedApp-yPEMtCNB.js.map +1 -0
  9. package/dist/_chunks/{CreateActionEE-HlihxdRg.mjs → CreateActionEE-QgiUGwZe.mjs} +2 -2
  10. package/dist/_chunks/{CreateActionEE-HlihxdRg.mjs.map → CreateActionEE-QgiUGwZe.mjs.map} +1 -1
  11. package/dist/_chunks/{CreateActionEE-i0ieUuZH.js → CreateActionEE-vQMfF4tL.js} +2 -2
  12. package/dist/_chunks/{CreateActionEE-i0ieUuZH.js.map → CreateActionEE-vQMfF4tL.js.map} +1 -1
  13. package/dist/_chunks/{CreatePage-ccn27toh.mjs → CreatePage-CZmh0ryM.mjs} +8 -8
  14. package/dist/_chunks/{CreatePage-ccn27toh.mjs.map → CreatePage-CZmh0ryM.mjs.map} +1 -1
  15. package/dist/_chunks/{CreatePage-9ewfnebV.mjs → CreatePage-WBwBU4qA.mjs} +6 -6
  16. package/dist/_chunks/{CreatePage-9ewfnebV.mjs.map → CreatePage-WBwBU4qA.mjs.map} +1 -1
  17. package/dist/_chunks/{CreatePage-khHUga68.js → CreatePage-a9C9ijzW.js} +8 -8
  18. package/dist/_chunks/{CreatePage-khHUga68.js.map → CreatePage-a9C9ijzW.js.map} +1 -1
  19. package/dist/_chunks/{CreatePage-fzTcqNI4.mjs → CreatePage-bTc_jTC_.mjs} +3 -3
  20. package/dist/_chunks/{CreatePage-fzTcqNI4.mjs.map → CreatePage-bTc_jTC_.mjs.map} +1 -1
  21. package/dist/_chunks/{CreatePage-lA4NieHN.js → CreatePage-ubvG-TO4.js} +3 -3
  22. package/dist/_chunks/{CreatePage-lA4NieHN.js.map → CreatePage-ubvG-TO4.js.map} +1 -1
  23. package/dist/_chunks/{CreatePage-bMJJfB85.js → CreatePage-zotBOFnE.js} +6 -6
  24. package/dist/_chunks/{CreatePage-bMJJfB85.js.map → CreatePage-zotBOFnE.js.map} +1 -1
  25. package/dist/_chunks/{CreateView-_fvOtf_3.js → CreateView-5YRPBxNm.js} +6 -6
  26. package/dist/_chunks/{CreateView-_fvOtf_3.js.map → CreateView-5YRPBxNm.js.map} +1 -1
  27. package/dist/_chunks/{CreateView-QVnYlajx.mjs → CreateView-DG2Xi_RG.mjs} +6 -6
  28. package/dist/_chunks/{CreateView-QVnYlajx.mjs.map → CreateView-DG2Xi_RG.mjs.map} +1 -1
  29. package/dist/_chunks/{CreateView-8jUPMvKo.js → CreateView-dxLwgfdk.js} +6 -6
  30. package/dist/_chunks/{CreateView-8jUPMvKo.js.map → CreateView-dxLwgfdk.js.map} +1 -1
  31. package/dist/_chunks/{CreateView-5rpxCdVv.mjs → CreateView-fWvg33IM.mjs} +6 -6
  32. package/dist/_chunks/{CreateView-5rpxCdVv.mjs.map → CreateView-fWvg33IM.mjs.map} +1 -1
  33. package/dist/_chunks/{EditPage--J1dsByF.mjs → EditPage-VyQhkl1U.mjs} +4 -4
  34. package/dist/_chunks/{EditPage--J1dsByF.mjs.map → EditPage-VyQhkl1U.mjs.map} +1 -1
  35. package/dist/_chunks/{EditPage-DbHeF44w.js → EditPage-ZYqGLNGU.js} +6 -6
  36. package/dist/_chunks/{EditPage-DbHeF44w.js.map → EditPage-ZYqGLNGU.js.map} +1 -1
  37. package/dist/_chunks/{EditPage-H0bd-bLV.js → EditPage-ZamBKJBm.js} +9 -9
  38. package/dist/_chunks/{EditPage-H0bd-bLV.js.map → EditPage-ZamBKJBm.js.map} +1 -1
  39. package/dist/_chunks/{EditPage-dvT_6puE.mjs → EditPage-bquHSnU-.mjs} +6 -6
  40. package/dist/_chunks/{EditPage-dvT_6puE.mjs.map → EditPage-bquHSnU-.mjs.map} +1 -1
  41. package/dist/_chunks/{EditPage-RIOdcpEj.mjs → EditPage-eZBoqRe8.mjs} +6 -6
  42. package/dist/_chunks/{EditPage-RIOdcpEj.mjs.map → EditPage-eZBoqRe8.mjs.map} +1 -1
  43. package/dist/_chunks/{EditPage-hzNbluF9.js → EditPage-ts9lW8Jp.js} +4 -4
  44. package/dist/_chunks/{EditPage-hzNbluF9.js.map → EditPage-ts9lW8Jp.js.map} +1 -1
  45. package/dist/_chunks/{EditPage-wizrdxWV.mjs → EditPage-v9qAJHhL.mjs} +9 -9
  46. package/dist/_chunks/{EditPage-wizrdxWV.mjs.map → EditPage-v9qAJHhL.mjs.map} +1 -1
  47. package/dist/_chunks/{EditPage-zl5z376F.js → EditPage-zBNog_Do.js} +6 -6
  48. package/dist/_chunks/{EditPage-zl5z376F.js.map → EditPage-zBNog_Do.js.map} +1 -1
  49. package/dist/_chunks/{EditView-C5CfkXdo.mjs → EditView-H9TXdZxo.mjs} +4 -4
  50. package/dist/_chunks/{EditView-C5CfkXdo.mjs.map → EditView-H9TXdZxo.mjs.map} +1 -1
  51. package/dist/_chunks/{EditView-502rB20x.js → EditView-RTA0igao.js} +4 -4
  52. package/dist/_chunks/{EditView-502rB20x.js.map → EditView-RTA0igao.js.map} +1 -1
  53. package/dist/_chunks/{EditViewPage-fk4NgJzL.js → EditViewPage-1FpxFWQ-.js} +4 -4
  54. package/dist/_chunks/{EditViewPage-fk4NgJzL.js.map → EditViewPage-1FpxFWQ-.js.map} +1 -1
  55. package/dist/_chunks/{EditViewPage-7PPdoPu1.mjs → EditViewPage-M0xVcnNp.mjs} +4 -4
  56. package/dist/_chunks/{EditViewPage-7PPdoPu1.mjs.map → EditViewPage-M0xVcnNp.mjs.map} +1 -1
  57. package/dist/_chunks/{EventsTable-aTOj5Iwg.mjs → EventsTable--um8UljY.mjs} +6 -6
  58. package/dist/_chunks/{EventsTable-aTOj5Iwg.mjs.map → EventsTable--um8UljY.mjs.map} +1 -1
  59. package/dist/_chunks/{EventsTable-ya4-snYx.js → EventsTable-mrhO0K1Q.js} +6 -6
  60. package/dist/_chunks/{EventsTable-ya4-snYx.js.map → EventsTable-mrhO0K1Q.js.map} +1 -1
  61. package/dist/_chunks/{HomePage-fdjaJVMD.js → HomePage-7Ge6tK7b.js} +5 -5
  62. package/dist/_chunks/{HomePage-fdjaJVMD.js.map → HomePage-7Ge6tK7b.js.map} +1 -1
  63. package/dist/_chunks/{HomePage-R3dDw217.js → HomePage-HmF7GGfM.js} +6 -6
  64. package/dist/_chunks/{HomePage-R3dDw217.js.map → HomePage-HmF7GGfM.js.map} +1 -1
  65. package/dist/_chunks/{HomePage-XaLoeZiA.mjs → HomePage-qtTyGTFw.mjs} +6 -6
  66. package/dist/_chunks/{HomePage-XaLoeZiA.mjs.map → HomePage-qtTyGTFw.mjs.map} +1 -1
  67. package/dist/_chunks/{HomePage-Dk4AIcd3.mjs → HomePage-rVmtVStB.mjs} +5 -5
  68. package/dist/_chunks/{HomePage-Dk4AIcd3.mjs.map → HomePage-rVmtVStB.mjs.map} +1 -1
  69. package/dist/_chunks/{InformationBoxEE-SBgONjAA.mjs → InformationBoxEE-0hRrbMIL.mjs} +3 -3
  70. package/dist/_chunks/{InformationBoxEE-SBgONjAA.mjs.map → InformationBoxEE-0hRrbMIL.mjs.map} +1 -1
  71. package/dist/_chunks/{InformationBoxEE-b6YVRmro.js → InformationBoxEE-4etf9EMS.js} +3 -3
  72. package/dist/_chunks/{InformationBoxEE-b6YVRmro.js.map → InformationBoxEE-4etf9EMS.js.map} +1 -1
  73. package/dist/_chunks/{InstalledPluginsPage-zCIdi0Uy.mjs → InstalledPluginsPage--dfQ96ij.mjs} +3 -3
  74. package/dist/_chunks/{InstalledPluginsPage-zCIdi0Uy.mjs.map → InstalledPluginsPage--dfQ96ij.mjs.map} +1 -1
  75. package/dist/_chunks/{InstalledPluginsPage-9nZMI2Qn.js → InstalledPluginsPage-p94azL6s.js} +3 -3
  76. package/dist/_chunks/{InstalledPluginsPage-9nZMI2Qn.js.map → InstalledPluginsPage-p94azL6s.js.map} +1 -1
  77. package/dist/_chunks/{Layout-FxM9OGbY.js → Layout-bevQq1Q7.js} +2 -2
  78. package/dist/_chunks/{Layout-FxM9OGbY.js.map → Layout-bevQq1Q7.js.map} +1 -1
  79. package/dist/_chunks/{Layout-vOoP2x6r.mjs → Layout-v8FJBzTa.mjs} +2 -2
  80. package/dist/_chunks/{Layout-vOoP2x6r.mjs.map → Layout-v8FJBzTa.mjs.map} +1 -1
  81. package/dist/_chunks/{ListPage-yCO88Fhj.js → ListPage--BFNFixg.js} +4 -4
  82. package/dist/_chunks/{ListPage-yCO88Fhj.js.map → ListPage--BFNFixg.js.map} +1 -1
  83. package/dist/_chunks/{ListPage-aLr1BW3o.js → ListPage-2o3BsCCK.js} +8 -8
  84. package/dist/_chunks/{ListPage-aLr1BW3o.js.map → ListPage-2o3BsCCK.js.map} +1 -1
  85. package/dist/_chunks/{ListPage-CxkXuNHa.mjs → ListPage-3pk58RvL.mjs} +2 -2
  86. package/dist/_chunks/{ListPage-CxkXuNHa.mjs.map → ListPage-3pk58RvL.mjs.map} +1 -1
  87. package/dist/_chunks/{ListPage-hD4Bhhn0.js → ListPage-3zXBK2Cg.js} +3 -3
  88. package/dist/_chunks/{ListPage-hD4Bhhn0.js.map → ListPage-3zXBK2Cg.js.map} +1 -1
  89. package/dist/_chunks/{ListPage-h7pSwLwn.mjs → ListPage-4MVat-6x.mjs} +6 -6
  90. package/dist/_chunks/{ListPage-h7pSwLwn.mjs.map → ListPage-4MVat-6x.mjs.map} +1 -1
  91. package/dist/_chunks/{ListPage-Uce7hZa2.mjs → ListPage-FcoGG60Q.mjs} +7 -7
  92. package/dist/_chunks/{ListPage-Uce7hZa2.mjs.map → ListPage-FcoGG60Q.mjs.map} +1 -1
  93. package/dist/_chunks/{ListPage-xkElwKJ3.js → ListPage-IBRCTTxF.js} +2 -2
  94. package/dist/_chunks/{ListPage-xkElwKJ3.js.map → ListPage-IBRCTTxF.js.map} +1 -1
  95. package/dist/_chunks/{ListPage-aEm1evEt.mjs → ListPage-Ktqb_Fnm.mjs} +3 -3
  96. package/dist/_chunks/{ListPage-aEm1evEt.mjs.map → ListPage-Ktqb_Fnm.mjs.map} +1 -1
  97. package/dist/_chunks/{ListPage-8U_BR3wy.js → ListPage-bEzkONf2.js} +7 -7
  98. package/dist/_chunks/{ListPage-8U_BR3wy.js.map → ListPage-bEzkONf2.js.map} +1 -1
  99. package/dist/_chunks/{ListPage-fEoCz13v.mjs → ListPage-f9WPMzD_.mjs} +8 -8
  100. package/dist/_chunks/{ListPage-fEoCz13v.mjs.map → ListPage-f9WPMzD_.mjs.map} +1 -1
  101. package/dist/_chunks/{ListPage-aRr9SKZt.js → ListPage-kL4w2DqG.js} +6 -6
  102. package/dist/_chunks/{ListPage-aRr9SKZt.js.map → ListPage-kL4w2DqG.js.map} +1 -1
  103. package/dist/_chunks/{ListPage-oQRoZt1p.mjs → ListPage-pV5BXOz4.mjs} +4 -4
  104. package/dist/_chunks/{ListPage-oQRoZt1p.mjs.map → ListPage-pV5BXOz4.mjs.map} +1 -1
  105. package/dist/_chunks/{ListView-f-iZxI3O.js → ListView-A1nKrQn4.js} +3 -3
  106. package/dist/_chunks/{ListView-f-iZxI3O.js.map → ListView-A1nKrQn4.js.map} +1 -1
  107. package/dist/_chunks/{ListView-zpxUYNEB.js → ListView-NluyrGcC.js} +3 -3
  108. package/dist/_chunks/{ListView-zpxUYNEB.js.map → ListView-NluyrGcC.js.map} +1 -1
  109. package/dist/_chunks/{ListView-BiPc2Nc1.mjs → ListView-rLjOwHmg.mjs} +3 -3
  110. package/dist/_chunks/{ListView-BiPc2Nc1.mjs.map → ListView-rLjOwHmg.mjs.map} +1 -1
  111. package/dist/_chunks/{ListView-2uBQgcn1.mjs → ListView-ykCnucRL.mjs} +3 -3
  112. package/dist/_chunks/{ListView-2uBQgcn1.mjs.map → ListView-ykCnucRL.mjs.map} +1 -1
  113. package/dist/_chunks/{Login-GuAgUKyi.js → Login-7WAjQzlh.js} +2 -2
  114. package/dist/_chunks/{Login-GuAgUKyi.js.map → Login-7WAjQzlh.js.map} +1 -1
  115. package/dist/_chunks/{Login-72rL2XBD.mjs → Login-LkMgFwj7.mjs} +2 -2
  116. package/dist/_chunks/{Login-72rL2XBD.mjs.map → Login-LkMgFwj7.mjs.map} +1 -1
  117. package/dist/_chunks/{MagicLinkEE-N2zwtkqY.mjs → MagicLinkEE-CzANDg8L.mjs} +4 -4
  118. package/dist/_chunks/{MagicLinkEE-N2zwtkqY.mjs.map → MagicLinkEE-CzANDg8L.mjs.map} +1 -1
  119. package/dist/_chunks/{MagicLinkEE-swRqjFLM.js → MagicLinkEE-iLZGq6sV.js} +4 -4
  120. package/dist/_chunks/{MagicLinkEE-swRqjFLM.js.map → MagicLinkEE-iLZGq6sV.js.map} +1 -1
  121. package/dist/_chunks/{MarketplacePage-1GNjM--m.mjs → MarketplacePage-0PF5qCum.mjs} +3 -3
  122. package/dist/_chunks/{MarketplacePage-1GNjM--m.mjs.map → MarketplacePage-0PF5qCum.mjs.map} +1 -1
  123. package/dist/_chunks/{MarketplacePage-Ie2Wpbov.js → MarketplacePage-6w_qC2IL.js} +3 -3
  124. package/dist/_chunks/{MarketplacePage-Ie2Wpbov.js.map → MarketplacePage-6w_qC2IL.js.map} +1 -1
  125. package/dist/_chunks/{Permissions-o4NR8n4u.mjs → Permissions-02K1nkv5.mjs} +2 -2
  126. package/dist/_chunks/{Permissions-o4NR8n4u.mjs.map → Permissions-02K1nkv5.mjs.map} +1 -1
  127. package/dist/_chunks/{Permissions-wGVKNPCK.js → Permissions-CSvtoBMk.js} +2 -2
  128. package/dist/_chunks/{Permissions-wGVKNPCK.js.map → Permissions-CSvtoBMk.js.map} +1 -1
  129. package/dist/_chunks/{ProfilePage-JW3-kFIA.js → ProfilePage-fBmlvTVt.js} +3 -3
  130. package/dist/_chunks/{ProfilePage-JW3-kFIA.js.map → ProfilePage-fBmlvTVt.js.map} +1 -1
  131. package/dist/_chunks/{ProfilePage-SsdeVqyx.mjs → ProfilePage-lLKkzUCW.mjs} +3 -3
  132. package/dist/_chunks/{ProfilePage-SsdeVqyx.mjs.map → ProfilePage-lLKkzUCW.mjs.map} +1 -1
  133. package/dist/_chunks/{ReviewWorkflowsColumn-UM9eh2AB.mjs → ReviewWorkflowsColumn-0SrDLeVT.mjs} +2 -2
  134. package/dist/_chunks/{ReviewWorkflowsColumn-UM9eh2AB.mjs.map → ReviewWorkflowsColumn-0SrDLeVT.mjs.map} +1 -1
  135. package/dist/_chunks/{ReviewWorkflowsColumn-wZiAM18-.js → ReviewWorkflowsColumn-FblPzVJS.js} +2 -2
  136. package/dist/_chunks/{ReviewWorkflowsColumn-wZiAM18-.js.map → ReviewWorkflowsColumn-FblPzVJS.js.map} +1 -1
  137. package/dist/_chunks/{SelectRoles-Y4Dy5Ruk.js → SelectRoles--Hkx-duw.js} +3 -3
  138. package/dist/_chunks/{SelectRoles-Y4Dy5Ruk.js.map → SelectRoles--Hkx-duw.js.map} +1 -1
  139. package/dist/_chunks/{SelectRoles-L0wvwsmn.mjs → SelectRoles-A7KkrB4L.mjs} +3 -3
  140. package/dist/_chunks/{SelectRoles-L0wvwsmn.mjs.map → SelectRoles-A7KkrB4L.mjs.map} +1 -1
  141. package/dist/_chunks/{SettingsPage-pN2zNJja.js → SettingsPage-7Rs7LOuF.js} +21 -21
  142. package/dist/_chunks/{SettingsPage-pN2zNJja.js.map → SettingsPage-7Rs7LOuF.js.map} +1 -1
  143. package/dist/_chunks/{SettingsPage-OF4cOZEX.mjs → SettingsPage-vOgSvtVD.mjs} +21 -21
  144. package/dist/_chunks/{SettingsPage-OF4cOZEX.mjs.map → SettingsPage-vOgSvtVD.mjs.map} +1 -1
  145. package/dist/_chunks/{SingleSignOnPage-CP90POdb.mjs → SingleSignOnPage-0BBoDuiC.mjs} +3 -3
  146. package/dist/_chunks/{SingleSignOnPage-CP90POdb.mjs.map → SingleSignOnPage-0BBoDuiC.mjs.map} +1 -1
  147. package/dist/_chunks/{SingleSignOnPage-fGCF236F.js → SingleSignOnPage-tQgIX1-Y.js} +3 -3
  148. package/dist/_chunks/{SingleSignOnPage-fGCF236F.js.map → SingleSignOnPage-tQgIX1-Y.js.map} +1 -1
  149. package/dist/_chunks/{TokenTypeSelect-E1lcj1HQ.js → TokenTypeSelect-VTcmGJ3T.js} +2 -2
  150. package/dist/_chunks/{TokenTypeSelect-E1lcj1HQ.js.map → TokenTypeSelect-VTcmGJ3T.js.map} +1 -1
  151. package/dist/_chunks/{TokenTypeSelect-Gf6YWKV8.mjs → TokenTypeSelect-f0dPl6bF.mjs} +2 -2
  152. package/dist/_chunks/{TokenTypeSelect-Gf6YWKV8.mjs.map → TokenTypeSelect-f0dPl6bF.mjs.map} +1 -1
  153. package/dist/_chunks/{apiTokens-6eq7TOjP.mjs → apiTokens-jiAtcOPK.mjs} +2 -2
  154. package/dist/_chunks/{apiTokens-6eq7TOjP.mjs.map → apiTokens-jiAtcOPK.mjs.map} +1 -1
  155. package/dist/_chunks/{apiTokens-WHkSHzkL.js → apiTokens-lNhK6Eyr.js} +2 -2
  156. package/dist/_chunks/{apiTokens-WHkSHzkL.js.map → apiTokens-lNhK6Eyr.js.map} +1 -1
  157. package/dist/_chunks/{constants-m2b3phv4.js → constants-2_a_PrR3.js} +4 -4
  158. package/dist/_chunks/{constants-m2b3phv4.js.map → constants-2_a_PrR3.js.map} +1 -1
  159. package/dist/_chunks/{constants-rHR3EQdj.mjs → constants-Nzx-HYzd.mjs} +2 -2
  160. package/dist/_chunks/{constants-rHR3EQdj.mjs.map → constants-Nzx-HYzd.mjs.map} +1 -1
  161. package/dist/_chunks/{constants-6_Ji9v3C.js → constants-VeXFoE6h.js} +6 -6
  162. package/dist/_chunks/{constants-6_Ji9v3C.js.map → constants-VeXFoE6h.js.map} +1 -1
  163. package/dist/_chunks/{constants-7l193VJl.js → constants-Z-tu-qfL.js} +2 -2
  164. package/dist/_chunks/{constants-7l193VJl.js.map → constants-Z-tu-qfL.js.map} +1 -1
  165. package/dist/_chunks/{constants-6P0B98vR.js → constants-_KHV_ADp.js} +2 -2
  166. package/dist/_chunks/{constants-6P0B98vR.js.map → constants-_KHV_ADp.js.map} +1 -1
  167. package/dist/_chunks/{constants-QcAGYy1f.mjs → constants-jQrPR8R5.mjs} +2 -2
  168. package/dist/_chunks/{constants-QcAGYy1f.mjs.map → constants-jQrPR8R5.mjs.map} +1 -1
  169. package/dist/_chunks/{constants-sJFx6aQR.mjs → constants-q8ASX-Zh.mjs} +6 -6
  170. package/dist/_chunks/{constants-sJFx6aQR.mjs.map → constants-q8ASX-Zh.mjs.map} +1 -1
  171. package/dist/_chunks/{constants-V6ogbA_Q.mjs → constants-zrvjnprT.mjs} +4 -4
  172. package/dist/_chunks/{constants-V6ogbA_Q.mjs.map → constants-zrvjnprT.mjs.map} +1 -1
  173. package/dist/_chunks/{index-vftGzD-K.js → index-Cgd3dGa5.js} +13 -11
  174. package/dist/_chunks/index-Cgd3dGa5.js.map +1 -0
  175. package/dist/_chunks/{index-KLPMzfLn.mjs → index-Sz0bqxDe.mjs} +13 -11
  176. package/dist/_chunks/index-Sz0bqxDe.mjs.map +1 -0
  177. package/dist/_chunks/{reviewWorkflows-Tj9WSo1x.js → reviewWorkflows-AuX6nF1p.js} +2 -2
  178. package/dist/_chunks/{reviewWorkflows-Tj9WSo1x.js.map → reviewWorkflows-AuX6nF1p.js.map} +1 -1
  179. package/dist/_chunks/{reviewWorkflows-2vhxGG5r.mjs → reviewWorkflows-kl8pmnBb.mjs} +2 -2
  180. package/dist/_chunks/{reviewWorkflows-2vhxGG5r.mjs.map → reviewWorkflows-kl8pmnBb.mjs.map} +1 -1
  181. package/dist/_chunks/{transferTokens-EK2ohR1y.js → transferTokens-ORIU_wuV.js} +2 -2
  182. package/dist/_chunks/{transferTokens-EK2ohR1y.js.map → transferTokens-ORIU_wuV.js.map} +1 -1
  183. package/dist/_chunks/{transferTokens-WwK-ykRw.mjs → transferTokens-yy1TkqsE.mjs} +2 -2
  184. package/dist/_chunks/{transferTokens-WwK-ykRw.mjs.map → transferTokens-yy1TkqsE.mjs.map} +1 -1
  185. package/dist/_chunks/{useAdminRoles-UhbPCKxf.mjs → useAdminRoles-EpihNi47.mjs} +2 -2
  186. package/dist/_chunks/{useAdminRoles-UhbPCKxf.mjs.map → useAdminRoles-EpihNi47.mjs.map} +1 -1
  187. package/dist/_chunks/{useAdminRoles-NvHHOpQ2.js → useAdminRoles-k-KvGhpX.js} +2 -2
  188. package/dist/_chunks/{useAdminRoles-NvHHOpQ2.js.map → useAdminRoles-k-KvGhpX.js.map} +1 -1
  189. package/dist/_chunks/{useContentTypes-P2Cw5O0Q.js → useContentTypes-bL0JHjqL.js} +2 -2
  190. package/dist/_chunks/{useContentTypes-P2Cw5O0Q.js.map → useContentTypes-bL0JHjqL.js.map} +1 -1
  191. package/dist/_chunks/{useContentTypes-xc06YDmc.mjs → useContentTypes-iT3IuYCm.mjs} +2 -2
  192. package/dist/_chunks/{useContentTypes-xc06YDmc.mjs.map → useContentTypes-iT3IuYCm.mjs.map} +1 -1
  193. package/dist/_chunks/{useLicenseLimitNotification-g9A_uMdX.js → useLicenseLimitNotification-5L1bK71I.js} +2 -2
  194. package/dist/_chunks/{useLicenseLimitNotification-g9A_uMdX.js.map → useLicenseLimitNotification-5L1bK71I.js.map} +1 -1
  195. package/dist/_chunks/{useLicenseLimitNotification-EQiK5CGO.mjs → useLicenseLimitNotification-qV5-YqpL.mjs} +2 -2
  196. package/dist/_chunks/{useLicenseLimitNotification-EQiK5CGO.mjs.map → useLicenseLimitNotification-qV5-YqpL.mjs.map} +1 -1
  197. package/dist/_chunks/{useReviewWorkflows-0KWVUWjY.js → useReviewWorkflows-ILp3ZD_M.js} +2 -2
  198. package/dist/_chunks/{useReviewWorkflows-0KWVUWjY.js.map → useReviewWorkflows-ILp3ZD_M.js.map} +1 -1
  199. package/dist/_chunks/{useReviewWorkflows-MQTwtA8V.mjs → useReviewWorkflows-W4sCUqUI.mjs} +2 -2
  200. package/dist/_chunks/{useReviewWorkflows-MQTwtA8V.mjs.map → useReviewWorkflows-W4sCUqUI.mjs.map} +1 -1
  201. package/dist/_chunks/{useWebhooks-0S-LOa28.mjs → useWebhooks-6gjatBnz.mjs} +2 -2
  202. package/dist/_chunks/{useWebhooks-0S-LOa28.mjs.map → useWebhooks-6gjatBnz.mjs.map} +1 -1
  203. package/dist/_chunks/{useWebhooks-H34bjR-D.js → useWebhooks-g-u-eEUU.js} +2 -2
  204. package/dist/_chunks/{useWebhooks-H34bjR-D.js.map → useWebhooks-g-u-eEUU.js.map} +1 -1
  205. package/dist/_chunks/{validateWorkflow-rJbqicXR.mjs → validateWorkflow-EtA_LzEo.mjs} +2 -2
  206. package/dist/_chunks/{validateWorkflow-rJbqicXR.mjs.map → validateWorkflow-EtA_LzEo.mjs.map} +1 -1
  207. package/dist/_chunks/{validateWorkflow-9Lwvkrq0.js → validateWorkflow-d781ZBtw.js} +2 -2
  208. package/dist/_chunks/{validateWorkflow-9Lwvkrq0.js.map → validateWorkflow-d781ZBtw.js.map} +1 -1
  209. package/dist/admin/index.js +1 -1
  210. package/dist/admin/index.mjs +1 -1
  211. package/dist/server/index.js +2 -12
  212. package/dist/server/index.js.map +1 -1
  213. package/dist/server/index.mjs +2 -12
  214. package/dist/server/index.mjs.map +1 -1
  215. package/dist/server/src/services/permission/permissions-manager/index.d.ts +2 -2
  216. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
  217. package/dist/server/src/services/permission/permissions-manager/validate.d.ts +2 -2
  218. package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
  219. package/package.json +13 -13
  220. package/dist/_chunks/AuthenticatedApp-DKV6vPyB.mjs.map +0 -1
  221. package/dist/_chunks/AuthenticatedApp-MdjV7Ts7.js.map +0 -1
  222. package/dist/_chunks/index-KLPMzfLn.mjs.map +0 -1
  223. package/dist/_chunks/index-vftGzD-K.js.map +0 -1
@@ -7,8 +7,8 @@ const helperPlugin = require("@strapi/helper-plugin");
7
7
  const reactHelmet = require("react-helmet");
8
8
  const reactIntl = require("react-intl");
9
9
  const reactRedux = require("react-redux");
10
- const AuthenticatedApp = require("./AuthenticatedApp-MdjV7Ts7.js");
11
- const index = require("./index-vftGzD-K.js");
10
+ const AuthenticatedApp = require("./AuthenticatedApp-yPEMtCNB.js");
11
+ const index = require("./index-Cgd3dGa5.js");
12
12
  require("semver/functions/lt");
13
13
  require("semver/functions/valid");
14
14
  require("immer");
@@ -185,4 +185,4 @@ const ProtectedInstalledPluginsPage = () => {
185
185
  };
186
186
  exports.InstalledPluginsPage = InstalledPluginsPage;
187
187
  exports.ProtectedInstalledPluginsPage = ProtectedInstalledPluginsPage;
188
- //# sourceMappingURL=InstalledPluginsPage-9nZMI2Qn.js.map
188
+ //# sourceMappingURL=InstalledPluginsPage-p94azL6s.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstalledPluginsPage-9nZMI2Qn.js","sources":["../../admin/src/pages/InstalledPluginsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n ContentLayout,\n HeaderLayout,\n Layout,\n Main,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n useNotifyAT,\n} from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n LoadingIndicatorPage,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../selectors';\nimport { useGetPluginsQuery } from '../services/admin';\n\nconst InstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const toggleNotification = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n useFocusWhenNavigate();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return (\n <Layout>\n <Main aria-busy>\n <LoadingIndicatorPage />\n </Main>\n </Layout>\n );\n }\n\n return (\n <Layout>\n <Main>\n <HeaderLayout\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <ContentLayout>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </ContentLayout>\n </Main>\n </Layout>\n );\n};\n\nconst ProtectedInstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.marketplace?.main}>\n <Helmet\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n />\n <InstalledPluginsPage />\n </CheckPagePermissions>\n );\n};\n\nexport { ProtectedInstalledPluginsPage, InstalledPluginsPage };\n"],"names":["useIntl","useNotifyAT","useNotification","useAPIErrorHandler","useFocusWhenNavigate","useGetPluginsQuery","React","jsx","Layout","Main","LoadingIndicatorPage","jsxs","HeaderLayout","ContentLayout","Table","Thead","Tr","Th","Typography","Tbody","Td","useSelector","selectAdminPermissions","CheckPagePermissions","Helmet"],"mappings":"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"}
1
+ {"version":3,"file":"InstalledPluginsPage-p94azL6s.js","sources":["../../admin/src/pages/InstalledPluginsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n ContentLayout,\n HeaderLayout,\n Layout,\n Main,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n useNotifyAT,\n} from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n LoadingIndicatorPage,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../selectors';\nimport { useGetPluginsQuery } from '../services/admin';\n\nconst InstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const toggleNotification = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n useFocusWhenNavigate();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return (\n <Layout>\n <Main aria-busy>\n <LoadingIndicatorPage />\n </Main>\n </Layout>\n );\n }\n\n return (\n <Layout>\n <Main>\n <HeaderLayout\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <ContentLayout>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </ContentLayout>\n </Main>\n </Layout>\n );\n};\n\nconst ProtectedInstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.marketplace?.main}>\n <Helmet\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n />\n <InstalledPluginsPage />\n </CheckPagePermissions>\n );\n};\n\nexport { ProtectedInstalledPluginsPage, InstalledPluginsPage };\n"],"names":["useIntl","useNotifyAT","useNotification","useAPIErrorHandler","useFocusWhenNavigate","useGetPluginsQuery","React","jsx","Layout","Main","LoadingIndicatorPage","jsxs","HeaderLayout","ContentLayout","Table","Thead","Tr","Th","Typography","Tbody","Td","useSelector","selectAdminPermissions","CheckPagePermissions","Helmet"],"mappings":"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"}
@@ -4,7 +4,7 @@ const designSystem = require("@strapi/design-system");
4
4
  const helperPlugin = require("@strapi/helper-plugin");
5
5
  const Icons = require("@strapi/icons");
6
6
  const reactIntl = require("react-intl");
7
- const index = require("./index-vftGzD-K.js");
7
+ const index = require("./index-Cgd3dGa5.js");
8
8
  const constants = require("./constants-L1I-Y-RJ.js");
9
9
  const styled = require("styled-components");
10
10
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
@@ -85,4 +85,4 @@ exports.Back = Back;
85
85
  exports.DragLayerRendered = DragLayerRendered;
86
86
  exports.Header = Header;
87
87
  exports.Root = Root;
88
- //# sourceMappingURL=Layout-FxM9OGbY.js.map
88
+ //# sourceMappingURL=Layout-bevQq1Q7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout-FxM9OGbY.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.tsx","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { pxToRem } from '@strapi/helper-plugin';\nimport { CarretDown } from '@strapi/icons';\nimport styled from 'styled-components';\n\nconst Toggle = styled(Flex)`\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n`;\n\nexport type StageDragPreviewType = {\n name: string | null;\n};\n\nexport const StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width={pxToRem(300)}\n >\n <Toggle\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CarretDown width={`${8 / 16}rem`} />\n </Toggle>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n","import React, { PropsWithChildren } from 'react';\n\nimport { ContentLayout, HeaderLayout, Layout, Main } from '@strapi/design-system';\nimport { Link, SettingsPageTitle } from '@strapi/helper-plugin';\nimport { ArrowLeft } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { DragLayer } from '../../../../../../../../admin/src/components/DragLayer';\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nconst DragLayerRendered = () => {\n return (\n <DragLayer\n renderItem={(item) => {\n if (item.type === DRAG_DROP_TYPES.STAGE) {\n return <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n }\n }}\n />\n );\n};\n\nconst Root: React.FC<PropsWithChildren> = ({ children }) => {\n return (\n <Layout>\n <Main tabIndex={-1}>\n <ContentLayout>{children}</ContentLayout>\n </Main>\n </Layout>\n );\n};\n\ntype BackProps = {\n href: string;\n};\nconst Back: React.FC<BackProps> = ({ href }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Link startIcon={<ArrowLeft />} to={href}>\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n );\n};\n\ntype HeaderProps = {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n};\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n return (\n <>\n <SettingsPageTitle name={title} />\n <HeaderLayout\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { Back, DragLayerRendered, Header, Root };\n"],"names":["styled","Flex","jsxs","pxToRem","jsx","CarretDown","Typography","DragLayer","DRAG_DROP_TYPES","Layout","Main","ContentLayout","useIntl","Link","ArrowLeft","Fragment","SettingsPageTitle","HeaderLayout"],"mappings":";;;;;;;;;;;AAKA,MAAM,SAASA,gBAAAA,QAAOC,aAAAA,IAAI;AAAA;AAAA,YAEd,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AAQ3C,MAAM,mBAAmB,CAAC,EAAE,WAAiC;AAEhE,SAAAC,2BAAA;AAAA,IAACD,aAAA;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,KAAK;AAAA,MACL,WAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAO;AAAA,MACP,OAAOE,qBAAQ,GAAG;AAAA,MAElB,UAAA;AAAA,QAAAC,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAW;AAAA,YACX,YAAW;AAAA,YACX,cAAa;AAAA,YACb,QAAQ;AAAA,YACR,gBAAe;AAAA,YACf,OAAO;AAAA,YAEP,yCAACC,MAAW,YAAA,EAAA,OAAO,GAAG,IAAI,EAAE,OAAO;AAAA,UAAA;AAAA,QACrC;AAAA,QAECD,2BAAA,IAAAE,aAAA,YAAA,EAAW,YAAW,QAAQ,UAAK,MAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1C;AC9BA,MAAM,oBAAoB,MAAM;AAE5B,SAAAF,2BAAA;AAAA,IAACG,MAAA;AAAA,IAAA;AAAA,MACC,YAAY,CAAC,SAAS;AAChB,YAAA,KAAK,SAASC,UAAA,gBAAgB,OAAO;AAChC,iBAAAJ,+BAAC,oBAAiB,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,KAAM,CAAA;AAAA,QACnF;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAM,OAAoC,CAAC,EAAE,eAAe;AAExD,SAAAA,2BAAAA,IAACK,aAAAA,QACC,EAAA,UAAAL,2BAAAA,IAACM,aAAAA,MAAK,EAAA,UAAU,IACd,UAACN,2BAAA,IAAAO,4BAAA,EAAe,SAAS,CAAA,EAAA,CAC3B,EACF,CAAA;AAEJ;AAKA,MAAM,OAA4B,CAAC,EAAE,WAAW;AACxC,QAAA,EAAE,kBAAkBC,UAAAA;AAGxB,SAAAR,+BAACS,aAAAA,QAAK,WAAWT,2BAAAA,IAACU,MAAAA,YAAU,CAAA,GAAI,IAAI,MACjC,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBAAgB;AAAA,EACjB,CAAA,EACH,CAAA;AAEJ;AASA,MAAM,SAAgC,CAAC,EAAE,OAAO,UAAU,kBAAkB,oBAAoB;AAC9F,SAEIZ,2BAAA,KAAAa,qBAAA,EAAA,UAAA;AAAA,IAACX,2BAAAA,IAAAY,aAAA,mBAAA,EAAkB,MAAM,MAAO,CAAA;AAAA,IAChCZ,2BAAA;AAAA,MAACa,aAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;;;;;"}
1
+ {"version":3,"file":"Layout-bevQq1Q7.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.tsx","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { pxToRem } from '@strapi/helper-plugin';\nimport { CarretDown } from '@strapi/icons';\nimport styled from 'styled-components';\n\nconst Toggle = styled(Flex)`\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n`;\n\nexport type StageDragPreviewType = {\n name: string | null;\n};\n\nexport const StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width={pxToRem(300)}\n >\n <Toggle\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CarretDown width={`${8 / 16}rem`} />\n </Toggle>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n","import React, { PropsWithChildren } from 'react';\n\nimport { ContentLayout, HeaderLayout, Layout, Main } from '@strapi/design-system';\nimport { Link, SettingsPageTitle } from '@strapi/helper-plugin';\nimport { ArrowLeft } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { DragLayer } from '../../../../../../../../admin/src/components/DragLayer';\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nconst DragLayerRendered = () => {\n return (\n <DragLayer\n renderItem={(item) => {\n if (item.type === DRAG_DROP_TYPES.STAGE) {\n return <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n }\n }}\n />\n );\n};\n\nconst Root: React.FC<PropsWithChildren> = ({ children }) => {\n return (\n <Layout>\n <Main tabIndex={-1}>\n <ContentLayout>{children}</ContentLayout>\n </Main>\n </Layout>\n );\n};\n\ntype BackProps = {\n href: string;\n};\nconst Back: React.FC<BackProps> = ({ href }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Link startIcon={<ArrowLeft />} to={href}>\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n );\n};\n\ntype HeaderProps = {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n};\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n return (\n <>\n <SettingsPageTitle name={title} />\n <HeaderLayout\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { Back, DragLayerRendered, Header, Root };\n"],"names":["styled","Flex","jsxs","pxToRem","jsx","CarretDown","Typography","DragLayer","DRAG_DROP_TYPES","Layout","Main","ContentLayout","useIntl","Link","ArrowLeft","Fragment","SettingsPageTitle","HeaderLayout"],"mappings":";;;;;;;;;;;AAKA,MAAM,SAASA,gBAAAA,QAAOC,aAAAA,IAAI;AAAA;AAAA,YAEd,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AAQ3C,MAAM,mBAAmB,CAAC,EAAE,WAAiC;AAEhE,SAAAC,2BAAA;AAAA,IAACD,aAAA;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,KAAK;AAAA,MACL,WAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAO;AAAA,MACP,OAAOE,qBAAQ,GAAG;AAAA,MAElB,UAAA;AAAA,QAAAC,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAW;AAAA,YACX,YAAW;AAAA,YACX,cAAa;AAAA,YACb,QAAQ;AAAA,YACR,gBAAe;AAAA,YACf,OAAO;AAAA,YAEP,yCAACC,MAAW,YAAA,EAAA,OAAO,GAAG,IAAI,EAAE,OAAO;AAAA,UAAA;AAAA,QACrC;AAAA,QAECD,2BAAA,IAAAE,aAAA,YAAA,EAAW,YAAW,QAAQ,UAAK,MAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1C;AC9BA,MAAM,oBAAoB,MAAM;AAE5B,SAAAF,2BAAA;AAAA,IAACG,MAAA;AAAA,IAAA;AAAA,MACC,YAAY,CAAC,SAAS;AAChB,YAAA,KAAK,SAASC,UAAA,gBAAgB,OAAO;AAChC,iBAAAJ,+BAAC,oBAAiB,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,KAAM,CAAA;AAAA,QACnF;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAM,OAAoC,CAAC,EAAE,eAAe;AAExD,SAAAA,2BAAAA,IAACK,aAAAA,QACC,EAAA,UAAAL,2BAAAA,IAACM,aAAAA,MAAK,EAAA,UAAU,IACd,UAACN,2BAAA,IAAAO,4BAAA,EAAe,SAAS,CAAA,EAAA,CAC3B,EACF,CAAA;AAEJ;AAKA,MAAM,OAA4B,CAAC,EAAE,WAAW;AACxC,QAAA,EAAE,kBAAkBC,UAAAA;AAGxB,SAAAR,+BAACS,aAAAA,QAAK,WAAWT,2BAAAA,IAACU,MAAAA,YAAU,CAAA,GAAI,IAAI,MACjC,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBAAgB;AAAA,EACjB,CAAA,EACH,CAAA;AAEJ;AASA,MAAM,SAAgC,CAAC,EAAE,OAAO,UAAU,kBAAkB,oBAAoB;AAC9F,SAEIZ,2BAAA,KAAAa,qBAAA,EAAA,UAAA;AAAA,IAACX,2BAAAA,IAAAY,aAAA,mBAAA,EAAkB,MAAM,MAAO,CAAA;AAAA,IAChCZ,2BAAA;AAAA,MAACa,aAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;;;;;"}
@@ -3,7 +3,7 @@ import { Flex, Typography, Layout, Main, ContentLayout, HeaderLayout } from "@st
3
3
  import { pxToRem, Link, SettingsPageTitle } from "@strapi/helper-plugin";
4
4
  import { CarretDown, ArrowLeft } from "@strapi/icons";
5
5
  import { useIntl } from "react-intl";
6
- import { P as DragLayer } from "./index-KLPMzfLn.mjs";
6
+ import { P as DragLayer } from "./index-Sz0bqxDe.mjs";
7
7
  import { D as DRAG_DROP_TYPES } from "./constants-8sAt6dKz.mjs";
8
8
  import styled from "styled-components";
9
9
  const Toggle = styled(Flex)`
@@ -84,4 +84,4 @@ export {
84
84
  Header as H,
85
85
  Root as R
86
86
  };
87
- //# sourceMappingURL=Layout-vOoP2x6r.mjs.map
87
+ //# sourceMappingURL=Layout-v8FJBzTa.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout-vOoP2x6r.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.tsx","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { pxToRem } from '@strapi/helper-plugin';\nimport { CarretDown } from '@strapi/icons';\nimport styled from 'styled-components';\n\nconst Toggle = styled(Flex)`\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n`;\n\nexport type StageDragPreviewType = {\n name: string | null;\n};\n\nexport const StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width={pxToRem(300)}\n >\n <Toggle\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CarretDown width={`${8 / 16}rem`} />\n </Toggle>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n","import React, { PropsWithChildren } from 'react';\n\nimport { ContentLayout, HeaderLayout, Layout, Main } from '@strapi/design-system';\nimport { Link, SettingsPageTitle } from '@strapi/helper-plugin';\nimport { ArrowLeft } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { DragLayer } from '../../../../../../../../admin/src/components/DragLayer';\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nconst DragLayerRendered = () => {\n return (\n <DragLayer\n renderItem={(item) => {\n if (item.type === DRAG_DROP_TYPES.STAGE) {\n return <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n }\n }}\n />\n );\n};\n\nconst Root: React.FC<PropsWithChildren> = ({ children }) => {\n return (\n <Layout>\n <Main tabIndex={-1}>\n <ContentLayout>{children}</ContentLayout>\n </Main>\n </Layout>\n );\n};\n\ntype BackProps = {\n href: string;\n};\nconst Back: React.FC<BackProps> = ({ href }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Link startIcon={<ArrowLeft />} to={href}>\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n );\n};\n\ntype HeaderProps = {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n};\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n return (\n <>\n <SettingsPageTitle name={title} />\n <HeaderLayout\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { Back, DragLayerRendered, Header, Root };\n"],"names":[],"mappings":";;;;;;;;AAKA,MAAM,SAAS,OAAO,IAAI;AAAA;AAAA,YAEd,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AAQ3C,MAAM,mBAAmB,CAAC,EAAE,WAAiC;AAEhE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,KAAK;AAAA,MACL,WAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAO;AAAA,MACP,OAAO,QAAQ,GAAG;AAAA,MAElB,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAW;AAAA,YACX,YAAW;AAAA,YACX,cAAa;AAAA,YACb,QAAQ;AAAA,YACR,gBAAe;AAAA,YACf,OAAO;AAAA,YAEP,8BAAC,YAAW,EAAA,OAAO,GAAG,IAAI,EAAE,OAAO;AAAA,UAAA;AAAA,QACrC;AAAA,QAEC,oBAAA,YAAA,EAAW,YAAW,QAAQ,UAAK,MAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1C;AC9BA,MAAM,oBAAoB,MAAM;AAE5B,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,YAAY,CAAC,SAAS;AAChB,YAAA,KAAK,SAAS,gBAAgB,OAAO;AAChC,iBAAA,oBAAC,oBAAiB,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,KAAM,CAAA;AAAA,QACnF;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAM,OAAoC,CAAC,EAAE,eAAe;AAExD,SAAA,oBAAC,QACC,EAAA,UAAA,oBAAC,MAAK,EAAA,UAAU,IACd,UAAC,oBAAA,eAAA,EAAe,SAAS,CAAA,EAAA,CAC3B,EACF,CAAA;AAEJ;AAKA,MAAM,OAA4B,CAAC,EAAE,WAAW;AACxC,QAAA,EAAE,kBAAkB;AAGxB,SAAA,oBAAC,QAAK,WAAW,oBAAC,YAAU,CAAA,GAAI,IAAI,MACjC,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBAAgB;AAAA,EACjB,CAAA,EACH,CAAA;AAEJ;AASA,MAAM,SAAgC,CAAC,EAAE,OAAO,UAAU,kBAAkB,oBAAoB;AAC9F,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,mBAAA,EAAkB,MAAM,MAAO,CAAA;AAAA,IAChC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"Layout-v8FJBzTa.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.tsx","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { pxToRem } from '@strapi/helper-plugin';\nimport { CarretDown } from '@strapi/icons';\nimport styled from 'styled-components';\n\nconst Toggle = styled(Flex)`\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n`;\n\nexport type StageDragPreviewType = {\n name: string | null;\n};\n\nexport const StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width={pxToRem(300)}\n >\n <Toggle\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CarretDown width={`${8 / 16}rem`} />\n </Toggle>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n","import React, { PropsWithChildren } from 'react';\n\nimport { ContentLayout, HeaderLayout, Layout, Main } from '@strapi/design-system';\nimport { Link, SettingsPageTitle } from '@strapi/helper-plugin';\nimport { ArrowLeft } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { DragLayer } from '../../../../../../../../admin/src/components/DragLayer';\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nconst DragLayerRendered = () => {\n return (\n <DragLayer\n renderItem={(item) => {\n if (item.type === DRAG_DROP_TYPES.STAGE) {\n return <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n }\n }}\n />\n );\n};\n\nconst Root: React.FC<PropsWithChildren> = ({ children }) => {\n return (\n <Layout>\n <Main tabIndex={-1}>\n <ContentLayout>{children}</ContentLayout>\n </Main>\n </Layout>\n );\n};\n\ntype BackProps = {\n href: string;\n};\nconst Back: React.FC<BackProps> = ({ href }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Link startIcon={<ArrowLeft />} to={href}>\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n );\n};\n\ntype HeaderProps = {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n};\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n return (\n <>\n <SettingsPageTitle name={title} />\n <HeaderLayout\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { Back, DragLayerRendered, Header, Root };\n"],"names":[],"mappings":";;;;;;;;AAKA,MAAM,SAAS,OAAO,IAAI;AAAA;AAAA,YAEd,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AAQ3C,MAAM,mBAAmB,CAAC,EAAE,WAAiC;AAEhE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,KAAK;AAAA,MACL,WAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAO;AAAA,MACP,OAAO,QAAQ,GAAG;AAAA,MAElB,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAW;AAAA,YACX,YAAW;AAAA,YACX,cAAa;AAAA,YACb,QAAQ;AAAA,YACR,gBAAe;AAAA,YACf,OAAO;AAAA,YAEP,8BAAC,YAAW,EAAA,OAAO,GAAG,IAAI,EAAE,OAAO;AAAA,UAAA;AAAA,QACrC;AAAA,QAEC,oBAAA,YAAA,EAAW,YAAW,QAAQ,UAAK,MAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1C;AC9BA,MAAM,oBAAoB,MAAM;AAE5B,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,YAAY,CAAC,SAAS;AAChB,YAAA,KAAK,SAAS,gBAAgB,OAAO;AAChC,iBAAA,oBAAC,oBAAiB,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,KAAM,CAAA;AAAA,QACnF;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAM,OAAoC,CAAC,EAAE,eAAe;AAExD,SAAA,oBAAC,QACC,EAAA,UAAA,oBAAC,MAAK,EAAA,UAAU,IACd,UAAC,oBAAA,eAAA,EAAe,SAAS,CAAA,EAAA,CAC3B,EACF,CAAA;AAEJ;AAKA,MAAM,OAA4B,CAAC,EAAE,WAAW;AACxC,QAAA,EAAE,kBAAkB;AAGxB,SAAA,oBAAC,QAAK,WAAW,oBAAC,YAAU,CAAA,GAAI,IAAI,MACjC,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBAAgB;AAAA,EACjB,CAAA,EACH,CAAA;AAEJ;AASA,MAAM,SAAgC,CAAC,EAAE,OAAO,UAAU,kBAAkB,oBAAoB;AAC9F,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,mBAAA,EAAkB,MAAM,MAAO,CAAA;AAAA,IAChC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;"}
@@ -9,9 +9,9 @@ const axios = require("axios");
9
9
  const produce = require("immer");
10
10
  const reactIntl = require("react-intl");
11
11
  const reactRouterDom = require("react-router-dom");
12
- const index = require("./index-vftGzD-K.js");
13
- const useAdminRoles = require("./useAdminRoles-NvHHOpQ2.js");
14
- const AuthenticatedApp = require("./AuthenticatedApp-MdjV7Ts7.js");
12
+ const index = require("./index-Cgd3dGa5.js");
13
+ const useAdminRoles = require("./useAdminRoles-k-KvGhpX.js");
14
+ const AuthenticatedApp = require("./AuthenticatedApp-yPEMtCNB.js");
15
15
  require("react-dom/client");
16
16
  require("invariant");
17
17
  require("lodash/isFunction");
@@ -366,4 +366,4 @@ const ProtectedListPage = () => {
366
366
  };
367
367
  exports.ListPage = ListPage;
368
368
  exports.ProtectedListPage = ProtectedListPage;
369
- //# sourceMappingURL=ListPage-yCO88Fhj.js.map
369
+ //# sourceMappingURL=ListPage--BFNFixg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage-yCO88Fhj.js","sources":["../../admin/src/pages/Settings/pages/Roles/components/RoleRow.tsx","../../admin/src/pages/Settings/pages/Roles/ListPage.tsx"],"sourcesContent":["import { Box, Flex, IconButton, IconButtonProps, Td, Tr, Typography } from '@strapi/design-system';\nimport { onRowClick, pxToRem, stopPropagation } from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport type { AdminRole } from '../../../../../hooks/useAdminRoles';\n\ninterface RoleRowProps extends Pick<AdminRole, 'id' | 'name' | 'description' | 'usersCount'> {\n icons: Array<Required<Pick<IconButtonProps, 'icon' | 'label' | 'onClick'>>>;\n rowIndex: number;\n canUpdate?: boolean;\n}\n\nconst RoleRow = ({\n id,\n name,\n description,\n usersCount,\n icons,\n rowIndex,\n canUpdate,\n}: RoleRowProps) => {\n const { formatMessage } = useIntl();\n const [, editObject] = icons;\n\n const usersCountText = formatMessage(\n {\n id: `Roles.RoleRow.user-count`,\n defaultMessage: '{number, plural, =0 {# user} one {# user} other {# users}}',\n },\n { number: usersCount }\n );\n\n return (\n <Tr\n aria-rowindex={rowIndex}\n key={id}\n {...(canUpdate\n ? onRowClick({\n // @ts-expect-error – the prop uses `HTMLButtonElement` but we just specify `HTMLElement`\n fn: editObject.onClick,\n })\n : {})}\n >\n <Td maxWidth={pxToRem(130)}>\n <Typography ellipsis textColor=\"neutral800\">\n {name}\n </Typography>\n </Td>\n <Td maxWidth={pxToRem(250)}>\n <Typography ellipsis textColor=\"neutral800\">\n {description}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{usersCountText}</Typography>\n </Td>\n <Td>\n <Flex justifyContent=\"flex-end\" {...stopPropagation}>\n {icons.map((icon, i) =>\n icon ? (\n <Box key={icon.label} paddingLeft={i === 0 ? 0 : 1}>\n <IconButton\n onClick={icon.onClick}\n label={icon.label}\n borderWidth={0}\n icon={icon.icon}\n />\n </Box>\n ) : null\n )}\n </Flex>\n </Td>\n </Tr>\n );\n};\n\nexport { RoleRow };\nexport type { RoleRowProps };\n","import * as React from 'react';\n\nimport {\n ActionLayout,\n Button,\n ContentLayout,\n HeaderLayout,\n Main,\n Table,\n Tbody,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport {\n ConfirmDialog,\n getFetchClient,\n LoadingIndicatorPage,\n SearchURLQuery,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useQueryParams,\n useNotification,\n useRBAC,\n CheckPagePermissions,\n} from '@strapi/helper-plugin';\nimport { Duplicate, Pencil, Plus, Trash } from '@strapi/icons';\nimport { AxiosError } from 'axios';\nimport produce from 'immer';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useAdminRoles, AdminRole } from '../../../../hooks/useAdminRoles';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { RoleRow, RoleRowProps } from './components/RoleRow';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n useFocusWhenNavigate();\n const permissions = useTypedSelector(selectAdminPermissions);\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const [isWarningDeleteAllOpened, setIsWarningDeleteAllOpenend] = React.useState(false);\n const [{ query }] = useQueryParams<{ _q?: string }>();\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canCreate, canDelete, canRead, canUpdate },\n } = useRBAC(permissions.settings?.roles);\n\n const { roles, refetch: refetchRoles } = useAdminRoles(\n { filters: query?._q ? { name: { $containsi: query._q } } : undefined },\n {\n refetchOnMountOrArgChange: true,\n skip: isLoadingForPermissions || !canRead,\n }\n );\n\n const { push } = useHistory();\n const [{ showModalConfirmButtonLoading, roleToDelete }, dispatch] = React.useReducer(\n reducer,\n initialState\n );\n\n const { post } = getFetchClient();\n\n const handleDeleteData = async () => {\n try {\n dispatch({\n type: 'ON_REMOVE_ROLES',\n });\n\n await post('/admin/roles/batch-delete', {\n ids: [roleToDelete],\n });\n\n await refetchRoles();\n\n dispatch({\n type: 'RESET_DATA_TO_DELETE',\n });\n } catch (error) {\n if (error instanceof AxiosError) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }\n handleToggleModal();\n };\n\n const handleNewRoleClick = () => push('/settings/roles/new');\n\n const handleToggleModal = () => setIsWarningDeleteAllOpenend((prev) => !prev);\n\n const handleClickDelete = (role: AdminRole) => (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (role.usersCount) {\n toggleNotification({\n type: 'info',\n message: { id: 'Roles.ListPage.notification.delete-not-allowed' },\n });\n } else {\n dispatch({\n type: 'SET_ROLE_TO_DELETE',\n id: role.id,\n });\n\n handleToggleModal();\n }\n };\n\n const handleClickDuplicate = (role: AdminRole) => (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n push(`/settings/roles/duplicate/${role.id}`);\n };\n\n const rowCount = roles.length + 1;\n const colCount = 6;\n\n if (isLoadingForPermissions) {\n return (\n <Main>\n <LoadingIndicatorPage />\n </Main>\n );\n }\n\n return (\n <Main>\n <SettingsPageTitle name=\"Roles\" />\n <HeaderLayout\n primaryAction={\n canCreate ? (\n <Button onClick={handleNewRoleClick} startIcon={<Plus />} size=\"S\">\n {formatMessage({\n id: 'Settings.roles.list.button.add',\n defaultMessage: 'Add new role',\n })}\n </Button>\n ) : null\n }\n title={formatMessage({\n id: 'global.roles',\n defaultMessage: 'roles',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.list.description',\n defaultMessage: 'List of roles',\n })}\n as=\"h2\"\n />\n {canRead && (\n <ActionLayout\n startActions={\n <SearchURLQuery\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n {\n target: formatMessage({\n id: 'global.roles',\n defaultMessage: 'roles',\n }),\n }\n )}\n />\n }\n />\n )}\n {canRead && (\n <ContentLayout>\n <Table\n colCount={colCount}\n rowCount={rowCount}\n footer={\n canCreate ? (\n <TFooter onClick={handleNewRoleClick} icon={<Plus />}>\n {formatMessage({\n id: 'Settings.roles.list.button.add',\n defaultMessage: 'Add new role',\n })}\n </TFooter>\n ) : null\n }\n >\n <Thead>\n <Tr aria-rowindex={1}>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'global.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {roles?.map((role, index) => (\n <RoleRow\n key={role.id}\n id={role.id}\n name={role.name}\n description={role.description}\n usersCount={role.usersCount}\n icons={\n [\n canCreate &&\n ({\n onClick: handleClickDuplicate(role),\n label: formatMessage({\n id: 'app.utils.duplicate',\n defaultMessage: 'Duplicate',\n }),\n icon: <Duplicate />,\n } satisfies RoleRowProps['icons'][number]),\n canUpdate &&\n ({\n onClick: () => push(`/settings/roles/${role.id}`),\n label: formatMessage({ id: 'app.utils.edit', defaultMessage: 'Edit' }),\n icon: <Pencil />,\n } satisfies RoleRowProps['icons'][number]),\n canDelete &&\n ({\n onClick: handleClickDelete(role),\n label: formatMessage({ id: 'global.delete', defaultMessage: 'Delete' }),\n icon: <Trash />,\n } satisfies RoleRowProps['icons'][number]),\n ].filter(Boolean) as RoleRowProps['icons']\n }\n rowIndex={index + 2}\n canUpdate={canUpdate}\n />\n ))}\n </Tbody>\n </Table>\n </ContentLayout>\n )}\n <ConfirmDialog\n isOpen={isWarningDeleteAllOpened}\n onConfirm={handleDeleteData}\n isConfirmButtonLoading={showModalConfirmButtonLoading}\n onToggleDialog={handleToggleModal}\n />\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Reducer\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * TODO: do we actually need this reducer? It's not doing a lot...\n */\n\ninterface State {\n roleToDelete: null | AdminRole['id'];\n showModalConfirmButtonLoading: boolean;\n shouldRefetchData: boolean;\n}\n\nconst initialState = {\n roleToDelete: null,\n showModalConfirmButtonLoading: false,\n shouldRefetchData: false,\n} satisfies State;\n\ninterface SetRoleToDeleteAction extends Pick<AdminRole, 'id'> {\n type: 'SET_ROLE_TO_DELETE';\n}\n\ninterface ResetDataToDeleteAction {\n type: 'RESET_DATA_TO_DELETE';\n}\n\ninterface OnRemoveRolesAction {\n type: 'ON_REMOVE_ROLES';\n}\n\ninterface OnRemoveRolesSucceededAction {\n type: 'ON_REMOVE_ROLES_SUCCEEDED';\n}\n\ntype Action =\n | SetRoleToDeleteAction\n | ResetDataToDeleteAction\n | OnRemoveRolesAction\n | OnRemoveRolesSucceededAction;\n\nconst reducer = (state: State, action: Action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'ON_REMOVE_ROLES': {\n draftState.showModalConfirmButtonLoading = true;\n break;\n }\n case 'ON_REMOVE_ROLES_SUCCEEDED': {\n draftState.shouldRefetchData = true;\n draftState.roleToDelete = null;\n break;\n }\n case 'RESET_DATA_TO_DELETE': {\n draftState.shouldRefetchData = false;\n draftState.roleToDelete = null;\n draftState.showModalConfirmButtonLoading = false;\n break;\n }\n case 'SET_ROLE_TO_DELETE': {\n draftState.roleToDelete = action.id;\n\n break;\n }\n default:\n return draftState;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings?.roles.main}>\n <ListPage />\n </CheckPagePermissions>\n );\n};\n\nexport { ProtectedListPage, ListPage };\n"],"names":["useIntl","jsxs","Tr","onRowClick","jsx","Td","pxToRem","Typography","Flex","stopPropagation","Box","IconButton","useFocusWhenNavigate","useTypedSelector","selectAdminPermissions","useAPIErrorHandler","useNotification","React","useQueryParams","useRBAC","useAdminRoles","useHistory","getFetchClient","AxiosError","Main","LoadingIndicatorPage","SettingsPageTitle","HeaderLayout","Button","Plus","ActionLayout","SearchURLQuery","ContentLayout","Table","TFooter","Thead","Th","VisuallyHidden","Tbody","index","Duplicate","Pencil","Trash","ConfirmDialog","produce","CheckPagePermissions"],"mappings":"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"}
1
+ {"version":3,"file":"ListPage--BFNFixg.js","sources":["../../admin/src/pages/Settings/pages/Roles/components/RoleRow.tsx","../../admin/src/pages/Settings/pages/Roles/ListPage.tsx"],"sourcesContent":["import { Box, Flex, IconButton, IconButtonProps, Td, Tr, Typography } from '@strapi/design-system';\nimport { onRowClick, pxToRem, stopPropagation } from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\n\nimport type { AdminRole } from '../../../../../hooks/useAdminRoles';\n\ninterface RoleRowProps extends Pick<AdminRole, 'id' | 'name' | 'description' | 'usersCount'> {\n icons: Array<Required<Pick<IconButtonProps, 'icon' | 'label' | 'onClick'>>>;\n rowIndex: number;\n canUpdate?: boolean;\n}\n\nconst RoleRow = ({\n id,\n name,\n description,\n usersCount,\n icons,\n rowIndex,\n canUpdate,\n}: RoleRowProps) => {\n const { formatMessage } = useIntl();\n const [, editObject] = icons;\n\n const usersCountText = formatMessage(\n {\n id: `Roles.RoleRow.user-count`,\n defaultMessage: '{number, plural, =0 {# user} one {# user} other {# users}}',\n },\n { number: usersCount }\n );\n\n return (\n <Tr\n aria-rowindex={rowIndex}\n key={id}\n {...(canUpdate\n ? onRowClick({\n // @ts-expect-error – the prop uses `HTMLButtonElement` but we just specify `HTMLElement`\n fn: editObject.onClick,\n })\n : {})}\n >\n <Td maxWidth={pxToRem(130)}>\n <Typography ellipsis textColor=\"neutral800\">\n {name}\n </Typography>\n </Td>\n <Td maxWidth={pxToRem(250)}>\n <Typography ellipsis textColor=\"neutral800\">\n {description}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{usersCountText}</Typography>\n </Td>\n <Td>\n <Flex justifyContent=\"flex-end\" {...stopPropagation}>\n {icons.map((icon, i) =>\n icon ? (\n <Box key={icon.label} paddingLeft={i === 0 ? 0 : 1}>\n <IconButton\n onClick={icon.onClick}\n label={icon.label}\n borderWidth={0}\n icon={icon.icon}\n />\n </Box>\n ) : null\n )}\n </Flex>\n </Td>\n </Tr>\n );\n};\n\nexport { RoleRow };\nexport type { RoleRowProps };\n","import * as React from 'react';\n\nimport {\n ActionLayout,\n Button,\n ContentLayout,\n HeaderLayout,\n Main,\n Table,\n Tbody,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport {\n ConfirmDialog,\n getFetchClient,\n LoadingIndicatorPage,\n SearchURLQuery,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useQueryParams,\n useNotification,\n useRBAC,\n CheckPagePermissions,\n} from '@strapi/helper-plugin';\nimport { Duplicate, Pencil, Plus, Trash } from '@strapi/icons';\nimport { AxiosError } from 'axios';\nimport produce from 'immer';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useAdminRoles, AdminRole } from '../../../../hooks/useAdminRoles';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { RoleRow, RoleRowProps } from './components/RoleRow';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n useFocusWhenNavigate();\n const permissions = useTypedSelector(selectAdminPermissions);\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const [isWarningDeleteAllOpened, setIsWarningDeleteAllOpenend] = React.useState(false);\n const [{ query }] = useQueryParams<{ _q?: string }>();\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canCreate, canDelete, canRead, canUpdate },\n } = useRBAC(permissions.settings?.roles);\n\n const { roles, refetch: refetchRoles } = useAdminRoles(\n { filters: query?._q ? { name: { $containsi: query._q } } : undefined },\n {\n refetchOnMountOrArgChange: true,\n skip: isLoadingForPermissions || !canRead,\n }\n );\n\n const { push } = useHistory();\n const [{ showModalConfirmButtonLoading, roleToDelete }, dispatch] = React.useReducer(\n reducer,\n initialState\n );\n\n const { post } = getFetchClient();\n\n const handleDeleteData = async () => {\n try {\n dispatch({\n type: 'ON_REMOVE_ROLES',\n });\n\n await post('/admin/roles/batch-delete', {\n ids: [roleToDelete],\n });\n\n await refetchRoles();\n\n dispatch({\n type: 'RESET_DATA_TO_DELETE',\n });\n } catch (error) {\n if (error instanceof AxiosError) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n }\n }\n handleToggleModal();\n };\n\n const handleNewRoleClick = () => push('/settings/roles/new');\n\n const handleToggleModal = () => setIsWarningDeleteAllOpenend((prev) => !prev);\n\n const handleClickDelete = (role: AdminRole) => (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (role.usersCount) {\n toggleNotification({\n type: 'info',\n message: { id: 'Roles.ListPage.notification.delete-not-allowed' },\n });\n } else {\n dispatch({\n type: 'SET_ROLE_TO_DELETE',\n id: role.id,\n });\n\n handleToggleModal();\n }\n };\n\n const handleClickDuplicate = (role: AdminRole) => (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n push(`/settings/roles/duplicate/${role.id}`);\n };\n\n const rowCount = roles.length + 1;\n const colCount = 6;\n\n if (isLoadingForPermissions) {\n return (\n <Main>\n <LoadingIndicatorPage />\n </Main>\n );\n }\n\n return (\n <Main>\n <SettingsPageTitle name=\"Roles\" />\n <HeaderLayout\n primaryAction={\n canCreate ? (\n <Button onClick={handleNewRoleClick} startIcon={<Plus />} size=\"S\">\n {formatMessage({\n id: 'Settings.roles.list.button.add',\n defaultMessage: 'Add new role',\n })}\n </Button>\n ) : null\n }\n title={formatMessage({\n id: 'global.roles',\n defaultMessage: 'roles',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.list.description',\n defaultMessage: 'List of roles',\n })}\n as=\"h2\"\n />\n {canRead && (\n <ActionLayout\n startActions={\n <SearchURLQuery\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n {\n target: formatMessage({\n id: 'global.roles',\n defaultMessage: 'roles',\n }),\n }\n )}\n />\n }\n />\n )}\n {canRead && (\n <ContentLayout>\n <Table\n colCount={colCount}\n rowCount={rowCount}\n footer={\n canCreate ? (\n <TFooter onClick={handleNewRoleClick} icon={<Plus />}>\n {formatMessage({\n id: 'Settings.roles.list.button.add',\n defaultMessage: 'Add new role',\n })}\n </TFooter>\n ) : null\n }\n >\n <Thead>\n <Tr aria-rowindex={1}>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'global.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {roles?.map((role, index) => (\n <RoleRow\n key={role.id}\n id={role.id}\n name={role.name}\n description={role.description}\n usersCount={role.usersCount}\n icons={\n [\n canCreate &&\n ({\n onClick: handleClickDuplicate(role),\n label: formatMessage({\n id: 'app.utils.duplicate',\n defaultMessage: 'Duplicate',\n }),\n icon: <Duplicate />,\n } satisfies RoleRowProps['icons'][number]),\n canUpdate &&\n ({\n onClick: () => push(`/settings/roles/${role.id}`),\n label: formatMessage({ id: 'app.utils.edit', defaultMessage: 'Edit' }),\n icon: <Pencil />,\n } satisfies RoleRowProps['icons'][number]),\n canDelete &&\n ({\n onClick: handleClickDelete(role),\n label: formatMessage({ id: 'global.delete', defaultMessage: 'Delete' }),\n icon: <Trash />,\n } satisfies RoleRowProps['icons'][number]),\n ].filter(Boolean) as RoleRowProps['icons']\n }\n rowIndex={index + 2}\n canUpdate={canUpdate}\n />\n ))}\n </Tbody>\n </Table>\n </ContentLayout>\n )}\n <ConfirmDialog\n isOpen={isWarningDeleteAllOpened}\n onConfirm={handleDeleteData}\n isConfirmButtonLoading={showModalConfirmButtonLoading}\n onToggleDialog={handleToggleModal}\n />\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Reducer\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * TODO: do we actually need this reducer? It's not doing a lot...\n */\n\ninterface State {\n roleToDelete: null | AdminRole['id'];\n showModalConfirmButtonLoading: boolean;\n shouldRefetchData: boolean;\n}\n\nconst initialState = {\n roleToDelete: null,\n showModalConfirmButtonLoading: false,\n shouldRefetchData: false,\n} satisfies State;\n\ninterface SetRoleToDeleteAction extends Pick<AdminRole, 'id'> {\n type: 'SET_ROLE_TO_DELETE';\n}\n\ninterface ResetDataToDeleteAction {\n type: 'RESET_DATA_TO_DELETE';\n}\n\ninterface OnRemoveRolesAction {\n type: 'ON_REMOVE_ROLES';\n}\n\ninterface OnRemoveRolesSucceededAction {\n type: 'ON_REMOVE_ROLES_SUCCEEDED';\n}\n\ntype Action =\n | SetRoleToDeleteAction\n | ResetDataToDeleteAction\n | OnRemoveRolesAction\n | OnRemoveRolesSucceededAction;\n\nconst reducer = (state: State, action: Action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'ON_REMOVE_ROLES': {\n draftState.showModalConfirmButtonLoading = true;\n break;\n }\n case 'ON_REMOVE_ROLES_SUCCEEDED': {\n draftState.shouldRefetchData = true;\n draftState.roleToDelete = null;\n break;\n }\n case 'RESET_DATA_TO_DELETE': {\n draftState.shouldRefetchData = false;\n draftState.roleToDelete = null;\n draftState.showModalConfirmButtonLoading = false;\n break;\n }\n case 'SET_ROLE_TO_DELETE': {\n draftState.roleToDelete = action.id;\n\n break;\n }\n default:\n return draftState;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings?.roles.main}>\n <ListPage />\n </CheckPagePermissions>\n );\n};\n\nexport { ProtectedListPage, ListPage };\n"],"names":["useIntl","jsxs","Tr","onRowClick","jsx","Td","pxToRem","Typography","Flex","stopPropagation","Box","IconButton","useFocusWhenNavigate","useTypedSelector","selectAdminPermissions","useAPIErrorHandler","useNotification","React","useQueryParams","useRBAC","useAdminRoles","useHistory","getFetchClient","AxiosError","Main","LoadingIndicatorPage","SettingsPageTitle","HeaderLayout","Button","Plus","ActionLayout","SearchURLQuery","ContentLayout","Table","TFooter","Thead","Th","VisuallyHidden","Tbody","index","Duplicate","Pencil","Trash","ConfirmDialog","produce","CheckPagePermissions"],"mappings":"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"}
@@ -7,14 +7,14 @@ const helperPlugin = require("@strapi/helper-plugin");
7
7
  const qs = require("qs");
8
8
  const reactIntl = require("react-intl");
9
9
  const reactRouterDom = require("react-router-dom");
10
- const index = require("./index-vftGzD-K.js");
10
+ const index = require("./index-Cgd3dGa5.js");
11
11
  const Filters = require("./Filters-Gdnt7qft.js");
12
12
  const Icons = require("@strapi/icons");
13
13
  const v2 = require("@strapi/design-system/v2");
14
14
  const formik = require("formik");
15
15
  const yup = require("yup");
16
- const SelectRoles = require("./SelectRoles-Y4Dy5Ruk.js");
17
- const AuthenticatedApp = require("./AuthenticatedApp-MdjV7Ts7.js");
16
+ const SelectRoles = require("./SelectRoles--Hkx-duw.js");
17
+ const AuthenticatedApp = require("./AuthenticatedApp-yPEMtCNB.js");
18
18
  require("react-dom/client");
19
19
  require("invariant");
20
20
  require("lodash/isFunction");
@@ -74,7 +74,7 @@ require("lodash/uniqBy");
74
74
  require("lodash/unset");
75
75
  require("lodash/isArray");
76
76
  require("date-fns/parseISO");
77
- require("./useAdminRoles-NvHHOpQ2.js");
77
+ require("./useAdminRoles-k-KvGhpX.js");
78
78
  require("semver/functions/lt");
79
79
  require("semver/functions/valid");
80
80
  function _interopNamespace(e) {
@@ -140,7 +140,7 @@ const ModalForm = ({ onToggle }) => {
140
140
  );
141
141
  const MagicLink = index.useEnterprise(
142
142
  SelectRoles.MagicLinkCE,
143
- async () => (await Promise.resolve().then(() => require("./MagicLinkEE-swRqjFLM.js"))).MagicLinkEE
143
+ async () => (await Promise.resolve().then(() => require("./MagicLinkEE-iLZGq6sV.js"))).MagicLinkEE
144
144
  );
145
145
  const [createUser] = index.useCreateUserMutation();
146
146
  const headerTitle = formatMessage({
@@ -455,7 +455,7 @@ const ListPageCE = () => {
455
455
  const { pagination, users } = data ?? {};
456
456
  const CreateAction = index.useEnterprise(
457
457
  CreateActionCE,
458
- async () => (await Promise.resolve().then(() => require("./CreateActionEE-i0ieUuZH.js"))).CreateActionEE
458
+ async () => (await Promise.resolve().then(() => require("./CreateActionEE-vQMfF4tL.js"))).CreateActionEE
459
459
  );
460
460
  const headers = TABLE_HEADERS.map((header) => ({
461
461
  ...header,
@@ -662,7 +662,7 @@ const ListPage = () => {
662
662
  ListPageCE,
663
663
  async () => (
664
664
  // eslint-disable-next-line import/no-cycle
665
- (await Promise.resolve().then(() => require("./ListPage-8U_BR3wy.js"))).UserListPageEE
665
+ (await Promise.resolve().then(() => require("./ListPage-bEzkONf2.js"))).UserListPageEE
666
666
  )
667
667
  );
668
668
  if (!UsersListPage) {
@@ -677,4 +677,4 @@ const ProtectedListPage = () => {
677
677
  exports.ListPage = ListPage;
678
678
  exports.ListPageCE = ListPageCE;
679
679
  exports.ProtectedListPage = ProtectedListPage;
680
- //# sourceMappingURL=ListPage-aLr1BW3o.js.map
680
+ //# sourceMappingURL=ListPage-2o3BsCCK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage-aLr1BW3o.js","sources":["../../admin/src/pages/Settings/pages/Users/components/CreateActionCE.tsx","../../admin/src/pages/Settings/pages/Users/components/NewUserForm.tsx","../../admin/src/pages/Settings/pages/Users/components/TableRows.tsx","../../admin/src/pages/Settings/pages/Users/ListPage.tsx"],"sourcesContent":["import { Button, ButtonProps } from '@strapi/design-system';\nimport { Envelop } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\ninterface CreateActionCEProps extends Pick<ButtonProps, 'onClick'> {}\n\nconst CreateActionCE = ({ onClick }: CreateActionCEProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Button onClick={onClick} startIcon={<Envelop />} size=\"S\">\n {formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n })}\n </Button>\n );\n};\n\nexport { CreateActionCE };\nexport type { CreateActionCEProps };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n GridItem,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n Typography,\n} from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\nimport {\n Form,\n GenericInput,\n useNotification,\n useOverlayBlocker,\n translatedErrors,\n useAPIErrorHandler,\n} from '@strapi/helper-plugin';\nimport { Entity } from '@strapi/types';\nimport { Formik, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { useEnterprise } from '../../../../../hooks/useEnterprise';\nimport { useCreateUserMutation } from '../../../../../services/users';\nimport { FormLayout } from '../../../../../types/form';\nimport { isBaseQueryError } from '../../../../../utils/baseQuery';\n\nimport { MagicLinkCE } from './MagicLinkCE';\nimport { SelectRoles } from './SelectRoles';\n\ninterface ModalFormProps {\n onToggle: () => void;\n}\n\nconst ModalForm = ({ onToggle }: ModalFormProps) => {\n const [currentStep, setStep] = React.useState<keyof typeof STEPPER>('create');\n const [registrationToken, setRegistrationToken] = React.useState('');\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const roleLayout = useEnterprise(\n ROLE_LAYOUT,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm'\n )\n ).ROLE_LAYOUT,\n {\n combine(ceRoles, eeRoles) {\n return [...ceRoles, ...eeRoles];\n },\n\n defaultValue: [],\n }\n );\n\n const initialValues = useEnterprise<InitialData>(\n FORM_INITIAL_VALUES,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm'\n )\n ).FORM_INITIAL_VALUES,\n {\n combine(ceValues, eeValues) {\n return {\n ...ceValues,\n ...eeValues,\n };\n },\n\n defaultValue: FORM_INITIAL_VALUES,\n }\n );\n const MagicLink = useEnterprise(\n MagicLinkCE,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE'\n )\n ).MagicLinkEE\n );\n\n const [createUser] = useCreateUserMutation();\n\n const headerTitle = formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n });\n\n const handleSubmit = async (body: InitialData, { setErrors }: FormikHelpers<InitialData>) => {\n // @ts-expect-error – this will be fixed in V5.\n lockApp();\n\n const res = await createUser({\n ...body,\n roles: body.roles ?? [],\n });\n\n if ('data' in res) {\n if (res.data.registrationToken) {\n setRegistrationToken(res.data.registrationToken);\n\n goNext();\n } else {\n // This shouldn't happen, but just incase.\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n } else {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setErrors(formatValidationErrors(res.error));\n }\n }\n\n // @ts-expect-error – this will be fixed in V5.\n unlockApp();\n };\n\n const goNext = () => {\n if (next) {\n setStep(next);\n } else {\n onToggle();\n }\n };\n\n const { buttonSubmitLabel, isDisabled, next } = STEPPER[currentStep];\n\n // block rendering until the EE component is fully loaded\n if (!MagicLink) {\n return null;\n }\n\n return (\n <ModalLayout onClose={onToggle} labelledBy=\"title\">\n <ModalHeader>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={headerTitle}>\n <Crumb isCurrent>{headerTitle}</Crumb>\n </Breadcrumbs>\n </ModalHeader>\n <Formik\n enableReinitialize\n initialValues={initialValues ?? {}}\n onSubmit={handleSubmit}\n validationSchema={FORM_SCHEMA}\n validateOnChange={false}\n >\n {({ errors, handleChange, values, isSubmitting }) => {\n return (\n <Form>\n <ModalBody>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {currentStep !== 'create' && <MagicLink registrationToken={registrationToken} />}\n <Box>\n <Typography variant=\"beta\" as=\"h2\">\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'User details',\n })}\n </Typography>\n <Box paddingTop={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Grid gap={5}>\n {FORM_LAYOUT.map((row) => {\n return row.map((input) => {\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n disabled={isDisabled}\n error={errors[input.name as keyof InitialData]}\n onChange={handleChange}\n value={values[input.name as keyof InitialData]}\n />\n </GridItem>\n );\n });\n })}\n </Grid>\n </Flex>\n </Box>\n </Box>\n <Box>\n <Typography variant=\"beta\" as=\"h2\">\n {formatMessage({\n id: 'global.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Box paddingTop={4}>\n <Grid gap={5}>\n <GridItem col={6} xs={12}>\n <SelectRoles\n disabled={isDisabled}\n error={errors.roles}\n onChange={handleChange}\n value={values.roles ?? []}\n />\n </GridItem>\n {roleLayout.map((row) => {\n return row.map((input) => {\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n disabled={isDisabled}\n onChange={handleChange}\n value={values[input.name]}\n />\n </GridItem>\n );\n });\n })}\n </Grid>\n </Box>\n </Box>\n </Flex>\n </ModalBody>\n <ModalFooter\n startActions={\n <Button variant=\"tertiary\" onClick={onToggle} type=\"button\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n endActions={\n currentStep === 'create' ? (\n <Button type=\"submit\" loading={isSubmitting}>\n {formatMessage(buttonSubmitLabel)}\n </Button>\n ) : (\n <Button type=\"button\" loading={isSubmitting} onClick={onToggle}>\n {formatMessage(buttonSubmitLabel)}\n </Button>\n )\n }\n />\n </Form>\n );\n }}\n </Formik>\n </ModalLayout>\n );\n};\n\ninterface InitialData {\n firstname?: string;\n lastname?: string;\n email?: string;\n roles?: Entity.ID[];\n useSSORegistration?: boolean;\n}\n\nconst FORM_INITIAL_VALUES = {\n firstname: '',\n lastname: '',\n email: '',\n roles: [],\n};\n\nconst ROLE_LAYOUT = [] satisfies FormLayout[][];\n\nconst FORM_LAYOUT = [\n [\n {\n intlLabel: {\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n },\n name: 'firstname',\n placeholder: {\n id: 'Auth.form.firstname.placeholder',\n defaultMessage: 'e.g. Kai',\n },\n type: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n required: true,\n },\n {\n intlLabel: {\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n },\n name: 'lastname',\n placeholder: {\n id: 'Auth.form.lastname.placeholder',\n defaultMessage: 'e.g. Doe',\n },\n type: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n ],\n [\n {\n intlLabel: {\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n },\n name: 'email',\n placeholder: {\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'e.g. kai.doe@strapi.io',\n },\n type: 'email',\n size: {\n col: 6,\n xs: 12,\n },\n required: true,\n },\n ],\n] satisfies FormLayout[][];\n\nconst FORM_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required(translatedErrors.required),\n lastname: yup.string(),\n email: yup.string().email(translatedErrors.email).required(translatedErrors.required),\n roles: yup.array().min(1, translatedErrors.required).required(translatedErrors.required),\n});\n\nconst STEPPER = {\n create: {\n buttonSubmitLabel: {\n id: 'app.containers.Users.ModalForm.footer.button-success',\n defaultMessage: 'Invite user',\n },\n isDisabled: false,\n next: 'magic-link',\n },\n 'magic-link': {\n buttonSubmitLabel: { id: 'global.finish', defaultMessage: 'Finish' },\n isDisabled: true,\n next: null,\n },\n} as const;\n\nexport { ModalForm };\nexport type { InitialData };\n","import {\n BaseCheckbox,\n Box,\n Flex,\n IconButton,\n Tbody,\n Td,\n Tr,\n Typography,\n} from '@strapi/design-system';\nimport { TableRowProps, onRowClick, stopPropagation } from '@strapi/helper-plugin';\nimport { Pencil, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { SanitizedAdminUser } from '../../../../../../../shared/contracts/shared';\nimport { getFullName } from '../../../../../utils/getFullName';\n\nimport type { ListPageTableHeader } from '../ListPage';\n\ninterface TableRowsProps extends Partial<TableRowProps<SanitizedAdminUser, ListPageTableHeader>> {\n canDelete: boolean;\n}\n\nconst TableRows = ({\n canDelete,\n headers = [],\n entriesToDelete = [],\n onClickDelete,\n onSelectRow,\n withMainAction,\n withBulkActions,\n rows = [],\n}: TableRowsProps) => {\n const {\n push,\n location: { pathname },\n } = useHistory();\n const { formatMessage } = useIntl();\n\n return (\n <Tbody>\n {rows.map((data) => {\n const isChecked = entriesToDelete.findIndex((id) => id === data.id) !== -1;\n\n return (\n <Tr\n key={data.id}\n {...onRowClick({\n fn: () => push(`${pathname}/${data.id}`),\n condition: withBulkActions,\n })}\n >\n {withMainAction && (\n <Td {...stopPropagation}>\n <BaseCheckbox\n aria-label={formatMessage(\n {\n id: 'app.component.table.select.one-entry',\n defaultMessage: `Select {target}`,\n },\n { target: getFullName(data?.firstname ?? '', data.lastname) }\n )}\n checked={isChecked}\n onChange={() => {\n if (onSelectRow) {\n onSelectRow({ name: data.id, value: !isChecked });\n }\n }}\n />\n </Td>\n )}\n {headers.map(({ key, cellFormatter, name, ...rest }) => {\n return (\n <Td key={key}>\n {typeof cellFormatter === 'function' ? (\n cellFormatter(data, { key, name, formatMessage, ...rest })\n ) : (\n // @ts-expect-error – name === \"roles\" has the data value of `AdminRole[]` but the header has a cellFormatter value so this shouldn't be called.\n <Typography textColor=\"neutral800\">{data[name] || '-'}</Typography>\n )}\n </Td>\n );\n })}\n\n {withBulkActions && (\n <Td>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => push(`${pathname}/${data.id}`)}\n label={formatMessage(\n { id: 'app.component.table.edit', defaultMessage: 'Edit {target}' },\n { target: getFullName(data.firstname ?? '', data.lastname) }\n )}\n noBorder\n icon={<Pencil />}\n />\n\n {canDelete && (\n <Box paddingLeft={1} {...stopPropagation}>\n <IconButton\n onClick={() => {\n if (onClickDelete) {\n onClickDelete(data.id);\n }\n }}\n label={formatMessage(\n { id: 'global.delete-target', defaultMessage: 'Delete {target}' },\n { target: getFullName(data.firstname ?? '', data.lastname) }\n )}\n noBorder\n icon={<Trash />}\n />\n </Box>\n )}\n </Flex>\n </Td>\n )}\n </Tr>\n );\n })}\n </Tbody>\n );\n};\n\nexport { TableRows };\nexport type { TableRowsProps };\n","import * as React from 'react';\n\nimport {\n ActionLayout,\n ContentLayout,\n HeaderLayout,\n Main,\n Flex,\n Typography,\n Box,\n} from '@strapi/design-system';\nimport {\n DynamicTable,\n NoPermissions,\n SearchURLQuery,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useNotification,\n useRBAC,\n Status,\n PageSizeURLQuery,\n PaginationURLQuery,\n CheckPagePermissions,\n TableHeader,\n} from '@strapi/helper-plugin';\nimport * as qs from 'qs';\nimport { IntlShape, MessageDescriptor, useIntl } from 'react-intl';\nimport { useLocation } from 'react-router-dom';\n\nimport { SanitizedAdminUser } from '../../../../../../shared/contracts/shared';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useAdminUsers, useDeleteManyUsersMutation } from '../../../../services/users';\nimport { Filters } from '../../components/Filters';\n\nimport { CreateActionCE } from './components/CreateActionCE';\nimport { ModalForm } from './components/NewUserForm';\nimport { TableRows } from './components/TableRows';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPageCE\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPageCE = () => {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [isModalOpened, setIsModalOpen] = React.useState(false);\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const {\n allowedActions: { canCreate, canDelete, canRead },\n } = useRBAC(permissions.settings?.users);\n const toggleNotification = useNotification();\n const { formatMessage } = useIntl();\n const { search } = useLocation();\n useFocusWhenNavigate();\n const { data, isError, isLoading } = useAdminUsers(\n qs.parse(search, { ignoreQueryPrefix: true }),\n {\n skip: !canRead,\n }\n );\n\n const { pagination, users } = data ?? {};\n\n const CreateAction = useEnterprise(\n CreateActionCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE'\n )\n ).CreateActionEE\n );\n\n const headers = TABLE_HEADERS.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const title = formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n });\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const [deleteAll] = useDeleteManyUsersMutation();\n\n // block rendering until the EE component is fully loaded\n if (!CreateAction) {\n return null;\n }\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name=\"Users\" />\n <HeaderLayout\n primaryAction={canCreate && <CreateAction onClick={handleToggle} />}\n title={title}\n subtitle={formatMessage({\n id: 'Settings.permissions.users.listview.header.subtitle',\n defaultMessage: 'All the users who have access to the Strapi admin panel',\n })}\n />\n {canRead && (\n <ActionLayout\n startActions={\n <>\n <SearchURLQuery\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: title }\n )}\n />\n {/* @ts-expect-error – TODO: fix the way filters work and are passed around, this will be a headache. */}\n <Filters displayedFilters={DISPLAYED_HEADERS} />\n </>\n }\n />\n )}\n\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {/* TODO: Replace error message with something better */}\n {isError && <div>TODO: An error occurred</div>}\n {canRead && (\n <>\n <DynamicTable\n contentType=\"Users\"\n isLoading={isLoading}\n onConfirmDeleteAll={async (ids) => {\n const res = await deleteAll({ ids });\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n }\n }}\n onConfirmDelete={async (id) => {\n const res = await deleteAll({ ids: [id] });\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n }\n }}\n headers={headers}\n rows={users}\n withBulkActions\n withMainAction={canDelete}\n >\n <TableRows canDelete={canDelete} />\n </DynamicTable>\n\n {pagination && (\n <Box paddingTop={4}>\n <Flex alignItems=\"flex-end\" justifyContent=\"space-between\">\n <PageSizeURLQuery />\n <PaginationURLQuery pagination={pagination} />\n </Flex>\n </Box>\n )}\n </>\n )}\n </ContentLayout>\n {isModalOpened && <ModalForm onToggle={handleToggle} />}\n </Main>\n );\n};\n\ninterface ListPageTableHeader extends Omit<TableHeader, 'metadatas' | 'name'> {\n name: Extract<\n keyof SanitizedAdminUser,\n 'firstname' | 'lastname' | 'email' | 'roles' | 'username' | 'isActive'\n >;\n cellFormatter?: (\n data: SanitizedAdminUser,\n meta: Omit<ListPageTableHeaderWithStringMetadataLabel, 'cellFormatter'> &\n Pick<IntlShape, 'formatMessage'>\n ) => React.ReactNode;\n key: string;\n metadatas: {\n label: MessageDescriptor;\n } & Omit<TableHeader['metadatas'], 'label'>;\n}\n\ninterface ListPageTableHeaderWithStringMetadataLabel\n extends Omit<ListPageTableHeader, 'metadatas'> {\n metadatas: {\n label: string;\n } & Omit<ListPageTableHeader['metadatas'], 'label'>;\n}\n\nconst TABLE_HEADERS = [\n {\n name: 'firstname',\n key: 'firstname',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.firstname',\n defaultMessage: 'Firstname',\n },\n sortable: true,\n },\n },\n {\n name: 'lastname',\n key: 'lastname',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.lastname',\n defaultMessage: 'Lastname',\n },\n sortable: true,\n },\n },\n {\n key: 'email',\n name: 'email',\n metadatas: {\n label: { id: 'Settings.permissions.users.email', defaultMessage: 'Email' },\n sortable: true,\n },\n },\n {\n key: 'roles',\n name: 'roles',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.roles',\n defaultMessage: 'Roles',\n },\n sortable: false,\n },\n cellFormatter({ roles }, { formatMessage }) {\n return (\n <Typography textColor=\"neutral800\">\n {roles\n .map((role) =>\n formatMessage({\n id: `Settings.permissions.users.${role.code}`,\n defaultMessage: role.name,\n })\n )\n .join(',\\n')}\n </Typography>\n );\n },\n },\n {\n key: 'username',\n name: 'username',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.username',\n defaultMessage: 'Username',\n },\n sortable: true,\n },\n },\n {\n key: 'isActive',\n name: 'isActive',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.user-status',\n defaultMessage: 'User status',\n },\n sortable: false,\n },\n cellFormatter({ isActive }, { formatMessage }) {\n return (\n <Flex>\n <Status variant={isActive ? 'success' : 'danger'} />\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: isActive\n ? 'Settings.permissions.users.active'\n : 'Settings.permissions.users.inactive',\n defaultMessage: isActive ? 'Active' : 'Inactive',\n })}\n </Typography>\n </Flex>\n );\n },\n },\n] satisfies ListPageTableHeader[];\n\nconst DISPLAYED_HEADERS = [\n {\n name: 'firstname',\n metadatas: { label: 'Firstname' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'lastname',\n metadatas: { label: 'Lastname' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'email',\n metadatas: { label: 'Email' },\n fieldSchema: { type: 'email' },\n },\n {\n name: 'username',\n metadatas: { label: 'Username' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'isActive',\n metadatas: { label: 'Active user' },\n fieldSchema: { type: 'boolean' },\n },\n];\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\n// component which determines whether this page should render the CE or EE page\nconst ListPage = () => {\n const UsersListPage = useEnterprise(\n ListPageCE,\n async () =>\n // eslint-disable-next-line import/no-cycle\n (await import('../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage'))\n .UserListPageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!UsersListPage) {\n return null;\n }\n\n return <UsersListPage />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.users.main);\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListPage />\n </CheckPagePermissions>\n );\n};\n\nexport { ProtectedListPage, ListPage, ListPageCE };\nexport type { ListPageTableHeaderWithStringMetadataLabel as ListPageTableHeader };\n"],"names":["useIntl","jsx","Button","Envelop","React","useNotification","useOverlayBlocker","useAPIErrorHandler","useEnterprise","MagicLinkCE","useCreateUserMutation","isBaseQueryError","jsxs","ModalLayout","ModalHeader","Breadcrumbs","Crumb","Formik","Form","ModalBody","Flex","Box","Typography","Grid","GridItem","GenericInput","SelectRoles","ModalFooter","yup","translatedErrors","useHistory","Tbody","Tr","onRowClick","Td","stopPropagation","BaseCheckbox","getFullName","IconButton","Pencil","Trash","useTypedSelector","useRBAC","useLocation","useFocusWhenNavigate","useAdminUsers","qs","useDeleteManyUsersMutation","Main","SettingsPageTitle","HeaderLayout","ActionLayout","Fragment","SearchURLQuery","Filters","ContentLayout","NoPermissions","DynamicTable","PageSizeURLQuery","PaginationURLQuery","Status","CheckPagePermissions"],"mappings":"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"}
1
+ {"version":3,"file":"ListPage-2o3BsCCK.js","sources":["../../admin/src/pages/Settings/pages/Users/components/CreateActionCE.tsx","../../admin/src/pages/Settings/pages/Users/components/NewUserForm.tsx","../../admin/src/pages/Settings/pages/Users/components/TableRows.tsx","../../admin/src/pages/Settings/pages/Users/ListPage.tsx"],"sourcesContent":["import { Button, ButtonProps } from '@strapi/design-system';\nimport { Envelop } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\ninterface CreateActionCEProps extends Pick<ButtonProps, 'onClick'> {}\n\nconst CreateActionCE = ({ onClick }: CreateActionCEProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Button onClick={onClick} startIcon={<Envelop />} size=\"S\">\n {formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n })}\n </Button>\n );\n};\n\nexport { CreateActionCE };\nexport type { CreateActionCEProps };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n GridItem,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n Typography,\n} from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\nimport {\n Form,\n GenericInput,\n useNotification,\n useOverlayBlocker,\n translatedErrors,\n useAPIErrorHandler,\n} from '@strapi/helper-plugin';\nimport { Entity } from '@strapi/types';\nimport { Formik, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { useEnterprise } from '../../../../../hooks/useEnterprise';\nimport { useCreateUserMutation } from '../../../../../services/users';\nimport { FormLayout } from '../../../../../types/form';\nimport { isBaseQueryError } from '../../../../../utils/baseQuery';\n\nimport { MagicLinkCE } from './MagicLinkCE';\nimport { SelectRoles } from './SelectRoles';\n\ninterface ModalFormProps {\n onToggle: () => void;\n}\n\nconst ModalForm = ({ onToggle }: ModalFormProps) => {\n const [currentStep, setStep] = React.useState<keyof typeof STEPPER>('create');\n const [registrationToken, setRegistrationToken] = React.useState('');\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const roleLayout = useEnterprise(\n ROLE_LAYOUT,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm'\n )\n ).ROLE_LAYOUT,\n {\n combine(ceRoles, eeRoles) {\n return [...ceRoles, ...eeRoles];\n },\n\n defaultValue: [],\n }\n );\n\n const initialValues = useEnterprise<InitialData>(\n FORM_INITIAL_VALUES,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm'\n )\n ).FORM_INITIAL_VALUES,\n {\n combine(ceValues, eeValues) {\n return {\n ...ceValues,\n ...eeValues,\n };\n },\n\n defaultValue: FORM_INITIAL_VALUES,\n }\n );\n const MagicLink = useEnterprise(\n MagicLinkCE,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE'\n )\n ).MagicLinkEE\n );\n\n const [createUser] = useCreateUserMutation();\n\n const headerTitle = formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n });\n\n const handleSubmit = async (body: InitialData, { setErrors }: FormikHelpers<InitialData>) => {\n // @ts-expect-error – this will be fixed in V5.\n lockApp();\n\n const res = await createUser({\n ...body,\n roles: body.roles ?? [],\n });\n\n if ('data' in res) {\n if (res.data.registrationToken) {\n setRegistrationToken(res.data.registrationToken);\n\n goNext();\n } else {\n // This shouldn't happen, but just incase.\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n } else {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setErrors(formatValidationErrors(res.error));\n }\n }\n\n // @ts-expect-error – this will be fixed in V5.\n unlockApp();\n };\n\n const goNext = () => {\n if (next) {\n setStep(next);\n } else {\n onToggle();\n }\n };\n\n const { buttonSubmitLabel, isDisabled, next } = STEPPER[currentStep];\n\n // block rendering until the EE component is fully loaded\n if (!MagicLink) {\n return null;\n }\n\n return (\n <ModalLayout onClose={onToggle} labelledBy=\"title\">\n <ModalHeader>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={headerTitle}>\n <Crumb isCurrent>{headerTitle}</Crumb>\n </Breadcrumbs>\n </ModalHeader>\n <Formik\n enableReinitialize\n initialValues={initialValues ?? {}}\n onSubmit={handleSubmit}\n validationSchema={FORM_SCHEMA}\n validateOnChange={false}\n >\n {({ errors, handleChange, values, isSubmitting }) => {\n return (\n <Form>\n <ModalBody>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {currentStep !== 'create' && <MagicLink registrationToken={registrationToken} />}\n <Box>\n <Typography variant=\"beta\" as=\"h2\">\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'User details',\n })}\n </Typography>\n <Box paddingTop={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Grid gap={5}>\n {FORM_LAYOUT.map((row) => {\n return row.map((input) => {\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n disabled={isDisabled}\n error={errors[input.name as keyof InitialData]}\n onChange={handleChange}\n value={values[input.name as keyof InitialData]}\n />\n </GridItem>\n );\n });\n })}\n </Grid>\n </Flex>\n </Box>\n </Box>\n <Box>\n <Typography variant=\"beta\" as=\"h2\">\n {formatMessage({\n id: 'global.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Box paddingTop={4}>\n <Grid gap={5}>\n <GridItem col={6} xs={12}>\n <SelectRoles\n disabled={isDisabled}\n error={errors.roles}\n onChange={handleChange}\n value={values.roles ?? []}\n />\n </GridItem>\n {roleLayout.map((row) => {\n return row.map((input) => {\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n disabled={isDisabled}\n onChange={handleChange}\n value={values[input.name]}\n />\n </GridItem>\n );\n });\n })}\n </Grid>\n </Box>\n </Box>\n </Flex>\n </ModalBody>\n <ModalFooter\n startActions={\n <Button variant=\"tertiary\" onClick={onToggle} type=\"button\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n endActions={\n currentStep === 'create' ? (\n <Button type=\"submit\" loading={isSubmitting}>\n {formatMessage(buttonSubmitLabel)}\n </Button>\n ) : (\n <Button type=\"button\" loading={isSubmitting} onClick={onToggle}>\n {formatMessage(buttonSubmitLabel)}\n </Button>\n )\n }\n />\n </Form>\n );\n }}\n </Formik>\n </ModalLayout>\n );\n};\n\ninterface InitialData {\n firstname?: string;\n lastname?: string;\n email?: string;\n roles?: Entity.ID[];\n useSSORegistration?: boolean;\n}\n\nconst FORM_INITIAL_VALUES = {\n firstname: '',\n lastname: '',\n email: '',\n roles: [],\n};\n\nconst ROLE_LAYOUT = [] satisfies FormLayout[][];\n\nconst FORM_LAYOUT = [\n [\n {\n intlLabel: {\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n },\n name: 'firstname',\n placeholder: {\n id: 'Auth.form.firstname.placeholder',\n defaultMessage: 'e.g. Kai',\n },\n type: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n required: true,\n },\n {\n intlLabel: {\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n },\n name: 'lastname',\n placeholder: {\n id: 'Auth.form.lastname.placeholder',\n defaultMessage: 'e.g. Doe',\n },\n type: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n ],\n [\n {\n intlLabel: {\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n },\n name: 'email',\n placeholder: {\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'e.g. kai.doe@strapi.io',\n },\n type: 'email',\n size: {\n col: 6,\n xs: 12,\n },\n required: true,\n },\n ],\n] satisfies FormLayout[][];\n\nconst FORM_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required(translatedErrors.required),\n lastname: yup.string(),\n email: yup.string().email(translatedErrors.email).required(translatedErrors.required),\n roles: yup.array().min(1, translatedErrors.required).required(translatedErrors.required),\n});\n\nconst STEPPER = {\n create: {\n buttonSubmitLabel: {\n id: 'app.containers.Users.ModalForm.footer.button-success',\n defaultMessage: 'Invite user',\n },\n isDisabled: false,\n next: 'magic-link',\n },\n 'magic-link': {\n buttonSubmitLabel: { id: 'global.finish', defaultMessage: 'Finish' },\n isDisabled: true,\n next: null,\n },\n} as const;\n\nexport { ModalForm };\nexport type { InitialData };\n","import {\n BaseCheckbox,\n Box,\n Flex,\n IconButton,\n Tbody,\n Td,\n Tr,\n Typography,\n} from '@strapi/design-system';\nimport { TableRowProps, onRowClick, stopPropagation } from '@strapi/helper-plugin';\nimport { Pencil, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { SanitizedAdminUser } from '../../../../../../../shared/contracts/shared';\nimport { getFullName } from '../../../../../utils/getFullName';\n\nimport type { ListPageTableHeader } from '../ListPage';\n\ninterface TableRowsProps extends Partial<TableRowProps<SanitizedAdminUser, ListPageTableHeader>> {\n canDelete: boolean;\n}\n\nconst TableRows = ({\n canDelete,\n headers = [],\n entriesToDelete = [],\n onClickDelete,\n onSelectRow,\n withMainAction,\n withBulkActions,\n rows = [],\n}: TableRowsProps) => {\n const {\n push,\n location: { pathname },\n } = useHistory();\n const { formatMessage } = useIntl();\n\n return (\n <Tbody>\n {rows.map((data) => {\n const isChecked = entriesToDelete.findIndex((id) => id === data.id) !== -1;\n\n return (\n <Tr\n key={data.id}\n {...onRowClick({\n fn: () => push(`${pathname}/${data.id}`),\n condition: withBulkActions,\n })}\n >\n {withMainAction && (\n <Td {...stopPropagation}>\n <BaseCheckbox\n aria-label={formatMessage(\n {\n id: 'app.component.table.select.one-entry',\n defaultMessage: `Select {target}`,\n },\n { target: getFullName(data?.firstname ?? '', data.lastname) }\n )}\n checked={isChecked}\n onChange={() => {\n if (onSelectRow) {\n onSelectRow({ name: data.id, value: !isChecked });\n }\n }}\n />\n </Td>\n )}\n {headers.map(({ key, cellFormatter, name, ...rest }) => {\n return (\n <Td key={key}>\n {typeof cellFormatter === 'function' ? (\n cellFormatter(data, { key, name, formatMessage, ...rest })\n ) : (\n // @ts-expect-error – name === \"roles\" has the data value of `AdminRole[]` but the header has a cellFormatter value so this shouldn't be called.\n <Typography textColor=\"neutral800\">{data[name] || '-'}</Typography>\n )}\n </Td>\n );\n })}\n\n {withBulkActions && (\n <Td>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => push(`${pathname}/${data.id}`)}\n label={formatMessage(\n { id: 'app.component.table.edit', defaultMessage: 'Edit {target}' },\n { target: getFullName(data.firstname ?? '', data.lastname) }\n )}\n noBorder\n icon={<Pencil />}\n />\n\n {canDelete && (\n <Box paddingLeft={1} {...stopPropagation}>\n <IconButton\n onClick={() => {\n if (onClickDelete) {\n onClickDelete(data.id);\n }\n }}\n label={formatMessage(\n { id: 'global.delete-target', defaultMessage: 'Delete {target}' },\n { target: getFullName(data.firstname ?? '', data.lastname) }\n )}\n noBorder\n icon={<Trash />}\n />\n </Box>\n )}\n </Flex>\n </Td>\n )}\n </Tr>\n );\n })}\n </Tbody>\n );\n};\n\nexport { TableRows };\nexport type { TableRowsProps };\n","import * as React from 'react';\n\nimport {\n ActionLayout,\n ContentLayout,\n HeaderLayout,\n Main,\n Flex,\n Typography,\n Box,\n} from '@strapi/design-system';\nimport {\n DynamicTable,\n NoPermissions,\n SearchURLQuery,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFocusWhenNavigate,\n useNotification,\n useRBAC,\n Status,\n PageSizeURLQuery,\n PaginationURLQuery,\n CheckPagePermissions,\n TableHeader,\n} from '@strapi/helper-plugin';\nimport * as qs from 'qs';\nimport { IntlShape, MessageDescriptor, useIntl } from 'react-intl';\nimport { useLocation } from 'react-router-dom';\n\nimport { SanitizedAdminUser } from '../../../../../../shared/contracts/shared';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useAdminUsers, useDeleteManyUsersMutation } from '../../../../services/users';\nimport { Filters } from '../../components/Filters';\n\nimport { CreateActionCE } from './components/CreateActionCE';\nimport { ModalForm } from './components/NewUserForm';\nimport { TableRows } from './components/TableRows';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPageCE\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPageCE = () => {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [isModalOpened, setIsModalOpen] = React.useState(false);\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const {\n allowedActions: { canCreate, canDelete, canRead },\n } = useRBAC(permissions.settings?.users);\n const toggleNotification = useNotification();\n const { formatMessage } = useIntl();\n const { search } = useLocation();\n useFocusWhenNavigate();\n const { data, isError, isLoading } = useAdminUsers(\n qs.parse(search, { ignoreQueryPrefix: true }),\n {\n skip: !canRead,\n }\n );\n\n const { pagination, users } = data ?? {};\n\n const CreateAction = useEnterprise(\n CreateActionCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE'\n )\n ).CreateActionEE\n );\n\n const headers = TABLE_HEADERS.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const title = formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n });\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const [deleteAll] = useDeleteManyUsersMutation();\n\n // block rendering until the EE component is fully loaded\n if (!CreateAction) {\n return null;\n }\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name=\"Users\" />\n <HeaderLayout\n primaryAction={canCreate && <CreateAction onClick={handleToggle} />}\n title={title}\n subtitle={formatMessage({\n id: 'Settings.permissions.users.listview.header.subtitle',\n defaultMessage: 'All the users who have access to the Strapi admin panel',\n })}\n />\n {canRead && (\n <ActionLayout\n startActions={\n <>\n <SearchURLQuery\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: title }\n )}\n />\n {/* @ts-expect-error – TODO: fix the way filters work and are passed around, this will be a headache. */}\n <Filters displayedFilters={DISPLAYED_HEADERS} />\n </>\n }\n />\n )}\n\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {/* TODO: Replace error message with something better */}\n {isError && <div>TODO: An error occurred</div>}\n {canRead && (\n <>\n <DynamicTable\n contentType=\"Users\"\n isLoading={isLoading}\n onConfirmDeleteAll={async (ids) => {\n const res = await deleteAll({ ids });\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n }\n }}\n onConfirmDelete={async (id) => {\n const res = await deleteAll({ ids: [id] });\n\n if ('error' in res) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(res.error),\n });\n }\n }}\n headers={headers}\n rows={users}\n withBulkActions\n withMainAction={canDelete}\n >\n <TableRows canDelete={canDelete} />\n </DynamicTable>\n\n {pagination && (\n <Box paddingTop={4}>\n <Flex alignItems=\"flex-end\" justifyContent=\"space-between\">\n <PageSizeURLQuery />\n <PaginationURLQuery pagination={pagination} />\n </Flex>\n </Box>\n )}\n </>\n )}\n </ContentLayout>\n {isModalOpened && <ModalForm onToggle={handleToggle} />}\n </Main>\n );\n};\n\ninterface ListPageTableHeader extends Omit<TableHeader, 'metadatas' | 'name'> {\n name: Extract<\n keyof SanitizedAdminUser,\n 'firstname' | 'lastname' | 'email' | 'roles' | 'username' | 'isActive'\n >;\n cellFormatter?: (\n data: SanitizedAdminUser,\n meta: Omit<ListPageTableHeaderWithStringMetadataLabel, 'cellFormatter'> &\n Pick<IntlShape, 'formatMessage'>\n ) => React.ReactNode;\n key: string;\n metadatas: {\n label: MessageDescriptor;\n } & Omit<TableHeader['metadatas'], 'label'>;\n}\n\ninterface ListPageTableHeaderWithStringMetadataLabel\n extends Omit<ListPageTableHeader, 'metadatas'> {\n metadatas: {\n label: string;\n } & Omit<ListPageTableHeader['metadatas'], 'label'>;\n}\n\nconst TABLE_HEADERS = [\n {\n name: 'firstname',\n key: 'firstname',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.firstname',\n defaultMessage: 'Firstname',\n },\n sortable: true,\n },\n },\n {\n name: 'lastname',\n key: 'lastname',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.lastname',\n defaultMessage: 'Lastname',\n },\n sortable: true,\n },\n },\n {\n key: 'email',\n name: 'email',\n metadatas: {\n label: { id: 'Settings.permissions.users.email', defaultMessage: 'Email' },\n sortable: true,\n },\n },\n {\n key: 'roles',\n name: 'roles',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.roles',\n defaultMessage: 'Roles',\n },\n sortable: false,\n },\n cellFormatter({ roles }, { formatMessage }) {\n return (\n <Typography textColor=\"neutral800\">\n {roles\n .map((role) =>\n formatMessage({\n id: `Settings.permissions.users.${role.code}`,\n defaultMessage: role.name,\n })\n )\n .join(',\\n')}\n </Typography>\n );\n },\n },\n {\n key: 'username',\n name: 'username',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.username',\n defaultMessage: 'Username',\n },\n sortable: true,\n },\n },\n {\n key: 'isActive',\n name: 'isActive',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.user-status',\n defaultMessage: 'User status',\n },\n sortable: false,\n },\n cellFormatter({ isActive }, { formatMessage }) {\n return (\n <Flex>\n <Status variant={isActive ? 'success' : 'danger'} />\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: isActive\n ? 'Settings.permissions.users.active'\n : 'Settings.permissions.users.inactive',\n defaultMessage: isActive ? 'Active' : 'Inactive',\n })}\n </Typography>\n </Flex>\n );\n },\n },\n] satisfies ListPageTableHeader[];\n\nconst DISPLAYED_HEADERS = [\n {\n name: 'firstname',\n metadatas: { label: 'Firstname' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'lastname',\n metadatas: { label: 'Lastname' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'email',\n metadatas: { label: 'Email' },\n fieldSchema: { type: 'email' },\n },\n {\n name: 'username',\n metadatas: { label: 'Username' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'isActive',\n metadatas: { label: 'Active user' },\n fieldSchema: { type: 'boolean' },\n },\n];\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\n// component which determines whether this page should render the CE or EE page\nconst ListPage = () => {\n const UsersListPage = useEnterprise(\n ListPageCE,\n async () =>\n // eslint-disable-next-line import/no-cycle\n (await import('../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage'))\n .UserListPageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!UsersListPage) {\n return null;\n }\n\n return <UsersListPage />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.users.main);\n\n return (\n <CheckPagePermissions permissions={permissions}>\n <ListPage />\n </CheckPagePermissions>\n );\n};\n\nexport { ProtectedListPage, ListPage, ListPageCE };\nexport type { ListPageTableHeaderWithStringMetadataLabel as ListPageTableHeader };\n"],"names":["useIntl","jsx","Button","Envelop","React","useNotification","useOverlayBlocker","useAPIErrorHandler","useEnterprise","MagicLinkCE","useCreateUserMutation","isBaseQueryError","jsxs","ModalLayout","ModalHeader","Breadcrumbs","Crumb","Formik","Form","ModalBody","Flex","Box","Typography","Grid","GridItem","GenericInput","SelectRoles","ModalFooter","yup","translatedErrors","useHistory","Tbody","Tr","onRowClick","Td","stopPropagation","BaseCheckbox","getFullName","IconButton","Pencil","Trash","useTypedSelector","useRBAC","useLocation","useFocusWhenNavigate","useAdminUsers","qs","useDeleteManyUsersMutation","Main","SettingsPageTitle","HeaderLayout","ActionLayout","Fragment","SearchURLQuery","Filters","ContentLayout","NoPermissions","DynamicTable","PageSizeURLQuery","PaginationURLQuery","Status","CheckPagePermissions"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { ModalLayout, ModalHeader, ModalBody, Flex, Loader, Box, Typography, Grid, JSONInput, Tbody, Tr, Td, IconButton, Combobox, ComboboxOption, Layout, ContentLayout, Main, HeaderLayout, ActionLayout } from "@strapi/design-system";
3
3
  import { useNotification, useAPIErrorHandler, PageSizeURLQuery, PaginationURLQuery, onRowClick, stopPropagation, useQueryParams, CheckPagePermissions, useRBAC, useFocusWhenNavigate, AnErrorOccurred, SettingsPageTitle, DynamicTable } from "@strapi/helper-plugin";
4
4
  import { useIntl } from "react-intl";
5
- import { n as adminApi, k as useAdminUsers, j as useTypedSelector } from "./index-KLPMzfLn.mjs";
5
+ import { n as adminApi, k as useAdminUsers, j as useTypedSelector } from "./index-Sz0bqxDe.mjs";
6
6
  import { F as Filters } from "./Filters-dLXfVnI0.mjs";
7
7
  import * as React from "react";
8
8
  import { Breadcrumbs, Crumb } from "@strapi/design-system/v2";
@@ -592,4 +592,4 @@ export {
592
592
  ListPage,
593
593
  ProtectedListPage
594
594
  };
595
- //# sourceMappingURL=ListPage-CxkXuNHa.mjs.map
595
+ //# sourceMappingURL=ListPage-3pk58RvL.mjs.map