@strapi/admin 4.19.0 → 4.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/dist/_chunks/{AdminSeatInfo-qX2sM70P.js → AdminSeatInfo-H-PA6GSR.js} +12 -13
  2. package/dist/_chunks/{AdminSeatInfo-qX2sM70P.js.map → AdminSeatInfo-H-PA6GSR.js.map} +1 -1
  3. package/dist/_chunks/{AdminSeatInfo-RawgDWj-.mjs → AdminSeatInfo-i1rd-M1M.mjs} +11 -12
  4. package/dist/_chunks/{AdminSeatInfo-RawgDWj-.mjs.map → AdminSeatInfo-i1rd-M1M.mjs.map} +1 -1
  5. package/dist/_chunks/{AuthenticatedApp-NOp7zFwi.mjs → AuthenticatedApp-DKV6vPyB.mjs} +21 -21
  6. package/dist/_chunks/{AuthenticatedApp-NOp7zFwi.mjs.map → AuthenticatedApp-DKV6vPyB.mjs.map} +1 -1
  7. package/dist/_chunks/{AuthenticatedApp-Vz4hNfIH.js → AuthenticatedApp-MdjV7Ts7.js} +21 -21
  8. package/dist/_chunks/{AuthenticatedApp-Vz4hNfIH.js.map → AuthenticatedApp-MdjV7Ts7.js.map} +1 -1
  9. package/dist/_chunks/{CreateActionEE-wZ329zt5.mjs → CreateActionEE-HlihxdRg.mjs} +3 -4
  10. package/dist/_chunks/{CreateActionEE-wZ329zt5.mjs.map → CreateActionEE-HlihxdRg.mjs.map} +1 -1
  11. package/dist/_chunks/{CreateActionEE-75bc0oef.js → CreateActionEE-i0ieUuZH.js} +4 -5
  12. package/dist/_chunks/{CreateActionEE-75bc0oef.js.map → CreateActionEE-i0ieUuZH.js.map} +1 -1
  13. package/dist/_chunks/{CreatePage-XDNrGyIA.mjs → CreatePage-9ewfnebV.mjs} +6 -6
  14. package/dist/_chunks/{CreatePage-XDNrGyIA.mjs.map → CreatePage-9ewfnebV.mjs.map} +1 -1
  15. package/dist/_chunks/{CreatePage-mkf7nRXj.js → CreatePage-bMJJfB85.js} +6 -6
  16. package/dist/_chunks/{CreatePage-mkf7nRXj.js.map → CreatePage-bMJJfB85.js.map} +1 -1
  17. package/dist/_chunks/{CreatePage-QH1DLZW_.mjs → CreatePage-ccn27toh.mjs} +16 -15
  18. package/dist/_chunks/CreatePage-ccn27toh.mjs.map +1 -0
  19. package/dist/_chunks/{CreatePage-beMm-uZ-.mjs → CreatePage-fzTcqNI4.mjs} +3 -3
  20. package/dist/_chunks/{CreatePage-beMm-uZ-.mjs.map → CreatePage-fzTcqNI4.mjs.map} +1 -1
  21. package/dist/_chunks/{CreatePage-v5EbopPP.js → CreatePage-khHUga68.js} +17 -16
  22. package/dist/_chunks/CreatePage-khHUga68.js.map +1 -0
  23. package/dist/_chunks/{CreatePage-BgcO3AqI.js → CreatePage-lA4NieHN.js} +3 -3
  24. package/dist/_chunks/{CreatePage-BgcO3AqI.js.map → CreatePage-lA4NieHN.js.map} +1 -1
  25. package/dist/_chunks/{CreateView-Ixck31v9.mjs → CreateView-5rpxCdVv.mjs} +6 -6
  26. package/dist/_chunks/{CreateView-Ixck31v9.mjs.map → CreateView-5rpxCdVv.mjs.map} +1 -1
  27. package/dist/_chunks/{CreateView-eUzBn2dW.js → CreateView-8jUPMvKo.js} +6 -6
  28. package/dist/_chunks/{CreateView-eUzBn2dW.js.map → CreateView-8jUPMvKo.js.map} +1 -1
  29. package/dist/_chunks/{CreateView-Vu-6BJ7s.mjs → CreateView-QVnYlajx.mjs} +6 -6
  30. package/dist/_chunks/{CreateView-Vu-6BJ7s.mjs.map → CreateView-QVnYlajx.mjs.map} +1 -1
  31. package/dist/_chunks/{CreateView-zBya6KTw.js → CreateView-_fvOtf_3.js} +6 -6
  32. package/dist/_chunks/{CreateView-zBya6KTw.js.map → CreateView-_fvOtf_3.js.map} +1 -1
  33. package/dist/_chunks/{EditPage-J6Rf9oKf.mjs → EditPage--J1dsByF.mjs} +4 -4
  34. package/dist/_chunks/{EditPage-J6Rf9oKf.mjs.map → EditPage--J1dsByF.mjs.map} +1 -1
  35. package/dist/_chunks/{EditPage-ZjUUKii7.js → EditPage-DbHeF44w.js} +6 -6
  36. package/dist/_chunks/{EditPage-ZjUUKii7.js.map → EditPage-DbHeF44w.js.map} +1 -1
  37. package/dist/_chunks/{EditPage-getxBx6Z.js → EditPage-H0bd-bLV.js} +37 -36
  38. package/dist/_chunks/EditPage-H0bd-bLV.js.map +1 -0
  39. package/dist/_chunks/{EditPage-HXrULs9d.mjs → EditPage-RIOdcpEj.mjs} +12 -8
  40. package/dist/_chunks/EditPage-RIOdcpEj.mjs.map +1 -0
  41. package/dist/_chunks/{EditPage-lWoNefEi.mjs → EditPage-dvT_6puE.mjs} +6 -6
  42. package/dist/_chunks/{EditPage-lWoNefEi.mjs.map → EditPage-dvT_6puE.mjs.map} +1 -1
  43. package/dist/_chunks/{EditPage-GDphIluA.js → EditPage-hzNbluF9.js} +4 -4
  44. package/dist/_chunks/{EditPage-GDphIluA.js.map → EditPage-hzNbluF9.js.map} +1 -1
  45. package/dist/_chunks/{EditPage-ztZL8xrI.mjs → EditPage-wizrdxWV.mjs} +36 -35
  46. package/dist/_chunks/EditPage-wizrdxWV.mjs.map +1 -0
  47. package/dist/_chunks/{EditPage-buPVDS8T.js → EditPage-zl5z376F.js} +12 -9
  48. package/dist/_chunks/EditPage-zl5z376F.js.map +1 -0
  49. package/dist/_chunks/{EditView-GLiFYAUa.js → EditView-502rB20x.js} +4 -4
  50. package/dist/_chunks/{EditView-GLiFYAUa.js.map → EditView-502rB20x.js.map} +1 -1
  51. package/dist/_chunks/{EditView-gst3Q76D.mjs → EditView-C5CfkXdo.mjs} +4 -4
  52. package/dist/_chunks/{EditView-gst3Q76D.mjs.map → EditView-C5CfkXdo.mjs.map} +1 -1
  53. package/dist/_chunks/{EditViewPage-fv2kuIzu.mjs → EditViewPage-7PPdoPu1.mjs} +4 -4
  54. package/dist/_chunks/{EditViewPage-fv2kuIzu.mjs.map → EditViewPage-7PPdoPu1.mjs.map} +1 -1
  55. package/dist/_chunks/{EditViewPage-MPKkl8pj.js → EditViewPage-fk4NgJzL.js} +4 -4
  56. package/dist/_chunks/{EditViewPage-MPKkl8pj.js.map → EditViewPage-fk4NgJzL.js.map} +1 -1
  57. package/dist/_chunks/{EventsTable-vZK_CTQU.mjs → EventsTable-aTOj5Iwg.mjs} +6 -6
  58. package/dist/_chunks/{EventsTable-vZK_CTQU.mjs.map → EventsTable-aTOj5Iwg.mjs.map} +1 -1
  59. package/dist/_chunks/{EventsTable-CV7xm5zl.js → EventsTable-ya4-snYx.js} +6 -6
  60. package/dist/_chunks/{EventsTable-CV7xm5zl.js.map → EventsTable-ya4-snYx.js.map} +1 -1
  61. package/dist/_chunks/{HomePage-J8ZfepOZ.mjs → HomePage-Dk4AIcd3.mjs} +5 -5
  62. package/dist/_chunks/{HomePage-J8ZfepOZ.mjs.map → HomePage-Dk4AIcd3.mjs.map} +1 -1
  63. package/dist/_chunks/{HomePage-18iuexeb.js → HomePage-R3dDw217.js} +6 -7
  64. package/dist/_chunks/{HomePage-18iuexeb.js.map → HomePage-R3dDw217.js.map} +1 -1
  65. package/dist/_chunks/{HomePage-xgawLbxm.mjs → HomePage-XaLoeZiA.mjs} +6 -7
  66. package/dist/_chunks/{HomePage-xgawLbxm.mjs.map → HomePage-XaLoeZiA.mjs.map} +1 -1
  67. package/dist/_chunks/{HomePage-xJWXSyMe.js → HomePage-fdjaJVMD.js} +5 -5
  68. package/dist/_chunks/{HomePage-xJWXSyMe.js.map → HomePage-fdjaJVMD.js.map} +1 -1
  69. package/dist/_chunks/{InformationBoxEE-rU-_LUTN.mjs → InformationBoxEE-SBgONjAA.mjs} +3 -4
  70. package/dist/_chunks/{InformationBoxEE-rU-_LUTN.mjs.map → InformationBoxEE-SBgONjAA.mjs.map} +1 -1
  71. package/dist/_chunks/{InformationBoxEE-J_ms6Ox-.js → InformationBoxEE-b6YVRmro.js} +4 -5
  72. package/dist/_chunks/{InformationBoxEE-J_ms6Ox-.js.map → InformationBoxEE-b6YVRmro.js.map} +1 -1
  73. package/dist/_chunks/{InstalledPluginsPage-x83hq0Ar.js → InstalledPluginsPage-9nZMI2Qn.js} +3 -3
  74. package/dist/_chunks/{InstalledPluginsPage-x83hq0Ar.js.map → InstalledPluginsPage-9nZMI2Qn.js.map} +1 -1
  75. package/dist/_chunks/{InstalledPluginsPage-7WqMzI5n.mjs → InstalledPluginsPage-zCIdi0Uy.mjs} +3 -3
  76. package/dist/_chunks/{InstalledPluginsPage-7WqMzI5n.mjs.map → InstalledPluginsPage-zCIdi0Uy.mjs.map} +1 -1
  77. package/dist/_chunks/{Layout-zWj_kIbj.js → Layout-FxM9OGbY.js} +2 -2
  78. package/dist/_chunks/{Layout-zWj_kIbj.js.map → Layout-FxM9OGbY.js.map} +1 -1
  79. package/dist/_chunks/{Layout-PTbeYyQq.mjs → Layout-vOoP2x6r.mjs} +2 -2
  80. package/dist/_chunks/{Layout-PTbeYyQq.mjs.map → Layout-vOoP2x6r.mjs.map} +1 -1
  81. package/dist/_chunks/{ListPage-5APd7aTc.js → ListPage-8U_BR3wy.js} +7 -8
  82. package/dist/_chunks/{ListPage-5APd7aTc.js.map → ListPage-8U_BR3wy.js.map} +1 -1
  83. package/dist/_chunks/{ListPage-_R5YJkq6.mjs → ListPage-CxkXuNHa.mjs} +2 -2
  84. package/dist/_chunks/{ListPage-_R5YJkq6.mjs.map → ListPage-CxkXuNHa.mjs.map} +1 -1
  85. package/dist/_chunks/{ListPage-tVXsHAt1.mjs → ListPage-Uce7hZa2.mjs} +7 -8
  86. package/dist/_chunks/{ListPage-tVXsHAt1.mjs.map → ListPage-Uce7hZa2.mjs.map} +1 -1
  87. package/dist/_chunks/{ListPage-rQztZoE3.mjs → ListPage-aEm1evEt.mjs} +3 -3
  88. package/dist/_chunks/{ListPage-rQztZoE3.mjs.map → ListPage-aEm1evEt.mjs.map} +1 -1
  89. package/dist/_chunks/{ListPage-x3LRX4sC.js → ListPage-aLr1BW3o.js} +8 -8
  90. package/dist/_chunks/{ListPage-x3LRX4sC.js.map → ListPage-aLr1BW3o.js.map} +1 -1
  91. package/dist/_chunks/{ListPage-yZj3Yt5r.js → ListPage-aRr9SKZt.js} +7 -8
  92. package/dist/_chunks/{ListPage-yZj3Yt5r.js.map → ListPage-aRr9SKZt.js.map} +1 -1
  93. package/dist/_chunks/{ListPage-Ykm_JxVX.mjs → ListPage-fEoCz13v.mjs} +8 -8
  94. package/dist/_chunks/{ListPage-Ykm_JxVX.mjs.map → ListPage-fEoCz13v.mjs.map} +1 -1
  95. package/dist/_chunks/{ListPage-NSFhbGAZ.mjs → ListPage-h7pSwLwn.mjs} +6 -7
  96. package/dist/_chunks/{ListPage-NSFhbGAZ.mjs.map → ListPage-h7pSwLwn.mjs.map} +1 -1
  97. package/dist/_chunks/{ListPage-WQ27QMWQ.js → ListPage-hD4Bhhn0.js} +3 -3
  98. package/dist/_chunks/{ListPage-WQ27QMWQ.js.map → ListPage-hD4Bhhn0.js.map} +1 -1
  99. package/dist/_chunks/{ListPage-imJlOUis.mjs → ListPage-oQRoZt1p.mjs} +4 -4
  100. package/dist/_chunks/{ListPage-imJlOUis.mjs.map → ListPage-oQRoZt1p.mjs.map} +1 -1
  101. package/dist/_chunks/{ListPage-lG6n0cR5.js → ListPage-xkElwKJ3.js} +2 -2
  102. package/dist/_chunks/{ListPage-lG6n0cR5.js.map → ListPage-xkElwKJ3.js.map} +1 -1
  103. package/dist/_chunks/{ListPage-E1x-qrkF.js → ListPage-yCO88Fhj.js} +4 -4
  104. package/dist/_chunks/{ListPage-E1x-qrkF.js.map → ListPage-yCO88Fhj.js.map} +1 -1
  105. package/dist/_chunks/{ListView-C4_qI4I-.mjs → ListView-2uBQgcn1.mjs} +3 -3
  106. package/dist/_chunks/{ListView-C4_qI4I-.mjs.map → ListView-2uBQgcn1.mjs.map} +1 -1
  107. package/dist/_chunks/{ListView-2m4WvFKV.mjs → ListView-BiPc2Nc1.mjs} +3 -3
  108. package/dist/_chunks/{ListView-2m4WvFKV.mjs.map → ListView-BiPc2Nc1.mjs.map} +1 -1
  109. package/dist/_chunks/{ListView-3J54TIVz.js → ListView-f-iZxI3O.js} +3 -3
  110. package/dist/_chunks/{ListView-3J54TIVz.js.map → ListView-f-iZxI3O.js.map} +1 -1
  111. package/dist/_chunks/{ListView-X-jykpTn.js → ListView-zpxUYNEB.js} +3 -3
  112. package/dist/_chunks/{ListView-X-jykpTn.js.map → ListView-zpxUYNEB.js.map} +1 -1
  113. package/dist/_chunks/{Login-j7BE_1eG.mjs → Login-72rL2XBD.mjs} +2 -2
  114. package/dist/_chunks/{Login-j7BE_1eG.mjs.map → Login-72rL2XBD.mjs.map} +1 -1
  115. package/dist/_chunks/{Login-_3hyJ-yA.js → Login-GuAgUKyi.js} +2 -2
  116. package/dist/_chunks/{Login-_3hyJ-yA.js.map → Login-GuAgUKyi.js.map} +1 -1
  117. package/dist/_chunks/{MagicLinkEE-Mw3_4xMD.mjs → MagicLinkEE-N2zwtkqY.mjs} +4 -4
  118. package/dist/_chunks/{MagicLinkEE-Mw3_4xMD.mjs.map → MagicLinkEE-N2zwtkqY.mjs.map} +1 -1
  119. package/dist/_chunks/{MagicLinkEE-RBmakdh1.js → MagicLinkEE-swRqjFLM.js} +4 -4
  120. package/dist/_chunks/{MagicLinkEE-RBmakdh1.js.map → MagicLinkEE-swRqjFLM.js.map} +1 -1
  121. package/dist/_chunks/{MarketplacePage-d_pQoh5h.mjs → MarketplacePage-1GNjM--m.mjs} +3 -3
  122. package/dist/_chunks/{MarketplacePage-d_pQoh5h.mjs.map → MarketplacePage-1GNjM--m.mjs.map} +1 -1
  123. package/dist/_chunks/{MarketplacePage--qZW1C_M.js → MarketplacePage-Ie2Wpbov.js} +3 -3
  124. package/dist/_chunks/{MarketplacePage--qZW1C_M.js.map → MarketplacePage-Ie2Wpbov.js.map} +1 -1
  125. package/dist/_chunks/{Permissions-YjqLnqwc.mjs → Permissions-o4NR8n4u.mjs} +2 -2
  126. package/dist/_chunks/{Permissions-YjqLnqwc.mjs.map → Permissions-o4NR8n4u.mjs.map} +1 -1
  127. package/dist/_chunks/{Permissions-5Idi1hGl.js → Permissions-wGVKNPCK.js} +2 -2
  128. package/dist/_chunks/{Permissions-5Idi1hGl.js.map → Permissions-wGVKNPCK.js.map} +1 -1
  129. package/dist/_chunks/{ProfilePage-Sv3HPL8I.js → ProfilePage-JW3-kFIA.js} +3 -3
  130. package/dist/_chunks/{ProfilePage-Sv3HPL8I.js.map → ProfilePage-JW3-kFIA.js.map} +1 -1
  131. package/dist/_chunks/{ProfilePage-HEWNqKF6.mjs → ProfilePage-SsdeVqyx.mjs} +3 -3
  132. package/dist/_chunks/{ProfilePage-HEWNqKF6.mjs.map → ProfilePage-SsdeVqyx.mjs.map} +1 -1
  133. package/dist/_chunks/{ReviewWorkflowsColumn-nO_l9SSd.mjs → ReviewWorkflowsColumn-UM9eh2AB.mjs} +2 -2
  134. package/dist/_chunks/{ReviewWorkflowsColumn-nO_l9SSd.mjs.map → ReviewWorkflowsColumn-UM9eh2AB.mjs.map} +1 -1
  135. package/dist/_chunks/{ReviewWorkflowsColumn-Rs6ZsFMn.js → ReviewWorkflowsColumn-wZiAM18-.js} +2 -2
  136. package/dist/_chunks/{ReviewWorkflowsColumn-Rs6ZsFMn.js.map → ReviewWorkflowsColumn-wZiAM18-.js.map} +1 -1
  137. package/dist/_chunks/{SelectRoles-kY2cQn9t.mjs → SelectRoles-L0wvwsmn.mjs} +3 -3
  138. package/dist/_chunks/{SelectRoles-kY2cQn9t.mjs.map → SelectRoles-L0wvwsmn.mjs.map} +1 -1
  139. package/dist/_chunks/{SelectRoles-KatT_FIg.js → SelectRoles-Y4Dy5Ruk.js} +3 -3
  140. package/dist/_chunks/{SelectRoles-KatT_FIg.js.map → SelectRoles-Y4Dy5Ruk.js.map} +1 -1
  141. package/dist/_chunks/{SettingsPage-p9I4yN8G.mjs → SettingsPage-OF4cOZEX.mjs} +21 -21
  142. package/dist/_chunks/{SettingsPage-p9I4yN8G.mjs.map → SettingsPage-OF4cOZEX.mjs.map} +1 -1
  143. package/dist/_chunks/{SettingsPage-ZgiejZbl.js → SettingsPage-pN2zNJja.js} +21 -21
  144. package/dist/_chunks/{SettingsPage-ZgiejZbl.js.map → SettingsPage-pN2zNJja.js.map} +1 -1
  145. package/dist/_chunks/{SingleSignOnPage-hPJ-ktE8.mjs → SingleSignOnPage-CP90POdb.mjs} +3 -3
  146. package/dist/_chunks/{SingleSignOnPage-hPJ-ktE8.mjs.map → SingleSignOnPage-CP90POdb.mjs.map} +1 -1
  147. package/dist/_chunks/{SingleSignOnPage-uwvm37vG.js → SingleSignOnPage-fGCF236F.js} +3 -3
  148. package/dist/_chunks/{SingleSignOnPage-uwvm37vG.js.map → SingleSignOnPage-fGCF236F.js.map} +1 -1
  149. package/dist/_chunks/{TokenTypeSelect-g1CejzJb.js → TokenTypeSelect-E1lcj1HQ.js} +2 -2
  150. package/dist/_chunks/{TokenTypeSelect-g1CejzJb.js.map → TokenTypeSelect-E1lcj1HQ.js.map} +1 -1
  151. package/dist/_chunks/{TokenTypeSelect-Zug5LBS9.mjs → TokenTypeSelect-Gf6YWKV8.mjs} +2 -2
  152. package/dist/_chunks/{TokenTypeSelect-Zug5LBS9.mjs.map → TokenTypeSelect-Gf6YWKV8.mjs.map} +1 -1
  153. package/dist/_chunks/{apiTokens-3JqiL0FP.mjs → apiTokens-6eq7TOjP.mjs} +2 -2
  154. package/dist/_chunks/{apiTokens-3JqiL0FP.mjs.map → apiTokens-6eq7TOjP.mjs.map} +1 -1
  155. package/dist/_chunks/{apiTokens-mO11QotK.js → apiTokens-WHkSHzkL.js} +2 -2
  156. package/dist/_chunks/{apiTokens-mO11QotK.js.map → apiTokens-WHkSHzkL.js.map} +1 -1
  157. package/dist/_chunks/{constants-oJsAomZe.js → constants-6P0B98vR.js} +2 -2
  158. package/dist/_chunks/{constants-oJsAomZe.js.map → constants-6P0B98vR.js.map} +1 -1
  159. package/dist/_chunks/{constants-cgzxEZpW.js → constants-6_Ji9v3C.js} +6 -6
  160. package/dist/_chunks/{constants-cgzxEZpW.js.map → constants-6_Ji9v3C.js.map} +1 -1
  161. package/dist/_chunks/{constants-SQ2dZAhr.js → constants-7l193VJl.js} +2 -2
  162. package/dist/_chunks/{constants-SQ2dZAhr.js.map → constants-7l193VJl.js.map} +1 -1
  163. package/dist/_chunks/{constants-EWIwy2Lb.mjs → constants-QcAGYy1f.mjs} +2 -2
  164. package/dist/_chunks/{constants-EWIwy2Lb.mjs.map → constants-QcAGYy1f.mjs.map} +1 -1
  165. package/dist/_chunks/{constants-oLogFPZi.mjs → constants-V6ogbA_Q.mjs} +4 -4
  166. package/dist/_chunks/{constants-oLogFPZi.mjs.map → constants-V6ogbA_Q.mjs.map} +1 -1
  167. package/dist/_chunks/{constants-GJB9U_2a.js → constants-m2b3phv4.js} +4 -4
  168. package/dist/_chunks/{constants-GJB9U_2a.js.map → constants-m2b3phv4.js.map} +1 -1
  169. package/dist/_chunks/{constants-ZQGaS2zq.mjs → constants-rHR3EQdj.mjs} +2 -2
  170. package/dist/_chunks/{constants-ZQGaS2zq.mjs.map → constants-rHR3EQdj.mjs.map} +1 -1
  171. package/dist/_chunks/{constants-HNN5YvZM.mjs → constants-sJFx6aQR.mjs} +6 -6
  172. package/dist/_chunks/{constants-HNN5YvZM.mjs.map → constants-sJFx6aQR.mjs.map} +1 -1
  173. package/dist/_chunks/{en-NIBEogzH.mjs → en-ZBAy2GQ0.mjs} +7 -1
  174. package/dist/_chunks/{en-NIBEogzH.mjs.map → en-ZBAy2GQ0.mjs.map} +1 -1
  175. package/dist/_chunks/{en-JwrMNR-h.js → en-l5S8Gv-y.js} +7 -1
  176. package/dist/_chunks/{en-JwrMNR-h.js.map → en-l5S8Gv-y.js.map} +1 -1
  177. package/dist/_chunks/{index-LblG7sy4.mjs → index-KLPMzfLn.mjs} +416 -187
  178. package/dist/_chunks/index-KLPMzfLn.mjs.map +1 -0
  179. package/dist/_chunks/{index-3OoQJD2O.js → index-vftGzD-K.js} +413 -184
  180. package/dist/_chunks/index-vftGzD-K.js.map +1 -0
  181. package/dist/_chunks/{reviewWorkflows-VsENEtCZ.mjs → reviewWorkflows-2vhxGG5r.mjs} +12 -12
  182. package/dist/_chunks/reviewWorkflows-2vhxGG5r.mjs.map +1 -0
  183. package/dist/_chunks/{reviewWorkflows-Q34tLlgw.js → reviewWorkflows-Tj9WSo1x.js} +12 -12
  184. package/dist/_chunks/reviewWorkflows-Tj9WSo1x.js.map +1 -0
  185. package/dist/_chunks/{transferTokens-cNXBS34Y.js → transferTokens-EK2ohR1y.js} +2 -2
  186. package/dist/_chunks/{transferTokens-cNXBS34Y.js.map → transferTokens-EK2ohR1y.js.map} +1 -1
  187. package/dist/_chunks/{transferTokens-liO4cxgc.mjs → transferTokens-WwK-ykRw.mjs} +2 -2
  188. package/dist/_chunks/{transferTokens-liO4cxgc.mjs.map → transferTokens-WwK-ykRw.mjs.map} +1 -1
  189. package/dist/_chunks/{useAdminRoles-3IgPJu3y.js → useAdminRoles-NvHHOpQ2.js} +2 -2
  190. package/dist/_chunks/{useAdminRoles-3IgPJu3y.js.map → useAdminRoles-NvHHOpQ2.js.map} +1 -1
  191. package/dist/_chunks/{useAdminRoles-vkrNCJ0G.mjs → useAdminRoles-UhbPCKxf.mjs} +2 -2
  192. package/dist/_chunks/{useAdminRoles-vkrNCJ0G.mjs.map → useAdminRoles-UhbPCKxf.mjs.map} +1 -1
  193. package/dist/_chunks/{useContentTypes-yBTP01dT.js → useContentTypes-P2Cw5O0Q.js} +2 -2
  194. package/dist/_chunks/{useContentTypes-yBTP01dT.js.map → useContentTypes-P2Cw5O0Q.js.map} +1 -1
  195. package/dist/_chunks/{useContentTypes-hyaDV7vW.mjs → useContentTypes-xc06YDmc.mjs} +2 -2
  196. package/dist/_chunks/{useContentTypes-hyaDV7vW.mjs.map → useContentTypes-xc06YDmc.mjs.map} +1 -1
  197. package/dist/_chunks/{useLicenseLimitNotification-IGSEKF_A.mjs → useLicenseLimitNotification-EQiK5CGO.mjs} +2 -2
  198. package/dist/_chunks/{useLicenseLimitNotification-IGSEKF_A.mjs.map → useLicenseLimitNotification-EQiK5CGO.mjs.map} +1 -1
  199. package/dist/_chunks/{useLicenseLimitNotification-V_EIX5NN.js → useLicenseLimitNotification-g9A_uMdX.js} +3 -3
  200. package/dist/_chunks/{useLicenseLimitNotification-V_EIX5NN.js.map → useLicenseLimitNotification-g9A_uMdX.js.map} +1 -1
  201. package/dist/_chunks/{useReviewWorkflows-8dwtECQ8.js → useReviewWorkflows-0KWVUWjY.js} +2 -2
  202. package/dist/_chunks/{useReviewWorkflows-8dwtECQ8.js.map → useReviewWorkflows-0KWVUWjY.js.map} +1 -1
  203. package/dist/_chunks/{useReviewWorkflows-_5iMJ_bQ.mjs → useReviewWorkflows-MQTwtA8V.mjs} +2 -2
  204. package/dist/_chunks/{useReviewWorkflows-_5iMJ_bQ.mjs.map → useReviewWorkflows-MQTwtA8V.mjs.map} +1 -1
  205. package/dist/_chunks/{useWebhooks-1cD-Wjh6.mjs → useWebhooks-0S-LOa28.mjs} +2 -2
  206. package/dist/_chunks/{useWebhooks-1cD-Wjh6.mjs.map → useWebhooks-0S-LOa28.mjs.map} +1 -1
  207. package/dist/_chunks/{useWebhooks-WLn3OtSg.js → useWebhooks-H34bjR-D.js} +2 -2
  208. package/dist/_chunks/{useWebhooks-WLn3OtSg.js.map → useWebhooks-H34bjR-D.js.map} +1 -1
  209. package/dist/_chunks/{validateWorkflow-_OqTLm6C.js → validateWorkflow-9Lwvkrq0.js} +2 -2
  210. package/dist/_chunks/{validateWorkflow-_OqTLm6C.js.map → validateWorkflow-9Lwvkrq0.js.map} +1 -1
  211. package/dist/_chunks/{validateWorkflow-aPtygwAZ.mjs → validateWorkflow-rJbqicXR.mjs} +2 -2
  212. package/dist/_chunks/{validateWorkflow-aPtygwAZ.mjs.map → validateWorkflow-rJbqicXR.mjs.map} +1 -1
  213. package/dist/admin/index.js +2 -1
  214. package/dist/admin/index.js.map +1 -1
  215. package/dist/admin/index.mjs +3 -2
  216. package/dist/admin/src/content-manager/components/BlocksInput/BlocksContent.d.ts +4 -3
  217. package/dist/admin/src/content-manager/components/BlocksInput/BlocksEditor.d.ts +3 -2
  218. package/dist/admin/src/content-manager/components/BlocksInput/BlocksInput.d.ts +2 -1
  219. package/dist/admin/src/content-manager/pages/ListView/components/AutoCloneFailureModal.d.ts +12 -0
  220. package/dist/admin/src/index.d.ts +1 -0
  221. package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +2 -2
  222. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.d.ts +6 -2
  223. package/dist/ee/admin/src/services/reviewWorkflows.d.ts +5 -1
  224. package/dist/shared/contracts/admin.d.ts +7 -1
  225. package/dist/shared/contracts/admin.d.ts.map +1 -1
  226. package/dist/shared/contracts/review-workflows.d.ts +6 -2
  227. package/dist/shared/contracts/review-workflows.d.ts.map +1 -1
  228. package/package.json +13 -13
  229. package/dist/_chunks/CreatePage-QH1DLZW_.mjs.map +0 -1
  230. package/dist/_chunks/CreatePage-v5EbopPP.js.map +0 -1
  231. package/dist/_chunks/EditPage-HXrULs9d.mjs.map +0 -1
  232. package/dist/_chunks/EditPage-buPVDS8T.js.map +0 -1
  233. package/dist/_chunks/EditPage-getxBx6Z.js.map +0 -1
  234. package/dist/_chunks/EditPage-ztZL8xrI.mjs.map +0 -1
  235. package/dist/_chunks/index-3OoQJD2O.js.map +0 -1
  236. package/dist/_chunks/index-LblG7sy4.mjs.map +0 -1
  237. package/dist/_chunks/reviewWorkflows-Q34tLlgw.js.map +0 -1
  238. package/dist/_chunks/reviewWorkflows-VsENEtCZ.mjs.map +0 -1
  239. package/dist/_chunks/useLicenseLimits-Du8knwsR.js +0 -41
  240. package/dist/_chunks/useLicenseLimits-Du8knwsR.js.map +0 -1
  241. package/dist/_chunks/useLicenseLimits-gAX0JFIu.mjs +0 -23
  242. package/dist/_chunks/useLicenseLimits-gAX0JFIu.mjs.map +0 -1
