@strapi/admin 5.0.0-beta.0 → 5.0.0-beta.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 (444) hide show
  1. package/dist/admin/{AdminSeatInfo-_XP-L7m2.js → AdminSeatInfo-Gp4BFR1_.js} +4 -4
  2. package/dist/admin/{AdminSeatInfo-_XP-L7m2.js.map → AdminSeatInfo-Gp4BFR1_.js.map} +1 -1
  3. package/dist/admin/{AdminSeatInfo-CcqY0G1v.mjs → AdminSeatInfo-dDgFBcLY.mjs} +4 -4
  4. package/dist/admin/{AdminSeatInfo-CcqY0G1v.mjs.map → AdminSeatInfo-dDgFBcLY.mjs.map} +1 -1
  5. package/dist/admin/{ApplicationInfoPage-RZ5VPA_M.mjs → ApplicationInfoPage-GQLKLk5T.mjs} +5 -5
  6. package/dist/admin/{ApplicationInfoPage-RZ5VPA_M.mjs.map → ApplicationInfoPage-GQLKLk5T.mjs.map} +1 -1
  7. package/dist/admin/{ApplicationInfoPage-dcW27-S0.js → ApplicationInfoPage-e_sOqQMh.js} +5 -5
  8. package/dist/admin/{ApplicationInfoPage-dcW27-S0.js.map → ApplicationInfoPage-e_sOqQMh.js.map} +1 -1
  9. package/dist/admin/{AuthResponse-829u1Bgr.mjs → AuthResponse-gf-zZkxm.mjs} +2 -2
  10. package/dist/admin/{AuthResponse-829u1Bgr.mjs.map → AuthResponse-gf-zZkxm.mjs.map} +1 -1
  11. package/dist/admin/{AuthResponse-jXbQnvQx.js → AuthResponse-l5QiAAK7.js} +2 -2
  12. package/dist/admin/{AuthResponse-jXbQnvQx.js.map → AuthResponse-l5QiAAK7.js.map} +1 -1
  13. package/dist/admin/{AuthenticatedLayout-a3vBuls_.mjs → AuthenticatedLayout-3fYM18Xy.mjs} +17 -17
  14. package/dist/admin/{AuthenticatedLayout-a3vBuls_.mjs.map → AuthenticatedLayout-3fYM18Xy.mjs.map} +1 -1
  15. package/dist/admin/{AuthenticatedLayout-hl04NCFE.js → AuthenticatedLayout-gGQYIisy.js} +17 -17
  16. package/dist/admin/{AuthenticatedLayout-hl04NCFE.js.map → AuthenticatedLayout-gGQYIisy.js.map} +1 -1
  17. package/dist/admin/{ComponentConfigurationPage-bbpuW93V.mjs → ComponentConfigurationPage-0kf7a5LK.mjs} +4 -4
  18. package/dist/admin/{ComponentConfigurationPage-bbpuW93V.mjs.map → ComponentConfigurationPage-0kf7a5LK.mjs.map} +1 -1
  19. package/dist/admin/{ComponentConfigurationPage-hNHSQ40m.js → ComponentConfigurationPage-U7RcNJFs.js} +4 -4
  20. package/dist/admin/{ComponentConfigurationPage-hNHSQ40m.js.map → ComponentConfigurationPage-U7RcNJFs.js.map} +1 -1
  21. package/dist/admin/ComponentIcon-AkrHxAkm.mjs.map +1 -1
  22. package/dist/admin/ComponentIcon-wcNWpdCz.js.map +1 -1
  23. package/dist/admin/{CreateActionEE-3ppNGqrP.js → CreateActionEE-HO-FmNjw.js} +2 -2
  24. package/dist/admin/{CreateActionEE-3ppNGqrP.js.map → CreateActionEE-HO-FmNjw.js.map} +1 -1
  25. package/dist/admin/{CreateActionEE-zqa6Hnzk.mjs → CreateActionEE-OscS6KZj.mjs} +2 -2
  26. package/dist/admin/{CreateActionEE-zqa6Hnzk.mjs.map → CreateActionEE-OscS6KZj.mjs.map} +1 -1
  27. package/dist/admin/{CreatePage-5GygA62E.mjs → CreatePage-1a_Nb-RK.mjs} +9 -9
  28. package/dist/admin/CreatePage-1a_Nb-RK.mjs.map +1 -0
  29. package/dist/admin/{CreatePage-oegPjlEc.mjs → CreatePage-8rG8fSZv.mjs} +4 -4
  30. package/dist/admin/{CreatePage-oegPjlEc.mjs.map → CreatePage-8rG8fSZv.mjs.map} +1 -1
  31. package/dist/admin/{CreatePage-92_pj9pV.js → CreatePage-B0kLot_Q.js} +3 -3
  32. package/dist/admin/{CreatePage-92_pj9pV.js.map → CreatePage-B0kLot_Q.js.map} +1 -1
  33. package/dist/admin/{CreatePage-99wXBVyY.mjs → CreatePage-c92hDTE3.mjs} +3 -3
  34. package/dist/admin/{CreatePage-99wXBVyY.mjs.map → CreatePage-c92hDTE3.mjs.map} +1 -1
  35. package/dist/admin/{CreatePage-52sUoJpg.js → CreatePage-h9gJgINE.js} +4 -4
  36. package/dist/admin/{CreatePage-52sUoJpg.js.map → CreatePage-h9gJgINE.js.map} +1 -1
  37. package/dist/admin/{CreatePage-yBddklgC.js → CreatePage-pN8WcSWM.js} +9 -9
  38. package/dist/admin/CreatePage-pN8WcSWM.js.map +1 -0
  39. package/dist/admin/{CreateView-nS-FdJkE.js → CreateView-Gd7sLphf.js} +3 -3
  40. package/dist/admin/{CreateView-nS-FdJkE.js.map → CreateView-Gd7sLphf.js.map} +1 -1
  41. package/dist/admin/{CreateView-Ic6HHrsX.mjs → CreateView-PIPvgwa8.mjs} +3 -3
  42. package/dist/admin/{CreateView-Ic6HHrsX.mjs.map → CreateView-PIPvgwa8.mjs.map} +1 -1
  43. package/dist/admin/{CreateView-vQmc3UBu.js → CreateView-kVD9MjAf.js} +3 -3
  44. package/dist/admin/{CreateView-vQmc3UBu.js.map → CreateView-kVD9MjAf.js.map} +1 -1
  45. package/dist/admin/{CreateView-4i8XqKqF.mjs → CreateView-nXkGgZTO.mjs} +3 -3
  46. package/dist/admin/{CreateView-4i8XqKqF.mjs.map → CreateView-nXkGgZTO.mjs.map} +1 -1
  47. package/dist/admin/{EditConfigurationPage-lpPR7rS-.js → EditConfigurationPage-YAS-MAtE.js} +4 -4
  48. package/dist/admin/{EditConfigurationPage-lpPR7rS-.js.map → EditConfigurationPage-YAS-MAtE.js.map} +1 -1
  49. package/dist/admin/{EditConfigurationPage-6doXCBmp.mjs → EditConfigurationPage-jugWslla.mjs} +4 -4
  50. package/dist/admin/{EditConfigurationPage-6doXCBmp.mjs.map → EditConfigurationPage-jugWslla.mjs.map} +1 -1
  51. package/dist/admin/{EditPage-foeIMKkr.mjs → EditPage-6pGLGlrZ.mjs} +6 -6
  52. package/dist/admin/EditPage-6pGLGlrZ.mjs.map +1 -0
  53. package/dist/admin/{EditPage-4n8-yx0o.mjs → EditPage-I99-ASjb.mjs} +8 -8
  54. package/dist/admin/{EditPage-4n8-yx0o.mjs.map → EditPage-I99-ASjb.mjs.map} +1 -1
  55. package/dist/admin/{EditPage-LUNpO2Hs.mjs → EditPage-NrM8ZRAf.mjs} +9 -9
  56. package/dist/admin/{EditPage-LUNpO2Hs.mjs.map → EditPage-NrM8ZRAf.mjs.map} +1 -1
  57. package/dist/admin/{EditPage-qKcSRKvg.js → EditPage-ci9fcWte.js} +9 -9
  58. package/dist/admin/{EditPage-qKcSRKvg.js.map → EditPage-ci9fcWte.js.map} +1 -1
  59. package/dist/admin/{EditPage-YN3E4YNP.mjs → EditPage-fT6nuOwT.mjs} +5 -5
  60. package/dist/admin/{EditPage-YN3E4YNP.mjs.map → EditPage-fT6nuOwT.mjs.map} +1 -1
  61. package/dist/admin/{EditPage-WEpVsF5C.js → EditPage-hEDFGDcC.js} +6 -6
  62. package/dist/admin/EditPage-hEDFGDcC.js.map +1 -0
  63. package/dist/admin/{EditPage-d7F-x_Y0.js → EditPage-m5HVhxC-.js} +5 -5
  64. package/dist/admin/{EditPage-d7F-x_Y0.js.map → EditPage-m5HVhxC-.js.map} +1 -1
  65. package/dist/admin/{EditPage-Id--0zN8.js → EditPage-um8Yysr-.js} +8 -8
  66. package/dist/admin/{EditPage-Id--0zN8.js.map → EditPage-um8Yysr-.js.map} +1 -1
  67. package/dist/admin/{EditView-GXGcvgNt.mjs → EditView-79rujo0b.mjs} +4 -4
  68. package/dist/admin/{EditView-GXGcvgNt.mjs.map → EditView-79rujo0b.mjs.map} +1 -1
  69. package/dist/admin/{EditView-awLo_z9u.js → EditView-zEf-a-YM.js} +4 -4
  70. package/dist/admin/{EditView-awLo_z9u.js.map → EditView-zEf-a-YM.js.map} +1 -1
  71. package/dist/admin/{EditViewPage-1NY3YGcc.mjs → EditViewPage-BJdNfzBZ.mjs} +6 -6
  72. package/dist/admin/{EditViewPage-1NY3YGcc.mjs.map → EditViewPage-BJdNfzBZ.mjs.map} +1 -1
  73. package/dist/admin/{EditViewPage-cZsfhXI4.js → EditViewPage-Y67V7K7l.js} +6 -6
  74. package/dist/admin/{EditViewPage-cZsfhXI4.js.map → EditViewPage-Y67V7K7l.js.map} +1 -1
  75. package/dist/admin/{EditViewPage-QWb2DMRg.mjs → EditViewPage-iuq_KY3C.mjs} +4 -4
  76. package/dist/admin/{EditViewPage-QWb2DMRg.mjs.map → EditViewPage-iuq_KY3C.mjs.map} +1 -1
  77. package/dist/admin/{EditViewPage-1ZxYkrZ9.js → EditViewPage-vrE8FNb1.js} +4 -4
  78. package/dist/admin/{EditViewPage-1ZxYkrZ9.js.map → EditViewPage-vrE8FNb1.js.map} +1 -1
  79. package/dist/admin/{EventsTable-Iv41t-aJ.mjs → EventsTable-LOh2EX0N.mjs} +2 -2
  80. package/dist/admin/{EventsTable-Iv41t-aJ.mjs.map → EventsTable-LOh2EX0N.mjs.map} +1 -1
  81. package/dist/admin/{EventsTable-3Mp9Iad-.js → EventsTable-bm16Pj4a.js} +2 -2
  82. package/dist/admin/{EventsTable-3Mp9Iad-.js.map → EventsTable-bm16Pj4a.js.map} +1 -1
  83. package/dist/admin/{FieldTypeIcon-AibcTcXN.mjs → FieldTypeIcon-SCwhXPf6.mjs} +2 -2
  84. package/dist/admin/FieldTypeIcon-SCwhXPf6.mjs.map +1 -0
  85. package/dist/admin/{FieldTypeIcon--WKPFDG2.js → FieldTypeIcon-u9dTaLwb.js} +2 -2
  86. package/dist/admin/FieldTypeIcon-u9dTaLwb.js.map +1 -0
  87. package/dist/admin/{Filters-l2eZFcAk.js → Filters-5FAHd62q.js} +4 -4
  88. package/dist/admin/Filters-5FAHd62q.js.map +1 -0
  89. package/dist/admin/{Filters-Jm3DRgjx.mjs → Filters-hYfcsahl.mjs} +4 -4
  90. package/dist/admin/Filters-hYfcsahl.mjs.map +1 -0
  91. package/dist/admin/{Form-f20Ab8pl.mjs → Form-7gccxUtH.mjs} +5 -5
  92. package/dist/admin/Form-7gccxUtH.mjs.map +1 -0
  93. package/dist/admin/{Form-V8XluZgD.js → Form-m0qUJusG.js} +5 -5
  94. package/dist/admin/Form-m0qUJusG.js.map +1 -0
  95. package/dist/admin/{History-eZH2Aqa1.js → History-UVk6YZaL.js} +5 -5
  96. package/dist/admin/{History-eZH2Aqa1.js.map → History-UVk6YZaL.js.map} +1 -1
  97. package/dist/admin/{History-0MMslhUv.mjs → History-gNttF1-u.mjs} +5 -5
  98. package/dist/admin/{History-0MMslhUv.mjs.map → History-gNttF1-u.mjs.map} +1 -1
  99. package/dist/admin/{HomePage-PNJzW3TF.mjs → HomePage-2q7ngwX4.mjs} +3 -3
  100. package/dist/admin/{HomePage-PNJzW3TF.mjs.map → HomePage-2q7ngwX4.mjs.map} +1 -1
  101. package/dist/admin/{HomePage-Mt5yKmaK.mjs → HomePage-_eHszm7N.mjs} +5 -5
  102. package/dist/admin/{HomePage-Mt5yKmaK.mjs.map → HomePage-_eHszm7N.mjs.map} +1 -1
  103. package/dist/admin/{HomePage-HylT9MsA.js → HomePage-jwm3AAzI.js} +5 -5
  104. package/dist/admin/{HomePage-HylT9MsA.js.map → HomePage-jwm3AAzI.js.map} +1 -1
  105. package/dist/admin/{HomePage-Zoe67a6N.js → HomePage-ozwWqZdZ.js} +3 -3
  106. package/dist/admin/{HomePage-Zoe67a6N.js.map → HomePage-ozwWqZdZ.js.map} +1 -1
  107. package/dist/admin/{InputRenderer-89lhMw5B.js → InputRenderer-tdeZayqM.js} +4 -6
  108. package/dist/admin/InputRenderer-tdeZayqM.js.map +1 -0
  109. package/dist/admin/{InputRenderer-ddUokGFQ.mjs → InputRenderer-uXGu-VvL.mjs} +4 -6
  110. package/dist/admin/InputRenderer-uXGu-VvL.mjs.map +1 -0
  111. package/dist/admin/{InstalledPluginsPage-F_LdmUvc.mjs → InstalledPluginsPage-rGp1BINi.mjs} +3 -3
  112. package/dist/admin/{InstalledPluginsPage-F_LdmUvc.mjs.map → InstalledPluginsPage-rGp1BINi.mjs.map} +1 -1
  113. package/dist/admin/{InstalledPluginsPage-4hUy0Kzu.js → InstalledPluginsPage-relNbZiA.js} +3 -3
  114. package/dist/admin/{InstalledPluginsPage-4hUy0Kzu.js.map → InstalledPluginsPage-relNbZiA.js.map} +1 -1
  115. package/dist/admin/{Layout-yOQ2mhrf.mjs → Layout-JSg7Wwnx.mjs} +3 -3
  116. package/dist/admin/{Layout-yOQ2mhrf.mjs.map → Layout-JSg7Wwnx.mjs.map} +1 -1
  117. package/dist/admin/{Layout-y3dNAJVd.mjs → Layout-gqm-mRb2.mjs} +5 -5
  118. package/dist/admin/{Layout-y3dNAJVd.mjs.map → Layout-gqm-mRb2.mjs.map} +1 -1
  119. package/dist/admin/{Layout-8VTNG14A.js → Layout-rp7YlCuF.js} +5 -5
  120. package/dist/admin/{Layout-8VTNG14A.js.map → Layout-rp7YlCuF.js.map} +1 -1
  121. package/dist/admin/{Layout-0VrIQ4NX.js → Layout-tPXv8ts4.js} +3 -3
  122. package/dist/admin/{Layout-0VrIQ4NX.js.map → Layout-tPXv8ts4.js.map} +1 -1
  123. package/dist/admin/{ListConfigurationPage-duFCwpIH.mjs → ListConfigurationPage-1JkDop6y.mjs} +5 -5
  124. package/dist/admin/{ListConfigurationPage-duFCwpIH.mjs.map → ListConfigurationPage-1JkDop6y.mjs.map} +1 -1
  125. package/dist/admin/{ListConfigurationPage-9EnV4loI.js → ListConfigurationPage-egv99PTx.js} +5 -5
  126. package/dist/admin/{ListConfigurationPage-9EnV4loI.js.map → ListConfigurationPage-egv99PTx.js.map} +1 -1
  127. package/dist/admin/{ListPage-2i4GNvMp.js → ListPage-5VIwPlnG.js} +5 -5
  128. package/dist/admin/{ListPage-2i4GNvMp.js.map → ListPage-5VIwPlnG.js.map} +1 -1
  129. package/dist/admin/{ListPage-v6SUIF_T.js → ListPage-85XB15gk.js} +7 -6
  130. package/dist/admin/ListPage-85XB15gk.js.map +1 -0
  131. package/dist/admin/{ListPage-ICxXUAUL.js → ListPage-NG7c9Zx-.js} +5 -5
  132. package/dist/admin/{ListPage-ICxXUAUL.js.map → ListPage-NG7c9Zx-.js.map} +1 -1
  133. package/dist/admin/{ListPage-EmtzWMVt.js → ListPage-Wf8HxliA.js} +3 -3
  134. package/dist/admin/{ListPage-EmtzWMVt.js.map → ListPage-Wf8HxliA.js.map} +1 -1
  135. package/dist/admin/{ListPage-Cq-wLIdK.mjs → ListPage-Y0vGfxO1.mjs} +5 -5
  136. package/dist/admin/{ListPage-Cq-wLIdK.mjs.map → ListPage-Y0vGfxO1.mjs.map} +1 -1
  137. package/dist/admin/{ListPage-hxaNrHLd.mjs → ListPage-_1MCPNWC.mjs} +3 -3
  138. package/dist/admin/{ListPage-hxaNrHLd.mjs.map → ListPage-_1MCPNWC.mjs.map} +1 -1
  139. package/dist/admin/{ListPage-v1vvnXr3.mjs → ListPage-bdblB4wE.mjs} +4 -4
  140. package/dist/admin/{ListPage-v1vvnXr3.mjs.map → ListPage-bdblB4wE.mjs.map} +1 -1
  141. package/dist/admin/{ListPage-i77Lk7qj.js → ListPage-d0uTS6lH.js} +4 -4
  142. package/dist/admin/{ListPage-i77Lk7qj.js.map → ListPage-d0uTS6lH.js.map} +1 -1
  143. package/dist/admin/{ListPage-gP4TzJZw.js → ListPage-e0975Wh-.js} +9 -9
  144. package/dist/admin/ListPage-e0975Wh-.js.map +1 -0
  145. package/dist/admin/{ListPage-wpMBvGVG.mjs → ListPage-eMKRFxzM.mjs} +5 -5
  146. package/dist/admin/{ListPage-wpMBvGVG.mjs.map → ListPage-eMKRFxzM.mjs.map} +1 -1
  147. package/dist/admin/{ListPage-Z663tCxD.mjs → ListPage-tFqx6zb_.mjs} +9 -9
  148. package/dist/admin/ListPage-tFqx6zb_.mjs.map +1 -0
  149. package/dist/admin/{ListPage-0jv2yLPQ.mjs → ListPage-v07yRAHk.mjs} +8 -7
  150. package/dist/admin/ListPage-v07yRAHk.mjs.map +1 -0
  151. package/dist/admin/{ListView-4givZ4Eb.mjs → ListView-9shnR2xp.mjs} +4 -4
  152. package/dist/admin/ListView-9shnR2xp.mjs.map +1 -0
  153. package/dist/admin/{ListView-IqhnTHjC.js → ListView-IaEe1_Uy.js} +4 -4
  154. package/dist/admin/ListView-IaEe1_Uy.js.map +1 -0
  155. package/dist/admin/{ListView-NPtyW54W.js → ListView-_EZZ571X.js} +4 -4
  156. package/dist/admin/ListView-_EZZ571X.js.map +1 -0
  157. package/dist/admin/{ListView-A1dYCFAI.mjs → ListView-z9G1Eash.mjs} +4 -4
  158. package/dist/admin/ListView-z9G1Eash.mjs.map +1 -0
  159. package/dist/admin/{ListViewPage-rkQXnquk.mjs → ListViewPage-FE12IpwT.mjs} +9 -9
  160. package/dist/admin/ListViewPage-FE12IpwT.mjs.map +1 -0
  161. package/dist/admin/{ListViewPage-67EL6F80.js → ListViewPage-u5WSF93L.js} +9 -9
  162. package/dist/admin/ListViewPage-u5WSF93L.js.map +1 -0
  163. package/dist/admin/{Login-IanfGhcK.mjs → Login-9iKNSYCJ.mjs} +3 -3
  164. package/dist/admin/{Login-IanfGhcK.mjs.map → Login-9iKNSYCJ.mjs.map} +1 -1
  165. package/dist/admin/{Login-69DnR_WO.js → Login-ug0ICazL.js} +3 -3
  166. package/dist/admin/{Login-69DnR_WO.js.map → Login-ug0ICazL.js.map} +1 -1
  167. package/dist/admin/{MagicLinkEE-pA-tsFIv.mjs → MagicLinkEE-3a4aj5bM.mjs} +3 -3
  168. package/dist/admin/{MagicLinkEE-pA-tsFIv.mjs.map → MagicLinkEE-3a4aj5bM.mjs.map} +1 -1
  169. package/dist/admin/{MagicLinkEE-uUVMUi92.js → MagicLinkEE-TlpYCgSF.js} +3 -3
  170. package/dist/admin/{MagicLinkEE-uUVMUi92.js.map → MagicLinkEE-TlpYCgSF.js.map} +1 -1
  171. package/dist/admin/{MarketplacePage-FFt5PPmM.mjs → MarketplacePage-BBs4GMeX.mjs} +3 -3
  172. package/dist/admin/{MarketplacePage-FFt5PPmM.mjs.map → MarketplacePage-BBs4GMeX.mjs.map} +1 -1
  173. package/dist/admin/{MarketplacePage-io_-I4d2.js → MarketplacePage-GuZItQkJ.js} +3 -3
  174. package/dist/admin/{MarketplacePage-io_-I4d2.js.map → MarketplacePage-GuZItQkJ.js.map} +1 -1
  175. package/dist/admin/{NoContentTypePage-6mgFtik-.mjs → NoContentTypePage-MI-TNgDm.mjs} +2 -2
  176. package/dist/admin/{NoContentTypePage-6mgFtik-.mjs.map → NoContentTypePage-MI-TNgDm.mjs.map} +1 -1
  177. package/dist/admin/{NoContentTypePage-7GuJBa-V.js → NoContentTypePage-WM9PSeKc.js} +2 -2
  178. package/dist/admin/{NoContentTypePage-7GuJBa-V.js.map → NoContentTypePage-WM9PSeKc.js.map} +1 -1
  179. package/dist/admin/{NoPermissionsPage-6oZ4iqff.mjs → NoPermissionsPage-K6eIf5zl.mjs} +2 -2
  180. package/dist/admin/{NoPermissionsPage-6oZ4iqff.mjs.map → NoPermissionsPage-K6eIf5zl.mjs.map} +1 -1
  181. package/dist/admin/{NoPermissionsPage-E2ro9iCX.js → NoPermissionsPage-PP92ItBk.js} +2 -2
  182. package/dist/admin/{NoPermissionsPage-E2ro9iCX.js.map → NoPermissionsPage-PP92ItBk.js.map} +1 -1
  183. package/dist/admin/NotAllowed-9d8xvtvI.mjs.map +1 -1
  184. package/dist/admin/NotAllowed-FmDlK9I3.js.map +1 -1
  185. package/dist/admin/{Permissions-VR9Rnqkr.js → Permissions-jsl-R7bI.js} +2 -2
  186. package/dist/admin/{Permissions-VR9Rnqkr.js.map → Permissions-jsl-R7bI.js.map} +1 -1
  187. package/dist/admin/{Permissions-kvKR0BEy.mjs → Permissions-v99MLjbi.mjs} +2 -2
  188. package/dist/admin/{Permissions-kvKR0BEy.mjs.map → Permissions-v99MLjbi.mjs.map} +1 -1
  189. package/dist/admin/{PrivateRoute-dcpEjhVL.js → PrivateRoute-AFoVG5Bk.js} +2 -2
  190. package/dist/admin/{PrivateRoute-dcpEjhVL.js.map → PrivateRoute-AFoVG5Bk.js.map} +1 -1
  191. package/dist/admin/{PrivateRoute-jEzBQwGq.mjs → PrivateRoute-XiRz2oSq.mjs} +2 -2
  192. package/dist/admin/{PrivateRoute-jEzBQwGq.mjs.map → PrivateRoute-XiRz2oSq.mjs.map} +1 -1
  193. package/dist/admin/{ProfilePage-vP1WwOSo.mjs → ProfilePage-HjJiMiTt.mjs} +4 -4
  194. package/dist/admin/{ProfilePage-vP1WwOSo.mjs.map → ProfilePage-HjJiMiTt.mjs.map} +1 -1
  195. package/dist/admin/{ProfilePage-5zMiyfq8.js → ProfilePage-wGM1mvXn.js} +4 -4
  196. package/dist/admin/{ProfilePage-5zMiyfq8.js.map → ProfilePage-wGM1mvXn.js.map} +1 -1
  197. package/dist/admin/{ReviewWorkflowsColumn-m0_IsejA.mjs → ReviewWorkflowsColumn-NUu47oVz.mjs} +3 -3
  198. package/dist/admin/{ReviewWorkflowsColumn-m0_IsejA.mjs.map → ReviewWorkflowsColumn-NUu47oVz.mjs.map} +1 -1
  199. package/dist/admin/{ReviewWorkflowsColumn--7xdU3EE.js → ReviewWorkflowsColumn-uIqJfjyd.js} +3 -3
  200. package/dist/admin/{ReviewWorkflowsColumn--7xdU3EE.js.map → ReviewWorkflowsColumn-uIqJfjyd.js.map} +1 -1
  201. package/dist/admin/{SelectRoles-3rrUCBYq.js → SelectRoles-5vr-vXOm.js} +4 -4
  202. package/dist/admin/{SelectRoles-3rrUCBYq.js.map → SelectRoles-5vr-vXOm.js.map} +1 -1
  203. package/dist/admin/{SelectRoles-6zNSDXAX.mjs → SelectRoles-ytHc3di2.mjs} +4 -4
  204. package/dist/admin/{SelectRoles-6zNSDXAX.mjs.map → SelectRoles-ytHc3di2.mjs.map} +1 -1
  205. package/dist/admin/{SingleSignOnPage-yqv1ULMO.js → SingleSignOnPage-1Wqj_7y-.js} +3 -3
  206. package/dist/admin/{SingleSignOnPage-yqv1ULMO.js.map → SingleSignOnPage-1Wqj_7y-.js.map} +1 -1
  207. package/dist/admin/{SingleSignOnPage-7AQ0D0BD.mjs → SingleSignOnPage-7oJES3UH.mjs} +3 -3
  208. package/dist/admin/{SingleSignOnPage-7AQ0D0BD.mjs.map → SingleSignOnPage-7oJES3UH.mjs.map} +1 -1
  209. package/dist/admin/{Table-hIWrkIyR.mjs → Table-LQhGojNx.mjs} +4 -4
  210. package/dist/admin/Table-LQhGojNx.mjs.map +1 -0
  211. package/dist/admin/{Table-9qwpBhgp.js → Table-M5UsBfFs.js} +4 -4
  212. package/dist/admin/Table-M5UsBfFs.js.map +1 -0
  213. package/dist/admin/{TokenTypeSelect-I0IiW8L9.mjs → TokenTypeSelect-5o9mvFd7.mjs} +3 -3
  214. package/dist/admin/TokenTypeSelect-5o9mvFd7.mjs.map +1 -0
  215. package/dist/admin/{TokenTypeSelect-O5IkOZVo.js → TokenTypeSelect-ZBDI26vJ.js} +3 -3
  216. package/dist/admin/TokenTypeSelect-ZBDI26vJ.js.map +1 -0
  217. package/dist/admin/{UseCasePage-BwOhufaK.mjs → UseCasePage-e7rn-aW-.mjs} +4 -4
  218. package/dist/admin/{UseCasePage-BwOhufaK.mjs.map → UseCasePage-e7rn-aW-.mjs.map} +1 -1
  219. package/dist/admin/{UseCasePage-vqdvr-uv.js → UseCasePage-q3u-xs7F.js} +4 -4
  220. package/dist/admin/{UseCasePage-vqdvr-uv.js.map → UseCasePage-q3u-xs7F.js.map} +1 -1
  221. package/dist/admin/{apiTokens-RqehzGhC.js → apiTokens-_gKUBKPQ.js} +2 -2
  222. package/dist/admin/{apiTokens-RqehzGhC.js.map → apiTokens-_gKUBKPQ.js.map} +1 -1
  223. package/dist/admin/{apiTokens-HBaRXE71.mjs → apiTokens-nD8zbNlc.mjs} +2 -2
  224. package/dist/admin/{apiTokens-HBaRXE71.mjs.map → apiTokens-nD8zbNlc.mjs.map} +1 -1
  225. package/dist/admin/{constants-gHOCp7wo.js → constants-6E1OwHx7.js} +5 -5
  226. package/dist/admin/{constants-gHOCp7wo.js.map → constants-6E1OwHx7.js.map} +1 -1
  227. package/dist/admin/{constants-ZPElfE3j.mjs → constants-AdKxCt0x.mjs} +3 -3
  228. package/dist/admin/{constants-ZPElfE3j.mjs.map → constants-AdKxCt0x.mjs.map} +1 -1
  229. package/dist/admin/{constants--j5MCV5y.mjs → constants-D6NLEhwu.mjs} +5 -5
  230. package/dist/admin/{constants--j5MCV5y.mjs.map → constants-D6NLEhwu.mjs.map} +1 -1
  231. package/dist/admin/{constants-AAeFmxXA.js → constants-ZZWbRAQT.js} +3 -3
  232. package/dist/admin/{constants-AAeFmxXA.js.map → constants-ZZWbRAQT.js.map} +1 -1
  233. package/dist/admin/{index-NzLAHRwx.mjs → index-1NFAbkxM.mjs} +67 -48
  234. package/dist/admin/index-1NFAbkxM.mjs.map +1 -0
  235. package/dist/admin/{index-dBY0pLkw.js → index-mQQPK-ix.js} +67 -48
  236. package/dist/admin/index-mQQPK-ix.js.map +1 -0
  237. package/dist/admin/index.js +3 -3
  238. package/dist/admin/index.mjs +3 -3
  239. package/dist/admin/{reducers-TOuLOGw_.mjs → reducers-IQWvK_9L.mjs} +11 -9
  240. package/dist/admin/reducers-IQWvK_9L.mjs.map +1 -0
  241. package/dist/admin/{reducers-uDxSALD_.js → reducers-wZUQqmNX.js} +11 -9
  242. package/dist/admin/reducers-wZUQqmNX.js.map +1 -0
  243. package/dist/admin/{selectors-ka781RNf.js → selectors-PTHjHMQi.js} +2 -2
  244. package/dist/admin/{selectors-ka781RNf.js.map → selectors-PTHjHMQi.js.map} +1 -1
  245. package/dist/admin/{selectors-NvWWczps.mjs → selectors-nn3C3YKE.mjs} +2 -2
  246. package/dist/admin/{selectors-NvWWczps.mjs.map → selectors-nn3C3YKE.mjs.map} +1 -1
  247. package/dist/admin/src/components/FormInputs/types.d.ts +3 -3
  248. package/dist/admin/src/constants/filters.d.ts +2 -2
  249. package/dist/admin/src/content-manager/components/ComponentIcon.d.ts +2 -2
  250. package/dist/admin/src/content-manager/components/ConfigurationForm/EditFieldForm.d.ts +2 -2
  251. package/dist/admin/src/content-manager/components/DragPreviews/RelationDragPreview.d.ts +2 -2
  252. package/dist/admin/src/content-manager/components/FieldTypeIcon.d.ts +2 -2
  253. package/dist/admin/src/content-manager/features/DocumentRBAC.d.ts +2 -2
  254. package/dist/admin/src/content-manager/history/services/historyVersion.d.ts +2 -2
  255. package/dist/admin/src/content-manager/hooks/useDocumentLayout.d.ts +7 -7
  256. package/dist/admin/src/content-manager/hooks/useDragAndDrop.d.ts +2 -2
  257. package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +3 -3
  258. package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.d.ts +2 -2
  259. package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/plugins/withImages.d.ts +1 -1
  260. package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/plugins/withLinks.d.ts +1 -1
  261. package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.d.ts +1 -1
  262. package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.d.ts +1 -1
  263. package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/utils/types.d.ts +4 -4
  264. package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/NotAllowed.d.ts +2 -2
  265. package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/UID.d.ts +2 -2
  266. package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/Field.d.ts +2 -2
  267. package/dist/admin/src/content-manager/pages/EditView/utils/data.d.ts +2 -2
  268. package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/Actions.d.ts +52 -0
  269. package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/PublishAction.d.ts +31 -0
  270. package/dist/admin/src/content-manager/pages/ListView/components/TableCells/CellContent.d.ts +3 -3
  271. package/dist/admin/src/content-manager/pages/ListView/components/TableCells/CellValue.d.ts +2 -2
  272. package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Components.d.ts +3 -3
  273. package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Media.d.ts +2 -2
  274. package/dist/admin/src/content-manager/services/documents.d.ts +5 -0
  275. package/dist/admin/src/content-manager/services/relations.d.ts +5 -5
  276. package/dist/admin/src/content-manager/services/uid.d.ts +2 -2
  277. package/dist/admin/src/content-manager/utils/attributes.d.ts +4 -4
  278. package/dist/admin/src/core/apis/content-manager.d.ts +33 -5
  279. package/dist/admin/src/index.d.ts +2 -1
  280. package/dist/admin/src/pages/Settings/components/Tokens/FormHead.d.ts +2 -2
  281. package/dist/admin/src/pages/Settings/components/Tokens/Table.d.ts +2 -2
  282. package/dist/admin/src/pages/Settings/pages/Users/components/NewUserForm.d.ts +2 -2
  283. package/dist/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.d.ts +5 -5
  284. package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +3 -3
  285. package/dist/admin/src/render.d.ts +2 -2
  286. package/dist/admin/src/services/apiTokens.d.ts +1 -1
  287. package/dist/admin/src/services/users.d.ts +6 -6
  288. package/dist/admin/src/services/webhooks.d.ts +1 -1
  289. package/dist/admin/test.js +1 -1
  290. package/dist/admin/test.mjs +1 -1
  291. package/dist/admin/{transferTokens-HxKzbhZt.js → transferTokens-P5z1yVh2.js} +2 -2
  292. package/dist/admin/{transferTokens-HxKzbhZt.js.map → transferTokens-P5z1yVh2.js.map} +1 -1
  293. package/dist/admin/{transferTokens-QOZjk416.mjs → transferTokens-PlBVZdw3.mjs} +2 -2
  294. package/dist/admin/{transferTokens-QOZjk416.mjs.map → transferTokens-PlBVZdw3.mjs.map} +1 -1
  295. package/dist/admin/{useAdminRoles-PSfwOXiz.mjs → useAdminRoles-BG7b996L.mjs} +2 -2
  296. package/dist/admin/{useAdminRoles-PSfwOXiz.mjs.map → useAdminRoles-BG7b996L.mjs.map} +1 -1
  297. package/dist/admin/{useAdminRoles-eaHgHT8Y.js → useAdminRoles-THWXour6.js} +2 -2
  298. package/dist/admin/{useAdminRoles-eaHgHT8Y.js.map → useAdminRoles-THWXour6.js.map} +1 -1
  299. package/dist/admin/{useContentTypes-Or3rDVks.mjs → useContentTypes-PEGh0Cg-.mjs} +2 -2
  300. package/dist/admin/{useContentTypes-Or3rDVks.mjs.map → useContentTypes-PEGh0Cg-.mjs.map} +1 -1
  301. package/dist/admin/{useContentTypes-RJRHsheR.js → useContentTypes-RoSvxizj.js} +2 -2
  302. package/dist/admin/{useContentTypes-RJRHsheR.js.map → useContentTypes-RoSvxizj.js.map} +1 -1
  303. package/dist/admin/{useDocumentLayout-5UQF9Yls.mjs → useDocumentLayout-4trWL6Jz.mjs} +2 -2
  304. package/dist/admin/useDocumentLayout-4trWL6Jz.mjs.map +1 -0
  305. package/dist/admin/{useDocumentLayout-wBQQmFJL.js → useDocumentLayout-V_N5dUwQ.js} +2 -2
  306. package/dist/admin/useDocumentLayout-V_N5dUwQ.js.map +1 -0
  307. package/dist/admin/{useLicenseLimitNotification-kTCLbD6I.mjs → useLicenseLimitNotification-9DqSZuyc.mjs} +3 -3
  308. package/dist/admin/{useLicenseLimitNotification-kTCLbD6I.mjs.map → useLicenseLimitNotification-9DqSZuyc.mjs.map} +1 -1
  309. package/dist/admin/{useLicenseLimitNotification-mOmwgQuN.js → useLicenseLimitNotification-SiWQ5LGo.js} +3 -3
  310. package/dist/admin/{useLicenseLimitNotification-mOmwgQuN.js.map → useLicenseLimitNotification-SiWQ5LGo.js.map} +1 -1
  311. package/dist/admin/{useReviewWorkflows-ZcRZstgn.js → useReviewWorkflows-0ty4mwQd.js} +2 -2
  312. package/dist/admin/{useReviewWorkflows-ZcRZstgn.js.map → useReviewWorkflows-0ty4mwQd.js.map} +1 -1
  313. package/dist/admin/{useReviewWorkflows-Ji_rsoyJ.mjs → useReviewWorkflows-HwyFyit7.mjs} +2 -2
  314. package/dist/admin/{useReviewWorkflows-Ji_rsoyJ.mjs.map → useReviewWorkflows-HwyFyit7.mjs.map} +1 -1
  315. package/dist/admin/{useSyncRbac-Od0wrAnD.mjs → useSyncRbac-LNOzRXJ5.mjs} +2 -2
  316. package/dist/admin/{useSyncRbac-Od0wrAnD.mjs.map → useSyncRbac-LNOzRXJ5.mjs.map} +1 -1
  317. package/dist/admin/{useSyncRbac-fR63KADE.js → useSyncRbac-vkWgDJTE.js} +2 -2
  318. package/dist/admin/{useSyncRbac-fR63KADE.js.map → useSyncRbac-vkWgDJTE.js.map} +1 -1
  319. package/dist/admin/{useWebhooks-KtPvzcTB.js → useWebhooks-DmGNXCdi.js} +2 -2
  320. package/dist/admin/{useWebhooks-KtPvzcTB.js.map → useWebhooks-DmGNXCdi.js.map} +1 -1
  321. package/dist/admin/{useWebhooks-7Grr2wYu.mjs → useWebhooks-dOVyaYlw.mjs} +2 -2
  322. package/dist/admin/{useWebhooks-7Grr2wYu.mjs.map → useWebhooks-dOVyaYlw.mjs.map} +1 -1
  323. package/dist/admin/{validateWorkflow-lzkdakmi.js → validateWorkflow-99y3bkNx.js} +3 -3
  324. package/dist/admin/validateWorkflow-99y3bkNx.js.map +1 -0
  325. package/dist/admin/{validateWorkflow-cwVWZu1s.mjs → validateWorkflow-ubLwZqCK.mjs} +3 -3
  326. package/dist/admin/validateWorkflow-ubLwZqCK.mjs.map +1 -0
  327. package/dist/admin/{validation-uxcqs4Uq.mjs → validation-cpJKCQz1.mjs} +2 -2
  328. package/dist/admin/{validation-uxcqs4Uq.mjs.map → validation-cpJKCQz1.mjs.map} +1 -1
  329. package/dist/admin/{validation-aKPvEh9F.js → validation-lIVymZ0n.js} +2 -2
  330. package/dist/admin/{validation-aKPvEh9F.js.map → validation-lIVymZ0n.js.map} +1 -1
  331. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/actions.d.ts +1 -1
  332. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/reducer.d.ts +3 -3
  333. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/selectors.d.ts +4 -4
  334. package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
  335. package/dist/ee/admin/src/services/reviewWorkflows.d.ts +4 -4
  336. package/dist/ee/server/index.js +5 -5
  337. package/dist/ee/server/index.js.map +1 -1
  338. package/dist/ee/server/index.mjs +6 -6
  339. package/dist/ee/server/index.mjs.map +1 -1
  340. package/dist/package.json.d.ts +11 -11
  341. package/dist/server/index.js +80 -76
  342. package/dist/server/index.js.map +1 -1
  343. package/dist/server/index.mjs +81 -77
  344. package/dist/server/index.mjs.map +1 -1
  345. package/dist/server/src/bootstrap.d.ts +2 -2
  346. package/dist/server/src/bootstrap.d.ts.map +1 -1
  347. package/dist/server/src/controllers/webhooks.d.ts.map +1 -1
  348. package/dist/server/src/domain/action/index.d.ts +21 -8
  349. package/dist/server/src/domain/action/index.d.ts.map +1 -1
  350. package/dist/server/src/domain/permission/index.d.ts +1 -1
  351. package/dist/server/src/domain/permission/index.d.ts.map +1 -1
  352. package/dist/server/src/domain/user.d.ts +1 -1
  353. package/dist/server/src/middlewares/index.d.ts +1 -1
  354. package/dist/server/src/middlewares/rateLimit.d.ts +2 -2
  355. package/dist/server/src/middlewares/rateLimit.d.ts.map +1 -1
  356. package/dist/server/src/register.d.ts +2 -2
  357. package/dist/server/src/register.d.ts.map +1 -1
  358. package/dist/server/src/routes/serve-admin-panel.d.ts +2 -2
  359. package/dist/server/src/routes/serve-admin-panel.d.ts.map +1 -1
  360. package/dist/server/src/services/content-type.d.ts +5 -5
  361. package/dist/server/src/services/content-type.d.ts.map +1 -1
  362. package/dist/server/src/services/index.d.ts +9 -9
  363. package/dist/server/src/services/metrics.d.ts +3 -3
  364. package/dist/server/src/services/metrics.d.ts.map +1 -1
  365. package/dist/server/src/services/passport/local-strategy.d.ts +2 -2
  366. package/dist/server/src/services/passport/local-strategy.d.ts.map +1 -1
  367. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
  368. package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
  369. package/dist/server/src/services/permission/queries.d.ts +5 -6
  370. package/dist/server/src/services/permission/queries.d.ts.map +1 -1
  371. package/dist/server/src/services/permission/sections-builder/handlers.d.ts.map +1 -1
  372. package/dist/server/src/services/permission/sections-builder/utils.d.ts +2 -1
  373. package/dist/server/src/services/permission/sections-builder/utils.d.ts.map +1 -1
  374. package/dist/server/src/services/permission.d.ts +6 -2
  375. package/dist/server/src/services/permission.d.ts.map +1 -1
  376. package/dist/server/src/services/role.d.ts +6 -6
  377. package/dist/server/src/services/role.d.ts.map +1 -1
  378. package/dist/server/src/services/user.d.ts +5 -5
  379. package/dist/server/src/services/user.d.ts.map +1 -1
  380. package/dist/server/src/validation/api-tokens.d.ts +27 -4
  381. package/dist/server/src/validation/api-tokens.d.ts.map +1 -1
  382. package/dist/server/src/validation/authentication/register.d.ts +8 -2
  383. package/dist/server/src/validation/authentication/register.d.ts.map +1 -1
  384. package/dist/server/src/validation/permission.d.ts +53 -4
  385. package/dist/server/src/validation/permission.d.ts.map +1 -1
  386. package/dist/server/src/validation/policies/hasPermissions.d.ts +7 -2
  387. package/dist/server/src/validation/policies/hasPermissions.d.ts.map +1 -1
  388. package/dist/server/src/validation/role.d.ts +23 -6
  389. package/dist/server/src/validation/role.d.ts.map +1 -1
  390. package/dist/server/src/validation/transfer/token.d.ts +23 -4
  391. package/dist/server/src/validation/transfer/token.d.ts.map +1 -1
  392. package/dist/server/src/validation/user.d.ts +56 -8
  393. package/dist/server/src/validation/user.d.ts.map +1 -1
  394. package/dist/shared/contracts/api-token.d.ts +5 -5
  395. package/dist/shared/contracts/api-token.d.ts.map +1 -1
  396. package/dist/shared/contracts/content-api.d.ts +2 -2
  397. package/dist/shared/contracts/content-api.d.ts.map +1 -1
  398. package/dist/shared/contracts/review-workflows.d.ts +2 -2
  399. package/dist/shared/contracts/review-workflows.d.ts.map +1 -1
  400. package/dist/shared/contracts/roles.d.ts +3 -3
  401. package/dist/shared/contracts/roles.d.ts.map +1 -1
  402. package/dist/shared/contracts/shared.d.ts +4 -4
  403. package/dist/shared/contracts/shared.d.ts.map +1 -1
  404. package/dist/shared/contracts/user.d.ts +6 -6
  405. package/dist/shared/contracts/user.d.ts.map +1 -1
  406. package/dist/shared/contracts/webhooks.d.ts +8 -8
  407. package/dist/shared/contracts/webhooks.d.ts.map +1 -1
  408. package/package.json +12 -12
  409. package/dist/admin/CreatePage-5GygA62E.mjs.map +0 -1
  410. package/dist/admin/CreatePage-yBddklgC.js.map +0 -1
  411. package/dist/admin/EditPage-WEpVsF5C.js.map +0 -1
  412. package/dist/admin/EditPage-foeIMKkr.mjs.map +0 -1
  413. package/dist/admin/FieldTypeIcon--WKPFDG2.js.map +0 -1
  414. package/dist/admin/FieldTypeIcon-AibcTcXN.mjs.map +0 -1
  415. package/dist/admin/Filters-Jm3DRgjx.mjs.map +0 -1
  416. package/dist/admin/Filters-l2eZFcAk.js.map +0 -1
  417. package/dist/admin/Form-V8XluZgD.js.map +0 -1
  418. package/dist/admin/Form-f20Ab8pl.mjs.map +0 -1
  419. package/dist/admin/InputRenderer-89lhMw5B.js.map +0 -1
  420. package/dist/admin/InputRenderer-ddUokGFQ.mjs.map +0 -1
  421. package/dist/admin/ListPage-0jv2yLPQ.mjs.map +0 -1
  422. package/dist/admin/ListPage-Z663tCxD.mjs.map +0 -1
  423. package/dist/admin/ListPage-gP4TzJZw.js.map +0 -1
  424. package/dist/admin/ListPage-v6SUIF_T.js.map +0 -1
  425. package/dist/admin/ListView-4givZ4Eb.mjs.map +0 -1
  426. package/dist/admin/ListView-A1dYCFAI.mjs.map +0 -1
  427. package/dist/admin/ListView-IqhnTHjC.js.map +0 -1
  428. package/dist/admin/ListView-NPtyW54W.js.map +0 -1
  429. package/dist/admin/ListViewPage-67EL6F80.js.map +0 -1
  430. package/dist/admin/ListViewPage-rkQXnquk.mjs.map +0 -1
  431. package/dist/admin/Table-9qwpBhgp.js.map +0 -1
  432. package/dist/admin/Table-hIWrkIyR.mjs.map +0 -1
  433. package/dist/admin/TokenTypeSelect-I0IiW8L9.mjs.map +0 -1
  434. package/dist/admin/TokenTypeSelect-O5IkOZVo.js.map +0 -1
  435. package/dist/admin/index-NzLAHRwx.mjs.map +0 -1
  436. package/dist/admin/index-dBY0pLkw.js.map +0 -1
  437. package/dist/admin/reducers-TOuLOGw_.mjs.map +0 -1
  438. package/dist/admin/reducers-uDxSALD_.js.map +0 -1
  439. package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/Buttons.d.ts +0 -12
  440. package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/SelectedEntriesModal.d.ts +0 -29
  441. package/dist/admin/useDocumentLayout-5UQF9Yls.mjs.map +0 -1
  442. package/dist/admin/useDocumentLayout-wBQQmFJL.js.map +0 -1
  443. package/dist/admin/validateWorkflow-cwVWZu1s.mjs.map +0 -1
  444. package/dist/admin/validateWorkflow-lzkdakmi.js.map +0 -1
@@ -11,12 +11,12 @@ const reactHelmet = require('react-helmet');
11
11
  const reactIntl = require('react-intl');
12
12
  const reactRouterDom = require('react-router-dom');
13
13
  const yup = require('yup');
14
- const layout = require('./reducers-uDxSALD_.js');
15
- const useDocumentLayout = require('./useDocumentLayout-wBQQmFJL.js');
16
- const index = require('./index-dBY0pLkw.js');
17
- const selectors = require('./selectors-ka781RNf.js');
18
- const SelectRoles = require('./SelectRoles-3rrUCBYq.js');
19
- const validation = require('./validation-aKPvEh9F.js');
14
+ const layout = require('./reducers-wZUQqmNX.js');
15
+ const useDocumentLayout = require('./useDocumentLayout-V_N5dUwQ.js');
16
+ const index = require('./index-mQQPK-ix.js');
17
+ const selectors = require('./selectors-PTHjHMQi.js');
18
+ const SelectRoles = require('./SelectRoles-5vr-vXOm.js');
19
+ const validation = require('./validation-lIVymZ0n.js');
20
20
 
21
21
  const _interopDefault = e => e && e.__esModule ? e : { default: e };
22
22
 
@@ -62,7 +62,7 @@ const EditPage = () => {
62
62
  const { toggleNotification } = layout.useNotification();
63
63
  const MagicLink = index.useEnterprise(
64
64
  SelectRoles.MagicLinkCE,
65
- async () => (await Promise.resolve().then(() => require('./MagicLinkEE-uUVMUi92.js'))).MagicLinkEE
65
+ async () => (await Promise.resolve().then(() => require('./MagicLinkEE-TlpYCgSF.js'))).MagicLinkEE
66
66
  );
67
67
  const {
68
68
  _unstableFormatAPIError: formatAPIError,
@@ -351,4 +351,4 @@ const ProtectedEditPage = () => {
351
351
 
352
352
  exports.EditPage = EditPage;
353
353
  exports.ProtectedEditPage = ProtectedEditPage;
354
- //# sourceMappingURL=EditPage-Id--0zN8.js.map
354
+ //# sourceMappingURL=EditPage-um8Yysr-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditPage-Id--0zN8.js","sources":["../../admin/src/pages/Settings/pages/Users/EditPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Typography,\n} from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport pick from 'lodash/pick';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useMatch, useNavigate } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Update } from '../../../../../../shared/contracts/user';\nimport { Form, FormHelpers } from '../../../../components/Form';\nimport { InputRenderer } from '../../../../components/FormInputs/Renderer';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\nimport { useAdminUsers, useUpdateUserMutation } from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { getDisplayName } from '../../../../utils/users';\n\nimport { MagicLinkCE } from './components/MagicLinkCE';\nimport { SelectRoles } from './components/SelectRoles';\nimport { COMMON_USER_SCHEMA } from './utils/validation';\n\nconst EDIT_VALIDATION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n isActive: yup.bool(),\n roles: yup\n .array()\n .min(1, {\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n});\n\nconst fieldsToPick = ['email', 'firstname', 'lastname', 'username', 'isActive', 'roles'] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * EditPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditPage = () => {\n const { formatMessage } = useIntl();\n const match = useMatch('/settings/users/:id');\n const id = match?.params?.id ?? '';\n const navigate = useNavigate();\n const { toggleNotification } = useNotification();\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 const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const permissions = useTypedSelector(selectAdminPermissions);\n\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate },\n } = useRBAC({\n read: permissions.settings?.users.read ?? [],\n update: permissions.settings?.users.update ?? [],\n });\n\n const [updateUser] = useUpdateUserMutation();\n\n const {\n data,\n error,\n isLoading: isLoadingAdminUsers,\n } = useAdminUsers(\n { id },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [user] = data?.users ?? [];\n\n React.useEffect(() => {\n if (error) {\n // Redirect the use to the homepage if is not allowed to read\n if (error.name === 'UnauthorizedError') {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: 'notification.permission.not-allowed-read',\n defaultMessage: 'You are not allowed to see this document',\n }),\n });\n\n navigate('/');\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }\n }, [error, formatAPIError, formatMessage, navigate, toggleNotification]);\n\n const isLoading = isLoadingAdminUsers || !MagicLink || isLoadingRBAC;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n type InitialData = Pick<Update.Request['body'], (typeof fieldsToPick)[number]> & {\n confirmPassword: string;\n password: string;\n };\n\n const initialData = {\n ...pick(user, fieldsToPick),\n roles: user.roles.map(({ id }) => id),\n password: '',\n confirmPassword: '',\n } satisfies InitialData;\n\n const handleSubmit = async (body: InitialData, actions: FormHelpers<InitialData>) => {\n const { confirmPassword: _confirmPassword, ...bodyRest } = body;\n\n const res = await updateUser({\n id,\n ...bodyRest,\n });\n\n if ('error' in res && isBaseQueryError(res.error)) {\n if (res.error.name === 'ValidationError') {\n actions.setErrors(formatValidationErrors(res.error));\n }\n\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n } else {\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n actions.setValues({\n ...pick(body, fieldsToPick),\n password: '',\n confirmPassword: '',\n });\n }\n };\n\n return (\n <Page.Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Users',\n }\n )}\n />\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={initialData}\n validationSchema={EDIT_VALIDATION_SCHEMA}\n >\n {({ isSubmitting, modified }) => {\n return (\n <>\n <HeaderLayout\n primaryAction={\n <Button\n disabled={isSubmitting || !canUpdate || !modified}\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n size=\"L\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n title={formatMessage(\n {\n id: 'app.containers.Users.EditPage.header.label',\n defaultMessage: 'Edit {name}',\n },\n {\n name: getDisplayName(initialData, formatMessage),\n }\n )}\n navigationAction={<BackButton />}\n />\n <ContentLayout>\n {user?.registrationToken && (\n <Box paddingBottom={6}>\n <MagicLink registrationToken={user.registrationToken} />\n </Box>\n )}\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid gap={5}>\n {LAYOUT.map((row) =>\n row.map(({ size, label, ...field }) => {\n return (\n <GridItem key={field.name} col={size}>\n <InputRenderer\n {...field}\n disabled={!canUpdate}\n label={formatMessage(label)}\n placeholder={\n 'placeholder' in field\n ? formatMessage(field.placeholder)\n : undefined\n }\n />\n </GridItem>\n );\n })\n )}\n </Grid>\n </Flex>\n </Box>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem col={6} xs={12}>\n <SelectRoles disabled={!canUpdate} />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n </Flex>\n </ContentLayout>\n </>\n );\n }}\n </Form>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EditPage LAYOUT\n * -----------------------------------------------------------------------------------------------*/\n\nconst LAYOUT = [\n [\n {\n label: {\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: 'string' as const,\n size: 6,\n required: true,\n },\n {\n label: {\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: 'string' as const,\n size: 6,\n },\n ],\n [\n {\n label: {\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' as const,\n size: 6,\n required: true,\n },\n {\n label: {\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n },\n name: 'username',\n placeholder: {\n id: 'Auth.form.username.placeholder',\n defaultMessage: 'e.g. Kai_Doe',\n },\n type: 'string' as const,\n size: 6,\n },\n ],\n [\n {\n autoComplete: 'new-password',\n label: {\n id: 'global.password',\n defaultMessage: 'Password',\n },\n name: 'password',\n type: 'password' as const,\n size: 6,\n },\n {\n autoComplete: 'new-password',\n label: {\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Password confirmation',\n },\n name: 'confirmPassword',\n type: 'password' as const,\n size: 6,\n },\n ],\n [\n {\n label: {\n id: 'Auth.form.active.label',\n defaultMessage: 'Active',\n },\n name: 'isActive',\n type: 'boolean' as const,\n size: 6,\n },\n ],\n];\n\nconst ProtectedEditPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.users.read);\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { EditPage, ProtectedEditPage };\n"],"names":["yup","COMMON_USER_SCHEMA","translatedErrors","useIntl","useMatch","useNavigate","useNotification","useEnterprise","MagicLinkCE","useAPIErrorHandler","useTypedSelector","selectAdminPermissions","useRBAC","useUpdateUserMutation","useAdminUsers","React","jsx","Page","pick","id","isBaseQueryError","jsxs","Helmet","Form","Fragment","HeaderLayout","Button","Check","getDisplayName","BackButton","ContentLayout","Box","Flex","Typography","Grid","GridItem","InputRenderer","SelectRoles"],"mappings":"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"}
1
+ {"version":3,"file":"EditPage-um8Yysr-.js","sources":["../../admin/src/pages/Settings/pages/Users/EditPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Typography,\n} from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport pick from 'lodash/pick';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useMatch, useNavigate } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Update } from '../../../../../../shared/contracts/user';\nimport { Form, FormHelpers } from '../../../../components/Form';\nimport { InputRenderer } from '../../../../components/FormInputs/Renderer';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\nimport { useAdminUsers, useUpdateUserMutation } from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { getDisplayName } from '../../../../utils/users';\n\nimport { MagicLinkCE } from './components/MagicLinkCE';\nimport { SelectRoles } from './components/SelectRoles';\nimport { COMMON_USER_SCHEMA } from './utils/validation';\n\nconst EDIT_VALIDATION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n isActive: yup.bool(),\n roles: yup\n .array()\n .min(1, {\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n});\n\nconst fieldsToPick = ['email', 'firstname', 'lastname', 'username', 'isActive', 'roles'] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * EditPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditPage = () => {\n const { formatMessage } = useIntl();\n const match = useMatch('/settings/users/:id');\n const id = match?.params?.id ?? '';\n const navigate = useNavigate();\n const { toggleNotification } = useNotification();\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 const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const permissions = useTypedSelector(selectAdminPermissions);\n\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate },\n } = useRBAC({\n read: permissions.settings?.users.read ?? [],\n update: permissions.settings?.users.update ?? [],\n });\n\n const [updateUser] = useUpdateUserMutation();\n\n const {\n data,\n error,\n isLoading: isLoadingAdminUsers,\n } = useAdminUsers(\n { id },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [user] = data?.users ?? [];\n\n React.useEffect(() => {\n if (error) {\n // Redirect the use to the homepage if is not allowed to read\n if (error.name === 'UnauthorizedError') {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: 'notification.permission.not-allowed-read',\n defaultMessage: 'You are not allowed to see this document',\n }),\n });\n\n navigate('/');\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }\n }, [error, formatAPIError, formatMessage, navigate, toggleNotification]);\n\n const isLoading = isLoadingAdminUsers || !MagicLink || isLoadingRBAC;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n type InitialData = Pick<Update.Request['body'], (typeof fieldsToPick)[number]> & {\n confirmPassword: string;\n password: string;\n };\n\n const initialData = {\n ...pick(user, fieldsToPick),\n roles: user.roles.map(({ id }) => id),\n password: '',\n confirmPassword: '',\n } satisfies InitialData;\n\n const handleSubmit = async (body: InitialData, actions: FormHelpers<InitialData>) => {\n const { confirmPassword: _confirmPassword, ...bodyRest } = body;\n\n const res = await updateUser({\n id,\n ...bodyRest,\n });\n\n if ('error' in res && isBaseQueryError(res.error)) {\n if (res.error.name === 'ValidationError') {\n actions.setErrors(formatValidationErrors(res.error));\n }\n\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n } else {\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n actions.setValues({\n ...pick(body, fieldsToPick),\n password: '',\n confirmPassword: '',\n });\n }\n };\n\n return (\n <Page.Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Users',\n }\n )}\n />\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={initialData}\n validationSchema={EDIT_VALIDATION_SCHEMA}\n >\n {({ isSubmitting, modified }) => {\n return (\n <>\n <HeaderLayout\n primaryAction={\n <Button\n disabled={isSubmitting || !canUpdate || !modified}\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n size=\"L\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n title={formatMessage(\n {\n id: 'app.containers.Users.EditPage.header.label',\n defaultMessage: 'Edit {name}',\n },\n {\n name: getDisplayName(initialData, formatMessage),\n }\n )}\n navigationAction={<BackButton />}\n />\n <ContentLayout>\n {user?.registrationToken && (\n <Box paddingBottom={6}>\n <MagicLink registrationToken={user.registrationToken} />\n </Box>\n )}\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid gap={5}>\n {LAYOUT.map((row) =>\n row.map(({ size, label, ...field }) => {\n return (\n <GridItem key={field.name} col={size}>\n <InputRenderer\n {...field}\n disabled={!canUpdate}\n label={formatMessage(label)}\n placeholder={\n 'placeholder' in field\n ? formatMessage(field.placeholder)\n : undefined\n }\n />\n </GridItem>\n );\n })\n )}\n </Grid>\n </Flex>\n </Box>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem col={6} xs={12}>\n <SelectRoles disabled={!canUpdate} />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n </Flex>\n </ContentLayout>\n </>\n );\n }}\n </Form>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EditPage LAYOUT\n * -----------------------------------------------------------------------------------------------*/\n\nconst LAYOUT = [\n [\n {\n label: {\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: 'string' as const,\n size: 6,\n required: true,\n },\n {\n label: {\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: 'string' as const,\n size: 6,\n },\n ],\n [\n {\n label: {\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' as const,\n size: 6,\n required: true,\n },\n {\n label: {\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n },\n name: 'username',\n placeholder: {\n id: 'Auth.form.username.placeholder',\n defaultMessage: 'e.g. Kai_Doe',\n },\n type: 'string' as const,\n size: 6,\n },\n ],\n [\n {\n autoComplete: 'new-password',\n label: {\n id: 'global.password',\n defaultMessage: 'Password',\n },\n name: 'password',\n type: 'password' as const,\n size: 6,\n },\n {\n autoComplete: 'new-password',\n label: {\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Password confirmation',\n },\n name: 'confirmPassword',\n type: 'password' as const,\n size: 6,\n },\n ],\n [\n {\n label: {\n id: 'Auth.form.active.label',\n defaultMessage: 'Active',\n },\n name: 'isActive',\n type: 'boolean' as const,\n size: 6,\n },\n ],\n];\n\nconst ProtectedEditPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.users.read);\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { EditPage, ProtectedEditPage };\n"],"names":["yup","COMMON_USER_SCHEMA","translatedErrors","useIntl","useMatch","useNavigate","useNotification","useEnterprise","MagicLinkCE","useAPIErrorHandler","useTypedSelector","selectAdminPermissions","useRBAC","useUpdateUserMutation","useAdminUsers","React","jsx","Page","pick","id","isBaseQueryError","jsxs","Helmet","Form","Fragment","HeaderLayout","Button","Check","getDisplayName","BackButton","ContentLayout","Box","Flex","Typography","Grid","GridItem","InputRenderer","SelectRoles"],"mappings":"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"}
@@ -6,10 +6,10 @@ import { Helmet } from 'react-helmet';
6
6
  import { useIntl } from 'react-intl';
7
7
  import { useNavigate, useLocation, useMatch } from 'react-router-dom';
8
8
  import * as yup from 'yup';
9
- import { _ as errorsTrads, h as useTypedSelector, P as Page, j as useNotification, o as useTracking, a3 as useGuidedTour, k as useRBAC, i as useAPIErrorHandler, H as isBaseQueryError } from './reducers-TOuLOGw_.mjs';
10
- import { u as useGetTransferTokenQuery, a as useCreateTransferTokenMutation, b as useUpdateTransferTokenMutation } from './transferTokens-QOZjk416.mjs';
9
+ import { _ as errorsTrads, h as useTypedSelector, P as Page, j as useNotification, o as useTracking, a3 as useGuidedTour, k as useRBAC, i as useAPIErrorHandler, H as isBaseQueryError } from './reducers-IQWvK_9L.mjs';
10
+ import { u as useGetTransferTokenQuery, a as useCreateTransferTokenMutation, b as useUpdateTransferTokenMutation } from './transferTokens-PlBVZdw3.mjs';
11
11
  import { T as TRANSFER_TOKEN_TYPE } from './constants-EoEtSd4i.mjs';
12
- import { F as FormHead, c as TokenBox, T as TokenName, a as TokenDescription, L as LifeSpanInput, b as TokenTypeSelect } from './TokenTypeSelect-I0IiW8L9.mjs';
12
+ import { F as FormHead, c as TokenBox, T as TokenName, a as TokenDescription, L as LifeSpanInput, b as TokenTypeSelect } from './TokenTypeSelect-5o9mvFd7.mjs';
13
13
 
14
14
  const schema = yup.object().shape({
15
15
  name: yup.string().max(100).required(errorsTrads.required.id),
@@ -333,4 +333,4 @@ const FormTransferTokenContainer = ({
333
333
  };
334
334
 
335
335
  export { EditView, ProtectedEditView };
336
- //# sourceMappingURL=EditView-GXGcvgNt.mjs.map
336
+ //# sourceMappingURL=EditView-79rujo0b.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditView-GXGcvgNt.mjs","sources":["../../admin/src/pages/Settings/pages/TransferTokens/EditView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, ContentLayout, Flex, Grid, GridItem, Typography } from '@strapi/design-system';\nimport { Formik, Form, FormikErrors, FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { useGuidedTour } from '../../../../components/GuidedTour/Provider';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport {\n useCreateTransferTokenMutation,\n useGetTransferTokenQuery,\n useUpdateTransferTokenMutation,\n} from '../../../../services/transferTokens';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { FormHead } from '../../components/Tokens/FormHead';\nimport { LifeSpanInput } from '../../components/Tokens/LifeSpanInput';\nimport { TokenBox } from '../../components/Tokens/TokenBox';\nimport { TokenDescription } from '../../components/Tokens/TokenDescription';\nimport { TokenName } from '../../components/Tokens/TokenName';\nimport { TokenTypeSelect } from '../../components/Tokens/TokenTypeSelect';\n\nimport type {\n TransferToken,\n SanitizedTransferToken,\n} from '../../../../../../shared/contracts/transfer';\n\nconst schema = yup.object().shape({\n name: yup.string().max(100).required(translatedErrors.required.id),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required.id),\n permissions: yup.string().required(translatedErrors.required.id),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const { state: locationState } = useLocation();\n const [transferToken, setTransferToken] = React.useState<\n TransferToken | SanitizedTransferToken | null\n >(\n locationState && 'accessKey' in locationState.transferToken\n ? {\n ...locationState.transferToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const setCurrentStep = useGuidedTour('EditView', (state) => state.setCurrentStep);\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions);\n const match = useMatch('/settings/transfer-tokens/:id');\n\n const id = match?.params?.id;\n const isCreating = id === 'create';\n\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n React.useEffect(() => {\n trackUsage(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }, [isCreating, trackUsage]);\n\n const { data, error } = useGetTransferTokenQuery(id!, {\n skip: isCreating || transferToken !== null || !id,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (data) {\n setTransferToken(data);\n }\n }, [data]);\n\n const [createToken] = useCreateTransferTokenMutation();\n const [updateToken] = useUpdateTransferTokenMutation();\n\n const handleSubmit = async (body: FormValues, formik: FormikHelpers<FormValues>) => {\n trackUsage(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n const permissions = body.permissions.split('-');\n\n const isPermissionsTransferPermission = (\n permission: string[]\n ): permission is Array<'push' | 'pull'> => {\n if (permission.length === 1) {\n return permission[0] === 'push' || permission[0] === 'pull';\n }\n\n return permission[0] === 'push' && permission[1] === 'pull';\n };\n\n // this type-guard is necessary to satisfy the type for `permissions` in the request body,\n // because String.split returns stringp[]\n if (isPermissionsTransferPermission(permissions)) {\n try {\n if (isCreating) {\n const res = await createToken({\n ...body,\n // lifespan must be \"null\" for unlimited (0 would mean instantly expired and isn't accepted)\n lifespan:\n body?.lifespan && body.lifespan !== '0'\n ? parseInt(body.lifespan.toString(), 10)\n : null,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokencreated',\n defaultMessage: 'Transfer Token successfully created',\n }),\n });\n\n trackUsage('didCreateToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n navigate(`../transfer-tokens/${res.data.id.toString()}`, {\n replace: true,\n state: { transferToken: res.data },\n });\n setCurrentStep('transferTokens.success');\n } else {\n const res = await updateToken({\n id: id!,\n name: body.name,\n description: body.description,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokenedited',\n defaultMessage: 'Transfer Token successfully edited',\n }),\n });\n\n trackUsage('didEditToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n }\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n const isLoading = !isCreating && !transferToken;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Transfer Tokens',\n }\n )}\n />\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={\n {\n name: transferToken?.name || '',\n description: transferToken?.description || '',\n lifespan: transferToken?.lifespan || null,\n /**\n * We need to cast the permissions to satisfy the type for `permissions`\n * in the request body incase we don't have a transferToken and instead\n * use an empty string.\n */\n permissions: (transferToken?.permissions.join('-') ?? '') as FormValues['permissions'],\n } satisfies FormValues\n }\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values }) => {\n return (\n <Form>\n <FormHead\n title={{\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'TokenCreate Transfer Token',\n }}\n token={transferToken}\n setToken={setTransferToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/transfer/tokens/\"\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {transferToken &&\n Boolean(transferToken?.name) &&\n 'accessKey' in transferToken && (\n <TokenBox token={transferToken.accessKey} tokenType={TRANSFER_TOKEN_TYPE} />\n )}\n <FormTransferTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n transferToken={transferToken}\n />\n </Flex>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FormTransferTokenContainer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormValues extends Pick<TransferToken, 'description' | 'name' | 'lifespan'> {\n permissions: Extract<TransferToken['permissions'][number], string>;\n}\n\ninterface FormTransferTokenContainerProps {\n errors: FormikErrors<FormValues>;\n onChange: ({ target: { name, value } }: { target: { name: string; value: string } }) => void;\n canEditInputs: boolean;\n values: FormValues;\n isCreating: boolean;\n transferToken: Partial<TransferToken> | null;\n}\n\nconst FormTransferTokenContainer = ({\n errors = {},\n onChange,\n canEditInputs,\n isCreating,\n values,\n transferToken = {},\n}: FormTransferTokenContainerProps) => {\n const { formatMessage } = useIntl();\n\n const typeOptions = [\n {\n value: 'push',\n label: {\n id: 'Settings.transferTokens.types.push',\n defaultMessage: 'Push',\n },\n },\n {\n value: 'pull',\n label: {\n id: 'Settings.transferTokens.types.pull',\n defaultMessage: 'Pull',\n },\n },\n {\n value: 'push-pull',\n label: {\n id: 'Settings.transferTokens.types.push-pull',\n defaultMessage: 'Full Access',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem key=\"name\" col={6} xs={12}>\n <TokenName\n error={errors['name']}\n value={values['name']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"description\" col={6} xs={12}>\n <TokenDescription\n error={errors['description']}\n value={values['description']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"lifespan\" col={6} xs={12}>\n <LifeSpanInput\n isCreating={isCreating}\n error={errors['lifespan']}\n value={values['lifespan']}\n onChange={onChange}\n token={transferToken}\n />\n </GridItem>\n <GridItem key=\"permissions\" col={6} xs={12}>\n <TokenTypeSelect\n name=\"permissions\"\n value={values['permissions']}\n error={errors['permissions']}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n // @ts-expect-error – DS Select passes number | string, will be fixed in V2\n onChange={(value: string) => {\n onChange({ target: { name: 'permissions', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { EditView, ProtectedEditView };\n"],"names":["translatedErrors","permissions"],"mappings":"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"}
1
+ {"version":3,"file":"EditView-79rujo0b.mjs","sources":["../../admin/src/pages/Settings/pages/TransferTokens/EditView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, ContentLayout, Flex, Grid, GridItem, Typography } from '@strapi/design-system';\nimport { Formik, Form, FormikErrors, FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { useGuidedTour } from '../../../../components/GuidedTour/Provider';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport {\n useCreateTransferTokenMutation,\n useGetTransferTokenQuery,\n useUpdateTransferTokenMutation,\n} from '../../../../services/transferTokens';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { FormHead } from '../../components/Tokens/FormHead';\nimport { LifeSpanInput } from '../../components/Tokens/LifeSpanInput';\nimport { TokenBox } from '../../components/Tokens/TokenBox';\nimport { TokenDescription } from '../../components/Tokens/TokenDescription';\nimport { TokenName } from '../../components/Tokens/TokenName';\nimport { TokenTypeSelect } from '../../components/Tokens/TokenTypeSelect';\n\nimport type {\n TransferToken,\n SanitizedTransferToken,\n} from '../../../../../../shared/contracts/transfer';\n\nconst schema = yup.object().shape({\n name: yup.string().max(100).required(translatedErrors.required.id),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required.id),\n permissions: yup.string().required(translatedErrors.required.id),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const { state: locationState } = useLocation();\n const [transferToken, setTransferToken] = React.useState<\n TransferToken | SanitizedTransferToken | null\n >(\n locationState && 'accessKey' in locationState.transferToken\n ? {\n ...locationState.transferToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const setCurrentStep = useGuidedTour('EditView', (state) => state.setCurrentStep);\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions);\n const match = useMatch('/settings/transfer-tokens/:id');\n\n const id = match?.params?.id;\n const isCreating = id === 'create';\n\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n React.useEffect(() => {\n trackUsage(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }, [isCreating, trackUsage]);\n\n const { data, error } = useGetTransferTokenQuery(id!, {\n skip: isCreating || transferToken !== null || !id,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (data) {\n setTransferToken(data);\n }\n }, [data]);\n\n const [createToken] = useCreateTransferTokenMutation();\n const [updateToken] = useUpdateTransferTokenMutation();\n\n const handleSubmit = async (body: FormValues, formik: FormikHelpers<FormValues>) => {\n trackUsage(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n const permissions = body.permissions.split('-');\n\n const isPermissionsTransferPermission = (\n permission: string[]\n ): permission is Array<'push' | 'pull'> => {\n if (permission.length === 1) {\n return permission[0] === 'push' || permission[0] === 'pull';\n }\n\n return permission[0] === 'push' && permission[1] === 'pull';\n };\n\n // this type-guard is necessary to satisfy the type for `permissions` in the request body,\n // because String.split returns stringp[]\n if (isPermissionsTransferPermission(permissions)) {\n try {\n if (isCreating) {\n const res = await createToken({\n ...body,\n // lifespan must be \"null\" for unlimited (0 would mean instantly expired and isn't accepted)\n lifespan:\n body?.lifespan && body.lifespan !== '0'\n ? parseInt(body.lifespan.toString(), 10)\n : null,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokencreated',\n defaultMessage: 'Transfer Token successfully created',\n }),\n });\n\n trackUsage('didCreateToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n navigate(`../transfer-tokens/${res.data.id.toString()}`, {\n replace: true,\n state: { transferToken: res.data },\n });\n setCurrentStep('transferTokens.success');\n } else {\n const res = await updateToken({\n id: id!,\n name: body.name,\n description: body.description,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokenedited',\n defaultMessage: 'Transfer Token successfully edited',\n }),\n });\n\n trackUsage('didEditToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n }\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n const isLoading = !isCreating && !transferToken;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Transfer Tokens',\n }\n )}\n />\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={\n {\n name: transferToken?.name || '',\n description: transferToken?.description || '',\n lifespan: transferToken?.lifespan || null,\n /**\n * We need to cast the permissions to satisfy the type for `permissions`\n * in the request body incase we don't have a transferToken and instead\n * use an empty string.\n */\n permissions: (transferToken?.permissions.join('-') ?? '') as FormValues['permissions'],\n } satisfies FormValues\n }\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values }) => {\n return (\n <Form>\n <FormHead\n title={{\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'TokenCreate Transfer Token',\n }}\n token={transferToken}\n setToken={setTransferToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/transfer/tokens/\"\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {transferToken &&\n Boolean(transferToken?.name) &&\n 'accessKey' in transferToken && (\n <TokenBox token={transferToken.accessKey} tokenType={TRANSFER_TOKEN_TYPE} />\n )}\n <FormTransferTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n transferToken={transferToken}\n />\n </Flex>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FormTransferTokenContainer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormValues extends Pick<TransferToken, 'description' | 'name' | 'lifespan'> {\n permissions: Extract<TransferToken['permissions'][number], string>;\n}\n\ninterface FormTransferTokenContainerProps {\n errors: FormikErrors<FormValues>;\n onChange: ({ target: { name, value } }: { target: { name: string; value: string } }) => void;\n canEditInputs: boolean;\n values: FormValues;\n isCreating: boolean;\n transferToken: Partial<TransferToken> | null;\n}\n\nconst FormTransferTokenContainer = ({\n errors = {},\n onChange,\n canEditInputs,\n isCreating,\n values,\n transferToken = {},\n}: FormTransferTokenContainerProps) => {\n const { formatMessage } = useIntl();\n\n const typeOptions = [\n {\n value: 'push',\n label: {\n id: 'Settings.transferTokens.types.push',\n defaultMessage: 'Push',\n },\n },\n {\n value: 'pull',\n label: {\n id: 'Settings.transferTokens.types.pull',\n defaultMessage: 'Pull',\n },\n },\n {\n value: 'push-pull',\n label: {\n id: 'Settings.transferTokens.types.push-pull',\n defaultMessage: 'Full Access',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem key=\"name\" col={6} xs={12}>\n <TokenName\n error={errors['name']}\n value={values['name']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"description\" col={6} xs={12}>\n <TokenDescription\n error={errors['description']}\n value={values['description']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"lifespan\" col={6} xs={12}>\n <LifeSpanInput\n isCreating={isCreating}\n error={errors['lifespan']}\n value={values['lifespan']}\n onChange={onChange}\n token={transferToken}\n />\n </GridItem>\n <GridItem key=\"permissions\" col={6} xs={12}>\n <TokenTypeSelect\n name=\"permissions\"\n value={values['permissions']}\n error={errors['permissions']}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n // @ts-expect-error – DS Select passes number | string, will be fixed in V2\n onChange={(value: string) => {\n onChange({ target: { name: 'permissions', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { EditView, ProtectedEditView };\n"],"names":["translatedErrors","permissions"],"mappings":"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"}
@@ -10,10 +10,10 @@ const reactHelmet = require('react-helmet');
10
10
  const reactIntl = require('react-intl');
11
11
  const reactRouterDom = require('react-router-dom');
12
12
  const yup = require('yup');
13
- const layout = require('./reducers-uDxSALD_.js');
14
- const transferTokens = require('./transferTokens-HxKzbhZt.js');
13
+ const layout = require('./reducers-wZUQqmNX.js');
14
+ const transferTokens = require('./transferTokens-P5z1yVh2.js');
15
15
  const constants = require('./constants-8PhEUZTR.js');
16
- const TokenTypeSelect = require('./TokenTypeSelect-O5IkOZVo.js');
16
+ const TokenTypeSelect = require('./TokenTypeSelect-ZBDI26vJ.js');
17
17
 
18
18
  function _interopNamespace(e) {
19
19
  if (e && e.__esModule) return e;
@@ -359,4 +359,4 @@ const FormTransferTokenContainer = ({
359
359
 
360
360
  exports.EditView = EditView;
361
361
  exports.ProtectedEditView = ProtectedEditView;
362
- //# sourceMappingURL=EditView-awLo_z9u.js.map
362
+ //# sourceMappingURL=EditView-zEf-a-YM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditView-awLo_z9u.js","sources":["../../admin/src/pages/Settings/pages/TransferTokens/EditView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, ContentLayout, Flex, Grid, GridItem, Typography } from '@strapi/design-system';\nimport { Formik, Form, FormikErrors, FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { useGuidedTour } from '../../../../components/GuidedTour/Provider';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport {\n useCreateTransferTokenMutation,\n useGetTransferTokenQuery,\n useUpdateTransferTokenMutation,\n} from '../../../../services/transferTokens';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { FormHead } from '../../components/Tokens/FormHead';\nimport { LifeSpanInput } from '../../components/Tokens/LifeSpanInput';\nimport { TokenBox } from '../../components/Tokens/TokenBox';\nimport { TokenDescription } from '../../components/Tokens/TokenDescription';\nimport { TokenName } from '../../components/Tokens/TokenName';\nimport { TokenTypeSelect } from '../../components/Tokens/TokenTypeSelect';\n\nimport type {\n TransferToken,\n SanitizedTransferToken,\n} from '../../../../../../shared/contracts/transfer';\n\nconst schema = yup.object().shape({\n name: yup.string().max(100).required(translatedErrors.required.id),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required.id),\n permissions: yup.string().required(translatedErrors.required.id),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const { state: locationState } = useLocation();\n const [transferToken, setTransferToken] = React.useState<\n TransferToken | SanitizedTransferToken | null\n >(\n locationState && 'accessKey' in locationState.transferToken\n ? {\n ...locationState.transferToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const setCurrentStep = useGuidedTour('EditView', (state) => state.setCurrentStep);\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions);\n const match = useMatch('/settings/transfer-tokens/:id');\n\n const id = match?.params?.id;\n const isCreating = id === 'create';\n\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n React.useEffect(() => {\n trackUsage(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }, [isCreating, trackUsage]);\n\n const { data, error } = useGetTransferTokenQuery(id!, {\n skip: isCreating || transferToken !== null || !id,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (data) {\n setTransferToken(data);\n }\n }, [data]);\n\n const [createToken] = useCreateTransferTokenMutation();\n const [updateToken] = useUpdateTransferTokenMutation();\n\n const handleSubmit = async (body: FormValues, formik: FormikHelpers<FormValues>) => {\n trackUsage(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n const permissions = body.permissions.split('-');\n\n const isPermissionsTransferPermission = (\n permission: string[]\n ): permission is Array<'push' | 'pull'> => {\n if (permission.length === 1) {\n return permission[0] === 'push' || permission[0] === 'pull';\n }\n\n return permission[0] === 'push' && permission[1] === 'pull';\n };\n\n // this type-guard is necessary to satisfy the type for `permissions` in the request body,\n // because String.split returns stringp[]\n if (isPermissionsTransferPermission(permissions)) {\n try {\n if (isCreating) {\n const res = await createToken({\n ...body,\n // lifespan must be \"null\" for unlimited (0 would mean instantly expired and isn't accepted)\n lifespan:\n body?.lifespan && body.lifespan !== '0'\n ? parseInt(body.lifespan.toString(), 10)\n : null,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokencreated',\n defaultMessage: 'Transfer Token successfully created',\n }),\n });\n\n trackUsage('didCreateToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n navigate(`../transfer-tokens/${res.data.id.toString()}`, {\n replace: true,\n state: { transferToken: res.data },\n });\n setCurrentStep('transferTokens.success');\n } else {\n const res = await updateToken({\n id: id!,\n name: body.name,\n description: body.description,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokenedited',\n defaultMessage: 'Transfer Token successfully edited',\n }),\n });\n\n trackUsage('didEditToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n }\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n const isLoading = !isCreating && !transferToken;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Transfer Tokens',\n }\n )}\n />\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={\n {\n name: transferToken?.name || '',\n description: transferToken?.description || '',\n lifespan: transferToken?.lifespan || null,\n /**\n * We need to cast the permissions to satisfy the type for `permissions`\n * in the request body incase we don't have a transferToken and instead\n * use an empty string.\n */\n permissions: (transferToken?.permissions.join('-') ?? '') as FormValues['permissions'],\n } satisfies FormValues\n }\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values }) => {\n return (\n <Form>\n <FormHead\n title={{\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'TokenCreate Transfer Token',\n }}\n token={transferToken}\n setToken={setTransferToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/transfer/tokens/\"\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {transferToken &&\n Boolean(transferToken?.name) &&\n 'accessKey' in transferToken && (\n <TokenBox token={transferToken.accessKey} tokenType={TRANSFER_TOKEN_TYPE} />\n )}\n <FormTransferTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n transferToken={transferToken}\n />\n </Flex>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FormTransferTokenContainer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormValues extends Pick<TransferToken, 'description' | 'name' | 'lifespan'> {\n permissions: Extract<TransferToken['permissions'][number], string>;\n}\n\ninterface FormTransferTokenContainerProps {\n errors: FormikErrors<FormValues>;\n onChange: ({ target: { name, value } }: { target: { name: string; value: string } }) => void;\n canEditInputs: boolean;\n values: FormValues;\n isCreating: boolean;\n transferToken: Partial<TransferToken> | null;\n}\n\nconst FormTransferTokenContainer = ({\n errors = {},\n onChange,\n canEditInputs,\n isCreating,\n values,\n transferToken = {},\n}: FormTransferTokenContainerProps) => {\n const { formatMessage } = useIntl();\n\n const typeOptions = [\n {\n value: 'push',\n label: {\n id: 'Settings.transferTokens.types.push',\n defaultMessage: 'Push',\n },\n },\n {\n value: 'pull',\n label: {\n id: 'Settings.transferTokens.types.pull',\n defaultMessage: 'Pull',\n },\n },\n {\n value: 'push-pull',\n label: {\n id: 'Settings.transferTokens.types.push-pull',\n defaultMessage: 'Full Access',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem key=\"name\" col={6} xs={12}>\n <TokenName\n error={errors['name']}\n value={values['name']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"description\" col={6} xs={12}>\n <TokenDescription\n error={errors['description']}\n value={values['description']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"lifespan\" col={6} xs={12}>\n <LifeSpanInput\n isCreating={isCreating}\n error={errors['lifespan']}\n value={values['lifespan']}\n onChange={onChange}\n token={transferToken}\n />\n </GridItem>\n <GridItem key=\"permissions\" col={6} xs={12}>\n <TokenTypeSelect\n name=\"permissions\"\n value={values['permissions']}\n error={errors['permissions']}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n // @ts-expect-error – DS Select passes number | string, will be fixed in V2\n onChange={(value: string) => {\n onChange({ target: { name: 'permissions', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { EditView, ProtectedEditView };\n"],"names":["yup","translatedErrors","useIntl","useNotification","useNavigate","useLocation","React","useTracking","useGuidedTour","useTypedSelector","useRBAC","useMatch","useAPIErrorHandler","TRANSFER_TOKEN_TYPE","useGetTransferTokenQuery","useCreateTransferTokenMutation","useUpdateTransferTokenMutation","permissions","isBaseQueryError","jsx","Page","jsxs","Helmet","Formik","Form","FormHead","ContentLayout","Flex","TokenBox","Box","Typography","Grid","GridItem","TokenName","TokenDescription","LifeSpanInput","TokenTypeSelect"],"mappings":"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"}
1
+ {"version":3,"file":"EditView-zEf-a-YM.js","sources":["../../admin/src/pages/Settings/pages/TransferTokens/EditView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, ContentLayout, Flex, Grid, GridItem, Typography } from '@strapi/design-system';\nimport { Formik, Form, FormikErrors, FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { useGuidedTour } from '../../../../components/GuidedTour/Provider';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport {\n useCreateTransferTokenMutation,\n useGetTransferTokenQuery,\n useUpdateTransferTokenMutation,\n} from '../../../../services/transferTokens';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { FormHead } from '../../components/Tokens/FormHead';\nimport { LifeSpanInput } from '../../components/Tokens/LifeSpanInput';\nimport { TokenBox } from '../../components/Tokens/TokenBox';\nimport { TokenDescription } from '../../components/Tokens/TokenDescription';\nimport { TokenName } from '../../components/Tokens/TokenName';\nimport { TokenTypeSelect } from '../../components/Tokens/TokenTypeSelect';\n\nimport type {\n TransferToken,\n SanitizedTransferToken,\n} from '../../../../../../shared/contracts/transfer';\n\nconst schema = yup.object().shape({\n name: yup.string().max(100).required(translatedErrors.required.id),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required.id),\n permissions: yup.string().required(translatedErrors.required.id),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const { state: locationState } = useLocation();\n const [transferToken, setTransferToken] = React.useState<\n TransferToken | SanitizedTransferToken | null\n >(\n locationState && 'accessKey' in locationState.transferToken\n ? {\n ...locationState.transferToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const setCurrentStep = useGuidedTour('EditView', (state) => state.setCurrentStep);\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions);\n const match = useMatch('/settings/transfer-tokens/:id');\n\n const id = match?.params?.id;\n const isCreating = id === 'create';\n\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n React.useEffect(() => {\n trackUsage(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }, [isCreating, trackUsage]);\n\n const { data, error } = useGetTransferTokenQuery(id!, {\n skip: isCreating || transferToken !== null || !id,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (data) {\n setTransferToken(data);\n }\n }, [data]);\n\n const [createToken] = useCreateTransferTokenMutation();\n const [updateToken] = useUpdateTransferTokenMutation();\n\n const handleSubmit = async (body: FormValues, formik: FormikHelpers<FormValues>) => {\n trackUsage(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n const permissions = body.permissions.split('-');\n\n const isPermissionsTransferPermission = (\n permission: string[]\n ): permission is Array<'push' | 'pull'> => {\n if (permission.length === 1) {\n return permission[0] === 'push' || permission[0] === 'pull';\n }\n\n return permission[0] === 'push' && permission[1] === 'pull';\n };\n\n // this type-guard is necessary to satisfy the type for `permissions` in the request body,\n // because String.split returns stringp[]\n if (isPermissionsTransferPermission(permissions)) {\n try {\n if (isCreating) {\n const res = await createToken({\n ...body,\n // lifespan must be \"null\" for unlimited (0 would mean instantly expired and isn't accepted)\n lifespan:\n body?.lifespan && body.lifespan !== '0'\n ? parseInt(body.lifespan.toString(), 10)\n : null,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokencreated',\n defaultMessage: 'Transfer Token successfully created',\n }),\n });\n\n trackUsage('didCreateToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n navigate(`../transfer-tokens/${res.data.id.toString()}`, {\n replace: true,\n state: { transferToken: res.data },\n });\n setCurrentStep('transferTokens.success');\n } else {\n const res = await updateToken({\n id: id!,\n name: body.name,\n description: body.description,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokenedited',\n defaultMessage: 'Transfer Token successfully edited',\n }),\n });\n\n trackUsage('didEditToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n }\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n const isLoading = !isCreating && !transferToken;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Transfer Tokens',\n }\n )}\n />\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={\n {\n name: transferToken?.name || '',\n description: transferToken?.description || '',\n lifespan: transferToken?.lifespan || null,\n /**\n * We need to cast the permissions to satisfy the type for `permissions`\n * in the request body incase we don't have a transferToken and instead\n * use an empty string.\n */\n permissions: (transferToken?.permissions.join('-') ?? '') as FormValues['permissions'],\n } satisfies FormValues\n }\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values }) => {\n return (\n <Form>\n <FormHead\n title={{\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'TokenCreate Transfer Token',\n }}\n token={transferToken}\n setToken={setTransferToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/transfer/tokens/\"\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {transferToken &&\n Boolean(transferToken?.name) &&\n 'accessKey' in transferToken && (\n <TokenBox token={transferToken.accessKey} tokenType={TRANSFER_TOKEN_TYPE} />\n )}\n <FormTransferTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n transferToken={transferToken}\n />\n </Flex>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FormTransferTokenContainer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormValues extends Pick<TransferToken, 'description' | 'name' | 'lifespan'> {\n permissions: Extract<TransferToken['permissions'][number], string>;\n}\n\ninterface FormTransferTokenContainerProps {\n errors: FormikErrors<FormValues>;\n onChange: ({ target: { name, value } }: { target: { name: string; value: string } }) => void;\n canEditInputs: boolean;\n values: FormValues;\n isCreating: boolean;\n transferToken: Partial<TransferToken> | null;\n}\n\nconst FormTransferTokenContainer = ({\n errors = {},\n onChange,\n canEditInputs,\n isCreating,\n values,\n transferToken = {},\n}: FormTransferTokenContainerProps) => {\n const { formatMessage } = useIntl();\n\n const typeOptions = [\n {\n value: 'push',\n label: {\n id: 'Settings.transferTokens.types.push',\n defaultMessage: 'Push',\n },\n },\n {\n value: 'pull',\n label: {\n id: 'Settings.transferTokens.types.pull',\n defaultMessage: 'Pull',\n },\n },\n {\n value: 'push-pull',\n label: {\n id: 'Settings.transferTokens.types.push-pull',\n defaultMessage: 'Full Access',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem key=\"name\" col={6} xs={12}>\n <TokenName\n error={errors['name']}\n value={values['name']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"description\" col={6} xs={12}>\n <TokenDescription\n error={errors['description']}\n value={values['description']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"lifespan\" col={6} xs={12}>\n <LifeSpanInput\n isCreating={isCreating}\n error={errors['lifespan']}\n value={values['lifespan']}\n onChange={onChange}\n token={transferToken}\n />\n </GridItem>\n <GridItem key=\"permissions\" col={6} xs={12}>\n <TokenTypeSelect\n name=\"permissions\"\n value={values['permissions']}\n error={errors['permissions']}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n // @ts-expect-error – DS Select passes number | string, will be fixed in V2\n onChange={(value: string) => {\n onChange({ target: { name: 'permissions', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { EditView, ProtectedEditView };\n"],"names":["yup","translatedErrors","useIntl","useNotification","useNavigate","useLocation","React","useTracking","useGuidedTour","useTypedSelector","useRBAC","useMatch","useAPIErrorHandler","TRANSFER_TOKEN_TYPE","useGetTransferTokenQuery","useCreateTransferTokenMutation","useUpdateTransferTokenMutation","permissions","isBaseQueryError","jsx","Page","jsxs","Helmet","Formik","Form","FormHead","ContentLayout","Flex","TokenBox","Box","Typography","Grid","GridItem","TokenName","TokenDescription","LifeSpanInput","TokenTypeSelect"],"mappings":"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"}
@@ -5,12 +5,12 @@ import { Helmet } from 'react-helmet';
5
5
  import { useIntl } from 'react-intl';
6
6
  import { useLocation, useParams } from 'react-router-dom';
7
7
  import styled from 'styled-components';
8
- import { n as useQueryParams, j as useNotification, g as useDoc, P as Page, a0 as Form, ax as createYupSchema, q as getTranslation, ae as Blocker, e as SINGLE_TYPES } from './reducers-TOuLOGw_.mjs';
8
+ import { n as useQueryParams, j as useNotification, g as useDoc, P as Page, a0 as Form, ax as createYupSchema, q as getTranslation, ae as Blocker, e as SINGLE_TYPES } from './reducers-IQWvK_9L.mjs';
9
9
  import { u as useOnce } from './useOnce-GJ2Ta2mZ.mjs';
10
- import { u as useDocumentRBAC, a as useDocumentLayout, D as DocumentRBAC } from './useDocumentLayout-5UQF9Yls.mjs';
11
- import { I as InputRenderer, u as useLazyComponents, c as createDefaultForm, t as transformDocument } from './InputRenderer-ddUokGFQ.mjs';
12
- import { u as useSyncRbac } from './useSyncRbac-Od0wrAnD.mjs';
13
- import { J as Header, K as Panels } from './index-NzLAHRwx.mjs';
10
+ import { u as useDocumentRBAC, a as useDocumentLayout, D as DocumentRBAC } from './useDocumentLayout-4trWL6Jz.mjs';
11
+ import { I as InputRenderer, u as useLazyComponents, c as createDefaultForm, t as transformDocument } from './InputRenderer-uXGu-VvL.mjs';
12
+ import { u as useSyncRbac } from './useSyncRbac-LNOzRXJ5.mjs';
13
+ import { J as Header, K as Panels } from './index-1NFAbkxM.mjs';
14
14
 
15
15
  const FormLayout = ({ layout }) => {
16
16
  return /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((panel, index) => {
@@ -195,4 +195,4 @@ const ProtectedEditViewPage = () => {
195
195
  };
196
196
 
197
197
  export { EditViewPage, ProtectedEditViewPage };
198
- //# sourceMappingURL=EditViewPage-1NY3YGcc.mjs.map
198
+ //# sourceMappingURL=EditViewPage-BJdNfzBZ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditViewPage-1NY3YGcc.mjs","sources":["../../admin/src/content-manager/pages/EditView/components/FormLayout.tsx","../../admin/src/content-manager/pages/EditView/EditViewPage.tsx"],"sourcesContent":["import { Box, Flex, Grid, GridItem } from '@strapi/design-system';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {}\n\nconst FormLayout = ({ layout }: FormLayoutProps) => {\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n return (\n <Grid key={field.name} gap={4}>\n <GridItem col={12} s={12} xs={12}>\n <InputRenderer {...field} />\n </GridItem>\n </Grid>\n );\n }\n\n return (\n <Box\n key={index}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingLeft={6}\n paddingRight={6}\n paddingTop={6}\n paddingBottom={6}\n borderColor=\"neutral150\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => (\n <Grid key={gridRowIndex} gap={4}>\n {row.map(({ size, ...field }) => {\n return (\n <GridItem col={size} key={field.name} s={12} xs={12}>\n <InputRenderer {...field} />\n </GridItem>\n );\n })}\n </Grid>\n ))}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n","import * as React from 'react';\n\nimport {\n Grid,\n GridItem,\n Main,\n SetSelectedTabIndexHandler,\n Tab,\n TabGroup,\n TabPanel,\n TabPanels,\n Tabs,\n} from '@strapi/design-system';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useParams } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { Blocker, Form, FormHelpers } from '../../../components/Form';\nimport { Page } from '../../../components/PageHelpers';\nimport { useNotification } from '../../../features/Notifications';\nimport { useOnce } from '../../../hooks/useOnce';\nimport { useQueryParams } from '../../../hooks/useQueryParams';\nimport { SINGLE_TYPES } from '../../constants/collections';\nimport { DocumentRBAC, useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { type UseDocument, useDoc } from '../../hooks/useDocument';\nimport { useDocumentLayout } from '../../hooks/useDocumentLayout';\nimport { useLazyComponents } from '../../hooks/useLazyComponents';\nimport { useSyncRbac } from '../../hooks/useSyncRbac';\nimport { getTranslation } from '../../utils/translations';\nimport { createYupSchema } from '../../utils/validation';\n\nimport { FormLayout } from './components/FormLayout';\nimport { Header } from './components/Header';\nimport { Panels } from './components/Panels';\nimport { transformDocument } from './utils/data';\nimport { createDefaultForm } from './utils/forms';\n\n/* -------------------------------------------------------------------------------------------------\n * EditViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditViewPage = () => {\n const location = useLocation();\n const [\n {\n query: { status },\n },\n setQuery,\n ] = useQueryParams<{ status: 'draft' | 'published' }>();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const tabApi = React.useRef<{\n _handlers: {\n setSelectedTabIndex: SetSelectedTabIndexHandler;\n };\n }>(null);\n\n const {\n document,\n meta,\n isLoading: isLoadingDocument,\n schema,\n components,\n collectionType,\n id,\n model,\n } = useDoc();\n\n const hasDraftAndPublished = schema?.options?.draftAndPublish ?? false;\n\n React.useEffect(() => {\n if (tabApi.current && hasDraftAndPublished) {\n tabApi.current._handlers.setSelectedTabIndex(!status || status === 'draft' ? 0 : 1);\n }\n }, [hasDraftAndPublished, status]);\n\n useOnce(() => {\n /**\n * We only ever want to fire the notification once otherwise\n * whenever the app re-renders it'll pop up regardless of\n * what we do because the state comes from react-router-dom\n */\n if (location?.state && 'error' in location.state) {\n toggleNotification({\n type: 'danger',\n message: location.state.error,\n timeout: 5000,\n });\n }\n });\n\n const isLoadingActionsRBAC = useDocumentRBAC('EditViewPage', (state) => state.isLoading);\n\n const isSingleType = collectionType === SINGLE_TYPES;\n\n /**\n * single-types don't current have an id, but because they're a singleton\n * we can simply use the update operation to continuously update the same\n * document with varying params.\n */\n const isCreatingDocument = !id && !isSingleType;\n\n const {\n isLoading: isLoadingLayout,\n edit: {\n layout,\n settings: { mainField },\n },\n } = useDocumentLayout(model);\n\n const { isLazyLoading } = useLazyComponents([]);\n\n const isLoading = isLoadingActionsRBAC || isLoadingDocument || isLoadingLayout || isLazyLoading;\n\n /**\n * Here we prepare the form for editing, we need to:\n * - remove prohibited fields from the document (passwords | ADD YOURS WHEN THERES A NEW ONE)\n * - swap out count objects on relations for empty arrays\n * - set __temp_key__ on array objects for drag & drop\n *\n * We also prepare the form for new documents, so we need to:\n * - set default values on fields\n */\n const initialValues = React.useMemo(() => {\n if ((!document && !isCreatingDocument && !isSingleType) || !schema) {\n return undefined;\n }\n\n /**\n * Check that we have an ID so we know the\n * document has been created in some way.\n */\n const form = document?.id ? document : createDefaultForm(schema, components);\n\n return transformDocument(schema, components)(form);\n }, [document, isCreatingDocument, isSingleType, schema, components]);\n\n if (isLoading && !document?.documentId) {\n return <Page.Loading />;\n }\n\n if (!initialValues) {\n return <Page.Error />;\n }\n\n const handleTabChange = (index: number, { resetForm }: Pick<FormHelpers, 'resetForm'>) => {\n if (index === 0) {\n setQuery({ status: 'draft' }, 'push', true);\n } else {\n setQuery({ status: 'published' }, 'push', true);\n // We reset the form to the published version to avoid errors like – https://strapi-inc.atlassian.net/browse/CONTENT-2284\n resetForm();\n }\n };\n\n /**\n * We look to see what the mainField is from the configuration,\n * if it's an id we don't use it because it's a uuid format and\n * not very user friendly. Instead in that case, we simply write \"Untitled\".\n */\n const documentTitle =\n mainField !== 'id' && document?.[mainField] ? document[mainField] : 'Untitled';\n\n return (\n <Main paddingLeft={10} paddingRight={10}>\n <Helmet title={`${documentTitle} | Strapi`} />\n <Form\n disabled={hasDraftAndPublished && status === 'published'}\n initialValues={initialValues}\n method={isCreatingDocument ? 'POST' : 'PUT'}\n validationSchema={createYupSchema(schema?.attributes, components)}\n >\n {({ resetForm }) => (\n <>\n <Header\n isCreating={isCreatingDocument}\n status={hasDraftAndPublished ? getDocumentStatus(document, meta) : undefined}\n title={documentTitle}\n />\n <TabGroup\n ref={tabApi}\n variant=\"simple\"\n label={formatMessage({\n id: getTranslation('containers.edit.tabs.label'),\n defaultMessage: 'Document status',\n })}\n initialSelectedTabIndex={hasDraftAndPublished && status === 'published' ? 1 : 0}\n onTabChange={(index) => {\n // TODO: remove this hack when the tabs in the DS are implemented well and we can actually use callbacks.\n handleTabChange(index, { resetForm });\n }}\n >\n {hasDraftAndPublished ? (\n <Tabs>\n <StatusTab>\n {formatMessage({\n id: getTranslation('containers.edit.tabs.draft'),\n defaultMessage: 'draft',\n })}\n </StatusTab>\n <StatusTab disabled={!meta || meta.availableStatus.length === 0}>\n {formatMessage({\n id: getTranslation('containers.edit.tabs.published'),\n defaultMessage: 'published',\n })}\n </StatusTab>\n </Tabs>\n ) : null}\n <Grid paddingTop={8} gap={4}>\n <GridItem col={9} s={12}>\n <TabPanels>\n <TabPanel>\n <FormLayout layout={layout} />\n </TabPanel>\n <TabPanel>\n <FormLayout layout={layout} />\n </TabPanel>\n </TabPanels>\n </GridItem>\n <GridItem col={3} s={12}>\n <Panels />\n </GridItem>\n </Grid>\n </TabGroup>\n <Blocker />\n </>\n )}\n </Form>\n </Main>\n );\n};\n\nconst StatusTab = styled(Tab)`\n text-transform: uppercase;\n`;\n\n/**\n * @internal\n * @description Returns the status of the document where it's latest state takes priority,\n * this typically will be \"published\" unless a user has edited their draft in which we should\n * display \"modified\".\n */\nconst getDocumentStatus = (\n document: ReturnType<UseDocument>['document'],\n meta: ReturnType<UseDocument>['meta']\n): 'draft' | 'published' | 'modified' => {\n const docStatus = document?.status;\n const statuses = meta?.availableStatus ?? [];\n\n /**\n * Creating an entry\n */\n if (!docStatus) {\n return 'draft';\n }\n\n /**\n * We're viewing a draft, but the document could have a published version\n */\n if (docStatus === 'draft' && statuses.find((doc) => doc.publishedAt !== null)) {\n return 'published';\n }\n\n return docStatus;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditViewPage = () => {\n const { slug } = useParams<{\n slug: string;\n }>();\n const [{ query }] = useQueryParams();\n const { permissions = [], isLoading, isError } = useSyncRbac(slug ?? '', query, 'editView');\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if ((!isLoading && isError) || !slug) {\n return <Page.Error />;\n }\n\n return (\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <EditViewPage />\n </DocumentRBAC>\n )}\n </Page.Protect>\n );\n};\n\nexport { EditViewPage, ProtectedEditViewPage };\n"],"names":["permissions"],"mappings":"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"}
1
+ {"version":3,"file":"EditViewPage-BJdNfzBZ.mjs","sources":["../../admin/src/content-manager/pages/EditView/components/FormLayout.tsx","../../admin/src/content-manager/pages/EditView/EditViewPage.tsx"],"sourcesContent":["import { Box, Flex, Grid, GridItem } from '@strapi/design-system';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {}\n\nconst FormLayout = ({ layout }: FormLayoutProps) => {\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n return (\n <Grid key={field.name} gap={4}>\n <GridItem col={12} s={12} xs={12}>\n <InputRenderer {...field} />\n </GridItem>\n </Grid>\n );\n }\n\n return (\n <Box\n key={index}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingLeft={6}\n paddingRight={6}\n paddingTop={6}\n paddingBottom={6}\n borderColor=\"neutral150\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => (\n <Grid key={gridRowIndex} gap={4}>\n {row.map(({ size, ...field }) => {\n return (\n <GridItem col={size} key={field.name} s={12} xs={12}>\n <InputRenderer {...field} />\n </GridItem>\n );\n })}\n </Grid>\n ))}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n","import * as React from 'react';\n\nimport {\n Grid,\n GridItem,\n Main,\n SetSelectedTabIndexHandler,\n Tab,\n TabGroup,\n TabPanel,\n TabPanels,\n Tabs,\n} from '@strapi/design-system';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useParams } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { Blocker, Form, FormHelpers } from '../../../components/Form';\nimport { Page } from '../../../components/PageHelpers';\nimport { useNotification } from '../../../features/Notifications';\nimport { useOnce } from '../../../hooks/useOnce';\nimport { useQueryParams } from '../../../hooks/useQueryParams';\nimport { SINGLE_TYPES } from '../../constants/collections';\nimport { DocumentRBAC, useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { type UseDocument, useDoc } from '../../hooks/useDocument';\nimport { useDocumentLayout } from '../../hooks/useDocumentLayout';\nimport { useLazyComponents } from '../../hooks/useLazyComponents';\nimport { useSyncRbac } from '../../hooks/useSyncRbac';\nimport { getTranslation } from '../../utils/translations';\nimport { createYupSchema } from '../../utils/validation';\n\nimport { FormLayout } from './components/FormLayout';\nimport { Header } from './components/Header';\nimport { Panels } from './components/Panels';\nimport { transformDocument } from './utils/data';\nimport { createDefaultForm } from './utils/forms';\n\n/* -------------------------------------------------------------------------------------------------\n * EditViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditViewPage = () => {\n const location = useLocation();\n const [\n {\n query: { status },\n },\n setQuery,\n ] = useQueryParams<{ status: 'draft' | 'published' }>();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const tabApi = React.useRef<{\n _handlers: {\n setSelectedTabIndex: SetSelectedTabIndexHandler;\n };\n }>(null);\n\n const {\n document,\n meta,\n isLoading: isLoadingDocument,\n schema,\n components,\n collectionType,\n id,\n model,\n } = useDoc();\n\n const hasDraftAndPublished = schema?.options?.draftAndPublish ?? false;\n\n React.useEffect(() => {\n if (tabApi.current && hasDraftAndPublished) {\n tabApi.current._handlers.setSelectedTabIndex(!status || status === 'draft' ? 0 : 1);\n }\n }, [hasDraftAndPublished, status]);\n\n useOnce(() => {\n /**\n * We only ever want to fire the notification once otherwise\n * whenever the app re-renders it'll pop up regardless of\n * what we do because the state comes from react-router-dom\n */\n if (location?.state && 'error' in location.state) {\n toggleNotification({\n type: 'danger',\n message: location.state.error,\n timeout: 5000,\n });\n }\n });\n\n const isLoadingActionsRBAC = useDocumentRBAC('EditViewPage', (state) => state.isLoading);\n\n const isSingleType = collectionType === SINGLE_TYPES;\n\n /**\n * single-types don't current have an id, but because they're a singleton\n * we can simply use the update operation to continuously update the same\n * document with varying params.\n */\n const isCreatingDocument = !id && !isSingleType;\n\n const {\n isLoading: isLoadingLayout,\n edit: {\n layout,\n settings: { mainField },\n },\n } = useDocumentLayout(model);\n\n const { isLazyLoading } = useLazyComponents([]);\n\n const isLoading = isLoadingActionsRBAC || isLoadingDocument || isLoadingLayout || isLazyLoading;\n\n /**\n * Here we prepare the form for editing, we need to:\n * - remove prohibited fields from the document (passwords | ADD YOURS WHEN THERES A NEW ONE)\n * - swap out count objects on relations for empty arrays\n * - set __temp_key__ on array objects for drag & drop\n *\n * We also prepare the form for new documents, so we need to:\n * - set default values on fields\n */\n const initialValues = React.useMemo(() => {\n if ((!document && !isCreatingDocument && !isSingleType) || !schema) {\n return undefined;\n }\n\n /**\n * Check that we have an ID so we know the\n * document has been created in some way.\n */\n const form = document?.id ? document : createDefaultForm(schema, components);\n\n return transformDocument(schema, components)(form);\n }, [document, isCreatingDocument, isSingleType, schema, components]);\n\n if (isLoading && !document?.documentId) {\n return <Page.Loading />;\n }\n\n if (!initialValues) {\n return <Page.Error />;\n }\n\n const handleTabChange = (index: number, { resetForm }: Pick<FormHelpers, 'resetForm'>) => {\n if (index === 0) {\n setQuery({ status: 'draft' }, 'push', true);\n } else {\n setQuery({ status: 'published' }, 'push', true);\n // We reset the form to the published version to avoid errors like – https://strapi-inc.atlassian.net/browse/CONTENT-2284\n resetForm();\n }\n };\n\n /**\n * We look to see what the mainField is from the configuration,\n * if it's an id we don't use it because it's a uuid format and\n * not very user friendly. Instead in that case, we simply write \"Untitled\".\n */\n const documentTitle =\n mainField !== 'id' && document?.[mainField] ? document[mainField] : 'Untitled';\n\n return (\n <Main paddingLeft={10} paddingRight={10}>\n <Helmet title={`${documentTitle} | Strapi`} />\n <Form\n disabled={hasDraftAndPublished && status === 'published'}\n initialValues={initialValues}\n method={isCreatingDocument ? 'POST' : 'PUT'}\n validationSchema={createYupSchema(schema?.attributes, components)}\n >\n {({ resetForm }) => (\n <>\n <Header\n isCreating={isCreatingDocument}\n status={hasDraftAndPublished ? getDocumentStatus(document, meta) : undefined}\n title={documentTitle}\n />\n <TabGroup\n ref={tabApi}\n variant=\"simple\"\n label={formatMessage({\n id: getTranslation('containers.edit.tabs.label'),\n defaultMessage: 'Document status',\n })}\n initialSelectedTabIndex={hasDraftAndPublished && status === 'published' ? 1 : 0}\n onTabChange={(index) => {\n // TODO: remove this hack when the tabs in the DS are implemented well and we can actually use callbacks.\n handleTabChange(index, { resetForm });\n }}\n >\n {hasDraftAndPublished ? (\n <Tabs>\n <StatusTab>\n {formatMessage({\n id: getTranslation('containers.edit.tabs.draft'),\n defaultMessage: 'draft',\n })}\n </StatusTab>\n <StatusTab disabled={!meta || meta.availableStatus.length === 0}>\n {formatMessage({\n id: getTranslation('containers.edit.tabs.published'),\n defaultMessage: 'published',\n })}\n </StatusTab>\n </Tabs>\n ) : null}\n <Grid paddingTop={8} gap={4}>\n <GridItem col={9} s={12}>\n <TabPanels>\n <TabPanel>\n <FormLayout layout={layout} />\n </TabPanel>\n <TabPanel>\n <FormLayout layout={layout} />\n </TabPanel>\n </TabPanels>\n </GridItem>\n <GridItem col={3} s={12}>\n <Panels />\n </GridItem>\n </Grid>\n </TabGroup>\n <Blocker />\n </>\n )}\n </Form>\n </Main>\n );\n};\n\nconst StatusTab = styled(Tab)`\n text-transform: uppercase;\n`;\n\n/**\n * @internal\n * @description Returns the status of the document where it's latest state takes priority,\n * this typically will be \"published\" unless a user has edited their draft in which we should\n * display \"modified\".\n */\nconst getDocumentStatus = (\n document: ReturnType<UseDocument>['document'],\n meta: ReturnType<UseDocument>['meta']\n): 'draft' | 'published' | 'modified' => {\n const docStatus = document?.status;\n const statuses = meta?.availableStatus ?? [];\n\n /**\n * Creating an entry\n */\n if (!docStatus) {\n return 'draft';\n }\n\n /**\n * We're viewing a draft, but the document could have a published version\n */\n if (docStatus === 'draft' && statuses.find((doc) => doc.publishedAt !== null)) {\n return 'published';\n }\n\n return docStatus;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditViewPage = () => {\n const { slug } = useParams<{\n slug: string;\n }>();\n const [{ query }] = useQueryParams();\n const { permissions = [], isLoading, isError } = useSyncRbac(slug ?? '', query, 'editView');\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if ((!isLoading && isError) || !slug) {\n return <Page.Error />;\n }\n\n return (\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <EditViewPage />\n </DocumentRBAC>\n )}\n </Page.Protect>\n );\n};\n\nexport { EditViewPage, ProtectedEditViewPage };\n"],"names":["permissions"],"mappings":"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"}