@@ -2099,11 +2099,11 @@ const AuthPage = ({ hasAdmin }) => {
2099
2099
  const authType = match?.params.authType;
2100
2100
  const Login$1 = useEnterprise(
2101
2101
  Login,
2102
- async () => (await Promise.resolve().then(() => require("./Login-_3hyJ-yA.js"))).LoginEE
2102
+ async () => (await Promise.resolve().then(() => require("./Login-GuAgUKyi.js"))).LoginEE
2103
2103
  );
2104
2104
  const forms = useEnterprise(
2105
2105
  FORMS,
2106
- async () => (await Promise.resolve().then(() => require("./constants-SQ2dZAhr.js"))).FORMS,
2106
+ async () => (await Promise.resolve().then(() => require("./constants-7l193VJl.js"))).FORMS,
2107
2107
  {
2108
2108
  combine(ceForms, eeForms) {
2109
2109
  return {
@@ -2340,12 +2340,12 @@ const createRoute = (loadComponent, to, exact = false) => {
2340
2340
  };
2341
2341
  const ROUTES_CE = null;
2342
2342
  const AuthenticatedApp = React__namespace.lazy(
2343
- () => Promise.resolve().then(() => require("./AuthenticatedApp-Vz4hNfIH.js")).then((n) => n.AuthenticatedApp).then((mod) => ({ default: mod.AuthenticatedApp }))
2343
+ () => Promise.resolve().then(() => require("./AuthenticatedApp-MdjV7Ts7.js")).then((n) => n.AuthenticatedApp).then((mod) => ({ default: mod.AuthenticatedApp }))
2344
2344
  );
2345
2345
  const App$2 = ({ authLogo, menuLogo, showReleaseNotification, showTutorials }) => {
2346
2346
  const adminPermissions = useEnterprise(
2347
2347
  ADMIN_PERMISSIONS_CE,
2348
- async () => (await Promise.resolve().then(() => require("./constants-oJsAomZe.js"))).ADMIN_PERMISSIONS_EE,
2348
+ async () => (await Promise.resolve().then(() => require("./constants-6P0B98vR.js"))).ADMIN_PERMISSIONS_EE,
2349
2349
  {
2350
2350
  combine(cePermissions, eePermissions) {
2351
2351
  return merge__default.default({}, cePermissions, eePermissions);
@@ -2355,7 +2355,7 @@ const App$2 = ({ authLogo, menuLogo, showReleaseNotification, showTutorials }) =
2355
2355
  );
2356
2356
  const routes = useEnterprise(
2357
2357
  ROUTES_CE,
2358
- async () => (await Promise.resolve().then(() => require("./constants-oJsAomZe.js"))).ROUTES_EE,
2358
+ async () => (await Promise.resolve().then(() => require("./constants-6P0B98vR.js"))).ROUTES_EE,
2359
2359
  {
2360
2360
  defaultValue: []
2361
2361
  }
@@ -6733,6 +6733,7 @@ const ContentTypeFormWrapper = ({
6733
6733
  dispatch(resetProps$2());
6734
6734
  };
6735
6735
  }, [dispatch]);
6736
+ const validParams = React__namespace.useMemo(() => buildValidGetParams(query), [query]);
6736
6737
  React__namespace.useEffect(() => {
6737
6738
  const CancelToken = axios__default.default.CancelToken;
6738
6739
  const source = CancelToken.source();
@@ -6744,7 +6745,7 @@ const ContentTypeFormWrapper = ({
6744
6745
  try {
6745
6746
  const { data: data2 } = await fetchClient.get(requestURL, {
6746
6747
  cancelToken: source2.token,
6747
- params: buildValidGetParams(query)
6748
+ params: validParams
6748
6749
  });
6749
6750
  dispatch(getDataSucceeded$1(cleanReceivedData(data2)));
6750
6751
  } catch (err) {
@@ -6793,7 +6794,7 @@ const ContentTypeFormWrapper = ({
6793
6794
  redirectionLink,
6794
6795
  toggleNotification,
6795
6796
  isSingleType,
6796
- query
6797
+ validParams
6797
6798
  ]);
6798
6799
  const displayErrors = React__namespace.useCallback(
6799
6800
  (err) => {
@@ -6848,7 +6849,7 @@ const ContentTypeFormWrapper = ({
6848
6849
  isCloning ? `/content-manager/${collectionType}/${slug}/clone/${origin}` : `/content-manager/${collectionType}/${slug}`,
6849
6850
  isCloning ? restBody : body,
6850
6851
  {
6851
- params: query
6852
+ params: validParams
6852
6853
  }
6853
6854
  );
6854
6855
  trackUsage("didCreateEntry", trackerProperty);
@@ -6880,7 +6881,7 @@ const ContentTypeFormWrapper = ({
6880
6881
  put,
6881
6882
  post,
6882
6883
  slug,
6883
- query,
6884
+ validParams,
6884
6885
  trackUsage,
6885
6886
  toggleNotification,
6886
6887
  setCurrentStep,
@@ -6917,7 +6918,11 @@ const ContentTypeFormWrapper = ({
6917
6918
  trackUsage("willPublishEntry");
6918
6919
  dispatch(setStatus("publish-pending"));
6919
6920
  const { data: data2 } = await post(
6920
- isSingleType ? `/content-manager/${collectionType}/${slug}/actions/publish` : `/content-manager/${collectionType}/${slug}/${id}/actions/publish`
6921
+ isSingleType ? `/content-manager/${collectionType}/${slug}/actions/publish` : `/content-manager/${collectionType}/${slug}/${id}/actions/publish`,
6922
+ void 0,
6923
+ {
6924
+ params: validParams
6925
+ }
6921
6926
  );
6922
6927
  trackUsage("didPublishEntry");
6923
6928
  dispatch(submitSucceeded(cleanReceivedData(data2)));
@@ -6942,6 +6947,7 @@ const ContentTypeFormWrapper = ({
6942
6947
  collectionType,
6943
6948
  slug,
6944
6949
  id,
6950
+ validParams,
6945
6951
  cleanReceivedData,
6946
6952
  toggleNotification,
6947
6953
  displayErrors
@@ -6952,7 +6958,7 @@ const ContentTypeFormWrapper = ({
6952
6958
  trackUsage("willEditEntry", trackerProperty);
6953
6959
  dispatch(setStatus("submit-pending"));
6954
6960
  const { data: data2 } = await put(`/content-manager/${collectionType}/${slug}/${id}`, body, {
6955
- params: query
6961
+ params: validParams
6956
6962
  });
6957
6963
  trackUsage("didEditEntry", trackerProperty);
6958
6964
  toggleNotification({
@@ -6979,6 +6985,7 @@ const ContentTypeFormWrapper = ({
6979
6985
  collectionType,
6980
6986
  slug,
6981
6987
  id,
6988
+ validParams,
6982
6989
  toggleNotification,
6983
6990
  queryClient2,
6984
6991
  cleanReceivedData,
@@ -6990,7 +6997,11 @@ const ContentTypeFormWrapper = ({
6990
6997
  try {
6991
6998
  trackUsage("willUnpublishEntry");
6992
6999
  const { data: data2 } = await post(
6993
- isSingleType ? `/content-manager/${collectionType}/${slug}/actions/unpublish` : `/content-manager/${collectionType}/${slug}/${id}/actions/unpublish`
7000
+ isSingleType ? `/content-manager/${collectionType}/${slug}/actions/unpublish` : `/content-manager/${collectionType}/${slug}/${id}/actions/unpublish`,
7001
+ void 0,
7002
+ {
7003
+ params: validParams
7004
+ }
6994
7005
  );
6995
7006
  trackUsage("didUnpublishEntry");
6996
7007
  toggleNotification({
@@ -7014,6 +7025,7 @@ const ContentTypeFormWrapper = ({
7014
7025
  collectionType,
7015
7026
  slug,
7016
7027
  id,
7028
+ validParams,
7017
7029
  toggleNotification,
7018
7030
  cleanReceivedData,
7019
7031
  displayErrors
@@ -7337,12 +7349,16 @@ const Hint = ({ id, error, name: name2, hint = "" }) => {
7337
7349
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "p", variant: "pi", id: `${id || name2}-hint`, textColor: "neutral600", children: hint });
7338
7350
  };
7339
7351
  const baseHandleConvert = (editor, attributesToSet) => {
7352
+ const [_, lastNodePath] = slate.Editor.last(editor, []);
7340
7353
  slate.Transforms.unwrapNodes(editor, {
7341
7354
  match: (node) => !slate.Editor.isEditor(node) && node.type === "list",
7342
- split: true
7355
+ split: true,
7356
+ at: editor.selection ?? lastNodePath
7343
7357
  });
7358
+ const [, updatedLastNodePath] = slate.Editor.last(editor, []);
7344
7359
  const entry = slate.Editor.above(editor, {
7345
- match: (node) => !slate.Editor.isEditor(node) && node.type !== "text" && node.type !== "link"
7360
+ match: (node) => !slate.Editor.isEditor(node) && node.type !== "text" && node.type !== "link",
7361
+ at: editor.selection ?? updatedLastNodePath
7346
7362
  });
7347
7363
  if (!entry || slate.Editor.isEditor(entry[0])) {
7348
7364
  return;
@@ -7902,7 +7918,7 @@ const linkBlocks = {
7902
7918
  const listStyle = styled.css`
7903
7919
  display: flex;
7904
7920
  flex-direction: column;
7905
- gap: ${({ theme }) => theme.spaces[1]};
7921
+ gap: ${({ theme }) => theme.spaces[2]};
7906
7922
  margin-inline-start: ${({ theme }) => theme.spaces[0]};
7907
7923
  margin-inline-end: ${({ theme }) => theme.spaces[0]};
7908
7924
  padding-inline-start: ${({ theme }) => theme.spaces[2]};
@@ -7918,21 +7934,26 @@ const listStyle = styled.css`
7918
7934
  }
7919
7935
  `;
7920
7936
  const Orderedlist = styled__default.default.ol`
7921
- list-style-type: decimal;
7937
+ list-style-type: ${(props) => props.listStyleType};
7922
7938
  ${listStyle}
7923
7939
  `;
7924
7940
  const Unorderedlist = styled__default.default.ul`
7925
- list-style-type: disc;
7941
+ list-style-type: ${(props) => props.listStyleType};
7926
7942
  ${listStyle}
7927
7943
  `;
7944
+ const orderedStyles = ["decimal", "lower-alpha", "upper-roman"];
7945
+ const unorderedStyles = ["disc", "circle", "square"];
7928
7946
  const List = ({ attributes, children, element }) => {
7929
7947
  if (!isListNode$1(element)) {
7930
7948
  return null;
7931
7949
  }
7950
+ const listStyles = element.format === "ordered" ? orderedStyles : unorderedStyles;
7951
+ const nextIndex = (element.indentLevel || 0) % listStyles.length;
7952
+ const listStyleType = listStyles[nextIndex];
7932
7953
  if (element.format === "ordered") {
7933
- return /* @__PURE__ */ jsxRuntime.jsx(Orderedlist, { ...attributes, children });
7954
+ return /* @__PURE__ */ jsxRuntime.jsx(Orderedlist, { listStyleType, ...attributes, children });
7934
7955
  }
7935
- return /* @__PURE__ */ jsxRuntime.jsx(Unorderedlist, { ...attributes, children });
7956
+ return /* @__PURE__ */ jsxRuntime.jsx(Unorderedlist, { listStyleType, ...attributes, children });
7936
7957
  };
7937
7958
  const replaceListWithEmptyBlock = (editor, currentListPath) => {
7938
7959
  slate.Transforms.removeNodes(editor, { at: currentListPath });
@@ -7957,27 +7978,44 @@ const handleBackspaceKeyOnList = (editor, event) => {
7957
7978
  const [currentListItem, currentListItemPath] = slate.Editor.parent(editor, editor.selection.anchor);
7958
7979
  const [currentList, currentListPath] = slate.Editor.parent(editor, currentListItemPath);
7959
7980
  const isListEmpty = currentList.children.length === 1 && isText$1(currentListItem.children[0]) && currentListItem.children[0].text === "";
7960
- const isNodeStart = slate.Editor.isStart(editor, editor.selection.anchor, currentListItemPath);
7961
- const isFocusAtTheBeginningOfAChild = editor.selection.focus.offset === 0 && editor.selection.focus.path.at(-1) === 0;
7981
+ const isListItemEmpty = currentListItem.children.length === 1 && isText$1(currentListItem.children[0]) && currentListItem.children[0].text === "";
7982
+ const isFocusAtTheBeginningOfAChild = editor.selection.focus.offset === 0 && editor.selection.focus.path.at(-2) === 0;
7962
7983
  if (isListEmpty) {
7963
- event.preventDefault();
7964
- replaceListWithEmptyBlock(editor, currentListPath);
7965
- } else if (isNodeStart) {
7966
- slate.Transforms.liftNodes(editor, {
7967
- match: (node) => !slate.Editor.isEditor(node) && node.type === "list-item"
7984
+ const parentListEntry = slate.Editor.above(editor, {
7985
+ at: currentListPath,
7986
+ match: (node) => !slate.Editor.isEditor(node) && node.type === "list"
7968
7987
  });
7969
- slate.Transforms.setNodes(
7970
- editor,
7971
- { type: "paragraph" },
7972
- {
7973
- hanging: true
7974
- }
7975
- );
7988
+ if (!parentListEntry) {
7989
+ event.preventDefault();
7990
+ replaceListWithEmptyBlock(editor, currentListPath);
7991
+ }
7976
7992
  } else if (isFocusAtTheBeginningOfAChild) {
7977
7993
  slate.Transforms.liftNodes(editor, {
7978
7994
  match: (node) => !slate.Editor.isEditor(node) && node.type === "list-item"
7979
7995
  });
7980
7996
  slate.Transforms.setNodes(editor, { type: "paragraph" });
7997
+ } else if (isListItemEmpty) {
7998
+ const previousEntry = slate.Editor.previous(editor, {
7999
+ at: currentListItemPath
8000
+ });
8001
+ const nextEntry = slate.Editor.next(editor, {
8002
+ at: currentListItemPath
8003
+ });
8004
+ if (previousEntry && nextEntry) {
8005
+ event.preventDefault();
8006
+ slate.Transforms.removeNodes(editor, {
8007
+ at: currentListItemPath
8008
+ });
8009
+ const [previousList] = previousEntry;
8010
+ const [nextList] = nextEntry;
8011
+ if (!slate.Editor.isEditor(previousList) && !isText$1(previousList) && isListNode$1(previousList) && !slate.Editor.isEditor(nextList) && !isText$1(nextList) && isListNode$1(nextList)) {
8012
+ if (previousList.type === "list" && nextList.type === "list" && previousList.format === nextList.format && previousList.indentLevel === nextList.indentLevel) {
8013
+ slate.Transforms.mergeNodes(editor, {
8014
+ at: currentListItemPath
8015
+ });
8016
+ }
8017
+ }
8018
+ }
7981
8019
  }
7982
8020
  };
7983
8021
  const handleEnterKeyOnList = (editor) => {
@@ -7991,17 +8029,40 @@ const handleEnterKeyOnList = (editor) => {
7991
8029
  const [currentList, currentListPath] = slate.Editor.parent(editor, currentListItemPath);
7992
8030
  const isListEmpty = currentList.children.length === 1 && isText$1(currentListItem.children[0]) && currentListItem.children[0].text === "";
7993
8031
  const isListItemEmpty = currentListItem.children.length === 1 && isText$1(currentListItem.children[0]) && currentListItem.children[0].text === "";
8032
+ const isFocusAtTheBeginningOfAChild = editor.selection.focus.offset === 0 && editor.selection.focus.path.at(-1) === 0;
7994
8033
  if (isListEmpty) {
7995
8034
  replaceListWithEmptyBlock(editor, currentListPath);
8035
+ } else if (isFocusAtTheBeginningOfAChild && !isListItemEmpty) {
8036
+ const currentNode = slate.Editor.above(editor, { at: editor.selection.anchor });
8037
+ slate.Transforms.insertNodes(editor, { type: "list-item", children: [{ type: "text", text: "" }] });
8038
+ if (currentNode) {
8039
+ const path = currentNode[1];
8040
+ const updatedPath = [...path.slice(0, -1), path[path.length - 1] + 1];
8041
+ slate.Transforms.select(editor, {
8042
+ anchor: { path: updatedPath.concat(0), offset: 0 },
8043
+ focus: { path: updatedPath.concat(0), offset: 0 }
8044
+ });
8045
+ }
7996
8046
  } else if (isListItemEmpty) {
7997
- slate.Transforms.removeNodes(editor, { at: currentListItemPath });
7998
- const listNodeEntry = slate.Editor.above(editor, {
7999
- match: (node) => !slate.Editor.isEditor(node) && node.type === "list"
8000
- });
8001
- if (!listNodeEntry) {
8002
- return;
8047
+ if (!slate.Editor.isEditor(currentList) && isListNode$1(currentList) && currentList?.indentLevel && currentList.indentLevel > 0) {
8048
+ const previousIndentLevel = currentList.indentLevel - 1;
8049
+ const parentListNodeEntry = slate.Editor.above(editor, {
8050
+ match: (node) => !slate.Editor.isEditor(node) && node.type === "list" && (node.indentLevel || 0) === previousIndentLevel
8051
+ });
8052
+ if (parentListNodeEntry) {
8053
+ const modifiedPath = currentListItemPath.slice(0, -1);
8054
+ if (modifiedPath.length > 0) {
8055
+ modifiedPath[modifiedPath.length - 1] += 1;
8056
+ }
8057
+ slate.Transforms.moveNodes(editor, {
8058
+ at: currentListItemPath,
8059
+ to: modifiedPath
8060
+ });
8061
+ return;
8062
+ }
8003
8063
  }
8004
- const createdParagraphPath = slate.Path.next(listNodeEntry[1]);
8064
+ slate.Transforms.removeNodes(editor, { at: currentListItemPath });
8065
+ const createdParagraphPath = slate.Path.next(currentListPath);
8005
8066
  slate.Transforms.insertNodes(
8006
8067
  editor,
8007
8068
  {
@@ -8026,6 +8087,37 @@ const handleConvertToList = (editor, format) => {
8026
8087
  return;
8027
8088
  slate.Transforms.wrapNodes(editor, { type: "list", format, children: [] }, { at: convertedPath });
8028
8089
  };
8090
+ const handleTabOnList = (editor) => {
8091
+ const currentListItemEntry = slate.Editor.above(editor, {
8092
+ match: (node) => !slate.Editor.isEditor(node) && node.type === "list-item"
8093
+ });
8094
+ if (!currentListItemEntry || !editor.selection) {
8095
+ return;
8096
+ }
8097
+ const [currentListItem, currentListItemPath] = currentListItemEntry;
8098
+ const [currentList] = slate.Editor.parent(editor, currentListItemPath);
8099
+ if (currentListItem === currentList.children[0])
8100
+ return;
8101
+ const currentListItemIndex = currentList.children.findIndex((item) => item === currentListItem);
8102
+ const previousNode = currentList.children[currentListItemIndex - 1];
8103
+ if (previousNode.type === "list") {
8104
+ const nodePath = slateReact.ReactEditor.findPath(editor, previousNode);
8105
+ const insertAtPath = previousNode.children.length;
8106
+ slate.Transforms.moveNodes(editor, {
8107
+ at: currentListItemPath,
8108
+ to: nodePath.concat(insertAtPath)
8109
+ });
8110
+ return;
8111
+ }
8112
+ if (!slate.Editor.isEditor(currentList) && isListNode$1(currentList)) {
8113
+ slate.Transforms.wrapNodes(editor, {
8114
+ type: "list",
8115
+ format: currentList.format,
8116
+ indentLevel: (currentList.indentLevel || 0) + 1,
8117
+ children: []
8118
+ });
8119
+ }
8120
+ };
8029
8121
  const listBlocks = {
8030
8122
  "list-ordered": {
8031
8123
  renderElement: (props) => /* @__PURE__ */ jsxRuntime.jsx(List, { ...props }),
@@ -8039,6 +8131,7 @@ const listBlocks = {
8039
8131
  handleConvert: (editor) => handleConvertToList(editor, "ordered"),
8040
8132
  handleEnterKey: handleEnterKeyOnList,
8041
8133
  handleBackspaceKey: handleBackspaceKeyOnList,
8134
+ handleTab: handleTabOnList,
8042
8135
  snippets: ["1."]
8043
8136
  },
8044
8137
  "list-unordered": {
@@ -8053,6 +8146,7 @@ const listBlocks = {
8053
8146
  handleConvert: (editor) => handleConvertToList(editor, "unordered"),
8054
8147
  handleEnterKey: handleEnterKeyOnList,
8055
8148
  handleBackspaceKey: handleBackspaceKeyOnList,
8149
+ handleTab: handleTabOnList,
8056
8150
  snippets: ["-", "*", "+"]
8057
8151
  },
8058
8152
  "list-item": {
@@ -8253,7 +8347,7 @@ const BlocksDropdown = () => {
8253
8347
  return block.isInBlocksSelector ? [...currentKeys, key] : currentKeys;
8254
8348
  }, []);
8255
8349
  const [blockSelected, setBlockSelected] = React__namespace.useState("paragraph");
8256
- const selectOption = (optionKey) => {
8350
+ const handleSelect = (optionKey) => {
8257
8351
  if (!isSelectorBlockKey(optionKey)) {
8258
8352
  return;
8259
8353
  }
@@ -8273,6 +8367,19 @@ const BlocksDropdown = () => {
8273
8367
  } else if (!editor.selection && editorIsEmpty) {
8274
8368
  slate.Transforms.select(editor, slate.Editor.start(editor, [0, 0]));
8275
8369
  }
8370
+ const currentListEntry = slate.Editor.above(editor, {
8371
+ match: (node) => !slate.Editor.isEditor(node) && node.type === "list"
8372
+ });
8373
+ if (currentListEntry && ["list-ordered", "list-unordered"].includes(optionKey)) {
8374
+ const [currentList, currentListPath] = currentListEntry;
8375
+ const format = optionKey === "list-ordered" ? "ordered" : "unordered";
8376
+ if (!slate.Editor.isEditor(currentList) && isListNode(currentList)) {
8377
+ if (currentList.format !== format) {
8378
+ slate.Transforms.setNodes(editor, { format }, { at: currentListPath });
8379
+ }
8380
+ }
8381
+ return;
8382
+ }
8276
8383
  const maybeRenderModal = blocks[optionKey].handleConvert?.(editor);
8277
8384
  handleConversionResult(maybeRenderModal);
8278
8385
  setBlockSelected(optionKey);
@@ -8281,12 +8388,28 @@ const BlocksDropdown = () => {
8281
8388
  const preventSelectFocus = (e) => e.preventDefault();
8282
8389
  React__namespace.useEffect(() => {
8283
8390
  if (editor.selection) {
8284
- const [anchorNode] = slate.Editor.parent(editor, editor.selection.anchor, {
8285
- edge: "start",
8286
- depth: 2
8391
+ let selectedNode;
8392
+ const currentListEntry = slate.Editor.above(editor, {
8393
+ match: (node) => !slate.Editor.isEditor(node) && node.type === "list",
8394
+ at: editor.selection.anchor
8287
8395
  });
8396
+ if (currentListEntry) {
8397
+ const [currentList] = currentListEntry;
8398
+ selectedNode = currentList;
8399
+ } else {
8400
+ const [anchorNode] = slate.Editor.parent(editor, editor.selection.anchor, {
8401
+ edge: "start",
8402
+ depth: 2
8403
+ });
8404
+ if (anchorNode.type === "list-item") {
8405
+ slate.Transforms.setNodes(editor, { type: "paragraph" });
8406
+ selectedNode = { ...anchorNode, type: "paragraph" };
8407
+ } else {
8408
+ selectedNode = anchorNode;
8409
+ }
8410
+ }
8288
8411
  const anchorBlockKey = getKeys(blocks).find(
8289
- (blockKey) => !slate.Editor.isEditor(anchorNode) && blocks[blockKey].matchNode(anchorNode)
8412
+ (blockKey) => !slate.Editor.isEditor(selectedNode) && blocks[blockKey].matchNode(selectedNode)
8290
8413
  );
8291
8414
  if (anchorBlockKey && anchorBlockKey !== blockSelected) {
8292
8415
  setBlockSelected(anchorBlockKey);
@@ -8298,7 +8421,7 @@ const BlocksDropdown = () => {
8298
8421
  designSystem.SingleSelect,
8299
8422
  {
8300
8423
  startIcon: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Icon, { as: blocks[blockSelected].icon }),
8301
- onChange: selectOption,
8424
+ onChange: handleSelect,
8302
8425
  placeholder: formatMessage(blocks[blockSelected].label),
8303
8426
  value: blockSelected,
8304
8427
  onCloseAutoFocus: preventSelectFocus,
@@ -8337,75 +8460,57 @@ const BlockOption = ({ value, icon, label, blockSelected }) => {
8337
8460
  const isListNode = (node) => {
8338
8461
  return slate.Node.isNode(node) && !slate.Editor.isEditor(node) && node.type === "list";
8339
8462
  };
8340
- const isListActive = (editor, matchNode) => {
8341
- const { selection } = editor;
8342
- if (!selection)
8343
- return false;
8344
- const [match] = Array.from(
8345
- slate.Editor.nodes(editor, {
8346
- at: slate.Editor.unhangRange(editor, selection),
8347
- match: matchNode
8348
- })
8349
- );
8350
- return Boolean(match);
8351
- };
8352
- const toggleList = (editor, isActive, format) => {
8353
- if (editor.selection) {
8354
- slate.Transforms.unwrapNodes(editor, {
8355
- match: (node) => isListNode(node) && ["ordered", "unordered"].includes(node.format),
8356
- split: true
8357
- });
8358
- slate.Transforms.setNodes(editor, {
8359
- type: isActive ? "paragraph" : "list-item"
8463
+ const ListButton = ({ block, format }) => {
8464
+ const { editor, disabled, blocks } = useBlocksEditorContext("ListButton");
8465
+ const isListActive = () => {
8466
+ if (!editor.selection)
8467
+ return false;
8468
+ const currentListEntry = slate.Editor.above(editor, {
8469
+ match: (node) => !slate.Editor.isEditor(node) && node.type === "list",
8470
+ at: editor.selection.anchor
8360
8471
  });
8361
- if (!isActive) {
8362
- const block = { type: "list", format, children: [] };
8363
- slate.Transforms.wrapNodes(editor, block);
8472
+ if (currentListEntry) {
8473
+ const [currentList] = currentListEntry;
8474
+ if (!slate.Editor.isEditor(currentList) && isListNode(currentList) && currentList.format === format)
8475
+ return true;
8364
8476
  }
8365
- } else {
8366
- const [, lastNodePath] = slate.Editor.last(editor, []);
8367
- const [parentNode] = slate.Editor.parent(editor, lastNodePath);
8368
- slate.Transforms.removeNodes(editor, {
8369
- voids: true,
8370
- hanging: true,
8371
- at: {
8372
- anchor: { path: lastNodePath, offset: 0 },
8373
- focus: { path: lastNodePath, offset: 0 }
8374
- }
8375
- });
8376
- slate.Transforms.insertNodes(
8377
- editor,
8378
- {
8379
- type: isActive ? "paragraph" : "list-item",
8380
- children: [...parentNode.children]
8381
- },
8382
- {
8383
- at: [lastNodePath[0]],
8384
- select: true
8477
+ return false;
8478
+ };
8479
+ const toggleList = (format2) => {
8480
+ let currentListEntry;
8481
+ if (editor.selection) {
8482
+ currentListEntry = slate.Editor.above(editor, {
8483
+ match: (node) => !slate.Editor.isEditor(node) && node.type === "list"
8484
+ });
8485
+ } else {
8486
+ const [_, lastNodePath] = slate.Editor.last(editor, []);
8487
+ currentListEntry = slate.Editor.above(editor, {
8488
+ match: (node) => !slate.Editor.isEditor(node) && node.type === "list",
8489
+ at: lastNodePath
8490
+ });
8491
+ }
8492
+ if (!currentListEntry) {
8493
+ blocks[`list-${format2}`].handleConvert(editor);
8494
+ return;
8495
+ }
8496
+ const [currentList, currentListPath] = currentListEntry;
8497
+ if (!slate.Editor.isEditor(currentList) && isListNode(currentList)) {
8498
+ if (currentList.format !== format2) {
8499
+ slate.Transforms.setNodes(editor, { format: format2 }, { at: currentListPath });
8500
+ } else {
8501
+ blocks["paragraph"].handleConvert(editor);
8385
8502
  }
8386
- );
8387
- if (!isActive) {
8388
- const block = { type: "list", format, children: [] };
8389
- slate.Transforms.wrapNodes(editor, block);
8390
8503
  }
8391
- }
8392
- };
8393
- const ListButton = ({ block, format }) => {
8394
- const { editor, disabled } = useBlocksEditorContext("ListButton");
8395
- const { icon, matchNode, label } = block;
8396
- const isActive = isListActive(
8397
- editor,
8398
- (node) => !slate.Editor.isEditor(node) && node.type !== "text" && matchNode(node)
8399
- );
8504
+ };
8400
8505
  return /* @__PURE__ */ jsxRuntime.jsx(
8401
8506
  ToolbarButton,
8402
8507
  {
8403
- icon,
8508
+ icon: block.icon,
8404
8509
  name: format,
8405
- label,
8406
- isActive,
8510
+ label: block.label,
8511
+ isActive: isListActive(),
8407
8512
  disabled,
8408
- handleClick: () => toggleList(editor, isActive, format)
8513
+ handleClick: () => toggleList(format)
8409
8514
  }
8410
8515
  );
8411
8516
  };
@@ -8590,8 +8695,6 @@ const DragAndDropElement = ({
8590
8695
  const [dragVisibility, setDragVisibility] = React__namespace.useState("hidden");
8591
8696
  const handleMoveBlock = React__namespace.useCallback(
8592
8697
  (newIndex, currentIndex) => {
8593
- const [newNode] = slate.Editor.node(editor, newIndex);
8594
- const [draggedNode] = slate.Editor.node(editor, currentIndex);
8595
8698
  slate.Transforms.moveNodes(editor, {
8596
8699
  at: currentIndex,
8597
8700
  to: newIndex
@@ -8610,50 +8713,6 @@ const DragAndDropElement = ({
8610
8713
  }
8611
8714
  )
8612
8715
  );
8613
- if (slate.Element.isElement(newNode) && slate.Element.isElement(draggedNode)) {
8614
- if (newNode.type === "list-item" && draggedNode.type !== "list-item") {
8615
- slate.Transforms.setNodes(
8616
- editor,
8617
- { ...getAttributesToClear(draggedNode), type: "list-item" },
8618
- {
8619
- at: newIndex[0] > currentIndex[0] ? [newIndex[0] - 1, ...newIndex.slice(1)] : newIndex
8620
- }
8621
- );
8622
- if (newIndex[0] > currentIndex[0]) {
8623
- slate.Transforms.moveNodes(editor, {
8624
- at: [newIndex[0] - 1, ...newIndex.slice(1)],
8625
- to: [newIndex[0] - 1, newIndex[1] + 1, ...newIndex.slice(2)]
8626
- });
8627
- }
8628
- }
8629
- if (newNode.type !== "list-item" && draggedNode.type === "list-item") {
8630
- slate.Transforms.setNodes(editor, { type: "paragraph" }, { at: newIndex });
8631
- if (newIndex[0] < currentIndex[0]) {
8632
- currentIndex[0] += 1;
8633
- }
8634
- if (newIndex[0] > currentIndex[0]) {
8635
- slate.Transforms.moveNodes(editor, {
8636
- at: newIndex,
8637
- to: [newIndex[0] + 1]
8638
- });
8639
- }
8640
- }
8641
- if (newNode.type === "list-item" && draggedNode.type === "list-item") {
8642
- if (newIndex[0] > currentIndex[0]) {
8643
- slate.Transforms.moveNodes(editor, {
8644
- at: newIndex,
8645
- to: [newIndex[0], newIndex[1] + 1, ...newIndex.slice(2)]
8646
- });
8647
- }
8648
- }
8649
- if (draggedNode.type === "list-item") {
8650
- const [listNode, listNodePath] = slate.Editor.parent(editor, currentIndex);
8651
- const isListEmpty = listNode.children?.length === 1 && listNode.children?.[0].type === "text" && listNode.children?.[0].text === "";
8652
- if (isListEmpty) {
8653
- slate.Transforms.removeNodes(editor, { at: listNodePath });
8654
- }
8655
- }
8656
- }
8657
8716
  },
8658
8717
  [editor, formatMessage, name2, setLiveText]
8659
8718
  );
@@ -8778,11 +8837,13 @@ const baseRenderElement = ({
8778
8837
  setDragDirection,
8779
8838
  dragDirection
8780
8839
  }) => {
8781
- const blockMatch = Object.values(blocks).find((block2) => block2.matchNode(props.element));
8840
+ const { element } = props;
8841
+ const blockMatch = Object.values(blocks).find((block2) => block2.matchNode(element));
8782
8842
  const block = blockMatch || blocks.paragraph;
8783
- const nodePath = slateReact.ReactEditor.findPath(editor, props.element);
8784
- if (isLinkNode(props.element) || isListNode$1(props.element))
8843
+ const nodePath = slateReact.ReactEditor.findPath(editor, element);
8844
+ if (isLinkNode(element) || isListNode$1(element) && element.indentLevel && element.indentLevel > 0 || element.type === "list-item") {
8785
8845
  return block.renderElement(props);
8846
+ }
8786
8847
  return /* @__PURE__ */ jsxRuntime.jsx(
8787
8848
  DragAndDropElement,
8788
8849
  {
@@ -8794,7 +8855,7 @@ const baseRenderElement = ({
8794
8855
  }
8795
8856
  );
8796
8857
  };
8797
- const BlocksContent = ({ placeholder }) => {
8858
+ const BlocksContent = ({ placeholder, ariaLabelId }) => {
8798
8859
  const { editor, disabled, blocks, modifiers: modifiers2, setLiveText, isExpandedMode } = useBlocksEditorContext("BlocksContent");
8799
8860
  const blocksRef = React__namespace.useRef(null);
8800
8861
  const { formatMessage } = reactIntl.useIntl();
@@ -8897,6 +8958,20 @@ const BlocksContent = ({ placeholder }) => {
8897
8958
  selectedBlock.handleBackspaceKey(editor, event);
8898
8959
  }
8899
8960
  };
8961
+ const handleTab = (event) => {
8962
+ if (!editor.selection) {
8963
+ return;
8964
+ }
8965
+ const selectedNode = editor.children[editor.selection.anchor.path[0]];
8966
+ const selectedBlock = Object.values(blocks).find((block) => block.matchNode(selectedNode));
8967
+ if (!selectedBlock) {
8968
+ return;
8969
+ }
8970
+ if (selectedBlock.handleTab) {
8971
+ event.preventDefault();
8972
+ selectedBlock.handleTab(editor);
8973
+ }
8974
+ };
8900
8975
  const handleKeyboardShortcuts = (event) => {
8901
8976
  const isCtrlOrCmd = event.metaKey || event.ctrlKey;
8902
8977
  if (isCtrlOrCmd) {
@@ -8912,12 +8987,16 @@ const BlocksContent = ({ placeholder }) => {
8912
8987
  }
8913
8988
  };
8914
8989
  const handleKeyDown = (event) => {
8915
- if (event.key === "Enter") {
8916
- event.preventDefault();
8917
- return handleEnter(event);
8918
- }
8919
- if (event.key === "Backspace") {
8920
- return handleBackspaceEvent(event);
8990
+ switch (event.key) {
8991
+ case "Enter":
8992
+ event.preventDefault();
8993
+ return handleEnter(event);
8994
+ case "Backspace":
8995
+ return handleBackspaceEvent(event);
8996
+ case "Tab":
8997
+ return handleTab(event);
8998
+ case "Escape":
8999
+ return slateReact.ReactEditor.blur(editor);
8921
9000
  }
8922
9001
  handleKeyboardShortcuts(event);
8923
9002
  if (event.key === " ") {
@@ -8960,6 +9039,7 @@ const BlocksContent = ({ placeholder }) => {
8960
9039
  /* @__PURE__ */ jsxRuntime.jsx(
8961
9040
  StyledEditable,
8962
9041
  {
9042
+ "aria-labelledby": ariaLabelId,
8963
9043
  readOnly: disabled,
8964
9044
  placeholder,
8965
9045
  isExpandedMode,
@@ -9268,7 +9348,7 @@ function useResetKey(value) {
9268
9348
  }
9269
9349
  const pipe = (...fns) => (value) => fns.reduce((prev, fn) => fn(prev), value);
9270
9350
  const BlocksEditor = React__namespace.forwardRef(
9271
- ({ disabled = false, name: name2, placeholder, onChange, value, error }, forwardedRef) => {
9351
+ ({ disabled = false, name: name2, onChange, value, error, ...contentProps }, forwardedRef) => {
9272
9352
  const { formatMessage } = reactIntl.useIntl();
9273
9353
  const [editor] = React__namespace.useState(
9274
9354
  () => pipe(slateHistory.withHistory, withImages, withStrapiSchema, slateReact.withReact, withLinks)(slate.createEditor())
@@ -9276,7 +9356,6 @@ const BlocksEditor = React__namespace.forwardRef(
9276
9356
  const [liveText, setLiveText] = React__namespace.useState("");
9277
9357
  const ariaDescriptionId = React__namespace.useId();
9278
9358
  const [isExpandedMode, setIsExpandedMode] = React__namespace.useState(false);
9279
- const formattedPlaceholder = placeholder && formatMessage({ id: placeholder.id, defaultMessage: placeholder.defaultMessage });
9280
9359
  const handleToggleExpand = () => {
9281
9360
  setIsExpandedMode((prev) => !prev);
9282
9361
  };
@@ -9341,7 +9420,7 @@ const BlocksEditor = React__namespace.forwardRef(
9341
9420
  children: [
9342
9421
  /* @__PURE__ */ jsxRuntime.jsx(BlocksToolbar, {}),
9343
9422
  /* @__PURE__ */ jsxRuntime.jsx(EditorDivider, { width: "100%" }),
9344
- /* @__PURE__ */ jsxRuntime.jsx(BlocksContent, { placeholder: formattedPlaceholder }),
9423
+ /* @__PURE__ */ jsxRuntime.jsx(BlocksContent, { ...contentProps }),
9345
9424
  !isExpandedMode && /* @__PURE__ */ jsxRuntime.jsx(
9346
9425
  ExpandIconButton,
9347
9426
  {
@@ -9370,19 +9449,50 @@ const LabelAction$2 = styled__default.default(designSystem.Box)`
9370
9449
  }
9371
9450
  `;
9372
9451
  const BlocksInput = React__namespace.forwardRef(
9373
- ({ intlLabel, labelAction, name: name2, required = false, error = "", hint, ...editorProps }, forwardedRef) => {
9452
+ ({
9453
+ intlLabel,
9454
+ labelAction,
9455
+ name: name2,
9456
+ required = false,
9457
+ error = "",
9458
+ hint,
9459
+ placeholder,
9460
+ ...editorProps
9461
+ }, forwardedRef) => {
9374
9462
  const { formatMessage } = reactIntl.useIntl();
9463
+ const uniqueId = React__namespace.useId();
9375
9464
  const label = intlLabel.id ? formatMessage(intlLabel) : name2;
9465
+ const formattedPlaceholder = placeholder && formatMessage({ id: placeholder.id, defaultMessage: placeholder.defaultMessage });
9376
9466
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9377
9467
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 1, children: [
9378
9468
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 1, children: [
9379
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { variant: "pi", fontWeight: "bold", textColor: "neutral800", children: [
9380
- label,
9381
- required && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "danger600", lineHeight: "0px", children: "*" })
9382
- ] }),
9469
+ /* @__PURE__ */ jsxRuntime.jsxs(
9470
+ designSystem.Typography,
9471
+ {
9472
+ variant: "pi",
9473
+ fontWeight: "bold",
9474
+ textColor: "neutral800",
9475
+ as: "label",
9476
+ id: uniqueId,
9477
+ children: [
9478
+ label,
9479
+ required && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "danger600", lineHeight: "0px", children: "*" })
9480
+ ]
9481
+ }
9482
+ ),
9383
9483
  labelAction && /* @__PURE__ */ jsxRuntime.jsx(LabelAction$2, { paddingLeft: 1, children: labelAction })
9384
9484
  ] }),
9385
- /* @__PURE__ */ jsxRuntime.jsx(BlocksEditor, { name: name2, error, ref: forwardedRef, ...editorProps }),
9485
+ /* @__PURE__ */ jsxRuntime.jsx(
9486
+ BlocksEditor,
9487
+ {
9488
+ name: name2,
9489
+ error,
9490
+ ref: forwardedRef,
9491
+ ...editorProps,
9492
+ ariaLabelId: uniqueId,
9493
+ placeholder: formattedPlaceholder
9494
+ }
9495
+ ),
9386
9496
  /* @__PURE__ */ jsxRuntime.jsx(Hint, { hint, name: name2, error })
9387
9497
  ] }),
9388
9498
  error && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 1, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", textColor: "danger600", "data-strapi-field-error": true, children: error }) })
@@ -14270,7 +14380,7 @@ const EditViewPage = ({
14270
14380
  const toggleNotification = helperPlugin.useNotification();
14271
14381
  const Information2 = useEnterprise(
14272
14382
  InformationBoxCE,
14273
- async () => (await Promise.resolve().then(() => require("./InformationBoxEE-J_ms6Ox-.js"))).InformationBoxEE
14383
+ async () => (await Promise.resolve().then(() => require("./InformationBoxEE-b6YVRmro.js"))).InformationBoxEE
14274
14384
  );
14275
14385
  useOnce(() => {
14276
14386
  if (location?.state && "error" in location.state) {
@@ -15499,6 +15609,7 @@ const usersService = adminApi.injectEndpoints({
15499
15609
  method: "POST",
15500
15610
  data: body
15501
15611
  }),
15612
+ transformResponse: (response) => response.data,
15502
15613
  invalidatesTags: ["LicenseLimits", { type: "User", id: "LIST" }]
15503
15614
  }),
15504
15615
  updateUser: builder.mutation({
@@ -15676,6 +15787,93 @@ const AdminUsersFilter = ({ value, onChange }) => {
15676
15787
  }
15677
15788
  );
15678
15789
  };
15790
+ const AutoCloneFailureModal = ({
15791
+ onClose,
15792
+ entryId,
15793
+ prohibitedFields,
15794
+ pluginQueryParams
15795
+ }) => {
15796
+ const { formatMessage } = reactIntl.useIntl();
15797
+ const { pathname } = reactRouterDom.useLocation();
15798
+ if (!entryId) {
15799
+ return null;
15800
+ }
15801
+ const editPath = `${pathname}/create/clone/${entryId}?${pluginQueryParams}`;
15802
+ const getDefaultErrorMessage = (reason) => {
15803
+ switch (reason) {
15804
+ case "relation":
15805
+ return "Duplicating the relation could remove it from the original entry.";
15806
+ case "unique":
15807
+ return "Identical values in a unique field are not allowed";
15808
+ default:
15809
+ return reason;
15810
+ }
15811
+ };
15812
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose, labelledBy: "title", children: [
15813
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", fontWeight: "bold", as: "h2", id: "title", children: formatMessage({
15814
+ id: getTranslation("containers.ListPage.autoCloneModal.header"),
15815
+ defaultMessage: "Duplicate"
15816
+ }) }) }),
15817
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalBody, { children: [
15818
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "beta", children: formatMessage({
15819
+ id: getTranslation("containers.ListPage.autoCloneModal.title"),
15820
+ defaultMessage: "This entry can't be duplicated directly."
15821
+ }) }),
15822
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { marginTop: 2, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral600", children: formatMessage({
15823
+ id: getTranslation("containers.ListPage.autoCloneModal.description"),
15824
+ defaultMessage: "A new entry will be created with the same content, but you'll have to change the following fields to save it."
15825
+ }) }) }),
15826
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { marginTop: 6, gap: 2, direction: "column", alignItems: "stretch", children: prohibitedFields.map(([fieldPath, reason]) => /* @__PURE__ */ jsxRuntime.jsxs(
15827
+ designSystem.Flex,
15828
+ {
15829
+ direction: "column",
15830
+ gap: 2,
15831
+ alignItems: "flex-start",
15832
+ borderColor: "neutral200",
15833
+ hasRadius: true,
15834
+ padding: 6,
15835
+ children: [
15836
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "row", as: "ol", children: fieldPath.map((pathSegment, index) => /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { fontWeight: "semiBold", as: "li", children: [
15837
+ pathSegment,
15838
+ index !== fieldPath.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(
15839
+ designSystem.Icon,
15840
+ {
15841
+ as: Icons.ChevronRight,
15842
+ color: "neutral500",
15843
+ height: 2,
15844
+ width: 2,
15845
+ marginLeft: 2,
15846
+ marginRight: 2
15847
+ }
15848
+ )
15849
+ ] }, index)) }),
15850
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "p", textColor: "neutral600", children: formatMessage({
15851
+ id: getTranslation(`containers.ListPage.autoCloneModal.error.${reason}`),
15852
+ defaultMessage: getDefaultErrorMessage(reason)
15853
+ }) })
15854
+ ]
15855
+ },
15856
+ fieldPath.join()
15857
+ )) })
15858
+ ] }),
15859
+ /* @__PURE__ */ jsxRuntime.jsx(
15860
+ designSystem.ModalFooter,
15861
+ {
15862
+ startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({
15863
+ id: "cancel",
15864
+ defaultMessage: "Cancel"
15865
+ }) }),
15866
+ endActions: (
15867
+ // @ts-expect-error - types are not inferred correctly through the as prop.
15868
+ /* @__PURE__ */ jsxRuntime.jsx(v2.LinkButton, { as: reactRouterDom.NavLink, to: editPath, children: formatMessage({
15869
+ id: getTranslation("containers.ListPage.autoCloneModal.create"),
15870
+ defaultMessage: "Create"
15871
+ }) })
15872
+ )
15873
+ }
15874
+ )
15875
+ ] });
15876
+ };
15679
15877
  const InjectionZoneList = ({ area, ...props }) => {
15680
15878
  const injectedComponents = useInjectionZone(area);
15681
15879
  if (!injectedComponents) {
@@ -17114,7 +17312,7 @@ const ListViewPage = ({
17114
17312
  const hasReviewWorkflows = options2?.reviewWorkflows ?? false;
17115
17313
  const reviewWorkflowColumns = useEnterprise(
17116
17314
  REVIEW_WORKFLOW_COLUMNS_CE,
17117
- async () => (await Promise.resolve().then(() => require("./constants-GJB9U_2a.js"))).REVIEW_WORKFLOW_COLUMNS_EE,
17315
+ async () => (await Promise.resolve().then(() => require("./constants-m2b3phv4.js"))).REVIEW_WORKFLOW_COLUMNS_EE,
17118
17316
  {
17119
17317
  enabled: !!options2?.reviewWorkflows
17120
17318
  }
@@ -17122,7 +17320,7 @@ const ListViewPage = ({
17122
17320
  const ReviewWorkflowsColumns = useEnterprise(
17123
17321
  REVIEW_WORKFLOW_COLUMNS_CELL_CE,
17124
17322
  async () => {
17125
- const { ReviewWorkflowsStageEE, ReviewWorkflowsAssigneeEE } = await Promise.resolve().then(() => require("./ReviewWorkflowsColumn-Rs6ZsFMn.js"));
17323
+ const { ReviewWorkflowsStageEE, ReviewWorkflowsAssigneeEE } = await Promise.resolve().then(() => require("./ReviewWorkflowsColumn-wZiAM18-.js"));
17126
17324
  return { ReviewWorkflowsStageEE, ReviewWorkflowsAssigneeEE };
17127
17325
  },
17128
17326
  {
@@ -17131,7 +17329,7 @@ const ListViewPage = ({
17131
17329
  );
17132
17330
  const reviewWorkflowFilter = useEnterprise(
17133
17331
  REVIEW_WORKFLOW_FILTER_CE,
17134
- async () => (await Promise.resolve().then(() => require("./constants-GJB9U_2a.js"))).REVIEW_WORKFLOW_FILTERS,
17332
+ async () => (await Promise.resolve().then(() => require("./constants-m2b3phv4.js"))).REVIEW_WORKFLOW_FILTERS,
17135
17333
  {
17136
17334
  combine(ceFilters, eeFilters) {
17137
17335
  return [
@@ -17388,6 +17586,8 @@ const ListViewPage = ({
17388
17586
  search: pluginsQueryParams
17389
17587
  });
17390
17588
  };
17589
+ const [clonedEntryId, setClonedEntryId] = React__namespace.useState(null);
17590
+ const [prohibitedCloningFields, setProhibitedCloningFields] = React__namespace.useState([]);
17391
17591
  const handleCloneClick = (id) => async () => {
17392
17592
  try {
17393
17593
  const { data: data2 } = await post(
@@ -17402,11 +17602,9 @@ const ListViewPage = ({
17402
17602
  }
17403
17603
  } catch (err) {
17404
17604
  if (err instanceof axios.AxiosError) {
17405
- push({
17406
- pathname: `${pathname}/create/clone/${id}`,
17407
- state: { from: pathname, error: formatAPIError(err) },
17408
- search: pluginsQueryParams
17409
- });
17605
+ const { prohibitedFields } = err.response?.data.error.details;
17606
+ setClonedEntryId(id);
17607
+ setProhibitedCloningFields(prohibitedFields);
17410
17608
  }
17411
17609
  }
17412
17610
  };
@@ -17516,6 +17714,15 @@ const ListViewPage = ({
17516
17714
  ) : null
17517
17715
  }
17518
17716
  ),
17717
+ /* @__PURE__ */ jsxRuntime.jsx(
17718
+ AutoCloneFailureModal,
17719
+ {
17720
+ entryId: clonedEntryId,
17721
+ onClose: () => setClonedEntryId(null),
17722
+ prohibitedFields: prohibitedCloningFields,
17723
+ pluginQueryParams: pluginsQueryParams
17724
+ }
17725
+ ),
17519
17726
  /* @__PURE__ */ jsxRuntime.jsx(
17520
17727
  Table.Root,
17521
17728
  {
@@ -18237,6 +18444,11 @@ const injectReducerStoreEnhancer = (appReducers) => (next) => (...args) => {
18237
18444
  };
18238
18445
  const configureStoreImpl = (preloadedState = {}, appMiddlewares = [], injectedReducers = {}) => {
18239
18446
  const coreReducers = { ...staticReducers, ...injectedReducers };
18447
+ const defaultMiddlewareOptions = {};
18448
+ if (process.env.NODE_ENV === "test") {
18449
+ defaultMiddlewareOptions.serializableCheck = false;
18450
+ defaultMiddlewareOptions.immutableCheck = false;
18451
+ }
18240
18452
  const store = toolkit.configureStore({
18241
18453
  preloadedState: {
18242
18454
  admin_app: preloadedState.admin_app
@@ -18244,7 +18456,7 @@ const configureStoreImpl = (preloadedState = {}, appMiddlewares = [], injectedRe
18244
18456
  reducer: coreReducers,
18245
18457
  devTools: process.env.NODE_ENV !== "production",
18246
18458
  middleware: (getDefaultMiddleware) => [
18247
- ...getDefaultMiddleware(),
18459
+ ...getDefaultMiddleware(defaultMiddlewareOptions),
18248
18460
  adminApi.middleware,
18249
18461
  ...appMiddlewares.map((m) => m())
18250
18462
  ],
@@ -18607,7 +18819,7 @@ class StrapiApp {
18607
18819
  */
18608
18820
  async loadAdminTrads() {
18609
18821
  const arrayOfPromises = this.configurations.locales.map((locale) => {
18610
- return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-qfb99PVh.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-bQs9dsIc.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-XYXIcfVY.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-elBeWdG2.js")), "./translations/dk.json": () => Promise.resolve().then(() => require("./dk-qvFj0oFG.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-JwrMNR-h.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-hBQ_pL0X.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VH6nNPXY.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-_o4WT-TZ.js")), "./translations/gu.json": () => Promise.resolve().then(() => require("./gu-76mTVAc2.js")), "./translations/he.json": () => Promise.resolve().then(() => require("./he-RmtdSWtw.js")), "./translations/hi.json": () => Promise.resolve().then(() => require("./hi-zD7tX6HS.js")), "./translations/hu.json": () => Promise.resolve().then(() => require("./hu-0pmvoLj1.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-yQtHASS7.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-RPJqQqp3.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-5uFhM-kW.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-JyirX0Lo.js")), "./translations/ml.json": () => Promise.resolve().then(() => require("./ml-QqpcKQgB.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-wbSWdQJ0.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-Foqdtl_-.js")), "./translations/no.json": () => Promise.resolve().then(() => require("./no-l_d9yAQN.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-01EnRFRc.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-F3FsQI-D.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-Mve7WzqZ.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-flezEXdc.js")), "./translations/sa.json": () => Promise.resolve().then(() => require("./sa-gjKCAmHv.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-xA9DPcmq.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-be1suA3a.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-7ExcBOpr.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-u4e0KNRe.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-5Ikxxci1.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-SYqVl8vH.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-SHNzD0Zk.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-9728QXZm.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
18822
+ return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-qfb99PVh.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-bQs9dsIc.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-XYXIcfVY.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-elBeWdG2.js")), "./translations/dk.json": () => Promise.resolve().then(() => require("./dk-qvFj0oFG.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-l5S8Gv-y.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-hBQ_pL0X.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VH6nNPXY.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-_o4WT-TZ.js")), "./translations/gu.json": () => Promise.resolve().then(() => require("./gu-76mTVAc2.js")), "./translations/he.json": () => Promise.resolve().then(() => require("./he-RmtdSWtw.js")), "./translations/hi.json": () => Promise.resolve().then(() => require("./hi-zD7tX6HS.js")), "./translations/hu.json": () => Promise.resolve().then(() => require("./hu-0pmvoLj1.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-yQtHASS7.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-RPJqQqp3.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-5uFhM-kW.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-JyirX0Lo.js")), "./translations/ml.json": () => Promise.resolve().then(() => require("./ml-QqpcKQgB.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-wbSWdQJ0.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-Foqdtl_-.js")), "./translations/no.json": () => Promise.resolve().then(() => require("./no-l_d9yAQN.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-01EnRFRc.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-F3FsQI-D.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-Mve7WzqZ.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-flezEXdc.js")), "./translations/sa.json": () => Promise.resolve().then(() => require("./sa-gjKCAmHv.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-xA9DPcmq.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-be1suA3a.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-7ExcBOpr.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-u4e0KNRe.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-5Ikxxci1.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-SYqVl8vH.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-SHNzD0Zk.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-9728QXZm.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
18611
18823
  return { data, locale };
18612
18824
  }).catch(() => {
18613
18825
  return { data: null, locale };
@@ -18834,6 +19046,23 @@ function useDocument() {
18834
19046
  };
18835
19047
  return { validate };
18836
19048
  }
19049
+ function useLicenseLimits({ enabled } = { enabled: true }) {
19050
+ const { data, isError, isLoading } = useGetLicenseLimitsQuery(void 0, {
19051
+ skip: !enabled
19052
+ });
19053
+ const getFeature = React__namespace.useCallback(
19054
+ (name2) => {
19055
+ const feature = data?.data?.features.find((feature2) => feature2.name === name2);
19056
+ if (feature && "options" in feature) {
19057
+ return feature.options;
19058
+ } else {
19059
+ return {};
19060
+ }
19061
+ },
19062
+ [data]
19063
+ );
19064
+ return { license: data?.data, getFeature, isError, isLoading };
19065
+ }
18837
19066
  exports.App = App$1;
18838
19067
  exports.Column = Column;
18839
19068
  exports.DefaultDocument = DefaultDocument;
@@ -18869,7 +19098,6 @@ exports.useDeleteManyUsersMutation = useDeleteManyUsersMutation;
18869
19098
  exports.useDocument = useDocument;
18870
19099
  exports.useDragAndDrop = useDragAndDrop;
18871
19100
  exports.useEnterprise = useEnterprise;
18872
- exports.useGetLicenseLimitsQuery = useGetLicenseLimitsQuery;
18873
19101
  exports.useGetMyPermissionsQuery = useGetMyPermissionsQuery;
18874
19102
  exports.useGetPluginsQuery = useGetPluginsQuery;
18875
19103
  exports.useGetProviderOptionsQuery = useGetProviderOptionsQuery;
@@ -18879,6 +19107,7 @@ exports.useGetRolePermissionsQuery = useGetRolePermissionsQuery;
18879
19107
  exports.useGetRolesQuery = useGetRolesQuery;
18880
19108
  exports.useInformationQuery = useInformationQuery;
18881
19109
  exports.useIsSSOLockedQuery = useIsSSOLockedQuery;
19110
+ exports.useLicenseLimits = useLicenseLimits;
18882
19111
  exports.useOnce = useOnce;
18883
19112
  exports.useRegenerateTokenMutation = useRegenerateTokenMutation;
18884
19113
  exports.useTypedDispatch = useTypedDispatch;
@@ -18889,4 +19118,4 @@ exports.useUpdateProviderOptionsMutation = useUpdateProviderOptionsMutation;
18889
19118
  exports.useUpdateRoleMutation = useUpdateRoleMutation;
18890
19119
  exports.useUpdateRolePermissionsMutation = useUpdateRolePermissionsMutation;
18891
19120
  exports.useUpdateUserMutation = useUpdateUserMutation;
18892
- //# sourceMappingURL=index-3OoQJD2O.js.map
19121
+ //# sourceMappingURL=index-vftGzD-K.js.map